Add Atom feed from my source control system to each page
This commit is contained in:
parent
c8856eb797
commit
88de93b360
1 changed files with 22 additions and 0 deletions
22
publish.el
22
publish.el
|
@ -30,6 +30,12 @@
|
||||||
(require 'rainbow-delimiters)
|
(require 'rainbow-delimiters)
|
||||||
(require 'subr-x)
|
(require 'subr-x)
|
||||||
|
|
||||||
|
(defconst publish-root
|
||||||
|
(file-name-directory
|
||||||
|
(or load-file-name
|
||||||
|
(buffer-file-name)))
|
||||||
|
"The directory where ‘oni-org’ was loaded from.")
|
||||||
|
|
||||||
(add-hook 'prog-mode-hook 'rainbow-delimiters-mode)
|
(add-hook 'prog-mode-hook 'rainbow-delimiters-mode)
|
||||||
|
|
||||||
(defun publish-calculate-reading-time (buffer)
|
(defun publish-calculate-reading-time (buffer)
|
||||||
|
@ -89,5 +95,21 @@
|
||||||
:publishing-directory "public/")
|
:publishing-directory "public/")
|
||||||
("all" :components ("index" "posts" "assets"))))
|
("all" :components ("index" "posts" "assets"))))
|
||||||
|
|
||||||
|
(defvar publish-feed-url-format
|
||||||
|
;"https://gitlab.com/ryuslash/ryuslash.org/-/commits/master/%s?feed_token=Rf8otgpS8YEiYakJN4NR&format=atom"
|
||||||
|
"https://code.ryuslash.org/new-ryuslash.org/atom/%s?h=master"
|
||||||
|
"Format string for the URL to the page’s atom feed.")
|
||||||
|
|
||||||
|
(add-hook 'org-export-before-processing-hook
|
||||||
|
(lambda (backend)
|
||||||
|
(when (eq backend 'html)
|
||||||
|
(let ((file-name (if (string= (buffer-file-name)
|
||||||
|
(expand-file-name "index.org"))
|
||||||
|
""
|
||||||
|
(file-relative-name (buffer-file-name) publish-root))))
|
||||||
|
(insert "#+HTML_HEAD: <link rel=\"alternate\" type=\"application/atom+xml\" href=\""
|
||||||
|
(format publish-feed-url-format file-name)
|
||||||
|
"\" title=\"Atom Feed\"/>\n")))))
|
||||||
|
|
||||||
(provide 'publish)
|
(provide 'publish)
|
||||||
;;; publish.el ends here
|
;;; publish.el ends here
|
||||||
|
|
Loading…
Reference in a new issue