mirror of
https://github.com/dotwee/obsidian-raindropio-plugin.git
synced 2026-07-22 06:50:29 +00:00
chore: update user-facing text for clarity and consistency in documentation and code comments
This commit is contained in:
parent
b6df083711
commit
db71df59b8
6 changed files with 21 additions and 12 deletions
|
|
@ -115,11 +115,20 @@ Follow Obsidian's **Developer Policies** and **Plugin Guidelines**. In particula
|
|||
|
||||
## UX & copy guidelines (for UI text, commands, settings)
|
||||
|
||||
Follow the [Obsidian style guide](https://obsidian.md/help/style-guide) for all user-facing copy: commands, settings, notices, explorer UI, error messages, and `README.md`. When adding or editing strings, check that text still matches the guide before merging.
|
||||
|
||||
- Prefer sentence case for headings, buttons, and titles.
|
||||
- Use clear, action-oriented imperatives in step-by-step copy.
|
||||
- Use **bold** to indicate literal UI labels. Prefer "select" for interactions.
|
||||
- Use arrow notation for navigation: **Settings → Community plugins**.
|
||||
- Keep in-app strings short, consistent, and free of jargon.
|
||||
- Use "note" (not "markdown note") for Markdown files in the vault; prefer "active note" over "current note".
|
||||
- Prefer "search term" over "search query" in user-facing text.
|
||||
- Prefer "maximum" over "max" and "minimum" over "min".
|
||||
- Match the exact casing of UI labels when referencing settings (for example, **Access token**).
|
||||
- Document settings in-app with `setDesc()`; keep `README.md` aligned with the manifest plugin name and UI labels.
|
||||
|
||||
`eslint-plugin-obsidianmd` enforces some of these rules (including sentence case) in TypeScript source files.
|
||||
|
||||
## Performance
|
||||
|
||||
|
|
|
|||
14
README.md
14
README.md
|
|
@ -17,7 +17,7 @@ The plugin uses a Raindrop.io access token and the official Raindrop.io REST API
|
|||
## Features
|
||||
|
||||
- **Raindrop.io explorer**: Browse saved bookmarks from the configured collection in a side pane.
|
||||
- **Note-aware filtering**: Let the explorer follow the active note by turning note tags and external links into a Raindrop.io search query.
|
||||
- **Note-aware filtering**: Let the explorer follow the active note by turning note tags and external links into a Raindrop.io search term.
|
||||
- **Manual search**: Search Raindrop.io directly with keywords, `#tag` filters, exact phrases, or operators such as `type:article`, `notag:true`, and `created:2024-01`.
|
||||
- **Note blocks**: Render saved Raindrop.io links inline from fenced `raindrop` code blocks.
|
||||
- **Configurable tag clicks**: Choose whether tags on rendered Raindrop.io items search Obsidian notes, filter the explorer, or do nothing.
|
||||
|
|
@ -26,7 +26,7 @@ The plugin uses a Raindrop.io access token and the official Raindrop.io REST API
|
|||
## Setup
|
||||
|
||||
1. Create or copy a Raindrop.io access token.
|
||||
2. Open **Settings -> Community plugins -> Raindrop.io Plugin for Obsidian**.
|
||||
2. Open **Settings → Community plugins**, then select **Raindrop.io**.
|
||||
3. Paste the token into **Access token**.
|
||||
4. Use **Open explorer** from the command palette or ribbon icon.
|
||||
5. Optionally add a `raindrop` block to a note for inline results.
|
||||
|
|
@ -40,7 +40,7 @@ The side pane opens as **Raindrop.io explorer**. It can browse all saved links f
|
|||
Controls:
|
||||
|
||||
- **Search**: Runs the query in the search field against Raindrop.io.
|
||||
- **Use note filter**: Rebuilds the query from the active markdown note.
|
||||
- **Use note filter**: Rebuilds the search term from the active note.
|
||||
- **Browse all**: Clears the query and shows the configured collection.
|
||||
- **Refresh**: Reloads the current explorer state.
|
||||
- **Load more**: Requests the next page of results when more are available.
|
||||
|
|
@ -51,7 +51,7 @@ When the explorer follows a note, it uses:
|
|||
- External `http` and `https` links as exact phrase searches.
|
||||
- `match:OR` when multiple note-derived filters are present, so a bookmark can match any note tag or link.
|
||||
|
||||
Opening and interacting with the explorer preserves the last active markdown note as context, so the note filter remains stable while you browse.
|
||||
Opening and interacting with the explorer preserves the last active note as context, so the note filter remains stable while you browse.
|
||||
|
||||
## Note blocks
|
||||
|
||||
|
|
@ -71,11 +71,11 @@ Options:
|
|||
|
||||
- `collection`: Raindrop.io collection ID. Use `0` for all collections. Defaults to **Default collection**.
|
||||
- `tag`: Raindrop.io tag to include in the search. Multi-word tags are quoted automatically, for example `#"coffee beans"`.
|
||||
- `search`: Raindrop.io search query. This is passed through to Raindrop.io.
|
||||
- `search`: Raindrop.io search term. This is passed through to Raindrop.io.
|
||||
- `sort`: Raindrop.io sort value, for example `-created`. Defaults to **Default sort**.
|
||||
- `limit`: Number of links to request, clamped between 1 and 100. Defaults to **Default limit**.
|
||||
|
||||
You can combine `tag` and `search`; the plugin joins them into one Raindrop.io query.
|
||||
You can combine `tag` and `search`; the plugin joins them into one Raindrop.io search term.
|
||||
|
||||
## Settings
|
||||
|
||||
|
|
@ -112,7 +112,7 @@ The plugin passes search text through to Raindrop.io. Useful examples:
|
|||
|
||||
- The plugin only makes network requests to `https://api.raindrop.io`.
|
||||
- The access token is stored locally in Obsidian plugin data.
|
||||
- Note-aware filtering sends the generated Raindrop.io search query to Raindrop.io. If the active note contains external links, those URLs can be included in the query.
|
||||
- Note-aware filtering sends the generated Raindrop.io search term to Raindrop.io. If the active note contains external links, those URLs can be included in the search term.
|
||||
- The plugin does not collect analytics or use hidden telemetry.
|
||||
|
||||
## Release files
|
||||
|
|
|
|||
|
|
@ -132,7 +132,7 @@ export default class RaindropViewPlugin extends Plugin {
|
|||
const parsed = parseRaindropBlock(source);
|
||||
const api = new RaindropApi(this.settings.accessToken);
|
||||
if (!api.isConfigured) {
|
||||
renderRaindropStatus(container, "Add a Raindrop.io access token in plugin settings.", "info");
|
||||
renderRaindropStatus(container, "Add a Raindrop.io access token under Access token in plugin settings.", "info");
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ export class RaindropApi {
|
|||
|
||||
async listRaindrops(params: RaindropListParams): Promise<RaindropItem[]> {
|
||||
if (!this.isConfigured) {
|
||||
throw new Error("Missing Raindrop.io access token. Add one in plugin settings.");
|
||||
throw new Error("Missing Raindrop.io access token. Add one under Access token in plugin settings.");
|
||||
}
|
||||
|
||||
const collectionId = Number.isFinite(params.collectionId) ? params.collectionId : 0;
|
||||
|
|
|
|||
|
|
@ -144,7 +144,7 @@ export class RaindropSideView extends ItemView {
|
|||
this.lastFileMtime = null;
|
||||
this.lastFileSize = null;
|
||||
this.setQuery("");
|
||||
this.updateContext("Browsing the configured collection. Open a markdown note to use it as a filter.");
|
||||
this.updateContext("Browsing the configured collection. Open a note to use it as a filter.");
|
||||
return force || changed;
|
||||
}
|
||||
|
||||
|
|
@ -186,7 +186,7 @@ export class RaindropSideView extends ItemView {
|
|||
|
||||
const api = new RaindropApi(this.plugin.settings.accessToken);
|
||||
if (!api.isConfigured) {
|
||||
renderRaindropStatus(this.resultsEl, "Add a Raindrop.io access token in plugin settings.", "info");
|
||||
renderRaindropStatus(this.resultsEl, "Add a Raindrop.io access token under Access token in plugin settings.", "info");
|
||||
this.updateLoadMore(false);
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ export class RaindropSettingTab extends PluginSettingTab {
|
|||
|
||||
new Setting(containerEl)
|
||||
.setName("Access token")
|
||||
.setDesc("Stored in plugin data and sent only to the bookmark service.")
|
||||
.setDesc("Stored in plugin data and sent only to the Raindrop.io API.")
|
||||
.addText((text) => {
|
||||
text.inputEl.type = "password";
|
||||
text
|
||||
|
|
|
|||
Loading…
Reference in a new issue