aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.themes/classic/source/atom.xml12
-rw-r--r--plugins/octopress_filters.rb5
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\[/, '&lt;![CDATA[').gsub(/\]\]>/, ']]&gt;')
+ end
+
# Replaces relative urls with full urls
def expand_urls(input, url='')
url ||= '/'