Fold list-callout into markdown plugin #58
Labels
No labels
abandoned
active
audit
blocked
data-safety
difficulty:easy
difficulty:hard
difficulty:high
difficulty:medium
docs
done
duplicate
notebook-v0
open
priority:high
ready
release-critical
safe-mode
spec
spec-backlog
subsystem:api
subsystem:backlog
subsystem:bases
subsystem:ci
subsystem:command
subsystem:configuration
subsystem:consolidate
subsystem:dependencies
subsystem:desktop-electron
subsystem:diffmerge
subsystem:docker
subsystem:docs
subsystem:fuzzy
subsystem:graph
subsystem:hotkeys
subsystem:lapis
subsystem:maint
subsystem:maintenance
subsystem:markdown
subsystem:markdown-lint
subsystem:md018
subsystem:notebook
subsystem:notifications
subsystem:opfs
subsystem:package
subsystem:plugin-markdown
subsystem:plugin-tasks
subsystem:plugins
subsystem:registry
subsystem:release
subsystem:renovate
subsystem:restore
subsystem:scripts
subsystem:search
subsystem:settings
subsystem:spec
subsystem:tasks
subsystem:testing
subsystem:ui
subsystem:web
subsystem:workspace
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lapis-notes/lapis#58
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Move inline list-callout behavior from the colocated Obsidian-targeted
plugin-list-calloutpackage into@lapis-notes/markdown, migrate settings,and remove the standalone package.
Context
packages/plugins/plugin-list-callout(manifest idobsidian-list-callouts) decoratesmarkdown list items with inline callout markers in source (CodeMirror) and reading/preview
(DOM post-processor). It depends on the
obsidianpackage and is not registered inworkspace
bootstrap.tscore plugins, so it never loads in Lapis today.List callouts belong with markdown editing/rendering, which already owns list preview via
ListItem.svelteand invokes registered markdown post-processors frommarkdown-preview.svelte.Planned module layout under markdown:
src/lib/list-callout/extension.ts— CM6 decorationssrc/lib/list-callout/post-processor.ts— preview DOM pass (sort order 10000)src/lib/list-callout/settings.ts— types, defaults, config builderssrc/lib/list-callout/settings-tab.ts— callout catalog UI (custom tab)src/lib/list-callout/list-callout.css— moved from standalonestyles.csssrc/lib/list-callout/config.schema.json— declarative style sliderssrc/lib/list-callout/apply-style-vars.ts— sync config →--lc-*CSS variablessrc/lib/list-callout/migrate-settings.ts— legacy importSettings split:
settings tab; persist in
/.obsidian/markdown.jsonas{ listCallouts: Callout[] }.markdown.listCallouts.style.*configuration schema with range controls.Migration: import
/.obsidian/plugins/obsidian-list-callouts/data.jsonwhen markdown hasno
listCalloutsyet; pruneobsidian-list-calloutsfromcommunity-plugins.jsonifpresent. Style Settings values cannot be auto-migrated (defaults via schema).
Out of scope: rehype
ListItem.svelterewrite; declarative catalog schema (see #42).Acceptance Criteria
MarkdownPluginonmarkdown views only.
rebuild editor/post-processor config.
markdown.listCallouts.style.*andupdate
--lc-*variables on markdown surfaces live.obsidian-list-calloutsplugin data migrates intomarkdown.jsononce.packages/plugins/plugin-list-calloutis removed; spec/docs/index/issue-sync updated.pnpm --filter @lapis-notes/markdown checkandmake spec-lintpass.Notes
&yellow,?orange,!red,~purple,@cyan + book-open,$green,%gray (see former list-callout spec).lc-*class names for upstream CSS compatibility..cursor/plans/fold_list-callout_into_markdown_317a749a.plan.mdImplementation Summary
Confirmed list-callout is already folded into the markdown plugin: markdown owns the controller, settings, migrations, styles, and spec surface, and the standalone list-callout package is no longer present.