[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/webfeeder 943ac61 4/5: Actually escape title and subtit
From: |
Stefan Monnier |
Subject: |
[elpa] externals/webfeeder 943ac61 4/5: Actually escape title and subtitle. |
Date: |
Mon, 15 Mar 2021 22:29:35 -0400 (EDT) |
branch: externals/webfeeder
commit 943ac612e3e4b78985c96c8e71cf50f32646f4cb
Author: Pierre Neidhardt <mail@ambrevar.xyz>
Commit: Pierre Neidhardt <mail@ambrevar.xyz>
Actually escape title and subtitle.
---
webfeeder.el | 28 +++++++++++++++++-----------
1 file changed, 17 insertions(+), 11 deletions(-)
diff --git a/webfeeder.el b/webfeeder.el
index 59327b8..3ff4f8c 100644
--- a/webfeeder.el
+++ b/webfeeder.el
@@ -389,6 +389,12 @@ The date is set to epoch if the item date is nil."
categories
generator)
+(defun webfeeder--xml-escape-string (string)
+ "Like `xml-escape-string' but return nil on nil."
+ (if string
+ (xml-escape-string string)
+ nil))
+
(defun webfeeder--parse-xml-string (string)
"Call `xml-parse-string' on string."
(when string
@@ -414,25 +420,25 @@ variables:
(cl-loop for html-file in html-files
for dest = (expand-file-name html-file project-dir)
for feed-url = (concat (replace-regexp-in-string "/*$" "" url) "/"
html-file)
- ;; TODO: Shall we escape author, title and subtitle? HTML files
- ;; should already be escaped, so there should be no need.
+ ;; Author needs not be escaped because it's parsed in
+ ;; `webfeeder--format-atom-author'.
for feed-author = (funcall webfeeder-author-function dest)
for feed-date = (or (funcall webfeeder-date-function
(expand-file-name html-file
project-dir))
0)
- for feed-title = (or (funcall webfeeder-title-function dest)
feed-url)
- for feed-subtitle = (funcall webfeeder-subtitle-function dest)
+ for feed-title = (or (webfeeder--xml-escape-string (funcall
webfeeder-title-function dest)) feed-url)
+ for feed-subtitle = (webfeeder--xml-escape-string (funcall
webfeeder-subtitle-function dest))
for feed-body = (funcall webfeeder-body-function dest feed-url
'exclude-toc)
for feed-categories = (funcall webfeeder-categories-function dest)
for feed-generator = (funcall webfeeder-generator-function dest)
collect (make-webfeeder-item :url feed-url
- :author feed-author
- :date feed-date
- :title feed-title
- :subtitle feed-subtitle
- :body feed-body
- :categories feed-categories
- :generator feed-generator)))
+ :author feed-author
+ :date feed-date
+ :title feed-title
+ :subtitle feed-subtitle
+ :body feed-body
+ :categories feed-categories
+ :generator feed-generator)))
;;;###autoload
(cl-defun webfeeder-make-rss (webfeed url feed-items
- [elpa] externals/webfeeder updated (914a1d0 -> da705f9), Stefan Monnier, 2021/03/15
- [elpa] externals/webfeeder da705f9 5/5: Fix test data with escaped subtitle., Stefan Monnier, 2021/03/15
- [elpa] externals/webfeeder 1084a5d 2/5: Fix test with default author function., Stefan Monnier, 2021/03/15
- [elpa] externals/webfeeder e9ce707 3/5: Parse author, title and subtitle XML when using default functions., Stefan Monnier, 2021/03/15
- [elpa] externals/webfeeder 0e25358 1/5: webfeeder-test: Reindent., Stefan Monnier, 2021/03/15
- [elpa] externals/webfeeder 943ac61 4/5: Actually escape title and subtitle.,
Stefan Monnier <=