Simple plant tracker built using Axum, HTMX and Pico CSS.
 
 
 
Go to file
Jef Roosens b17c2e7df6
feat: migrate /images page to new typed methods
2025-01-26 15:46:53 +01:00
migrations
src feat: migrate /images page to new typed methods 2025-01-26 15:46:53 +01:00
static
templates feat: migrate /images page to new typed methods 2025-01-26 15:46:53 +01:00
.dockerignore feat: implement infinite scroll on /plants page 2025-01-25 11:08:53 +01:00
.env
.gitignore
Cargo.lock feat: implement infinite scroll on /plants page 2025-01-25 11:08:53 +01:00
Cargo.toml feat: implement infinite scroll on /plants page 2025-01-25 11:08:53 +01:00
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.