mirror of
https://github.com/dongdigua/dongdigua.github.io
synced 2024-11-30 23:30:53 +08:00
dongdigua
ee8df2046e
ignore kernel.html in RSS collections: - [+] 刘未鹏: wow! - [+] theoryware - [+] microcai - [-] lunaixsky: can't understand - [-] minecraft1248: low quality
94 lines
2.9 KiB
EmacsLisp
94 lines
2.9 KiB
EmacsLisp
;; this file and Makefile from:
|
|
;; https://www.cnblogs.com/banjia/archive/2012/09/29/2708966.html
|
|
;; CSDN, 阿里云, 这些垃圾都在未授权盗搬, 结果这个东西有些地方都过时了. 能不能有点创新...
|
|
|
|
;; System Crafter's video: https://youtu.be/AfkrzFodoNw
|
|
|
|
(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)
|
|
(require 'webfeeder))
|
|
|
|
|
|
(setq org-html-validation-link nil
|
|
org-export-with-toc 1
|
|
org-export-with-sub-superscripts '{})
|
|
(setq org-html-postamble-format
|
|
'(("en"
|
|
"
|
|
<p>dongdigua(dongdigua.github.io) CC BY-NC-SA, 禁止转载到私域(公众号,非自己托管的博客等)</p>
|
|
<p class=\"date\">Date: %d Build: %T</p>
|
|
<p>Proudly made with Emacs Org mode</p>
|
|
<p>If you have any idea, please contact me! I may add your comment</p>
|
|
")))
|
|
|
|
(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
|
|
|
|
:org-html-validation-link nil
|
|
: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
|
|
)))
|
|
|
|
|
|
;; 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")
|
|
|
|
;; 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 myweb-publish ()
|
|
"Publish myweb."
|
|
(interactive)
|
|
(setq debug-on-error t)
|
|
(org-publish-all)
|
|
|
|
(webfeeder-build
|
|
"feed.xml"
|
|
"./../"
|
|
"https://dongdigua.github.io"
|
|
(delete "kernel.html" (delete "404.html" (delete "xmr.html" (delete "index.html" (directory-files "./../" nil ".*\.html$")))))
|
|
:title "dongdigua's blog"
|
|
:description "Blog!"
|
|
:builder 'webfeeder-make-rss)
|
|
)
|
|
|