Reading

A dashboard, a library, and a viewer that tells the truth.

Readers open Lectern to read finished documents, exactly as they were published. This page walks through what a reader sees, and the few things a reader can change.

Illustration: a long reading room with rows of empty oak desks, tall arched windows, and one brass lamp lit at the nearest desk.
The dashboard

Three rows, and nothing else to wade through.

The dashboard is the first page a reader sees: documents the admins featured, the last ten you opened, and anything assigned to you to read. The whole catalog is one click away in the library.

Lectern's dashboard with a Featured row of three cards and a Recently opened row of cards, each with a document thumbnail, title, summary, tags, and date.Lectern's dashboard with a Featured row of three cards and a Recently opened row of cards, each with a document thumbnail, title, summary, tags, and date.
Featured, recently opened, and assigned reading. Enlarge to see the full screen.
Recently opened is yours to tidy
The list comes from your own reads. Remove a card from the card menu and it stays gone until you open that document again. Removing it hides it from your list only; the audit log still has the read.
Assigned reading
When an admin assigns you a document, it shows on the dashboard and as a banner on the document, with a Mark as read button. Marking it read is your own state, not an edit to the document.
The library

Browse by shelf, filter by subject.

A nested collection tree sits beside the cards, and on a phone it becomes a drawer. Subject filters come from the documents' own tags, with the count for each. Sort by recent, A to Z, or type. Filtering and paging run on the server, so a large library stays quick.

Lectern's Library page with the collection tree, subject filter chips, a count of documents, paging controls, and a grid of document cards with thumbnails.Lectern's Library page with the collection tree, subject filter chips, a count of documents, paging controls, and a grid of document cards with thumbnails.
The library: tree, subjects, and cards. Enlarge to see the full screen.
Lectern's Library with the menu open on a document card, offering Assign to readers and Feature on the dashboard.Lectern's Library with the menu open on a document card, offering Assign to readers and Feature on the dashboard.
Every card has one menu; this admin sees Assign and Feature. Enlarge to see the full screen.
The viewer

The document, as published.

HTML artifacts and PDFs are shown exactly as they were published. Markdown is rendered once into Lectern's document template, with highlighted code and Mermaid diagrams, and the page follows your light or dark theme.

The viewer is a sandboxed frame: scripts inside a document can run, but they cannot reach your session or the app around them. A version picker opens any earlier version, Copy link gives a stable /d/ address, and Download returns the original.

Lectern's document viewer showing a runbook with a table of four release gates, and buttons above it for HTML, Markdown, version, Ask, Copy link, and Download.Lectern's document viewer showing a runbook with a table of four release gates, and buttons above it for HTML, Markdown, version, Ask, Copy link, and Download.
A runbook in the viewer, with its table rendered. Enlarge to see the full screen.
What a reader can change

Nothing in a document. A little in your own state.

No reader can edit, upload, or annotate a document, and no reader endpoint changes content. The only writes on the reader side are the reader's own interaction state, and each one is named in a test that fails if another appears.

What a reader can and cannot change
Reader actionAllowedWhat it touches
Edit, upload, or annotate a documentNoNothing: there is no control and no endpoint.
Mark an assignment readYesYour own assignment row.
Remove a card from Recently openedYesYour own list; the audit log keeps the read.
Keep a conversation with the assistantYesYour own threads, invisible to every other reader.