summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoru <@>2026-03-10 09:19:26 +0200
committeru <@>2026-03-10 09:19:26 +0200
commit45329d748b964748ba4f09b70500d81137aad487 (patch)
tree4da58fb10ec0a721d6b27565c838a8dd0fb1c741 /src
parent4571e203180afbf0b9ad412c08109bba013b08a8 (diff)
a
Diffstat (limited to 'src')
-rw-r--r--src/lib.rs28
1 files changed, 13 insertions, 15 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 6401829..1276657 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -7,14 +7,13 @@ use crate::solar::{dow, ganzhi, solar, SexagenaryDate, Term, TERMS};
#[event(fetch)]
async fn fetch(req: Request, env: Env, _ctx: Context) -> Result<Response> {
- let r = Router::new();
+ // wont let me use closures
let re = |r: Request, _| Response::redirect(r.url()?.join("shitpit")?);
+ let hm = |r: Request, _| Response::redirect(r.url()?.join("/")?);
Router::new()
.get("/journal", re)
.get("/diary", re)
- .get("/index.html", |req, _| {
- Response::redirect(req.url()?.join("/")?)
- })
+ .get("/index.html", hm)
.get_async("/shitpit", |req, ctx| async move {
let u = req.url()?;
let a = ctx.env.assets("ASSETS")?;
@@ -23,12 +22,11 @@ async fn fetch(req: Request, env: Env, _ctx: Context) -> Result<Response> {
let re = Regex::new(
r"(0[1-9]|[1-9]|1[0-2])\/(0[1-9]|[1-9]|1\d|2\d|3[01])\/(\d{2})$",
).unwrap();
- let mut a: Vec<String> =
- a.split('\n').map(|s| s.trim().to_string()).collect();
bone("shitpit", "look in the sky! it's a bird! it's a plane! no it's superego!", html! {
pre {
- @for x in a.into_iter().map(|l| {
- if let Some(c) = re.captures(&l) {
+ @for x in a.split('\n').map(|l| {
+ let l = l.trim();
+ if let Some(c) = re.captures(l) {
let (m, d, y) = (c.get(1), c.get(2), c.get(3));
let f = |x: Option<regex::Match>| x.unwrap().as_str().parse().unwrap();
let (y, m, d): (usize, usize, usize) = (f(y) + 2000, f(m), f(d));
@@ -39,11 +37,11 @@ async fn fetch(req: Request, env: Env, _ctx: Context) -> Result<Response> {
html! {
(PreEscaped("</pre>"))
a name=(href) { }
- a class="sec" href=(format!("#{href}")) {
+ a class="sec" href={"#" (href)} {
(format!("{l} {dowl}. {y}年 {m}月 {d}日 ({dowc})"))
@if let Some((t, _)) = t {
- (t)
- }
+ " " (t)
+ }
}
(PreEscaped("<pre>"))
}
@@ -183,12 +181,12 @@ body {
fn menu(nav: &str) -> Markup {
html! {
div class="nav" {
- @let navs = ["home", "shitpit", "about"];
- @for (i, &n) in navs.iter().enumerate() {
- a class=({if n == nav { "menuon" } else { "menu" }}) href={"/" (n)} {
+ @let mut navs = ["home", "shitpit", "about"].iter().peekable();
+ @while let Some(&n) = navs.next() {
+ a class=(if n == nav { "menuon" } else { "menu" }) href={"/" (n)} {
(n)
}
- @if i != navs.len() - 1 {
+ @if navs.next().is_some() {
" / "
}
}