Skip to content

Releases: PleiadesM/TufteObsidian

Tufte 1.18.0

Choose a tag to compare

@PleiadesM PleiadesM released this 15 Aug 04:29

The Properties panel joins the system — and the settings speak Chinese.

Properties, quieted. Hovering a property key now washes the cell with the same warm grey as every other hover surface in the theme. The white flash it replaces was never a theme color: Obsidian's generic text-input hover rule out-specifies its own metadata-specific transparent rule and resolves to an unthemed base token — stock white. The theme now neutralizes the form-field tokens inside the properties container (which also cures the same latent leak on date and number values) and routes feedback through Obsidian's own cell-level hover token instead.

  • The hover/focus hairline underlines are gone, and so is the rule under the block — the properties end with plain air; the wash alone carries feedback.
  • Keys and values share one register: Gill Sans at the UI size, muted keys against ink values — the Bases specimen treatment, since Bases and Properties are the same metadata machinery. The Properties title stays italic serif: it is a heading.

中文. When Obsidian's language is set to Chinese, the theme's Style Settings panel (the glass sliders) displays Chinese titles and descriptions — and Tufte Suite 1.2.0 carries the rest of the story: its entire UI — settings, the figure modals, commands, notices — renders in Simplified Chinese under a zh locale, byte-identically English otherwise.

Pair with Tufte Suite 1.2.0. The theme works alone; the Suite's figure-modal tabs also adopt the Suite settings' tab design in this pairing.

Tufte 1.17.0

Choose a tag to compare

@PleiadesM PleiadesM released this 15 Aug 02:57

The typeface release — every face and weight becomes a knob.

Six CSS custom properties now drive the theme's type: Latin serif and sans faces and weights, plus the Chinese 宋体/黑体 companions (楷体 deliberately stays fixed — it marks italic contexts, a semantic role, not a taste). Bold derives from the body weight (+200 through Obsidian's own weight tokens) so it keeps a clear step at every setting; the H5 table title keeps its own +200 step above the sans base; display type — headings, the document Title, callout titles — deliberately holds its designed 400.

The GUI lives in Tufte Suite 1.1.0 — a new Typefaces (Tufte theme) settings section with Latin/Chinese tabs: Monotype-leaning recommendations (Bembo, Plantin, Perpetua, Baskerville; Gill Sans, Optima…), Source Han Serif 思源宋体 / Source Han Sans 思源黑体 presets plus LXGW WenKai 霞鹜文楷, an "Other…" picker listing your installed fonts (the Chinese picker filters, via a real glyph probe, to fonts that can actually set Chinese), and fixed Chinese weights that hold steady whatever the Latin weight does. Without the Suite the theme simply renders its defaults — the knobs remain plain CSS custom properties any snippet can drive. Style Settings keeps only the glass sliders.

Also in this release

  • The application interface (Settings, menus, palettes) joins the sans register — Gill Sans, with Heiti for Chinese — one scale step larger for legibility (13/14/16px).
  • Cabin (SIL OFL 1.1) is embedded as a variable 400–700, so one recommended sans renders on every machine with true weight cuts.
  • The default sans fallback chain gains Gill Sans Nova on Windows.
  • Still no network access and nothing to install: ET Book (MIT) and Cabin (OFL) are the only embedded faces.

Pair with Tufte Suite 1.1.0.

Tufte 1.16.3

Choose a tag to compare

@PleiadesM PleiadesM released this 14 Aug 05:19

Fixes for three user-reported issues — pair this with Tufte Suite 1.0.2, which carries the plugin side.

  • Obsidian's Release Notes tab is readable again. The theme's reading-pane layout — the 30% marginalia gutter and the 55rem measure — was unscoped and leaked into every markdown surface. Outside a real file pane there is no tufte-pane container, so the gutter's cqi units fell back to viewport units and reserved ~30% of the window as phantom margin inside the Release Notes column, crushing it to a sliver. Those rules are now scoped to .markdown-reading-view; Release Notes, hover popovers, and modals keep Obsidian's native geometry while still inheriting Tufte type.
  • Print keeps up with the caption fix. Tufte Suite 1.0.2 moves the default figure's margin caption from a grid column to the sidenotes' float recipe (ending the sidenote/caption overlap and the left-edge mismatch); this theme's print block now converts that float's pane-proportional geometry to percentages for PDF export, exactly as it already did for sidenotes.

With the old theme + new Suite (or vice versa) nothing breaks on screen, but margin captions in PDF export only get correct geometry with both updated.

Install/update: Settings → Appearance → Themes, or drop theme.css + manifest.json into .obsidian/themes/Tufte/.

Tufte 1.16.2

Choose a tag to compare

@PleiadesM PleiadesM released this 11 Aug 15:53

Two refinements from daily use:

  • The &&text&& lead-in label now sits at 1.1em — a visible step above body text, under ^^new thought^^'s 1.2em — so it reads as stressed, not just slanted. The tab-like indent after it stays identical in Reading view and Live Preview.
  • H1's after-gap narrows from two body lines to one (3 lines before / 1 after): the space above separates the section, the tight space below binds the heading to its text. H2–H4 were already at 1/1; print inherits both changes.

No plugin update required — pairs with any Tufte Suite ≥ 1.0.1.

Tufte 1.16.1

Choose a tag to compare

@PleiadesM PleiadesM released this 11 Aug 15:29

Live Preview fix for the &&text&& lead-in: the trailing 1.25em indent no longer repeats around nested formatting (wikilinks, bold, italics) inside the label. The indent is now carried once, by the Tufte Suite 1.0.1 inline module's widget at the concealed closing &&; Reading view is unchanged. Pair with Tufte Suite 1.0.1.

Tufte 1.16.0

Choose a tag to compare

@PleiadesM PleiadesM released this 04 Aug 19:56

Print/PDF export grows a full Tufte typographic model, and tables land on their intended register in both media.

Print (Export to PDF) — after the css4.pub Printing Tufte with CSS model: 11pt body on a 5mm baseline, marginalia and captions at 9.5pt/4mm, the 7:3 text-to-gutter page preserved in print, true white paper even exporting from dark mode, frontmatter and workspace chrome hidden, links printed as ink (external ones stay live). Long code lines wrap instead of clipping, no scroll container can bake a macOS scrollbar into the page, and table titles keep with their tables across page breaks.

Tables — the Tufte-LaTeX/booktabs canon: serif body face, heavy top/bottom rules, light header rule, bold serif headers, no verticals. A ##### heading directly above a table sets as its title, hugging the table as one stack. And the size now actually reaches the text: Obsidian's app.css sizes cells directly from a token computed against the screen font size, which had quietly held table text at body size everywhere — the token is re-pointed and the cells pinned, so tables read one clear step smaller than the body: ≈0.84× on screen, 9.5pt against the 11pt body in print.

Ink==highlights== set as a 20% rose tint under full-strength ink with a 2px red rule (after the Denmark & Norway plate); unresolved links in quiet stone with a solid hairline, red on hover.

Companion release: Tufte Figures 1.7.2 (export-safe figure captions).

Tufte 1.15.9

Choose a tag to compare

@PleiadesM PleiadesM released this 04 Aug 00:34

Two small removals of grey boxes:

  • Bases embeds lose their border — Obsidian 1.13's app.css re-arms the embed-border token on the layout element itself (.bases-view[data-view-type="table"]), past the theme's ancestor-level zero, so a base embedded in a note still drew a grey box around the grid. The theme now re-zeroes the token at the same level, for every layout (table, list, cards).

Plugin zips updated: Tufte Figures 1.7.1 — insertions (drop, paste, command, image quilt) no longer seed the embed's alt text with the file name, so figures insert as ![[image.png]] with no grey caption box under the image; alt stays available via the modal's Alt field, and editing an existing figure preserves its alt. Backlinks 1.0.1, Inline 1.2.0, Sidenotes 1.7.0 unchanged.

Tufte 1.15.8

Choose a tag to compare

@PleiadesM PleiadesM released this 03 Aug 05:08

Backlinks polish, both sides of the theme/plugin seam:

  • Mention snippets keep the Tufte highlight voice — a ==highlight== inside a sidebar backlink mention now renders as red ink, not the browser's default yellow ground (the sidebar pane sits outside the preview containers the highlight rule covered).
  • Code blocks in rendered mentions hold snippet size — a scoped insulation rule keeps the theme's own pre sizing (kept for the language-label geometry) from shrinking a mention's code block to ~8px.

Plugin zips updated: Tufte Backlinks 1.0.1 (mention snippets dedent so nested lists — including to-dos — render as proper lists instead of indented code blocks; stylesheet freed of !important per community guidelines). Figures 1.7.0, Inline 1.2.0, Sidenotes 1.7.0 unchanged apart from manifest metadata (descriptions ≤250 chars, profile authorUrl).

Tufte 1.15.7

Choose a tag to compare

@PleiadesM PleiadesM released this 02 Aug 05:43

Community-directory review round: :has() usage reduced from 41 lines to 3 selectors (the code-block language label mechanism now lives on the code element, needing no parent selection; the three survivors are each commented with why no alternative exists). All mjx-container type selectors rewritten to the .MathJax class MathJax stamps on every container. No visual changes — verified with pseudo-element-level computed-style sweeps including the horizontal-scroll case, light and dark. Plugin zips unchanged.

Tufte 1.15.6

Choose a tag to compare

@PleiadesM PleiadesM released this 02 Aug 05:19

Community-directory review: !important usage audited against Obsidian's real app.css — 155 declarations reduced to 126. Removals proven visually lossless (4,100+ computed-style comparisons, desktop and phone viewports, light and dark). Every retained !important now carries a comment naming the specific competitor it must beat (app rules that are themselves !important, or inline styles set by Obsidian's JS, which selector specificity cannot override). No visual changes. Plugin zips unchanged.