notesy::preview
A plugin's own screens for notesy preview: a board full of sample tasks,
a panel in a state that's hard to reach by hand. Its plugin.toml names
each in [[previews]] (plugin.toml), and its
script says what each shows. Needs nothing.
rustuse notesy::{preview, store, view, views};
pub fn ready() {
let board = views::add("board", "Task board", |note| view::note(`${tasks().len()} tasks`));
preview::on("board", || {
store::set("tasks", ["Record the demo video", "Update the pricing page"]);
board.open();
});
}
fn tasks() {
store::get("tasks").unwrap_or([])
}
| Function | What it does |
|---|---|
preview::on(name, handler) |
What its preview name shows: handler() runs when notesy preview ID/NAME shows it, just after ready, and never otherwise. name has to be one its manifest names. |
notesy preview ana.tasks/board --plugin .
shows it (--plugin . for one you're working on; an installed plugin's
previews run by name alone), and notesy preview --list lists every
plugin's with notesy's own screens. A preview is for the look only: the
plugin runs over a few sample notes, keeps its data in a temporary folder
and its secrets nowhere, so what handler sets up is gone when the window
closes. The network, reading the clipboard and opening links are held back
unless it's run with --trust
(Making, packing and installing plugins).
Every page
- Overview
- plugin.toml: Every field of plugin.toml
- Permissions: What a plugin can ask for, when notesy asks, and what changes it
- Scripts: How a script runs: its lifecycle, events, limits and errors
- Packing and installing: Making, checking, signing, packing and installing
- notesy::log: Lines for its log on the Plugins page
- notesy::events: Hearing what happens, and every event
- notesy::commands: Adding commands, and running notesy's
- notesy::store: Keeping its own data
- notesy::settings: Reading its settings
- notesy::secrets: Keys and tokens, in the system keychain
- notesy::notes: Reading and changing the vault's notes
- notesy::editor: The note in front
- notesy::files: A folder of its own
- notesy::links: Opening pages in the browser
- notesy::clipboard: Copying and pasting
- notesy::view: What panels, tabs and sections show
- notesy::panels and notesy::views: Adding side panels and tabs
- notesy::sections: Sidebar sections
- notesy::menus: Items in notesy's right-click menus
- notesy::status: Status bar items
- notesy::notices: Notices
- notesy::dialogs: Asking in a dialog, notesy's kinds or its own
- notesy::cards: Its part of the tree's hover cards
- notesy::boards: Boards' cards and arrows, and kinds of card of its own
- notesy::blocks: Drawing its fenced blocks
- notesy::icons: Drawing its own icons
- notesy::net: Requests to the sites it names
- notesy::accounts: Signing in to a service
- notesy::json: Reading and writing JSON
- notesy::toml: Reading and writing TOML
- notesy::yaml: Reading and writing YAML, and a note's front matter
- notesy::time: Now, written in the user's time zone, dates read, how long ago
- notesy::math: Trigonometry and the like, for drawing
- Names: Icon, Color, Tone, Side, Method, Command, Menu, Sidebar, Event: Notesy's names as enums
- notesy::preview: Its own screens for notesy preview
- notesy::perf: Timing its own work
- notesy::tex: Math macros for every note's formulas