Lancer has three primary folders:
client/
– where most, if not all, your HTML/JS/CSS content lives...public/
– a public folder for static files, and...data/
– where Lancer stores account data, temporary data, and website builds.All your HTML, JS, and CSS content goes in the client/
folder. How you arrange them is 100% up to you.
The structure of your client/
folder determines what pages are available on your website. For example, take the following files:
client/
├── _layout.html
├── index.html
├── blog.html
├── blog/
├── post-1.html
├── post-2.html
This directory structure will respond to the following URL mappings:
/
-> client/index.html
/blog
-> client/blog.html
/blog/post-1
-> client/blog/post-1.html
/_layout
-> 404Note the last request. Any html file that starts with an underscore (_
) will not be available as a page.
JS and CSS files follow the same rules. Any .js
or .css
file is available by default. Take the following example:
client/
├── index.html
├── foo.js
├── _bar.js
├── global.css
/foo.js
will succeed./_bar.js
will fail.foo.js
is free to import {whatever} from './_bar.js
, because Lancer bundles foo.js
automatically.Lancer automatically bundles JS and CSS files within your client/
folder using esbuild and PostCSS. You get bundling, minifying, and npm installs for free – no configuration required.
For JavaScript, use the standard import
syntax:
import 'alpinejs'
import React from 'react'
import { stuff } from './_bar.js'
For CSS, use the standard @import
syntax:
@import "tailwindcss/base";
@import "tailwindcss/components";
@import "tailwindcss/utilities";
In development, these files are bundled on-the-fly. In production, you should use lancer build
to generate more optimized assets.
All files in public/
are made publically available. These files do not get any special treatment by Lancer – they get served as-is.
data/
is a folder where Lancer writes a lot of internal data and caching. You should never commit this folder to git. Overviewing briefly:
data/cache/
is where cache data goes (safe to delete at anytime)data/cache/build/
is where your build files go after running lancer build
Other than data/cache/build/
, you probably won't have to interact with this folder.
Next: HTML Layouts