Block Macro Processor Extension Example
- Purpose
-
Create a block macro named
gist
for embedding a gist.
GistBlockMacro
class GistBlockMacro < Asciidoctor::Extensions::BlockMacroProcessor
use_dsl
named :gist
def process parent, target, attrs
title_html = (attrs.has_key? 'title') ?
%(<div class="title">#{attrs['title']}</div>\n) : nil
html = %(<div class="openblock gist">
#{title_html}<div class="content">
<script src="https://gist.github.com/#{target}.js"></script>
</div>
</div>)
create_pass_block parent, html, attrs, subs: nil
end
end