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:
commit
8505b7e9e0
1003 changed files with 13289 additions and 0 deletions
39
randogoth.com/mc-pelican/templates/404.html
Normal file
39
randogoth.com/mc-pelican/templates/404.html
Normal 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>
|
||||
34
randogoth.com/mc-pelican/templates/archives.html
Normal file
34
randogoth.com/mc-pelican/templates/archives.html
Normal 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 }}] </abbr>
|
||||
<span class="entry-summary">{{ article.summary }}</span>
|
||||
</header>
|
||||
</article>
|
||||
{% endfor %}
|
||||
|
||||
</section><!-- /#content -->
|
||||
{% endblock content %}
|
||||
118
randogoth.com/mc-pelican/templates/archives.map
Normal file
118
randogoth.com/mc-pelican/templates/archives.map
Normal 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: '© <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>
|
||||
57
randogoth.com/mc-pelican/templates/article.html
Normal file
57
randogoth.com/mc-pelican/templates/article.html
Normal 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 %}
|
||||
7
randogoth.com/mc-pelican/templates/author.html
Normal file
7
randogoth.com/mc-pelican/templates/author.html
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{% extends "index.html" %}
|
||||
|
||||
{% block title %}{{ SITENAME }} - Articles by {{ author }}{% endblock %}
|
||||
{% block content_title %}
|
||||
<h2>Articles by {{ author }}</h2>
|
||||
{% endblock %}
|
||||
|
||||
13
randogoth.com/mc-pelican/templates/authors.html
Normal file
13
randogoth.com/mc-pelican/templates/authors.html
Normal 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 %}
|
||||
93
randogoth.com/mc-pelican/templates/base.html
Normal file
93
randogoth.com/mc-pelican/templates/base.html
Normal 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"> </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>
|
||||
25
randogoth.com/mc-pelican/templates/categories.html
Normal file
25
randogoth.com/mc-pelican/templates/categories.html
Normal 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 %}
|
||||
5
randogoth.com/mc-pelican/templates/category.html
Normal file
5
randogoth.com/mc-pelican/templates/category.html
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{% extends "index.html" %}
|
||||
{% block content_title %}
|
||||
<h2>{{ category }}</h2>
|
||||
{% endblock %}
|
||||
|
||||
35
randogoth.com/mc-pelican/templates/index.html
Normal file
35
randogoth.com/mc-pelican/templates/index.html
Normal 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 }}] </abbr>
|
||||
<span class="entry-summary">{{ article.summary }}</span>
|
||||
</header>
|
||||
</article>
|
||||
{% endfor %}
|
||||
|
||||
{% include 'pagination.html' %}
|
||||
</section><!-- /#content -->
|
||||
{% endblock content %}
|
||||
16
randogoth.com/mc-pelican/templates/page.html
Normal file
16
randogoth.com/mc-pelican/templates/page.html
Normal 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 %}
|
||||
11
randogoth.com/mc-pelican/templates/pagination.html
Normal file
11
randogoth.com/mc-pelican/templates/pagination.html
Normal 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 }}">«</a>
|
||||
{% endif %}
|
||||
Page {{ articles_page.number }} / {{ articles_paginator.num_pages }}
|
||||
{% if articles_page.has_next() %}
|
||||
<a href="{{ SITEURL }}/{{ articles_next_page.url }}">»</a>
|
||||
{% endif %}
|
||||
</p>
|
||||
{% endif %}
|
||||
11
randogoth.com/mc-pelican/templates/period_archives.html
Normal file
11
randogoth.com/mc-pelican/templates/period_archives.html
Normal 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 %}
|
||||
0
randogoth.com/mc-pelican/templates/tag.html
Normal file
0
randogoth.com/mc-pelican/templates/tag.html
Normal file
10
randogoth.com/mc-pelican/templates/tags.html
Normal file
10
randogoth.com/mc-pelican/templates/tags.html
Normal 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 %}
|
||||
8
randogoth.com/mc-pelican/templates/translations.html
Normal file
8
randogoth.com/mc-pelican/templates/translations.html
Normal 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 %}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue