notesy::secrets
Keys, tokens and passwords, kept in the system keychain (the macOS Keychain, the Windows Credential Manager, the Secret Service on Linux), never in the plugin's store or anywhere else on disk. Needs nothing.
rustuse notesy::secrets;
pub fn ready() {
if secrets::get("webhook")?.is_none() {
secrets::set("webhook", "wh_example");
}
}
| Function | What it does |
|---|---|
secrets::get(name) |
The secret it kept as name, Some(text), or None. |
secrets::set(name, secret) |
Keeps secret (up to 16 KB) as name. |
secrets::remove(name) |
Deletes it. |
Names are letters, digits, _, - and .. Names starting setting. and
account. are notesy's: the values of secret settings (read those with
settings::get) and the tokens of its accounts (which a
script never sees; see notesy::accounts).
Each plugin reaches only its own secrets: notesy files every name under the plugin's id. Their names (never their values) are listed in its store, so they're all deleted with it when the user removes the plugin and its data.
When the system has no keychain notesy can reach, secrets are kept in memory until notesy quits, and notesy says so.
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