Static Assets & Head
Two file conventions cover everything from a favicon to a self-hosted font: a folder for
the assets themselves, and an HTML file for anything that needs to reference them from
<head>.
.documints/public/
Anything placed here is served as-is at the site root, and copied verbatim into
.documints/static/ on build - no processing, no import required.
.documints/
└── public/
├── favicon.svg
└── fonts/
└── Geist-Regular.woff2public/favicon.svg → available at /favicon.svg. public/fonts/Geist-Regular.woff2 →
available at /fonts/Geist-Regular.woff2. Reference these paths directly (from
.documints/head.html, or header.logo.src in Configuration).
.documints/head.html
Optional. If present, its raw contents are inserted as-is into every page's <head> - a
favicon link, an @font-face block for a self-hosted font, social preview meta tags,
anything else <head> normally holds. There's no schema to learn here; it's just HTML.
Favicon
<link rel="icon" href="/favicon.svg" type="image/svg+xml" />A plain favicon.ico at .documints/public/favicon.ico also works without any entry in
head.html at all - browsers request that specific path by convention. Use head.html
when you want something other than the default (an SVG icon, an apple-touch-icon, etc.).
Self-hosted fonts
Put the font file in public/fonts/, then declare it in head.html:
<style>
@font-face {
font-family: "Geist";
src: url("/fonts/Geist-Regular.woff2") format("woff2");
font-weight: 400;
font-display: swap;
}
</style>Anything referencing that font-family in your own CSS (via Plugins'
vitePlugins, or documints' own design tokens) will pick it up.
Anything else
head.html isn't limited to <link>/<style> - Open Graph tags, a <script> for
analytics, a JSON-LD block, whatever real HTML your project needs. It's inserted
unescaped, since it's your own trusted project content, not user input.
