01What it is
A reader opens a post and gets one column of about seventy characters in a book face, the article's own contents standing in the gutter beside it, and its facts in the gutter on the other side. They pick one of six palettes, in light or dark, and their choice is remembered on their own device.
Nothing on the page is fetched from anybody else. The six typefaces are in the theme, there is no analytics, no avatar service and no font host, so a stranger on a weak signal is waiting for your words and nothing else.
Everything visual is generated from the blog engine's stylesheet, the same sheet the demo renders with: an extractor runs the engine's own emitters and a static check compares bytes, so the theme cannot quietly drift away from the product it came from. It is a classic theme. Settings live in the Customizer, in six panels that name what they do, and there is no Site Editor.
02Nothing of yours moves
This is the part that decides whether trying it is cheap, so it is worth being exact about. The theme adds no custom post type, no taxonomy, no database table and no shortcode. Switch away and every post is still a post, in the same place, with the same content.
What it does use is what WordPress already has. The rail in the left gutter is the site's own structure: its menu, its sticky posts under Featured, its categories, its archive and its tags. Featured is sticky posts because the platform already has "this one stays at the top", set per post in the editor. Put a widget in the rail and the widgets are the rail instead. Both are the rail.
The block editor is set up to show the article as a reader will see it: same face, same column width, same code styling. Eight patterns live in their own category and four styles sit on the image block, each of them reaching something the stylesheet already draws and the editor otherwise has no way to ask for.
03What it costs a reader
One long article on a local stack, gzipped as served, with no plugins running. The post's own pictures are not counted, because those are your content and not the theme.
| First visit | 152 KB | 146 KB with the source-code furniture switched off |
|---|---|---|
| Every visit after | 18 KB | only the HTML is fetched again |
| Fonts | 68.2 KB | four of the twenty-one faces that ship; a browser takes only the character ranges the page uses |
| CSS | 46.9 KB | 39.0 of it generated from the engine |
| JavaScript | 12.0 KB | the engine's own reader bundles, plus WordPress's 1.4 KB reply script |
| Third-party requests | 0 | no CDN, no font host, no tracker, no avatar service |
The blog engine serves about 100 KB for the same shape of article, and about 114 KB for the article this theme was measured against. So the theme costs roughly a third more, and the difference is WordPress's markup rather than the stylesheet. That is the honest number and it is the one that belongs next to the comparison page, which quotes the engine's own figure.
The plugins are yours, and so is their weight. These figures are the theme on a bare install. A page that also loads a slider, a consent banner and an analytics script is that page's cost, and no theme can give it back to you.
04What does not carry over
Four things the blog engine draws are not in this theme, and each is a decision with a reason rather than a queue of work.
- The pen. The highlighter, the pencil underline and the ballpoint ring are markup a WordPress author has no way to write, so the theme does not ship the sheets that style them.
- Syntax highlighting and footnotes. Same reason. The block editor cannot express them, and a theme that invented a syntax for them would be asking you to write for one theme.
- Series. WordPress has no series taxonomy, and inventing one in a theme would put content structure into the layer that is supposed to be about looks.
- Translations. The theme is translation-ready, 160 strings, and ships none. An RTL locale gets a mirrored stylesheet that WordPress links by itself, 3 KB gzipped, paid only by readers who are in one.
Made for one person writing long pieces on their own WordPress. Not made for a magazine front page, a shop, or a site whose design is its photographs.
05Put it on your site
Appearance, then Themes, then Add New, then Upload Theme, then Activate. The zip is one command from a checkout, and there is no build step: the repository is laid out the way WordPress wants it.
from a clone of the theme repository
git archive --format=zip --prefix=quire-ink/ -o quire-ink.zip HEAD:quire-ink
Then Appearance, then Customize, for the palette and the shape. Three controls carry most of the difference between two Quire Ink sites: density, corner radius and heading weight. Appearance, then Menus, puts a menu in the Rail menu location, which is the sidebar, or in Footer menu for a flat row above the credit.
It is in review for the WordPress theme directory, ticket 288845. Until that finishes, the zip above is the way to get it, and it is the same code either way.
06And when you want the engine
The theme gives you the reading page. What it cannot give you is the reason the reading page is cheap: one process, two SQLite files, no plugin system and nothing to patch on a schedule. That part is the blog engine, and moving to it is a smaller job than it sounds.
The importer reads a WordPress export and turns every post into Markdown, sweeping out shortcodes that meant nothing outside their old plugin. The old URL shapes get 301s written for you as the import runs, and every image still hosted on the old site is fetched into your own library straight after, batch by batch, with anything unfetchable named in a list. Clear that list before the old hosting lapses.
Or do not. WordPress has an answer for requirements this software will never have: a shop, memberships, several authors with different powers, a plugin that exists nowhere else. The comparison page says which, name by name, and ends with the cases where Quire Ink is the wrong answer. If you are staying, stay, and keep the reading page.