mirror of
https://github.com/mudnug/note-reader.git
synced 2026-07-22 06:41:36 +00:00
Compare commits
10 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
edc3b9c51b | ||
|
|
291ba8d00e | ||
|
|
68d67ea34a | ||
|
|
c245458cfd | ||
|
|
136316895b | ||
|
|
acd3487728 | ||
|
|
1845465d83 | ||
|
|
335649fd2c | ||
|
|
98e075213f | ||
|
|
cfc8f86978 |
5 changed files with 200 additions and 43 deletions
114
.github/ISSUE_TEMPLATE/bug-report.yaml
vendored
Normal file
114
.github/ISSUE_TEMPLATE/bug-report.yaml
vendored
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
name: Bug report
|
||||
description: Document a bug in note-reader
|
||||
labels: ["type: bug"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
## Before you start
|
||||
|
||||
Thanks for taking the time to report a bug in **note-reader**!
|
||||
|
||||
To help us reproduce and fix the issue quickly, please:
|
||||
|
||||
- Make sure you’re using the **latest version of note-reader**.
|
||||
- Include **clear steps to reproduce** and any relevant error messages.
|
||||
|
||||
- type: checkboxes
|
||||
id: no-invalid-issues
|
||||
attributes:
|
||||
label: "Verify your issue is in the right place"
|
||||
description: "This repository is only for the note-reader plugin, not the Obsidian app itself."
|
||||
options:
|
||||
- label: "My request is about the note-reader plugin for Obsidian (not core Obsidian or another plugin)."
|
||||
required: true
|
||||
- label: "I have tested with the latest released version of the note-reader plugin."
|
||||
required: true
|
||||
|
||||
- type: checkboxes
|
||||
id: no-duplicate-issues
|
||||
attributes:
|
||||
label: "⚠️ Check that this issue hasn't been reported already"
|
||||
description: "A quick search through existing bug reports can save everyone time."
|
||||
options:
|
||||
- label: "I searched existing note-reader bug reports and didn’t find a similar issue."
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: reproduce
|
||||
attributes:
|
||||
label: Steps to reproduce
|
||||
description: |
|
||||
What exact steps can we follow to reproduce the issue?
|
||||
|
||||
The more specific you are, the easier it is for us to track down the problem.
|
||||
Please include any relevant content as text, so we can copy and test it.
|
||||
placeholder: |
|
||||
Example:
|
||||
|
||||
1. Launch Obsidian Sandbox via the `Open Sandbox Vault` command.
|
||||
2. Install the note-reader plugin.
|
||||
4. Create a new note called `Demo problem`.
|
||||
5. Paste in a task with the text `- [x] Some special problem text`.
|
||||
6. Attempt to switch to Reading mode.
|
||||
5. Observe that ...
|
||||
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: expected
|
||||
attributes:
|
||||
label: Expected behavior
|
||||
description: Tell us what you expected to happen when following the steps above.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: what-happened
|
||||
attributes:
|
||||
label: Actual behavior
|
||||
description: |
|
||||
Tell us what actually happens instead of the expected behavior.
|
||||
Screenshots or short screen recordings are very helpful if you can provide them.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: checkboxes
|
||||
id: operating-systems
|
||||
attributes:
|
||||
label: Which operating systems are you using?
|
||||
description: You can select more than one option if applicable.
|
||||
options:
|
||||
- label: Linux
|
||||
- label: macOS
|
||||
- label: Windows
|
||||
validations:
|
||||
required: true
|
||||
|
||||
|
||||
|
||||
- type: input
|
||||
id: note-reader-version
|
||||
attributes:
|
||||
label: note-reader plugin version
|
||||
description: Which note-reader version are you using?
|
||||
placeholder: "1.0.0"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: checkboxes
|
||||
id: other-plugins-disabled
|
||||
attributes:
|
||||
label: Plugin conflict check
|
||||
description: This helps us see if the problem is caused by an interaction with another plugin.
|
||||
options:
|
||||
- label: I tried with all other community plugins disabled, and the issue still occurs.
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
id: possible-solution
|
||||
attributes:
|
||||
label: Possible solution (optional)
|
||||
description: |
|
||||
Optional: If you have any ideas about what might be causing the bug or how to fix it, please share them here.
|
||||
65
.github/ISSUE_TEMPLATE/feature-request.yaml
vendored
Normal file
65
.github/ISSUE_TEMPLATE/feature-request.yaml
vendored
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
name: Feature request
|
||||
description: Suggest a new feature or improvement for note-reader
|
||||
labels: ["type: enhancement"]
|
||||
body:
|
||||
- type: checkboxes
|
||||
id: no-invalid-issues
|
||||
attributes:
|
||||
label: "⚠️ Verify your request is in the right place"
|
||||
description: "This repository is only for the note-reader plugin, not the Obsidian app itself."
|
||||
options:
|
||||
- label: "My request is about the note-reader plugin for Obsidian (not core Obsidian or another plugin)."
|
||||
required: true
|
||||
- label: "I am only requesting a single feature or change in this issue. I will open separate requests for unrelated ideas."
|
||||
required: true
|
||||
- label: "I believe this feature would be useful to other note-reader users, not just for my very specific personal workflow."
|
||||
required: true
|
||||
|
||||
- type: checkboxes
|
||||
id: no-duplicate-issues
|
||||
attributes:
|
||||
label: "⚠️ Please check that this feature hasn’t been suggested already"
|
||||
description: "A quick search through existing feature requests helps avoid duplicates."
|
||||
options:
|
||||
- label: "I searched existing note-reader enhancement issues and did not find a similar request."
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: feature-description
|
||||
attributes:
|
||||
label: "🔖 Feature description"
|
||||
description: |
|
||||
Describe what you’re trying to accomplish or what’s difficult today.
|
||||
Focus on your goal or pain point, not the solution or UI details.
|
||||
placeholder: "When I try to..., I run into..., which makes it hard to..."
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: solution
|
||||
attributes:
|
||||
label: "✔️ How it should work"
|
||||
description: |
|
||||
Explain what you want to happen and why it would help your workflow.
|
||||
Focus on what the feature should do rather than how it should be implemented.
|
||||
placeholder: "In my use case, this would let me ..."
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: alternatives
|
||||
attributes:
|
||||
label: "❓ Alternatives you’ve considered"
|
||||
description: "Have you tried any workarounds or other approaches? If so, describe them here."
|
||||
placeholder: "I have considered ..."
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
id: additional-context
|
||||
attributes:
|
||||
label: "📝 Additional context"
|
||||
description: "Add any other context, examples, or screenshots that help explain your request."
|
||||
placeholder: "For example, a screenshot of your current workflow, or a short note showing where this would fit."
|
||||
validations:
|
||||
required: false
|
||||
54
README.md
54
README.md
|
|
@ -10,7 +10,6 @@ Transform your notes (or articles via Obsidian Web Clipper) into an immersive au
|
|||
- [Features](#features)
|
||||
- [Installation](#how-to-install-the-plugin)
|
||||
- [Usage](#usage)
|
||||
- [Mobile battery optimization](#mobile-battery-optimization)
|
||||
- [Settings](#settings)
|
||||
- [Commands](#commands)
|
||||
- [Data security](#data-security)
|
||||
|
|
@ -24,6 +23,7 @@ Transform your notes (or articles via Obsidian Web Clipper) into an immersive au
|
|||
- **Reader Modes**: Enhanced mode with highlighting and progress tracking, and Lite mode for audio-only reading on mobile devices with the screen off.
|
||||
- **Media Key Support**: Use keyboard media keys for playback control.
|
||||
- **Resume Position**: Automatically remember and resume reading position (if enabled).
|
||||
- **Jump to Position**: Hover over any line in the editor while reading to reveal a play icon; click it to start reading from that exact line.
|
||||
|
||||
### Text Processing
|
||||
|
||||
|
|
@ -41,8 +41,6 @@ Transform your notes (or articles via Obsidian Web Clipper) into an immersive au
|
|||
|
||||
## How to install the plugin
|
||||
|
||||
[](obsidian://show-plugin?id=note-reader)
|
||||
|
||||
1. **Community Plugins Store**: Open Obsidian, go to Settings → Community plugins → Browse, and search for "Note Reader". If available, select Install and then Enable. (Note: Plugin approval is taking several months, so if not found, use manual installation below.)
|
||||
2. **Manual Installation**: Download the plugin files (`main.js`, `manifest.json`, `styles.css`) from the plugin's GitHub repository. Create a new folder in your Obsidian vault's plugins directory (e.g., `.obsidian/plugins/note-reader`). Place the downloaded files in this folder, then enable the plugin in Settings → Community plugins.
|
||||
|
||||
|
|
@ -52,10 +50,10 @@ To use Note Reader:
|
|||
|
||||
1. Open the note you want to listen to in Obsidian.
|
||||
|
||||
2. Activate the "Read note" command using one of these methods:
|
||||
2. Activate the "Read note from top" command using one of these methods:
|
||||
- Press the assigned hotkey (if you've set one).
|
||||
- Click the ribbon icon.
|
||||
- Use the Command Palette and search for "Read note".
|
||||
- Use the Command Palette and search for "Read note from top".
|
||||
|
||||
3. The reader controls will appear at the top of the current pane, showing a loading spinner while preparing the audio.
|
||||
|
||||
|
|
@ -65,38 +63,9 @@ To use Note Reader:
|
|||
- **Settings**: Access the plugin settings.
|
||||
- **Close**: Stop reading and hide the reader interface.
|
||||
|
||||
5. If you switch to a different note while reading, click "Read Active Note" to restart reading from the beginning of the active note.
|
||||
5. If you switch to a different note while reading, use the "Reload active note" command to restart reading from the beginning of the active note.
|
||||
|
||||
To assign a hotkey: Go to Settings → Hotkeys, search for "note reader", and assign a key combination to the "Read note" command.
|
||||
|
||||
## Mobile Battery Optimization
|
||||
|
||||
To avoid reader stopping on mobile devices, make sure to disable battery optimization for Obsidian:
|
||||
|
||||
- On Android, turn off battery optimization for Obsidian in the app settings.
|
||||
- On iOS, disable Low Power Mode and enable Background App Refresh for Obsidian.
|
||||
|
||||
> **Why:** This permission allows continued reading in the background. Without it, Note Reader gets stalled shortly after the screen turns off on mobile devices.
|
||||
|
||||
More detailed instructions:
|
||||
|
||||
For Android (latest versions like Android 13 and 14):
|
||||
|
||||
- Open **Settings**.
|
||||
- Go to **Apps & Notifications** > **See all apps** > **Obsidian**.
|
||||
- Tap **Battery** or **Battery Optimization**.
|
||||
- Select **Battery Optimization** or **Optimize battery usage**.
|
||||
- Find Obsidian and set it to **Not optimized** or **Don’t optimize**.
|
||||
- Alternatively, search **Battery Optimization** in Settings and exclude Obsidian.
|
||||
|
||||
For iOS (iOS 18 or 19):
|
||||
|
||||
- Open **Settings** > **Battery**.
|
||||
- Turn off **Low Power Mode**.
|
||||
- Enable **Background App Refresh** under **Settings** > **General** > **Background App Refresh** for Obsidian.
|
||||
- Confirm Obsidian has permission to run in the background.
|
||||
|
||||
These steps prevent the system from pausing Obsidian when running in the background or with the screen off, ensuring uninterrupted reading. For battery-conscious users, Note Reader Lite mode is recommended when listening with the screen off.
|
||||
To assign a hotkey: Go to Settings → Hotkeys, search for "note reader", and assign a key combination to the "Read note from top" command.
|
||||
|
||||
## Settings
|
||||
|
||||
|
|
@ -115,6 +84,7 @@ Toggle various filters to exclude content from being read:
|
|||
- Ignore YAML frontmatter
|
||||
- Ignore fenced code blocks
|
||||
- Ignore inline code backticks
|
||||
- Ignore blockquotes
|
||||
- Ignore tags
|
||||
- Ignore Markdown header syntax
|
||||
- Ignore markdown tables
|
||||
|
|
@ -126,7 +96,7 @@ Toggle various filters to exclude content from being read:
|
|||
- Ignore backslash escapes
|
||||
- Ignore underscores
|
||||
|
||||
Additionally, enable phrase line filtering to ignore lines containing specific phrases.
|
||||
Additionally, enable phrase line filtering to ignore lines containing specific phrases, and prefix line filtering to skip lines that start with a specific prefix.
|
||||
|
||||
### Text-to-Speech
|
||||
|
||||
|
|
@ -172,7 +142,9 @@ Additionally, enable phrase line filtering to ignore lines containing specific p
|
|||
|
||||
### Statistics
|
||||
|
||||
View usage statistics and reset counters.
|
||||
#### Statistics storage modes
|
||||
- **Sync across devices (plugin storage):** Stores counters in the plugin's settings so they will be included when you sync your vault (e.g., via Obsidian Sync or other vault-syncing solutions).
|
||||
- **Local device only (browser storage):** Stores counters in the browser/localStorage for the current device only; these values are not synced across devices.
|
||||
|
||||
## Commands
|
||||
|
||||
|
|
@ -180,9 +152,9 @@ The plugin provides the following commands accessible via the Command Palette (`
|
|||
|
||||
### Core Reading Commands
|
||||
|
||||
- **Read note or selected text**: Reads the active note aloud. If text is selected, reads only the selection. Otherwise, reads the entire note from the top (or from the persisted position if available).
|
||||
**Read from selected text**: Reads only the currently selected text. Only available when text is selected.
|
||||
- **Start reading from cursor**: Begins reading from the current cursor position in the active note.
|
||||
- **Read note from top**: Reads the document from the beginning. If text is selected, reads only the selected portion (from the start of the selection to the cursor/selection end). Otherwise, reads the entire note from the top (or from the persisted position if enabled).
|
||||
- **Start reading from cursor**: Begins reading from the current cursor position in the active note.
|
||||
- **Read from selected text**: Reads only the currently selected text. Only available when text is selected.
|
||||
- **Reload active note**: Reloads and restarts reading of the currently active note from the beginning.
|
||||
|
||||
### Playback Control Commands
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"id": "note-reader",
|
||||
"name": "Note Reader",
|
||||
"version": "1.3.1",
|
||||
"version": "1.6.0",
|
||||
"minAppVersion": "1.11.0",
|
||||
"description": "Provides text-to-speech (TTS) for notes or clipped articles by reading them aloud while highlighting words. Offers on-device and online voice providers.",
|
||||
"author": "m",
|
||||
|
|
|
|||
|
|
@ -3,5 +3,11 @@
|
|||
"1.1.0": "1.11.0",
|
||||
"1.2.0": "1.11.0",
|
||||
"1.3.0": "1.11.0",
|
||||
"1.3.1": "1.11.0"
|
||||
"1.3.1": "1.11.0",
|
||||
"1.4.0": "1.11.0",
|
||||
"1.5.0": "1.11.0",
|
||||
"1.5.1": "1.11.0",
|
||||
"1.5.2": "1.11.0",
|
||||
"1.5.3": "1.11.0",
|
||||
"1.6.0": "1.11.0"
|
||||
}
|
||||
Loading…
Reference in a new issue