class Kramdown::Parser::GitlabKramdown
Used for parsing documents in GitLab Flavored Markdown like format.
This is not 100% compatible with GFM used in GitLab application as it includes extensions available only in kramdown.
Public Class Methods
new(source, options)
click to toggle source
Calls superclass method
# File lib/kramdown/parser/gitlab_kramdown.rb, line 20 def initialize(source, options) super @options[:gitlab_url] ||= 'https://gitlab.com' @options[:autolink] = false if @options[:autolink].nil? @options[:linkable_headers] = true if @options[:linkable_headers].nil? @id_counter = Hash.new(-1) prepend_span_parsers(:gitlab_autolink) if @options[:autolink] prepend_span_parsers(:escape_chars_gitlab, :commit_diff, :commit, :user_group_mention, :issue, :merge_request, :snippet, :label, :strikethrough_gitlab) prepend_block_parsers(:fenced_blockquote) replace_block_parser!(:codeblock_fenced, :codeblock_fenced_gitlab) replace_block_parser!(:atx_header, :atx_gitlab_header) replace_block_parser!(:setext_header, :setext_gitlab_header) end
Private Instance Methods
prepend_block_parsers(*parsers)
click to toggle source
# File lib/kramdown/parser/gitlab_kramdown.rb, line 51 def prepend_block_parsers(*parsers) @block_parsers.unshift(*parsers) end
prepend_span_parsers(*parsers)
click to toggle source
# File lib/kramdown/parser/gitlab_kramdown.rb, line 47 def prepend_span_parsers(*parsers) @span_parsers.unshift(*parsers) end
replace_block_parser!(original, new)
click to toggle source
# File lib/kramdown/parser/gitlab_kramdown.rb, line 39 def replace_block_parser!(original, new) index = @block_parsers.index(original) return false unless index @block_parsers[index] = new end