Everything the archive can do · User Guide
A walkthrough of every feature on the site — reading, browsing, search, highlights, notes, bookmarks, citations, exports, feeds, and the researcher and classroom paths. Skim the table of contents to jump to what you need; everything below is self-contained.
Chapter I
Orientation
A complete digital edition of the four-volume Conway Edition (1900–1902) plus the editorial apparatus around it. Free, ad-free, account-free, and works without JavaScript except for the reader-only enhancements.
§ 1
What this site is
Filthy Little Atheist is a complete digital edition of The Works of Thomas Paine plus a year-by-year timeline, the people in his circle, a curated bibliography, lesson plans, and a researcher's portal.
Three things to know before diving in:
- Nothing leaves your browser. Notes, highlights, bookmarks, your reading log — all stored in your own
localStorage. There is no server-side database; there is no account to make. - Every work is public domain. Read it, copy it, quote it, repost it. See /license/ for the (very permissive) details.
- The reader is the runtime. Search, citation generation, exports, even the daily-drip rotator all run client-side. Cloudflare Pages just serves static HTML; everything else happens in your browser.
Chapter II
Reading a work
Every entry in the corpus lives at /works/<slug>/. The reading view is a single column of EB Garamond text, 18 px body, ~68 characters per line. Headings are numbered; paragraphs carry stable IDs you can link to.
§ 2
The reader toolbar
A small dark toolbar pins to the bottom of every work page. From left to right.
- Reader panel (lines icon) — opens the side panel with table of contents, your highlights for this work, your notes, and your bookmarks.
- Highlight (when text is selected) — wraps your selection in a yellow highlight, persisted in
localStorage. - Add note (when text is selected) — opens a note editor scoped to your selection.
- Bookmark this spot — saves the current scroll position so the reader can return to it.
- Save to reading list — adds the work to your saved readings.
- Share & export — opens the share modal: ten social targets, citation generator, five export formats.
- Reading-progress readout + back-to-top button move into the toolbar on work pages so all reader controls cluster in one place.
§ 3
Reader settings panel
Open the gear icon in the reader panel (or the masthead on non-work pages) for a settings drawer. Everything here persists locally.
- Theme. Light / dark / sepia / system. The site honours
prefers-color-schemeby default and the manual toggle overrides per session. - Typeface. Default (EB Garamond), Lora, Merriweather, Roboto, Open Sans, Libre Baskerville, Crimson Pro, IBM Plex Serif, Literata, Atkinson Hyperlegible (a typeface designed for low-vision readers), Playfair Display.
- Line spacing. Tight / normal / relaxed. The relaxed setting passes the WCAG 1.4.12 line-spacing guideline by default.
- Word spacing. Normal / wide / wider — useful for dyslexia-supportive reading.
- Background tint. The default is the cream paper color; alternatives include sepia and high-contrast.
- Article tools. Show paragraph numbers (handy for citing), show a reading ruler that follows the cursor, autoscroll at adjustable speed (for hands-free dictation or screen-reader pacing).
- Reset. Clears every reader setting back to default in one click.
§ 4
Paragraph + page anchors
Every paragraph has an ID (#p3, #p4, etc.) emitted in the source HTML. Right-click any paragraph (or the heading above it) to copy a link straight to that paragraph. The citation generator can also build a citation anchored to the current paragraph or — when the work has Dresden page-number markers — to the printed page.
Stable identifier scheme: every work also carries a conway:vol-N:slug identifier (e.g. conway:vol-3:about-the-holy-bible) emitted in JSON-LD, the OAI-PMH record, and the BibTeX export. URLs survive renames; identifiers survive both renames and host changes.
§ 5
Glossary tooltips
Period terms that a modern reader might not recognize (Talmage, Bismarck, abolitionist, lyceum, free-soil, etc.) are wrapped in dotted-underline .gloss spans. Hover or tap the term for a one-paragraph definition; click through for the full glossary entry. On mobile the tooltips fire on tap and dismiss on tap-elsewhere.
Optional: in the reader-settings panel, toggle "Glossary on every occurrence" — by default the tooltip wires to the first appearance of each term per work; the setting expands it to every appearance.
§ 6
Audio (when available)
Some works ship with a click-to-load LibriVox dramatic reading at the top of the article. Audio is not auto-loaded; it only fetches if you press play. Speed is adjustable (0.75× / 1× / 1.25× / 1.5×). Where transcript-synced audio is available, paragraph IDs double as chapter markers — clicking ahead in the transcript scrubs the audio and vice versa.
Chapter III
Highlights, notes, bookmarks
A personal layer scoped to your browser. Nothing syncs anywhere; nothing leaves your device.
§ 7
The highlight flow
- Select any text in a work (click + drag, or double-click for a single word, or triple-click for a paragraph).
- The reader toolbar's highlight button activates. Click it.
- The selection wraps in a yellow
<mark>persisted tolocalStorageunder the keyannotations.<slug>. - Subsequent visits to the same work reload your highlights automatically.
Highlights are always yellow (the color-picker was retired because it was unreliable on mobile). To remove a highlight, click it once and choose Delete from the inline menu.
§ 8
Adding a note
The flow is the same as highlighting, but use the add note button instead. A modal opens with the selected passage as a quotation header; type your note in the textarea below and save. The selection is highlighted with a slightly different visual treatment (yellow + tiny note marker) and the full note appears in the reader-panel Notes tab and on /notes/.
§ 9
Bookmarks
The bookmark button in the reader toolbar saves the current scroll position. The bookmark stores a percentage offset and the nearest paragraph ID, so even if the page reflows after a font-size change the marker still lands close to where you left off. View your bookmarks in the reader panel's Bookmarks tab; click any bookmark to scroll there.
§ 10
Browsing your notes
Visit /notes/ for a single page that lists every highlight + note across every work, sorted by recency. Filter by work, search by note text, or open the source paragraph in one click. The page reads from localStorage only — closing this tab and opening another browser shows a different, empty list, because the notes never left your device.
§ 11
Exporting your notes
From the reader panel's Notes tab on any work page, three buttons download your annotations.
- TXT — plain-text dump of every quote + note + heading reference for the current work.
- JSON — full structured payload (timestamps, paragraph IDs, note text, highlight color, work slug).
- Markdown — formatted dump suitable for pasting into Obsidian, Notion, or any Markdown reader.
The print button opens a printable view styled like a study handout: each highlight on its own line with the note beneath, headed by the work's full citation.
§ 12
Saved readings + reading calendar
Click the bookmark-with-arrow icon in the reader toolbar to save a work to your reading list. The list lives at /saved-readings/ and is stored locally. Each entry shows the work title, volume, year, estimated reading time, and a one-click "open" link.
The site also keeps a private reading log — a record of which works you opened on which days. Powering the log:
- /reading-calendar/ — a GitHub-contribution-style heatmap showing how many works you opened each day for the last year.
- Continue reading rail on the homepage — the most recent work you opened, with a "pick up where you left off" button.
The log records slugs and timestamps only — never your scroll position, never the text of any note. Clear it from the reader-settings panel's reset button at any time.
Chapter IV
Search
Full-text search runs on Pagefind, a static index built at deploy time. There is no server, no API key, no logging — your search query never leaves your browser.
§ 13
The search popup
Press / from anywhere on the site (except inside an open text field) to open the search popup. It slides in from the top with the cursor focused on the input. Type a few characters and the dropdown shows the top matches across all works, posts, and reference pages, each highlighting the matched fragment in context.
- ↑ / ↓ to move through results.
- Enter to open the highlighted result.
- Esc to close.
§ 14
The search page + facets
For longer queries, visit /search/. Same index, same input, plus left-rail facets:
- Type — Work / Post / Reference page.
- Volume — limit to one of the twelve Conway volumes.
- Category — Lecture, Essay, Debate, Speech, Tribute, Legal Argument, Interview.
- Decade — narrow by 1860s / 1870s / 1880s / 1890s.
Voice input is supported on browsers that ship the Web Speech API (Chrome, Edge, Safari) — click the microphone icon and dictate. The audio never leaves your browser; the recognition runs locally.
Chapter V
Finding a work
Beyond search, the 177-work corpus has a dozen entry points so you can find what you want however you naturally think about it.
§ 15
By volume
The masthead nav bar has a column per volume (I–XII). Hover any volume for a mega-menu listing every work in that volume; click the volume name for a per-volume index page with the full table of contents and editorial framing.
§ 16
A–Z, concepts, topics
- /works/a-z/ — encyclopedia-style alphabetical, every work indexed by first significant word.
- /works/concepts/ — back-of-book concept index of 60+ recurring ideas, each linked to the works that develop it.
- /topics/ — eleven thematic buckets (Religion, Liberty, Politics, Family, Science, etc.) with per-topic pages.
§ 17
By year, decade, archive
- /works/by-year/ — vertical bar chart of the year-by-year output, click a bar to surface that year's works.
- /works/by-decade/ — coarser bucket grouping (1860s–1890s).
- /archives/ — the canonical year-by-year archive, including timeline cross-references.
§ 18
Longest, shortest, random
- /works/longest/ — sorted by word count, longest first. Useful when you want a long-form lecture.
- /works/shortest/ — quick entry points; the shortest pieces in the canon.
- /works/random/ — a server-side redirect that lands you on a random work each time you load it. Bookmark this for daily reading.
§ 19
Topic map + concept graph
- /works/topic-map/ — D3 force-directed graph of the 177 works tied to their topics. Drag nodes around; hover for the work title.
- /concept-graph/ — chord diagram showing how the eleven concept categories share works.
§ 20
Start here, spotlight, plans
Three editorial entry-points if you don't know where to begin.
- /start-here/ — five works in order, the editor's "if you read nothing else, read these."
- /works/featured/ — six landmark works with a short editorial introduction each.
- /reading-plans/ — themed itineraries (Religion, Liberty, Politics, etc.) with progress tracking.
Chapter VI
Biography & the circle
The man and the people around him. A year-by-year chronology, a daily anchor, a directory of contemporaries, and the published debates.
§ 21
Timeline + lecture map
/timeline/ is a year-by-year chronology of Paine's life from 1833 to 1899. Each entry carries a date, a title, a one-paragraph description, and (where applicable) a Place with latitude and longitude. The page renders a Leaflet map alongside the chronology — every dated event with coordinates plots on the map, click a pin to scroll the chronology entry into view, click a chronology entry to highlight the pin. Filter by category (Life, Lectures, Politics, Debates) using the chip strip above the map.
For the lecture-circuit specifically, see /lecture-tour/ — an extended map with hundreds of lecture stops from 1860 onward, linked to transcripts where extant.
§ 22
This day in his life
/this-day/ is a calendar of every dated event indexed by month and day, so you can see what Paine was doing on (say) August 11 — his birthday, but also the date he gave the Decoration Day oration in 1888. The home page surfaces the current day's anchor automatically; the page also exposes a JSON Feed at /api/this-day.json if you'd like to wire it into your own reader.
§ 23
Connections + influences
- /connections/ — twelve close contemporaries (Lincoln, Twain, Whitman, Edison, Carnegie, Susan B. Anthony, etc.) with the relationship explained, the works that bear on it, and a representative quote.
- /influences/ — Paine, Voltaire, Hume, Bruno, the lineage Paine claimed for himself.
§ 24
Debates + legacy
Chapter VII
Sharing, citing, exporting
Send a work elsewhere, cite it in a paper, take it offline. One modal, four formats, every URL permanent.
§ 26
The citation generator
From the share modal, choose Cite this work. A second native <dialog> opens with four tabs.
- APA 7th — Paine, R. G. (year). Title. In The Works of Thomas Paine (Vol. N). Conway Edition.
- MLA 9th — Paine, Thomas "Title." The Works of Thomas Paine, vol. N, Conway ed., year, URL.
- Chicago 17 — Paine, Thomas "Title." In The Works of Thomas Paine, vol. N, Conway ed. Year. URL.
- BibTeX — Ready-to-paste
@incollectionentry for LaTeX or Pandoc.
An anchor row above the tabs lets you cite the whole work, the paragraph closest to the top of your viewport (uses the live #p ID), or the printed Conway page (when page-number markers are present).
§ 27
Five export formats
- .txt — Plain text, footnotes inlined as bracketed asides. Universal source-of-truth fallback.
- .json — Structured payload: front-matter, paragraphs (with IDs), footnotes, citation metadata. Machine-readable.
- .bib — BibTeX, citable directly in LaTeX / Pandoc.
- .ris — Research Information Systems format for Zotero, EndNote, Mendeley.
- Print — Browser-rendered printable view with citation footer and footnotes at the end. No paragraph numbers; the printed page is a clean reading document.
Bulk: /api/works.json + /api/downloads.json describe every work in the corpus and every download URL — feed them to your tool of choice.
§ 28
Permanent links + Wayback
Every URL on this site is intended to be permanent. The slug → identifier map is frozen; works are never renamed; pages are corrected, not redirected. To make a citation extra-durable, append the URL to https://web.archive.org/save to trigger an immediate Wayback Machine snapshot. The site also auto-submits its own sitemap to the Wayback Machine via a GitHub Actions workflow — see /preservation/ for details.
Chapter VIII
Subscribing
Statically generated, edge-cached, polling-friendly. Plug the feeds into any reader.
§ 29
Feeds + daily drip
- /feed.xml — site-wide Atom feed (newest essays + announcements).
- /works/feed.xml — works-only Atom (newly-transcribed works).
- /this-day/feed.xml — Atom variant of the this-day feed.
- /api/this-day.json — JSON Feed 1.1 variant of the same.
For developers: every feed is statically generated and cached at the edge; polling from a feed reader puts essentially zero load on the origin.
Chapter IX
For specialists
Two doors into the corpus for working scholars and instructors.
§ 30
For researchers
/research/ is the canonical entry point. The features that make this site usable as a primary source.
- Stable identifiers. Every work has a
conway:vol-N:slugidentifier in JSON-LD, OAI-PMH, and BibTeX exports. - Wikidata / VIAF / LCNAF authority links on the Person (Paine) entity.
- Per-work revision history at
/works/<slug>/history/— every commit that touched the work, with date and editor. - OAI-PMH 2.0 endpoint at /api/oai-pmh/identify.xml — Identify, ListIdentifiers, ListRecords, GetRecord, ListMetadataFormats. Dublin Core. Suitable for DPLA / Internet Archive harvesters.
- Six JSON datasets at
/api/works.json,/api/downloads.json,/api/work-history.json,/api/concordance.json,/api/glossary.json,/api/this-day.json. - Bibliography of modern scholarship at /bibliography/ with
worksRelevantcross-references that surface as a "Further reading" aside on each cited work. - Manuscript Watch at /manuscripts/ — eleven institutions with documented physical Dresden + Paine papers holdings.
For the full data portal — every machine-readable surface in one human-readable list with example URLs and rate-limit notes — see /data/.
§ 31
For the classroom
/classroom/ collects teacher-facing materials: lesson plans, discussion questions, suggested readings by grade level (high school / undergraduate / graduate), and fair-use guidance for handouts. The Conway text is public domain; you can reproduce any passage in any classroom format without permission.
Pair the classroom page with the start-here reading list and the reading plans for ready-to-use unit structure. Every work links its own glossary terms (period vocabulary) so students can read primary-source 1880s prose without surrounding context becoming a barrier.
Chapter X
Accessibility & keyboard
The site targets WCAG 2.2 AA. Highlights from the keyboard-first perspective.
§ 32
Keyboard + a11y
- Tab walks every interactive element with a visible focus ring.
- / opens the search popup from anywhere outside a text field.
- Esc closes any open layer — slide-in nav, share modal, citation dialog, search popup, gallery lightbox, mega-menu, reader panel.
- The first focusable item on every page is a Skip to main content link.
- Body text is 18 px (inside the 16–20 px range every accessibility guideline recommends for long-form reading).
- Touch targets are ≥ 44 × 44 px; the size is enforced by a token (
--tap-target). - All animations respect
prefers-reduced-motion; nothing auto-plays. - The reader-settings panel includes Atkinson Hyperlegible, a typeface designed for low-vision readers, plus increased line- and word-spacing presets.
- JSON-LD
speakablehints point voice assistants at the actual prose, not the chrome.
For the full accessibility statement and reporting form, see /accessibility/.
Chapter XI
Privacy & your data
Every reader feature stores its data in your browser's localStorage. Nothing leaves your device.
§ 33
Your data
The full key list is documented at /privacy/. The highlights.
annotations.<slug>,bookmarks.<slug>— your highlights / notes / bookmarks per work.fla-saved-readings,fla-reading-log,fla-reading-resume— saved works, the reading-log heatmap data, and the continue-reading anchor.theme,fla-gs-*,fla-rs-*— display + reader-tool preferences.
To clear everything: open the reader-settings panel and press Reset, or clear the site data from your browser's site-settings page. There is no undo because there is no copy on my end.
Chapter XII
Reporting errors & contributing
Corrections come back from readers, scholars, and students. Every one is welcome.
§ 34
How to contribute
- Transcription errors. Report via /contact/ or open a GitHub issue. Confirmed errors land in the public Git history and on the per-work
/works/<slug>/history/page. - Editorial commentary. Pitch an essay via /submit/ — long-form pieces only, signed and dated, in the editorial voice of /ethics/.
- New transcriptions. If you've transcribed a Conway volume passage that isn't yet on the site (uncommon — every volume is ingested), say so and I'll work the source into the corpus.
- Code. The site is open-source MIT (github.com/jonajinga/filthy-little-atheist). Pull requests are welcome.
Chapter XIII
Troubleshooting
When something breaks, the cause is usually one of a small handful of things.
§ 35
Common issues
- Highlights / notes don't persist. Your browser is in private / incognito mode (which clears
localStorageon close), or the site has been allowed but storage is full. Check the storage quota in your browser's site settings. - The share modal won't close. The modal has five close paths (X button, click-outside, Esc, the underlying form, an inline onclick). If somehow none of them work in your browser, refresh the page — no state is lost.
- Search returns no results. Pagefind requires JavaScript to load the index. Check that JS isn't blocked for
filthylittleatheist.com. - The font looks different on first paint. Bunny Fonts is loading; the system serif fallback renders first. Subsequent navigation is instant once the font cache warms.
- Dark mode flashes light at the start of a page load. Shouldn't happen — there's an inline no-flash script. If it does, file a bug at /contact/ with your browser + OS so I can reproduce.
- A page is missing or the URL changed. Slugs are frozen; a missing URL is a bug, not a redesign. Report at /contact/ and the redirect goes in within the day.
Anything missing from this guide? Tell me.