|
||
---|---|---|
migrations | ||
src | ||
static | ||
templates | ||
.dockerignore | ||
.env | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
Dockerfile | ||
README.md | ||
diesel.toml |
README.md
Calathea
Templates and rendering
Calathea uses the Tera templating engine. To combine Tera and HTMX, the template directory has the following structure:
components
contains components used to build views. Components are defined as Tera macros.views
contains view templates that make use of the components.updates
are templates returned from e.g. POST requests. Tbey usually directly wrap a component, e.g. a plantli
item.base.html
defines the skeleton for each page. Each view is rendered with this as its surrounding HTML.
When a page is requested from the server, it inspects the HX-Request
and
HX-History-Restore-Request
headers to determine whether a full page should be
returned or only the inner view. Using this, the server cn support direct
routing to pages and caching properly while still supporting partial rendering
using HTMX.