Expand description
The Laterite public web layer.
Where laterite_admin renders the private
admin, this crate renders the public face of an application. Its first
capability is static-site generation: an application renders its pages to
HTML strings and hands them to a StaticSite, which writes them as files,
copies static assets, and generates a sitemap.xml and robots.txt. The
output is a plain directory suitable for any static host or CDN.
Page templates live in the application (Askama, or any renderer that produces
a String); this crate owns the file layout, the sitemap, and the shared
Meta tags (title, description, canonical URL, Open Graph) so pages stay
consistent and shareable.
use laterite_web::{Meta, StaticSite};
let meta = Meta::new("Acme", "The Acme website.").canonical("https://acme.example/");
let home = render_home(&meta.head_tags());
let mut site = StaticSite::new("dist", "https://acme.example")?;
site.page("/", &home)?;
site.assets("static", "static")?;
site.finish()?;Structs§
- Meta
- Page metadata rendered into a document’s
<head>: the title, description, optional canonical URL, and optional social-share image.Meta::head_tagsrenders the standard<title>,<meta>, and Open Graph tags so every page is described and shareable the same way. - Static
Site - A static site being assembled into an output directory. Pages are written as
index.htmlunder a directory per path (so URLs are clean and extensionless), static assets are copied verbatim, andStaticSite::finishwrites asitemap.xmlandrobots.txtcovering every page added.