1.2.0-alpha.2
Templar 1.2.0-alpha.2
Section titled “Templar 1.2.0-alpha.2”This prerelease is a renderer, baseline, template-catalog, and trust-boundary audit of the UX expansion. It fixes the root causes of caret/text divergence, cross-view ruled-line shifts, lost blank rows, variable-height block drift, same-file pane leakage, malformed paper patterns, and several import/frontmatter edge cases while preserving Templar’s self-contained-note and mobile-compatible architecture.
Highlights
Section titled “Highlights”- Source, Live Preview, and Reading now derive each visible root’s paper origin from the first real text baseline and the browser’s measured font line box. Visible Properties and hidden YAML no longer require template-specific offsets.
- CodeMirror lines remain margin-free for accurate pointer hit-testing. Heading rhythm uses internal padding, so the rendered text and editor cursor share one geometry.
- Reading whitespace reconciliation preserves leading blank rows after frontmatter, internal blank runs, cached views, reopened notes, and virtualized content without rewriting Markdown.
- Tables, callouts, Mermaid, display math, code, embeds, images, and other variable-height blocks snap independent renderer-owned wrappers. Outer margins and formerly collapsed child margins are included in the measured grid footprint.
- Temporary previews survive Reading/Editing mode rebuilds, remain leaf-local when the same file is open in two panes, and still release when a note or Markdown leaf actually changes.
- All nine paper families now emit explicit, complete layer geometry. Cross-hatch and diagonal strokes span their tiles, hex and scallop patterns repeat coherently, and ledger paints its second ledger line.
- Gridded horizontal rules retain an exact one-row footprint in Reading, Live Preview, paged output, and footnote separators; heading rules no longer add an unmeasured border pixel.
- Print preparation uses a settled Reading render, waits for fonts, images, asynchronous layout, and pagination, serializes concurrent jobs, and restores the original leaf state.
- Template/frontmatter security now rejects or safely serializes physical CSS controls, malformed strings/comments, unscoped resources, and rhythm-breaking geometry. Pack size/member/CSS limits and duplicate IDs are explicit.
- Built-in palette normalization, watermark round trips, callout title/icon variants, synchronization equality, unsupported schema versions, and pageless cleanup are regression-covered.
Compatibility and safety
Section titled “Compatibility and safety”- Minimum Obsidian version: 1.8.0.
isDesktopOnlyremainsfalse; no Node.js, Electron, network, or independent PDF runtime was introduced.- Existing version-1 note and template snapshots remain portable. Unsupported future note-style versions fail closed instead of being silently rewritten as version 1.
- Built-in templates remain immutable, imported packs remain untrusted, and a note never depends on its source library template to render.
- Physical iOS and Android smoke tests remain pending. Responsive/touch/reduced-motion rules and the mobile bundle guard are covered, but those checks do not substitute for physical devices.
Verification
Section titled “Verification”npm run check(ESLint, 20 Vitest files / 108 tests, strict TypeScript, production build, mobile bundle guard)npm audit --audit-level=moderateandnpm audit --omit=dev --audit-level=moderate(zero known vulnerabilities)npm run verify:release -- 1.2.0-alpha.2git diff --check- Obsidian 1.13.4 production-rendered all 132 built-ins sequentially, one active full preview at a time; all nine paper families passed.
- Rich live-vault coverage included hidden YAML/Properties, leading and internal blank rows, headings, links, lists/tasks, quotes, callouts, tables, Mermaid, math, code, embeds, images, all horizontal-rule syntaxes, details, footnotes, same-file split panes, and both Reading/Editing transitions.
- After tables, Mermaid, math, code, embeds, and images, paragraph baselines stayed within 1.17 px of the measured ruled-line phase with no cumulative drift. Reading horizontal rules measured one 30 px row with zero external margins.
Manual installation
Section titled “Manual installation”Download main.js, manifest.json, and styles.css from this release, place them in <vault>/.obsidian/plugins/templar/, reload Obsidian, and enable Templar under Community plugins.