Releases: kangig94/obsidian-para-zk
Releases · kangig94/obsidian-para-zk
0.1.5
0.1.5
Added
- Automatically reparent child notes after Obsidian file tree moves. Moving a subnote between Projects and Areas now updates its
parentfrontmatter to the nearest folder-style parent. - Automatically reparent nested Areas after folder moves, including root/nested Area transitions and Area tag namespace updates for descendants.
Notes
- No new
para-zk:move-childcommand was added. This release keeps file moves in Obsidian/optsidian and lets PARA-ZK repair managed parent metadata after the move event. - The existing
updatedfrontmatter timestamp may change when auto-reparent writes the corrected metadata; that is expected.
Validation
- Added workflow and listener tests for file and folder move handling.
- Passed typecheck, full Vitest suite, architecture lint, Obsidian review lint, and dead-code lint.
0.1.4
Beta release 0.1.4 — install via BRAT (see README).
0.1.3
Beta release 0.1.3 — install via BRAT (see README).
0.1.2
Fixed
- Reading view: fixed the recurring scroll "jump" in notes carrying the PARA-ZK props
panel (the viewport lurched by a fixed amount on every scroll tick — earlier it drifted
steadily downward; later it jumped and snapped back). Root cause: Reading view recycles
its sections — the note header among them — in and out of the DOM while scrolling, so once
the header scrolled away the props panel was orphaned and re-attached as a bare
.markdown-preview-sizerchild. That put unaccounted height above the viewport that
Obsidian stripped and the plugin re-added every frame, shoving the scroll position. The
props panel now attaches only inside its stable home (.mod-header) and waits, detached,
while the header is recycled away — instead of falling back to the top of the sizer. The
managed panel keeps its sizer fallback (it sits below the body, so it never caused the
above-viewport thrash, and detaching it would leave its Dataview views — cited-by,
references — unable to populate).
0.1.1
Beta release 0.1.1 — install via BRAT (see README).
0.1.0
0.1.0
Added
- Native file-tree "New note" auto-templating for flat managed note types. Empty Markdown files
created under Resources, ZK Spark, ZK Digest, ZK Permanent, or an existing project/area
folder-note folder now receive the matching PARA-ZK template body and frontmatter while
preserving the user-chosen filename; archived, journal, LLM-Wiki, retro, project, area, and
unmanaged paths remain untouched. - SessionStart hook (
clients/hooks/wiki-domains-hook.mjs) that injects the LLM-Wiki
domain roster at the start of each Claude Code session (and after compaction), so the
assistant consults the wiki for in-domain questions on its own. It reads only the Obsidian
vault registry and each para-zk vault'sLLM-Wiki/folder listing — no running Obsidian, no
para-zk runtime — and stays silent when no wiki is present. The injected guidance routes
reads through the para-zk CLI (read-llm-wikiorlist, never raw file paths) and, when
Obsidian is not running, asks the user beforeoptsidian open-gui vault-path=<path>. The roster is
domain-only (no page titles) so it stays bounded as the wiki grows. A consistency test
pins the hook's domain enumeration to the canonicalpara-zk:wiki-domainsworkflow.
Changed
data.jsonnow persists only runtime-mutable user settings (locale,
showRibbon,showEmptyTrashAction,editorWidthSliderEnabled, and
editorLineWidth). The PARA/ZK layout is fixed insrc/layout.ts; removed
paths,layoutFolders,setupAt, andmanagedFileskeys are ignored when
loading older vault data.- Content-note templates no longer write legacy
para-zk-props/para-zk-managed
scaffolding fences into note bodies. Props (top) and managed
UI (bottom) now render automatically in both Reading view and Live Preview from
frontmattertype, so raw file bodies andread-*bodies no longer disagree
and LLMs do not recreate duplicate blocks. Existing notes can be migrated with
the newmanaged_block_in_bodyaudit check andpara-zk:audit fix=true, which
strips the residual fences while leaving frontmatter and user-authored body text
intact. The projectlatest-retro-summaryblock remains in place. para-zk:setupnow treats managed scaffolding (templates, dashboards, READMEs) as
fully plugin-owned: it overwrites those files whenever generated content differs,
leaves matching files alone, and no longer exposes a managed-fileforceoption.
User content notes remain outside the setup write set.- Managed-block UI: the four per-type "cited by" Dataview views collapse into one general
cited-byview on every note type except spark — a vault-wide backlink scan that classifies
each citing note by itstype(rawtypeshown for unlisted kinds) and renders a
root-relative,.md-stripped path (fixing the<domain>/indexfilename collision where
multiple index pages all showed as "index"). All managed-block buttons (create subnote/retro/
subarea, distill/discard, create-from-resource/digest) move from per-view toolbars into
declarativepara-zk-actionblocks; the legacy bare-tokenpara-zk-viewkey fallback is removed. - The general
cited-byview now excludes a project/area folder note's own subtree — its subnotes
already appear in the subnotes section, so they no longer double up in "cited by" — at any nesting
depth, while flat notes (resource, ZK, LLM-Wiki, …) keep every citation including same-folder siblings. - The project/area subnotes view now sorts by recency (most recently edited first,
file.mtime),
matching the cited-by view, instead of by filename. - LLM-Wiki authoring surfaces now carry an explicit Obsidian-MathJax rule: the
wiki-weaveragent, thewiki-captureskill, andwiki-ingest's insight-fold step
write formulas as$…$/$$…$$with literal single backslashes and never inside backtick
code-spans (backticks are reserved forPZ[id]citations and code/identifiers) — a
backtick-wrapped formula rendered as monospace text instead of math.wiki-lintgains a
broken-math detection finding (backtick-wrapped formulas,\(...\)/\[...\]delimiters,
doubled backslashes), reported for awiki-ingestre-ingest or a manual fix. import-resourcenow removes dead intra-document page-anchor scaffolding — the empty
<span id="page-…">anchors and the[text](#page-…)links that point at them, neither of
which resolves in Obsidian (the link renders as a dead "not found" link). Anchors are stripped
and links delinked to their plain visible text; heading-embedded anchors also broke PARA-ZK's
#headingcitation matching.para-zk:listquerynow matches the note's full address path, not just its
basename, soquery=<subpath>/scopes a listing to a subfolder — a wiki domain
(type=llm-wiki query=AI/), a Resources folder, or a project's subnotes. Title
substrings still match (the basename is part of the address), so existing queries
are unaffected. The wiki read-flow's no-index fallback uses this to enumerate a
single domain's pages.
Fixed
- Custom-sort dependency config now reconciles the managed
sortspecbookmarks group
recursively, not just at the top level. A vault built from an older baseline whoseZK
group drifted (e.g. missingDigestbetweenSparkandPermanent) was reported
"configured" and never healed.setupnow descends into a managed group the user has
already populated with nested groups and inserts missing nested folders at their baseline
position. Empty groups are never force-populated, and existing top-level and nested orders
are preserved.