[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.28"
[[bin]]
name = "tpnote"
path = "src/main.rs"
[package.metadata.deb]
name = "tpnote"
maintainer = "Jens Getreu, <getreu@web.de>"
copyright = "2020-2025, 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/release/tpnote", "usr/bin/tpnote", "755"],
["../assets/tpnote.svg", "usr/share/icons/", "644"]
]
[features]
default = ["read-clipboard", "message-box", "viewer", "renderer", "lang-detection"]
message-box = ["dep:win-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"]
lang-detection = ["tpnote-lib/lang-detection"]
renderer = ["tpnote-lib/renderer"]
[dependencies]
clipboard-rs = { version = "0.3.1", optional = true }
directories = "6.0.0"
httparse = { version = "1.10.1", optional = true }
httpdate = { version = "1.0.3", optional = true }
log.workspace = true
notify-debouncer-mini = { version = "0.7.0", optional = true }
notify = { version = "8.2.0", optional = true }
parking_lot.workspace = true
percent-encoding = "2.3.2"
sanitize-filename-reader-friendly.workspace = true
semver = "1.0.27"
serde.workspace = true
serde_yaml.workspace = true
thiserror.workspace = true
time = "0.3.44"
tera.workspace = true
toml.workspace = true
tpnote-lib = { version = "0.45.5", default-features = false}
webbrowser = { version = "1.0.6", optional = true }
clap = { version = "4.5.53", features = ["derive"] }
[target.'cfg(windows)'.dependencies]
win32job = "2.0.3"
windows-sys = { version = "0.61.2", features = [
"Win32_Globalization",
"Win32_System_SystemServices",
] }
[target.'cfg(unix)'.dependencies]
wl-clipboard-rs = { version = "0.9.2", optional = true }
[target.'cfg(target_os = "windows")'.dependencies]
win-msgbox = { version = "0.2.1", optional = true }
[target.'cfg(not(target_os = "windows"))'.dependencies]
notify-rust = { version = "4.11.7", optional = true }