Ryan297 downloadsSynchronize tasks in Canvas text nodes with the Tasks plugin.
Canvas to Tasks is an Obsidian companion plugin that mirrors Markdown tasks in Canvas text nodes to generated Markdown index files. The Tasks plugin can then query and edit those tasks, while this plugin synchronizes changes back to the source Canvas.
Canvas to Tasks still generates indexes when Tasks is unavailable, but the Tasks-specific behavior is disabled until Tasks is enabled and Obsidian is reloaded.
_Canvas Tasks Index/ by default.The generated index folder is managed by this plugin. Avoid manually adding unrelated notes to it. A non-generated file is never overwritten.
After the plugin is accepted into the community directory:
main.js, manifest.json, and styles.css from the latest GitHub
release.<Vault>/.obsidian/plugins/canvas-to-tasks/.The setting Use Tasks logic for Canvas checkboxes controls whether Canvas checkbox transitions are normalized through the Tasks API. It is enabled by default. If the task description changes at the same time as its checkbox, the plugin preserves the user's text and skips API normalization rather than overwriting a concurrent edit.
The runtime bundle uses Obsidian's Vault API and is marked as mobile-compatible.
Sync manifest.json, main.js, and styles.css to the mobile vault, enable
both Tasks and Canvas to Tasks on that device, and restart Obsidian after plugin
updates.
Canvas to Tasks works entirely inside the local Obsidian vault. It does not make network requests, collect analytics or telemetry, show advertisements, or send vault data to external services. It reads Canvas files and manages only the generated Markdown indexes required for synchronization.
_Canvas Tasks Index/ by default) if you
no longer need it. The Canvas source files remain unchanged.npm.cmd install
npm.cmd run dev
After the build creates main.js, enable Canvas to Tasks in Obsidian's
community plugin settings. Source changes rebuild automatically; reload the
plugin in Obsidian to execute the new bundle.
npm.cmd run typecheck
npm.cmd test
npm.cmd run build
npm.cmd run validate-release
Keep the version in package.json, manifest.json, and versions.json in
sync. After committing and pushing the release changes, push a version tag that
exactly matches the manifest version and does not include a v prefix:
git tag 0.2.5
git push origin 0.2.5
The release workflow validates the version, runs the checks above, builds a
minified main.js, and creates a GitHub release containing only main.js,
manifest.json, and styles.css.