GitHub Pages Privacy Route Implementation Plan
GitHub Pages Privacy Route Implementation Plan
For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (
- [ ]) syntax for tracking.
Goal: Publish the canonical bilingual privacy policy at https://zomvs.github.io/godsay/privacy/.
Architecture: Jekyll processes the existing root PRIVACY.md using a fixed permalink and the supported Minima theme. A Node static test protects the route, theme configuration, and README review link.
Tech Stack: GitHub Pages, Jekyll front matter, YAML, Node.js test runner.
Task 1: Define the Pages Contract With a Failing Test
Files:
- Create:
tests/pages-static.test.js -
Test:
tests/pages-static.test.js - Step 1: Add static route tests
Create tests that assert PRIVACY.md starts with front matter containing layout: page and permalink: /privacy/, _config.yml exists and contains theme: minima, and README.md links to https://zomvs.github.io/godsay/privacy/.
- Step 2: Run the test and verify RED
Run: node --test tests/pages-static.test.js
Expected: assertion failures report the missing privacy front matter, _config.yml, and Pages URL.
Task 2: Configure the Canonical Privacy Page
Files:
- Modify:
PRIVACY.md - Create:
_config.yml -
Modify:
README.md - Step 1: Add privacy front matter
Prepend this block to PRIVACY.md:
---
layout: page
title: 神说(GodSay)隐私政策 / Privacy Policy
permalink: /privacy/
---
- Step 2: Add the supported Pages theme
Create _config.yml with:
title: 神说(GodSay)
description: Chrome extension privacy policy and project documentation
lang: zh-CN
theme: minima
- Step 3: Update the README review link
Use https://zomvs.github.io/godsay/privacy/ as the primary privacy-policy link and retain the GitHub PRIVACY.md link as the source document.
- Step 4: Run the focused and full tests
Run:
node --test tests/pages-static.test.js
npm test
Expected: the focused tests pass and the full suite reports 34 passing tests with zero failures.
- Step 5: Commit and push
Run:
git add PRIVACY.md README.md _config.yml tests/pages-static.test.js docs/superpowers
git diff --cached --check
git commit -m "docs: publish privacy policy on GitHub Pages"
git push origin main
Expected: origin/main contains the Pages route configuration.
Task 3: Verify the Public Deployment
Files:
-
No file changes.
-
Step 1: Poll the public route
Request https://zomvs.github.io/godsay/privacy/ for a bounded period while GitHub Pages rebuilds.
- Step 2: Validate the deployed policy
Require HTTP 200 and confirm the HTML contains GodSay, Limited Use, and chrome.storage.sync.
- Step 3: Verify Git parity and clean state
Run:
git fetch origin main
test "$(git rev-parse HEAD)" = "$(git rev-parse origin/main)"
test -z "$(git status --porcelain)"
Expected: local and remote commits match and the tracked working tree is clean.