merge expandable branch; fixes #1638
This commit is contained in:
@@ -134,6 +134,8 @@ class DText
|
||||
str.gsub!(/\[spoilers?\]\s+/m, "\n\n[spoiler]\n\n")
|
||||
str.gsub!(/\s+\[\/spoilers?\]/m, "\n\n[/spoiler]\n\n")
|
||||
str.gsub!(/^(h[1-6]\.\s*.+)$/, "\n\n\\1\n\n")
|
||||
str.gsub!(/\s*\[expand(\=[^\]]*)?\]\s*/m, "\n\n[expand\\1]\n\n")
|
||||
str.gsub!(/\s*\[\/expand\]\s*/m, "\n\n[/expand]\n\n")
|
||||
end
|
||||
|
||||
str.gsub!(/(?:\r?\n){3,}/, "\n\n")
|
||||
@@ -195,6 +197,20 @@ class DText
|
||||
flags[:code] = false
|
||||
'</pre>'
|
||||
|
||||
when /\[expand(?:\=([^\]]*))?\](?!\])/
|
||||
stack << "expandable"
|
||||
expand_html = '<div class="expandable"><div class="expandable-header">'
|
||||
expand_html << "<span>#{h($1)}</span>" if $1.present?
|
||||
expand_html << '<div class="expandable-button">Show</div></div>'
|
||||
expand_html << '<div class="expandable-content">'
|
||||
expand_html
|
||||
|
||||
when /\[\/expand\](?!\])/
|
||||
if stack.last == "expandable"
|
||||
stack.pop
|
||||
'</div></div>'
|
||||
end
|
||||
|
||||
else
|
||||
if flags[:code]
|
||||
CGI.escape_html(block) + "\n\n"
|
||||
@@ -213,6 +229,8 @@ class DText
|
||||
html << "</pre>"
|
||||
elsif tag == "spoiler"
|
||||
html << "</div>"
|
||||
elsif tag == "expandable"
|
||||
html << "</div></div>"
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user