Tp-Note - Markup enhanced granular note-taking

Save and edit your clipboard content as a note file

Jens Getreu

Cargo Documentation License

Tp-Note is a note-taking-tool and a template system - freely available for Windows, MacOS and Linux - that consistently synchronizes the note’s meta-data with its filename. Tp-Note’s main design goal is to convert some input text - usually provided by the system’s clipboard - into a Markdown note file with a descriptive YAML header and a meaningful filename. Tp-Note collects various information about its environment and the clipboard and stores them in variables. New notes are created by filling these variables in predefined and customizable Tera-templates. TP-Note’s default templates are written in Markdown and can be easily adapted to any other markup language if needed. After creating a new note, TP-Note launches the system’s text editor and connects the default web browser to Tp- Note’s internal Markdown/RestructuredText renderer and web server. The viewer detects note file changes and updates the rendition accordingly.

Screenshot

On Tue, 2023-12-19 at 12:58 +1100, Dev Rain wrote:

Found Tp-Note awhile back and it has become part of my daily workflow, and indeed part of my daily note-taking life. I wanted to extend my thanks; so thank you. dev.rain

Read more in Tp-Note’s user manual, Download Tp-Note or visit the project page: Tp-Note - Minimalistic note-taking.


1 Documentation

User documentation:

Developer documentation:

2 Source code

Repository:

3 Distribution

3.1 Download installer packages and binaries

3.1.1 Tp-Note Microsoft Windows installer package

3.1.2 Tp-Note Debian/Ubuntu installer package

3.1.3 Various binaries for Windows, MacOS and Linux

3.2 Tp-Note in official package repositories

3.2.1 Tp-Note on NetBSD

3.2.2 Tp-Note on NixOS

3.2.3 Get Tp-Note with the Nix package manager

3.3 Other resources

4 Installation

Depending on the availability of installer packages for your operating system, the installation process is more or less automated. For Windows users the fully automated installation package tpnote-latest-x86_64.msi is available. For more information, please consult the Distribution section above and the Installation section in Tp-Note’s manual.

4.1 Upgrading

While upgrading Tp-Note, new features may cause a change in Tp-Notes’s configuration file structure, e.g.:

*** ERROR:
Can not load or parse the (merged) configuration file(s):
---
invalid length 3, expected fewer elements in array in `viewer.served_mime_types`


Note: this error may occur after upgrading Tp-Note due to some incompatible
configuration file changes.

Tp-Note renames and thus disables the last sourced configuration file.

Additional technical details:
*    Command line parameters:
tpnote -b 
*    Sourced configuration files:
/home/joe/.config/tpnote/tpnote.toml

Mote, the configuration file backup is stored in the same directory as the last sourced configuration file, e.g. /home/joe/.config/tpnote/. If Tp-Note sources more than one configuration file, consider the possibility of syntax errors in any of these files (cf. Customization section of Tp-Note’s man-page).

5 Building

If the above precompiled binaries do not suite you, you can compile Tp-Note yourself.

  1. Install Rust

  2. Download, compile and install Tp-Note:

    Building on Linux

    cargo install tpnote
    sudo cp ~/.cargo/bin/tpnote /usr/local/bin
    # Download icon
    cd /usr/local/share/icons
    sudo wget https://blog.getreu.net/projects/tp-note/assets/tpnote.svg

    On Linux, Tp-Note displays errors and debug messages as notifications. This requires a Linux/BSD based desktop environment that follows the XDG specification, e.g. KDE, Gnome, XFCE, LXDC, Mate (and most others).1

    Recommended Linux console and server version

    The full-featured version of Tp-Note depends on GUI libraries like Xlib which might not be available on a headless system. Either download the Musl version x86_64-unknown-linux-musl/release/tpnote or compile Tp-Note yourself without default features:

    cargo install --no-default-features \
      --features lang-detection,renderer tpnote
    sudo cp ~/.cargo/bin/tpnote /usr/local/bin

    If Tp-Note’s binary size if of concern, omit the lang-detection feature in the cargo invocation above. The lang-detection feature causes 95% of the final binary size because of its extensive language models.

    Building on Windows and macOS

    Build the full-featured version2 with:

    cargo install tpnote

5.1 Cross compilation

Debian makes it easy to cross-compile for foreign architectures. Here are some examples:

This project follows Semantic Versioning.

6 About

Author:

Copyright: