add more structure to static/ for computed assets
This commit is contained in:
parent
672fd6d0ee
commit
1d300aa6bb
7 changed files with 433 additions and 0 deletions
199
in-progress/beginning-latl.txt
Normal file
199
in-progress/beginning-latl.txt
Normal file
|
@ -0,0 +1,199 @@
|
||||||
|
(article
|
||||||
|
(h1 "beginning work on LATL")
|
||||||
|
(p
|
||||||
|
"a little introduction to a project i started thinking about in early 2020,
|
||||||
|
as i was learning how to do web development and wanted to try my hand at
|
||||||
|
combining some hobbies.")
|
||||||
|
(section
|
||||||
|
(hgroup
|
||||||
|
(h2 "what even is this?")
|
||||||
|
(p (em "of linguistics and hubris."))
|
||||||
|
(hr))
|
||||||
|
(p
|
||||||
|
"so, when i was a wee little child, i discovered language. i was one of
|
||||||
|
those kids who picked up reading real quick (like before i could form
|
||||||
|
memories) and just have always been fascinated by what those words and
|
||||||
|
symbols do. like, most wee little children discover language, but some
|
||||||
|
wee little children get given the lord of the rings when they're ten or
|
||||||
|
something and get into the narrative and the characters, sure. but
|
||||||
|
those appendices.... there's .. a language here? called quenya? and
|
||||||
|
this tolkien guy just made this up? "
|
||||||
|
(small "this is not in fact how i talked as a child, just go with me."))
|
||||||
|
(p
|
||||||
|
"so, i did the precocious kid thing and said to myself \"if this dead
|
||||||
|
british weirdo (who's like really into the concept of royalty) can
|
||||||
|
make a whole new language, then surely i can to.\"")
|
||||||
|
(p
|
||||||
|
"i did not, in fact, make a language. i made a relex of the language i
|
||||||
|
already spoke (my own peculiar idiolect of u.s. english,) but we all
|
||||||
|
gotta start somewhere." )
|
||||||
|
(p
|
||||||
|
"for a long time the internet to me was mostly "
|
||||||
|
(a ((href "https://listserv.brown.edu/archives/conlang.html"))
|
||||||
|
"the brown university conlang listserv.")
|
||||||
|
" here i learned about different phonology, what the heck
|
||||||
|
morphosyntactic alignment is, diachronicity and how different
|
||||||
|
languages can be related. i got exposed to awkwords and sca2 (tools
|
||||||
|
for generating words and modeling changes to those words.) but i
|
||||||
|
never interacted with ppl much. i was a kid and the ppl in there
|
||||||
|
really knew their stuff, and i never much felt comfy with the idea
|
||||||
|
of being just "
|
||||||
|
(em "in public") " on the internet like that.")
|
||||||
|
(p
|
||||||
|
"anyway i got better at making languages and learning about how
|
||||||
|
language works, and it's just been a (at times more consistent, at
|
||||||
|
times less) hobby of mine for most of my life.")
|
||||||
|
(p
|
||||||
|
"flash forward to a few years ago, i'm working on a language that has
|
||||||
|
turned into the passion project that i've spend the majority of my
|
||||||
|
conlanging on and i'm getting frustrated with my tools. i want to do
|
||||||
|
more complex, phonological-feature-aware, sound change rules; i want
|
||||||
|
a tighter feedback loop; i want to see how a derivational pattern at
|
||||||
|
one stage in a parent form of a language branches out or collapses
|
||||||
|
into different derivational patterns in a child language.")
|
||||||
|
(p
|
||||||
|
"all was not well in my conlanging.")
|
||||||
|
(p
|
||||||
|
"i would need to " (strong "do some programming."))
|
||||||
|
(p
|
||||||
|
"the thing is, i had just learned javascript. (it was a tech bootcamp.
|
||||||
|
someday i'll talk about my ~feelings~ about ~that~, but not here, not
|
||||||
|
now.) i had built a few little toy web apps, and i was not ready to
|
||||||
|
execute on a vision for a multi-purpose conlanging tool that was
|
||||||
|
beginning to take shape in my head.")
|
||||||
|
(p "i tried anyway.")
|
||||||
|
(p "and i made "
|
||||||
|
(a ((href "settled/1"))
|
||||||
|
"a bad first draft of a sound change tool."))
|
||||||
|
(p
|
||||||
|
"there's an ebnf grammar in that project somewhere! the hubris i
|
||||||
|
had then, to think i could make a little javascript-backed
|
||||||
|
language tool with all of the bells and whistles i needed! with
|
||||||
|
the knowledge that i had then! (or more accurately, didn't have)")
|
||||||
|
(br)
|
||||||
|
(p "but now..."))
|
||||||
|
(section
|
||||||
|
(hgroup
|
||||||
|
(h2 "reviving this project")
|
||||||
|
(p (em "whatcha gonna do sorrel?"))
|
||||||
|
(hr))
|
||||||
|
(p "i'm still not ready.")
|
||||||
|
(p
|
||||||
|
"but at least, today i'm forgoing bells and whistles for
|
||||||
|
execution models. core abstractions. experience using "
|
||||||
|
(a ((href "https://racket-lang.org"))
|
||||||
|
"a (programming) language-oriented programming language")
|
||||||
|
" maybe. there's a lot to think about.")
|
||||||
|
(p
|
||||||
|
"so, i'm going to try reviving this project. or, more accurately,
|
||||||
|
reimagining this project. from the little sound change tool that
|
||||||
|
was merely an unusably buggy iteration on tools that other
|
||||||
|
conlangers had executed better, to a more robust environment for
|
||||||
|
conlanging. one which gives language nerds the power to solve
|
||||||
|
all of their language nerding problems in one runtime, with an
|
||||||
|
extensible and reflective interface. and which is written in such
|
||||||
|
a way, with the appropriate abstractions, that lanuage nerdy
|
||||||
|
hackers can hack their own tools on top of it.")
|
||||||
|
(p
|
||||||
|
"and i'm going to be doing "
|
||||||
|
(a ((href "https://www.recurse.com/"))
|
||||||
|
"a hecking hacking retreat")
|
||||||
|
" about it. i'll spend some full-time programming days making a
|
||||||
|
goofy little thing for goofy little language nerds surrounded by
|
||||||
|
goofy programming nerds doing whatever rad things they happen
|
||||||
|
to be getting up to when i happen to be there.")
|
||||||
|
(p
|
||||||
|
"like many of the communities i am a part of, i am a quiet part of
|
||||||
|
the conlanging community. so, we'll see how this goes. maybe it
|
||||||
|
is only ever something of interest to me and the conlangers i
|
||||||
|
interact with in meatspace. maybe it only teaches me some things
|
||||||
|
about designing and building a tool of the type that i'm designing
|
||||||
|
and building. hoooopefully it is helpful in a way to other
|
||||||
|
conlangers such that it evolves beyond what i could do on
|
||||||
|
my own (cause i ain't no whiz kid 10x programmer.)")
|
||||||
|
(p
|
||||||
|
"but that's all me getting ahead of myself (as is often my wont.)
|
||||||
|
first! to pack for the trip!"))
|
||||||
|
(section
|
||||||
|
(hgroup
|
||||||
|
(h2 "packing for the trip")
|
||||||
|
(p (em "a biggg heap of things to expand"))
|
||||||
|
(hr))
|
||||||
|
(p
|
||||||
|
"i'm just gonna fly right through these. there's going to be a lot
|
||||||
|
to read up on, to explore, to think and talk through, before it
|
||||||
|
gets time to prototyping and to building a workable tool. so,
|
||||||
|
here's the very start of the thinking-in-public. each of these
|
||||||
|
little thoughts is going to get at least it's own writeup (if not
|
||||||
|
several) and i'll update with additional sections and links to
|
||||||
|
the writeups as i go.")
|
||||||
|
(section
|
||||||
|
(h3 "notes on the goals")
|
||||||
|
(p
|
||||||
|
"it's good to have goals! to define what it even is yr tring to
|
||||||
|
do. so here's my attempt. my goal is to create a foss+ working
|
||||||
|
runtime that *can* serve as a singular tool for conlangers with
|
||||||
|
some basic programming capacity. it should be linguistically
|
||||||
|
*theory neutral* to the extant that such a thing is possible.
|
||||||
|
it should allow for the definition of all relevant structures
|
||||||
|
of a language *in code* and support the construction of grammars,
|
||||||
|
dictionaries, text documents and (stretch goal) non-programmer
|
||||||
|
friendly tools *from code*. it should support phonological,
|
||||||
|
lexical, syntactic, morphological, semantic, etc transformations
|
||||||
|
across different 'epochs' be they diachronic or synchronic.
|
||||||
|
these transformations should work on transformations, ie
|
||||||
|
morphological transformations should themselves be transformed
|
||||||
|
by phonological transformations. users of the tool should be
|
||||||
|
able to edit their work and see the consequences of their changes
|
||||||
|
quickly. hopefully, this can all happen on the web, i guess,
|
||||||
|
cause ppl like using their browser as the everything app. ")
|
||||||
|
(section
|
||||||
|
(h3 "notes on existing tools")
|
||||||
|
(p
|
||||||
|
"i'm going to talk a bunch about existing tools made by
|
||||||
|
conlangers or made for professional linguists and used by
|
||||||
|
conlangers or just yr regular old spreedsheets and such. i'm
|
||||||
|
going to be doing some research about how conlangers do their
|
||||||
|
conlanging, lest this truly be a just-for-me type project."))
|
||||||
|
(section
|
||||||
|
(h3 "notes on primitives")
|
||||||
|
(p
|
||||||
|
"i think some interesting things start to bubble out of some of
|
||||||
|
those goals up there. like the idea of supporting a bunch of
|
||||||
|
different kinds of transformations that should themselves be
|
||||||
|
transformable. the primitives we're working with have to work
|
||||||
|
below the level of \"lexeme\" or \"phoneme\" to have something
|
||||||
|
abstract that can apply to both. i'm not going to get into
|
||||||
|
specifics even a little bit at this point-you'll have to stay
|
||||||
|
tuned for more.")))
|
||||||
|
(section
|
||||||
|
(h3 "notes on execution model")
|
||||||
|
(p
|
||||||
|
"this is going to be some crunchy computer language stuff. i'm
|
||||||
|
going to make some arguments for some things that (it is my
|
||||||
|
belief) fall out of these goals. things like dynamic typing.
|
||||||
|
things like reflectivity (this is sooo important it gets its
|
||||||
|
own section.) things like lazy evaluation (because languages
|
||||||
|
are big and sometimes you only want to look at a subset of a
|
||||||
|
language.) means of combination: propositions.")
|
||||||
|
(section
|
||||||
|
(h3 "notes on reflectivity and interaction"))
|
||||||
|
(section
|
||||||
|
(h3 "notes on portability"))
|
||||||
|
(section
|
||||||
|
(h3 "notes on the substratum (racket?)")))
|
||||||
|
(section
|
||||||
|
(hgroup
|
||||||
|
(h2 "about the name")
|
||||||
|
(p (em "it's pronouced ˈlæ.ɾɫ̩"))
|
||||||
|
(hr))
|
||||||
|
(p
|
||||||
|
"i don't know dude, naming things is hard. it's a working name,
|
||||||
|
it works good as an extension. "
|
||||||
|
(code "my-conlang.latl") "anyone?")
|
||||||
|
(p
|
||||||
|
"i also just like syllabic laterals? they sound neat to me. the
|
||||||
|
official initialism is _l_inguistic _a_nalytic _t_ransformation
|
||||||
|
_l_anguage, but it also double entendres to _l_ower _a_nterior
|
||||||
|
_t_emporal _l_obe, so that's just kind of fun.")
|
||||||
|
(p "maybe it'll have a different name some day, idk"))))
|
0
in-progress/this.txt
Normal file
0
in-progress/this.txt
Normal file
1
static/fragment/root/not-found.html
Normal file
1
static/fragment/root/not-found.html
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<section><h1>404</h1><p>hey, i couldn't find that. could ya try something else maybe?</p></section>
|
53
static/page/root/index.html
Normal file
53
static/page/root/index.html
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><meta name="ROBOTS" content="NOINDEX, NOFOLLOW"/><title>learning and making things</title><meta name="author" content="sorrel"/><meta name="description" content="yr place for sorrel on the world wide web"/><meta name="viewport" content="width=device-width, initial-scale=1"/><meta name="ascii-art-description" content="it's a crop of the work 'Oxalis acetosella', Otto Wilhelm Thomé
|
||||||
|
(1885) run through the ascii-art generation tool on https://www.asciiart.eu/"/><link rel="stylesheet" href="/static/style/styles.css"/><style>
|
||||||
|
p.ascii {
|
||||||
|
font-family: 'Courier New', Courier, monospace;
|
||||||
|
font-size: 8px;
|
||||||
|
white-space: pre;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
p.ascii.but-normal-size {
|
||||||
|
font-size: medium;
|
||||||
|
}</style><script src="/static/script/htmx.min.js" defer=""></script></head><body><header><div class="banner" hx-get="/hx/home" hx-target="main" hx-swap="innerHTML"><p class="ascii">▒▓░ <a href="/">home</a> ░░▒ ▒▒▓█▒ ░▒
|
||||||
|
░▒▒░▓▓ ▒▒▒▒▒▒▓█ ▒▓
|
||||||
|
▒▒▓▓░▒▓ ▓█▓▓ ░▓
|
||||||
|
▓▒▒ ▒▒ ░
|
||||||
|
▒ ▒▓▒▓▒ ▒░ ▒░
|
||||||
|
░░░░░░▒▒▒▓▒▓░ ░▒ ▒
|
||||||
|
▓░▒▒▒░▒▒▒▒▒▓▓▓▓▓ ░░ ░
|
||||||
|
▒▒░▒▒▒▒▒▒▒▒▓▓▓▓▓▓█ ░░ ░▒
|
||||||
|
▓▒▒▒▒▒▓▒▓▓▓▒▓▓▓▓▓▓ ░▒░░░░░░▒░ ▓▓ ▒
|
||||||
|
▓▓▓▒▒▓▓▓▓▓▓▓▓▓▓█▒▒░░▒░▒░░░░░▒░▒ ▒ ▒▒
|
||||||
|
░▒▒▒▒▒▓▒▓ ▒▓▓▓▓▓▓▓▓▓▓▓█▓░▒▒▒▒░░░░░░░░░░░▒ ▓▒ ░
|
||||||
|
▒░░▒▓▓▒▒▓▓▓▓▒▒▒ ▓▓▓▓▓▓▓▓▓█▓░▒▒▒▒▒░░▒░▒░░░░░░▒▓ █ ░ ▓▓
|
||||||
|
░ ░░▓▒▒ ░ ▓░░░▒▓▒▓▒▓▓▓▓▓▓▓▓▒ ▓▓▒▓▓▓█▓▒▒▒▒░▒░░░░▒░▒░░░░▒░░▒░ ▓ ▓ ▓▒░░░░░▒
|
||||||
|
░ ░▒▓▓ ▓ ▒ ▓░░▒▒▒▓▒▓▓▓▒▓▓▓▓▓▓▓▒ ▓▓▓▓█▓▒▒░▒▒▒▒░▒▒▒░░░░░░░░░░▒▒ ▓ ▒▒▒▒░▒░░▒░▓
|
||||||
|
▒▒▒▓▓▒ ▒░░ ▒▒▒▒▒▒▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▒ ▓▓▓█▒▓▒▒▒▒▒▒░▒▒▒░░▒░▒░░░░█▒ ▒▒▓▒ ▒▒▒▒▒▒░░░▒░░
|
||||||
|
▒▒▓▓░ ░ ▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▓▓▒ ▓▓▒▒▒▓▒▒▒▒▒░▒░░░░░░░ ▓▓▒░ ░█▓ ▒▒▒▒▒▒░░░░░░
|
||||||
|
░▓ ▒░▒ ▓▒▓▓▒▓▓▓▓▓▓▓▒▓▓▓▓█▓████▓▒▒▒▒▓▓▓▓▓▓▓▒▒▒▒▒▒▓░ ▓▒ ▓▒▒ █▓▓▓▒▒▒▒░░░░░
|
||||||
|
▒░ ▒▒▓▒▓▓▓▓▓▓▓▓▓▓▓▓█▓█▓▒▒▒▒▓▒▒▒▒ ▓░ ▒▒ ▒▓▓▓▓▓▒▒▒░░░▒
|
||||||
|
▓ ▓ ▓▓▓▓▓▒▓▒▓▓▓▓▓▓▒▒▒▒▒▒▒▓▓ ░▓▓█▓▓▓▓▓▓▓▓▓▒▒▒▓ ░░ ▒█ ░▒▒▒▓▓▓▓▓▒▒▒▒▒
|
||||||
|
░ ▒▓▓▒▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▓ ▒██▒██▓▓▓▓▓▓▓▓▓▓▓▓▒▒░░ ▓░ ▒▓▓▓▓▒▓▓▒▒▒▒░
|
||||||
|
▒▒▒▒░▒▓ ▒ ▒▓▓▒▒▒▒▒▒▒░▒░░░▒▒▒▒▓ ▒███▓█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒ ▓▒ ░▒▒▒░▒▓▓▓▓▒▓▒▒▒
|
||||||
|
▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒░▒░░░░░░░░░░░░ ▒██▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒ ▓▒ ░░░░▒░░▒▒▒▒▒▒▒▒▒▒▓
|
||||||
|
▒▒▒▒▒▒▒▒▓▒▓▒░░▒░░░▒░ ▒▒▒▒░░▒░░░░░░░░░▒ ▒▓██▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒ ▒▒ ▓▒▒▒░▒░░▒▒▒▓▓▓▒▒▒▒▓
|
||||||
|
▒▒▒▒▒▒▓▒▓▓▒▒▒▒▒▒▒▒▒▒▒░▓ ▒░░░░░▒░░░░░░░▒▒ ▒▒█▓██▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▒▒░ ▒▒▒▒▒▒░░▒▒▒▒▓▓▒▓▒ ▒
|
||||||
|
▒▒▒▒▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒░ ░░░░░░░░░░░░░░░ ▒▓█▓█▓▓▓█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒ ▒▒░ ▒░░░▒▒▒▒▒▒▒▓▓▒▒▓ ▒░▒
|
||||||
|
▒▒▓▒▒▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░ ░░░░░░░░▒▒░░░ ▒██▓▓▓▓▓█▓▒▓▓▓▓▓▓▒▒▒▒▒▓▒ ░░▒ ▓▒░▒▒▒▒▒▒▒▓▒▒▒ ▒ ▒▒▒
|
||||||
|
▒▒▒▓▓█▒▒▒▒▒▒▒▒▒▒▒▒▒▓▒▓▒▒▒ ▓▒░░░░░░░░░▒ ▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒ ▒▒ ▒▒▒▒▒▒▒▓▓▓▒▒░░░░▓▓██
|
||||||
|
▒▓▓▓█▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▒▒▒ ▓░░░░░▒░▒ ▓▓█▓▓▓▓▓▓▓██▓▓▓▓▓▓▒▒▒▓ ░▒ ▓▓▒▒▓▒▓▒▒░ ▓▓▓▓▓▓█▓
|
||||||
|
▒▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓ ░▓▓▒ ░░ ▓▓█▓▓▓▓▓▓▓▓██▒▓▒▒▒▒▓▓ ░▒ ▒▓▓ ░██▓▓▓▓▓▓▓▓▓▓
|
||||||
|
▓▓▓█▒▒▒▒▒▒▒▒▒▒▒▓▒▒▒▓ ▒ ░░ ▓▓█▓▓▓▓▓▓▓▓▓▓▒▒ ▒ ░▓ ░ ▒ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓
|
||||||
|
▓▓▓▒▓▒▒▒▒▓▒▒▒▒▓ ▒▒░ ▒▓▓▓▓▓▓▓▓▓█▓ ▓▒ ░ ░ ░▒ ░░ ▒ █▓▓▓▓▓▓▓▓▓▓▓▓▓
|
||||||
|
███▒▒▒▒▒▓░ ▒▓░░ ▒▓▓▓▓▓▓▓▓ ▓▒░ ▒░ ░▒ ░ ▒ ▓▓▓▓▓▓▓▓▓▓▓▓▓
|
||||||
|
█▒▓▓ ▒▒▓▓▓▓▓▓▓▒ ▒░▓ ▒▒▓▓▓▓▓▒ ▒▒░ ▒ ▒▒ ▒ ░▓▓▓▓▓▓▓▓▓▓
|
||||||
|
░▒▒▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▒▒▒▒▒▓ ▓░ ░▓▒ ░▒░▒ ▓▒ ▓ ▒ ▓▓▓▓░
|
||||||
|
░▓▒▓▓▒▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▒▒▒▒▒▓▒▓ ░░▓ ▒▒░ ▒ ▓░ ▒
|
||||||
|
▓▒░ ▓▒▒▒█▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▒▒▒ ▒░ ▓▒▓ ▒▒ ▒ ░
|
||||||
|
░▒▓ ▓▒▒▒▒▒▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▒▓▒▒▒ ▒░▓ ░▒░▒ ░░
|
||||||
|
▒▓ ░▒▒▒▒▒▓▒▒▓▒▒▒▒▒▒▒▒▒▒▓▒▓▓▓▒▒ ▓░ ░▒ ░▓ </p></div><nav><a href="/about" hx-get="/hx/about" hx-target="main" hx-swap="innerHTML">about sorrel (the bitch who made this)</a><a href="/unsettled" hx-get="/hx/unsettled" hx-target="main" hx-swap="innerHTML">unsettled thoughts (something like a blog)</a><a href="/settled" hx-get="/hx/settled" hx-target="main" hx-swap="innerHTML">"settled" thoughts (projects built/in progress)</a><a href="/feed.atom">þͤ olde rss</a></nav></header><main aria-live="polite"><article><noscript><span class="noscript"><p>hey! yr not letting yr browser execute javascript served by my page.</p><p>that's cool!</p><p>browser (by google?) as arbitrary code execution platform is one of the
|
||||||
|
weird, regrettable (at least as it is currently implemented)
|
||||||
|
consequences of our political economy.</p><p>anyway, feel free to browse! yr experience won't be much different,
|
||||||
|
you'll just get bigger html blob.</p><p>the only js i deliver is <a href="https://htmx.org">this little REST tool called htmx</a> if you want to see what that's about.</p><p>o! and if you want to hear/read <a href="/tagged/javascript">what i have to say about javascript</a> you could do that maybe</p><p>/noscript</p></span></noscript><p>hey! i'm sorrel.</p><p>(called like the plant up there)</p><p>this is my new-fangled website computer page on the world wide web. i had
|
||||||
|
a nice time building this little thing <span class="hx-target"><a href="/this" hx-get="/hx/this" hx-target="closest span" hx-swap="innerHTML">(how i build this little page.)</a></span></p><p> i hope you have a nice time looking at things here.</p><p class="ascii but-normal-size">︿︿
|
||||||
|
〰</p></article></main></body></html>
|
48
static/page/root/not-found.html
Normal file
48
static/page/root/not-found.html
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><meta name="ROBOTS" content="NOINDEX, NOFOLLOW"/><title>learning and making things</title><meta name="author" content="sorrel"/><meta name="description" content="yr place for sorrel on the world wide web"/><meta name="viewport" content="width=device-width, initial-scale=1"/><meta name="ascii-art-description" content="it's a crop of the work 'Oxalis acetosella', Otto Wilhelm Thomé
|
||||||
|
(1885) run through the ascii-art generation tool on https://www.asciiart.eu/"/><link rel="stylesheet" href="/static/style/styles.css"/><style>
|
||||||
|
p.ascii {
|
||||||
|
font-family: 'Courier New', Courier, monospace;
|
||||||
|
font-size: 8px;
|
||||||
|
white-space: pre;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
p.ascii.but-normal-size {
|
||||||
|
font-size: medium;
|
||||||
|
}</style><script src="/static/script/htmx.min.js" defer=""></script></head><body><header><div class="banner" hx-get="/hx/home" hx-target="main" hx-swap="innerHTML"><p class="ascii">▒▓░ <a href="/">home</a> ░░▒ ▒▒▓█▒ ░▒
|
||||||
|
░▒▒░▓▓ ▒▒▒▒▒▒▓█ ▒▓
|
||||||
|
▒▒▓▓░▒▓ ▓█▓▓ ░▓
|
||||||
|
▓▒▒ ▒▒ ░
|
||||||
|
▒ ▒▓▒▓▒ ▒░ ▒░
|
||||||
|
░░░░░░▒▒▒▓▒▓░ ░▒ ▒
|
||||||
|
▓░▒▒▒░▒▒▒▒▒▓▓▓▓▓ ░░ ░
|
||||||
|
▒▒░▒▒▒▒▒▒▒▒▓▓▓▓▓▓█ ░░ ░▒
|
||||||
|
▓▒▒▒▒▒▓▒▓▓▓▒▓▓▓▓▓▓ ░▒░░░░░░▒░ ▓▓ ▒
|
||||||
|
▓▓▓▒▒▓▓▓▓▓▓▓▓▓▓█▒▒░░▒░▒░░░░░▒░▒ ▒ ▒▒
|
||||||
|
░▒▒▒▒▒▓▒▓ ▒▓▓▓▓▓▓▓▓▓▓▓█▓░▒▒▒▒░░░░░░░░░░░▒ ▓▒ ░
|
||||||
|
▒░░▒▓▓▒▒▓▓▓▓▒▒▒ ▓▓▓▓▓▓▓▓▓█▓░▒▒▒▒▒░░▒░▒░░░░░░▒▓ █ ░ ▓▓
|
||||||
|
░ ░░▓▒▒ ░ ▓░░░▒▓▒▓▒▓▓▓▓▓▓▓▓▒ ▓▓▒▓▓▓█▓▒▒▒▒░▒░░░░▒░▒░░░░▒░░▒░ ▓ ▓ ▓▒░░░░░▒
|
||||||
|
░ ░▒▓▓ ▓ ▒ ▓░░▒▒▒▓▒▓▓▓▒▓▓▓▓▓▓▓▒ ▓▓▓▓█▓▒▒░▒▒▒▒░▒▒▒░░░░░░░░░░▒▒ ▓ ▒▒▒▒░▒░░▒░▓
|
||||||
|
▒▒▒▓▓▒ ▒░░ ▒▒▒▒▒▒▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▒ ▓▓▓█▒▓▒▒▒▒▒▒░▒▒▒░░▒░▒░░░░█▒ ▒▒▓▒ ▒▒▒▒▒▒░░░▒░░
|
||||||
|
▒▒▓▓░ ░ ▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▓▓▒ ▓▓▒▒▒▓▒▒▒▒▒░▒░░░░░░░ ▓▓▒░ ░█▓ ▒▒▒▒▒▒░░░░░░
|
||||||
|
░▓ ▒░▒ ▓▒▓▓▒▓▓▓▓▓▓▓▒▓▓▓▓█▓████▓▒▒▒▒▓▓▓▓▓▓▓▒▒▒▒▒▒▓░ ▓▒ ▓▒▒ █▓▓▓▒▒▒▒░░░░░
|
||||||
|
▒░ ▒▒▓▒▓▓▓▓▓▓▓▓▓▓▓▓█▓█▓▒▒▒▒▓▒▒▒▒ ▓░ ▒▒ ▒▓▓▓▓▓▒▒▒░░░▒
|
||||||
|
▓ ▓ ▓▓▓▓▓▒▓▒▓▓▓▓▓▓▒▒▒▒▒▒▒▓▓ ░▓▓█▓▓▓▓▓▓▓▓▓▒▒▒▓ ░░ ▒█ ░▒▒▒▓▓▓▓▓▒▒▒▒▒
|
||||||
|
░ ▒▓▓▒▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▓ ▒██▒██▓▓▓▓▓▓▓▓▓▓▓▓▒▒░░ ▓░ ▒▓▓▓▓▒▓▓▒▒▒▒░
|
||||||
|
▒▒▒▒░▒▓ ▒ ▒▓▓▒▒▒▒▒▒▒░▒░░░▒▒▒▒▓ ▒███▓█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒ ▓▒ ░▒▒▒░▒▓▓▓▓▒▓▒▒▒
|
||||||
|
▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒░▒░░░░░░░░░░░░ ▒██▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒ ▓▒ ░░░░▒░░▒▒▒▒▒▒▒▒▒▒▓
|
||||||
|
▒▒▒▒▒▒▒▒▓▒▓▒░░▒░░░▒░ ▒▒▒▒░░▒░░░░░░░░░▒ ▒▓██▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒ ▒▒ ▓▒▒▒░▒░░▒▒▒▓▓▓▒▒▒▒▓
|
||||||
|
▒▒▒▒▒▒▓▒▓▓▒▒▒▒▒▒▒▒▒▒▒░▓ ▒░░░░░▒░░░░░░░▒▒ ▒▒█▓██▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▒▒░ ▒▒▒▒▒▒░░▒▒▒▒▓▓▒▓▒ ▒
|
||||||
|
▒▒▒▒▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒░ ░░░░░░░░░░░░░░░ ▒▓█▓█▓▓▓█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒ ▒▒░ ▒░░░▒▒▒▒▒▒▒▓▓▒▒▓ ▒░▒
|
||||||
|
▒▒▓▒▒▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░ ░░░░░░░░▒▒░░░ ▒██▓▓▓▓▓█▓▒▓▓▓▓▓▓▒▒▒▒▒▓▒ ░░▒ ▓▒░▒▒▒▒▒▒▒▓▒▒▒ ▒ ▒▒▒
|
||||||
|
▒▒▒▓▓█▒▒▒▒▒▒▒▒▒▒▒▒▒▓▒▓▒▒▒ ▓▒░░░░░░░░░▒ ▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒ ▒▒ ▒▒▒▒▒▒▒▓▓▓▒▒░░░░▓▓██
|
||||||
|
▒▓▓▓█▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▒▒▒ ▓░░░░░▒░▒ ▓▓█▓▓▓▓▓▓▓██▓▓▓▓▓▓▒▒▒▓ ░▒ ▓▓▒▒▓▒▓▒▒░ ▓▓▓▓▓▓█▓
|
||||||
|
▒▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓ ░▓▓▒ ░░ ▓▓█▓▓▓▓▓▓▓▓██▒▓▒▒▒▒▓▓ ░▒ ▒▓▓ ░██▓▓▓▓▓▓▓▓▓▓
|
||||||
|
▓▓▓█▒▒▒▒▒▒▒▒▒▒▒▓▒▒▒▓ ▒ ░░ ▓▓█▓▓▓▓▓▓▓▓▓▓▒▒ ▒ ░▓ ░ ▒ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓
|
||||||
|
▓▓▓▒▓▒▒▒▒▓▒▒▒▒▓ ▒▒░ ▒▓▓▓▓▓▓▓▓▓█▓ ▓▒ ░ ░ ░▒ ░░ ▒ █▓▓▓▓▓▓▓▓▓▓▓▓▓
|
||||||
|
███▒▒▒▒▒▓░ ▒▓░░ ▒▓▓▓▓▓▓▓▓ ▓▒░ ▒░ ░▒ ░ ▒ ▓▓▓▓▓▓▓▓▓▓▓▓▓
|
||||||
|
█▒▓▓ ▒▒▓▓▓▓▓▓▓▒ ▒░▓ ▒▒▓▓▓▓▓▒ ▒▒░ ▒ ▒▒ ▒ ░▓▓▓▓▓▓▓▓▓▓
|
||||||
|
░▒▒▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▒▒▒▒▒▓ ▓░ ░▓▒ ░▒░▒ ▓▒ ▓ ▒ ▓▓▓▓░
|
||||||
|
░▓▒▓▓▒▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▒▒▒▒▒▓▒▓ ░░▓ ▒▒░ ▒ ▓░ ▒
|
||||||
|
▓▒░ ▓▒▒▒█▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▒▒▒ ▒░ ▓▒▓ ▒▒ ▒ ░
|
||||||
|
░▒▓ ▓▒▒▒▒▒▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▒▓▒▒▒ ▒░▓ ░▒░▒ ░░
|
||||||
|
▒▓ ░▒▒▒▒▒▓▒▒▓▒▒▒▒▒▒▒▒▒▒▓▒▓▓▓▒▒ ▓░ ░▒ ░▓ </p></div><nav><a href="/about" hx-get="/hx/about" hx-target="main" hx-swap="innerHTML">about sorrel (the bitch who made this)</a><a href="/unsettled" hx-get="/hx/unsettled" hx-target="main" hx-swap="innerHTML">unsettled thoughts (something like a blog)</a><a href="/settled" hx-get="/hx/settled" hx-target="main" hx-swap="innerHTML">"settled" thoughts (projects built/in progress)</a><a href="/feed.atom">þͤ olde rss</a></nav></header><main aria-live="polite"><section><h1>404</h1><p>hey, i couldn't find that. could ya try something else maybe?</p></section></main></body></html>
|
1
static/script/htmx.min.js
vendored
Normal file
1
static/script/htmx.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
131
static/style/styles.css
Normal file
131
static/style/styles.css
Normal file
|
@ -0,0 +1,131 @@
|
||||||
|
:root {
|
||||||
|
color-scheme: light dark;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and not (prefers-color-scheme: light) {
|
||||||
|
html {
|
||||||
|
--foreground-color: lab(90 50 -80);
|
||||||
|
--background-color: lab(0 50 -30);
|
||||||
|
--link-color: lab(80 40 100);
|
||||||
|
--visited-link-color: lab(70 10 15);
|
||||||
|
--banner-ascii-color: lab(90 -40 20 / 0.8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (prefers-color-scheme: light) {
|
||||||
|
html {
|
||||||
|
--foreground-color: lab(10 50 -80);
|
||||||
|
--background-color: lab(90 50 -30);
|
||||||
|
--link-color: lab(20 40 100);
|
||||||
|
--visited-link-color: lab(20 10 15);
|
||||||
|
--banner-ascii-color: lab(10 -40 20 / 0.8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
html {
|
||||||
|
padding: 20px;
|
||||||
|
color: var(--foreground-color);
|
||||||
|
background-color: var(--background-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
h1, h2, h3, h4, h5 {
|
||||||
|
font-family: 'Courier New', Courier, monospace;
|
||||||
|
color: var(--background-color);
|
||||||
|
background-color: var(--visited-link-color);
|
||||||
|
padding: 2 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
h5 {
|
||||||
|
margin: 2 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.noscript p {
|
||||||
|
font-family: 'Courier New', Courier, monospace;
|
||||||
|
font-size: small;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.hx-target section {
|
||||||
|
border: solid 1px var(--link-color);
|
||||||
|
border-radius: 4px;
|
||||||
|
padding: 0 10;
|
||||||
|
margin: 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
font-family: 'Courier New', Courier, monospace;
|
||||||
|
font-size: small;
|
||||||
|
color: var(--link-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
a:visited {
|
||||||
|
color: var(--visited-link-color);
|
||||||
|
text-decoration-color: var(--link-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
max-width: 600;
|
||||||
|
margin: auto;
|
||||||
|
font-size: medium;
|
||||||
|
font-family: sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
header{
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 600px) {
|
||||||
|
div.banner p.ascii {
|
||||||
|
font-size: 5px;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
max-width: 375px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 1000px) {
|
||||||
|
div.banner {
|
||||||
|
padding: 0 auto;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
max-width: 800px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
div.banner {
|
||||||
|
background-color: lab(0 5 1 / 0.8);
|
||||||
|
width: max-content;
|
||||||
|
margin: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.banner p.ascii {
|
||||||
|
color: var(--banner-ascii-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
nav {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav a {
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin: 12 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.tag-list {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
margin: 6 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
li.tag-item {
|
||||||
|
list-style-type: none;
|
||||||
|
flex-basis: fit-content;
|
||||||
|
margin: 0 6;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue