Skip to content

flschr/fischr.org

Repository files navigation

Recycled Words

A personal blog where the Git repository is the single source of truth. Posts, pages, images, build logic, and the custom in‑browser admin all live here as plain files — no database, no external CMS host.

The stack is intentionally small: plain MarkdownEleventy static build → Cloudflare Pages hosting, with GitHub Actions for post‑publish automations and a custom /admin/ editor that commits straight to Git.

How it works

GitHub repository ── single source of truth (Markdown, images, build logic, /admin/ app)
│
├─ /admin/        edit posts, pages & media in the browser → each save commits to the `drafts` branch
├─ Publish        applies the pending changes from `drafts` onto `main`
├─ GitHub Actions  build & deploy _site from `main` + run post‑publish automations (social, IndexNow, …)
└─ Cloudflare Pages  serves the deployed _site (uploaded via wrangler) + Pages Functions
  • main is exactly what is published. drafts is the shared working copy the admin reads and writes, so editing continues across devices (desktop and mobile).
  • Cloudflare Pages is only the static host plus a few Pages Functions (admin auth + GitHub API proxy). There is no host‑specific site logic.
  • Drafts (draft: true) and future‑dated posts are excluded from the built site.

Quick start

npm install      # install dependencies
npm start        # local dev server (http://localhost:8080)
npm run build    # production build into _site/
npm run lint     # lint the admin app (runs automatically in build)

The generated static site is written to _site/.

Documentation

Start here, then follow the topic you need — each page covers only its own area.

Page What it covers
docs/content.md Writing posts & pages: frontmatter, types, drafts, Markdown conventions, embeds
docs/media.md Images (captions, alt text, automatic optimization) and self‑hosted videos
docs/admin.md The custom /admin/ editor: the drafts‑branch model, publishing, mobile use, OAuth
docs/social.md Social posting to Mastodon & Bluesky — full social-config.json reference
docs/automations.md IndexNow, Web Archive, Webmentions, Backup Git, and the GitHub Actions CI build
docs/deployment.md Local development, GitHub setup, and Cloudflare Pages configuration
docs/architecture.md Folder structure, design decisions, trade‑offs, URL preservation, backup & migration

Source of truth

All human‑authored content stays accessible as plain files (blog/posts/*.md, blog/pages/*.md, blog/assets/). Opening the repository is enough to read, copy, migrate, or rebuild everything.

About

My personal Blog & Website

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors