All themes

A theme for NetNewsWire

Calm

Install in NetNewsWire
Calm theme shown in NetNewsWire

Navigate long articles without distraction with an adaptive, scrubbable NetNewsWire reading map.

What's new in v1.4.1

Calm 1.4.1

Calm 1.4.1 is a fundamentals release. It fixes compact iPhone typography, preserves authored image colors, and makes the reading map more selective, efficient, and accessible without adding reader chrome.

Reading fixes

  • Corrected the compact cascade so the one-point type bump and 1.48 line height take effect without flattening NetNewsWire text-size preferences.
  • Removed light-mode mix-blend-mode: multiply from article images and SVGs.

Reading map

  • Hides the map for articles shorter than two viewport heights while continuing to watch for images or other late content that makes the article long enough.
  • Hardens the existing structured-map selection around a coherent heading hierarchy, filters duplicate and common utility headings, and caps the result at eight body destinations.
  • Throttles scroll work to animation frames and caches heading offsets until a real layout change occurs.
  • Refreshes geometry after resize, embedded-media load, or observed content growth.
  • Applies aria-current="location" to the active marker.
  • Cancels queued work and removes observers and listeners during compact Split View teardown, then reconstructs cleanly when space returns.

Markers remain evenly spaced in 1.4.1. Proportional placement should only ship after observation with real readers shows that it improves orientation.

Validation

The release adds WebKit coverage for compact typography, light-mode images, short and long articles, mixed heading hierarchies, image/video/audio fixtures, media-driven reflow, Split View reconstruction, and active-marker accessibility. A canonical Chromium screenshot covers visual comparisons.

Earlier releases

v1.4.0

Calm 1.4.0

Navigate long articles without distraction.

Calm 1.4 adapts its reading map to the article. Structured pieces use major headings as destinations; simpler pieces use five quiet depth markers. Readers can click, tap, use the keyboard, or scrub the rail to move through an article. Phone, Split View, and short landscape layouts remove the map entirely.

Highlights

  • A larger, more clearly separated article title on rail-capable layouts.
  • The reading map now sits just outside the centered article column.
  • Feed identity remains visible in the opening metadata, with estimated reading time shown only for articles of four minutes or longer.
  • Missing metadata fields collapse cleanly without leaving stray separators.
  • The persistent statistics footer and visible word count are gone.
  • Structured articles can reveal the active section name on wide Mac layouts during hover, keyboard focus, or scrubbing.
  • iPad keeps marker-only feedback with 44-point targets.
  • Phone, Split View, and short coarse-pointer landscape layouts remain completely rail-free.
  • Entering or leaving iPad Split View now tears down or restores the reading map and its interaction listeners without requiring an article reload.

Calm’s article measure, serif body rhythm, light and dark palettes, media treatment, body-heading scale, keyboard focus, reduced-motion behavior, and Tap + Scrub interaction are unchanged.

Installable artifact

  • Bundle: Calm.nnwtheme/
  • Package: Calm.nnwtheme.zip
  • Internal theme version: 11

Install from the v1.4.0 release or use the NetNewsWire installer URL in the project README.

v1.3.1

Calm 1.3.1 brings the latest local theme state to GitHub everywhere.

Highlights:

  • Removes the section rail and reserved gutter from compact mobile layouts.
  • Tightens phone spacing and line height while preserving wider-screen behavior.
  • Fixes structured heading targets for the desktop section rail.
  • Adds system-accent keyboard focus treatment and 44-point touch targets.
  • Improves reading-statistics contrast and refreshes the screenshots.
  • Ships validation for source/preview parity, responsive rail behavior, interaction polish, and package/source alignment.

The attached Calm.nnwtheme.zip is identical to the validated package committed at the repository root.

v1.2.1
  • Restored Calm.nnwtheme.zip to the repository root so the installable package is visible from GitHub’s file list.
  • Kept the package content aligned with the Version 8 theme source; no theme template or stylesheet behavior changed.
v1.2.0
  • Held pointer capture while scrubbing the section rail so a drag no longer ends early when the pointer drifts off the narrow rail.
  • Added quiet styling for mark, kbd, definition lists, details/summary, and audio so common feed content no longer falls back to browser defaults.
  • Enabled text-wrap: pretty on paragraphs and list items where supported.
  • Removed an accidentally re-committed Calm.nnwtheme.zip from the repository; zips are published through GitHub Releases.
  • Bumped the internal theme version to 8.
v1.1.3

Removes the top reading progress bar from reader views and bumps the internal theme version to 6.

v1.1.2

Hybrid section rail behavior: articles with five or more filtered headings use heading markers; articles with four or fewer use five scroll-depth markers. Keeps marker clicks inside the reader view with top breathing room.

v1.1.1

Changes

  • Updated the NetNewsWire installer author website to https://raisul.xyz.
  • Bumped the internal NetNewsWire theme version to 4.

Validation

  • plutil -lint Calm.nnwtheme/Info.plist
  • embedded script syntax checks for Calm.nnwtheme/template.html and preview/index.html
  • release zip inspected to confirm CreatorHomePage = https://raisul.xyz and Version = 4
v1.1.0

Changes

  • Reworked the generated section rail into a lower-contrast marker stack for desktop and mobile.
  • Limited section markers to the article title and major body headings so lower-level subheads do not make the rail feel random.
  • Kept marker clicks inside the reader view and added scroll breathing room for section jumps.
  • Bumped the internal NetNewsWire theme version to 3.

Validation

  • plutil -lint Calm.nnwtheme/Info.plist
  • embedded script syntax/contracts for Calm.nnwtheme/template.html and preview/index.html
  • release zip inspected to confirm Info.plist version 3
v1.0.1

Bumps the iOS article font by 1px while preserving NetNewsWire Dynamic Type sizing.

v1.0.0

Initial Calm NetNewsWire theme for macOS and iOS.