Reading experience
- Dark / light mode — toggle in the masthead; respects system preference on first visit; preference saved to
localStorage - Reading progress bar — fixed at the top of article and library pages; stops at the end of the body text
- Focus mode — hides the site masthead for distraction-free reading; persisted in
localStorage; available on articles and library texts - Reading settings — font size slider (14–24 px) and typeface choice (Serif / Sans / OpenDyslexic); preferences saved to
localStorage - Read aloud — Web Speech API text-to-speech with play/pause/stop, speed presets (0.75×–2×), and voice selector
- Table of contents — auto-generated from h2/h3 headings on article pages with scroll-spy highlighting; floating within-chapter TOC on library pages (≥1200 px screens)
- Heading anchor links — link icon appears on hover for every h2/h3 for deep-linking to any section
- Back to top button — appears after scrolling 400 px on articles and library reading pages
- Reading percentage — shows how far through the current text you are; visible on articles and library reading pages
- Reading time — calculated from word count at build time; shown on every article card, article page, and library reading page
- Word count — displayed next to reading time on articles and library reading pages
- Pullquote sharing — select any text in an article body; a share button appears; shares via Web Share API or copies to clipboard
- Text selection colour — pansy purple, consistent with the publication's identity
Article actions
- Save to reading list — bookmark any article in the browser; no account required; accessible at /reading-list/
- Share — share panel with X/Twitter, Facebook, LinkedIn, Reddit, Bluesky, Mastodon, copy link, and email
- Download — export article as plain text (.txt) or Markdown (.md)
- Print — print-optimised CSS suppresses all chrome and renders clean text; works for PDF saving
- Cite — citation modal with APA, MLA, and Chicago formats; one-click copy for each
- Annotation footnotes — inline tooltip footnotes via shortcode; no jump to the bottom of the page
Public Domain Library
- Library homepage at /library/ — featured works grid and full catalogue with subject and era filters
- Work landing pages — introduction, chapter list, reading progress indicators, and Continue Reading detection
- Chapter reader — all eight article reader tools available on library reading pages; word count, reading time, back-to-top, and reading percentage also included
- Reading panel — slide-out panel with Contents (chapter list), Bookmarks, and Notes tabs
- Annotation toolbar — highlight and annotate selected text; highlights and notes persist in
localStorage - Reading position — scroll position saved per chapter to
localStorage; restored on return (30-day expiry) - Chapter completion — chapters marked complete at 88% scroll; progress visible on the work landing page
- Bookmarks — bookmark any scroll position within a chapter; listed in the reading panel
- Floating within-chapter TOC — auto-populated from headings with scroll-spy; visible at ≥1200 px
- Browse by Subject at /library/subjects/ — tag cloud and per-subject work listings
- Browse by Author at /library/authors/ — author biographies and collected works
Navigation & discovery
- Full-site search via Pagefind — built at deploy time, no backend; section filter bar included
- Section navigation — dropdown menus per section showing recent articles; Library, Projects, and Games have curated dropdowns
- Mobile nav drawer — full site navigation in a slide-out drawer with primary sections and secondary links
- Surprise Me — button in the masthead that redirects to a random article
- Reading time filter — filter articles by All / Short reads (<5 min) / Long reads (>15 min) on section pages
- Related articles — ranked by shared tags with section fallback; shown at the bottom of every article
- Backlinks — each article shows other articles on the site that link to it, discovered at build time
- Tags / topics index at /topics/
- Archives at /archives/ — articles indexed by date
- Editions at /editions/ — articles grouped into numbered editions; edition pages are printable with a full article text section included after the contents listing
Publishing & editorial
- Corrections log — articles carry corrections in front matter; aggregate view at /corrections/
- Suggest a correction — mailto link on every article
- Article series — numbered parts with previous/next navigation
- Inter-article response system —
responseTofront matter links articles with banners shown on both - Argument map — structured Claim → Evidence → Conclusion box for opinion pieces
- Dates link to archives — every date on articles and cards links to the corresponding archive anchor
- Contributors index at /contributors/ — bio cards and article links
- Per-author pages — bio and article history for each contributor
- Per-author RSS feeds at
/feeds/[author-slug].xmlwith link autodiscovery - Document library at /documents/ — primary source library for FOIA responses and public records
- Changelog at /changelog/ — public record of site changes
Newsletter
- Newsletter page at /newsletter/ — signup form, what to expect, past issues link, alternative follow options
- Buttondown integration — subscribe forms embedded across the site (inline, sidebar, footer variants); no backend required
- Confirmation redirect at /newsletter/confirmed/ — shown after clicking the confirmation link in Buttondown's double opt-in email
- Welcome redirect at /newsletter/welcome/ — shown immediately after form submission
- No open or click tracking — Buttondown's open and click tracking are disabled; links include a UTM tag for aggregate site analytics only
Infrastructure & performance
- Progressive Web App — web manifest, cache-first service worker, offline fallback at
/offline.html - XML sitemap at /sitemap.xml — all articles, library pages, and key static pages with
lastmoddates - Google News sitemap at
/news-sitemap.xml—news:newsnamespace with publication, language, date, and title - RSS feed at /feed.xml covering all sections
- Per-author RSS feeds at
/feeds/[author-slug].xml - robots.txt — allows all crawlers including Googlebot-News; declares both sitemaps
- JSON-LD structured data — NewsArticle on article pages; Book and Chapter on library pages
- Open Graph social card images — auto-generated per article at build time
- Print CSS — suppresses nav, sidebar, and all non-essential chrome across article and edition pages
- Bunny Fonts — privacy-friendly font CDN; no IP logging, no cookies, no tracking
- Hosted on Cloudflare Pages
Analytics & privacy
- Umami analytics — privacy-first; no cookies, no personally identifiable information; public dashboard
- No first-party cookies — all reader preferences and state stored in
localStorage - No advertising networks or tracking pixels
- Privacy policy at /privacy/
Translation & accessibility
- GTranslate widget — nine languages (English, French, Italian, Spanish, German, Portuguese, Arabic, Chinese, Japanese); floating selector
- Skip-to-main link — first element in the page for keyboard and screen reader navigation
- OpenDyslexic font — available via the reading settings panel; loaded on demand
- ARIA labels on all icon-only buttons;
aria-expandedon all interactive toggles
Intellectual projects
- Freethought Glossary at /glossary/ — terms with etymology, key figures, related terms, and A–Z browse sidebar
- Thought Experiment Library at /thought-experiments/
- Freethinker's Bookshelf at /bookshelf/ — annotated reading list with category, difficulty, and best-for metadata
- Trials of Thought at /trials/ — landmark trials where ideas were the defendant; chronological from 399 BCE
- Games at /games/ — Fifteen Puzzle, Freethinking Trivia, Word Scramble, and a Crossy Road variant
Transparency
- Features page at /features/ — this page; complete inventory of site features
- Changelog at /changelog/ — public record of every site change
- Public analytics — live Umami dashboard readable by anyone
- Editorial handbook at /editorial/ — public standards covering accuracy, sourcing, corrections, AI use, and complaints
- Corrections log at /corrections/ — aggregate view of all published corrections
Last updated: 19 March 2026