Initial commit
This commit is contained in:
92
org/posts/elog-1-blog.org
Normal file
92
org/posts/elog-1-blog.org
Normal file
@@ -0,0 +1,92 @@
|
||||
#+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
|
Reference in New Issue
Block a user