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, c.f. 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 stdout after usage. The main consumer of
16//! `tpnote-lib`'s high-level API is the module `workflow` and `html_renderer`
17//! in the `tpnote` crate.
18//!
19pub mod clone_ext;
20pub mod config;
21pub mod content;
22pub mod context;
23pub mod error;
24pub mod filename;
25mod filter;
26mod front_matter;
27#[cfg(feature = "renderer")]
28pub mod highlight;
29pub mod html;
30#[cfg(feature = "renderer")]
31pub mod html2md;
32pub mod html_renderer;
33pub mod markup_language;
34mod note;
35pub mod settings;
36pub mod template;
37pub mod workflow;