wiki
A wiki for personal knowledge.
Edit notes in this repo. A private Quartz site is built from the same folders and hosted on Cloudflare Pages, behind Cloudflare Access (GitHub, your account only).
Tips
Use GitHub’s Web Editor (Better for Multiple Files/Folders)
- In your repository, press the period key (.) on your keyboard — this opens the github.dev web-based editor (VS Code-like interface).
- In the file tree on the left:
- Drag and drop files between folders.
- Right-click to create new folders.
- Rename or move as needed.
- Once done, click the Source Control icon (left sidebar), enter a commit message, and commit/push the changes.
The site rebuilds from main. Keep note folders at the repo root (health/, recipes/, and so on). Do not move them into site/.
View the private site
After Pages + Access are connected, open the *.pages.dev URL and sign in with GitHub. Only your GitHub user should be allowed in.
Keep this GitHub repository private. Login is Cloudflare Access, not a page in the repo.
Cloudflare Pages (first deploy)
You do this in the Cloudflare dashboard. The first deploy is public until Access is on — do not share the URL.
- Log in to the Cloudflare dashboard → Compute (Workers) → Workers & Pages → Create → Pages → Connect to Git.
- Select this repository (
nogicode46/wiki). - Build settings:
- Production branch:
main - Framework preset:
None - Build command:
npm run build - Build output directory:
site/public - Environment variable:
NODE_VERSION=22(also set by.node-version)
- Production branch:
Canonical links use Cloudflare’s CF_PAGES_URL when present.
4. Save and deploy. Confirm the wiki renders on *.pages.dev.
site/build.sh copies note folders into site/content, then runs Quartz. site/public is generated and not committed.
Cloudflare Access (GitHub, only you)
Pages’ built-in Access toggle only locks preview URLs. Production *.pages.dev needs a Zero Trust Access application.
- Zero Trust → Settings → Authentication → add GitHub as an identity provider.
- Zero Trust → Access → Applications → Add an application → Self-hosted.
- Public hostname: the project’s
*.pages.devdomain (not only the preview wildcard). - Policy: Allow, include your GitHub account only.
- In the Pages project: Settings → General → enable the Access policy for preview deployments as well.
- Open the production URL in a private window: you should hit Cloudflare’s GitHub login, then the wiki. Anyone else should be denied.
If a custom domain is added later, create a matching Access application for that hostname too. Until then, stay on *.pages.dev.