Replace [[_TOC_]]
tag even if toc
result is blank
This commit is contained in:
parent
82bc6c6229
commit
def6446dad
3 changed files with 8 additions and 6 deletions
|
@ -26,6 +26,10 @@ module Banzai
|
|||
# * [[http://example.com/images/logo.png]]
|
||||
# * [[http://example.com/images/logo.png|alt=Logo]]
|
||||
#
|
||||
# - Insert a Table of Contents list:
|
||||
#
|
||||
# * [[_TOC_]]
|
||||
#
|
||||
# Based on Gollum::Filter::Tags
|
||||
#
|
||||
# Context options:
|
||||
|
@ -61,8 +65,6 @@ module Banzai
|
|||
# before this one, it will be converted into `[[<em>TOC</em>]]`, so it
|
||||
# needs special-case handling
|
||||
if toc_tag?(node)
|
||||
next unless result[:toc].present?
|
||||
|
||||
process_toc_tag(node)
|
||||
else
|
||||
content = node.content
|
||||
|
@ -85,7 +87,7 @@ module Banzai
|
|||
# Replace an entire `[[<em>TOC</em>]]` node with the result generated by
|
||||
# TableOfContentsFilter
|
||||
def process_toc_tag(node)
|
||||
node.parent.parent.replace(result[:toc])
|
||||
node.parent.parent.replace(result[:toc].presence || '')
|
||||
end
|
||||
|
||||
# Process a single tag into its final HTML form.
|
||||
|
|
|
@ -95,10 +95,10 @@ describe Banzai::Filter::GollumTagsFilter, lib: true do
|
|||
end
|
||||
|
||||
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)
|
||||
|
||||
expect(doc.to_html).to eq output
|
||||
expect(doc.to_html).to eq ''
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -46,7 +46,7 @@ describe Banzai::Pipeline::WikiPipeline do
|
|||
|
||||
aggregate_failures do
|
||||
expect(output).not_to include('<ul>')
|
||||
expect(output).to include('[[<em>TOC</em>]]')
|
||||
expect(output).not_to include('[[<em>TOC</em>]]')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue