this page contains information about the site itself
the site was created in late 2024 and in early november. an intent to create a personal site has existed for at least a year before that, however this instance did not find any satisfactory method of hosting it until that time
the intent was for this site to be updated as frequently as possible whenever there is something to update. this intent has not been and will not be met. however, more things, likely of varying nature, should appear on this site as time advances
format details
this site is missing any kind of page index or navigation bar (besides the link to /). 31a05b thinks that this gives it a more noticable structure
the absence of a light theme is intentional, as light themes are well-known to be evil
the colour pallette and overall theme of this site matches the theming used on this one's laptop [todo: make this update automatically, for no reason in particular]
technical details
this web page is served using a custom server written in Crystal, and the static HTML is generated from a custom markup language, with the generator also written in Crystal. neither program has a name, as 31a05b is not usually capable of generating "good" names
see: [unnamed html generator]writing this in Crystal was done as an experiment. the server will be re-written in either C or in 31a's own language which it is currently writing (which itself is written in C).
this site does not use any avoidable JavaScript. the status tracker on the main page uses JS for live-update, but if JS is disabled, it will still display the data from request time.
this site also aims to have compatibility with text-based browsers. text hidden with CSS is present to make some of the UI elements more clear when CSS is not available. the ultimate goal is to display a different page layout to text browsers, which would implement <details> using SSR (as most text browsers do not support <details>)
the more dynamic parts of the page are handled mostly by small built-in functions in the server itself, for example $[test:foo bar] gets replaced with [builtin test: "foo bar"]
for more obscure things, the server can also execute shell commands: ${cat /dev/urandom | head -c50} -> C݀Qإch`-elbӱ5J?Rhr#
and also it supports variables: $$pagename -> about this site. variables can be defined in the page itself, are inherited any included pages, and can be defined during the include itself, acting like function arguments.
this system is based off of wikitext's template transclusion system.
in addition to normal pages, this site also has page fragments, which lack the header, backlinks, CSS, &c., this allows them to be inserted into other pages, but if accessed directly the server adds the missing parts with a template
[TODO: make the code readable and upload to github]
one thing the server can't do is correctly update cached information related to the file tree (or reload the routing configuration) at runtime, which causes some funny behaviour if a page is renamed or deleted. this is something that needs to be corrected
font attribution
the font used is iosevka-ck, a build of Iosevka
the font has customised ligatures: it keeps only ligatures that don't change the shape of the glyph (no >= rendering as an actual gte sign), but includes all of the ones that just connect or realign things (excluding the objectively ugly >= and ++)
font license
Copyright (c) 2015-2024, Renzhi Li (aka. Belleve Invis, belleve@typeof.net)
This Font Software is licensed under the SIL Open Font License, Version 1.1.
Definitions
"Font Software" refers to the set of files released by the Copyright Holder(s)
under this license and clearly marked as such. This may include source files,
build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the copyright
statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting, or
substituting -- in part or in whole -- any of the components of the Original
Version, by changing formats or by porting the Font Software to a new en
vironment.
"Author" refers to any designer, engineer, programmer, technical writer or other
person who contributed to the Font Software.
Permissions & Conditions
Permission is hereby granted, free of charge, to any person obtaining a copy of
the Font Software, to use, study, copy, merge, embed, modify, redistribute,
and sell modified and unmodified copies of the Font Software, subject to the
following conditions:
1. Neither the Font Software nor any of its individual components, in Original
or Modified Versions, may be sold by itself.
2. Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy contains
the above copyright notice and this license. These can be included either as
stand-alone text files, human-readable headers or in the appropriate machine-
readable metadata fields within text or binary files as long as those fields
can be easily viewed by the user.
3. No Modified Version of the Font Software may use the Reserved Font Name(s)
unless explicit written permission is granted by the corresponding Copyright
Holder. This restriction only applies to the primary font name as presented
to the users.
4. The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software
shall not be used to promote, endorse or advertise any Modified Version,
except to acknowledge the contribution(s) of the Copyright Holder(s) and the
Author(s) or with their explicit written permission.
5. The Font Software, modified or unmodified, in part or in whole, must be
distributed entirely under this license, and must not be distributed under any
other license. The requirement for fonts to remain under this license does not
apply to any document created using the Font Software.
Termination
This license becomes null and void if any of the above conditions are not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.