Skip to main content

asbuilt_core/
lib.rs

1//! The language-agnostic core of asbuilt.
2//!
3//! A front-end (one per language; `asbuilt-rust` is the first) reads a
4//! code base and produces a [`Model`]: elements with ids, kinds, titles
5//! and paths, and relations between them labeled with the item names
6//! they reference. This crate owns that model, the `asbuilt.toml`
7//! [`Config`] that adds what no code can state (externals, the theme,
8//! the documentation settings), the `.c4` emitter, the drift check, and
9//! the generator of the documentation tree. It never spawns a process.
10
11#![doc(
12    html_logo_url = "https://padamson.github.io/asbuilt/mark.svg",
13    html_favicon_url = "https://padamson.github.io/asbuilt/mark.svg"
14)]
15
16pub mod check;
17pub mod config;
18pub mod docs;
19pub mod emit;
20pub mod error;
21pub mod externals;
22pub mod frontend;
23pub mod model;
24pub mod svg;
25pub mod theme;
26
27pub use check::{Outcome, compare};
28pub use config::{
29    ColorScheme, Config, DocsConfig, External, ExternalRelation, OutputConfig, ThemeColor,
30};
31pub use docs::{DocsOptions, Site};
32pub use emit::{EmitOptions, emit, view_ids};
33pub use error::{Error, Result};
34pub use frontend::{Frontend, survey};
35pub use model::{Deployment, Element, ElementKind, Id, Model, Relation, RelationKind};