Skip to content

Commit

Permalink
Convert lb tags to br tags in HTML output
Browse files Browse the repository at this point in the history
  • Loading branch information
lfarrell committed Dec 13, 2023
1 parent aebab31 commit 065fbda
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 1 deletion.
8 changes: 7 additions & 1 deletion app/helpers/arclight/ead_format_helpers.rb
Original file line number Diff line number Diff line change
Expand Up @@ -27,19 +27,25 @@ def ead_to_html_scrubber
Loofah::Scrubber.new do |node|
format_render_attributes(node) if node.attr('render').present?
convert_to_span(node) if CONVERT_TO_SPAN_TAGS.include? node.name
convert_to_br(node) if CONVERT_TO_BR_TAG.include? node.name
format_links(node) if %w[extptr extref extrefloc ptr ref].include? node.name
format_lists(node) if %w[list chronlist].include? node.name
node
end
end

# Tags that should be converted to <span> tags because of formatting conflicts between XML and HTML
CONVERT_TO_SPAN_TAGS = ['title'].freeze
# Tags that should be converted to <span> tags because of formatting conflicts between XML and HTML
CONVERT_TO_BR_TAG = ['lb'].freeze

def convert_to_span(node)
node.name = 'span'
end

def convert_to_br(node)
node.name = 'br'
end

def condense_whitespace(str)
str.squish.strip.gsub(/>[\n\s]+</, '><')
end
Expand Down
5 changes: 5 additions & 0 deletions spec/helpers/arclight/ead_format_helpers_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,11 @@
content = helper.render_html_tags(value: %w[<title>Title</title>])
expect(content).to eq_ignoring_whitespace '<span>Title</span>'
end

it 'converts <lb> tags to <br> tags' do
content = helper.render_html_tags(value: %w[My<lb/>line-break])
expect(content).to eq_ignoring_whitespace 'My<br>line-break'
end
end

describe 'nodes with @render attributes' do
Expand Down

0 comments on commit 065fbda

Please sign in to comment.