Search documentation...
Project Structure
Understanding how a Velt project is organized.
Directory Layout
A typical Velt project has the following structure:
my-project/
βββ content/ # Your pages (.vdx files)
β βββ index.vdx
β βββ about.vdx
β βββ docs/ # Nested directories become nav sections
β βββ intro.vdx
βββ layouts/ # V layout templates
β βββ default.v
β βββ landing.v
βββ components/ # Reusable V components
β βββ callout.v
β βββ hero.v
βββ assets/ # Static files (CSS, images, etc.)
β βββ style.css
βββ dist/ # Generated HTML output
Content Directory
The content/ directory contains your .vdx files. Each file becomes a page.
Nested Directories
Subdirectories create navigation sections:
content/
βββ index.vdx β /index.html
βββ docs.vdx β /docs.html
βββ guides/
βββ setup.vdx β /guides/setup.html
βββ advanced.vdx β /guides/advanced.html
Layouts Directory
Layouts are V source files that define the HTML structure. They receive:
content- The rendered page contenttitle- From frontmatternav_html- Auto-generated navigation
Pages with layout = "landing" are excluded from navigation.
Components Directory
Components are reusable V structs with a render() method. Use them in your .vdx files:
<Callout type_="warning">
This is a warning message.
</Callout>
Assets Directory
Static files like CSS, JavaScript, and images. They're served at /assets/.
Dist Directory
Generated HTML output. Deploy this directory to your hosting provider.