#+TITLE: Emacs Log 1: This Blog #+DATE: <2022-03-18 Fri> * Emacs Log 1: This Blog _/*WARNING:*/_ This blog post is still under construction! tehe~ This blog is built on top of =org-mode='s publishing capabilities. * Appendix A: config.el snippet #+BEGIN_SRC emacs-lisp (require 'ox-publish) ;; Get project settings (defun akko/blog-spec () "Return project settings for use with `org-publish-project-alist'." (let* ((get-util (lambda (x) (with-temp-buffer (insert-file-contents (concat "~/Blog/util/" x)) (buffer-string)))) (html-head (funcall get-util "head.html")) (html-preamble (funcall get-util "preamble.html")) (html-postamble (funcall get-util "postamble.html"))) `( ("pages" :base-directory "~/Blog/org" :base-extension "org" :recursive t :publishing-directory "~/Blog/html" :publishing-function org-html-publish-to-html :html-doctype "html5" :html-html5-fancy t :language "en" :section-numbers nil :with-toc nil :with-date nil :with-title nil :with-author nil :auto-sitemap t :sitemap-sort-files anti-chronologically :sitemap-format-entry (lambda (entry style project) (cond ((not (directory-name-p entry)) (format "[[file:%s][%s]]\n" entry (org-publish-find-title entry project))) ((eq style 'tree) (capitalize (file-name-nondirectory (directory-file-name entry)))) (t entry))) :headline-levels 4 :html-head ,html-head :html-preamble ,html-preamble :html-postamble ,html-postamble) ("static" :base-directory "~/Blog/static" :base-extension "css\\|txt\\|jpg\\|gif\\|png" :recursive t :publishing-directory "~/Blog/html/static" :publishing-function org-publish-attachment) ("blog" :components ("pages" "static"))))) (setq org-publish-project-alist (akko/blog-spec)) (defun akko/publish-blog () (interactive) (setq org-publish-project-alist (akko/blog-spec)) (org-publish-all)) (defun akko/force-publish-blog () (interactive) (setq org-publish-project-alist (akko/blog-spec)) (org-publish-remove-all-timestamps) (org-publish-all)) (map! :leader (:prefix ("a" . "akko") :desc "Publish Blog" "b" #'akko/publish-blog)) (setq org-html-htmlize-output-type 'css) (setq org-html-htmlize-font-prefix "org-") #+END_SRC