Simple plant tracker built using Axum, HTMX and Pico CSS.
 
 
 
Go to file
Jef Roosens dce23599ef
feat: add /plants page
2025-01-24 22:02:56 +01:00
migrations
src feat: add /plants page 2025-01-24 22:02:56 +01:00
static
templates feat: add /plants page 2025-01-24 22:02:56 +01:00
.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.