tpnote 1.24.11

Minimalistic note-taking: save and edit your clipboard content as a note file
# [PROJECT_DIR]/tpnote/Cargo.toml
[package]
authors.workspace = true
build =  "build.rs"
categories.workspace = true
description.workspace = true
documentation.workspace = true
edition.workspace = true
homepage.workspace = true
license.workspace = true
name = "tpnote"
readme.workspace = true
repository.workspace = true
rust-version.workspace = true
version.workspace = true

[build-dependencies]
winresource = "0.1.19"

[[bin]]
name = "tpnote"
path = "src/main.rs"

[package.metadata.deb]
name = "tpnote"
maintainer = "Jens Getreu, <getreu@web.de>"
copyright = "2020-2024, Jens Getreu <getreu@web.de>"
depends = "$auto"
revision=""
extended-description = '''
Tp-Note is a note taking tool and a template system, that synchronizes the
note's metadata with its filename. Tp-Note collects various information
about its environment and the clipboard and stores it in variables. New
notes are created by filling these variables in predefined and customizable
`Tera`-templates. In case `<path>` points to an existing Tp-Note-file, the
note's metadata is analysed and, if necessary, its filename is adjusted.
For all other file types, Tp-Note creates a new note annotating the
file `<path>` points to. If `<path>` is a directory (or, when omitted the
current working directory), a new note is created in that directory. After
creation, Tp-Note launches an external editor of your choice. Although the
templates are written for Markdown, Tp-Note is not tied to
any specific markup language. However, Tp-Note comes with an optional
viewer feature, that currently renders only Markdown, ReStructuredText and
HTML. Note, that there is also some limited support for Asciidoc and
WikiText. The note's rendition with its hyperlinks is live updated and
displayed in the user's webbrowser.
'''
assets = [
    ["../docs/build/html/index.html", "usr/share/doc/tpnote/", "644"],
    ["../docs/build/pdf/tpnote--manpage.pdf", "usr/share/doc/tpnote/", "644"],
    ["../docs/build/pdf/tpnote--manual.pdf", "usr/share/doc/tpnote/", "644"],
    ["../docs/build/man/man1/tpnote.1.gz", "usr/share/man/man1/", "644"],
    ["../target/x86_64-unknown-linux-gnu/release/tpnote", "usr/bin/tpnote", "755"],
    ["../assets/tpnote.svg", "usr/share/icons/", "644"]
]

[features]
default = ["read-clipboard", "message-box", "viewer", "renderer", "lang-detection"]

# To disable features: `cargo build --no-default-features`
# If you can do away with error message popup boxes (for example on a headless
# system), no GTK is required. In this case all error messages will appear on
# the console from where you started Tp-Note in `stderr` only.
# Disable this feature if you do not want error message boxes.
message-box = ["dep:msgbox", "dep:notify-rust"]
read-clipboard = ["dep:clipboard-rs", "wl-clipboard-rs"]
viewer = ["dep:notify", "dep:notify-debouncer-mini", "dep:httparse", "dep:webbrowser", "dep:httpdate", "tpnote-lib/viewer"]
# This feature declaration is forwarded to `tpnote_lib` and not used in this
# crate.
lang-detection = ["tpnote-lib/lang-detection"]
# This feature declaration is used in this crate and also forwarded to 
# `tpnote_lib`.
renderer = ["tpnote-lib/renderer"]

[dependencies]
clipboard-rs = { version = "0.2.2", optional = true }
directories = "5.0.1"
httparse = { version = "1.9.5", optional = true }
httpdate = { version = "1.0.3", optional = true }
log.workspace = true
notify-debouncer-mini = { version = "0.5.0", optional = true }
notify = { version = "7.0.0", optional = true }
parking_lot.workspace = true
percent-encoding = "2.3.1"
# sanitize-filename-reader-friendly = { path = "../sanitize-filename-reader-friendly" }
sanitize-filename-reader-friendly.workspace = true
semver = "1.0.23"
serde.workspace = true
serde_yaml.workspace = true
structopt = "0.3.26"
thiserror.workspace = true
time = "0.3.37"
tera.workspace = true
toml.workspace = true
#tpnote-lib = { path = "../tpnote-lib", default-features = false }
tpnote-lib = { version = "0.37.0", default-features = false}
webbrowser = { version = "1.0.3", optional = true }


[target.'cfg(windows)'.dependencies]
win32job = "2.0.0"
windows-sys = { version = "0.59.0", features = [
         #"Win32_Foundation",
         #"Win32_Security",
         #"Win32_System_Threading",
         #"Win32_UI_WindowsAndMessaging",
         "Win32_Globalization",
         "Win32_System_SystemServices",
     ] }

[target.'cfg(unix)'.dependencies]
wl-clipboard-rs = { version = "0.9.1", optional = true }

# All, but not linux.
[target.'cfg(not(all(unix, not(target_os = "macos"))))'.dependencies]
# msgbox: On Debian Linux you need to: sudo apt-get install -y xorg-dev libxcb-xfixes0-dev libxcb-shape0-dev libgtk-3-dev
msgbox = { version = "0.7.0", optional = true }

# Only Linux, MacOs excluded.
[target.'cfg(all(unix, not(target_os = "macos")))'.dependencies]
notify-rust = { version = "4.11.3", optional = true }