woxin667736 downloadsAdd functionality to the Canvas for merging, splitting, copying content, and adding markers.
Canvas Loom supports English and Simplified Chinese, and automatically switches with the user's Obsidian language setting.
Simplified Chinese documentation is available in README-ZH.md.
Canvas Loom is an Obsidian Canvas plugin for splitting, sorting, merging, previewing, and cleaning up Canvas text cards.
It turns scattered Canvas text cards into a repeatable workflow: split long notes into cards, sort selected cards by position or number, preview the merged result, export it, and clean up the layout without leaving Canvas.
The default language is Auto: Simplified Chinese is used when Obsidian is running in Chinese, and English is used for other Obsidian languages. You can also choose English or Simplified Chinese manually in the plugin settings.

Canvas Loom is designed around a single loop: select Canvas cards, load them into the Loom workspace, adjust the order, preview the merged text, and export it back to Canvas, a Markdown note, or the clipboard.
Demo video: Preview workspace, copy, create note, create card

Split one long text card by a custom delimiter, blank lines, or Markdown heading level. Canvas Loom keeps the original card in place and creates the remaining content as new Canvas cards.
Demo video: Split cards by delimiter, blank lines, or headings

Merge selected cards directly, or send them to the Loom workspace first — a three-panel sidebar (Preview, Sort, Find & Replace) where you can sort, preview, search, and export the final text.
Demo video: Merge selected Canvas cards

Position sorting follows the visual layout of the Canvas. Number sorting first reads a number from the card's first line, falls back to an independent numeric badge, and places cards without either at the end in Canvas position order.
Demo video: Compare position sorting and number sorting

Add or edit numeric badges on one card. After selecting multiple text cards, use the badge button in the floating selection toolbar to batch-number them or remove existing badges. Mixed selections default to numbering only cards without badges. Badges remain independent from card content and act as a fallback source for number sorting.
Demo video: Add badges by position order

Resize cards to fit their text and arrange selected cards with cleaner horizontal or vertical spacing.
Demo video: Auto-fit card height and arrange spacing
Right-click a single text card and choose Export card as image to export it as a PNG. In the Loom workspace Preview panel, Export image exports the current preview after you choose a folder in the current vault. Preview exports use the workspace's current card order, separator, and preview text rather than a screenshot of Canvas positions.
Search and replace text across all text cards on the current canvas or within a selection. Open the floating find-and-replace panel via the search button in the canvas top-right toolbar or assign a hotkey in Obsidian settings. For a side-by-side experience, open the Loom workspace and switch to the Find tab — results appear in a scrollable list with match previews, and you can jump to matched cards by selecting and locating them on the canvas. You can replace the current match, all matches in a card, or every match across the canvas. Supports case-sensitive and regex matching.
Split card...
Split one text card by a custom delimiter, blank lines, or Markdown heading level.Preview card group
Load selected text cards into the Loom workspace. Switch between Preview, Sort, and Find & Replace tabs; change sorting; drag-adjust the current order; preview merged output; and export it.Find & Replace in Canvas
Search across all canvas text cards or within the current selection, with case-sensitive and regex matching. Navigate matches one by one, jump to matched cards by selecting and locating them, replace the current match, all matches in a card, or all matches across the canvas.Quick copy / Quick merge
Process selected cards with the default sorting mode from settings.Export image
Export the current Loom workspace preview as a PNG from the Preview panel and choose the destination folder.Export card as image
Export a single text card as a PNG from its Canvas context menu and choose the destination folder.Add/Edit badge
Add numeric outline-style badges such as 1, 2.1, or 10.3.2.Number tools
Batch-number selected cards or remove existing badges from the floating selection toolbar.Manage card properties
Inspect one card or batch-adjust selected card dimensions, width, height, aspect ratio, and layout.Arrange spacing / Auto-fit height
Clean up selected Canvas cards with toolbar actions.Select same color cards
Select text cards with the same Canvas color and open them in the preview workflow.Language: controls whether the plugin follows Obsidian automatically or uses English / Simplified Chinese explicitly.Canvas card delimiter: controls the delimiter used when splitting cards and can also be used as the merge separator.Insert separator when merging: inserts the current Canvas card delimiter between adjacent cards in multi-card output.Card sorting priority: controls whether position-based sorting prioritizes vertical or horizontal order.Quick action sorting mode: controls the default sorting mode for quick copy and quick merge.Enable badges: controls whether card badges are shown.Show edges above cards: places Canvas connections above regular cards while keeping selected or edited cards above connections.Canvas label readability compensation: controls how strongly edge labels and group titles resist Canvas zoom changes, with 100% keeping them near the default readable size.Show zoom control on canvas: shows a 10%-200% zoom control inside Canvas, with a slider, percentage input, and fine adjustment buttons.Merge cleanup mode: controls whether source cards are kept or deleted after creating a merged card.Canvas performance mode: reduces Canvas Loom's additional rendering cost on large canvases and switches badges to compact dots at low zoom.Performance diagnostics: logs Canvas Loom operation timing and Canvas statistics to the developer console.Large Canvas threshold / Badge refresh delay: controls batched badge rendering and when performance mode switches badges to compact dots.For questions or feedback, contact: [email protected]
main.js, manifest.json, and styles.css..obsidian/plugins/canvas-loom/.npm install
npm run build
npm run dev: development buildnpm run build: production buildnpm run version: sync version metadataThe documentation index is available at docs/README.md.
Suggested reading:
docs/功能-拆分Canvas卡片.mddocs/功能-卡片内容复制与排序.mddocs/功能-卡片标记.mddocs/功能-Canvas缩放控件.mddocs/功能-查看和编辑卡片属性.mddocs/功能-Canvas卡片查找替换.mddocs/功能-卡片图片导出.mddocs/技术实现细节.mddocs/技术实现-Obsidian官方上架与发布流程.mdEarly development referenced joshuakto's open-source project obsidian-cardify.