README file from
GithubCanvas Project Autofit
Zoom Obsidian canvases on open so content fills the viewport width, pinned to the top. Lower rows can stay off-screen — useful for tall project boards with many cards.
Features
- Auto-fit when opening a canvas (configurable path prefix)
- Width-first framing instead of Obsidian’s default “fit everything” zoom
- Overrides canvas
zoomToFitwhile the plugin is active - Command palette: Fit canvas to width
- Optional: click text cards with external links to open them in the browser
- Settings for path prefix, width fraction, and top padding
Installation
From Obsidian Community Plugins (after submission)
- Open Settings → Community plugins.
- Browse and search for Canvas Project Autofit.
- Install and enable.
Manual install
- Download
main.js,manifest.json, andstyles.cssfrom the latest release. - Create a folder
canvas-project-autofitinside your vault’s.obsidian/plugins/. - Copy the three files into that folder.
- Enable the plugin under Settings → Community plugins.
Usage
- Enable the plugin.
- Open a canvas (by default, only paths starting with
Projects/are auto-fitted). - The view zooms so the board width fills the window; the top of the canvas stays visible.
Use the command Fit canvas to width to re-apply the framing on the active canvas.
Settings
| Setting | Default | Description |
|---|---|---|
| Canvas path prefix | Projects/ |
Limit auto-fit to canvases under this folder. Empty = all canvases. |
| Width fraction | 1.0 |
How much of the board width to frame. Lower = more zoomed in. |
| Top padding | 16 |
Pixels of space above content when framing. |
| Clickable external links | on | Open URLs from text cards with a single click. |
Development
This plugin is written in plain JavaScript (main.js) for easy inspection and community review. No build step is required.
To develop locally:
- Clone this repository into
.obsidian/plugins/canvas-project-autofit/inside a test vault, or symlink it. - Reload Obsidian (Settings → Community plugins → reload).
Submitting to the Community directory
This repository is structured for Obsidian Community plugin submission:
manifest.jsonat repo root (committed on default branch)LICENSE(MIT)README.mdwith usage instructions- GitHub release tagged
1.2.0(novprefix) with release assets:main.js,manifest.json,styles.css versions.jsonmaps plugin version → minimum Obsidian version
After publishing a release, sign in at community.obsidian.md, link GitHub, and submit the repository URL under Plugins → New plugin.
License
MIT — see LICENSE.