simple-httpd in emacs
I publish to a local directory first, then push that up to a
server. I'm doing this at least until I hammer out some of the kinks
in my setup (see, for example, the publishing notes). I was using a
tool I wrote ages ago for this, but of course I'd rather keep it in
emacs (as one does). To this end, I found out about simple-httpd,
and added a few tweaks to my org.el
file.
First, the code I wrote to enable it:
(use-package simple-httpd :ensure t :config (setq httpd-root "~/org/publish") (setq httpd-port 4000)) (let ((*httpd-server-running* nil)) (defun httpd-toggle-server () (interactive) (if *httpd-server-running* (httpd-stop) (http-start)) (setq *httpd-server-running* (not *httpd-server-running*)) (not *httpd-server-running*)))
Then, I added support to my org-roam for this:
:bind (("C-c n l" . org-roam-buffer-toggle) ("C-c n f" . org-roam-node-find) ("C-c n g" . org-roam-graph) ("C-c n r" . org-roam-ref-add) ("C-c n s" . org-roam-db-sync) ("C-c n t" . org-roam-tag-add) ("C-c n i" . org-roam-node-insert) ("C-c n c" . org-roam-capture) ("C-c n j" . org-roam-dailies-capture-today) ("C-c n p" . metacircular-publish) ("C-c n u" . metacircular-upload) ("C-c n w" . httpd-toggle-server))