diff options
| author | erdgeist <erdgeist@erdgeist.org> | 2026-08-09 23:31:35 +0200 |
|---|---|---|
| committer | erdgeist <erdgeist@erdgeist.org> | 2026-08-09 23:31:35 +0200 |
| commit | 5690cf4d4e05eafdfd2e270bbdf1a925114d0f76 (patch) | |
| tree | 1315dd1b91433f5287208a4f1b321dd722592966 /app/views/rss/updates.rdf.builder | |
| parent | 4d8c7290adf8dd41677ccc44a5c5ffe5d1bed2f6 (diff) | |
Escape feed content with Builder rather than by hand
Builder escapes by default; the three feed templates no longer call
CGI.escapeHTML. This fixes two sites that never escaped at all: the tag
feed's externally supplied :tag segment, interpolated into its title, self
link and id, and dc:creator in the RDF template.
Subscribers see one difference: quotes and apostrophes arrive raw, which is
valid in element text.
config/initializers/xmlparser.rb, which redefined Builder::XmlBase#_escape
as the identity function, is gone. XML::Node#replace_with went with it, no
callers.
Diffstat (limited to 'app/views/rss/updates.rdf.builder')
| -rw-r--r-- | app/views/rss/updates.rdf.builder | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/app/views/rss/updates.rdf.builder b/app/views/rss/updates.rdf.builder index b4fecdb0..699e9c87 100644 --- a/app/views/rss/updates.rdf.builder +++ b/app/views/rss/updates.rdf.builder | |||
| @@ -17,9 +17,9 @@ xml.tag!("rdf:RDF", "xmlns:rdf" => "http://www.w3.org/1999/02/22-rdf-syntax-ns#" | |||
| 17 | 17 | ||
| 18 | @items.each do |item| | 18 | @items.each do |item| |
| 19 | xml.item("rdf:about" => content_url(:page_path => item.node.unique_path)) do | 19 | xml.item("rdf:about" => content_url(:page_path => item.node.unique_path)) do |
| 20 | xml.title(CGI.escapeHTML(item.title.to_s)) | 20 | xml.title(item.title.to_s) |
| 21 | xml.link(content_url(:page_path => item.node.unique_path)) | 21 | xml.link(content_url(:page_path => item.node.unique_path)) |
| 22 | xml.description(CGI.escapeHTML(item.abstract.to_s)) | 22 | xml.description(item.abstract.to_s) |
| 23 | xml.tag!("dc:creator", (item.user ? item.user.login : "CCC")) | 23 | xml.tag!("dc:creator", (item.user ? item.user.login : "CCC")) |
| 24 | xml.tag!("dc:date", item.published_at.xmlschema) | 24 | xml.tag!("dc:date", item.published_at.xmlschema) |
| 25 | end | 25 | end |
