This document outlines the architecture and configuration for publishing single Obsidian notes to your custom domain.
1. Repository Setup
- Go to the official template:
github.com/oleeskild/digitalgarden. - Click Use this template > Create a new repository.
- Name it
obsidian-gardenand set it to Private. - Go to GitHub Settings > Developer settings > Personal access tokens > Tokens (classic).
- Generate a new token named "Obsidian DG".
- Set expiration to No expiration.
- Check the repo scope box.
- Generate and copy the token string immediately.
2. Netlify Deployment
- Log into Netlify.
- Click Add new site > Import an existing project.
- Authorize GitHub and select the
obsidian-gardenrepository. - Verify build settings:
- Build command:
npm run build - Publish directory:
dist
- Build command:
- Click Deploy site. Copy the generated
.netlify.appURL.
3. Domain Mapping (Porkbun)
- Log into Porkbun and open DNS Management for your domain.
- Add a new record:
- Type: CNAME
- Host:
public - Answer: Your
.netlify.appURL.
- Return to Netlify > Domain management > Add a domain.
- Enter
public.jeffpatt.comand verify. - Netlify will provision the SSL certificate automatically once DNS propagation finishes.
4. Obsidian Configuration
- Install and enable the Digital Garden community plugin in Obsidian.
- Open the plugin settings and configure the following:
- GitHub username: Your GitHub handle.
- GitHub repo name:
obsidian-garden. - GitHub token: Paste the classic token generated in step 1.
- Base URL:
https://public.jeffpatt.com.
5. Publishing Workflow
- Add the following frontmatter to the top of any note you want to publish:
YAML
---
dg-publish: true
dg-permalink: "your-custom-slug"
---
- To set a specific note as the root directory (
/), adddg-home: trueto the frontmatter. - Use the Obsidian command palette and run Digital Garden: Publish Single Note (or click the ribbon icon).
- Netlify will automatically detect the push and rebuild the site. Changes appear in 1–2 minutes.
6. Local Development and Styling
- Clone your private
obsidian-gardenrepository to your local machine. - Run
npm installin your terminal to download dependencies. - Run
git pullto fetch any notes previously published from Obsidian to GitHub. - Run
npm run startto launch the local development server. - View the site at
localhost:8080/your-custom-slug/or the root if you published a home note. - Edit SCSS files in
src/site/styles/user/to apply custom styling without breaking template updates. Commit and push these changes to deploy the design.
Would you like the specific file paths to modify the underlying Eleventy HTML layout structure next?