Skip to content

chore: unify footer across pages; switch license to PolyForm-NC#4

Merged
skishchampi merged 6 commits into
mainfrom
feat/library-spend-report
May 12, 2026
Merged

chore: unify footer across pages; switch license to PolyForm-NC#4
skishchampi merged 6 commits into
mainfrom
feat/library-spend-report

Conversation

@skishchampi
Copy link
Copy Markdown
Contributor

Summary

Follow-up to PR #3. Three concerns landed together:

  • License switch. LICENSE swapped from GNU GPL v3 → PolyForm Noncommercial 1.0.0 (matches sansad-semantic-crawler; org-wide noncommercial-public-interest standard). README.md § License rewritten.

  • Unified footer. /, /data/, /inequality/, /spend/ now share the same footer structure: collapsible <details class="bib-collapse"> "Sources, data & citations" button, WIP stamp, and a colophon line: Last updated May 2026 · Code: PolyForm-NC 1.0 · Data: CC BY-NC-SA 4.0 · GitHub. The existing rich closing content (EDUCATE block + pamphlet meta) moves into a <section class="closing-section"> above the footer; the footer itself is now the same shape everywhere.

  • /spend/ polish. Goa Exception panel trimmed to three rows (Goa, average of state averages, per Indian); sub-text broken across two lines per row and sized up. Right-aligned ₹ values no longer overlap sub-labels. Methods section sources rewritten in Chicago bibliographic format with explicit credit to: Kulkarni-Balaji-Dhanamjaya (2025), MoHFW Technical Group on Population Projections (chaired by K. S. James, 2020), Open Budgets India (CivicDataLab + CBGA), and Labour Bureau CPI-IW. A new "Builds on" credit block sits between the hero and Section 1 — earnest acknowledgement up front.

Cache-bust v=40v=43.

Test plan

  • All four pages render with the same footer shape (Sources collapse button, WIP stamp, colophon line)
  • WIP stamp is on a single line at desktop widths (wraps only below 720px)
  • GitHub octicon link is small (1em, inherits colour) — not the 300px default
  • LICENSE file is PolyForm-NC text
  • /spend/ Goa Exception panel reads in three rows; ₹ values don't overlap sub-labels
  • /spend/ "Builds on" block is visible immediately below the hero
  • No console errors on any page

LICENSE, README:
- LICENSE swapped GNU GPL v3 → PolyForm Noncommercial 1.0.0 (org
  noncommercial-public-interest standard, matching sansad-semantic-crawler)
- README "## License" section rewritten

Unified footer on /, /data/, /inequality/, /spend/:
- <section class="closing-section"> wraps EDUCATE block + pamphlet meta
  (the existing rich closing content stays where it was, only the wrapper
  class renames)
- <footer class="page-footer"> is identical across the four pages:
    - <details class="bib-collapse"> with "Sources, data & citations"
      summary button; page-specific bibliography inside (click to expand)
    - .wip-notice stamp on every page
    - .colophon-line: Last updated May 2026 · Code: PolyForm-NC 1.0 ·
      Data: CC BY-NC-SA 4.0 · GitHub (octicon)

assets/styles.css:
- .page-footer rules: typography, bib-list/bib-notes inside the collapse,
  summary button styling with +/− indicator, colophon-line, github-link
  inline-flex with octicon at 1em
- .wip-notice: red-dashed stamp; white-space: nowrap so the disclaimer
  stays on one line on desktop; relaxed to normal on viewports < 720px
- .footer / .closing-section selectors merged so the EDUCATE H2/H3
  sizing applies in both contexts
- Page colophon strip replaces the standalone .page-colophon

scripts/build_spend_page.py + spend/index.html:
- Goa Exception panel trimmed to 3 rows (Goa, average of state averages,
  per Indian); sub-text split onto two lines per row; canvas widened
  to 720x428, headline 36px, ₹ values 50px
- Right-aligned ₹ values in fixed column; values no longer overlap
  sub-labels
- Renamed Methods sub-blocks to a Chicago-format numbered Sources list
  citing Kulkarni-Balaji-Dhanamjaya 2025, MoHFW Technical Group 2020,
  Open Budgets India (CivicDataLab + CBGA), and CPI-IW (Labour Bureau)
- New "Builds on" credit block between hero and Section 1 — earnest
  acknowledgement of the three pieces of work this analysis depends on
- Footer line: WIP stamp on its own line, colophon line on its own line
  (was wrapping mid-line)
- GitHub repo link uses the academiaindia/whoseuniversity.org octicon
  pattern (inline-flex, 1em octicon, inherits text colour)

Cache-bust v=40 → v=43 across index.html, data/index.html, inequality/index.html.
@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

SECURITY.md:
- Tailored to a static GitHub Pages site (no backend, no scraper, no
  user data). Covers XSS, CDN-integrity, data accuracy, licensing.
- Reporting channels: GitHub Issues for non-sensitive; GitHub private
  vulnerability reporting / direct email for sensitive.

.github/workflows/checks.yml — runs on PRs and main pushes:
- `link checker` (lychee) over the four live pages + top-level docs.
- `html validation` (html-validate@9) over the four live HTML files.
- Concurrency group so superseded runs cancel automatically.

.github/dependabot.yml:
- Monthly bumps for GitHub Actions workflow versions (no runtime deps
  to track; site is hand-authored static HTML/CSS/JS).

Branch protection on `main` configured separately via `gh api`:
- PRs required, zero approvals (self-merge allowed for solo maintainer)
- link-checker + html-validation must pass before merge
- linear history (squash or rebase only)
- force-push blocked, branch deletion blocked
- conversations must be resolved
.htmlvalidate.json:
- Disable void-style rule (site uses XHTML-style self-closing <meta />
  and <link />; both forms are valid HTML5 — the choice is stylistic
  and the existing convention stays)
- Disable other rules that fire on advocacy-grade pamphlet content
  rather than substantive HTML problems: no-inline-style, long-title,
  no-raw-characters, etc.

lychee.toml:
- base = "." so root-relative hrefs (/data/, /spend/, /#write) resolve
  against the repo root the same way GitHub Pages serves them.
- Accept 200/206/403/429 (academic + bot-blocked sources sometimes 403)
- Exclude pgportal.gov.in (India govt SSL chain not trusted by Linux
  CI runners; site is reachable from end-user browsers) and
  polyformproject.org (intermittent 404s on the trailing-slash licence
  URL we cite — text is canonical and stable elsewhere)

.github/workflows/checks.yml: link-checker step now reads from
lychee.toml instead of inline args.
.htmlvalidate.json:
- Disable rules that fire on pre-existing markup the site has chosen
  to accept: prefer-native-element (role-based grids), element-
  permitted-content (legacy button > div), unrecognized-char-ref
  (Q&A text), aria-label-misuse, no-redundant-aria-label.
- These were not introduced by this PR; cleaning them up is a
  separate follow-up. The void-style + raw-characters disables from
  the previous commit stay.

lychee.toml:
- accept now uses string ranges ("200..=299") — TOML parser failed on
  bare-integer array.
- root_dir = "/github/workspace" so root-relative hrefs (/data/,
  /spend/) resolve against the runner's checked-out repo.
- Add jsdelivr.net and fonts.gstatic.com to excludes — CDN endpoints
  block unauthenticated GETs from CI IP ranges.
@skishchampi skishchampi merged commit 25cb5b7 into main May 12, 2026
2 checks passed
@skishchampi skishchampi deleted the feat/library-spend-report branch May 12, 2026 08:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant