feat(blog): Configure org-mode's HTML export to match blog theme

This gets elblog close, but not quite there, to my previous blog
theme.

Comparison screenshot: http://i.imgur.com/UK49Fhi.png
This commit is contained in:
Vincent Ambo 2017-11-13 00:57:20 +01:00
parent b4dad1526d
commit 040c348780
3 changed files with 59 additions and 1 deletions

14
blog.el
View file

@ -20,6 +20,17 @@
:group 'elblog
:type 'string)
;; org-mode settings need to be configured a certain way for elblog's HTML
;; templating to work correctly.
(defun configure-org-html-export ()
(setq org-html-postamble t)
(setq org-html-doctype "html5")
(setq org-html-head-include-scripts nil)
(setq org-html-style-default (f-read-text "blog.css"))
(setq org-html-preamble-format
'(("en" "<header><h1><a class=\"unstyled-link\" href=\"/\">Tazjin&#39;s blog</a></h1><hr></header>")))
(setq org-html-postamble-format `(("en" ,(f-read-text "postamble.html")))))
;; Article fetching & rendering functions
(defun render-org-buffer (buffer &optional force)
@ -46,7 +57,7 @@
(defun render-article (article)
"Renders an article, if it exists."
(let ((output-buffer (render-org-buffer (concat article ".org"))))
(let ((output-buffer (render-org-buffer (concat article ".org") t)))
(if output-buffer `(200 . ,(get-buffer-string output-buffer))
article-not-found)))
@ -66,6 +77,7 @@
(defun start-elblog ()
(interactive)
(configure-org-html-export)
(elnode-start 'elblog-handler
:port elblog-port
:host elblog-host))