Skip to content

Repository files navigation

Send to Supernote — Obsidian Plugin

Export any Obsidian note as a PDF directly into your locally-synced Supernote folder. Once synced, the PDF appears on your Supernote device for annotation and reading.

This is the companion to the Supernote → Obsidian OCR workflow — completing the loop in the other direction.


Features

  • Converts any Markdown note to a clean, readable PDF
  • Strips YAML frontmatter by default (toggle in settings)
  • Renders headings, paragraphs, lists, blockquotes, code blocks, and horizontal rules
  • Resolves [[wikilinks]] to their display text (no broken links in the PDF)
  • Four ways to trigger export:
    • Command paletteSend to Supernote
    • Right-click a note in the file explorer
    • Three-dot menu inside an open note
    • Frontmatter checkbox — see below

Auto-send via frontmatter checkbox

Instead of triggering export manually, you can mark notes for sync declaratively:

  1. Add send_to_supernote: true to a note's frontmatter (Properties panel or YAML).
  2. As soon as it's checked, the note is exported automatically — no menu needed.
  3. The checkbox stays checked afterward. Editing the note later won't re-trigger a send; toggle it off and back on, or use the manual "Re-send to Supernote" option, to send again.

This is separate from sent_to_supernote, which the plugin writes automatically as a read-only history stamp (the date it was last sent) — don't edit that one by hand.

Syncing a whole folder

If you have a batch of notes already marked send_to_supernote: true (e.g. after importing a folder), you don't need to open each one:

  • Command paletteSync marked notes to Supernote — scans the whole vault.
  • Right-click a folder in the file explorer → Sync marked notes in this folder — scans just that folder (recursively).

Both skip notes that were already sent and haven't changed since, so re-running them is safe.

Auto-send can be turned off in Settings → Send to Supernote → Auto-send on checkbox if you'd rather only use the bulk sync commands.


Installation

Prerequisites

Steps

  1. Copy the plugin folder into your vault's plugins directory:

    <your-vault>/.obsidian/plugins/obsidian-to-supernote/
    
  2. Install dependencies and build:

    cd <your-vault>/.obsidian/plugins/obsidian-to-supernote
    npm install
    npm run build

    This produces main.js in the same folder.

  3. Enable the plugin in Obsidian:

    • Open Settings → Community plugins
    • Turn off Safe Mode if prompted
    • Find Send to Supernote and toggle it on
  4. Configure your Supernote folder:

    • Go to Settings → Send to Supernote
    • Enter the full path to your locally-synced Supernote folder
    • Example: /Users/yourname/Supernote/Document/Obsidian

Usage

Open any note and use one of:

Method How
Command palette Cmd+P → type Send to Supernote
Right-click Right-click the note in the file explorer
Editor menu Click in the top-right of an open note
Frontmatter checkbox Set send_to_supernote: true in the note's Properties

For bulk sends, see Auto-send via frontmatter checkbox above.

The PDF is saved as <sanitized note name>.pdf in your configured Supernote folder — the title is stripped down to letters, numbers, spaces, and hyphens so Supernote doesn't choke on special characters (e.g. Q&A: Notes (v2)!QA Notes v2.pdf). If Supernote's sync client is running, it will appear on your device automatically.


Settings

Setting Default Description
Supernote sync folder (empty) Full local path to your Supernote sync folder
Include YAML frontmatter Off Include or strip the --- frontmatter block
Auto-send on checkbox On Auto-export when send_to_supernote: true is set in frontmatter. Turn off to require the manual bulk sync commands instead

Rebuilding after edits

If you modify main.ts, rebuild with:

npm run build

Then reload Obsidian (or use the Reload app without saving command).


Notes on PDF rendering

The PDF uses clean, unstyled output — Helvetica for body text, Courier for code blocks. It does not attempt to match your Obsidian theme. Obsidian callout syntax (> [!note]) is rendered as a plain blockquote.

Wikilinks ([[Note Name]] or [[Note Name|Alias]]) are rendered as their display text, since hyperlinks to Obsidian notes wouldn't be meaningful in a PDF on Supernote.

Images and embeds (![[image.png]], ![alt](url)) are stripped from the rendered PDF entirely — their file paths or data URIs aren't meaningful in a text PDF, so they're dropped rather than shown as raw text.

About

Send Obsidian files to Supernote sync folder of your choice as a PDF

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages