Over the past weeks I’ve been working on a way to not only write my devlog in Obsidian, but also turn it directly into a publishable website using Hugo. The result: I can now write, build, and publish without ever leaving my favorite environment. And honestly, it feels incredibly smooth.
Installing Hugo
Before I could start, I had to install Hugo locally. Fortunately, that’s quite easy:
- Download Hugo from the official site: https://gohugo.io
- Extract the file and place
hugo.exe
in a folder that’s in your PATH (for exampleC:\Hugo\bin
). - Verify the installation with:
hugo version
If you see a version number, you’re good to go.
My workflow in Obsidian
Inside my Obsidian vault, I’ve created a dedicated Hugo
folder that acts as the root of the site. The structure looks like this:
Hugo/
├─ archetypes/
├─ assets/
├─ content/
│ ├─ en/
│ │ ├─ posts/
│ │ └─ vision/
│ └─ nl/
│ ├─ posts/
│ └─ visie/
├─ layouts/
├─ public/
├─ static/
├─ themes/
├─ hugo.toml
└─ netlify.toml
Each post is written directly in Obsidian, in plain Markdown. Writing stays simple and clean.
Bilingual setup
My devlog is bilingual: English and Dutch. In hugo.toml
, it’s configured like this:
[languages.en]
languageName = "English"
weight = 1
contentDir = "content/en"
[languages.nl]
languageName = "Nederlands"
weight = 2
contentDir = "content/nl"
Hugo automatically generates the right URLs, like /en/posts/
and /nl/visie/
.
Hosting on Netlify
For hosting, I use Netlify. It’s free, fast, and easy to set up. My netlify.toml
looks like this:
[build]
command = "hugo"
publish = "public"
Every time I build, I can push it live instantly through Netlify.
One-click publishing
The best part is that I can publish directly from Obsidian using a simple CMD script:
@echo off
setlocal
cd /d "%~dp0"
echo Building with Hugo...
hugo --gc --cleanDestinationDir
echo Deploying to Netlify (production)...
netlify deploy --prod --dir=public
pause >nul
endlocal
With one click, Hugo builds the site and Netlify takes it live. No hassle, just publish.
Reflection
It feels great to have writing, building, and publishing all in one environment.
“With a single click my journal is online — writing suddenly feels a whole lot lighter.”