Publishing absolute URLs in RSS feeds
| emacs– ../../notebook/emacs/emacs-wiki-config.el
– ../../notebook/emacs/planner-config.el
(defvar sacha/emacs-wiki-use-absolute-url-flag nil
"Non-nil means publish absolute URLs.")
(defadvice planner-rss-add-note (around sacha/absolute-urls activate)
"Publish absolute URLs."
(let ((sacha/emacs-wiki-use-absolute-url-flag t))
ad-do-it))
(require 'w3m)
(defadvice emacs-wiki-markup-link (around sacha activate)
"Resolve the matched wiki-link into its ultimate form.
Images used the
tag."
;; avoid marking up urls that appear to be inside existing HTML
(when (and (not (eq (char-after (point)) ?\"))
(not (eq (char-after (point)) ?\>)))
(let* (string
(wiki-link (match-string 0))
(url (emacs-wiki-link-url wiki-link))
(name (emacs-wiki-escape-html-string
(emacs-wiki-wiki-visible-name wiki-link))))
(when url
(unless (emacs-wiki-wiki-url-p url)
(setq url
(file-relative-name
url
(if (string-match "public_html" url)
"../../public_html/notebook/plans"
"../../notebook/plans")))
(when sacha/emacs-wiki-use-absolute-url-flag
(setq url
(w3m-expand-url
url
"http://sacha.free.net.ph/notebook/wiki")))))
(setq string
(if (null url)
(if (and emacs-wiki-serving-p
(emacs-wiki-editable-p
(emacs-wiki-wiki-base wiki-link)))
(format
"%s"
(emacs-wiki-wiki-base wiki-link) name)
(format "%s"
emacs-wiki-maintainer name))
(if (save-match-data
(string-match emacs-wiki-image-regexp url))
(if (string-equal url name)
(format "
" url)
(format "
" url name))
(if (save-match-data
(string-match emacs-wiki-image-regexp name))
(format "
" url name)
(format "%s" url name)))))
(add-text-properties 0 (1- (length string))
'(rear-nonsticky (read-only) read-only
t) string)
(setq ad-return-value string))))
You can e-mail me at sacha@sachachua.com.