Simple plant tracker built using Axum, HTMX and Pico CSS.
 
 
 
Go to file
Jef Roosens 3800534a51
feat: switched to clap for CLI
2025-01-12 09:50:46 +01:00
src feat: switched to clap for CLI 2025-01-12 09:50:46 +01:00
static feat: add picocss styling 2025-01-10 15:58:58 +01:00
templates feat: implement basic session authentication 2025-01-11 21:37:37 +01:00
.dockerignore feat: move static files to directory 2025-01-10 15:58:53 +01:00
.gitignore feat: switched to clap for CLI 2025-01-12 09:50:46 +01:00
Cargo.lock feat: switched to clap for CLI 2025-01-12 09:50:46 +01:00
Cargo.toml feat: switched to clap for CLI 2025-01-12 09:50:46 +01:00
Dockerfile feat: move static files to directory 2025-01-10 15:58:53 +01:00
README.md feat: overhaul templating system 2025-01-10 15:16:01 +01:00

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.