Skip to content

feat(words): GrapheneOS migration post + post infrastructure#9

Open
doyled-it wants to merge 4 commits into
mainfrom
feat/grapheneos-degoogle-post
Open

feat(words): GrapheneOS migration post + post infrastructure#9
doyled-it wants to merge 4 commits into
mainfrom
feat/grapheneos-degoogle-post

Conversation

@doyled-it

Copy link
Copy Markdown
Owner

Summary

  • First long-form post on the new site: a how-to guide for migrating a Pixel from stock Android + Google to GrapheneOS, with two paths (partial and full de-Google), an interactive decision tree, and a sticky migration checklist.
  • New shared infrastructure for any future long-form post: `post.njk` subtitle render, `words-post.css` cracktro-styled components (settings-path spans, numbered `.steps` lists, `.dgw-callout`, `.dgw-why` collapsibles, table wrappers), and `words-post.js` widget hydration plus auto table-wrapping for narrow viewports.
  • New mobile mini-tool dock: on viewports <=720px the floating tools (checklist, botty, buddy picker) consolidate into a 40x40 tile stack at bottom-right. Desktop keeps the original floating layouts.
  • Botty is now post-aware: `compile-bio.mjs` bundles every `src/words/` post into the bio payload, the worker system prompt documents the new section, and 10 new quips trigger on this post specifically and on the `/words/` collection generally.

Test plan

  • `npm run build:eleventy` succeeds locally and on Cloudflare.
  • `/words/grapheneos-degoogle/` renders end to end without literal markdown characters leaking into any `<ol class="steps">` or `
  • `.
  • TOC links jump to the right sections.
  • Decision tree responds to answer changes (switching no Pixel -> yes Pixel clears the hard-stop result and reveals Q2; changing earlier answers resets later ones).
  • Checklist toggle opens/closes the panel; checked state survives a reload (localStorage key `dgw-checklist-v2`).
  • Tables scroll horizontally inside their wrapper on narrow viewports without forcing the page to scroll.
  • Mobile (<=720px): three mini tiles render at bottom-right (checklist, botty full face, buddy). Tap each to open its panel; the checklist panel overlays a dimmed backdrop above botty/buddy.
  • Desktop (>720px): original floating tools render. Botty bottom-right sprite, buddy bottom-left picker, checklist toggle bottom-left at `left: 12px` above the buddy.
  • Botty chat can answer questions about the post content and link to the post URL (requires `npm run build:bio` to refresh the bundle).
  • Visiting `/words/grapheneos-degoogle/` triggers one of the post-specific quips at some point during the engagement loop.

post.njk now renders a subtitle below the title from frontmatter.
words-post.css supplies cracktro-styled inline components (settings-path
spans, numbered .steps lists, .dgw-callout, .dgw-why collapsibles,
table wrappers, decision-tree + checklist widget styling, post TOC).
words-post.js hydrates the interactive widgets, persists checklist
state to localStorage, and wraps every table in a scrollable container
so wide tables do not break narrow viewports.
A long-form how-to for moving a Pixel from stock Android + Google to
GrapheneOS, covering pre-wipe backup, the web installer flow,
post-flash hardening, sandboxed Google Play vs F-Droid vs Obtainium,
data restore (Signal, WhatsApp via adb push, Obsidian), DAVx5 for
contacts and calendar sync, the dual Vanadium + IronFox browser
setup, a Google-alternative reference table, a full de-Google fork
that replaces Gmail with Proton, common pitfalls, and an interactive
decision tree plus migration checklist.
base.njk loads a new dock.css sitewide. On viewports <=720px the dock
stack rendezvouses the previously sprawling floating tools (botty,
buddy-selector, post checklist) into three uniformly sized 40x40 tiles
at bottom-right: checklist on the bottom, full-face botty in the
middle, buddy picker on top. Desktop keeps the original floating
layouts (botty bottom-right sprite, buddy bottom-left picker, post
checklist as floating panel above the buddy).
compile-bio.mjs now reads every file in src/words/, parses YAML
frontmatter, and ships the title, subtitle, date, slug, url, and full
body in a words[] array on bio-bundle.json. The worker system prompt
documents the new section so botty can answer questions about post
content and link to the post URL. Ten new quips trigger on
/words/grapheneos-degoogle/ (specific) and any /words/ path
(generic).
@doyled-it doyled-it added enhancement New feature or request version:minor Trigger minor version bump on merge labels Jun 17, 2026
@doyled-it doyled-it self-assigned this Jun 17, 2026
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
doyled-it 9b99a64 Commit Preview URL

Branch Preview URL
Jun 17 2026, 11:42 PM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request version:minor Trigger minor version bump on merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant