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
//! The library code for the `futhorc` static site generator. The architecture //! can be generally broken down into two distinct steps: //! //! 1. Parsing posts from source files on disk ([`crate::post`]) //! 2. Converting the posts into output files on disk ([`crate::write`]) //! //! Of the two, the second step is the more involved. It is itself composed of //! three distinct sub-steps: //! //! 1. Building post pages //! 2. Building index pages //! 3. Rendering all pages to disk //! //! Again here the second sub-step is the more involved, because we need to //! create groups of index pages for each tag and another group for the empty tag //! which corresponds to all posts. A group of index pages is referred to as an //! "index", and each index is paginated--converted into groups of pages based on //! a configurable number of posts per index page. //! //! The third substep is pretty straight-forward: for each page, apply the //! template (either the post template or the index template) and write the //! result to disk. #![cfg_attr(feature = "fail-on-warnings", deny(warnings))] #![feature(map_into_keys_values)] pub mod build; pub mod config; pub mod htmlrenderer; pub mod post; pub mod tag; pub mod url; pub mod write;