Personal blog build with Hugo and hugo-tufte. Not so many bells and whistles, I want to try and stick to a content-centric approach.
Served from my Dreamhost account.
Since the theme is a submodule be sure to run git submodule update --init
as required.
All content is in the Content.org file, ox-hugo is used to turn this big ass text file into the individual Markdown files that Hugo uses to generate content.
The theme is based around tufte-css.
Structured around the major subcategories of:
- Posts
- About
- Tags (this is generated)
No top level categories, just organise content with tags.
Create a subtree in the correct location of the Content.org
file.
To generate a new post from the current subtree: C-c C-e H H
which is the shortcut for (org-hugo-export-wim-to-md)
To regenerate the whole site: C-c C-e H A
which is the shortcut for (org-hugo-export-wim-to-md :all-subtrees)
Posts have a Title and an optional subtitle that can be set in the front matter.
Tufte recommends no more than two levels for content: Section (h2) and Subsection (h3), other heading styles are not supported.
The most striking part of the Tufte style is the used of sidenotes and marginnotes which can be put into markdown with escaped HTML:
I have YASnippets set up for this in Markdown and there should be Org-Mode macros at the top of the Content.org
file.
{{<marginnote>}} content {{</marginnote}}
{{<sidenote>}} content {{</sidenote}}
There may be some characters that need escaping in sidenotss (such as commas) and multiple paragraphs are not supported.
TODO: fill this out.
When writing code a local site can be generated with hugo server -D
, and then navigating to the localhost url that shows in the terminal.
Math does not work locally for Safari, but it seems to do so on live websites. Testing should be done with Chrome until I figure out why Safari doesn’t like the remotely fetched javascript.
Uses the hugo-tufte theme that, added as a submodule so that I’m not a hostage to the original repository. The Github repo has a link to what it is forked from, so I can keep my submodule up to date.
- Clear the
content
folder to remove the generated markdown documents. - Generate the content from the
Content.org
file usingC-c C-e H A
. - Generate the site by running
hugo --gc --minify
from the root of the project. - FTP the contents of the
public
folder to the correct place on Dreamhost.