fix invalid html issues

add doctype. remove duplicate main tag from page-builder. change spans to divs where there are p children
This commit is contained in:
sorrel 2024-02-08 22:34:57 -05:00
parent baec19a6d7
commit 0e92c0c3b4
3 changed files with 58 additions and 49 deletions

View file

@ -175,8 +175,10 @@
;; constructs entire page for each response ;; constructs entire page for each response
(define (make-page resource static-write) (define (make-page resource static-write)
(string->bytes/utf-8 (string->bytes/utf-8
(static-write (string-append
(fragment->page resource)))) "<!DOCTYPE html>\n"
(static-write
(fragment->page resource)))))
(define (fragment->page resource) (define (fragment->page resource)
(xexpr->string (xexpr->string

View file

@ -1,6 +1,7 @@
(main (article
((id "oxaliq-dot-net-index"))
(noscript (noscript
(span (div
((class "noscript")) ((class "noscript"))
(p "hey! yr not letting yr browser execute javascript served by my page.") (p "hey! yr not letting yr browser execute javascript served by my page.")
(p "that's cool!") (p "that's cool!")
@ -24,42 +25,48 @@
a nice time building this little thing ") a nice time building this little thing ")
(p " i hope you have a nice time looking at things here") (p " i hope you have a nice time looking at things here")
(hr) (hr)
(p (span ((class "hx-target")) (div ((class "hx-target"))
(a ((href "/this") (p
(hx-get "/hx/this") (a ((href "/this")
(hx-target "closest span") (hx-get "/hx/this")
(hx-swap "innerHTML")) (hx-target "closest div.hx-target")
"(how i build this little page)"))) (hx-swap "innerHTML"))
(p (span ((class "hx-target")) "(how i build this little page)")))
(a ((href "/now") (div ((class "hx-target"))
(hx-get "/hx/now") (p
(hx-target "closest span") (a ((href "/now")
(hx-swap "innerHTML")) (hx-get "/hx/now")
(hx-target "closest div.hx-target")
(hx-swap "innerHTML"))
"(what i'm doing)"))) "(what i'm doing)")))
(p (span ((class "hx-target")) (div ((class "hx-target"))
(a ((href "/about") (p
(hx-get "/hx/about") (a ((href "/about")
(hx-target "closest span") (hx-get "/hx/about")
(hx-swap "innerHTML")) (hx-target "closest div.hx-target")
"(who i am)"))) (hx-swap "innerHTML"))
(p (span ((class "hx-target")) "(who i am)")))
(a ((href "/contact") (div ((class "hx-target"))
(hx-get "/hx/contact") (p
(hx-target "closest span") (a ((href "/contact")
(hx-swap "innerHTML")) (hx-get "/hx/contact")
(hx-target "closest div.hx-target")
(hx-swap "innerHTML"))
"(how to say hi to me)"))) "(how to say hi to me)")))
(p (span ((class "hx-target")) (div ((class "hx-target"))
(a ((href "/very-earnest-disclaimer") (p
(hx-get "/hx/very-earnest-disclaimer") (a ((href "/very-earnest-disclaimer")
(hx-target "closest span") (hx-get "/hx/very-earnest-disclaimer")
(hx-swap "innerHTML")) (hx-target "closest div.hx-target")
(hx-swap "innerHTML"))
"(a very earnest disclaimer)"))) "(a very earnest disclaimer)")))
; (p (span ((class "hx-target")) ; (div ((class "hx-target"))
; (a ((href "/links") ; (p
; (hx-get "/hx/links") ; (a ((href "/links")
; (hx-target "closest span") ; (hx-get "/hx/links")
; (hx-swap "innerHTML")) ; (hx-target "closest div.hx-target")
; "(some things i think are neat)"))) ; (hx-swap "innerHTML"))
; "(some things i think are neat)")))
(p (a ((href "static/license/license.txt")) (p (a ((href "static/license/license.txt"))
"license")) "license"))
(p (a ((href "/tagged")) (p (a ((href "/tagged"))

View file

@ -35,26 +35,26 @@ h1, h2, h3, h4, h5 {
font-family: 'Courier New', Courier, monospace; font-family: 'Courier New', Courier, monospace;
color: var(--background-color); color: var(--background-color);
background-color: var(--visited-link-color); background-color: var(--visited-link-color);
padding: 2 10; padding: 2px 10px;
} }
h5 { h5 {
margin: 2 0; margin: 2px 0px;
} }
span.noscript p { div.noscript p {
font-family: 'Courier New', Courier, monospace; font-family: 'Courier New', Courier, monospace;
font-size: small; font-size: small;
} }
span.hx-target section { div.hx-target section {
border: solid 1px var(--link-color); border: solid 1px var(--link-color);
border-radius: 4px; border-radius: 4px;
padding: 5 10; padding: 5px 10px;
margin: 3; margin: 3px;
} }
span.hx-target footer { div.hx-target footer {
display: none; display: none;
} }
@ -78,7 +78,7 @@ a:not(.ascii a):not(a[hx-get*="hx"])::before {
} }
body { body {
max-width: 600; max-width: 600px;
margin: auto; margin: auto;
font-size: medium; font-size: medium;
font-family: sans-serif; font-family: sans-serif;
@ -128,21 +128,21 @@ nav a {
} }
p { p {
margin: 12 0; margin: 12px 0px;
} }
ul.tag-list { ul.tag-list {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
flex-wrap: wrap; flex-wrap: wrap;
margin: 6 0; margin: 6px 0px;
padding: 0; padding: 0px;
} }
li.tag-item { li.tag-item {
list-style-type: none; list-style-type: none;
flex-basis: fit-content; flex-basis: fit-content;
margin: 0 6; margin: 0px 6px;
} }
img { img {