;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\302\303\304\305\306\307\310\311\312\313\314\315& \210\316\317\320\321\310\303\322\323&\210\316\324\325\326\310\303\322\323&\210\316\327\330\331\310\303\322\332&\210\316\333\334\335\310\303\322\336&\210\337\340\341\342\343\344\345\346\347\350\351&\n\207" [require ox-html custom-declare-group org-export-rss nil "Options specific to RSS export back-end." :tag "Org RSS" :group org-export :version "24.4" :package-version (Org . "8.0") custom-declare-variable org-rss-image-url "https://orgmode.org/img/org-mode-unicorn-logo.png" "The URL of the image for the RSS feed." :type string org-rss-extension "xml" "File extension for the RSS 2.0 feed." org-rss-categories 'from-tags "Where to extract items category information from.\nThe default is to extract categories from the tags of the\nheadlines. When set to another value, extract the category\nfrom the :CATEGORY: property of the entry." (choice (const :tag "From tags" from-tags) (const :tag "From the category property" from-category)) org-rss-use-entry-url-as-guid t "Use the URL for the metatag?\nWhen nil, Org will create ids using `org-icalendar-create-uid'." boolean org-export-define-derived-backend rss html :menu-entry (114 "Export to RSS" ((82 "As RSS buffer" (lambda (a s v b) (org-rss-export-as-rss a s v))) (114 "As RSS file" (lambda (a s v b) (org-rss-export-to-rss a s v))) (111 "As RSS file and open" (lambda (a s v b) (if a (org-rss-export-to-rss t s v) (org-open-file (org-rss-export-to-rss nil s v))))))) :options-alist ((:description "DESCRIPTION" nil nil newline) (:keywords "KEYWORDS" nil nil space) (:with-toc nil nil nil) (: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) (comment lambda (&rest args) #1="") (comment-block lambda (&rest args) #1#) (timestamp lambda (&rest args) #1#) (plain-text . org-rss-plain-text) (section . org-rss-section) (template . org-rss-template))] 12) #@693 Export current buffer to an RSS buffer. If narrowing is active in the current buffer, only export its narrowed part. If a region is active, export that region. A non-nil optional argument ASYNC means the process should happen asynchronously. The resulting buffer should be accessible through the `org-export-stack' interface. When optional argument SUBTREEP is non-nil, export the sub-tree at point, extracting information from the headline properties first. When optional argument VISIBLE-ONLY is non-nil, don't export contents of hidden elements. Export is done in a buffer named "*Org RSS Export*", which will be displayed when `org-export-show-temporary-export-buffer' is non-nil. (defalias 'org-rss-export-as-rss #[(&optional async subtreep visible-only) "\304\305 !\306\307\"\210\310 \210)\311\312\313 \n \314\211\315&\207" [file async subtreep visible-only buffer-file-name buffer-base-buffer org-icalendar-create-uid warn-user org-rss-add-pubdate-property org-export-to-buffer rss "*Org RSS Export*" nil #[nil "\300 \207" [text-mode] 1]] 9 (#$ . 2245) nil]) #@580 Export current buffer to an RSS file. If narrowing is active in the current buffer, only export its narrowed part. If a region is active, export that region. A non-nil optional argument ASYNC means the process should happen asynchronously. The resulting file should be accessible through the `org-export-stack' interface. When optional argument SUBTREEP is non-nil, export the sub-tree at point, extracting information from the headline properties first. When optional argument VISIBLE-ONLY is non-nil, don't export contents of hidden elements. Return output file's name. (defalias 'org-rss-export-to-rss #[(&optional async subtreep visible-only) "\306\307 !\310\311\"\210\312 \210)\313\314 P\n\"\315\316 \f\n %)\207" [file org-rss-extension subtreep outfile async visible-only buffer-file-name buffer-base-buffer org-icalendar-create-uid warn-user org-rss-add-pubdate-property org-export-output-file-name "." org-export-to-file rss] 6 (#$ . 3328) nil]) #@203 Publish an org file to RSS. FILENAME is the filename of the Org file to be published. PLIST is the property list for the given project. PUB-DIR is the publishing directory. Return output file name. (defalias 'org-rss-publish-to-rss #[(plist filename pub-dir) "\305!\211\203r q\210\306\307\"\210\310 \210\311!\210)\202/\312!\210\306\307\"\210\310 \210\311!\210\313 \210)\314\315\316\nP \f%\207" [filename bf org-rss-extension plist pub-dir get-file-buffer org-icalendar-create-uid warn-user org-rss-add-pubdate-property write-file find-file kill-buffer org-publish-org-to rss "."] 7 (#$ . 4299)]) #@130 Transcode HEADLINE element into RSS format. CONTENTS is the headline contents. INFO is a plist used as a communication channel. (defalias 'org-rss-headline #[(headline contents info) "\306 \"\307V\203\310\311 #\207\312\211;\203 \313\314#\266\202\202(\315A@\"\266\202?\205\261\316\315 \317\" \"\315 \320\"\205I\315 \321\"\211\205H\316 \")\315 \322\"\323 \"0\324\315 \325\"!1\315 \326\"2\327\211;\203t\313\314#\266\202\202|\315A@\"\266\2023\330 \"4\331\332\211;\203\226\313\314#\266\202\202\236\315A@\"\266\202\206\242\333 \"5\334\211;\203\267\313\314#\266\202\202\277\315A@\"\266\2026\33576\205\3336\211\333\230\262?\205\333\336\337\3406!\")8\331\341\211;\203\360\313\314#\266\202\202\370\315A@\"\266\202\206\3429\343\344\211;\203\313\314#\266\202\202\315A@\"\266\202# \":3\203/1\206)23P\206E1\20662\345\346\315 \347\"!!\350 \3514\260;<\203Q;\202\216\331\352\211;\203c\313\314#\266\202\202k\315A@\"\266\202\206\214\353\211;\203\313\314#\266\202\202\207\315A@\"\266\202\206\214; \"=8\204\231\333\202\257\354\355\356 \"\357Q:;\n\f=8>&.\207" [headline info email auth author htmlext org-export-get-relative-level 1 org-export-data-with-backend html :footnote-section-p get-text-property 0 plist-get org-export-data :email :with-author :author :html-extension org-export-get-headline-number file-name-as-directory :html-link-home :publishing-directory :RSS_PERMALINK org-export-get-reference org-rss-plain-text :CATEGORY "" :PUBDATE "C" format-time-string "%a, %d %b %Y %H:%M:%S %z" org-time-string-to-time :RSS_TITLE replace-regexp-in-string #[(m) "\301\302\"\206 \301\303\"\207" [m match-string 3 1] 3] :raw-value file-name-nondirectory file-name-sans-extension :input-file "." "#" :ID :CUSTOM_ID format "\n%s\n%s\n%s (%s)\n%s\n%s\n" org-rss-build-categories "\n\n\n" hl-number hl-home hl-pdir hl-perm anchor category pubdate0 system-time-locale pubdate org-bracket-link-regexp title publink org-rss-use-entry-url-as-guid guid contents] 11 (#$ . 4917)]) #@36 Build categories for the RSS item. (defalias 'org-rss-build-categories #[(headline info) "\303\304\"\305=\203'\306\307\310 \211;\203\311\312#\266\202\202$\303A@\"\266\202\313#\207\314 \211;\2038\311\312#\266\202\202@\303A@\"\266\202\315\316\n\")\207" [info headline c plist-get :rss-categories from-tags mapconcat #[(c) "\301\302\"\207" [c format ""] 3] :tags get-text-property 0 "\n" :CATEGORY format ""] 8 (#$ . 7156)]) #@149 Return complete document string after RSS conversion. CONTENTS is the transcoded contents string. INFO is a plist used as a communication channel. (defalias 'org-rss-template #[(contents info) "\303\304\305!\"\306\307 !\310\n\311\260\207" [org-html-coding-system info contents format "" symbol-name "\n" org-rss-build-channel-info "\n" "\n"] 6 (#$ . 7672)]) #@36 Build the RSS channel information. (defalias 'org-rss-build-channel-info #[(info) "\306\307\310 \311\" \"\307\310 \312\" \"\310 \313\"\205'\310 \314\"\211\205&\307\f \")\315\316!\"\307\310 \317\" \"#\310 \320\"$\310 \321\"%\310 \322\"&\310 \323\"\206S\310 \324\"'\325\310 \326\"!(\310 \327\")\310 \330\"\206x\331'!\332\333)!!\334&R*\335\336\n*'#$\"\211\335\337+,#\340\341 Q (\n'&. \207" [system-time-locale info title email auth author "C" org-export-data plist-get :title :email :with-author :author format-time-string "%a, %d %b %Y %H:%M:%S %z" :description :language :keywords :rss-extension :html-link-home :publishing-directory url-encode-url :rss-image-url :input-file :rss-feed-url file-name-as-directory file-name-nondirectory file-name-sans-extension "." format "\n%s\n\n%s\n\n%s\n%s\n%s\n%s\n%s (%s)\n\n%s\n%s\n%s\n\n" "Emacs %d.%d" " Org-mode " org-version date description lang keywords rssext blogurl image ifile publink emacs-major-version emacs-minor-version] 16 (#$ . 8615)]) #@128 Transcode SECTION element into RSS format. CONTENTS is the section contents. INFO is a plist used as a communication channel. (defalias 'org-rss-section #[(section contents info) "\207" [contents] 1 (#$ . 9953)]) #@113 Transcode a TIMESTAMP object from Org to RSS. CONTENTS is nil. INFO is a plist holding contextual information. (defalias 'org-rss-timestamp #[(timestamp contents info) "\301\302!!\207" [timestamp org-html-encode-plain-text org-timestamp-translate] 3 (#$ . 10175)]) #@43 Convert plain text into RSS encoded text. (defalias 'org-rss-plain-text #[(contents info) "\303\304 !\305\306\n#\211)\207" [output contents info nil org-html-encode-plain-text org-export-activate-smart-quotes :html] 4 (#$ . 10448)]) #@26 Prettify the RSS output. (defalias 'org-rss-final-function #[(contents backend info) "\302\303\304\"rq\210\305\216\306 \210 c\210\307ed\"\210\310ed\"+\207" [#1=#:temp-buffer contents generate-new-buffer " *temp*" t #[nil "\301!\205 \302!\207" [#1# buffer-name kill-buffer] 2] xml-mode indent-region buffer-substring-no-properties] 3 (#$ . 10691)]) #@51 Set the PUBDATE property for top-level headlines. (defalias 'org-rss-add-pubdate-property #[nil "\301\302\303\301\211\304\305%\210\205\306\307\310 \"\210\311\312!)\207" [msg nil org-map-entries #[nil "\304 \305\211;\203\306\307#\266\202\202\310A@\"\266\202\211\311U\2054\312`\313\"?\2054\314\315\313\316 A!\"*\207" [entry level msg org-time-stamp-formats org-element-at-point :level get-text-property 0 plist-get 1 org-entry-get "PUBDATE" t org-set-property format-time-string] 7] comment archive message "Property PUBDATE added to top-level entries in %s" buffer-file-name sit-for 2] 6 (#$ . 11050)]) (provide 'ox-rss)