🌿 Digital Garden Troubleshooting & Learning in Public
What broke, what I learned, and how I fixed it
This is a record of the entire debugging journey behind getting my Digital Garden to display clean, readable folder and note names — without the numeric prefixes, .md extensions, underscores, or hyphens that clutter the UI.
It’s both a troubleshooting log and a learning-in-public story.
Future me — and anyone building or publishing their own garden — can learn from this.
🌱 What I Set Up
I connected my tools so my Obsidian notes could publish directly to the web:
-
Obsidian → Digital Garden plugin → GitHub repo → Vercel
-
Enabled filetree navigation and search so the published sidebar mirrors my vault structure:
00_Start-Here 10_Systems-Lab 20_Learning-Log 40_About -
Chose a community theme so the public site inherits my Obsidian look (dark mode, gold accents)
Everything worked — notes published beautifully — but the filetree was messy.
🌿 What I Tried (Styling Attempts)
Before finding the real fix, I tried several things:
1. Changed the “Sitename” in plugin appearance
→ Updated the navbar title
→ But didn’t affect the big “Digital Garden” label in the sidebar
(because that comes from the theme/layout, not site metadata)
2. Edited the filetree template (filetree.njk)
Attempted to strip numeric prefixes like 00-, 10-, etc.
It worked briefly… and then reverted the next time I published.
Why?
The plugin overwrote my changes when it regenerated templates during publish.
This hinted at a deeper truth:
Some files in the repo are “plugin-owned” and not safe to edit directly.
🌳 Key Behavior Discoveries
This project became a miniature case study in how systems behave behind the scenes.
1. Digital Garden normalizes folder names internally
This was the big aha moment.
My folder in Obsidian:
00_Start-Here
showed up in the site filetree as:
00-Start-Here
Because the plugin’s slug processor converts underscores → hyphens.
This meant my earlier attempts to replace '00-' weren’t catching the '00_' version, and vice versa.
2. The plugin regenerates core template files
Any edits made directly to default components get overwritten.
You must use:
-
custom components
-
custom CSS
-
or safe template overrides
to make changes persist.
3. The filetree receives different forms of names
Folders sometimes came through as:
-
00_Start-Here -
and sometimes
00-Start-Here
So I had to clean both.
🌼 The Final Fix (in filetree.njk)
I added a cleanedName transformation that strips:
-
numeric prefixes
-
hyphens and underscores
-
.mdextensions -
internal slug characters
The working solution:
{% set cleanedName = fileOrFolderName
| replace('00-','')
| replace('00_','')
| replace('10_','')
| replace('20_','')
| replace('30_','')
| replace('40_','')
| replace('.md','')
| replace('-', ' ')
%}
Why this works
-
Removes both versions of the
00folder name (00-and00_) -
Cleans up all other numeric prefixes
-
Removes
.mdso the filetree only shows titles -
Converts hyphens to spaces so names read cleanly (
Systems Labinstead ofSystems-Lab)
🌻 The Result
A beautifully clean sidebar:
-
Start Here (no prefix)
-
Systems Lab (human-readable)
-
Learning Log
-
About
-
Note titles without
**.md**
Everything stays sorted in Obsidian, and looks intentional on the published site.
🧠 Why Perplexity Didn’t Find the Fix
Perplexity assumed that folder names in the GitHub repo matched the folder names in Obsidian.
They do not.
Digital Garden:
-
rewrites slugs
-
treats
00_differently (root sections) -
normalizes characters
-
passes different strings into the template depending on node type
Without knowing that, Perplexity kept pointing me toward solutions that couldn’t possibly work.
The “clean both versions” insight was the key.
💡 What I Learned (The Meta Level)
-
Systems hide complexity — naming conventions ripple through pipelines
-
Debugging is often about understanding the system’s invisible behavior
-
Publishing workflows need clarity just like writing does
-
Learning in public is powerful because people struggle with the same things
-
Documenting fixes = future clarity
🔗 References (Cleaned Up)
A curated list of sources I checked while troubleshooting:
-
Digital Garden Documentation → https://dg-docs.ole.dev
-
Digital Garden Plugin Repo → https://github.com/oleeskild/obsidian-digital-garden
-
DG Appearance Settings → https://dg-docs.ole.dev/getting-started/04-appearance-settings
-
DG Note Settings → https://dg-docs.ole.dev/getting-started/03-note-settings
-
Template Overrides → https://dg-docs.ole.dev/advanced/adding-custom-components
-
Filetree Modification Example → https://freezing.cool/notes/toc-of-digital-garden-modification
-
Community Discussions & Issues (Reddit, forums, YouTube tutorials)
🌈 Closing Thought
This wasn’t just a fix — it was a clarity project.
I rebuilt a system so it reflects my intentions, not its defaults.
And now I can share the path so others don’t have to fight the same fight.
This is exactly what learning in public looks like.
Tags: #digital-garden #obsidian #vercel #troubleshooting #learning-in-public #systems-thinking