Deploy the Free Public Registry to Cloudflare Pages
Target: https://skillregistry.thedigitalfuturist.com
This repo builds a static site from its Markdown files. Every page, wikilink and metadata field turns into HTML. The site also gets a client-side search ranked by stars. The Cloudflare Pages free plan covers it.
What Is in the Repo
| Path | Purpose |
|---|---|
00-setup/ to 04-public-skills-directory/ |
The registry content (Markdown, Obsidian-compatible) |
site/build_site.py |
Converts Markdown to HTML in public/, rewrites wikilinks, builds search.json |
site/template.html, site/assets/style.css |
Page layout, dark theme, gold links |
site/assets/logo.png |
Add your Digital Futurist logo here (PNG, about 72px tall). If the file is missing, the header shows text only |
site/_headers |
Security and cache headers for Cloudflare |
requirements.txt, .python-version |
Python build setup for Cloudflare |
Step 1 - Test Locally
pip install -r requirements.txt
python site/build_site.py
python -m http.server 8000 --directory public
Open http://localhost:8000 and check the home page, a role page and search.
Step 2 - Push to GitHub
git init
git add .
git commit -m "Skills and Prompt Registry v0.1.0"
git branch -M main
git remote add origin https://github.com/<your-account>/skill-registry.git
git push -u origin main
public/ is in .gitignore. Cloudflare builds it fresh on every push.
Step 3 - Create the Pages Project
- Open the Cloudflare dashboard and go to Workers & Pages. Select Create, then Pages, then Connect to Git.
- Select the
skill-registryrepository. - Use these build settings:
| Setting | Value |
|---|---|
| Framework preset | None |
| Build command | pip install -r requirements.txt && python site/build_site.py |
| Build output directory | public |
| Root directory | (leave empty) |
- Select Save and Deploy. The first build publishes the site at
https://<project>.pages.dev.
Cloudflare's v3 build image includes Python and pip. The .python-version file pins Python 3.12. You can override it with a PYTHON_VERSION environment variable.
Step 4 - Add the Custom Subdomain
- In the Pages project, open Custom domains and select Set up a domain.
- Enter
skillregistry.thedigitalfuturist.comand select Continue. - Point DNS at the site:
- If
thedigitalfuturist.comuses Cloudflare DNS: confirm, and Cloudflare creates the CNAME record for you. - If DNS is with another provider: create a CNAME record with nameskillregistryand target<project>.pages.dev. - Wait for the domain to show Active. SSL is issued automatically.
Order matters: add the domain in the Pages dashboard before you create the CNAME record. If you create the record first, the domain fails to resolve and shows a 522 error.
Step 5 - Updating the Registry
- Edit or add Markdown, then commit and push. Cloudflare rebuilds and redeploys automatically.
- Pull requests get their own preview URLs. Review a change there before merging.
- To refresh the public directory, re-run the collection scripts and commit the new
04-public-skills-directory/.
Optional: Deploy Without Git
pip install -r requirements.txt && python site/build_site.py
npx wrangler pages deploy public --project-name skill-registry
Keeping the Demo Public-Safe
- Publish only seed entries and the public directory. Keep internal team entries in a private repo or a separate Pages project behind Cloudflare Access.
- Public skills keep their original owners and link to their source repos and licenses. The registry lists them; it does not re-host their code.
