Skip to main content

v1.0.0 — Modernization

· 2 min read

After a long hiatus from the original project, v1.0.0 is a full modernization of the codebase — same feature set, rebuilt foundation.

What's new

Codebase

  • TypeScript upgraded from 4.7 to 5.4
  • mainProcessor.ts refactored from 1021 lines into dedicated modules: fileScanner.ts, fileInfoBuilder.ts, changeTracker.ts, assetProcessor.ts
  • pino logger replaced with console (no more Node-only dependency in Electron)
  • GraphicsMagick (gm) replaced with Canvas API — no system dependency required
  • augmentPathForMacOS() removed — cross-platform by default

Docusaurus v3 Compatibility

  • Output changed from .md to .mdx
  • Admonition syntax updated to v3 format: :::note[Title]
  • future: { v4: true } compatible — .md treated as CommonMark, .mdx as MDX

Bug Fixes

  • #13 / #18 — Asset filenames with leading digits were corrupted during sanitization
  • #14 — ENOENT crash when copying assets for modified files (stale assetJson entries)
  • #16 — Renamed files left orphan pages in the output
  • [!QUOTE] callout now correctly converted to blockquote

Plugin Setup

  • vaultPath is now read dynamically from Obsidian (vault.adapter.getBasePath()) — no more hardcoded "vault" folder name
  • Released as BRAT-installable plugin with main.js, manifest.json, styles.css attached

Tests

  • 33 tests covering markdownProcessor, fileInfoBuilder, changeTracker, assetProcessor