aboutsummaryrefslogtreecommitdiff
path: root/_plugins/callout.rb
diff options
context:
space:
mode:
Diffstat (limited to '_plugins/callout.rb')
-rw-r--r--_plugins/callout.rb28
1 files changed, 28 insertions, 0 deletions
diff --git a/_plugins/callout.rb b/_plugins/callout.rb
new file mode 100644
index 000000000..58453ecb4
--- /dev/null
+++ b/_plugins/callout.rb
@@ -0,0 +1,28 @@
+# Source: https://stackoverflow.com/questions/19169849/how-to-get-markdown-processed-content-in-jekyll-tag-plugin
+
+module Jekyll
+ module Tags
+ class CalloutTag < Liquid::Block
+
+ def initialize(tag_name, type, tokens)
+ super
+ type.strip!
+ if %w(info danger warning).include?(type)
+ @type = type
+ else
+ puts "#{type} callout not supported. Defaulting to info"
+ @type = "info"
+ end
+ end
+
+ def render(context)
+ site = context.registers[:site]
+ converter = site.find_converter_instance(::Jekyll::Converters::Markdown)
+ output = converter.convert(super(context))
+ "<div class=\"bd-callout bd-callout-#{@type}\">#{output}</div>"
+ end
+ end
+ end
+end
+
+Liquid::Template.register_tag('callout', Jekyll::Tags::CalloutTag)