tpnote_lib/lib.rs
1//! The `tpnote-lib` library is designed to embed Tp-Note's core function in
2//! common text editors and text editor plugins. It is dealing with templates
3//! and input files and is also part of the command line application
4//! [Tp-Note](https://blog.getreu.net/projects/tp-note/). This library also
5//! provides a default configuration in the static variable `LIB_CFG` that can
6//! be customized at runtime. The defaults for the variables grouped in
7//! `LIB_CFG`, are defined as constants in the module `config` (see Rustdoc).
8//! While `LIB_CFG` is sourced only once at the start of Tp-Note, the
9//! `SETTINGS` may be sourced more often. The latter contains configuration
10//! data originating form environment variables.
11//!
12//! Tp-Note's high-level API, cf. module `workflow`, abstracts most
13//! implementation details. Roughly speaking, the input path correspond to
14//! _Tp-Note's_ first positional command line parameter and the output path is
15//! the same that is printed to standard output after usage. The main
16//! consumer of `tpnote-lib`'s high-level API is the module `workflow` and
17//! `html_renderer` in the `tpnote` crate.
18//!
19pub mod clone_ext;
20pub mod config;
21pub mod config_value;
22pub mod content;
23pub mod context;
24pub mod error;
25pub mod filename;
26mod filter;
27mod front_matter;
28#[cfg(feature = "renderer")]
29pub mod highlight;
30pub mod html;
31#[cfg(feature = "renderer")]
32pub mod html2md;
33pub mod html_renderer;
34#[cfg(feature = "lang-detection")]
35pub mod lingua;
36pub mod markup_language;
37mod note;
38pub mod settings;
39pub mod template;
40pub mod workflow;