https://github.com/sheldonhull/digital-garden
My digital garden for sheldonhull.com
https://github.com/sheldonhull/digital-garden
digital-garden mkdocs-material
Last synced: 5 months ago
JSON representation
My digital garden for sheldonhull.com
- Host: GitHub
- URL: https://github.com/sheldonhull/digital-garden
- Owner: sheldonhull
- Created: 2023-03-04T22:37:20.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-12-17T04:39:01.000Z (6 months ago)
- Last Synced: 2025-12-20T18:16:49.143Z (6 months ago)
- Topics: digital-garden, mkdocs-material
- Language: JavaScript
- Homepage: https://docs.sheldonhull.com/
- Size: 45 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Digital Garden

An experiment on moving my "digital garden" content from hugo to mkdocs.
While my primary blog is still on hugo, the effort to maintain a personal knowledge base on it is too high.
Instead, I'm trying out mkdocs which I've used in the past for several projects and will see how if it reduces the friction to write.
## Dagger
- build: `dagger call mkdocs-build --dir ${PWD} export --path .artifacts`
- server: `dagger call mkdocs-service --dir . up --ports 8000:8000`
## Devcontainer
- Open in devcontainer or codespaces.
- Open `zsh-login` terminal, not bash, to ensure all the environment paths are set.
- Run `direnv allow` to load default environment variables.
- Run `mage init` to setup anything missing.
> If anything like Go/Mage are missing, run `aqua install --tags first && aqua install` to automatically fix that.
## Mage Commands
Get going by running `mage job:up` to run the docker pull, build, and run the local serve command.
It will ouput the url, which defaults to [locahost](http://localhost:3001)
```text
Targets:
docker:build 🔨 Run docker build.
docker:pull pulls the squidfunk/mkdocs-material:latest Docker image
docker:stop 🛑 Stop the mkdocs dockerized container.
init ✔️ Init sets up the local tooling for writing and building.
job:up can get everything running from scratch and server locally.
mkdocs:build Run mkdocs commands contained in docker
mkdocs:ghDeploy Run mkdocs commands contained in docker
mkdocs:serve 🌐 Run mkdocs serve via Docker.
trunk:init ⚙️ Init installs trunk and ensures the plugins are setup.
trunk:install ⚙️ InstallTrunk installs trunk.io tooling if it isn't already found.
trunk:installPlugins ⚙️ InstallPlugins ensures the required runtimes are installed.
trunk:upgrade ⚙️ Upgrade upgrades trunk using itself and also the plugins.
```
## Why
- I want simple markdown.
- Ability to iterate quickly on small notes.
- No third part build required so I can be more picky on my publishing triggers (such as netlify which is great, but too busy).
- No need to manage directory structure and navigation/TOC builds.
- Potentionally replacing [docs](https://www.sheldonhull/docs?ref=digital-garden-repo).
## Remaining
- [ ] Backlinks possible?
- [ ] RSS for updates to mailbrew
- [ ] Gist styling isn't taking what I did on my personal blog, what does this need to render correctly?
- [ ] Search optimization with Algolia or leave it as is?
- [ ] Flat urls even though organized with hiearchy?