emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[O] [PATCH] Implement RSS_FEED_URL option keyword


From: Arun Isaac
Subject: [O] [PATCH] Implement RSS_FEED_URL option keyword
Date: Fri, 11 Dec 2015 02:50:19 +0530
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Hi,

I have implemented a new option keyword, RSS_FEED_URL, for the RSS
exporter backend.

The RSS_FEED_URL goes into the atom:link element that identifies the
feed's own URL.

http://www.rssboard.org/rss-profile#namespace-elements-atom-link

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 necessarily be so. So, the RSS_FEED_URL option
keyword is introduced to let the user customize the feed URL.

Please review the patch and consider for inclusion.

Thanks,
Arun Isaac.

Attachment: signature.asc
Description: PGP signature

>From c0447601cd77ae8877f7ea42bdadcc4179cd0113 Mon Sep 17 00:00:00 2001
From: Arun Isaac <address@hidden>
Date: Fri, 11 Dec 2015 02:12:59 +0530
Subject: [PATCH] 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.
---
 contrib/lisp/ox-rss.el | 13 ++++++++-----
 1 file 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\" />
-- 
2.6.3


reply via email to

[Prev in Thread] Current Thread [Next in Thread]