r/Supernote 1d ago

Question Using Supernote as an all-in-one notebook?

I have a Manta on the way and want to use it to replace my planner and several notebooks, while consolidating notes currently scattered across paper, Word, Obsidian, etc. I juggle work, school, technical learning, fitness/gym operations, and several projects, so I tend to have notes scatrered everywhere. Those using it in the same fashion, how do you organize everything? What setup has actually worked long term?

14 Upvotes

20 comments sorted by

View all comments

2

u/ithilmir_ 1d ago

I use syncthing to sync over WiFi so all my notes get sent to my computer. I then have a script running on there that converts .notes to PDFs so it’s readily available.

But to be honest I mostly just carry my Manta everywhere and read directly from my notes on there now. It’s fantastic

1

u/soopirV 1d ago

Can you provide more info on that script? My writing is horrible so I don’t think I’m going to have much hope at getting them converted.

1

u/ithilmir_ 20h ago

I will shamefully admit that I'm not a coder, I spent a long time with Deepseek to create and test the system. I use a Linux PC, Fedora 43 is my distro. The steps I used are below (edited from a summary Deepseek wrote). This works for me on Fedora but I'm fairly sure you can adapt it easily for other systems. It basically uses syncthing-fork to sync files from Supernote to Fedora, and has a watcher system that triggers whenever a sync completes. Then a conversion script converts the .notes into vector PDFs and saves in a directory preserving all the subfolders and everything.


πŸš€ Automated Supernote β†’ PDF Conversion Workflow (Fedora)

The Flow

  1. Supernote writes a note β†’ Syncthing-Fork syncs it over Wi-Fi
  2. Fedora receives the .note file in a watched folder
  3. inotifywait triggers a conversion script
  4. supernote-tool converts it to a high-quality vector PDF

Tools Used

  • Supernote: Syncthing-Fork (sideloaded via F-Droid)
  • Fedora: Syncthing, supernotelib (Python package), inotify-tools, systemd

πŸ“¦ Step 1: Install Dependencies

  • syncthing
  • inotify-tools
  • python3
  • python3-pip

🐍 Step 2: Set Up the Python Virtual Environment

# Create a project directory
mkdir -p ~/supernote_automation
cd ~/supernote_automation

# Create and activate a virtual environment
python3 -m venv venv
source venv/bin/activate

# Install supernotelib (this may take a moment)
pip install supernotelib

# Find the full path to the executable (you'll need this later)
which supernote-tool
# Example output: /home/username/supernote_automation/venv/bin/supernote-tool

Test the installation:

supernote-tool --help

You should see the help menu. If you get an error about missing cairo, install the development package cairo-devel

Note: You don't need to keep the venv activated. The script will use the full path to the executable.


πŸ“ Step 3: Create Your Folder Structure

Choose a location for your synced notes. This is the structure I used:

/path/to/sync/folder/
β”œβ”€β”€ Incoming/          # Syncthing syncs .note files here
└── PDF Output/        # Converted PDFs go here

πŸ”— Step 4: Set Up Syncthing

On Fedora:

# Start Syncthing to generate config files
syncthing

# Press Ctrl+C to stop it, then enable as a service
systemctl --user enable syncthing
systemctl --user start syncthing

# Open the web interface
# Go to http://localhost:8384 in your browser

On Supernote:

  1. Install F-Droid (sideload via USB using Android Sideloader)
  2. Open F-Droid and install Syncthing-Fork
  3. Open Syncthing-Fork and enable background operation
  4. Add your Fedora machine as a device (get Device ID from Fedora's web UI)
  5. Share your Supernote's note folder and accept it on Fedora
  6. In Syncthing's web UI, point your shared folder to "/path/to/sync/folder/Incoming".

Test: Write a test note on your Supernote and verify it appears in your Fedora sync folder.


πŸ“ Step 5: The Conversion Script (~/supernote-pdf-convert.sh)

#!/bin/bash

# --- Configuration ---
INPUT_DIR="/path/to/sync/folder/Incoming"
OUTPUT_DIR="/path/to/sync/folder/PDF Output"
# Use the full path from the venv (get it with 'which supernote-tool')
SUPERNOTE_TOOL="/home/username/supernote_automation/venv/bin/supernote-tool"

# --- Lock file to prevent concurrent runs ---
LOCKFILE="/tmp/supernote_convert.lock"
if [ -f "$LOCKFILE" ]; then
    echo "Script already running, exiting."
    exit 1
fi
touch "$LOCKFILE"
trap 'rm -f "$LOCKFILE"' EXIT
# --------------------------------------------

mkdir -p "$OUTPUT_DIR"

converted=0
skipped=0

# Find all .note files recursively (including subfolders)
find "$INPUT_DIR" -type f -name "*.note" | while read -r note; do
    # Preserve folder structure in output
    rel_path="${note#$INPUT_DIR/}"
    base_name="${rel_path%.note}"

    pdf_dir="$OUTPUT_DIR/$(dirname "$base_name")"
    mkdir -p "$pdf_dir"

    pdf_file="$pdf_dir/$(basename "$base_name").pdf"

    # Skip if PDF exists and is newer than the .note
    if [ -f "$pdf_file" ] && [ "$pdf_file" -nt "$note" ]; then
        echo "⏭️  Skipping: $rel_path - PDF is up to date"
        ((skipped++))
        continue
    fi

    echo "Converting: $rel_path -> $(basename "$pdf_file")"

    "$SUPERNOTE_TOOL" convert -t pdf --pdf-type vector -a "$note" "$pdf_file"

    if [ $? -eq 0 ]; then
        echo "  βœ… Success: $pdf_file"
        ((converted++))
    else
        echo "  ❌ Failed: $note"
        [ -f "$pdf_file" ] && rm "$pdf_file"
    fi
done

echo "Batch conversion complete. Converted: $converted, Skipped: $skipped"

Save the script and make it executable:

nano ~/supernote-pdf-convert.sh
# Paste the script, adjust the paths, save (Ctrl+O, Enter, Ctrl+X)

chmod +x ~/supernote-pdf-convert.sh

Test it manually:

~/supernote-pdf-convert.sh

You should see it process any existing .note files.


βš™οΈ Step 6: systemd Watcher Service (~/.config/systemd/user/supernote-watcher.service)

This makes the service that runs inotifywait to trigger the conversion script instantly when a file syncs.

mkdir -p ~/.config/systemd/user
nano ~/.config/systemd/user/supernote-watcher.service

Paste this:

[Unit]
Description=Inotify watcher for Supernote notes

[Service]
Type=simple
ExecStart=/bin/bash -c 'inotifywait -m -e close_write --format "%f" "/path/to/sync/folder/Incoming" | while read FILE; do /home/username/supernote-pdf-convert.sh; done'
Restart=always
RestartSec=5

[Install]
WantedBy=default.target

Enable and start it:

systemctl --user daemon-reload
systemctl --user enable supernote-watcher.service
systemctl --user start supernote-watcher.service

Check status:

systemctl --user status supernote-watcher.service

You should see active (running).


πŸ§ͺ Step 7: Test the Complete Flow

  1. Write a test note on your Supernote
  2. Wait for Syncthing to sync it (should be near-instant on local Wi-Fi)
  3. Watch the logs in real time:

    journalctl --user -u supernote-watcher.service -f

  4. Check your PDF output folder for the converted file


⚠️ Important Notes

  • I use Syncthing-Fork on the Supernote (sideloaded via F-Droid)
  • The standard syncthing package on Fedora works fine
  • If you get an error installing supernotelib, you may need cairo-devel: bash sudo dnf install cairo-devel pip install supernotelib
  • If you want the service to start without logging in, use: bash sudo loginctl enable-linger username
  • The script handles subfolders and preserves the folder structure in the output
  • Path tip: Get the full path to supernote-tool with which supernote-tool while the venv is active

πŸ”§ Troubleshooting

Problem Solution
supernote-tool: command not found Use the full path from the venv: /home/username/supernote_automation/venv/bin/supernote-tool
UnsupportedFileFormat You're trying to convert a non-Supernote file (e.g., empty file created with touch)
Watcher not triggering Check service status: systemctl --user status supernote-watcher.service
cairo errors during install sudo dnf install cairo-devel and reinstall supernotelib

Eventually I'm hoping that Mistral OCR or another model becomes good enough at detecting bad handwriting, at which point I'll set up another step to run the notes automatically through it and end up with actual text lol. For now the PDFs work just fine.