u/tao22

Keyworder Plugin Update!

Keyworder Plugin Update!

Keyworder updates: Groups

Feature updates to keyword plugin: Grouping!

https://github.com/taoist22/sn-keyworder/releases

Features

  • Multi-keyword insertion — check any number of keywords and insert them all in one tap; each keyword lands as a separate, movable element in wrapped rows near the bottom of the page
  • Selection to add keyword — lasso handwritten or typed text in notes, or select text in PDFs/EPUBs, then tap the Keyworder button and save it directly to your keyword list; works with OCR for handwriting
  • Native index integration — automatically adds each keyword to the device's built-in keyword index for page navigation
  • In-plugin keyword management — add, delete, and pin keywords directly from the plugin; changes persist automatically
  • Group-based keyword sets — create reusable groups such as meetings, classes, projects, or assignments, then assign existing keywords to one or more groups
  • Bulk import — use the Keyword Builder web tool to create a keywords.json file, then load the list onto the device
  • Pinned keywords — keep your most-used keywords at the top of the list for zero-scroll access
  • Structured keywords — optionally save a keyword with a short key so it inserts as key:value for tools such as sn-query; key capitalization is preserved for display and insertion
  • Keyword views — filter the picker by pinned keywords or by group, then select the filtered view when you want a batch
  • Responsive Nomad and Manta layout — larger, denser panels with compact two-column keyword lists on supported screen sizes
  • A-Z letter rail — filter the Keyword, Manage Keywords, and Manage Groups screens by first letter using the vertical rail on the right side of the list
reddit.com
u/tao22 — 5 days ago

Calculator plugin update!

New update release

Quick Lasso Calc

SnCalc also appears in the note lasso menu as Calc. Use it when you have a simple handwritten or typed calculation already on the page and want the result inserted without opening the full calculator panel.

  1. Lasso a simple arithmetic expression, such as 10+30= or 10.0+30.0=.
  2. Tap Calc in the lasso menu.
  3. Review or correct the recognized expression in the popup.
  4. Choose Full to insert 10+30 = 40, or Result to insert only 40.
  5. Tap Insert.

Lasso Calc supports digits, decimals, parentheses, percent, and +-×x*/, and ÷. It intentionally rejects more complex handwritten notation such as square-root symbols or spatial exponents. Results are inserted below the selected expression when there is room.

If the recognized expression needs more work, tap Open Calculator to carry it into Standard mode for editing and evaluation.

Compact / Full Panel

The calculator header includes a Compact / Full toggle.

  • Compact mode keeps mode tabs, a one-line display, and the keypad visible while hiding the larger display area and insert controls.
  • Full mode restores the larger display/register area, decimal and stamp controls, and the Insert button.

Compact mode is intended for data entry while reading from the note underneath. Switch back to Full mode when you are ready to review, adjust stamp settings, or insert the result.

See full README for details.
Sn Calc plugin

u/tao22 — 6 days ago

SN FrameClip - PDF image clipping tool

FrameClip Plugin

FrameClip for Supernote

FrameClip captures a region of a PDF page as a PNG and inserts it into a note. It renders the page natively, lets you draw and fine-tune a crop, optionally darkens it for faint scans, and keeps a gallery of clips you can drop into any note.

>

What it does

  • Render-then-crop: opens the current PDF page, renders it to an image, and lets you crop from that — no screenshots required.
  • Draw-first cropping: drag anywhere on the page to draw the crop box, drag the corner to resize, and use the on-screen buttons to nudge/resize precisely.
  • Page navigation: ‹ Prev / Next › step through a multi-page PDF without leaving the plugin, so you can grab several regions in one session.
  • Tone adjustment (great for light scans): a row of boxes — 
    • Auto · Off · 1 · 2 · 3 · 4 · B/W.
    • Contrast is pivoted at white, so the background stays clean while faint text darkens. Auto picks a gentle level for you; B/Wproduces crisp 1-bit black/white (best for plain text).
  • Multi-clip gallery: every capture is saved. In a note, FrameClip shows a thumbnail grid — pick one and insert it, or delete clips you no longer need.

Workflow

  1. Open a PDF and launch FrameClip from the plugin toolbar.
  2. Draw a box around the region you want; fine-tune with the buttons or corner handle.
  3. (Optional) Use Prev/Next to capture from other pages.
  4. Tap Capture Clip. On the saved screen, adjust the Tone if needed.
  5. Tap Capture Another to grab more, or Done to exit.
  6. Open the destination note and launch FrameClip there.
  7. Pick a clip from the gallery and tap Insert Selected. Resize it in the note as usual.

Saved clips live in /storage/emulated/0/MyStyle/FrameClip/.

Install

Side-load the plugin package onto your device:

  1. Download FrameClip.snplg from the latest release.
  2. Copy it to your Supernote and install it via the plugin manager.

Build from source

Requires Node 18+ and a working React Native / Android toolchain.

npm install
# Always clear stale generated output first, or changes may appear not to apply:
rm -rf build/generated build/outputs
./buildPlugin.sh

The packaged plugin is written to build/outputs/FrameClip.snplg.

Project layout

  • App.tsx — React UI and crop/tone/gallery logic.
  • android/app/src/main/java/com/snframeclip/FrameClipNativeModule.java — native page render, crop, contrast/threshold, and clip management.
  • PluginConfig.json — Supernote plugin manifest.
reddit.com
u/tao22 — 10 days ago

SN Query Reposted

SN Query Advanced Query Tab

SNQuery is a powerful plugin for Supernote that brings Obsidian Dataview-like querying capabilities to your device, enabling dashboard creation and note management without needing to export your notes to a PC.

Current Release: https://github.com/taoist22/sn-query/releases/tag/v0.2.1

Important

SNQuery searches the same folder as the note where you run the plugin. It does not scan the entire device.

For reliability and performance, [SNQ] property blocks and loose inline properties must be on page 1 of each note to be found during folder scans. Native Supernote keywords can still be used across matching notes, but full-note property scanning is intentionally not performed.

Features

  • Dataview-like Syntax: Query your notes using familiar TABLE and LIST commands tailored for Supernote's offline environment.
  • On-Demand Dashboards: Create dashboards that track keywords and property fields. (Note: Dashboards do not auto-update; you simply tap "Run" on your saved queries to fetch the latest data).
  • Templates & Config: Create, edit, and insert reusable [SNQ] item templates.
  • Selected Block Editing: Lasso an existing [SNQ] block and open SNQuery from the lasso menu to edit that block directly.
  • Saved Queries: Save your frequently used queries and run them with a single tap.
  • Progress Feedback: Folder scans show live progress so long-running queries are easier to trust.
  • Column Statistics: Calculate averages, sums, minimums, maximums, and counts for numeric fields.

Launching SNQuery

SNQuery has two launch paths:

  • Main toolbar/plugin icon opens the normal Dashboard workflow.
  • Lasso menu on a selected [SNQ] block opens the dedicated editor for that selected block.

Use the main toolbar when you want to run dashboards, saved queries, or insert new templates. Use the lasso menu when you want to update an existing [SNQ] block already placed on a note page.

Scan Scope

SNQuery is designed to keep scans predictable on-device:

  • It scans .note files in the current folder only.
  • [SNQ]...[/SNQ] data blocks must be placed on page 1 of each note.
  • Loose properties outside an [SNQ] block must also be on page 1.
  • Keyword-only searches are faster because they use Supernote's native keyword metadata instead of reading note elements.
  • SNQuery does not OCR handwriting; handwritten content must be converted to text or tagged with native keywords to be queried.
  • Inserted dashboards are snapshots; run the query again to refresh the results.

Keywords vs Properties

Native Supernote keywords are best used for broad, human-meaningful categories like #journal#todo#sleep#meeting, or #project-alpha. They are fast to search and are not dependent on [SNQ] blocks.

Use [SNQ] properties for structured values you want to filter, sort, or calculate, such as status: opendue: 2026-06-25sleep_score: 81, or sleep_time: 7:25. Avoid stuffing property-style data into native keywords; too many overly specific keywords can make Supernote's keyword system harder to browse and less useful.

Common Workflows

Todo Dashboard

Add one [SNQ] block for each task you want to track:

[SNQ]
type: todo
task: Call Nancy
status: open
due: 2026-06-26
[/SNQ]

Then query it:

TABLE task AS "Task", due AS "Due", status AS "Status"
WHERE type = todo AND status = open
SORT due ASC

Sleep Tracking

Time durations can be entered as hours and minutes, such as 7:25 or 6h55m. SNQuery treats those as durations for statistics.

[SNQ]
type: sleep
date: 2026-06-19
sleep_score: 81
sleep_time: 7:25
[/SNQ]


TABLE date AS "Date", sleep_score AS "Sleep Score", sleep_time AS "Sleep Time"
WHERE type = sleep
STATS AVG(sleep_score), AVG(sleep_time), MIN(sleep_score), MAX(sleep_score)
SORT date DESC

Meeting Or Event Dashboard

[SNQ]
type: meeting
meeting: Finance
date: 2026-06-25
time: 11:00
summary: Budget review
[/SNQ]


TABLE meeting AS "Meeting", date AS "Date", time AS "Time", summary AS "Summary"
WHERE type = meeting
SORT date ASC

Current Limitations

  • SNQuery scans the current folder only.
  • Subfolders are not included yet.
  • [SNQ] blocks and loose inline properties must be on page 1 for folder scans.
  • SNQuery does not connect to Supernote's native Tasks or Calendar apps.
  • Inserted dashboards are static snapshots and must be rerun to refresh.

Installation

  1. Build or download the SNQuery.snplg file.
  2. Transfer the .snplg file to your Supernote device via USB or Supernote Cloud.
  3. Open the plugin manager on your Supernote and load the plugin.

Documentation

For comprehensive instructions on query syntax, setting up dashboards, and using templates, please refer to the User Manual.

reddit.com
u/tao22 — 12 days ago

SN Query plugin **REMOVED**

Unfortunately, during an upgrade to the plugin today, I found a memory leak in one of the critical APIs (getElements) that gave this plugin relevance. Since that severely limits the functionality of the plugin, I've decided to remove it until and if that issue is resolved.

reddit.com
u/tao22 — 17 days ago

SN Query new plugin

Coming from Obsidian, I missed the ability to use dataview to aggregate my notes. While it's not possible to do all of the same functions on the Supernote devices, I've tried to create something that was similar enough to gain the functionality. I've tried to design the plugin to work for those that are not familiar with dataview/SQL type searches and for those who are. Please test this plugin out and let me know what you think about it.

** I have also updated DateTime and Keyworder plugins to work with SN Query as well as implemented changes that users have requested (Thank you for the showcase and suggestions, Ed!)

DateTime update: https://github.com/taoist22/sn-datetime/releases/tag/v1.2.3-beta
Keyworder update: https://github.com/taoist22/sn-keyworder/releases/tag/v1.3.1-beta

SNQuery

SNQuery is a powerful plugin for Supernote that brings Obsidian Dataview-like querying capabilities to your device, enabling dashboard creation and note management without needing to export your notes to a PC.

Features

  • Dataview-like Syntax: Query your notes using familiar TABLE and LIST commands tailored for Supernote's offline environment.
  • On-Demand Dashboards: Create dashboards that track keywords and property fields. (Note: Dashboards do not auto-update; you simply tap "Run" on your saved queries to fetch the latest data).
  • Add Items Seamlessly: Quickly insert new list items wrapped in [SNQ] markup with customizable templates.
  • Saved Queries: Save your frequently used queries and run them with a single tap.

Installation

  1. Build or download the SNQuery.snplg file. https://github.com/taoist22/sn-query/releases/tag/v0.2.0
  2. Transfer the .snplg file to your Supernote device via USB or Supernote Cloud.
  3. Open the plugin manager on your Supernote and load the plugin.

Documentation

For comprehensive instructions on query syntax, setting up dashboards, and using templates, please refer to the User Manual https://github.com/taoist22/sn-query/releases/download/v0.2.0/USER_MANUAL.pdf

Author

Created by taoist22

Credits

u/tao22 — 17 days ago

Supernote flashcards plugin update!

New functionality for:
* Creating new decks
* Linking a deck to a note
* Adding a keyword to the note regarding the deck
* Move flashcards between decks
* other QOL improvements

Since this is a plugin with a few moving parts, I have build a small user manual pdf instead of another demo video. It is included below the .snplg new release.

https://github.com/taoist22/sn-flashcards/releases/tag/v0.2.1-beta

Flashcards is a beta spaced-repetition flashcard plugin for Supernote Nomad and Manta. It lets you create decks, add cards manually, turn lassoed handwriting into question/answer cards with OCR, study with FSRS scheduling, and move basic text cards between the plugin and Anki Desktop.

>

Features

  • Create, select, and delete decks from the deck list
  • Create a needed deck while adding a flashcard
  • Link a Supernote note to a default deck
  • Optionally add a Supernote keyword when linking a note
  • Use linked notes, note keywords, and folder names to suggest the right deck
  • Add flashcards manually or from handwritten notes with the lasso toolbar
  • Move cards from one deck to another
  • Review cards with a temporary editable guess box
  • Schedule reviews with FSRS
  • View basic deck stats
  • Import basic Anki Desktop plain text exports
  • Export decks back to Anki-compatible plain text

Installation

  1. Download Flashcards.snplg from the latest GitHub release.
  2. Copy Flashcards.snplg into the MyStyle folder on your Supernote.
  3. On the Supernote, open Manage Plugins.
  4. Add/install the plugin from MyStyle.
  5. Open a note and tap the plugin icon to launch Flashcards.

Creating Decks

You can create decks before studying or at the moment you are adding a card.

From the Decks Screen

  1. Open Flashcards from the plugin menu.
  2. On the Decks screen, enter a deck name.
  3. Tap Create Deck.
  4. Tap a deck to open it.

Each deck shows total cards, due cards, reviews completed today, and total reviews.

While Adding a Flashcard

If you are creating a card and the deck you need does not exist yet:

  1. Open Add Flashcard or use Add Flashcard from the lasso toolbar.
  2. Enter the new deck name in the Create Deck section.
  3. If you are inside a note, choose whether to link that note to the new deck or add a Supernote keyword.
  4. Tap Create Deck.
  5. Finish the question and answer.
  6. Tap Add Flashcard.

This is useful when you are already in a note and discover that the right deck has not been created yet.

Note Links and Default Decks

Flashcards can make the current note suggest the right deck automatically. This is useful when, for example, Biology notes should usually add cards to the Biology deck.

The plugin checks for a suggested deck in this order:

  1. A saved note link created from the Note Link section.
  2. A native Supernote keyword on the current note that matches a deck name.
  3. A folder name that matches a deck name.
  4. The last selected deck.

You can always choose a different deck before adding or studying cards. The note link only changes the default suggestion.

Link a Note to a Deck

  1. Open the note you want to connect.
  2. Open Flashcards.
  3. Select the deck you want to use as the default.
  4. In Note Link, turn on Link note default.
  5. Optionally turn on Add Supernote keyword.
  6. Tap Apply.

If the keyword already exists on the note, the plugin keeps going and still links the note to the deck.

Add a Keyword Without Linking

  1. Open the note.
  2. Select the deck.
  3. In Note Link, leave Link note default off.
  4. Turn on Add Supernote keyword.
  5. Tap Apply.

The keyword is placed in one of the available page positions so it does not have to overlap existing writing.

Change or Remove a Note Link

To change a note's default deck, select a different deck and apply Link note default again.

To remove the saved note link, tap Unlink Note. A matching Supernote keyword or folder name may still suggest a deck afterward.

Creating Flashcards

There are two ways to create cards.

Manual Cards

  1. Open a deck.
  2. Tap Add Manually.
  3. Enter the question.
  4. Enter the answer.
  5. Choose the target deck.
  6. Tap Add Flashcard.

You can choose the linked default deck, another existing deck, or create a new deck before saving the card.

Handwritten Cards With Lasso OCR

  1. In a Supernote note, write the question on one line.
  2. Write the answer on the line below it.
  3. Lasso both handwritten lines together.
  4. Tap Add Flashcard in the lasso toolbar.
  5. The plugin OCRs the top line as the question and the lower line as the answer.
  6. Edit the recognized text if needed.
  7. Choose the target deck.
  8. Tap Add Flashcard.

If the target deck does not exist yet, create it from the same screen before adding the card. If you are inside a note, you can also link the note to that new deck or add a keyword while creating it.

For best OCR results, keep the question and answer on separate horizontal lines with a little vertical space between them.

You can also add a card from a journal or another note that has no linked deck. In that case, choose any existing deck or create a new one before adding the card.

Studying Cards

  1. Open a deck.
  2. Tap Study Due or Study.
  3. Read the question.
  4. Use the editable Guess box to type or handwrite your answer.
  5. Tap Show Answer.
  6. Rate your recall:
    • Again
    • Hard
    • Good
    • Easy

The guess is temporary. It is cleared when you reveal the answer or move to the next card, and it is never saved.

Editing Cards

  1. Open a deck.
  2. Tap a card in the card list.
  3. Edit the question or answer.
  4. Use Move to Deck if the card belongs in a different deck.
  5. Tap Save Card.

Deleting a card removes it from the plugin and also removes its local review history.

Anki Import

The plugin supports basic text cards from Anki Desktop. It does not import .apkg.colpkg, media, tags, note types, cloze behavior, or Anki scheduling.

Export From Anki Desktop

In Anki Desktop:

  1. Select the deck.
  2. Choose Export.
  3. Select Notes in Plain Text (.txt).
  4. Recommended options:
    • Include deck name: enabled
    • Include unique identifier: enabled
    • Include HTML and media references: disabled
    • Include tags: disabled
    • Include note type name: disabled
  5. Save the .txt file.

Put the File on Supernote

Copy the Anki .txt export into this folder on the Supernote:

EXPORT/sn-flashcards

If the folder does not exist yet, open Flashcards, tap Import Anki Text, and the plugin will create/show the folder path.

Import Into Flashcards

  1. Open Flashcards.
  2. Open any deck.
  3. Tap Import Anki Text.
  4. Confirm the displayed import folder.
  5. Put the Anki .txt file there if it is not already present.
  6. Tap Refresh.
  7. Tap the file name.

The plugin reads Anki's #guid column and #deck column metadata. It creates the deck if needed, adds new cards, updates changed cards with matching GUIDs, and skips unchanged duplicates.

Plugin FSRS scheduling stays independent from Anki. Review timing, ease, stability, difficulty, and other scheduling state do not transfer between Flashcards and Anki in either direction.

Anki Export

  1. Open the deck in Flashcards.
  2. Tap Export Deck.
  3. The plugin writes an Anki-compatible text file to Supernote's EXPORT folder.

The export uses Anki-style metadata:

#separator:tab
#html:false
#guid column:1
#deck column:2

When importing the exported file into Anki Desktop, map the two card fields as front/back. If Anki offers an option to update existing notes, choose it so the GUID column can prevent duplicates.

Current Limitations

  • Basic question/answer text cards only
  • No direct .apkg or .colpkg import
  • No media/audio/image import
  • No cloze support yet
  • No Anki scheduling or stats import
  • No FSRS scheduling sync with Anki
  • Large decks may be slow because the plugin currently stores cards in a JSON database

Recommended deck size for this beta is under about 1,000 simple text cards. Larger decks may work, but should be tested carefully.

Building From Source

Prerequisites

  • Node.js 18+
  • npm
  • Android/JDK setup compatible with the Supernote plugin template

Build

npm install
./buildPlugin.sh

If the local Metro watcher hits an open-file limit during packaging, build with:

CI=true ./buildPlugin.sh

The plugin package is written to:

build/outputs/Flashcards.snplg

If you rename the package, clear old files from build/generated/ before rebuilding. The Supernote plugin loader can pick up stale bundles if multiple bundle files are present.

Development Notes

  • The original stable base plugin is tagged as working-flashcard-plugin-base.
  • The first beta with Anki text import/export is tagged as v0.1.0-beta.
  • The note links, keyword defaults, in-flow deck creation, and move-card beta is tagged as v0.2.0-beta.
  • Persistent plugin data is stored locally on the device by a small native storage module.
  • FSRS scheduling is handled inside the plugin using ts-fsrs.

License

MIT

u/tao22 — 23 days ago

Flashcard plugin

Flashcard plugin

I've been working on this plugin for weeks and I think it is finally mostly stable. There are a couple of quirks I hope to iron out like having to tap twice on Insert Flashcard after entering text/edits etc. It is not a small plugin either at 8MB. Please test and let me know what you think!

Flashcards for Supernote

Latest Release

Flashcards is a beta spaced-repetition flashcard plugin for Supernote Nomad and Manta. It lets you create decks, add cards manually, turn lassoed handwriting into question/answer cards with OCR, study with FSRS scheduling, and move basic text cards between the plugin and Anki Desktop.

>

Features

  • Create, select, and delete decks
  • Add flashcards manually
  • Add flashcards from handwritten notes with the lasso toolbar
  • Review cards with a temporary editable guess box
  • Schedule reviews with FSRS
  • View basic deck stats
  • Import basic Anki Desktop plain text exports
  • Export decks back to Anki-compatible plain text

Installation

  1. Download Flashcards.snplg from the latest GitHub release.
  2. Copy Flashcards.snplg into the MyStyle folder on your Supernote.
  3. On the Supernote, open Manage Plugins.
  4. Add/install the plugin from MyStyle.
  5. Open a note and tap the plugin icon to launch Flashcards.

Creating Decks

  1. Open Flashcards from the plugin menu.
  2. On the Decks screen, enter a deck name.
  3. Tap Create Deck.
  4. Tap a deck to open it.

Each deck shows total cards, due cards, reviews completed today, and total reviews.

Creating Flashcards

There are two ways to create cards.

Manual Cards

  1. Open a deck.
  2. Tap Add Manually.
  3. Enter the question.
  4. Enter the answer.
  5. Choose the target deck.
  6. Tap Add Flashcard.

Handwritten Cards With Lasso OCR

  1. In a Supernote note, write the question on one line.
  2. Write the answer on the line below it.
  3. Lasso both handwritten lines together.
  4. Tap Add Flashcard in the lasso toolbar.
  5. The plugin OCRs the top line as the question and the lower line as the answer.
  6. Edit the recognized text if needed.
  7. Choose the target deck.
  8. Tap Add Flashcard.

For best OCR results, keep the question and answer on separate horizontal lines with a little vertical space between them.

Studying Cards

  1. Open a deck.
  2. Tap Study Due or Study.
  3. Read the question.
  4. Use the editable Guess box to type or handwrite your answer.
  5. Tap Show Answer.
  6. Rate your recall:
    • Again
    • Hard
    • Good
    • Easy

The guess is temporary. It is cleared when you reveal the answer or move to the next card, and it is never saved.

Editing Cards

  1. Open a deck.
  2. Tap a card in the card list.
  3. Edit the question, answer, or deck.
  4. Tap Save Changes.

Deleting a card removes it from the plugin and also removes its local review history.

Anki Import

The plugin supports basic text cards from Anki Desktop. It does not import .apkg.colpkg, media, tags, note types, cloze behavior, or Anki scheduling.

Export From Anki Desktop

In Anki Desktop:

  1. Select the deck.
  2. Choose Export.
  3. Select Notes in Plain Text (.txt).
  4. Recommended options:
    • Include deck name: enabled
    • Include unique identifier: enabled
    • Include HTML and media references: disabled
    • Include tags: disabled
    • Include note type name: disabled
  5. Save the .txt file.

Put the File on Supernote

Copy the Anki .txt export into this folder on the Supernote:

EXPORT/sn-flashcards

If the folder does not exist yet, open Flashcards, tap Import Anki Text, and the plugin will create/show the folder path.

Import Into Flashcards

  1. Open Flashcards.
  2. Open any deck.
  3. Tap Import Anki Text.
  4. Confirm the displayed import folder.
  5. Put the Anki .txt file there if it is not already present.
  6. Tap Refresh.
  7. Tap the file name.

The plugin reads Anki's #guid column and #deck column metadata. It creates the deck if needed, adds new cards, updates changed cards with matching GUIDs, and skips unchanged duplicates. Plugin FSRS scheduling stays independent from Anki.

Anki Export

  1. Open the deck in Flashcards.
  2. Tap Export Deck.
  3. The plugin writes an Anki-compatible text file to Supernote's EXPORT folder.

The export uses Anki-style metadata:

#separator:tab
#html:false
#guid column:1
#deck column:2

When importing the exported file into Anki Desktop, map the two card fields as front/back. If Anki offers an option to update existing notes, choose it so the GUID column can prevent duplicates.

Current Limitations

  • Basic question/answer text cards only
  • No direct .apkg or .colpkg import
  • No media/audio/image import
  • No cloze support yet
  • No Anki scheduling or stats import
  • Large decks may be slow because the plugin currently stores cards in a JSON database

Recommended deck size for this beta is under about 1,000 simple text cards. Larger decks may work, but should be tested carefully.

Building From Source

Prerequisites

  • Node.js 18+
  • npm
  • Android/JDK setup compatible with the Supernote plugin template

Build

npm install
./buildPlugin.sh

The plugin package is written to:

build/outputs/Flashcards.snplg

If you rename the package, clear old files from build/generated/ before rebuilding. The Supernote plugin loader can pick up stale bundles if multiple bundle files are present.

Development Notes

  • The original stable base plugin is tagged as working-flashcard-plugin-base.
  • The first beta with Anki text import/export is tagged as v0.1.0-beta.
  • Persistent plugin data is stored locally on the device by a small native storage module.
  • FSRS scheduling is handled inside the plugin using ts-fsrs.

License

MIT

reddit.com
u/tao22 — 26 days ago

Links plugin

A new plugin for Supernote that supercharges your link management. Generate interactive index pages of all links inside a note, create external web links, link to specific pages of other note files seamlessly, and manage broken links with ease.

Links plugin

https://github.com/taoist22/sn-links

Features

- Links Index Generation: Scans the current note for all links (text links, stroke links, and web links) and generates a clean, tappable index list right on the page.

- Advanced File Linking: Pick any `.note` or `.pdf` document on your device and create a link to it.

- Page-Specific Jumping: Automatically fetches the total pages of the selected note and lets you precisely choose which page to jump to using a visual selector.

- Absolute Routing: Fixes native Supernote limitations to guarantee that links to external notes always land on the correct page.

- Web Links: Drop fully functional URLs directly into your notebooks.

- Broken Link Management:

- Automatically identifies links pointing to files that have been deleted or moved.

- Repair: Visually re-map broken links to their new file destinations without having to recreate the link from scratch.

- Delete: Safely scrub orphaned links off your pages.

Installation

  1. Connect your Supernote to your computer or use the Supernote Cloud/Partner App.
  2. Copy the `Links.snplg` file into the `MyStyle` folder on your Supernote device.
  3. Install the plugin on your Supernote device by going to `Manage Plugins` and selecting `Links`.

Usage

Once installed, you can launch the plugin at any time from the Plugins menu.

  1. Generating an Index

- Navigate to a blank page in your note where you want your table of contents to live.

- Open the Links plugin and select the **Links page** tab.

- Tap **Insert Links**. The plugin will scan the entire notebook and drop a perfectly aligned, interactive index of every link onto your page.

  1. Creating Web Links

- Go to the page where you want to insert a URL.

- Open the plugin and select the Web link tab.

- Type or paste your URL (e.g., `https://google.com\`), give it an optional readable label, and tap Add.

  1. Creating File Links

- Select the File link tab.

- Tap Select File to browse your Supernote's storage for the target document.

- Use the horizontal page chips to pick exactly which page the link should jump to. (If you want to just open the file to its last-read page, you can delete the page number entirely).

- Give it a label and tap Add.

  1. Fixing Broken Links

If you move or rename a file, any links pointing to it will break.

- Open the plugin to the Links page tab. It will immediately warn you if any broken links exist in the current note.

- Tap Repair to select the file's new location, or tap Delete to cleanly remove the dead link from your notebook.

reddit.com
u/tao22 — 29 days ago

Restyle plugin update - H Elements no longer a limitation.

I believe that I have resolved the issue with the H elements causing issues with Restyle. I have tested the update on several scenarios with H elements (Headers/Title) and the position issues no longer seem to be a problem except on notes that were imported from the other device; notes from Nomad to Manta. I have set a guard on these notes but all else should work. Let me know if you see any issues!

https://github.com/taoist22/sn-restyle/releases/tag/v0.4.0-beta

Restyle now works on notes with Titles (H elements)

The big one: notes containing H (Title) elements can now be restyled. Previously the plugin showed "Plugin Disabled" on any titled note. The root cause was that modifyElements corrupted stroke positions when run while a lasso was active on a titled note; Restyle now clears the lasso before applying changes, so titled notes restyle correctly (apply and undo) on both Nomad and Manta.

New: cross-device note guard

A note stores the page size of the device that created it. Opening a note from a different Supernote model (e.g. a Nomad note on a Manta after syncing) and restyling it would shift strokes out of place. Restyle now detects this and shows a "Different Device" notice instead of corrupting the note. Restyle the note on the device it was created on.

Notes

  • Faster "Reading selection" (removed an unneeded full-page scan).
  • Minor: the screen flashes slightly more during apply — this is the extra page reload that makes the titled-note fix work.
  • Cross-device notes are guarded, not supported; remapping strokes between models is out of scope for now.

Tested on Supernote Nomad (A6X2) and Manta (A5X2).

u/tao22 — 1 month ago

Weather plugin

Weather for Supernote

https://reddit.com/link/1tx2al2/video/l719nmrzqc5h1/player

Supernote plugin that looks up the current weather for your location and inserts it into your note as an editable text stamp. Powered by the free, keyless Open-Meteo API.

Features

  • City search — type a city name and pick from the matching results; no coordinates needed. Your choice is saved for next time.
  • Current conditions — temperature, weather description, "feels like", wind speed + direction (16-point compass), and humidity.
  • Two formats:
    • Multi-line (default):Toronto, Ontario · 2026-06-04 14:30 12°C, Slight rain · feels 10°C Wind 14 km/h NE · Humidity 78%
    • One-lineToronto · 12°C, Slight rain · Wind 14 km/h NE
  • Optional timestamp: toggle a date + local-time stamp on or off, in 24-hour or 12-hour format. The time is the reading's time in the location's own timezone.
  • Units: °C / °F and km/h / mph, selectable and remembered.
  • Position: Top Left or Top Right of the page.
  • Inserted as an editable text element — lasso and move it like any text box.

Installation

  1. Download Weather.snplg from the latest release.
  2. Connect your Supernote to your computer using the Supernote Partner app or Browse & Access.
  3. Copy Weather.snplg into the MyStyle folder on your device.
  4. On your Supernote, open a note, tap the plugin icon in the toolbar, go to Manage Plugins, tap Add Plugin, and select Weather.

Usage

  1. Open a note and tap the weather icon in the toolbar.
  2. First run: search for your city and tap the correct match (e.g. "Springfield, Illinois, United States"). The location is saved.
  3. The panel fetches the current weather and shows a live preview.
  4. Adjust temperature (°C/°F), wind (km/h / mph), format, and position as desired. Changing units re-fetches; your settings persist.
  5. Tap Insert to place the stamp and close the panel.
  6. To switch cities later, tap Change on the weather screen.

Requirements & limitations

  • NOTE files only. Insertion uses the note text-box API, which is not available in documents (DOC).
  • Needs an internet connection at the time you fetch. The Supernote has no GPS, so location comes from your saved city search (not your physical position). Weather is current as of the last fetch.
  • Weather data and forecasts by Open-Meteo.com, licensed under CC BY 4.0.

Building from Source

Requirements: Node.js ≥ 18, JDK ≥ 19 (Zulu 21 recommended), Android SDK 35.

npm install   # or: yarn install
./buildPlugin.sh

This plugin bundles a native module (AsyncStorage) for saved settings, so the first build requires two runs (PackageList.java is generated on the first and populated on the second). The built plugin will be at build/outputs/Weather.snplg.

Compatibility

Requires Supernote firmware with plugin support. Tested on Supernote Nomad (A6X2) and Manta (A5X2).

License

MIT

Weather icons created by GOWI - Flaticon

reddit.com
u/tao22 — 1 month ago

Keyworder plugin update - lasso to add keyword

What's new

https://github.com/taoist22/sn-keyworder/releases/tag/v1.3.0-beta

Lasso to add keyword — select any handwritten or typed text with the lasso, tap the Keyworder plugin in the lasso toolbar, and save it directly to your keyword list. No need to open the main panel and type the word manually.

  • Handwriting is recognised automatically via the device's OCR engine
  • Typed text boxes are read directly — no OCR step needed
  • The recognised text is pre-filled in an editable field so you can correct it before saving
  • The keyword is registered in the native keyword index for the current page
  • After saving, the plugin returns to the main keyword panel to Manage keywords.

keyword lasso to add

reddit.com
u/tao22 — 1 month ago

New list sorting plugin

List sorter plugin

sn-list-sorter

https://github.com/taoist22/sn-list-sorter/releases/tag/v1.0.0-beta

A Supernote plugin that sorts a recognized or typed list alphabetically and inserts it back onto the page with your choice of formatting. Handwritten items must be converted to text using Recognize as Text before the plugin can read them.

Pre-release: This plugin requires the Supernote beta firmware and is not yet intended for general use.

How to Use

Step 1 — Recognize your handwriting as text

The plugin works on text the device has already recognized, not raw ink strokes.

  1. Write your list items on the page (one item per line works best)
  2. Lasso the handwritten items
  3. Tap Recognize as Text in the lasso menu

The device will convert your ink to typed text in place. You will see the items redisplayed as a text block.

Step 2 — Sort and format

  1. Lasso the recognized text block (or blocks)
  2. Tap the List Sorter plugin button in the lasso menu
  3. The plugin reads the items, sorts them alphabetically, and shows the Sort Panel
  4. Configure your options (see below)
  5. Tap Insert Sorted — the sorted list appears on the page below your original selection

Sort Options

Format

Adds a prefix to each item in the sorted list.

Option Example
None Item
Bullet • Item
Checkbox ☐ Item
Numbered 1. Item
Lettered A. Item

Alignment

Sets the text alignment within each box: LeftCenter, or Right.

Font Size

Choose from 24, 28, 32, 36, or 40 pt.

Style

Toggle Bold on or off.

Insert As

This is the most important setting. It controls how the sorted list is written to the page.

Single box

All items are placed in one multi-line text box.

  • Enables H (Highlight/Title) — lasso the box and tap H to add it to the Navigation panel as a title or keyword
  • Enables New Event and New Task from the lasso menu
  • The whole list moves and resizes together
  • Use Format Group later to change font size or bold

Individual items

Each item gets its own text box, stacked vertically.

  • Each item can be moved independently
  • Use Realign to snap all items back to the same left edge with consistent spacing after moving them around
  • Use Format Group to resize or restyle all items at once
  • Does not support H highlight, New Event, or New Task on the group as a whole

>

Group Actions

Once a sorted list is on the page, lasso any item in the group and tap the List Sorter plugin button. The plugin detects that it created those elements and shows the Group Panel instead of the Sort Panel.

Realign

Snaps all items in the group to the same left edge and restores even vertical spacing. Useful after you have moved individual items around and want to tidy them up.

Only available for Individual items output.

Format Group

Changes the font size and bold setting for every item in the group at once, and repositions them with the correct spacing for the new size.

  1. Tap Format Group to expand the options
  2. Choose a font size and toggle bold
  3. Tap Apply Format

Tips

  • Original list stays on the page. The plugin inserts the sorted list as new elements; it does not delete your original recognized text. Delete or move the original manually once you are happy with the result.
  • Undo. Use the back arrow (undo) if an insert does not look right. The plugin writes elements in a single operation so one undo removes the whole list.
  • Borders and backgrounds. The SDK does not currently support filled backgrounds on text boxes. If you want to visually separate a list from page lines, consider moving it to a blank area of the page.
  • Writing on top of an H-highlighted list. Once a single-box list is highlighted with H, the pen input is captured by the text box. This is a platform behavior, not a plugin limitation.
reddit.com
u/tao22 — 1 month ago

Restyle plugin

https://reddit.com/link/1toph4u/video/10clayj9kr3h1/player

NEW RELEASE!
https://github.com/taoist22/sn-restyle/releases/tag/v0.2.0-beta

New features

  • Presets — save up to 4 user-defined color + thickness combinations for one-tap access; presets persist across sessions
  • Undo — after applying a restyle, the next plugin open offers a one-tap undo to revert all changed elements; available within the same session
  • Geometry support — restyle now works on drawn shapes (geometry) as well as freehand strokes
  • H-element protection — plugin detects notes with H (title/outline) elements and shows a clear disabled message instead of risking element corruption

Fixes

  • Thickness input keyboard no longer covers the Cancel/Apply buttons

Limitations

  • Undo is in-session only; closing the note clears the undo history
  • Plugin is disabled on notes containing H (title) elements — use notes without H elements

I made this plugin because I wanted to reformat my handwritten notes to add emphasis without having to re-write certain sections completely.

**Does not work well with notes that have H headers, placement is unstable.

Restyle is a plugin for the Supernote Nomad and Manta that lets you change the ink color and stroke thickness of handwriting you have already written. Lasso any strokes on the page, tap the Restyle button, pick a color and thickness, and apply — the selected strokes are updated in place with no repositioning.

Features

  • Four ink colors — Black, Dark Gray, Light Gray, and Ghost (white / invisible on white paper)
  • Lasso any strokes — works on freehand handwriting anywhere on the page
  • Non-destructive — strokes stay exactly where they are; only color and thickness change
  • Works on Nomad and Manta

Installation

  1. Download Restyle.snplg from the latest release.
  2. video posted here: https://github.com/taoist22/sn-restyle/blob/main/README.md
  3. Connect your Supernote to your computer using the Supernote Partner app or Browse & Access.
  4. Copy Restyle.snplg into the MyStyle folder on your device.
  5. On your Supernote, open a note, tap the plugin icon in the toolbar, go to Manage Plugins, tap Add Plugin, and select Restyle.

Usage

  1. Open a note and lasso the strokes you want to restyle.
  2. Tap the Restyle button in the lasso toolbar.
  3. The plugin reads your selection and shows the Restyle panel.
  4. Tap a color swatch to change ink color, and use the  / + buttons (or type directly) to adjust thickness. It is easier to make larger jumps in thickness by typing over the number than trying to use -/+ .
  5. Tap Apply — the selected strokes are updated and the page reloads.

https://reddit.com/link/1toph4u/video/1yg1i0s1yk3h1/player

reddit.com
u/tao22 — 1 month ago

Simple Date/Time stamp plugin

***Edited to add: I have updated the plugin to add requested features, link is below in the comments.

This is a simple date and time stamp plugin that was requested.

Features

  • Three stamp types: Date, Time, or Date + Time
  • Four date formats: Numeric (4/26/2026), Medium (Apr 26, 2026), Long (April 26, 2026), ISO (2026-04-26)
  • Optional day name: e.g. Sunday, April 26, 2026
  • 12 or 24-hour time
  • Optional seconds in time stamps
  • Font size: S / M / L / XL
  • Bold and italic styles
  • Alignment: left, center, or right
  • Insertion position: bottom of page (with alignment) or fixed top-right corner
  • Stamp is inserted as an editable text element

Installation

  1. Download DateTimeStamp.snplg from the latest release.
  2. Connect your Supernote to your computer using the Supernote Partner app or Browse & Access.
  3. Copy DateTimeStamp.snplg into the MyStyle folder on your device.
  4. On your Supernote, open a note, tap the plugin icon in the toolbar, go to Manage Plugins, tap Add Plugin, and select DateTimeStamp.

Usage

  1. Open a note and tap the clock icon in the toolbar.
  2. Set your preferences in the panel:
    • Toggles: Include day name, 24-hour time, Include seconds
    • Date format: Num / Med / Long / ISO
    • Position: Bottom (respects alignment) or Top Right (always upper-right corner)
    • Size: S / M / L / XL
    • Style: Bold (B), Italic (I)
    • Align: ← / ↔ / → (applies when Position is Bottom)
  3. Tap DateTime, or Date + Time to insert the stamp.

The stamp lands at the chosen position as a text element. You can lasso and move it from there.

u/tao22 — 2 months ago

Calculator and keyworder plugin updates.

Updates to both plugins for new dev updates and some additional changes.

⏺ Calculator Plugin (v2.2.0-beta)

https://github.com/taoist22/sn-calc/releases/tag/v2.2.0-beta

- Manta (A5X2) support — the UI now automatically scales up for the larger screen, so it no longer looks tiny

- Renamed from "SnCalcPro" to "Calculator" in the toolbar

- Fixed a Manta-only bug where inserting a result would duplicate the text at the bottom of the page

- Calculator now clears on reopen — no more leftover formula from your last session

- After inserting a result, the text stays selected so you can immediately move it anywhere on the page without needing to re-lasso it

---

Keyworder Plugin (v1.1.0-beta)

https://github.com/taoist22/sn-keyworder/releases/tag/v1.1.0-beta

- Keywords are now managed entirely inside the plugin — tap Manage to add, delete, or pin keywords directly on your device

- No more web tool, no more keywords.json file, no more USB/WebDAV file transfers

- Your keyword list persists automatically across restarts

- After inserting a keyword, the text stays selected so you can immediately move it to the right spot on the page

- Empty state now prompts you to tap Manage rather than pointing to the old web tool

u/tao22 — 2 months ago

Updates to SnCalc - calculator plugin

Iʻve made some changes, fixed issues and added a new Conversion Calculator mode.

https://reddit.com/link/1t8occc/video/g937ycr0p60h1/player

Modes

Standard

A 5-column algebraic calculator for everyday arithmetic. Supports parentheses, percentage, and standard operator precedence.

Conversion

Unit conversion across 12 categories: Area, Data, Energy, Force, Length, Power, Pressure, Speed, Temperature, Time, Volume, and Weight.

Tap the category label to switch categories. Tap either unit label to open a selector grid. Both the From and To fields accept direct input — editing either field recalculates the other automatically.

Financial (RPN)

An RPN financial calculator modeled on HP 12C conventions.

  • TVM: Solve for any of n, i, PV, PMT, or FV by entering four known values and tapping the unknown
  • Amortization: Enter the number of periods in X, press AMORT to compute principal, interest, and remaining balance
  • Cash Flows / NPV / IRR: Use g + PV for CFo, g + PMT for CFj, f + PV for NPV, f + PMT for IRR
  • f + [0-9]: Set decimal display precision

Scientific

A 7-column algebraic calculator.

  • Trigonometry: sin, cos, tan and inverses asin, acos, atan
  • Hyperbolic trigonometry: sinh, cosh, tanh
  • Logarithms: ln, log (base 10), log2
  • Exponentials: e^x, 10^x, x^y
  • Powers and roots: x², x³, square root, cube root, y-th root
  • Other: factorial, mod (infix operator), 1/x, absolute value, random
  • Constants: pi, e
  • Memory: MC, MR, M-, M+
  • DEG/RAD toggle; scientific notation entry via EE
  • Implicit multiplication is supported: 2pi, 3sin(30), and 4(2+1) are all valid expressions

Bottom Bar Controls

Present in all modes:

  • Hist navigation (back/forward): Browse previously evaluated expressions (Standard and Scientific)
  • Decimal places (- / +): Adjust the number of decimal places shown, from 0 to 8
  • ,000: Toggle thousands separator on or off
  • Result Only / Full Record: Controls what is stamped into the note
  • Insert: Stamps the current result into the note page at the cursor position

Stamp Modes

Result Only stamps the numeric result, or the conversion pair in Conversion mode.

Full Record stamps:

  • Standard / Scientific: the full expression and result
  • Financial TVM: all register values (n, i, PV, PMT, FV)
  • Financial IRR / NPV: the full cash flow schedule and result
  • Financial Amortization: periods, principal, interest, and remaining balance
  • Conversion: category name, from value and unit, to value and unit

Smart placement detects the lowest existing element on the page and inserts below it.

Installation

  1. Download SnCalc.snplg from the latest release.

​

https://github.com/taoist22/sn-calc/releases/tag/v2.1.0-beta
  1. Connect your Supernote to your computer.
  2. Copy SnCalc.snplg into the MyStyle folder on your device.
  3. On your Supernote, go to Toolbar Plugins icon > Manage Plugins > Add Plugin and select SnCalc.snplg.
  4. Open a note, tap the plugin icon in the toolbar, and select SnCalc Pro.

Usage Notes

  • This is a beta release. Verify critical results independently.
  • Financial mode uses RPN (Reverse Polish Notation). Values are pushed onto a 4-register stack (X, Y, Z, T).
  • The DEG/RAD indicator appears in the top-left of the Scientific display.
  • The memory indicator (M) appears in the display when the memory register holds a non-zero value.
reddit.com
u/tao22 — 2 months ago

SnCalc update, now SnCalcPro

https://reddit.com/link/1t4xlp6/video/4x215thpxezg1/player

Update to the Calculator plugin:
Added Financial calculator and Scientific calculator modes

These new function have been *lightly* tested. Please let me know if you have issues or suggestions!

Three Modes

  • Standard: A familiar algebraic calculator for quick daily tasks, featuring an ergonomic 5-column layout with percentage support.
  • Financial (HP 12C Logic): A full-featured RPN financial engine. Calculate TVM (Time Value of Money), Amortization (Principal/Interest breakdown), IRR (Internal Rate of Return), and NPV (Net Present Value).
  • Scientific: A dense 7-column algebraic grid featuring over 50 functions, including hyperbolic trigonometry, logarithms (ln, log10, log2), powers, roots (including custom root solvers), and scientific notation.

Smart Audit Trails

  • "Full Record" Stamps: Beyond just results, SnCalc Pro can stamp detailed reports into your notes.
    • Amortization: Stamps a formatted block showing periods, principal paid, interest paid, and remaining balance.
    • Cash Flows: Stamps your entire investment schedule (CF0, CFj, Nj) alongside the IRR/NPV results.
    • Scientific: Stamps the full algebraic expression and the result.
  • Smart Placement: Automatically detects the lowest element on your page and places the stamp below your handwriting, ensuring no overlaps.

High-Precision Engine

  • Deterministic Math: Uses a custom recursive descent parser for algebraic expressions and the Newton-Raphson method for financial roots.
reddit.com
u/tao22 — 2 months ago