Books is a personal book server. The design language is called
Reading Room — a serif-only interface that reads like the
interior of a well-printed book. One typeface throughout
(Newsreader), ink on aged paper, no rectangular chrome.
See specs/2026-04-10-reading-room.md
for the rationale.
typography
Newsreader by Production Type, used at every size and weight.
Display optical size for h1–h2 and folio; text optical size for
everything else. Italic and small-caps carry semantic load —
italic for editorial annotations, small-caps for field labels.
The Long Dark Tea-Time of the Soul
The Hitchhiker's Guide
So Long, and Thanks for All the Fish
Mostly Harmless
The Salmon of Doubt
field label · italic small caps
Body paragraph at 1.0625rem, leading 1.55. The type is
Newsreader Text, with italic for emphasis, the
odd inline link, and the occasional
code span set in JetBrains Mono — the only place
monospace is allowed, and only for literal strings the user must
copy verbatim.
Marginalia text — captions, page numbers, file sizes. Set in italic, smaller, in a faded ink colour.
colour
--paper
--paper-soft
--ink
--ink-soft
--margin
--stamp
The accent (stamp) is used only on hover, focus, and "active" markers. Everything else is ink on paper.
spacing
--s-1
--s-2
--s-3
--s-4
--s-5
--s-6
--s-7
--s-8
elements
Links and lists
An inline link in a paragraph. Hover to see the
underline thicken and the colour switch to the stamp red.
An unordered item that runs on long enough to wrap to a second line, just to verify the indent is right and the leading still feels comfortable when a body item breaks.
A second item, shorter.
A third.
Ordered item one.
Ordered item two.
Blockquote
"I may not have gone where I intended to go, but I think I have ended up where I needed to be." A short pulled quote, set in italic with a faint left rule.
Inline and block code
The address you paste into your Kobo is a literal URL like
https://books.fismen.no/api/kobo/abc123… — that's
why monospace is allowed in this one specific place.
Inputs are bottom-bordered only — no boxes, no rounded corners,
no fill. The cursor enters the page as if it were body text. The
bottom rule turns stamp when focused.
components
Site header
A thin strip at the top of every site page. Three italic
nav links on the left — shelf, library,
errata — and an + upload action on the
right. No background, no wordmark, no hamburger. Just the
words, a paper-soft rule underneath, and breathing room
before the page content starts.
The active nav link is inked (not soft) and carries a thin
stamp rule directly under the word; hover is stamp colour
without the rule. The upload action matches the nav-link
voice — italic, ink-soft, hover stamp — but never carries
the is-current state because it's an action,
not a destination. Clicking it opens a native file picker
(no dialog, no dropzone) and the chosen .epub
runs through the same importer pipeline that watches the
inbox directory.
Supersedes the earlier "there is no header, just a
dropdown in the corner" decision. The design system's
.page-nav is now only used by the prototype
pages for their own chrome.
Destructive actions are two-click, not modal. The button
starts as an ink-soft "delete book" link. One click arms it:
the word turns stamp-coloured and gains a "really?" prefix
for 5 seconds. A second click confirms. Otherwise it quietly
reverts. The book row stays in the database (so Kobo-side
removals still find the entitlement ID), but the epub and
cover files are moved out of the library tree to an
archived-books/ directory, making the deletion
reversible by moving the file back.
Book detail (cover · marginalia · drop-cap description)
The Long Dark Tea-Time of the Soul
Douglas Adams
series
Dirk Gently, №2
language
English
added
3 days ago
size
312 KB
A holistic detective novel in which Dirk Gently must contend
with the consequences of a refrigerator left to its own
devices, a god of thunder who has run out of options, and a
check-in desk at Heathrow Terminal Two. Set in a London where
the trains do not entirely run on time, and the gods do not
entirely keep their promises. Edit →
Device entry
Kobo Clara HD
https://books.fismen.no/api/kobo/zE7nQ4tK9pL2wX5vR8yU3oI6aS1dF0gH/created 2026-03-12last seen 4 minutes agorevoke
Kobo Sage
https://books.fismen.no/api/kobo/aB3cD6eF9gH2iJ5kL8mN1oP4qR7sT0uV/created 2026-01-01last seen yesterdayrevoke
A page in context
This is what a real page top looks like below the site header — content first, a single paper-soft rule between chrome and content, and no other boxes.