(require 'package) (package-initialize) (when (not package-archive-contents) (package-refresh-contents)) (dolist (p '(webfeeder htmlize)) (when (not (package-installed-p p)) (package-install p))) (eval-when-compile (require 'org) (require 'ox-publish) (require 'ox-html) (require 'htmlize) (require 'webfeeder)) (setq org-html-validation-link nil ;; https://emacs-china.org/t/org-emacs-script-org-publish-all/20782 org-html-htmlize-output-type 'css org-export-with-toc 1 org-export-with-sub-superscripts '{}) (setq org-html-postamble-format '(("en" "
dongdigua CC BY-NC-SA 禁止转载到私域(公众号,非自己托管的博客等)
Date: %d Build: %T
Proudly made with Emacs Org mode
Email me to add comment
"))) (setq org-html-home/up-format " ") (setq org-publish-project-alist '(("org-pages" :base-directory "." :base-extension "org" :publishing-directory "./../" :recursive t :publishing-function org-html-publish-to-html :preserve-breaks t :html-head "" ;; :html-head-include-default-style nil :html-link-home "https://dongdigua.github.io" :html-link-up "./../posts" :html-postamble t ))) ;; 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 "%s" url (or description url)))))) (my/orgurl "gopher") (my/orgurl "gemini") ;; 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) (defun my/delete-multiple (src l) (mapcar (lambda (x) (setq src (delete x src))) l) src) (defun myweb-publish () "Publish myweb." (interactive) (setq debug-on-error t) (org-publish-all) (webfeeder-build "feed.xml" "./../" "https://dongdigua.github.io" (my/delete-multiple (directory-files "./../" nil ".*\.html$") '("about.html" "my_timeline.html" "kernel.html" "404.html" "xmr.html" "index.html")) :title "dongdigua's blog" :description "Blog!" :builder 'webfeeder-make-rss) (kill-emacs))