diff options
-rw-r--r-- | .themes/classic/source/atom.xml | 12 | ||||
-rw-r--r-- | plugins/octopress_filters.rb | 5 |
2 files changed, 10 insertions, 7 deletions
diff --git a/.themes/classic/source/atom.xml b/.themes/classic/source/atom.xml index ff8d2591..83af3f81 100644 --- a/.themes/classic/source/atom.xml +++ b/.themes/classic/source/atom.xml @@ -4,26 +4,24 @@ layout: nil <?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> - <title>{{ site.title | xml_escape }}</title> + <title><![CDATA[{{ site.title }}]]></title> <link href="{{ site.url }}/atom.xml" rel="self"/> <link href="{{ site.url }}/"/> <updated>{{ site.time | date_to_xmlschema }}</updated> <id>{{ site.url }}/</id> <author> - <name>{{ site.author | xml_escape }}</name> - {% if site.email %} - <email>{{ site.email | xml_escape }}</email> - {% endif %} + <name><![CDATA[{{ site.author | strip_html }}]]></name> + {% if site.email %}<email><![CDATA[{{ site.email }}]]></email>{% endif %} </author> <generator uri="http://octopress.org/">Octopress</generator> {% for post in site.posts limit: 20 %} <entry> - <title>{{ post.title | xml_escape }}</title> + <title type="html"><![CDATA[{{ post.title | cdata_escape }}]]></title> <link href="{{ site.url }}{{ post.url }}"/> <updated>{{ post.date | date_to_xmlschema }}</updated> <id>{{ site.url }}{{ post.id }}</id> - <content type="html">{{ post.content | expand_urls: site.url | xml_escape }}</content> + <content type="html"><![CDATA[{{ post.content | expand_urls: site.url | cdata_escape }}]]></content> </entry> {% endfor %} </feed> diff --git a/plugins/octopress_filters.rb b/plugins/octopress_filters.rb index 7eaaaa7c..ef8c1fb2 100644 --- a/plugins/octopress_filters.rb +++ b/plugins/octopress_filters.rb @@ -63,6 +63,11 @@ module OctopressLiquidFilters return (content.nil?) ? input : content end + # Escapes CDATA sections in post content + def cdata_escape(input) + input.gsub(/<!\[CDATA\[/, '<![CDATA[').gsub(/\]\]>/, ']]>') + end + # Replaces relative urls with full urls def expand_urls(input, url='') url ||= '/' |