Mark 9035a56f3d
Some checks failed
CI / Check typos (push) Successful in 26s
CI / Check links (push) Failing after 2m3s
CI / Clippy (push) Successful in 3m23s
CI / Build and test (push) Successful in 5m16s
CI / Build container (push) Has been skipped
CI / Deploy on waypoint (push) Has been skipped
Index edit
2025-11-28 12:39:40 -08:00
CI
2025-11-04 15:05:01 -08:00
2025-11-28 12:39:40 -08:00
2025-11-28 12:39:40 -08:00
CI
2025-11-03 23:16:05 -08:00
2025-11-03 10:23:32 -08:00
2025-11-06 22:16:15 -08:00
2025-11-28 12:39:40 -08:00
2025-11-28 12:39:40 -08:00
CI
2025-11-03 23:16:05 -08:00
CI
2025-11-04 15:05:01 -08:00
2025-11-03 10:23:32 -08:00
2025-11-27 21:07:52 -08:00
2025-11-01 21:38:16 -07:00
2025-11-27 21:07:52 -08:00

Mark's webpage

This is the source code behind betalupi.com, featuring a very efficient mini web framework written from scratch in Rust. It uses...

Overview & Arch:

  • bin/webpage: Simple cli that starts service-webpage

  • lib/libservice: Provides the Service trait. A service is a group of http routes with an optional utoipa schema.
    This library decouples compiled binaries from the services they provide, and makes sure all services are self-contained.

  • lib/page: Provides PageServer, which builds an axum router that provides a caching and headers for resources served through http.

    • Also provides Servable, which is a trait for any resource that may be served.
    • the Page servable serves html generated by a closure.
    • the StaticAsset servable serves static assets (css, images, misc files), and provides transformation parameters for image assets (via pixel-transform).
  • service/service-webpage: A Service that runs a PageServer that provides the content on betalupi.com

Todo:

This web framework is nowhere near complete. Features are added as they are needed.

Asset server

  • generate asset server from dir, detect mime from file
  • icon svg
  • CORS,timeout, page cache

Misc:

  • reactive components with react or htmx
  • handout search
  • self-contained email mangler
  • check asset paths at compile-time (or at least in a test)

Content:

Description
Source of betalupi.com
https://betalupi.com
Readme 3.1 MiB
Languages
Rust 92.2%
SCSS 7.1%
Dockerfile 0.7%