Skip to content

Releases: PleiadesM/tufte-suite

Tufte Suite 1.2.0

Choose a tag to compare

@PleiadesM PleiadesM released this 15 Aug 04:30

The Suite speaks Chinese — 整套界面开口说中文.

When Obsidian's language is set to Chinese (Settings → General → Language → 简体中文; zh, zh-CN and zh-TW all count), the entire Suite renders in Simplified Chinese: the settings tab — bundled-plugin toggles, every module section, the whole Typefaces console including all 24 rows, the pickers, and the 西文/中文 tab bar — plus both figure modals, all eleven commands, and every notice. About 150 strings, carried by per-module translation tables keyed by the exact English literals: under any other locale the English surface is byte-identical to 1.1.0, by construction. The four module display names (Tufte Sidenotes, Figures, Inline, Backlinks) stay English as product names, and nothing the plugins write into your notes — the Fig. label, callout syntax — ever translates.

One tab design. The figure modal's Basic / Multiple images / Image quilt tabs now wear the Suite settings' own tab grammar: native buttons, the active one carrying a 2px accent underline and semibold weight — the same bar you see under Typefaces.

Under the hood. New harness group t11-i18n (11 groups total): zh rendering across settings, modals, commands and notices; English byte-identity under three no-language variants; locale-prefix edge cases; and standalone-vs-Suite parity in both languages. Modules: figures 1.8.0, sidenotes 1.8.0, inline 1.3.0; backlinks stays 1.0.1.

Pairs with theme Tufte 1.18.0, released the same day — the Properties panel polish (warm-grey hover, no hairlines, one type register) and 中文 Style Settings live theme-side. Either works alone; together the whole surface follows Obsidian's language.

Tufte Suite 1.1.0

Choose a tag to compare

@PleiadesM PleiadesM released this 15 Aug 02:58

The Typefaces console. The Suite now carries the settings for the Tufte theme's new typeface knobs — a Typefaces (Tufte theme) section split into Latin / Chinese in-page tabs.

  • Latin: serif and sans faces — Monotype-leaning recommendations (Bembo, Plantin, Perpetua, Baskerville; Gill Sans, Optima, the theme-bundled Cabin) — each with all nine weights. Bold always keeps a +200 step over the body weight.
  • Chinese: 宋体/黑体 companions with Source Han Serif 思源宋体 / Source Han Sans 思源黑体 presets plus LXGW WenKai 霞鹜文楷, and fixed Chinese weights — synthesized @font-face remap families over named local cuts, so Chinese text can hold a weight independent of the Latin around it (楷体 stays fixed by design: it marks italic contexts).
  • "Other…" pickers list your installed fonts — the same list as Settings → Appearance → Font, read through Obsidian's own get-fonts module with queryLocalFonts and a typed-name fallback. The Chinese pickers filter that list through an embedded 636-byte blank-font glyph probe, so only fonts that can actually set Chinese appear (Japanese/Korean-only fonts are correctly excluded).
  • Choices apply live, persist in the Suite's data.json under a reserved __typefaces key, and the theme's defaults return the moment the Suite is disabled. Every knob's default row hands control back to the theme.
  • New test group t10-typefaces; the jsdom equivalence harness is now 10 groups.

Modules unchanged: backlinks 1.0.1, figures 1.7.3, inline 1.2.1, sidenotes 1.7.0 — embedded verbatim as always.

Pairing: the Typefaces section requires theme Tufte 1.17.0 (which declares the knobs); under any other theme it is inert. Install by placing main.js, manifest.json, and styles.css in .obsidian/plugins/tufte-suite/.

Tufte Suite 1.0.2

Choose a tag to compare

@PleiadesM PleiadesM released this 14 Aug 05:19

tufte-figures 1.7.3 — margin captions join the sidenote float queue. Fixes two user reports; pair with theme Tufte 1.16.3.

  • No more sidenote/caption overlap. A [!figure]'s margin caption used to sit in a CSS grid column, while sidenotes, marginnotes and margin figures are floats — and floats neither clear nor avoid grid columns, so a note anchored near a figure could hang straight through the caption (image size made no difference). The caption is now a float with the sidenotes' exact recipe (float:right; clear:right; width:22cqi; margin -24cqi pull), so every margin occupant queues below the previous one.
  • Margin left edges align. The grid column started at the text edge; the shared float recipe starts 2cqi further right — captions and sidenotes now sit flush on the same left edge, to the pixel.
  • The caption still starts level with the top of its image (the decorator emits the caption before the image; float placement follows source order). Live Preview and panes narrower than 760px keep the familiar image-above-caption order.
  • main.js regenerated by build-tufte-suite.js; the byte-identity assertions and the 9-group jsdom equivalence harness all pass. Modules: backlinks 1.0.1, figures 1.7.3, inline 1.2.1, sidenotes 1.7.0.

On screen the fix is complete with the Suite alone; PDF export of margin captions needs theme 1.16.3 for the matching print geometry.

Install/update: replace main.js, manifest.json, styles.css in .obsidian/plugins/tufte-suite/ (or use the community updater once listed).

Tufte Suite 1.0.1

Choose a tag to compare

@PleiadesM PleiadesM released this 11 Aug 15:29

tufte-inline 1.2.1: the inline shorthands (^^…^^, &&…&&, @@…@@) now work with nested markup inside the delimiters — wikilinks, bold, italics.

  • Reading view previously rendered nothing when a shorthand held nested markup (Obsidian splits the paragraph into several nodes, so the delimiters never matched). Matching now spans the split nodes and the nested elements are wrapped into the styled span.
  • Live Preview previously opened extra 1.25em gaps around each nested format inside a &&…&& lead-in. The trailing indent is now rendered once, by a widget standing in for the concealed closing &&. Pair with theme Tufte 1.16.1, which moves the indent off the per-fragment spans.

No settings, command ids, or data formats changed.

Tufte Suite 1.0.0

Choose a tag to compare

@PleiadesM PleiadesM released this 06 Aug 02:04

The four Tufte plugins — Sidenotes, Figures, Inline, and Backlinks — are now one plugin with per-module toggles.

This is the first release of Tufte Suite and it replaces the four standalone plugins, which are archived from here on. Their code lives on as the Suite's modules, so behavior is unchanged: the bundle embeds each plugin's source byte-for-byte, and an equivalence harness checks that every module renders identically inside the Suite and standalone.

Install

Download main.js, manifest.json, and styles.css into YourVault/.obsidian/plugins/tufte-suite/, then enable Tufte Suite under Community plugins.

Coming from the four standalone plugins

Disable Tufte Sidenotes, Tufte Figures, Tufte Inline, and Tufte Backlinks first — running both renders everything twice. The Suite warns you if it finds one still enabled.

Nothing else to do: on first load the Suite imports each plugin's settings and copies your existing image-quilt store into its own folder, without writing to the old ones. Command ids are unchanged, so bound hotkeys keep working. Any module you don't want can be switched off in Settings → Tufte Suite.

Included

Module Version
Tufte Sidenotes 1.7.0
Tufte Figures 1.7.2
Tufte Inline 1.2.0
Tufte Backlinks 1.0.1

Requires Obsidian 1.4.0+; desktop and mobile. Pairs with the Tufte for Obsidian theme, which supplies the typography.