Commit def6446d authored by Robert Speicher's avatar Robert Speicher

Replace `[[_TOC_]]` tag even if `toc` result is blank

parent 82bc6c62
...@@ -26,6 +26,10 @@ module Banzai ...@@ -26,6 +26,10 @@ module Banzai
# * [[http://example.com/images/logo.png]] # * [[http://example.com/images/logo.png]]
# * [[http://example.com/images/logo.png|alt=Logo]] # * [[http://example.com/images/logo.png|alt=Logo]]
# #
# - Insert a Table of Contents list:
#
# * [[_TOC_]]
#
# Based on Gollum::Filter::Tags # Based on Gollum::Filter::Tags
# #
# Context options: # Context options:
...@@ -61,8 +65,6 @@ module Banzai ...@@ -61,8 +65,6 @@ module Banzai
# before this one, it will be converted into `[[<em>TOC</em>]]`, so it # before this one, it will be converted into `[[<em>TOC</em>]]`, so it
# needs special-case handling # needs special-case handling
if toc_tag?(node) if toc_tag?(node)
next unless result[:toc].present?
process_toc_tag(node) process_toc_tag(node)
else else
content = node.content content = node.content
...@@ -85,7 +87,7 @@ module Banzai ...@@ -85,7 +87,7 @@ module Banzai
# Replace an entire `[[<em>TOC</em>]]` node with the result generated by # Replace an entire `[[<em>TOC</em>]]` node with the result generated by
# TableOfContentsFilter # TableOfContentsFilter
def process_toc_tag(node) def process_toc_tag(node)
node.parent.parent.replace(result[:toc]) node.parent.parent.replace(result[:toc].presence || '')
end end
# Process a single tag into its final HTML form. # Process a single tag into its final HTML form.
......
...@@ -95,10 +95,10 @@ describe Banzai::Filter::GollumTagsFilter, lib: true do ...@@ -95,10 +95,10 @@ describe Banzai::Filter::GollumTagsFilter, lib: true do
end end
it 'handles an empty ToC result' do it 'handles an empty ToC result' do
input = output = "<p>[[<em>TOC</em>]]</p>" input = "<p>[[<em>TOC</em>]]</p>"
doc = described_class.call(input, project_wiki: project_wiki) doc = described_class.call(input, project_wiki: project_wiki)
expect(doc.to_html).to eq output expect(doc.to_html).to eq ''
end end
end end
end end
...@@ -46,7 +46,7 @@ describe Banzai::Pipeline::WikiPipeline do ...@@ -46,7 +46,7 @@ describe Banzai::Pipeline::WikiPipeline do
aggregate_failures do aggregate_failures do
expect(output).not_to include('<ul>') expect(output).not_to include('<ul>')
expect(output).to include('[[<em>TOC</em>]]') expect(output).not_to include('[[<em>TOC</em>]]')
end end
end end
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment