Sha256: 5f376290cb56a60e9590e8ef55c70482e8c0fd69f88d3b651ccf4aff15a5188c

Contents?: true

Size: 1.42 KB

Versions: 8

Compression:

Stored size: 1.42 KB

Contents

module Asciidoctor
  module Standoc
    class ToDoAdmonitionBlock < Extensions::BlockProcessor
      use_dsl
      named :TODO
      on_contexts :example, :paragraph

      def process(parent, reader, attrs)
        attrs["name"] = "todo"
        attrs["caption"] = "TODO"
        create_block(parent, :admonition, reader.lines, attrs,
                     content_model: :compound)
      end
    end

    class ToDoInlineAdmonitionBlock < Extensions::Treeprocessor
      def process(document)
        (document.find_by context: :paragraph).each do |para|
          next unless /^TODO: /.match? para.lines[0]

          parent = para.parent
          para.set_attr("name", "todo")
          para.set_attr("caption", "TODO")
          para.lines[0].sub!(/^TODO: /, "")
          todo = Block.new(parent, :admonition, attributes: para.attributes,
                                                source: para.lines,
                                                content_model: :compound)
          parent.blocks[parent.blocks.index(para)] = todo
        end
      end
    end

    class FootnoteBlockInlineMacro < Asciidoctor::Extensions::InlineMacroProcessor
      use_dsl
      named :footnoteblock
      parse_content_as :text
      using_format :short

      def process(parent, _target, attrs)
        out = Asciidoctor::Inline.new(parent, :quoted, attrs["text"]).convert
        %{<footnoteblock>#{out}</footnoteblock>}
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
metanorma-standoc-1.11.4 lib/asciidoctor/standoc/macros_note.rb
metanorma-standoc-1.11.3 lib/asciidoctor/standoc/macros_note.rb
metanorma-standoc-1.11.2 lib/asciidoctor/standoc/macros_note.rb
metanorma-standoc-1.11.1 lib/asciidoctor/standoc/macros_note.rb
metanorma-standoc-1.11.0.1 lib/asciidoctor/standoc/macros_note.rb
metanorma-standoc-1.11.0 lib/asciidoctor/standoc/macros_note.rb
metanorma-standoc-1.10.8 lib/asciidoctor/standoc/macros_note.rb
metanorma-standoc-1.10.7 lib/asciidoctor/standoc/macros_note.rb