Sha256: c768132b94e84596c18fa557e02333c3c01f3c0289f192f5b0f9c99461d51ea4
Contents?: true
Size: 1.98 KB
Versions: 82
Compression:
Stored size: 1.98 KB
Contents
module Metanorma module Standoc class ToDoAdmonitionBlock < Asciidoctor::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 < Asciidoctor::Extensions::Treeprocessor def process(document) (document.find_by context: :paragraph).each do |para| next unless /^TODO: /.match? para.lines[0] para.set_attr("name", "todo") para.set_attr("caption", "TODO") para.lines[0].sub!(/^TODO: /, "") para.context = :admonition 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 class EditorAdmonitionBlock < Asciidoctor::Extensions::BlockProcessor use_dsl named :EDITOR on_contexts :example, :paragraph def process(parent, reader, attrs) attrs["name"] = "editorial" attrs["caption"] = "EDITOR" create_block(parent, :admonition, reader.lines, attrs, content_model: :compound) end end class EditorInlineAdmonitionBlock < Asciidoctor::Extensions::Treeprocessor def process(document) (document.find_by context: :paragraph).each do |para| next unless /^EDITOR: /.match? para.lines[0] para.set_attr("name", "editorial") para.set_attr("caption", "EDITOR") para.lines[0].sub!(/^EDITOR: /, "") para.context = :admonition end end end end end
Version data entries
82 entries across 82 versions & 1 rubygems