Welcome to mirror list, hosted at ThFree Co, Russian Federation.

html5_converter.rb « asciidoc « gitlab « lib - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 787eab2750368c24344ebf78955bbd41922e7711 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# 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