# [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, " copyright = "2020-2024, Jens Getreu " 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 `` 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 `` points to. If `` 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 }