Skip to main content

markdown_compiler/
lib.rs

1//! Markdown content parsing, validation, discovery, asset resolution, and identity.
2
3mod assets;
4mod candidate_store;
5mod cli;
6mod content;
7pub mod identity;
8mod model;
9mod parser;
10mod path;
11mod resolver;
12mod startup;
13mod transcript;
14pub mod tree;
15mod tree_digest;
16mod validation;
17
18pub use assets::{
19    AuthoredMarkdownDestination, MarkdownDestinationKind, MarkdownDestinationOrdinal,
20    MarkdownSourceRange, ResolvedMarkdownDestination, ResolvedPostAssets, ResolvedSiteAssets,
21};
22pub use candidate_store::{
23    ContentCandidateStore, ContentCandidateStoreError, RetainedContentCandidate,
24};
25pub use content::{
26    AssetDigest, AssetRevisionReference, AuthorName, AuthorSettings, DefaultPostTipPolicy,
27    DigestKind, DigestParseError, DigestedAsset, DraftStatus, ExternalAssetOrigin,
28    ExternalAssetOriginError, ExternalAssetUrl, ExternalAssetUrlError, LogicalAssetPath,
29    LogicalContentPath, LogicalTreePathError, MarkdownSource, PlainTextError, PostAlias,
30    PostCollection, PostDescription, PostDocument, PostId, PostIdParseError, PostMetadata,
31    PostRevisionDigest, PostSlug, PostTag, PostTipPolicy, PostTitle, PreviewDigest,
32    PublicationAssetSettings, PublicationBaseUrl, PublicationBaseUrlError, PublicationSettings,
33    RouteValueError, SiteDescription, SiteSettings, SiteSnapshotDigest, SiteTitle,
34    UnresolvedAssetReference, UnresolvedHttpsOrigin, ValidatedContent,
35};
36pub use identity::{
37    AssetBindingTarget, PostRendererIdentity, RevisionIdentityError, SiteShellRendererIdentity,
38    digest_asset,
39};
40pub use model::{PostSource, PublicationSource};
41pub use parser::{validate_content, validate_post_document, validate_post_document_bytes};
42pub use resolver::{
43    AllowedOriginOrdinal, AssetReferenceLocation, AssetResolutionCode, AssetResolutionError,
44    AssetResolutionErrors, AssetResolutionWarning, AssetResolutionWarningCode,
45    AssetResolutionWarnings, PrepareContentError, PreparedContent, PreparedContentView,
46    PreparedPost, PreparedPostView, ResolvedLocalAsset, ResolvedLocalAssetLookupError,
47    ResolvedLocalAssetStore, prepare_content,
48};
49pub use startup::run;
50pub use tree::{
51    ContentDepthLimit, ContentEntryLimit, ContentFileByteLimit, ContentPathByteLimit,
52    ContentTreeByteLimit, ContentTreeLimits, ContentTreeLimitsError, DiscoveredAsset,
53    DiscoveredContentTree, DiscoveredPost, DiscoveredPublication, discover_content_tree,
54};
55pub use tree_digest::{ContentTreeDigest, ContentTreeDigestParseError};
56pub use validation::{
57    ContentValidationCode, ContentValidationError, ContentValidationErrors, FieldPath,
58    ValidationLocation,
59};
60
61pub(crate) use validation::DiagnosticCollector;
62
63#[cfg(test)]
64mod tests;