Adapted from Jethro's Braindump
This braindump is generated via ox-hugo and uses the cortex theme.
To use this version of the script, modify build.py
, pointing it at your folder of org-files.
You also need a export-to-markdown setup in your emacs config. Here is mine:
(defun ayegill/braindump-file (file)
(remove-hook! 'find-file-hook #'+org-roam-open-buffer-maybe-h)
(with-current-buffer (find-file-noselect file)
(projectile-mode -1)
(dtrt-indent-mode -1)
(let ((org-id-extra-files (find-lisp-find-files org-roam-directory "\.org$"))
(org-hugo-base-dir "~/projects/braindump"))
(org-hugo-export-wim-to-md))))
I use the Ninja build tool to convert my Org
files into Markdown locally. This is so that only changed Org files get
reprocessed into Markdown files. Ninja spawns many Emacs instances in batch mode
running ox-hugo
, parallelizing the job of exporting the Org files.
To convert all Org files into Markdown, run:
./build.py
to generate the build instructions.
build.py
is simple enough to inspect.
Then run ninja
to run the build.
Once the Markdown files are generated, we can use Hugo to generate the website.
Install hugo. E.g., on a Mac with Homebrew:
$ brew install hugo
Make sure the submodule containing the Hugo theme is installed:
$ git submodule init
$ git submodule update
Now run hugo to generate the files (find them in /public
):
$ hugo
Or run the following to get an immediately browsable website on localhost:
$ hugo serve
- If some of your org-files contain colons, hugo will choke on the links. There's no way around this execpt to rename your files. To assist this,
build.py
automatically skips files containing colons, and prints a list of them. - If some of your files contain org-hugo instructions, it will get confused.
- I've inserted a dummy "Blog Posts" file because I had a file that broke the script a lot