Simple plant tracker built using Axum, HTMX and Pico CSS.
 
 
 
Go to file
Jef Roosens daead2116b
feat: start migration other models to diesel
2025-01-16 09:08:33 +01:00
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 plant li 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.