summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArun Isaac <theroarofthedragon@gmail.com>2015-12-11 02:12:59 +0530
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2016-02-25 10:09:55 +0100
commite278cffa3b4f451f22e8b98d1c40f6e33e6e98ed (patch)
tree43800beb6648d96e3c5520caeb44cb39d7df1385
parent86bc987ca107c5790533d033b622147c36fc4e7f (diff)
downloadorg-mode-e278cffa3b4f451f22e8b98d1c40f6e33e6e98ed.tar.gz
ox-rss: Implement RSS_FEED_URL option keyword
* contrib/lisp/ox-rss.el (org-rss-build-channel-info): Try to use the specified RSS_FEED_URL option keyword as publink before resorting to concatenating blogurl with output filename. The RSS_FEED_URL goes into the atom:link element that identifies the feed's own URL. Currently, the feed URL is assumed to be html-link-home or publishing-directory concatenated with the output filename of the feed. This need not always be so. So, the RSS_FEED_URL option keyword is introduced to let the user customize the feed URL.
-rw-r--r--contrib/lisp/ox-rss.el13
1 files changed, 8 insertions, 5 deletions
diff --git a/contrib/lisp/ox-rss.el b/contrib/lisp/ox-rss.el
index 4cdfe0e..39fce30 100644
--- a/contrib/lisp/ox-rss.el
+++ b/contrib/lisp/ox-rss.el
@@ -31,10 +31,11 @@
;; `org-rss-export-as-rss' (temporary buffer) and `org-rss-export-to-rss'
;; (as a ".xml" file).
;;
-;; This backend understands two new option keywords:
+;; This backend understands three new option keywords:
;;
;; #+RSS_EXTENSION: xml
;; #+RSS_IMAGE_URL: http://myblog.org/mypicture.jpg
+;; #+RSS_FEED_URL: http://myblog.org/feeds/blog.xml
;;
;; It uses #+HTML_LINK_HOME: to set the base url of the feed.
;;
@@ -127,6 +128,7 @@ When nil, Org will create ids using `org-icalendar-create-uid'."
(:with-toc nil nil nil) ;; Never include HTML's toc
(:rss-extension "RSS_EXTENSION" nil org-rss-extension)
(:rss-image-url "RSS_IMAGE_URL" nil org-rss-image-url)
+ (:rss-feed-url "RSS_FEED_URL" nil nil t)
(:rss-categories nil nil org-rss-categories))
:filters-alist '((:filter-final-output . org-rss-final-function))
:translate-alist '((headline . org-rss-headline)
@@ -331,10 +333,11 @@ as a communication channel."
(image (url-encode-url (plist-get info :rss-image-url)))
(ifile (plist-get info :input-file))
(publink
- (concat (file-name-as-directory blogurl)
- (file-name-nondirectory
- (file-name-sans-extension ifile))
- "." rssext)))
+ (or (plist-get info :rss-feed-url)
+ (concat (file-name-as-directory blogurl)
+ (file-name-nondirectory
+ (file-name-sans-extension ifile))
+ "." rssext))))
(format
"\n<title>%s</title>
<atom:link href=\"%s\" rel=\"self\" type=\"application/rss+xml\" />