36 lines
		
	
	
		
			858 B
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			858 B
		
	
	
	
		
			Ruby
		
	
	
	
# frozen_string_literal: true
 | 
						|
 | 
						|
require 'asciidoctor'
 | 
						|
 | 
						|
module Gitlab
 | 
						|
  module Asciidoc
 | 
						|
    class Html5Converter < (Asciidoctor::Converter.for 'html5')
 | 
						|
      register_for 'gitlab_html5'
 | 
						|
 | 
						|
      def convert_stem(node)
 | 
						|
        return super unless node.style.to_sym == :latexmath
 | 
						|
 | 
						|
        %(<pre#{id_attribute(node)} data-math-style="display"><code>#{node.content}</code></pre>)
 | 
						|
      end
 | 
						|
 | 
						|
      def convert_inline_quoted(node)
 | 
						|
        return super unless node.type.to_sym == :latexmath
 | 
						|
 | 
						|
        %(<code#{id_attribute(node)} data-math-style="inline">#{node.text}</code>)
 | 
						|
      end
 | 
						|
 | 
						|
      def convert_inline_anchor(node)
 | 
						|
        node.id = "user-content-#{node.id}" if node.id && !node.id.start_with?('user-content-')
 | 
						|
 | 
						|
        super(node)
 | 
						|
      end
 | 
						|
 | 
						|
      private
 | 
						|
 | 
						|
      def id_attribute(node)
 | 
						|
        node.id ? %( id="#{node.id}") : nil
 | 
						|
      end
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |