mirror of
https://github.com/skoelle/moonweb-site.git
synced 2026-09-18 01:10:25 +00:00
seo improvements
This commit is contained in:
@@ -244,7 +244,7 @@
|
||||
],
|
||||
"repo": "buildbroken-blog-archive",
|
||||
"repo_url": "https://github.com/skoelle/buildbroken-blog-archive",
|
||||
"summary": "Static archive of \"build broken\", a defunct .NET/software-craftsmanship blog (aztec-project.org). Rebuilt with Hugo from Wayback Machine snapshots, all content, images, and comments hosted locally as a self-contained static site."
|
||||
"summary": "Static archive of \"build broken\", a defunct .NET/software-craftsmanship blog. Rebuilt with Hugo from Wayback Machine snapshots, all content, images, and comments hosted locally as a self-contained static site."
|
||||
},
|
||||
{
|
||||
"title": "moonweb-site",
|
||||
|
||||
@@ -3,8 +3,8 @@ title: "Running AmigaOS in 2026: MiSTer FPGA vs Amiberry on Pi"
|
||||
section: "retro"
|
||||
description: "Two very different ways to get a fully working AmigaOS 3.2.3 desktop running today."
|
||||
layout: base.njk
|
||||
parent: "/"
|
||||
---
|
||||
<a class="back-link" href="/">← Back to retro overview</a>
|
||||
<h1>Running AmigaOS in 2026: MiSTer FPGA vs Amiberry on Pi</h1>
|
||||
<div class="detail-content">
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@ title: "Vampire V4, A600GS or MiSTer: Amiga Hardware Isn't a Simple Speed Race"
|
||||
section: "retro"
|
||||
description: "Why raw benchmark numbers are actively misleading when comparing modern Amiga hardware options."
|
||||
layout: base.njk
|
||||
parent: "/"
|
||||
---
|
||||
<a class="back-link" href="/">← Back to retro overview</a>
|
||||
<h1>Vampire V4, A600GS or MiSTer: Amiga Hardware Isn't a Simple Speed Race</h1>
|
||||
<div class="detail-content">
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@ title: "The Atari Mega ST Fleet: Three Machines, Three Jobs"
|
||||
section: "retro"
|
||||
description: "How three Atari Mega ST computers ended up with completely different roles in a modern retro setup."
|
||||
layout: base.njk
|
||||
parent: "/"
|
||||
---
|
||||
<a class="back-link" href="/">← Back to retro overview</a>
|
||||
<h1>The Atari Mega ST Fleet: Three Machines, Three Jobs</h1>
|
||||
<div class="detail-content">
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@ title: "The 15kHz Problem: Finding a Monitor That Speaks Atari"
|
||||
section: "retro"
|
||||
description: "Why most modern monitors refuse to display Atari ST colour modes, and which ones actually work."
|
||||
layout: base.njk
|
||||
parent: "/"
|
||||
---
|
||||
<a class="back-link" href="/">← Back to retro overview</a>
|
||||
<h1>The 15kHz Problem: Finding a Monitor That Speaks Atari</h1>
|
||||
<div class="detail-content">
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@ title: "Getting a 40-Year-Old Computer Online: Atari ST Networking and BBS Acces
|
||||
section: "retro"
|
||||
description: "Connecting an Atari ST to the modern internet and to dial-up-era bulletin board systems, warts and all."
|
||||
layout: base.njk
|
||||
parent: "/"
|
||||
---
|
||||
<a class="back-link" href="/">← Back to retro overview</a>
|
||||
<h1>Getting a 40-Year-Old Computer Online: Atari ST Networking and BBS Access</h1>
|
||||
<div class="detail-content">
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@ title: "Batocera in the Living Room: One Box, Every Retro System"
|
||||
section: "retro"
|
||||
description: "Why the living room emulation station takes a completely different approach than the FPGA rigs upstairs."
|
||||
layout: base.njk
|
||||
parent: "/"
|
||||
---
|
||||
<a class="back-link" href="/">← Back to retro overview</a>
|
||||
<h1>Batocera in the Living Room: One Box, Every Retro System</h1>
|
||||
<div class="detail-content">
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@ title: "The 486 DX2-66 Tower: An Original PC Living Alongside Its FPGA Twin"
|
||||
section: "retro"
|
||||
description: "Keeping an original Colani-design 486 tower running while a MiSTer core covers the same era digitally."
|
||||
layout: base.njk
|
||||
parent: "/"
|
||||
---
|
||||
<a class="back-link" href="/">← Back to retro overview</a>
|
||||
<h1>The 486 DX2-66 Tower: An Original PC Living Alongside Its FPGA Twin</h1>
|
||||
<div class="detail-content">
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@ title: "Why an ET4000 Graphics Card and a Mega ST Don't Mix (Yet)"
|
||||
section: "retro"
|
||||
description: "A cautionary tale about pushing 1980s power supplies past their limits with a modern-ish graphics card."
|
||||
layout: base.njk
|
||||
parent: "/"
|
||||
---
|
||||
<a class="back-link" href="/">← Back to retro overview</a>
|
||||
<h1>Why an ET4000 Graphics Card and a Mega ST Don't Mix (Yet)</h1>
|
||||
<div class="detail-content">
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@ title: "Mini Arcades and Handhelds: Sorting the Real Deal from the Bootlegs"
|
||||
section: "retro"
|
||||
description: "A buyer's guide to compact retro gaming devices, and why the cheapest option is almost never the right one."
|
||||
layout: base.njk
|
||||
parent: "/"
|
||||
---
|
||||
<a class="back-link" href="/">← Back to retro overview</a>
|
||||
<h1>Mini Arcades and Handhelds: Sorting the Real Deal from the Bootlegs</h1>
|
||||
<div class="detail-content">
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@ title: "MiST and MiSTer: Two FPGA Boxes, Two Very Different Personalities"
|
||||
section: "retro"
|
||||
description: "Why the newer, more powerful MiSTer isn't automatically the better choice for every retro system."
|
||||
layout: base.njk
|
||||
parent: "/"
|
||||
---
|
||||
<a class="back-link" href="/">← Back to retro overview</a>
|
||||
<h1>MiST and MiSTer: Two FPGA Boxes, Two Very Different Personalities</h1>
|
||||
<div class="detail-content">
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@ title: "PiMiga 3 to 5: Chasing the Perfect Amiga-on-a-Pi Distro"
|
||||
section: "retro"
|
||||
description: "Three generations of PiMiga later, here's what actually changed — and why newer isn't always better."
|
||||
layout: base.njk
|
||||
parent: "/"
|
||||
---
|
||||
<a class="back-link" href="/">← Back to retro overview</a>
|
||||
<h1>PiMiga 3 to 5: Chasing the Perfect Amiga-on-a-Pi Distro</h1>
|
||||
<div class="detail-content">
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@ title: "The Retro Corner Today: A Snapshot of the Whole Setup"
|
||||
section: "retro"
|
||||
description: "A tour through every retro system currently active across the home, room by room."
|
||||
layout: base.njk
|
||||
parent: "/"
|
||||
---
|
||||
<a class="back-link" href="/">← Back to retro overview</a>
|
||||
<h1>The Retro Corner Today: A Snapshot of the Whole Setup</h1>
|
||||
<div class="detail-content">
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@ title: "The A1200: What We Know Before It Ships"
|
||||
section: "retro"
|
||||
description: "A close look at Retro Games Ltd.'s upcoming Amiga 1200 console, based on everything public so far."
|
||||
layout: base.njk
|
||||
parent: "/"
|
||||
---
|
||||
<a class="back-link" href="/">← Back to retro overview</a>
|
||||
<h1>The A1200: What We Know Before It Ships</h1>
|
||||
<div class="detail-content">
|
||||
|
||||
|
||||
@@ -5,11 +5,13 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>{{ title }} · moonweb.org</title>
|
||||
<meta name="description" content="{{ description }}">
|
||||
<meta name="author" content="Stefan Koelle">
|
||||
<meta name="theme-color" content="{% if section == 'hub' %}#3b6ea5{% elif section == 'infra' %}#99333A{% elif section == 'smarthome' %}#1f8a8a{% elif section == 'code' %}#3E5098{% elif section == 'retro' %}#8a6d3b{% else %}#3b6ea5{% endif %}">
|
||||
<link rel="canonical" href="{{ site.url }}{{ page.url }}">
|
||||
<meta property="og:title" content="{{ title }} · moonweb.org">
|
||||
<meta property="og:description" content="{{ description }}">
|
||||
<meta property="og:url" content="{{ site.url }}{{ page.url }}">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:type" content="{% if parent %}article{% else %}website{% endif %}">
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:title" content="{{ title }} · moonweb.org">
|
||||
<meta name="twitter:description" content="{{ description }}">
|
||||
@@ -19,6 +21,22 @@
|
||||
<link href="https://fonts.googleapis.com/css2?family=Lobster&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="/shared-base.css">
|
||||
<link rel="stylesheet" href="/theme.css">
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "{% if parent %}BreadcrumbList{% else %}WebSite{% endif %}",
|
||||
{% if parent %}
|
||||
"itemListElement": [
|
||||
{ "@type": "ListItem", "position": 1, "name": "{{ section }}", "item": "{{ site.url }}/" },
|
||||
{ "@type": "ListItem", "position": 2, "name": "{{ title }}", "item": "{{ site.url }}{{ page.url }}" }
|
||||
]
|
||||
{% else %}
|
||||
"name": "{{ title }} · moonweb.org",
|
||||
"url": "{{ site.url }}",
|
||||
"author": { "@type": "Person", "name": "Stefan Koelle" }
|
||||
{% endif %}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<header class="site-header">
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
<url>
|
||||
<loc>{{ site.url }}{{ page.url }}</loc>
|
||||
<lastmod>{{ page.date | date }}</lastmod>
|
||||
<changefreq>{% if page.url == "/" %}weekly{% else %}monthly{% endif %}</changefreq>
|
||||
<priority>{% if page.url == "/" %}1.0{% elif parent %}0.8{% else %}0.7{% endif %}</priority>
|
||||
</url>
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
|
||||
@@ -3,8 +3,8 @@ title: "Home Control Buttons"
|
||||
section: "smarthome"
|
||||
description: "Overview of the central buttons dashboard used to control lighting, smart plugs, music, network devices and monitoring shortcuts around the apartment."
|
||||
layout: base.njk
|
||||
parent: "/"
|
||||
---
|
||||
<a class="back-link" href="/">← Back to infra overview</a>
|
||||
<h1>Home Control Buttons</h1>
|
||||
<div class="detail-content">
|
||||
|
||||
|
||||
@@ -25,6 +25,30 @@
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="msapplication-TileImage" href="/assets/ms-icon-144x144.png">
|
||||
<link rel="canonical" href="{{ site.url }}{{ page.url }}">
|
||||
<meta name="author" content="Stefan Koelle">
|
||||
<meta property="og:title" content="{{ title }}">
|
||||
<meta property="og:description" content="{{ description }}">
|
||||
<meta property="og:url" content="{{ site.url }}{{ page.url }}">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:image" content="{{ site.url }}/assets/stefan-koelle-foto.jpg">
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:title" content="{{ title }}">
|
||||
<meta name="twitter:description" content="{{ description }}">
|
||||
<meta name="twitter:image" content="{{ site.url }}/assets/stefan-koelle-foto.jpg">
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "Person",
|
||||
"name": "Stefan Koelle",
|
||||
"url": "{{ site.url }}",
|
||||
"jobTitle": "Software Developer",
|
||||
"sameAs": [
|
||||
"https://www.linkedin.com/in/stefankoelle/",
|
||||
"https://github.com/skoelle",
|
||||
"https://www.xing.com/profile/Stefan_Koelle"
|
||||
]
|
||||
}
|
||||
</script>
|
||||
<link rel="stylesheet" href="/assets/style.css?v=3">
|
||||
</head>
|
||||
<body class="blog">
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{
|
||||
"name": "App",
|
||||
"name": "Stefan Koelle",
|
||||
"short_name": "SK",
|
||||
"icons": [
|
||||
{
|
||||
"src": "\/android-icon-36x36.png",
|
||||
|
||||
@@ -3,13 +3,32 @@ title: "LED Matrix WebServer"
|
||||
description: "WiFi-controlled LED display solution with REST API, DHT22 sensor, and OTA updates."
|
||||
---
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="{{ description }}">
|
||||
<meta name="author" content="Stefan Kölle">
|
||||
<meta name="author" content="Stefan Koelle">
|
||||
<link rel="canonical" href="{{ site.url }}{{ page.url }}">
|
||||
<meta property="og:title" content="{{ title }}">
|
||||
<meta property="og:description" content="{{ description }}">
|
||||
<meta property="og:url" content="{{ site.url }}{{ page.url }}">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:image" content="{{ site.url }}/assets/ledmatrix.jpg">
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:title" content="{{ title }}">
|
||||
<meta name="twitter:description" content="{{ description }}">
|
||||
<meta name="twitter:image" content="{{ site.url }}/assets/ledmatrix.jpg">
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "Article",
|
||||
"headline": "{{ title }}",
|
||||
"description": "{{ description }}",
|
||||
"author": { "@type": "Person", "name": "Stefan Koelle" },
|
||||
"url": "{{ site.url }}{{ page.url }}"
|
||||
}
|
||||
</script>
|
||||
<title>{{ title }} - ESP32 Project</title>
|
||||
<link rel="stylesheet" href="assets/style.css?v=3">
|
||||
</head>
|
||||
|
||||
Binary file not shown.
@@ -9,6 +9,8 @@ eleventyExcludeFromCollections: true
|
||||
<url>
|
||||
<loc>{{ site.url }}{{ page.url }}</loc>
|
||||
<lastmod>{{ page.date | date }}</lastmod>
|
||||
<changefreq>{% if page.url == "/" %}weekly{% else %}monthly{% endif %}</changefreq>
|
||||
<priority>{% if page.url == "/" %}1.0{% else %}0.8{% endif %}</priority>
|
||||
</url>
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
|
||||
Reference in New Issue
Block a user