tp-note

Crates.iotp-note
lib.rstp-note
version1.21.16
sourcesrc
created_at2020-03-11 20:32:45.048453
updated_at2023-09-11 11:19:31.0029
descriptionThis crate has moved to `tpnote`
homepagehttps://blog.getreu.net/projects/tp-note/
repositoryhttps://gitlab.com/getreu/tp-note
max_upload_size
id217663
size1,975
Jens Getreu (getreu)

documentation

https://blog.getreu.net/projects/tp-note/tpnote--manual.html

README


title: "Tp-Note - Minimalistic note-taking: save and edit your clipboard content as a note file" author: Jens Getreu filename_sync: false

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


Documentation

User documentation:

Developer documentation:

Source code

Repository:

Distribution

Tp-Note Microsoft Windows installer package

  • Installer package for Windows:

    tpnote-latest-x86_64.msi

    As this early version of the Windows installer is not signed yet, Windows will show the error message “Windows protected your PC”. As a work-around, when you click on the link “More info”, a ”Run anyway” button will appear allowing you to continue the installation process. In general, regardless of where a program comes from, I recommend checking every installable file with VirusTotal

Tp-Note Debian/Ubuntu installer package

Various binaries for Windows, MacOS and Linux

Tp-Note NetBSD

  • An official package is available on NetBSD and other "pkgsrc" supported platforms.

    To install Tp-Note on NetBSD, simply use the native package manager:

    pkgin install tpnote
    

Other ressources

  • Copy the Unix man-page to /usr/local/share/man/man1:

  • Copy Tp-Note's icon to /usr/local/share/icons/:

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.

Upgrading

While upgrading Tp-Note, new features may cause a change in Tp-Notes's configuration file structure. In order not to lose the changes you made in this file, the installer does not replace it automatically with a new version. Instead, Tp-Note renames the old configuration file and prompts:

NOTE: unable to load, parse or write the configuration file
---
Reason:
        Bad TOML data: missing field `extension_default` at line 1 column 1!

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

Tp-Note backs up the existing configuration
file and creates a new one with default values.

The configuration file backup is stored in the same directory as the newly created configuration file (cf. Customization section of Tp-Note's man-page).

Building

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

  1. Install Rust, e.g.

    curl https://sh.rustup.rs -sSf | sh
    
    sudo apt install build-essential    
    

    A modern Linux desktop usually ships the required shared libraries. Here is a list extracted form a Debian binary:

    ldd target/x86_64-unknown-linux-gnu/release/tpnote 
         linux-vdso.so.1
         libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
         librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1
         libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
         libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6
         libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2
         libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
         /lib64/ld-linux-x86-64.so.2
    
  2. Download, compile and install Tp-Note:

    Building on Linux

    cargo install tpnote
    sudo cp ~/.cargo/bin/tpnote /usr/local/bin
    # Copy icon
    sudo cp assets/tpnote.svg /usr/local/share/icons
    

    Unlike previous Linux versions (<= 1.19.13), 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 probably also most others).

    The use of notifications also removes former GTK dependencies. Anyway, if you prefer to see error messages on the console only, you can opt out notifications and message boxes. In this case all error messages are dumped on the console from where you started Tp-Note into stderr:

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

    Recommended Linux console and server version

    The full-featured version of Tp-Note depends on GUI libraries like Xlib that 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 renderer,lang-detection tp-note
    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 version with:

    cargo install tpnote
    

    When building for Windows or macOS, it does not make sense to exclude the message-box feature, because - under Windows and macOS - it does not rely on the notification library. Instead, it uses direct OS-API calls for popping up alert boxes. As these calls have no footprint in binary size or speed, always keep the message-box feature compiled in.

    See also the user manual for a more detailed installation description.

Cross compilation

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

  • Target Musl:

    rustup target add x86_64-unknown-linux-musl
    sudo apt install musl-tools
    
    cargo build --target x86_64-unknown-linux-musl --release
    
  • Target Raspberry Pi (32 bit):

    rustup target add armv7-unknown-linux-gnueabihf
    sudo apt install crossbuild-essential-armhf
    
    CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER=/usr/bin/arm-linux-gnueabihf-gcc \
      cargo build --target armv7-unknown-linux-gnueabihf --release
    
  • Target Windows:

    rustup target add x86_64-pc-windows-gnu  
    sudo apt install binutils-mingw-w64 mingw-w64
    cargo build --target x86_64-pc-windows-gnu --release 
    

This project follows Semantic Versioning.

About

Author:

  • Jens Getreu

Copyright:

  • Apache 2 license or MIT license.
Commit count: 1922

cargo fmt