Add support for example IDs to {% example %} template tag

e.g. {% example html id=some-example-id-here %}
This commit is contained in:
Chris Rebert 2014-12-02 18:46:42 -08:00
parent 6bd84210ff
commit 833f391090
1 changed files with 3 additions and 3 deletions

View File

@ -8,7 +8,7 @@ module Jekyll
# forms: name, name=value, or name="<quoted list>"
#
# <quoted list> is a space-separated list of numbers
SYNTAX = /^([a-zA-Z0-9.+#-]+)((\s+\w+(=(\w+|"([0-9]+\s)*[0-9]+"))?)*)$/
SYNTAX = /^([a-zA-Z0-9.+#-]+)((\s+\w+(=((\w|[0-9_-])+|"([0-9]+\s)*[0-9]+"))?)*)$/
def initialize(tag_name, markup, tokens)
super
@ -17,7 +17,7 @@ module Jekyll
@options = {}
if defined?($2) && $2 != ''
# Split along 3 possible forms -- key="<quoted list>", key=value, or key
$2.scan(/(?:\w="[^"]*"|\w=\w|\w)+/) do |opt|
$2.scan(/(?:\w+(?:=(?:(?:\w|[0-9_-])+|"[^"]*")?)?)/) do |opt|
key, value = opt.split('=')
# If a quoted list, convert to array
if value && value.include?("\"")
@ -55,7 +55,7 @@ eos
end
def example(output)
"<div class=\"bs-example\">#{output}</div>"
"<div class=\"bs-example\" data-example-id=\"#{@options[:id]}\">\n#{output}\n</div>"
end
def render_rouge(code)