Three sites, one directory each

flux.vision, tobias.raayoni-last.com and randogoth.com. They were one site until
October 2026, serving four audiences from a single dated list, which is the only
format that can hold unrelated things at once.

flux.vision is recovered from the Wayback Machine, where it had sat since being
deleted in 2021: 90 articles, closed and maintained rather than updated.
tobias.raayoni-last.com is the professional record, 97 articles back to 1999.
randogoth.com is the technical work, 41 articles across six areas, served as an
ANSI bulletin board.

History starts here deliberately. The development history, the 266-row inventory
that records why each article went where it did, the Wayback pipelines, the
pruned articles, the source archives and the full-size images are kept beside
the repo rather than in it, so a clone is the web presence and not the argument
that produced it. REFACTOR.md is gitignored for the same reason. See README.md
for where that material lives, and keep it: the sort is not reproducible from
these three directories alone.

Each site documents itself in its own README, including the traps that cost time
and look like nothing when you get them wrong.
This commit is contained in:
randogoth 2026-10-05 20:54:17 +03:00
commit 8505b7e9e0
1003 changed files with 13289 additions and 0 deletions

View file

@ -0,0 +1,39 @@
<!DOCTYPE html>
<html lang="english">
<head>
<title>404</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="/theme/local.css" rel="stylesheet">
<style>
body {
color: white;
background-color: blue;
display: table;
height: 100vh;
max-width: 100%;
overflow: hidden;
margin: 0;
}
a {
color: blue
}
div {
display: table-cell;
height: 100%;
vertical-align: middle;
}
</style>
</head>
<body id="index">
<div id="404">
<center><a>Windows</a></center>
<p>An exception 404 has occurred. The page could not be found. It may be possible to continue normally.</p>
<ul>
<li>Press the backspace key to attempt to continue.</li>
<li>Press CTRL+ALT+DEL to restart your computer. You will<br />
lose any unsaved information in all applications.</li>
</ul>
</div>
</body>
</html>

View file

@ -0,0 +1,34 @@
{% extends "base.html" %}
{% block content %}
<section id="content">
{% block content_title %}
{% endblock %}
{% set icon_map = {
'gonzo': 'nf-md-typewriter',
'place': 'nf-fa-map',
'random': 'nf-fa-dice_d20',
'txt': 'nf-cod-terminal',
'machines': 'nf-cod-circuit_board',
'endtimes': 'nf-md-radioactive',
'infra': 'nf-fa-network_wired',
'odds': 'nf-cod-folder'
} %}
{% for article in dates %}
<article class="hentry">
<header>
<h2 class="entry-title">
{% set icon_class = icon_map.get(article.category|string|lower) %}
{% if icon_class %}<i class="nf {{ icon_class }}"></i>{% endif %}
<a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark" title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a>
</h2>
<abbr class="published" title="{{ article.date.isoformat() }}">[{{ article.locale_date }}]&nbsp;</abbr>
<span class="entry-summary">{{ article.summary }}</span>
</header>
</article>
{% endfor %}
</section><!-- /#content -->
{% endblock content %}

View file

@ -0,0 +1,118 @@
<!DOCTYPE html>
<html lang="{{ DEFAULT_LANG }}">
<head>
<base target="_top">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ SITENAME }}</title>
<link rel="shortcut icon" type="image/x-icon" href="/images/favicon.ico" />
<link rel="stylesheet" href="{{ SITEURL }}/theme/local.css">
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.3/dist/leaflet.css" integrity="sha256-kLaT2GOSpHechhsozzB+flnD+zUyjE2LlfWPgU04xyI=" crossorigin=""/>
<style>
html, body { height: 100%; margin: 0; padding: 0; }
#map {
height: 100%;
width: 100vw;
}
#map img {
border: none
}
.info {
padding: 6px 8px;
background: white;
background: rgba(255,255,255,0.8);
box-shadow: 0 0 15px rgba(0,0,0,0.2);
border-radius: 5px;
}
.info h4 {
font-size: 1.6em;
margin: 0 0 5px;
color: #777;
}
.info span {
line-height: 18px;
vertical-align: top;
}
</style>
<script src="https://unpkg.com/leaflet@1.9.3/dist/leaflet.js" integrity="sha256-WBkoXOwTeyKclOHuWtc+i2uENFpDZ9YPdf5Hf+D7ewM=" crossorigin=""></script>
</head>
<body>
<script>
var mapArticles = {
"type": "FeatureCollection",
"title": "{{ SITENAME }}",
"features": [
{% for article in dates %}
{% if article.metadata['lat'] and article.metadata['lon'] %}
{
"type": "Feature",
"id": "{{ article.slug }}",
"geometry": {
"type": "Point",
"coordinates": [{{ article.metadata['lon'] }}, {{ article.metadata['lat'] }}]
},
"properties": {
"title": "{{ article.title }}",
"url": "{{ SITEURL }}/{{ article.url }}"
},
},
{% endif %}
{% endfor %}
]
};
</script>
<div id='map'></div>
<script>
const showArticles = L.geoJSON(mapArticles, {
pointToLayer(feature, latlng) { return L.marker(latlng);},
onEachFeature
});
const map = L.map('map').fitBounds(showArticles.getBounds());
const tiles = L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
maxZoom: 19,
attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'
}).addTo(map);
showArticles.addTo(map);
function onEachFeature(feature, layer) {
let popupContent = ``;
if (feature.properties && feature.properties.title) {
popupContent += '<a href="'+feature.properties.url+'">' + feature.properties.title + '</a>';
}
layer.bindPopup(popupContent);
}
var info = L.control({position: 'topright'});
var download = L.control({position: 'bottomleft'});
info.onAdd = function (map) {
this._div = L.DomUtil.create('div', 'info'); // create a div with a class "info"
this._div.innerHTML = '<h4>' + mapArticles["title"] + '</h4>';
return this._div;
};
download.onAdd = function (map) {
this._div = L.DomUtil.create('div', 'info'); // create a div with a class "info"
this._div.innerHTML = 'Download <a href="{{ SITEURL }}/articles.gpx">GPX</a> <a href="{{ SITEURL }}/articles.kml">KML</a>';
return this._div;
};
info.addTo(map);
download.addTo(map);
</script>
</body>
</html>

View file

@ -0,0 +1,57 @@
{% extends "base.html" %}
{% block head %}
{{ super() }}
{% for keyword in article.keywords %}
<meta name="keywords" contents="{{keyword}}" />
{% endfor %}
{% for description in article.description %}
<meta name="description" contents="{{description}}" />
{% endfor %}
{% for tag in article.tags %}
<meta name="tags" contents="{{tag}}" />
{% endfor %}
{% endblock %}
{% set icon_map = {
'performance': 'nf-md-projector',
'cinema': 'nf-md-theater',
'event': 'nf-fa-masks_theater',
'audio': 'nf-fa-music',
'cooperation': 'nf-fa-group',
'software': 'nf-md-code_braces',
'workshop': 'nf-md-school',
'blog': 'nf-fa-newspaper',
'installation': 'nf-fa-cubes',
'hardware': 'nf-cod-circuit_board'
} %}
{% block legend %}{{ article.title|upper }}{% endblock %}
{% block content %}
<section id="content" class="body">
<header>
<h2 class="entry-title">
{% set icon_class = icon_map.get(article.category|string|lower) %}
{% if icon_class %}<i class="nf {{ icon_class }}"></i>{% endif %}
<a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark"
title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a></h2>
{% import 'translations.html' as translations with context %}
{{ translations.translations_for(article) }}
</header>
<footer class="post-info">
<abbr class="published" title="{{ article.date.isoformat() }}">
{{ article.locale_date }}
</abbr>
{% if article.modified %}
<abbr class="modified" title="{{ article.modified.isoformat() }}">
{{ article.locale_modified }}
</abbr>
{% endif %}
</footer><!-- /.post-info -->
<div class="entry-content">
{{ article.content }}
</div><!-- /.entry-content -->
</section>
{% endblock %}

View file

@ -0,0 +1,7 @@
{% extends "index.html" %}
{% block title %}{{ SITENAME }} - Articles by {{ author }}{% endblock %}
{% block content_title %}
<h2>Articles by {{ author }}</h2>
{% endblock %}

View file

@ -0,0 +1,13 @@
{% extends "base.html" %}
{% block title %}{{ SITENAME }} - Authors{% endblock %}
{% block content %}
<h1>Authors on {{ SITENAME }}</h1>
<ul>
{%- for author, articles in authors|sort %}
<li><a href="{{ SITEURL }}/{{ author.url }}">{{ author }}</a> ({{ articles|count }})</li>
{% endfor %}
</ul>
{% endblock %}

View file

@ -0,0 +1,93 @@
<!DOCTYPE html>
<html lang="{{ DEFAULT_LANG }}">
<head>
{% block head %}
<title>{% block title %}{{ SITENAME }}{% endblock title %}</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
{% if FEED_ALL_ATOM %}
<link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_ATOM }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Full Atom Feed" />
{% endif %}
{% if FEED_ALL_RSS %}
<link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_RSS }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} Full RSS Feed" />
{% endif %}
{% if FEED_ATOM %}
<link href="{{ FEED_DOMAIN }}/{{ FEED_ATOM }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Atom Feed" />
{% endif %}
{% if FEED_RSS %}
<link href="{{ FEED_DOMAIN }}/{{ FEED_RSS }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} RSS Feed" />
{% endif %}
{% if CATEGORY_FEED_ATOM and category %}
<link href="{{ FEED_DOMAIN }}/{{ CATEGORY_FEED_ATOM.format(slug=category.slug) }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Categories Atom Feed" />
{% endif %}
{% if CATEGORY_FEED_RSS and category %}
<link href="{{ FEED_DOMAIN }}/{{ CATEGORY_FEED_RSS.format(slug=category.slug) }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} Categories RSS Feed" />
{% endif %}
{% if TAG_FEED_ATOM and tag %}
<link href="{{ FEED_DOMAIN }}/{{ TAG_FEED_ATOM.format(slug=tag.slug) }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Tags Atom Feed" />
{% endif %}
{% if TAG_FEED_RSS and tag %}
<link href="{{ FEED_DOMAIN }}/{{ TAG_FEED_RSS.format(slug=tag.slug) }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} Tags RSS Feed" />
{% endif %}
<link href="{{ SITEURL }}/theme/tuicss/tuicss.min.css" rel="stylesheet">
<link href="{{ SITEURL }}/theme/local.css" rel="stylesheet">
<link href="{{ SITEURL }}/theme/pygments.css" rel="stylesheet">
<link href="{{ SITEURL }}/theme/symbols.css" rel="stylesheet">
<link rel="me" href="https://mas.to/@randogoth">
{% endblock head %}
</head>
<body id="index" class="home">
<nav id="menu" class="tui-nav">
<span class="tui-datetime" data-format="h:m:s a"></span>
<ul>
<li id="blog-title"><a href="{{ SITEURL }}/">{{ SITENAME }}</a></li>
{% for title, link in MENUITEMS %}
<li><a href="{{ link }}">{{ title }}</a></li>
{% endfor %}
{% if DISPLAY_PAGES_ON_MENU %}
{% for p in PAGES %}
<li{% if p == page %} class="active"{% endif %}><a href="{{ SITEURL }}/{{ p.url }}">{{ p.title }}</a></li>
{% endfor %}
{% else %}
{% if DISPLAY_CATEGORIES_ON_MENU %}
{% for cat, null in categories %}
<li{% if cat == category %} class="active"{% endif %}><a href="{{ SITEURL }}/{{ cat.url }}">{{ cat }}</a></li>
{% endfor %}
{% endif %}
{% endif %}
{% if FEED_ALL_RSS %}
<li><a href="{{ FEED_DOMAIN }}/{{ FEED_ALL_RSS }}">RSS</a></li>
{% endif %}
{% if FEED_ALL_ATOM %}
<li><a href="{{ FEED_DOMAIN }}/{{ FEED_ALL_ATOM }}">Atom</a></li>
{% endif %}
</ul>
</nav><!-- /#menu -->
<div class="tui-window full-width tui-no-shadow" id="content-window">
<fieldset class="tui-fieldset">
<legend class="center">{% block legend %}{{ SITENAME }}{% endblock %}</legend>
<span class="tui-fieldset-button"><span class="green-255-text">↕</span></span>
<span class="tui-fieldset-button left"><span class="green-255-text">■</span></span>
{% block content %}
{% endblock %}
</fieldset>
</div>
{% if DESCRIPTION %}
<footer id="contentinfo" class="body">
<hr>
{{ DESCRIPTION }}
</footer><!-- /#contentinfo -->
{% endif %}
<span id="root">&nbsp;</span>
<script src="{{ SITEURL }}/theme/tuicss/tuicss.min.js"></script>
{% if JS_OVERRIDE %}
<!-- Script specified by the user -->
{% for js in JS_OVERRIDE %}
<script type="text/javascript" src="{{ SITEURL }}/{{ js }}"></script>
{% endfor %}
{% endif %}
</body>
</html>

View file

@ -0,0 +1,25 @@
{% extends "base.html" %}
{% set icon_map = {
'gonzo': 'nf-md-typewriter',
'place': 'nf-fa-map',
'random': 'nf-fa-dice_d20',
'txt': 'nf-cod-terminal',
'machines': 'nf-cod-circuit_board',
'endtimes': 'nf-md-radioactive',
'infra': 'nf-fa-network_wired',
'odds': 'nf-cod-folder'
} %}
{% block content %}
<ul>
{% for category, articles in categories %}
<li>
{% set icon_class = icon_map.get(category|string|lower) %}
{% if icon_class %}<i class="nf {{ icon_class }}"></i>{% endif %}
<a href="{{ SITEURL }}/{{ category.url }}">{{ category }}</a>
</li>
{% endfor %}
</ul>
{% endblock %}

View file

@ -0,0 +1,5 @@
{% extends "index.html" %}
{% block content_title %}
<h2>{{ category }}</h2>
{% endblock %}

View file

@ -0,0 +1,35 @@
{% extends "base.html" %}
{% block content %}
<section id="content">
{% block content_title %}
{% endblock %}
{% set icon_map = {
'gonzo': 'nf-md-typewriter',
'place': 'nf-fa-map',
'random': 'nf-fa-dice_d20',
'txt': 'nf-cod-terminal',
'machines': 'nf-cod-circuit_board',
'endtimes': 'nf-md-radioactive',
'infra': 'nf-fa-network_wired',
'odds': 'nf-cod-folder'
} %}
{% for article in articles_page.object_list %}
<article class="hentry">
<header>
<h2 class="entry-title">
{% set icon_class = icon_map.get(article.category|string|lower) %}
{% if icon_class %}<i class="nf {{ icon_class }}"></i>{% endif %}
<a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark" title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a>
</h2>
<abbr class="published" title="{{ article.date.isoformat() }}">[{{ article.locale_date }}]&nbsp;</abbr>
<span class="entry-summary">{{ article.summary }}</span>
</header>
</article>
{% endfor %}
{% include 'pagination.html' %}
</section><!-- /#content -->
{% endblock content %}

View file

@ -0,0 +1,16 @@
{% extends "base.html" %}
{% block title %}{{ page.title }}{%endblock%}
{% block legend %}{{ page.title|upper }}{% endblock %}
{% block content %}
<h1>{{ page.title }}</h1>
{% import 'translations.html' as translations with context %}
{{ translations.translations_for(page) }}
{{ page.content }}
{% if page.modified %}
<p>
Last updated: {{ page.locale_modified }}
</p>
{% endif %}
{% endblock %}

View file

@ -0,0 +1,11 @@
{% if DEFAULT_PAGINATION and articles_page and articles_paginator.num_pages > 1 %}
<p class="paginator">
{% if articles_page.has_previous() %}
<a href="{{ SITEURL }}/{{ articles_previous_page.url }}">&laquo;</a>
{% endif %}
Page {{ articles_page.number }} / {{ articles_paginator.num_pages }}
{% if articles_page.has_next() %}
<a href="{{ SITEURL }}/{{ articles_next_page.url }}">&raquo;</a>
{% endif %}
</p>
{% endif %}

View file

@ -0,0 +1,11 @@
{% extends "base.html" %}
{% block content %}
<h1>Archives for {{ period | reverse | join(' ') }}</h1>
<dl>
{% for article in dates %}
<dt>{{ article.locale_date }}</dt>
<dd><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></dd>
{% endfor %}
</dl>
{% endblock %}

View file

@ -0,0 +1,10 @@
{% extends "base.html" %}
{% block title %}{{ SITENAME }} - Tags{% endblock %}
{% block content %}
<h1>Tags for {{ SITENAME }}</h1>
{%- for tag, articles in tags|sort %}
<li><a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a> ({{ articles|count }})</li>
{% endfor %}
{% endblock %}

View file

@ -0,0 +1,8 @@
{% macro translations_for(article) %}
{% if article.translations %}
{% for translation in article.translations %}
<a class="translation" href="{{ SITEURL }}/{{ translation.url }}">{{ translation.lang }}</a>
{% endfor %}
{% endif %}
{% endmacro %}