mirror.dongdigua.github.io/org/publish_config.el

92 lines
2.9 KiB
EmacsLisp
Raw Normal View History

2022-07-13 16:26:16 +08:00
;; this file and Makefile from:
;; https://www.cnblogs.com/banjia/archive/2012/09/29/2708966.html
2022-09-15 11:33:55 +08:00
;; CSDN, 阿里云, 这些垃圾都在未授权盗搬, 结果这个东西有些地方都过时了. 能不能有点创新...
;; System Crafter's video: https://youtu.be/AfkrzFodoNw
2022-07-13 16:26:16 +08:00
2022-12-10 14:05:00 +08:00
(require 'package)
(package-initialize)
;; https://liujiacai.net/blog/2021/05/05/emacs-package
(when (not package-archive-contents)
(package-refresh-contents))
(dolist (p '(webfeeder))
(when (not (package-installed-p p))
(package-install p)))
2022-12-10 14:05:00 +08:00
(eval-when-compile
(require 'org)
(require 'ox)
(require 'webfeeder))
;; https://emacs.stackexchange.com/questions/36366/disable-auto-id-generation-in-org-mode-html-export
;; BUG: will cause toc not working, but I don't use much, so just add id manually
(defun html-body-id-filter (output backend info)
"Remove random ID attributes generated by Org."
(when (eq backend 'html)
(replace-regexp-in-string
" href=\"#org[[:alnum:]]\\{7\\}\""
""
(replace-regexp-in-string
" id=\"[[:alpha:]-]*org[[:alnum:]]\\{7\\}\""
""
output t)
t)))
(add-to-list 'org-export-filter-final-output-functions 'html-body-id-filter)
(setq org-html-validation-link nil
org-export-with-sub-superscripts '{})
(setq org-html-postamble-format
'(("en"
"
<p class=\"author\">Author: %a</p>
<p class=\"date\">Date: %d</p>
<p class=\"date\">Build: %T</p>
<p>LICENCE: CC BY-NC-SA</p>
<p>If you have any idea, please contact me! I may add your comment</p>
")))
2022-07-13 16:26:16 +08:00
(setq org-publish-project-alist
'(("org-pages"
:base-directory "."
:base-extension "org"
2022-09-11 11:20:31 +08:00
:publishing-directory "./../"
2022-07-13 16:26:16 +08:00
:recursive t
:publishing-function org-html-publish-to-html
:preserve-breaks t
2022-09-15 11:33:55 +08:00
:org-html-validation-link nil
2022-09-15 11:45:58 +08:00
:html-head "<link rel='stylesheet' type='text/css' href='css/main.css' />"
;; :html-head-include-default-style nil
:html-link-home "https://dongdigua.github.io"
:html-link-up "./../posts"
:html-postamble t
2022-07-13 16:26:16 +08:00
)))
2022-09-25 12:53:07 +08:00
;; from .emacs
(defun my/orgurl (proto)
(defvar proto proto) ;; important
(org-link-set-parameters proto
:export
(lambda (link description format _)
(let ((url (format "%s:%s" proto link)))
(format "<a href=\"%s\">%s</a>" url (or description url))))))
(my/orgurl "gopher")
(my/orgurl "gemini")
2022-07-13 16:26:16 +08:00
(defun myweb-publish ()
"Publish myweb."
(interactive)
(setq debug-on-error t)
(org-publish-all)
(webfeeder-build
"feed.xml"
2022-09-11 11:20:31 +08:00
"./../"
"https://dongdigua.github.io"
2022-11-13 16:44:41 +08:00
(delete "404.html" (delete "xmr.html" (delete "index.html" (directory-files "./../" nil ".*\.html$"))))
:title "dongdigua's blog"
:description "Blog!"
:builder 'webfeeder-make-rss)
)
2022-07-13 16:26:16 +08:00