-
Notifications
You must be signed in to change notification settings - Fork 3
/
Cargo.toml
122 lines (111 loc) · 4.78 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# [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.17"
[[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.1.7", optional = true }
directories = "5.0.1"
httparse = { version = "1.9.4", optional = true }
httpdate = { version = "1.0.3", optional = true }
lazy_static.workspace = true
log.workspace = true
notify-debouncer-mini = { version = "0.4.1", optional = true }
notify = { version = "6.1.1", 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.36"
tera.workspace = true
toml.workspace = true
#tpnote-lib = { path = "../tpnote-lib", default-features = false }
tpnote-lib = { version = "0.35.0", default-features = false}
webbrowser = { version = "1.0.1", optional = true }
[target.'cfg(windows)'.dependencies]
win32job = "2.0.0"
windows-sys = { version = "0.52.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.0", 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.0", optional = true }