Merge pull request #6 from benbalter/proper-escapes
Properly escape quotes in titles and descriptions
This commit is contained in:
commit
a355e6ef74
|
@ -5,7 +5,16 @@ module Jekyll
|
|||
|
||||
def render(context)
|
||||
@context = context
|
||||
Liquid::Template.parse(template_contents).render!(payload, info).gsub(/[\n\s]{2,}/, "\n")
|
||||
output = Liquid::Template.parse(template_contents).render!(payload, info)
|
||||
|
||||
# Minify
|
||||
output.gsub!(/[\n\s]{2,}/, "\n")
|
||||
|
||||
# Encode smart quotes. See https://github.com/benbalter/jekyll-seo-tag/pull/6
|
||||
output.gsub!("\u201c", "“")
|
||||
output.gsub!("\u201d", "”")
|
||||
|
||||
output
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
@ -35,7 +35,14 @@ describe Jekyll::SeoTag do
|
|||
it "escapes titles" do
|
||||
site = site({"title" => 'Jekyll & "Hyde"'})
|
||||
context = context({ :site => site })
|
||||
expect(subject.render(context)).to match(/<title>Jekyll & “Hyde”<\/title>/)
|
||||
expect(subject.render(context)).to match(/<title>Jekyll & “Hyde”<\/title>/)
|
||||
end
|
||||
|
||||
it "escapes descriptions" do
|
||||
site = site({"description" => 'Jekyll & "Hyde"'})
|
||||
context = context({ :site => site })
|
||||
expected = /<meta name="description" content="Jekyll & “Hyde”" \/>/
|
||||
expect(subject.render(context)).to match(expected)
|
||||
end
|
||||
|
||||
it "uses the page description" do
|
||||
|
|
Loading…
Reference in New Issue