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
  • Global display settings — masthead panel with 27 font choices (system serif, sans, mono, plus Bunny web fonts loaded on demand), font size, line spacing, word spacing, and unified theme selector (Auto / Light / Sepia / Cream / Dark); preferences saved to localStorage
  • Article reading settings — per-article panel with 27 fonts, line spacing, text width, word spacing, reading ruler, paragraph numbers, auto-scroll with speed control, and reset to defaults; also available on library pages
  • Reading ruler — customisable guide line: adjustable thickness (1–8 px), 7 colour choices, 4 styles (solid, dashed, dotted, glow); fixed position on mobile; hides during text selection
  • Read aloud — Web Speech API text-to-speech with play/pause/stop, speed presets (0.75×–2×), voice selector, and synced word highlighting (Chrome, Edge)
  • Glossary tooltips — glossary terms are automatically detected in article and library text and show their definition on hover via Tippy.js
  • 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
  • Listen time — estimated TTS duration (~1.3x read time); shown next to reading time on articles
  • 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
  • Reader toolbar — persistent bottom bar with Highlight, Note, Bookmark, and Share actions
  • Reader panel — slide-out panel with Contents (TOC), Highlights, Notes, Bookmarks, and Related tabs
  • Highlight & annotate — select text to highlight it in one of 6 colours (yellow, pink, blue, green, orange, purple) or add a rich-text note; highlights and notes persist in localStorage
  • Rich-text notes — WYSIWYG editor with formatting toolbar (bold, italic, lists, blockquotes, links); what you see is what gets saved
  • Reader panel — icon-only tabs (Contents, Highlights, Notes, Bookmarks, Related) with export (plain text, Markdown, JSON) and print buttons
  • Position bookmarks — save your scroll position from the reader toolbar; bookmark indicators appear in the left margin
  • Notes page at /notes/ — all highlights, notes, and bookmarks across the site with export and import (JSON) for cross-device sync
  • 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
  • Library reading settings — identical to article settings: 27 fonts, line spacing, text width, word spacing, background presets, reading ruler, paragraph numbers, auto-scroll
  • 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
  • More mega-dropdown — 5-column dropdown with links to every non-article section (Explore, Projects, Community, About, Reader Tools)
  • Mobile nav drawer — sentence-case links with visual hierarchy, icon toolbar pinned to bottom, language toggle inline
  • 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; accessible in the reader panel's Related tab
  • 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 — button in the article action bar linking to /corrections/report/
  • Article series — numbered parts with previous/next navigation
  • Inter-article response systemresponseTo front 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].xml with 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 lastmod dates
  • Google News sitemap at /news-sitemap.xmlnews:news namespace 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
  • Instant page — prefetches links on hover for near-instant navigation (self-hosted, ~3 KB)
  • SPA navigation — pages load without full page refresh; music and global state persist across navigation; article pages use full reload for reader tool compatibility
  • 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
  • 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); accessible from the global display settings panel
  • Voice search — microphone button in the search modal; speak to search with real-time transcription (Chrome, Edge, Safari)
  • Form dictation — "Dictate" button on tip line, letter, and feedback form textareas; speak to type with continuous recognition
  • Skip-to-main link — first element in the page for keyboard and screen reader navigation
  • ARIA labels on all icon-only buttons; aria-expanded on all interactive toggles; ARIA grid semantics on calendar
  • Keyboard navigation — arrow keys navigate the events calendar grid; Enter to view events; Escape closes panels

Contact forms

  • Contact Us at /contact/ — general inquiries with subject dropdown and card grid linking to all specialised forms
  • Submit a Piece at /submit/ — pitch form embedded in editorial guidelines with section dropdown
  • Report a Correction at /corrections/report/ — auto-fills article URL from referrer; anonymous submissions accepted
  • Submit an Event at /events/submit/ — date, location, type fields for calendar submissions
  • Submit a Tip at /tips/ — anonymous tip line with topic categories and voice dictation
  • Send Feedback at /feedback/ — bug reports, suggestions, accessibility issues, with auto-fill page URL
  • Write a Letter at /letters/submit/ — letters to the editor with city, background, and voice dictation
  • Submit a Quote at /quotes/submit/ — quote text, author, source, and context
  • Suggest a Timeline Entry at /timeline/submit/ — event title, year, era, description
  • Recommend a Book at /bookshelf/submit/ — title, author, category, why it belongs
  • Suggest a Public Domain Text at /library/submit/ — title, author, source link
  • Suggest a Glossary Term at /glossary/submit/ — term, definition, reason
  • Suggest a Trial at /trials/submit/ — trial name, year, defendant, charge
  • Suggest a Thought Experiment at /thought-experiments/submit/ — name, philosopher, description
  • All forms use Web3Forms with hCaptcha, honeypot spam protection, maxlength limits, aria-required attributes, and email fallback

Intellectual projects

  • Freethought Glossary at /glossary/ — 86 terms with A–Z sidebar navigation, real-time search, individual Pagefind-indexed pages, and Tippy.js hover tooltips on articles and library pages
  • Thought Experiment Library at /thought-experiments/
  • Freethinker's Bookshelf at /bookshelf/ — 21 annotated books with category, difficulty, and best-for metadata; timeline and showcase views
  • 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
  • Freethought Music at /music/ — curated YouTube playlists with a persistent background player that continues across page navigation; transport controls, volume, and track info in a bottom bar
  • Photo Gallery at /gallery/ — nature photography gallery with lightbox viewer, zoom in/out, download, and category/licence/source filters
  • Reviews at /reviews/ — book, film, podcast, and documentary reviews with star ratings, media type badges, and creator/year metadata

Transparency

  • Features page at /features/ — this page; complete inventory of site features
  • Changelog at /changelog/ — public record of every site change
  • Editorial handbook at /editorial/ — public standards covering accuracy, sourcing, corrections, AI use, and complaints
  • Corrections log at /corrections/ — aggregate view of all published corrections
  • Open source — the site's codebase is available as an open-source template; see /open-source/
  • How it's built at /stack/ — plain-language explanation of every tool and service
  • Site map at /site-map/ — visual directory of every page on the site
  • Terms of use at /terms/ — plain-language terms covering content, submissions, and data
  • Cookies policy at /cookies/ — zero first-party cookies; full disclosure of third-party cookies
  • Accessibility statement at /accessibility/ — WCAG 2.2 AA commitment with detailed feature documentation
  • Community guidelines at /community-guidelines/ — standards for comments and community participation
  • Hub pages — dedicated landing pages for Explore, Submit, Reader Tools, Transparency, and Legal

Quotes, media & resources

  • Quotes at /quotes/ — curated freethought quotes filterable by author, topic, and era, with save/share/copy
  • Daily quote bar — rotating quote in the masthead header, cycling every 10 seconds with fade transitions
  • Quotes Showcase at /quotes/showcase/ — full-screen screensaver-style display cycling through all quotes with crossfade transitions, auto-advance, shuffle, keyboard navigation, and pause/play
  • Video Library at /videos/ — curated lectures, debates, and documentaries with speaker and topic filters
  • Freethought Timeline at /timeline/ — 38 events spanning 2,500 years of freethought history in a vertical alternating timeline with era markers and scroll-reveal animation
  • Timeline Showcase at /timeline/showcase/ — full-screen screensaver cycling through all timeline events with auto-advance and keyboard navigation
  • Quotes Timeline at /quotes/timeline/ — quotes arranged chronologically with years extracted from source citations
  • Bookshelf Timeline at /bookshelf/timeline/ — the annotated bookshelf in chronological order
  • Trials Timeline at /trials/timeline/ — landmark trials from 399 BCE to 1989 in timeline format
  • Trials Showcase at /trials/showcase/ — full-screen screensaver cycling through trial events
  • Resources at /resources/ — hub page linking to 5 sub-pages: education, legal rights, personal support, media & tools, and on-this-site guide
  • Community at /community/ — national and international freethought groups, online communities, student organizations
  • Events calendar at /events/ — interactive calendar with month/week/day/list views, recurrence engine for weekly/monthly/annual events, dot-based month grid with hover tooltips, slide-in detail panel, sidebar (Next Up, This Month, Organizations), URL hash persistence, keyboard navigation, touch swipe, type and region filters
  • Contribute at /contribute/ — submission guidelines, style guide, and pitch instructions
  • RSS Reader at /reader/ — freethought publication feeds fetched at build time

Data management

  • Your Data at /your-data/ — explanation of what is stored and how to manage it
  • Export / Import — backup and restore all site data (reading list, notes, highlights, bookmarks, preferences, RSS feeds) via JSON
  • Per-page export — export notes for individual articles or library entries as plain text, Markdown, or JSON

Open source

  • Broadsheet template at github.com/jonajinga/broadsheet — the complete site architecture as a reusable open-source template (MIT license)
  • Pages CMS — browser-based content management via Pages CMS; configured in .pages.yml
  • Editorial Dashboard at /dashboard/ — content counts and status overview

Last updated: 2026