initialized repository

This commit is contained in:
2025-07-08 19:22:23 +02:00
commit 72c3d91c7e
17 changed files with 3670 additions and 0 deletions

4
src/layouts.rs Normal file
View File

@@ -0,0 +1,4 @@
pub mod empty;
pub use empty::empty;

18
src/layouts/empty.rs Normal file
View File

@@ -0,0 +1,18 @@
use maud::{DOCTYPE, Markup, html};
pub fn empty(content: Markup, name: &str) -> Markup {
html! {
(DOCTYPE)
head {
script src="/assets/lib/htmx.min.js" { }
script defer src="/assets/lib/alpine.min.js" { }
link rel="stylesheet" href="/assets/css/main.css" { }
title {
(name) " - Timo's Workouts"
}
}
body {
(content)
}
}
}

29
src/main.rs Normal file
View File

@@ -0,0 +1,29 @@
use axum::Router;
use tower_http::services::ServeDir;
use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt};
mod layouts;
mod pages;
#[tokio::main]
async fn main() {
tracing_subscriber::registry()
.with(
tracing_subscriber::EnvFilter::try_from_default_env()
.unwrap_or_else(|_| format!("{}=debug", env!("CARGO_CRATE_NAME")).into()),
)
.with(tracing_subscriber::fmt::layer())
.init();
// build our application with a route
let app = Router::new()
.nest_service("/assets", ServeDir::new("assets"))
.merge(pages::routes());
// run it
let listener = tokio::net::TcpListener::bind("127.0.0.1:3000")
.await
.unwrap();
println!("listening on {}", listener.local_addr().unwrap());
axum::serve(listener, app).await.unwrap();
}

7
src/pages.rs Normal file
View File

@@ -0,0 +1,7 @@
use axum::Router;
mod index;
pub fn routes() -> Router {
Router::new().merge(index::routes())
}

13
src/pages/index.rs Normal file
View File

@@ -0,0 +1,13 @@
use crate::layouts;
use axum::{Router, routing::get};
use maud::{Markup, html};
pub fn routes() -> Router {
Router::new().route("/", get(page))
}
async fn page() -> Markup {
let content = html! {};
layouts::empty(content, "Login")
}