<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de"><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://technikweber.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://technikweber.github.io/" rel="alternate" type="text/html" hreflang="de" /><updated>2026-09-03T14:52:42+02:00</updated><id>https://technikweber.github.io/feed.xml</id><title type="html">Philipps Blog</title><subtitle>Elektronik, Software, Amateurfunk · @TechnikWeber · DL4PW</subtitle><author><name>Philipp Weber</name></author><entry><title type="html">LinuxKompass – welches Linux passt zu dir?</title><link href="https://technikweber.github.io/2026/linuxkompass/" rel="alternate" type="text/html" title="LinuxKompass – welches Linux passt zu dir?" /><published>2026-09-03T10:00:00+02:00</published><updated>2026-09-03T10:00:00+02:00</updated><id>https://technikweber.github.io/2026/linuxkompass</id><content type="html" xml:base="https://technikweber.github.io/2026/linuxkompass/"><![CDATA[<p>„Welche Distribution soll ich nehmen?” – die Frage steht am Anfang jedes
Umstiegs, und die üblichen Antworten sind entweder Geschmackssache oder eine
Rangliste ohne Begründung. <strong>LinuxKompass</strong> fragt stattdessen nach Hardware,
Arbeitsweise und Geduld und erklärt jede Empfehlung.</p>

<figure class="abb">
  <a href="/assets/2026-09-03-linuxkompass/01-startseite.jpg">
    <img src="/assets/2026-09-03-linuxkompass/01-startseite.jpg" alt="Startseite von LinuxKompass mit der Überschrift „Welches Linux
              passt zu dir?“ und den Kennzahlen 55 Distributionen, 37 Fragen,
              45+ Merkmale" />
  </a>
  <figcaption>55 geprüfte Distributionen, drei Fragebogen-Tiefen.</figcaption>
</figure>

<p>Drei kurze Fragen schätzen vorab ein, wie tief es gehen soll: 12 Fragen für
Einsteiger, 23 für Fortgeschrittene, 37 im Profimodus. Der Modus lässt sich
mitten im Fragebogen wechseln, ohne Antworten zu verlieren.</p>

<figure class="abb">
  <a href="/assets/2026-09-03-linuxkompass/02-fragebogen.jpg">
    <img src="/assets/2026-09-03-linuxkompass/02-fragebogen.jpg" alt="Fragebogen: „Wofür wirst du den Rechner hauptsächlich benutzen?“
              mit angehakten Antworten, rechts der Zwischenstand mit Aurora,
              Bazzite und Nobara" />
  </a>
  <figcaption>Der Zwischenstand rechts ändert sich mit jeder Antwort.</figcaption>
</figure>

<p>Am Ende steht keine nackte Zahl: Zu jedem Ergebnis lässt sich aufklappen,
welche Bewertungsdimension wie viele Punkte beigesteuert hat. Ausgeschlossene
Distributionen stehen gesondert, jeweils mit der Anforderung, an der sie
gescheitert sind.</p>

<figure class="abb">
  <a href="/assets/2026-09-03-linuxkompass/03-ergebnis.jpg">
    <img src="/assets/2026-09-03-linuxkompass/03-ergebnis.jpg" alt="Ergebnisseite: Linux Mint mit 81 von 100 Punkten, darunter die
              aufgeklappte Punkteherkunft mit Balken für Stabilität,
              Einsteigerfreundlichkeit und Hardware-Unterstützung" />
  </a>
  <figcaption>Punkteherkunft, aufgeklappt.</figcaption>
</figure>

<p>Dazu kommt eine eigene Empfehlung für die Oberfläche – die entscheidet im
Alltag oft mehr als die Distribution darunter –, ein Direktvergleich von bis zu
sechs Einträgen nebeneinander und ein Kapitel über das, was unter Linux
schlicht nicht geht: Adobe Creative Cloud, Spiele mit Kernel-Anti-Cheat, CAD,
deutsche Steuersoftware.</p>

<p>Alles läuft im Browser, zweisprachig, ohne Cookies, ohne Nutzerverfolgung. Die
Antworten stehen in der Adresszeile, ein Ergebnis-Link stellt dieselbe
Empfehlung wieder her.</p>

<p>Ausprobieren:
<a href="https://technikweber.github.io/LinuxKompass/">technikweber.github.io/LinuxKompass</a> ·
Code: <a href="https://github.com/TechnikWeber/LinuxKompass">github.com/TechnikWeber/LinuxKompass</a></p>]]></content><author><name>Philipp Weber</name></author><category term="Linux" /><category term="Allgemeines" /><summary type="html"><![CDATA[„Welche Distribution soll ich nehmen?” – die Frage steht am Anfang jedes Umstiegs, und die üblichen Antworten sind entweder Geschmackssache oder eine Rangliste ohne Begründung. LinuxKompass fragt stattdessen nach Hardware, Arbeitsweise und Geduld und erklärt jede Empfehlung.]]></summary></entry><entry><title type="html">DiceCore – der Würfelturm, der mitzählt</title><link href="https://technikweber.github.io/2026/dicecore/" rel="alternate" type="text/html" title="DiceCore – der Würfelturm, der mitzählt" /><published>2026-09-02T18:00:00+02:00</published><updated>2026-09-02T18:00:00+02:00</updated><id>https://technikweber.github.io/2026/dicecore</id><content type="html" xml:base="https://technikweber.github.io/2026/dicecore/"><![CDATA[<p>Würfel fallen in den Turm, eine Kamera schaut zu, und das Ergebnis steht auf
dem Display: <strong>DiceCore</strong> liest echte Würfel aus – auf einem Raspberry Pi mit
CSI-Kamera, in Python mit OpenCV.</p>

<p>Das Zählen der Augen braucht kein Training, das läuft von Anfang an. Für
polyedrische Würfel (W20 und Verwandte) gibt es ein lernbares Modell, das sich
direkt im Browser nachtrainieren lässt. Was nicht sicher erkannt wird, meldet
DiceCore ehrlich als unbekannt, statt zu raten.</p>

<p>Dazu kommen 15 Spielmodi von der einfachen Summe bis zu Kniffel-Kombinationen,
eine JSON-API mit Live-Event-Stream, eine Nachkontrolle gegen nachträgliches
Verdrehen der Würfel und Mehrspieler über das lokale Netz. Ohne Hardware läuft
alles im Simulationsmodus auf dem Desktop.</p>

<p>Genau da steht das Projekt auch: Die Software funktioniert in der Simulation,
ein echter Turm ist noch nicht gebaut. Das kommt noch.</p>

<p>Code und Anleitung:
<a href="https://github.com/TechnikWeber/DiceCore">github.com/TechnikWeber/DiceCore</a></p>]]></content><author><name>Philipp Weber</name></author><category term="Elektronik" /><category term="Raspberry Pi" /><summary type="html"><![CDATA[Würfel fallen in den Turm, eine Kamera schaut zu, und das Ergebnis steht auf dem Display: DiceCore liest echte Würfel aus – auf einem Raspberry Pi mit CSI-Kamera, in Python mit OpenCV.]]></summary></entry><entry><title type="html">Ein Bibelvers auf dem Schreibtisch</title><link href="https://technikweber.github.io/2026/bibelvers-widget/" rel="alternate" type="text/html" title="Ein Bibelvers auf dem Schreibtisch" /><published>2026-09-01T12:00:00+02:00</published><updated>2026-09-01T12:00:00+02:00</updated><id>https://technikweber.github.io/2026/bibelvers-widget</id><content type="html" xml:base="https://technikweber.github.io/2026/bibelvers-widget/"><![CDATA[<p>Jeden Tag ein Vers, direkt auf dem Desktop – ohne Fenster, ohne Konto, ohne
Internet. Als Plasmoid für <strong>KDE Plasma 6</strong> und als Desklet für <strong>Cinnamon</strong>.</p>

<figure class="abb klein">
  <a href="/assets/2026-09-01-bibelvers-widget/01-bibelvers-plasmoid.png">
    <img src="/assets/2026-09-01-bibelvers-widget/01-bibelvers-plasmoid.png" alt="Das Widget auf dem Desktop: Hosea 6,3 in großer Schrift auf
              hellem Grund, darunter klein die Stellenangabe" />
  </a>
  <figcaption>Vers des Tages, darunter die Stelle. Ein Klick kopiert
  beides.</figcaption>
</figure>

<p>Zur Wahl stehen eine kuratierte Liste oder die <strong>Herrnhuter Losungen</strong>, dazu
Deutsch, Englisch oder Spanisch. Schrift, Farbe, Ausrichtung und Hintergrund
lassen sich einstellen.</p>

<p>Welcher Vers kommt, ergibt allein das lokale Datum: Die Liste wird pro Jahr
deterministisch gemischt und der Reihe nach durchlaufen. Kein Server, kein
gespeicherter Zustand – und auf jedem Gerät am selben Tag derselbe Vers.</p>

<div class="language-sh highlighter-rouge"><div class="highlight"><pre class="highlight"><code>make install-plasmoid   <span class="c"># KDE Plasma</span>
make install-desklet    <span class="c"># Cinnamon</span>
</code></pre></div></div>

<p>Code und Anleitung:
<a href="https://github.com/TechnikWeber/bible-verse-widget">github.com/TechnikWeber/bible-verse-widget</a></p>]]></content><author><name>Philipp Weber</name></author><category term="Glaube" /><category term="Linux" /><summary type="html"><![CDATA[Jeden Tag ein Vers, direkt auf dem Desktop – ohne Fenster, ohne Konto, ohne Internet. Als Plasmoid für KDE Plasma 6 und als Desklet für Cinnamon.]]></summary></entry><entry><title type="html">Desktop Destroyer – welches Kind aus den 90ern kennt das noch?</title><link href="https://technikweber.github.io/2026/desktop-destroyer/" rel="alternate" type="text/html" title="Desktop Destroyer – welches Kind aus den 90ern kennt das noch?" /><published>2026-09-01T11:00:00+02:00</published><updated>2026-09-01T11:00:00+02:00</updated><id>https://technikweber.github.io/2026/desktop-destroyer</id><content type="html" xml:base="https://technikweber.github.io/2026/desktop-destroyer/"><![CDATA[<p>Hammer, Kettensäge und Flammenwerfer auf dem eigenen Desktop – der Zeitvertreib
der 90er. Den gibt es jetzt für Linux.</p>

<figure class="abb klein">
  <a href="/assets/2026-09-01-desktop-destroyer/01-desktop-destroyer.png">
    <img src="/assets/2026-09-01-desktop-destroyer/01-desktop-destroyer.png" alt="Zerlegter Linux-Desktop: Einschusslöcher und Brandspuren in einem
              Tabellenfenster, Termitengänge, ein Farbklecks und ein Kratzer
              quer über den Hintergrund, dazu der Werkzeugkasten mit neun
              Waffen von Hammer bis Waschpistole" />
  </a>
  <figcaption>Neun Werkzeuge, ein Nachmittag Schadenfreude.</figcaption>
</figure>

<p>Beim Start wird ein Standbild des Desktops aufgenommen und als Vollbild wieder
angezeigt – zerlegt wird also nur das Foto. <code class="language-plaintext highlighter-rouge">R</code> repariert alles, <code class="language-plaintext highlighter-rouge">Esc</code> beendet.
Läuft unter X11 und Wayland.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git clone https://github.com/TechnikWeber/linux-desktop-destroyer.git
<span class="nb">cd </span>linux-desktop-destroyer
./install.sh
</code></pre></div></div>

<p>Code und Anleitung:
<a href="https://github.com/TechnikWeber/linux-desktop-destroyer">github.com/TechnikWeber/linux-desktop-destroyer</a></p>]]></content><author><name>Philipp Weber</name></author><category term="Allgemeines" /><category term="Linux" /><summary type="html"><![CDATA[Hammer, Kettensäge und Flammenwerfer auf dem eigenen Desktop – der Zeitvertreib der 90er. Den gibt es jetzt für Linux.]]></summary></entry><entry><title type="html">Strahlungskabel – die Antenne, die 500 Meter lang ist</title><link href="https://technikweber.github.io/2026/strahlungskabel/" rel="alternate" type="text/html" title="Strahlungskabel – die Antenne, die 500 Meter lang ist" /><published>2026-08-28T08:30:00+02:00</published><updated>2026-08-28T08:30:00+02:00</updated><id>https://technikweber.github.io/2026/strahlungskabel</id><content type="html" xml:base="https://technikweber.github.io/2026/strahlungskabel/"><![CDATA[<p>In einer Tiefgarage lief mir ein daumendickes Kabel über den Weg, das an der
Decke entlanglief und nirgends in eine Antenne mündete. Der Aufdruck:
<strong>RLK78-50JFNA</strong>. Es <em>ist</em> die Antenne – auf seiner ganzen Länge.</p>

<p>Ein Strahlungskabel (auch Schlitz- oder Leckkabel, englisch <em>leaky feeder</em>) ist
ein Koaxkabel, dessen Außenleiter in regelmäßigen Abständen geschlitzt ist.
Durch diese Schlitze tritt ein genau dosierter Teil der Leistung aus. Und weil
Antennen reziprok sind, koppelt umgekehrt auch ein Signal von außen wieder ein –
das Handfunkgerät im Tunnel sendet und empfängt gleichermaßen.</p>

<figure class="abb">
  <div class="rahmen">
    <svg viewBox="0 0 580 200" role="img" aria-label="Skizze: ein waagerechtes Koaxkabel mit Schlitzgruppen im
                     Außenleiter, links der Sender, rechts der 50-Ohm-Abschluss.
                     Entlang des Kabels die Längsdämpfung, nach unten zu einem
                     Handfunkgerät die Koppeldämpfung.">
      <g font-family="system-ui, sans-serif" font-size="12" fill="#555">
        <!-- Laengsdaempfung -->
        <line x1="60" y1="28" x2="520" y2="28" stroke="#999" stroke-width="1" marker-end="url(#pfeil)" />
        <text x="290" y="20" text-anchor="middle">Längsdämpfung · 2,9 dB je 100 m</text>
        <!-- Kabel -->
        <rect x="40" y="52" width="500" height="20" rx="3" fill="#f0efec" stroke="#8a8a85" />
        <line x1="40" y1="52" x2="540" y2="52" stroke="#8a8a85" stroke-width="2" />
        <line x1="40" y1="62" x2="540" y2="62" stroke="#b98a3c" stroke-width="3" />
        <!-- Schlitzgruppen im Aussenleiter -->
        <g stroke="#333" stroke-width="2">
          <path d="M110 72v-6M116 72v-6M122 72v-6
                   M200 72v-6M206 72v-6M212 72v-6
                   M290 72v-6M296 72v-6M302 72v-6
                   M380 72v-6M386 72v-6M392 72v-6
                   M470 72v-6M476 72v-6M482 72v-6" />
        </g>
        <!-- Abstrahlung -->
        <g stroke="#b3541e" fill="none" stroke-width="1.4">
          <path d="M206 80q40 30 74 46" stroke-dasharray="4 3" />
          <path d="M296 80q0 34 -4 46" stroke-dasharray="4 3" />
          <path d="M386 80q-40 30 -74 46" stroke-dasharray="4 3" />
        </g>
        <!-- Handfunkgeraet -->
        <rect x="278" y="128" width="26" height="42" rx="4" fill="#fff" stroke="#333" />
        <line x1="291" y1="128" x2="291" y2="108" stroke="#333" stroke-width="2" />
        <text x="316" y="152" fill="#b3541e">Koppeldämpfung · 56 dB in 2 m</text>
        <!-- Enden -->
        <text x="40" y="94">Sender</text>
        <text x="540" y="94" text-anchor="end">50 Ω Abschluss</text>
      </g>
      <defs>
        <marker id="pfeil" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="6" markerHeight="6" orient="auto">
          <path d="M0 0 10 5 0 10z" fill="#999" />
        </marker>
      </defs>
    </svg>
  </div>
  <figcaption>Zwei Dämpfungen, die gegeneinander laufen: die eine längs, die
  andere quer.</figcaption>
</figure>

<h2 id="wo-es-steckt">Wo es steckt</h2>

<p>Überall dort, wo Funk nicht hinkommt, aber hinkommen muss: Straßen- und
Eisenbahntunnel, U-Bahnen, Bergwerke, Tiefgaragen, Einkaufszentren, Kliniken.
In Deutschland meist als <strong>Objektfunk</strong> für die BOS – ohne den findet die
Feuerwehr im Untergeschoss keine Verbindung. Das Kabel ist mit 30 bis 980 MHz so
breitbandig, dass BOS-Funk, Mobilfunk und Betriebsfunk gleichzeitig darüber
laufen.</p>

<h2 id="die-zwei-dämpfungen">Die zwei Dämpfungen</h2>

<table class="messwerte">
  <thead>
    <tr>
      <th>Frequenz</th>
      <th>Längsdämpfung</th>
      <th>Koppeldämpfung (95 %)</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>150 MHz</td>
      <td>1,56 dB/100 m</td>
      <td>66 dB</td>
    </tr>
    <tr>
      <td>450 MHz</td>
      <td>2,90 dB/100 m</td>
      <td>56 dB</td>
    </tr>
    <tr>
      <td>900 MHz</td>
      <td>5,05 dB/100 m</td>
      <td>62 dB</td>
    </tr>
  </tbody>
</table>

<p>Längsdämpfung ist, was auf dem Weg verlorengeht; Koppeldämpfung, was zwischen
Kabel und einem Empfänger in 2 m Abstand fehlt. Der 95-%-Wert heißt: An 95 % der
Messpunkte war es mindestens so gut. Beide zusammen bestimmen die nutzbare
Länge – und sie ziehen in verschiedene Richtungen, denn mehr Abstrahlung heißt
weniger Rest am Ende.</p>

<p>Ein Zahlenbeispiel im 70-cm-Bereich: 10 W am Anfang sind 40 dBm, nach 300 m
bleiben 31 dBm, nach der Kopplung landen −25 dBm im Handfunkgerät. Sehr laut.</p>

<h2 id="was-daran-eigenartig-ist">Was daran eigenartig ist</h2>

<ul>
  <li><strong>Sperrbänder.</strong> Der regelmäßige Schlitzabstand macht das Kabel bei 300–375
und 650–685 MHz weitgehend blind. Praktischerweise liegen 2 m und 70 cm
außerhalb, aber ein 300-MHz-System kann man auf diesem Kabel vergessen.</li>
  <li><strong>Es hat eine Vorzugsrichtung.</strong> Über den Schlitzen läuft ein Wulst im Mantel,
damit man beim Montieren sieht, wohin sie zeigen – nämlich in den Raum. Und
mindestens 8 cm Abstand zur Wand, sonst stimmt die Kopplung nicht mehr.</li>
  <li><strong>Der Mantel ist die halbe Miete.</strong> JFN heißt halogenfrei, flammwidrig,
raucharm. In einem Tunnelbrand darf ein Kabel keinen korrosiven Qualm
beisteuern.</li>
  <li><strong>Das Ende gehört abgeschlossen</strong>, sonst läuft die Welle zurück und die
Versorgung bekommt Löcher im Meterabstand.</li>
</ul>

<p>Der Typenschlüssel liest sich übrigens geradeheraus: <strong>RLK</strong> Kabeltyp, <strong>78</strong> für
7/8 Zoll, <strong>50</strong> Ohm, <strong>JFN</strong> der Mantel, <strong>A</strong> die Serie. 28,5 mm dick,
550 g pro Meter, kleinster Biegeradius 35 cm. Nichts, was man mal eben durchs
Treppenhaus zieht.</p>

<p>Quellen:
<a href="https://www.rfsworld.com/product/RLK78-50JFNA">RFS-Datenblatt RLK78-50JFNA</a> ·
<a href="https://de.wikipedia.org/wiki/Schlitzkabel">Schlitzkabel bei Wikipedia</a></p>]]></content><author><name>Philipp Weber</name></author><category term="Amateurfunk" /><summary type="html"><![CDATA[In einer Tiefgarage lief mir ein daumendickes Kabel über den Weg, das an der Decke entlanglief und nirgends in eine Antenne mündete. Der Aufdruck: RLK78-50JFNA. Es ist die Antenne – auf seiner ganzen Länge.]]></summary></entry><entry><title type="html">YonderRC – Fernsteuern über IP</title><link href="https://technikweber.github.io/2026/yonderrc-fernsteuerung-ueber-lte/" rel="alternate" type="text/html" title="YonderRC – Fernsteuern über IP" /><published>2026-08-28T08:00:00+02:00</published><updated>2026-08-28T08:00:00+02:00</updated><id>https://technikweber.github.io/2026/yonderrc-fernsteuerung-ueber-lte</id><content type="html" xml:base="https://technikweber.github.io/2026/yonderrc-fernsteuerung-ueber-lte/"><![CDATA[<p>Eine normale RC-Fernsteuerung endet dort, wo ihre Reichweite endet. <strong>YonderRC</strong>
ersetzt sie durch IP: Video, Steuerung und Konfiguration laufen über WLAN oder
LTE, bedient wird im Browser – am PC oder am Handy. Ein Raspberry Pi im Fahrzeug
macht daraus die Servosignale.</p>

<figure class="abb">
  <a href="/assets/2026-08-28-yonderrc-fernsteuerung-ueber-lte/01-bodenstation-fpv-osd.png">
    <img src="/assets/2026-08-28-yonderrc-fernsteuerung-ueber-lte/01-bodenstation-fpv-osd.png" alt="Bodenstation von YonderRC im Browser: oben die Verbindungszeile zum
              Fahrzeug, darunter das FPV-Fenster mit dem Testbild des Simulators
              und eingeblendeten Werten – GPS, Home-Kompass, Strecke, Tempo,
              Akkubalken, Spannung, Strom, mAh und der Hinweis DISARMED" />
  </a>
  <figcaption>Bodenstation mit FPV und OSD. Hier im Simulator, deshalb das
  Testbild.</figcaption>
</figure>

<p>Dazu kommt das, was eine Fernsteuerung ausmacht: 16 Kanäle mit Trim, Expo,
Endpunkten und Kennlinien, Modellvorlagen für Auto, Boot, Flugzeug und Drohne,
Armen mit Halte-Knopf, Failsafe je Fahrzeugtyp und Telemetrie im Bild. Alles
läuft auch <strong>komplett simuliert</strong>, ganz ohne Hardware.</p>

<h2 id="was-man-mindestens-braucht">Was man mindestens braucht</h2>

<table>
  <thead>
    <tr>
      <th>Teil</th>
      <th>Womit</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Rechner</td>
      <td>Raspberry Pi 4 oder Pi Zero 2 W – beide haben den H.264-Encoder fürs Video. Der Pi 5 hat ihn <strong>nicht</strong>.</td>
    </tr>
    <tr>
      <td>Karte</td>
      <td>microSD 32 GB mit Raspberry Pi OS Lite</td>
    </tr>
    <tr>
      <td>Servosignale</td>
      <td>PCA9685, 16 Kanal über I²C, auf Adresse 0x41 gelegt</td>
    </tr>
    <tr>
      <td>Strom</td>
      <td>UBEC 5 V / 3 A aus dem Fahrakku</td>
    </tr>
  </tbody>
</table>

<p>Das war es. Kamera und Stromsensor machen den Aufbau erst rund, nötig sind sie
nicht – ohne sie meldet sich die Simulation. Wer über die Sichtweite hinaus
will, steckt zusätzlich einen <strong>USB-LTE-Stick</strong> an; ein Huawei E3372h-320 tut
es. Am Ende eines Nachmittags im echten Netz standen 110 ms Steuer- und 128 ms
Video-Latenz.</p>

<h2 id="installation-mit-einem-befehl">Installation mit einem Befehl</h2>

<p>Auf dem frisch bespielten Pi:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>curl <span class="nt">-fsSL</span> https://raw.githubusercontent.com/TechnikWeber/YonderRC/main/provisioning/bootstrap.sh | bash
</code></pre></div></div>

<p>Das holt das Projekt nach <code class="language-plaintext highlighter-rouge">/opt/yonderrc</code> und richtet den Dienst ein. Danach
<code class="language-plaintext highlighter-rouge">http://&lt;pi-ip&gt;:8080/setup</code> öffnen und <strong>Detect hardware</strong> drücken: Der Pi geht
den I²C-Bus ab, liest das Kennregister jedes Chips und trägt die Adressen selbst
in die Formulare ein. Auch die Treibermodule installiert diese Seite – kein SSH
nötig. Findet der Pi kein WLAN, macht er seinen eigenen Hotspot auf und schickt
das Handy per Captive Portal direkt auf die Seite.</p>

<p>Code, Teileliste und Verkabelung:
<a href="https://github.com/TechnikWeber/YonderRC">github.com/TechnikWeber/YonderRC</a></p>]]></content><author><name>Philipp Weber</name></author><category term="Elektronik" /><category term="Raspberry Pi" /><summary type="html"><![CDATA[Eine normale RC-Fernsteuerung endet dort, wo ihre Reichweite endet. YonderRC ersetzt sie durch IP: Video, Steuerung und Konfiguration laufen über WLAN oder LTE, bedient wird im Browser – am PC oder am Handy. Ein Raspberry Pi im Fahrzeug macht daraus die Servosignale.]]></summary></entry><entry><title type="html">Drei DC-DC-Wandler am Prüfstand – nur einer hält, was draufsteht</title><link href="https://technikweber.github.io/2026/dc-dc-wandler-im-test/" rel="alternate" type="text/html" title="Drei DC-DC-Wandler am Prüfstand – nur einer hält, was draufsteht" /><published>2026-08-26T19:30:00+02:00</published><updated>2026-08-26T19:30:00+02:00</updated><id>https://technikweber.github.io/2026/dc-dc-wandler-im-test</id><content type="html" xml:base="https://technikweber.github.io/2026/dc-dc-wandler-im-test/"><![CDATA[<p>Drei Module, alle beworben mit <strong>5 V</strong> und <strong>5 A</strong>. Exakte 5,00 V erwarte ich
nicht, 4,7 V täten es auch – mich interessierte nur, ob stimmt, was in der
Artikelbeschreibung steht. Zwei sind <strong>UBECs</strong>, also reine Abwärtswandler, das
dritte ein <strong>Buck-Boost-Wandler</strong>.</p>

<h2 id="das-prüfverfahren">Das Prüfverfahren</h2>

<p>Jedes Modul bekam 5,5 V, 6,6 V, 7,4 V, 11,1 V und 26 V vorgesetzt, belastet mit
1 A, 2 A, 3 A und – wo das ging – 5 A. Die 6,6 V sind kein Zufall: Da ist ein
2S-LiPo leer. Als bestanden zähle ich alles ab <strong>4,7 V</strong> am Modulausgang; in
Litze und Steckern stecken noch einmal 0,1 bis 0,2 Ω.</p>

<h2 id="modul-1--hobbywing-ubec">Modul 1 – Hobbywing UBEC</h2>

<figure class="abb klein">
  <a href="/assets/2026-08-26-dc-dc-wandler-im-test/01-hobbywing-ubec.jpg">
    <img src="/assets/2026-08-26-dc-dc-wandler-im-test/01-hobbywing-ubec.jpg" alt="Hobbywing UBEC im silbernen Blechgehäuse mit angelöteten
              Leitungen und einem grünen Ferritringkern im Ausgangskabel" />
  </a>
  <figcaption>„5V/6V 3A … MAX 5A“, Blechgehäuse mit
  Ferritringkern.</figcaption>
</figure>

<figure class="abb klein">
  <a href="/assets/2026-08-26-dc-dc-wandler-im-test/04-hobbywing-geoeffnet.jpg">
    <img src="/assets/2026-08-26-dc-dc-wandler-im-test/04-hobbywing-geoeffnet.jpg" alt="Geöffneter Hobbywing UBEC: grüne Platine mit der Aufschrift
              HW212V1.2, einem SOIC-8 mit der Beschriftung MP1593DN, zwei
              Schottky-Dioden SS34, einer Drossel mit Aufdruck 150 und einem
              blauen Jumper auf einer Stiftleiste" />
  </a>
  <figcaption>Geöffnet: <strong>MP1593DN</strong>, zwei SS34, 15-µH-Drossel,
  Jumper für 5 V/6 V.</figcaption>
</figure>

<table>
  <thead>
    <tr>
      <th>Aus der Artikelbeschreibung</th>
      <th>Gemessen</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Eingang 5,5 V–26 V (2–6S)</td>
      <td><strong>Nein.</strong> Bei 5,5 V kommen selbst mit nur 1 A Last bloß 3,77 V heraus. Sauber wird er erst ab 7,4 V.</td>
    </tr>
    <tr>
      <td>Dauerausgangsstrom 3 A</td>
      <td><strong>Nur ab 11 V.</strong> Darunter fällt die Spannung bei 3 A auf 2,5 bis 3,6 V und das Modul schaltet nach wenigen Sekunden thermisch ab.</td>
    </tr>
    <tr>
      <td>„MAX 5A“</td>
      <td><strong>Nein.</strong> Wenn schon 3 A nicht dauerhaft gehen, habe ich 5 A gar nicht erst versucht.</td>
    </tr>
  </tbody>
</table>

<table class="messwerte">
  <thead>
    <tr>
      <th>Last</th>
      <th>5,5 V</th>
      <th>6,6 V</th>
      <th>7,4 V</th>
      <th>11,1 V</th>
      <th>26 V</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1 A</td>
      <td>3,77 V</td>
      <td>4,80 V</td>
      <td>5,12 V</td>
      <td>5,12 V</td>
      <td>5,12 V</td>
    </tr>
    <tr>
      <td>2 A</td>
      <td>3,05 V</td>
      <td>4,10 V</td>
      <td>4,80 V</td>
      <td>4,93 V</td>
      <td>4,93 V</td>
    </tr>
    <tr>
      <td>3 A</td>
      <td>2,50 V *</td>
      <td>3,20 V *</td>
      <td>3,60 V *</td>
      <td>4,75 V</td>
      <td>4,75 V</td>
    </tr>
  </tbody>
</table>

<p class="legende">* hält nur Sekunden, dann Abschaltung wegen Übertemperatur</p>

<p>Ungeprüft: Abschirmung, „niedrigstes RF-Rauschen“, Welligkeit unter
50 mV<sub>pp</sub> bei 2 A und 12 V. Bei den Maßen widerspricht sich der
Verkäufer: 51 × 16,6 × 8,5 mm laut Beschreibung, 43 × 17 × 7 mm auf der
AliExpress-Seite.</p>

<p>Ab 7,4 V Eingang und bis etwa 2 A ist das ein ordentlicher Regler. Warum nicht
mehr, steht auf dem Chip: Ein <strong>MP1593DN</strong> von Monolithic Power Systems liefert
laut Datenblatt 3 A und verträgt 4,75 bis 28 V am Eingang. Er bringt außerdem
eine Übertemperaturabschaltung mit – genau die, die bei 3 A nach Sekunden
zuschlägt. „MAX 5A“ steht also auf dem Gehäuse, aber in keinem Datenblatt.</p>

<h2 id="modul-2--ubec-platine-5-a">Modul 2 – UBEC-Platine 5 A</h2>

<figure class="abb klein">
  <a href="/assets/2026-08-26-dc-dc-wandler-im-test/02-ubec-5a-platine.jpg">
    <img src="/assets/2026-08-26-dc-dc-wandler-im-test/02-ubec-5a-platine.jpg" alt="Kleine blaue Platine im durchsichtigen Schrumpfschlauch, zwei
              Elkos, Schaltregler-IC mit der Aufschrift LM2596S und
              Speicherdrossel mit Aufkleber UBEC 5A" />
  </a>
  <figcaption>Aufkleber „UBEC 5A“, auf dem IC:
  <strong>LM2596S</strong>.</figcaption>
</figure>

<table>
  <thead>
    <tr>
      <th>Aus der Artikelbeschreibung</th>
      <th>Gemessen</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Eingang 5,5 V–35 V (2–8S)</td>
      <td><strong>Nein.</strong> Bei 5,5 V und 1 A sind es 4,07 V.</td>
    </tr>
    <tr>
      <td>Dauerstrom 5 A, kurzzeitig 6 A</td>
      <td><strong>Nein.</strong> Bei 5 A läuft das Modul an keiner einzigen Eingangsspannung überhaupt an.</td>
    </tr>
    <tr>
      <td>Ausgang 5,25 V ± 0,5 V</td>
      <td><strong>Nein.</strong> Bestwert über alle Messungen: 4,93 V. Bei 3 A bleiben selbst an 26 V nur 4,44 V.</td>
    </tr>
  </tbody>
</table>

<table class="messwerte">
  <thead>
    <tr>
      <th>Last</th>
      <th>5,5 V</th>
      <th>6,6 V</th>
      <th>7,4 V</th>
      <th>11,1 V</th>
      <th>26 V</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1 A</td>
      <td>4,07 V</td>
      <td>4,65 V</td>
      <td>4,74 V</td>
      <td>4,93 V</td>
      <td>–</td>
    </tr>
    <tr>
      <td>2 A</td>
      <td>3,50 V</td>
      <td>4,61 V</td>
      <td>4,70 V</td>
      <td>4,80 V</td>
      <td>–</td>
    </tr>
    <tr>
      <td>3 A</td>
      <td>2,80 V</td>
      <td>3,88 V</td>
      <td>4,07 V</td>
      <td>4,34 V</td>
      <td>4,44 V</td>
    </tr>
    <tr>
      <td>5 A</td>
      <td>✕</td>
      <td>✕</td>
      <td>✕</td>
      <td>✕</td>
      <td>✕</td>
    </tr>
  </tbody>
</table>

<p class="legende">✕ kein Ausgang, das Modul läuft gar nicht erst an · – nicht gemessen</p>

<p>Ungeprüft: Abschirmung und „niedrigstes HF-Rauschen“, eine Zahl zur Welligkeit
fehlt. Angegeben sind 43 × 21 × 1 mm – nachgemessen trägt das Modul 10 mm auf.</p>

<p>Der Aufdruck auf dem IC erklärt das Ganze: Ein <strong>LM2596S</strong> ist laut Datenblatt
ein 3-A-Schaltregler. Auf dem Aufkleber daneben steht „UBEC 5A“.</p>

<h2 id="modul-3--buck-boost-modul">Modul 3 – Buck-Boost-Modul</h2>

<figure class="abb klein">
  <a href="/assets/2026-08-26-dc-dc-wandler-im-test/03-buck-boost-modul.jpg">
    <img src="/assets/2026-08-26-dc-dc-wandler-im-test/03-buck-boost-modul.jpg" alt="Blaue Platine mit geschirmter Speicherdrossel, blankem QFN-Chip
              ohne Beschriftung, zwei Elkos und Lötpads für IN plus, IN minus,
              OUT plus, OUT minus und EN" />
  </a>
  <figcaption>Buck-Boost mit Enable-Eingang. Steuerchip abgelasert,
  Rückseite: <strong>CR-3050B</strong>.</figcaption>
</figure>

<table>
  <thead>
    <tr>
      <th>Aus der Artikelbeschreibung</th>
      <th>Gemessen</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Eingang 3,6 V–32 V</td>
      <td><strong>Teilweise.</strong> Ab 6,6 V tadellos, aber bei 3,6 V läuft unter Last gar nichts.</td>
    </tr>
    <tr>
      <td>5 V Ausgang</td>
      <td><strong>Ja.</strong> 5,09 V bei 1 A, 4,98 V bei 2 A, 4,87 V bei 3 A – über den ganzen Eingangsbereich.</td>
    </tr>
    <tr>
      <td>bis 5 A</td>
      <td><strong>Fast.</strong> Ab 7,4 V Eingang schafft er die 5 A, mit 4,62 V aber knapp unter meiner Grenze.</td>
    </tr>
  </tbody>
</table>

<table class="messwerte">
  <thead>
    <tr>
      <th>Last</th>
      <th>5,5 V</th>
      <th>6,6 V</th>
      <th>7,4 V</th>
      <th>11,1 V</th>
      <th>26 V</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1 A</td>
      <td>5,09 V</td>
      <td>5,09 V</td>
      <td>5,09 V</td>
      <td>5,09 V</td>
      <td>–</td>
    </tr>
    <tr>
      <td>2 A</td>
      <td>2,10 V *</td>
      <td>4,98 V</td>
      <td>4,98 V</td>
      <td>4,98 V</td>
      <td>–</td>
    </tr>
    <tr>
      <td>3 A</td>
      <td>✕</td>
      <td>4,86 V</td>
      <td>4,87 V</td>
      <td>4,87 V</td>
      <td>–</td>
    </tr>
    <tr>
      <td>5 A</td>
      <td>✕</td>
      <td>✕</td>
      <td>4,63 V</td>
      <td>4,62 V</td>
      <td>4,62 V</td>
    </tr>
  </tbody>
</table>

<p class="legende">* hält nur Sekunden, dann Abschaltung wegen Übertemperatur
· ✕ kein Ausgang, das Modul läuft gar nicht erst an
· – nicht gemessen</p>

<p>Ungeprüft: „geringe Welligkeit“ (ohne Zahl), Kurzschluss- und
Übertemperaturschutz, TVS-Diode, −40 bis +125 °C. Maße nennt der Verkäufer
keine – nachgemessen 31 × 22 × 7 mm.</p>

<p>Die Beschreibung schränkt selbst ein: Die 5 A gelten im Boost-Betrieb für den
<em>Eingangs</em>strom, nicht für den Ausgang. Genau am unteren Ende wird es eng – bei
5,5 V bricht das Modul schon unter 2 A nach Sekunden ein.</p>

<h2 id="fazit">Fazit</h2>

<p><strong>Modul 3</strong> hält im Wesentlichen, was draufsteht, und ist als einziges bei 5 A
überhaupt zu gebrauchen. Wer aus 2S oder 3S ordentlich Strom bei 5 V braucht,
nimmt den.</p>

<p><strong>Modul 1</strong> taugt ab 7,4 V für kleine Lasten; die 5 A auf dem Aufkleber sind
Fiktion. Ich behalte es trotzdem – wegen Blechgehäuse und Ferritringkern, was
neben einem Empfänger mehr wert sein kann als das letzte halbe Volt.</p>

<p><strong>Modul 2</strong> verfehlt jede seiner drei Kernangaben und kommt nicht zum Einsatz.</p>

<hr />

<p>Die drei Module bei AliExpress, ohne Affiliate-Kram und ohne Empfehlung – nur
damit nachvollziehbar ist, was gemessen wurde:
<a href="https://de.aliexpress.com/item/1005010265933337.html">Modul 1</a> ·
<a href="https://de.aliexpress.com/item/1005009444909052.html">Modul 2</a> ·
<a href="https://de.aliexpress.com/item/1005008431252487.html">Modul 3</a></p>]]></content><author><name>Philipp Weber</name></author><category term="Elektronik" /><summary type="html"><![CDATA[Drei Module, alle beworben mit 5 V und 5 A. Exakte 5,00 V erwarte ich nicht, 4,7 V täten es auch – mich interessierte nur, ob stimmt, was in der Artikelbeschreibung steht. Zwei sind UBECs, also reine Abwärtswandler, das dritte ein Buck-Boost-Wandler.]]></summary></entry><entry><title type="html">So abonnierst du einen RSS-Feed</title><link href="https://technikweber.github.io/2026/rss-feed-abonnieren/" rel="alternate" type="text/html" title="So abonnierst du einen RSS-Feed" /><published>2026-08-26T14:00:00+02:00</published><updated>2026-08-26T14:00:00+02:00</updated><id>https://technikweber.github.io/2026/rss-feed-abonnieren</id><content type="html" xml:base="https://technikweber.github.io/2026/rss-feed-abonnieren/"><![CDATA[<p>Eine Seite regelmäßig auf neue Beiträge abzuklappern, vergisst man. Ein
Newsletter will die E-Mail-Adresse. RSS dreht das um: Die Seite meldet sich bei
dir, ohne Konto, ohne Adresse, ohne Algorithmus, der entscheidet, was du zu
sehen bekommst.</p>

<p>Fast jeder Blog bietet einen <strong>Feed</strong> an – eine Datei, in der die letzten
Beiträge stehen und die sich bei jedem neuen Beitrag ändert. Ein <strong>Feedreader</strong>
sieht regelmäßig nach und legt dir vor, was dazugekommen ist. Wie ein
Posteingang, nur für Webseiten.</p>

<h2 id="schritt-1--einen-reader-aussuchen">Schritt 1 – Einen Reader aussuchen</h2>

<table>
  <thead>
    <tr>
      <th>Wo</th>
      <th>Womit</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>PC</td>
      <td>Thunderbird kann es schon eingebaut. Sonst QuiteRSS oder Fluent Reader.</td>
    </tr>
    <tr>
      <td>Android</td>
      <td>Feeder oder FeedMe</td>
    </tr>
    <tr>
      <td>iPhone</td>
      <td>NetNewsWire oder Reeder</td>
    </tr>
    <tr>
      <td>überall</td>
      <td>Feedly oder Inoreader – laufen im Browser, wollen dafür ein Konto</td>
    </tr>
  </tbody>
</table>

<p>Die ersten drei Zeilen brauchen kein Konto: Die Abos liegen auf deinem Gerät.</p>

<h2 id="schritt-2--die-adresse-eintragen">Schritt 2 – Die Adresse eintragen</h2>

<p>Der Feed dieses Blogs ist:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>https://technikweber.github.io/feed.xml
</code></pre></div></div>

<p>Die kopierst du in deinen Reader, fertig. Bei den meisten reicht sogar die
normale Blog-Adresse <code class="language-plaintext highlighter-rouge">https://technikweber.github.io</code> – der Reader sucht sich
den Feed dann selbst, weil er in jeder Seite vermerkt ist.</p>

<p>In <strong>Thunderbird</strong> sind es drei Schritte: <em>Datei → Neu → Feed-Konto</em> anlegen,
dann Rechtsklick auf dieses Konto → <em>Abonnements…</em> → <em>Hinzufügen</em> und die
Adresse einfügen. Neue Beiträge landen danach wie E-Mails im Posteingang.</p>

<h2 id="der-feed-sieht-im-browser-aus-wie-kauderwelsch">Der Feed sieht im Browser aus wie Kauderwelsch</h2>

<p>Wer die Adresse direkt im Browser öffnet, bekommt eine Wand aus spitzen
Klammern und den Hinweis „This XML file does not appear to have any style
information”. Das ist kein Fehler und nichts kaputt: Die Datei ist für
Programme geschrieben, nicht für Augen. Kopier die Adresse einfach in den
Reader, der macht eine Liste daraus.</p>

<h2 id="und-bei-anderen-seiten">Und bei anderen Seiten?</h2>

<p>Meistens versteckt sich der Feed hinter einem Symbol oder einem Link namens
„RSS” oder „Feed”. Findest du keinen, gib deinem Reader einfach die Adresse der
Seite – oder häng probeweise <code class="language-plaintext highlighter-rouge">/feed</code>, <code class="language-plaintext highlighter-rouge">/rss</code> oder <code class="language-plaintext highlighter-rouge">/feed.xml</code> an. Erstaunlich
viele Seiten haben einen, auch ohne ihn zu bewerben.</p>

<hr />

<p>Zum Ausprobieren gleich hier:
<a href="https://technikweber.github.io/feed.xml">technikweber.github.io/feed.xml</a>.
Ich erfahre davon nichts – kein Zähler, kein Konto, keine E-Mail-Adresse. Genau
das ist der Punkt.</p>]]></content><author><name>Philipp Weber</name></author><category term="Allgemeines" /><summary type="html"><![CDATA[Eine Seite regelmäßig auf neue Beiträge abzuklappern, vergisst man. Ein Newsletter will die E-Mail-Adresse. RSS dreht das um: Die Seite meldet sich bei dir, ohne Konto, ohne Adresse, ohne Algorithmus, der entscheidet, was du zu sehen bekommst.]]></summary></entry><entry><title type="html">So baust du dir diesen Blog nach – kostenlos und ohne Server</title><link href="https://technikweber.github.io/2026/diesen-blog-nachbauen/" rel="alternate" type="text/html" title="So baust du dir diesen Blog nach – kostenlos und ohne Server" /><published>2026-08-26T09:00:00+02:00</published><updated>2026-08-26T09:00:00+02:00</updated><id>https://technikweber.github.io/2026/diesen-blog-nachbauen</id><content type="html" xml:base="https://technikweber.github.io/2026/diesen-blog-nachbauen/"><![CDATA[<p>Diese Seite kostet nichts. Kein Server, keine Datenbank, kein WordPress,
keine monatliche Rechnung. Geschrieben wird in einfachen Textdateien, den
Rest erledigt GitHub. Wer sich dasselbe bauen will: hier ist der komplette
Weg. Gebraucht werden ein GitHub-Konto und ein Browser.</p>

<p>Dahinter steckt <strong>Jekyll</strong>: ein Programm, das aus Markdown-Textdateien
fertige HTML-Seiten baut. <strong>GitHub Pages</strong> lässt Jekyll nach jedem Hochladen
automatisch laufen und veröffentlicht das Ergebnis. Lokal muss dafür nichts
installiert werden.</p>

<h2 id="schritt-1--konto-und-repository">Schritt 1 – Konto und Repository</h2>

<p>Auf <a href="https://github.com">github.com</a> ein Konto anlegen. Der Benutzername
wird Teil der Adresse, also mit Bedacht wählen.</p>

<p>Dann ein neues Repository anlegen – so heißt bei GitHub ein Projektordner.
Der Name muss <strong>exakt</strong> <code class="language-plaintext highlighter-rouge">benutzername.github.io</code> lauten, sonst funktioniert
der Rest nicht:</p>

<ul>
  <li>Name: <code class="language-plaintext highlighter-rouge">benutzername.github.io</code></li>
  <li>Sichtbarkeit: <strong>Public</strong></li>
  <li>Haken bei „Add a README file”</li>
</ul>

<h2 id="schritt-2--seite-einschalten">Schritt 2 – Seite einschalten</h2>

<p>Im Repository auf <strong>Settings → Pages</strong>, dann unter <em>Source</em> auswählen:
<strong>Deploy from a branch</strong>, Branch <code class="language-plaintext highlighter-rouge">main</code>, Ordner <code class="language-plaintext highlighter-rouge">/ (root)</code>, speichern.</p>

<p>Ein bis zwei Minuten später ist die Seite unter
<code class="language-plaintext highlighter-rouge">https://benutzername.github.io</code> erreichbar.</p>

<h2 id="schritt-3--die-dateien-anlegen">Schritt 3 – Die Dateien anlegen</h2>

<p>Alle Dateien lassen sich direkt im Browser anlegen: <strong>Add file → Create new
file</strong>. Ordner entstehen dabei von selbst, indem man einen Schrägstrich in
den Dateinamen schreibt, also <code class="language-plaintext highlighter-rouge">_layouts/beitrag.html</code>.</p>

<p>Das ist das ganze Gerüst:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>_config.yml       Grundeinstellungen
index.md          Startseite mit der Beitragsliste
themen.md         Übersicht aller Tags, füllt sich von selbst
ueber-mich.md     Über mich
impressum.md      Impressum
datenschutz.md    Datenschutzerklärung
_posts/           die Beiträge, Dateiname JJJJ-MM-TT-titel.md
_layouts/         beitrag.html – Beitragslayout
assets/           Bilder, ein Unterordner je Beitrag
</code></pre></div></div>

<details>
  <summary><strong>_config.yml</strong> – zum Kopieren</summary>

  <p>Nur die ersten vier Zeilen anpassen.</p>

  <div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">title</span><span class="pi">:</span> <span class="s">Mein Blog</span>
<span class="na">description</span><span class="pi">:</span> <span class="s">Worum es hier geht</span>
<span class="na">author</span><span class="pi">:</span> <span class="s">Vorname Nachname</span>
<span class="na">url</span><span class="pi">:</span> <span class="s">https://benutzername.github.io</span>
<span class="na">lang</span><span class="pi">:</span> <span class="s">de</span>
<span class="na">timezone</span><span class="pi">:</span> <span class="s">Europe/Berlin</span>
<span class="na">permalink</span><span class="pi">:</span> <span class="s">/:year/:title/</span>
<span class="na">show_excerpts</span><span class="pi">:</span> <span class="no">true</span>
<span class="na">theme</span><span class="pi">:</span> <span class="s">minima</span>

<span class="c1"># Datumsformat deutsch statt "Aug 25, 2026"</span>
<span class="na">minima</span><span class="pi">:</span>
  <span class="na">date_format</span><span class="pi">:</span> <span class="s2">"</span><span class="s">%d.%m.%Y"</span>

<span class="na">header_pages</span><span class="pi">:</span>
  <span class="pi">-</span> <span class="s">index.md</span>
  <span class="pi">-</span> <span class="s">themen.md</span>
  <span class="pi">-</span> <span class="s">ueber-mich.md</span>
  <span class="pi">-</span> <span class="s">impressum.md</span>
  <span class="pi">-</span> <span class="s">datenschutz.md</span>

<span class="na">exclude</span><span class="pi">:</span>
  <span class="pi">-</span> <span class="s">README.md</span>

<span class="c1"># Beiträge nutzen automatisch das Layout "beitrag"</span>
<span class="na">defaults</span><span class="pi">:</span>
  <span class="pi">-</span> <span class="na">scope</span><span class="pi">:</span>
      <span class="na">path</span><span class="pi">:</span> <span class="s2">"</span><span class="s">"</span>
      <span class="na">type</span><span class="pi">:</span> <span class="s">posts</span>
    <span class="na">values</span><span class="pi">:</span>
      <span class="na">layout</span><span class="pi">:</span> <span class="s">beitrag</span>

<span class="na">plugins</span><span class="pi">:</span>
  <span class="pi">-</span> <span class="s">jekyll-feed</span>
  <span class="pi">-</span> <span class="s">jekyll-seo-tag</span>
  <span class="pi">-</span> <span class="s">jekyll-sitemap</span>
</code></pre></div>  </div>

  <p><code class="language-plaintext highlighter-rouge">theme: minima</code> ist das Standard-Theme von GitHub Pages – schlicht, schnell
und ohne Installation nutzbar.</p>

</details>

<details>
  <summary><strong>index.md</strong> und <strong>themen.md</strong> – zum Kopieren</summary>

  <p><code class="language-plaintext highlighter-rouge">index.md</code> – die Startseite mit der Beitragsliste:</p>

  <div class="language-markdown highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">---</span>
<span class="na">layout</span><span class="pi">:</span> <span class="s">home</span>
<span class="na">title</span><span class="pi">:</span> <span class="s">Beiträge</span>
<span class="na">list_title</span><span class="pi">:</span> <span class="s">Beiträge</span>
<span class="nn">---</span>

<span class="nt">&lt;style&gt;</span>
  /<span class="ge">* Das Theme setzt hier zwei gleiche Überschriften. Die zweite weg. *</span>/
  .home &gt; .post-list-heading { display: none; }
<span class="nt">&lt;/style&gt;</span>
</code></pre></div>  </div>

  <p><code class="language-plaintext highlighter-rouge">themen.md</code> – die Themenübersicht. Sie füllt sich automatisch aus den Tags
aller Beiträge, es ist also nie etwas nachzupflegen:</p>

  <div class="language-liquid highlighter-rouge"><div class="highlight"><pre class="highlight"><code>---
layout: page
title: Themen
permalink: /themen/
---

<span class="p">{%</span><span class="w"> </span><span class="nt">assign</span><span class="w"> </span><span class="nv">alle_tags</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">site</span><span class="p">.</span><span class="nv">tags</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nf">sort</span><span class="w"> </span><span class="p">%}</span>
<span class="p">{%</span><span class="w"> </span><span class="kr">if</span><span class="w"> </span><span class="nv">alle_tags</span><span class="p">.</span><span class="nf">size</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="p">%}</span>

Hier sammeln sich die Beiträge nach Themen, sobald die ersten
geschrieben sind.

<span class="p">{%</span><span class="w"> </span><span class="kr">else</span><span class="w"> </span><span class="p">%}</span>

&lt;p&gt;
<span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">tag</span><span class="w"> </span><span class="nt">in</span><span class="w"> </span><span class="nv">alle_tags</span><span class="w"> </span><span class="p">%}</span>
  &lt;a href="#<span class="p">{{</span><span class="w"> </span><span class="nv">tag</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nf">slugify</span><span class="w"> </span><span class="p">}}</span>"&gt;<span class="p">{{</span><span class="w"> </span><span class="nv">tag</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="p">}}</span>&lt;/a&gt; (<span class="p">{{</span><span class="w"> </span><span class="nv">tag</span><span class="p">[</span><span class="mi">1</span><span class="p">].</span><span class="nf">size</span><span class="w"> </span><span class="p">}}</span>)<span class="p">{%</span><span class="w"> </span><span class="kr">unless</span><span class="w"> </span><span class="nb">forloop.last</span><span class="w"> </span><span class="p">%}</span> · <span class="p">{%</span><span class="w"> </span><span class="kr">endunless</span><span class="w"> </span><span class="p">%}</span>
<span class="p">{%</span><span class="w"> </span><span class="nt">endfor</span><span class="w"> </span><span class="p">%}</span>
&lt;/p&gt;

<span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">tag</span><span class="w"> </span><span class="nt">in</span><span class="w"> </span><span class="nv">alle_tags</span><span class="w"> </span><span class="p">%}</span>
&lt;h2 id="<span class="p">{{</span><span class="w"> </span><span class="nv">tag</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nf">slugify</span><span class="w"> </span><span class="p">}}</span>"&gt;<span class="p">{{</span><span class="w"> </span><span class="nv">tag</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="p">}}</span>&lt;/h2&gt;
&lt;ul&gt;
  <span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">post</span><span class="w"> </span><span class="nt">in</span><span class="w"> </span><span class="nv">tag[1]</span><span class="w"> </span><span class="p">%}</span>
  &lt;li&gt;
    &lt;a href="<span class="p">{{</span><span class="w"> </span><span class="nv">post</span><span class="p">.</span><span class="nv">url</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nf">relative_url</span><span class="w"> </span><span class="p">}}</span>"&gt;<span class="p">{{</span><span class="w"> </span><span class="nv">post</span><span class="p">.</span><span class="nv">title</span><span class="w"> </span><span class="p">}}</span>&lt;/a&gt;
    &lt;small&gt;– <span class="p">{{</span><span class="w"> </span><span class="nv">post</span><span class="p">.</span><span class="nv">date</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nf">date</span><span class="p">:</span><span class="w"> </span><span class="s2">"%d.%m.%Y"</span><span class="w"> </span><span class="p">}}</span>&lt;/small&gt;
  &lt;/li&gt;
  <span class="p">{%</span><span class="w"> </span><span class="nt">endfor</span><span class="w"> </span><span class="p">%}</span>
&lt;/ul&gt;
<span class="p">{%</span><span class="w"> </span><span class="nt">endfor</span><span class="w"> </span><span class="p">%}</span>

<span class="p">{%</span><span class="w"> </span><span class="kr">endif</span><span class="w"> </span><span class="p">%}</span>
</code></pre></div>  </div>

  <p>Eine eigene Seite wie <code class="language-plaintext highlighter-rouge">ueber-mich.md</code> besteht nur aus diesem Kopf und dem
Text darunter:</p>

  <div class="language-markdown highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">---</span>
<span class="na">layout</span><span class="pi">:</span> <span class="s">page</span>
<span class="na">title</span><span class="pi">:</span> <span class="s">Über mich</span>
<span class="na">permalink</span><span class="pi">:</span> <span class="s">/ueber-mich/</span>
<span class="nn">---</span>

Hier steht der Text.
</code></pre></div>  </div>

</details>

<details>
  <summary><strong>_layouts/beitrag.html</strong> – Bilder mit Rahmen und die Tag-Zeile</summary>

  <p>Das ist das normale Beitragslayout plus zwei Zutaten: Bilder in einem
Rahmen samt automatisch durchnummerierter Bildunterschrift und die Zeile
<code class="language-plaintext highlighter-rouge">Themen: …</code> am Ende jedes Beitrags, die auf die Themenseite zurückverlinkt.</p>

  <div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code>---
layout: post
---
<span class="nt">&lt;style&gt;</span>
  <span class="o">/*</span> <span class="nt">Bilder</span> <span class="nt">mit</span> <span class="nt">Rahmen</span> <span class="nt">und</span> <span class="nt">Bildunterschrift</span><span class="o">.</span> <span class="nt">Im</span> <span class="nt">Beitrag</span><span class="o">:</span>

       <span class="o">&lt;</span><span class="nt">figure</span> <span class="nt">class</span><span class="o">=</span><span class="s1">"abb klein"</span><span class="o">&gt;</span>
         <span class="o">&lt;</span><span class="nt">a</span> <span class="nt">href</span><span class="o">=</span><span class="s1">"/assets/BEITRAG/01-bild.jpg"</span><span class="o">&gt;</span>
           <span class="o">&lt;</span><span class="nt">img</span> <span class="nt">src</span><span class="o">=</span><span class="s1">"/assets/BEITRAG/01-bild.jpg"</span> <span class="nt">alt</span><span class="o">=</span><span class="s1">"Alternativtext"</span><span class="o">&gt;</span>
         <span class="o">&lt;/</span><span class="nt">a</span><span class="o">&gt;</span>
         <span class="o">&lt;</span><span class="nt">figcaption</span><span class="o">&gt;</span><span class="nt">Beschreibung</span><span class="o">.&lt;/</span><span class="nt">figcaption</span><span class="o">&gt;</span>
       <span class="o">&lt;/</span><span class="nt">figure</span><span class="o">&gt;</span>

     <span class="nt">Die</span> <span class="nt">Nummer</span> <span class="s1">"Abb. 1"</span><span class="o">,</span> <span class="s1">"Abb. 2"</span> <span class="err">…</span> <span class="nt">setzt</span> <span class="nt">der</span> <span class="nt">Browser</span> <span class="nt">selbst</span> <span class="nt">davor</span><span class="o">.</span>  <span class="o">*/</span>

  <span class="nc">.post-content</span> <span class="p">{</span> <span class="nl">counter-reset</span><span class="p">:</span> <span class="n">abb</span><span class="p">;</span> <span class="p">}</span>
  <span class="nc">.abb</span> <span class="p">{</span> <span class="nl">margin</span><span class="p">:</span> <span class="m">2.2em</span> <span class="m">0</span><span class="p">;</span> <span class="p">}</span>

  <span class="c">/* "klein" = schmaler und mittig statt über die volle Textbreite */</span>
  <span class="nc">.abb.klein</span> <span class="p">{</span> <span class="nl">max-width</span><span class="p">:</span> <span class="m">440px</span><span class="p">;</span> <span class="nl">margin-left</span><span class="p">:</span> <span class="nb">auto</span><span class="p">;</span> <span class="nl">margin-right</span><span class="p">:</span> <span class="nb">auto</span><span class="p">;</span> <span class="p">}</span>

  <span class="nc">.abb</span> <span class="o">&gt;</span> <span class="nt">a</span> <span class="p">{</span>
    <span class="nl">display</span><span class="p">:</span> <span class="nb">block</span><span class="p">;</span>
    <span class="nl">padding</span><span class="p">:</span> <span class="m">8px</span><span class="p">;</span>
    <span class="nl">background</span><span class="p">:</span> <span class="m">#fff</span><span class="p">;</span>
    <span class="nl">border</span><span class="p">:</span> <span class="m">1px</span> <span class="nb">solid</span> <span class="m">#e0e0dd</span><span class="p">;</span>
    <span class="nl">border-radius</span><span class="p">:</span> <span class="m">6px</span><span class="p">;</span>
    <span class="nl">line-height</span><span class="p">:</span> <span class="m">0</span><span class="p">;</span>
  <span class="p">}</span>
  <span class="nc">.abb</span> <span class="nt">img</span> <span class="p">{</span> <span class="nl">display</span><span class="p">:</span> <span class="nb">block</span><span class="p">;</span> <span class="nl">width</span><span class="p">:</span> <span class="m">100%</span><span class="p">;</span> <span class="nl">height</span><span class="p">:</span> <span class="nb">auto</span><span class="p">;</span> <span class="nl">border-radius</span><span class="p">:</span> <span class="m">3px</span><span class="p">;</span> <span class="p">}</span>

  <span class="nc">.abb</span> <span class="nt">figcaption</span> <span class="p">{</span>
    <span class="nl">margin-top</span><span class="p">:</span> <span class="m">.75em</span><span class="p">;</span>
    <span class="nl">font-size</span><span class="p">:</span> <span class="m">.88em</span><span class="p">;</span>
    <span class="nl">line-height</span><span class="p">:</span> <span class="m">1.5</span><span class="p">;</span>
    <span class="nl">color</span><span class="p">:</span> <span class="m">#828282</span><span class="p">;</span>
    <span class="nl">text-align</span><span class="p">:</span> <span class="nb">center</span><span class="p">;</span>
  <span class="p">}</span>
  <span class="nc">.abb</span> <span class="nt">figcaption</span><span class="nd">::before</span> <span class="p">{</span>
    <span class="nl">counter-increment</span><span class="p">:</span> <span class="n">abb</span><span class="p">;</span>
    <span class="nl">content</span><span class="p">:</span> <span class="s1">"Abb. "</span> <span class="n">counter</span><span class="p">(</span><span class="n">abb</span><span class="p">)</span> <span class="s1">" · "</span><span class="p">;</span>
    <span class="nl">font-weight</span><span class="p">:</span> <span class="m">600</span><span class="p">;</span>
    <span class="nl">color</span><span class="p">:</span> <span class="m">#424242</span><span class="p">;</span>
  <span class="p">}</span>

  <span class="c">/* Tabellen: nur so breit wie nötig, seitlich scrollbar.
     Im Beitrag  {: .messwerte}  direkt unter die Tabelle schreiben. */</span>
  <span class="nc">.post-content</span> <span class="nc">.messwerte</span> <span class="p">{</span>
    <span class="nl">display</span><span class="p">:</span> <span class="nb">block</span><span class="p">;</span>
    <span class="nl">width</span><span class="p">:</span> <span class="n">max-content</span><span class="p">;</span>
    <span class="nl">max-width</span><span class="p">:</span> <span class="m">100%</span><span class="p">;</span>
    <span class="nl">overflow-x</span><span class="p">:</span> <span class="nb">auto</span><span class="p">;</span>
    <span class="nl">font-size</span><span class="p">:</span> <span class="m">.92em</span><span class="p">;</span>
  <span class="p">}</span>
  <span class="nc">.messwerte</span> <span class="nt">td</span><span class="o">,</span> <span class="nc">.messwerte</span> <span class="nt">th</span> <span class="p">{</span> <span class="nl">white-space</span><span class="p">:</span> <span class="nb">nowrap</span><span class="p">;</span> <span class="p">}</span>
  <span class="nc">.messwerte</span> <span class="nt">td</span> <span class="o">+</span> <span class="nt">td</span><span class="o">,</span> <span class="nc">.messwerte</span> <span class="nt">th</span> <span class="o">+</span> <span class="nt">th</span> <span class="p">{</span> <span class="nl">text-align</span><span class="p">:</span> <span class="nb">right</span><span class="p">;</span> <span class="p">}</span>

  <span class="c">/* Kleingedruckte Zeile unter einer Tabelle:  {: .legende}  */</span>
  <span class="nc">.post-content</span> <span class="nc">.legende</span> <span class="p">{</span>
    <span class="nl">margin-top</span><span class="p">:</span> <span class="m">-1.4em</span><span class="p">;</span>
    <span class="nl">font-size</span><span class="p">:</span> <span class="m">.88em</span><span class="p">;</span>
    <span class="nl">line-height</span><span class="p">:</span> <span class="m">1.5</span><span class="p">;</span>
    <span class="nl">color</span><span class="p">:</span> <span class="m">#828282</span><span class="p">;</span>
  <span class="p">}</span>
<span class="nt">&lt;/style&gt;</span>

{{ content }}

{%- if page.tags.size &gt; 0 %}
<span class="nt">&lt;p</span> <span class="na">class=</span><span class="s">"post-tags"</span><span class="nt">&gt;</span>
  Themen:
  {%- for tag in page.tags %}
  <span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">"{{ '/themen/' | relative_url }}#{{ tag | slugify }}"</span><span class="nt">&gt;</span>{{ tag }}<span class="nt">&lt;/a&gt;</span>
  {%- unless forloop.last %} · {% endunless -%}
  {%- endfor %}
<span class="nt">&lt;/p&gt;</span>

<span class="nt">&lt;style&gt;</span>
  <span class="nc">.post-tags</span> <span class="p">{</span>
    <span class="nl">margin-top</span><span class="p">:</span> <span class="m">2em</span><span class="p">;</span>
    <span class="nl">padding-top</span><span class="p">:</span> <span class="m">1em</span><span class="p">;</span>
    <span class="nl">border-top</span><span class="p">:</span> <span class="m">1px</span> <span class="nb">solid</span> <span class="m">#e8e8e8</span><span class="p">;</span>
    <span class="nl">font-size</span><span class="p">:</span> <span class="m">0.9em</span><span class="p">;</span>
    <span class="nl">color</span><span class="p">:</span> <span class="m">#828282</span><span class="p">;</span>
  <span class="p">}</span>
<span class="nt">&lt;/style&gt;</span>
{%- endif %}
</code></pre></div>  </div>

</details>

<h2 id="schritt-4--der-erste-beitrag">Schritt 4 – Der erste Beitrag</h2>

<p>Beiträge liegen in <code class="language-plaintext highlighter-rouge">_posts/</code> und heißen <strong>immer</strong> <code class="language-plaintext highlighter-rouge">JJJJ-MM-TT-titel.md</code>,
zum Beispiel <code class="language-plaintext highlighter-rouge">_posts/2026-08-26-mein-erster-beitrag.md</code>. Oben im Kopf
stehen Titel, Datum und Tags, darunter der Text in Markdown.</p>

<p>Zwei Stolpersteine, die jeden einmal erwischen:</p>

<ul>
  <li><strong>Das Datum muss in der Vergangenheit liegen.</strong> Jekyll überspringt
zukünftig datierte Beiträge stillschweigend – der Build meldet trotzdem
„erfolgreich”, die Seite ist aber nicht da.</li>
  <li><strong>Der Dateiname muss dem Muster folgen.</strong> Alles andere wird nicht als
Beitrag erkannt.</li>
</ul>

<details>
  <summary><strong>Vorlage für einen Beitrag</strong> – zum Kopieren</summary>

  <p>Diese Datei einmal als <code class="language-plaintext highlighter-rouge">_drafts/vorlage.md</code> ablegen und für jeden neuen
Beitrag nach <code class="language-plaintext highlighter-rouge">_posts/</code> kopieren. Der Kommentarblock erscheint auf der
fertigen Seite nicht und kann stehen bleiben.</p>

  <div class="language-markdown highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">---</span>
<span class="na">layout</span><span class="pi">:</span> <span class="s">beitrag</span>
<span class="na">title</span><span class="pi">:</span> <span class="s2">"</span><span class="s">TITEL</span><span class="nv"> </span><span class="s">HIER</span><span class="nv"> </span><span class="s">EINTRAGEN"</span>
<span class="na">date</span><span class="pi">:</span> <span class="s">2026-08-26 09:00:00 +0200</span>
<span class="na">tags</span><span class="pi">:</span> <span class="pi">[</span><span class="nv">Elektronik</span><span class="pi">]</span>
<span class="nn">---</span>

Hier den Beitrag schreiben.

&lt;!--
  WICHTIG: Das Datum oben muss in der VERGANGENHEIT liegen, sonst baut
  Jekyll den Beitrag nicht mit. Dateiname immer JJJJ-MM-TT-titel.md<span class="sb">


</span>  ── TAGS ──────────────────────────────────────────────────────────

  Tags sind die Themen-Schubladen. Jeder Beitrag kann in mehreren
  gleichzeitig liegen. Alle Tags samt ihrer Beiträge erscheinen
  automatisch auf der Seite /themen/.<span class="sb">

      tags: [Amateurfunk]
      tags: [Amateurfunk, Antennenbau]
      tags: [Elektronik, "Raspberry Pi"]     &lt;- mehrere Wörter in "..."

</span>  Groß-/Kleinschreibung zählt: "Amateurfunk" und "amateurfunk" landen in
  zwei getrennten Schubladen. Zwei bis vier Tags pro Beitrag sind ein
  guter Schnitt. Am besten eine feste Liste bewährter Tags führen und
  von dort abschreiben.<span class="sb">


</span>  ── BILDER ────────────────────────────────────────────────────────

  Pro Beitrag ein eigener Ordner unter assets/, benannt exakt wie die
  Beitragsdatei ohne .md:<span class="sb">

      _posts/2026-09-14-antenne-fuer-2m.md
      assets/2026-09-14-antenne-fuer-2m/01-material.jpg
      assets/2026-09-14-antenne-fuer-2m/02-aufbau.jpg

</span>  Dateinamen klein schreiben, keine Leerzeichen, keine Umlaute, und
  sagen, was drauf ist. Die Nummer nach vorne, dann stimmt die
  Reihenfolge schon im Dateimanager.

  Einbinden mit führendem Schrägstrich, Alternativtext immer ausfüllen:<span class="sb">

      ![Fertige Antenne am Mast](/assets/2026-09-14-antenne-fuer-2m/02-aufbau.jpg)

</span>  Mit Rahmen und Bildunterschrift, Klick öffnet das Bild groß:<span class="sb">

      &lt;figure class="abb klein"&gt;
        &lt;a href="/assets/BEITRAG/01-bild.jpg"&gt;
          &lt;img src="/assets/BEITRAG/01-bild.jpg" alt="Alternativtext"&gt;
        &lt;/a&gt;
        &lt;figcaption&gt;Beschreibung des Bildes.&lt;/figcaption&gt;
      &lt;/figure&gt;

</span>  Fotos aus der Kamera sind viel zu groß. Vorher auf etwa 1600 Pixel
  Breite verkleinern, Ziel sind rund 300 KB je Bild:<span class="sb">

      magick original.jpg -resize 1600x -quality 82 01-aufbau.jpg

</span>  Fotos als .jpg, Screenshots und Zeichnungen als .png.

  Achtung: Was einmal hochgeladen ist, bleibt für immer in der
  Historie – auch nach dem Löschen. Also vorher verkleinern.
--&gt;

<span class="gu">## Zwischenüberschrift</span>

Text mit <span class="gs">**fett**</span>, <span class="ge">*kursiv*</span> und <span class="p">[</span><span class="nv">einem Link</span><span class="p">](</span><span class="sx">https://example.com</span><span class="p">)</span>.

<span class="p">```</span><span class="nl">python
</span><span class="k">print</span><span class="p">(</span><span class="s">"Hallo Welt"</span><span class="p">)</span>
<span class="p">```</span>
</code></pre></div>  </div>

</details>

<h2 id="schritt-5--die-adresse">Schritt 5 – Die Adresse</h2>

<p>Drei Wege, vom einfachsten zum aufwendigsten.</p>

<p><strong>a) Alles so lassen.</strong> Die Seite läuft unter
<code class="language-plaintext highlighter-rouge">https://benutzername.github.io</code>. Nichts zu tun, HTTPS ist inklusive,
kostet nichts. Für die meisten reicht das.</p>

<p><strong>b) Eigene Domain als Weiterleitung.</strong> So läuft es hier: Die Domain
<code class="language-plaintext highlighter-rouge">online-weber.de</code> liegt bei einem Anbieter, der sie per <strong>HTTP-Weiterleitung</strong>
auf <code class="language-plaintext highlighter-rouge">technikweber.github.io</code> schickt. Beim Anbieter dafür „Weiterleitung”
oder „Redirect” einrichten, Ziel ist die vollständige Adresse mit <code class="language-plaintext highlighter-rouge">https://</code>.
Vorteil: geht mit jedem Billig-Tarif und ohne DNS-Gefummel. Nachteil: In der
Adresszeile steht nach dem Sprung wieder <code class="language-plaintext highlighter-rouge">benutzername.github.io</code>. In
<code class="language-plaintext highlighter-rouge">_config.yml</code> bleibt <code class="language-plaintext highlighter-rouge">url:</code> deshalb auf der github.io-Adresse.</p>

<p><strong>c) Eigene Domain richtig einhängen.</strong> Dann bleibt die Domain in der
Adresszeile. Beim Domain-Anbieter im DNS anlegen:</p>

<ul>
  <li>für <code class="language-plaintext highlighter-rouge">www.beispiel.de</code> einen <strong>CNAME</strong> auf <code class="language-plaintext highlighter-rouge">benutzername.github.io</code></li>
  <li>für <code class="language-plaintext highlighter-rouge">beispiel.de</code> ohne www vier <strong>A-Records</strong> auf <code class="language-plaintext highlighter-rouge">185.199.108.153</code>,
<code class="language-plaintext highlighter-rouge">185.199.109.153</code>, <code class="language-plaintext highlighter-rouge">185.199.110.153</code> und <code class="language-plaintext highlighter-rouge">185.199.111.153</code></li>
</ul>

<p>Danach im Repository unter <strong>Settings → Pages → Custom domain</strong> die Domain
eintragen und, sobald der Haken anwählbar ist, <strong>Enforce HTTPS</strong>
ankreuzen – das Zertifikat stellt GitHub kostenlos aus. In <code class="language-plaintext highlighter-rouge">_config.yml</code>
dann <code class="language-plaintext highlighter-rouge">url: https://beispiel.de</code> setzen. Die aktuellen Adressen und
AAAA-Records stehen in der
<a href="https://docs.github.com/pages/configuring-a-custom-domain-for-your-github-pages-site">GitHub-Dokumentation</a>.</p>

<h2 id="schritt-6--impressum-und-datenschutz">Schritt 6 – Impressum und Datenschutz</h2>

<p>Ein Blog aus Deutschland braucht beides, auch privat. Die folgenden Fassungen
sind meine – als Ausgangspunkt gedacht, nicht als Vorlage von der Stange.</p>

<blockquote>
  <p><strong>Wichtig: rechtlich nicht geprüft.</strong> Das ist kein Rechtsrat, sondern das,
was ich für meine eigene statische Seite ohne Kommentare und ohne Tracking
zusammengestellt habe. Jede Seite liegt anders. Wer sichergehen will, lässt
es prüfen.</p>
</blockquote>

<details>
  <summary><strong>Impressum</strong> – zum Kopieren (rechtlich nicht geprüft)</summary>

  <p>Als <code class="language-plaintext highlighter-rouge">impressum.md</code> anlegen, Platzhalter ersetzen.</p>

  <div class="language-markdown highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">---</span>
<span class="na">layout</span><span class="pi">:</span> <span class="s">page</span>
<span class="na">title</span><span class="pi">:</span> <span class="s">Impressum</span>
<span class="na">permalink</span><span class="pi">:</span> <span class="s">/impressum/</span>
<span class="nn">---</span>

<span class="gu">## Angaben gemäß § 5 DDG</span>

Vorname Nachname<span class="nt">&lt;br&gt;</span>
Straße Hausnummer<span class="nt">&lt;br&gt;</span>
PLZ Ort<span class="nt">&lt;br&gt;</span>
Deutschland

<span class="gu">## Kontakt</span>

E-Mail: mail@beispiel.de

<span class="gu">## Verantwortlich für den Inhalt nach § 18 Abs. 2 MStV</span>

Vorname Nachname<span class="nt">&lt;br&gt;</span>
Straße Hausnummer<span class="nt">&lt;br&gt;</span>
PLZ Ort<span class="nt">&lt;br&gt;</span>
Deutschland

<span class="gu">## Haftung für Inhalte</span>

Die Inhalte dieser Seiten wurden mit größter Sorgfalt erstellt. Für die
Richtigkeit, Vollständigkeit und Aktualität der Inhalte kann ich jedoch
keine Gewähr übernehmen. Als Diensteanbieter bin ich gemäß § 7 Abs. 1 DDG
für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen
verantwortlich. Nach §§ 8 bis 10 DDG bin ich als Diensteanbieter jedoch
nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu
überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige
Tätigkeit hinweisen.

<span class="gu">## Haftung für Links</span>

Mein Angebot enthält Links zu externen Websites Dritter, auf deren Inhalte
ich keinen Einfluss habe. Deshalb kann ich für diese fremden Inhalte auch
keine Gewähr übernehmen. Für die Inhalte der verlinkten Seiten ist stets der
jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Bei
Bekanntwerden von Rechtsverletzungen werde ich derartige Links umgehend
entfernen.

<span class="gu">## Haftung für Anleitungen und Code-Beispiele</span>

Sämtliche auf dieser Website veröffentlichten Anleitungen, Code-Beispiele und
technischen Hinweise werden ohne Gewähr bereitgestellt. Die Umsetzung erfolgt
auf eigene Verantwortung und eigenes Risiko. Für etwaige Schäden, die aus der
Nutzung oder Nichtnutzung der dargestellten Informationen entstehen, wird
keine Haftung übernommen.

<span class="gu">## Urheberrecht</span>

Die durch den Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten
unterliegen dem deutschen Urheberrecht. Beiträge Dritter sind als solche
gekennzeichnet. Sofern nicht anders angegeben, dürfen Code-Beispiele im
Rahmen der jeweils angegebenen Lizenz verwendet werden.
</code></pre></div>  </div>

  <p>Wer über Elektronik oder Arbeiten an elektrischen Anlagen schreibt, sollte
zusätzlich einen deutlichen Sicherheits- und Haftungshinweis aufnehmen – auf
<a href="/impressum/">meinem Impressum</a> steht er unter „Arbeiten an elektrischen
Anlagen”.</p>

</details>

<details>
  <summary><strong>Datenschutzerklärung</strong> – zum Kopieren (rechtlich nicht geprüft)</summary>

  <p>Als <code class="language-plaintext highlighter-rouge">datenschutz.md</code> anlegen. Abschnitt 4 nur übernehmen, wenn eine
Weiterleitung wie in Schritt 5b eingerichtet ist – sonst löschen.</p>

  <div class="language-markdown highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">---</span>
<span class="na">layout</span><span class="pi">:</span> <span class="s">page</span>
<span class="na">title</span><span class="pi">:</span> <span class="s">Datenschutzerklärung</span>
<span class="na">permalink</span><span class="pi">:</span> <span class="s">/datenschutz/</span>
<span class="nn">---</span>

<span class="gu">## 1. Verantwortlicher</span>

Verantwortlich für die Datenverarbeitung auf dieser Website ist:

Vorname Nachname<span class="nt">&lt;br&gt;</span>
Straße Hausnummer<span class="nt">&lt;br&gt;</span>
PLZ Ort<span class="nt">&lt;br&gt;</span>
Deutschland<span class="nt">&lt;br&gt;</span>
E-Mail: mail@beispiel.de

<span class="gu">## 2. Allgemeines zur Datenverarbeitung</span>

Diese Website ist eine statische Website ohne eigene Datenbank, ohne
Nutzerkonten, ohne Kommentarfunktion und ohne Tracking- oder
Analyse-Werkzeuge. Es werden keine Cookies zu Analyse- oder
Marketingzwecken gesetzt. Eine Verarbeitung personenbezogener Daten findet
im Wesentlichen nur technisch bedingt durch den Hosting-Anbieter statt
(siehe Punkt 3).

<span class="gu">## 3. Hosting über GitHub Pages und Datenübermittlung in die USA</span>

Diese Website wird bei GitHub Pages gehostet, einem Dienst der GitHub Inc.,
88 Colin P. Kelly Jr. Street, San Francisco, CA 94107, USA, einer
Tochtergesellschaft der Microsoft Corporation.

Wenn Sie diese Website aufrufen, verarbeitet GitHub technisch notwendige
Daten, insbesondere Ihre IP-Adresse, um die Inhalte an Ihren Browser
auszuliefern und die Sicherheit und Stabilität des Dienstes zu
gewährleisten. Diese Daten können in Server-Logfiles gespeichert werden. Auf
Umfang und Dauer dieser Verarbeitung habe ich als Seitenbetreiber keinen
Einfluss.

Da GitHub ein US-amerikanisches Unternehmen ist, kann dabei eine
Übermittlung personenbezogener Daten in die USA erfolgen. Rechtsgrundlage
für die Verarbeitung ist das berechtigte Interesse an einer sicheren und
effizienten Bereitstellung dieser Website gemäß Art. 6 Abs. 1 lit. f DSGVO.

Weitere Informationen finden Sie in der Datenschutzerklärung von GitHub:
https://docs.github.com/site-policy/privacy-policies/github-general-privacy-statement

<span class="gu">## 4. Domain-Weiterleitung über den Domain-Anbieter</span>

Die Domain beispiel.de wird technisch über ANBIETER, Anschrift, per
HTTP-Weiterleitung auf die Adresse dieser Website
(benutzername.github.io) umgeleitet. Beim Aufruf über diese Domain kann der
Anbieter im Rahmen der Weiterleitung technisch bedingt Verbindungsdaten
(z. B. IP-Adresse) verarbeiten. Rechtsgrundlage ist Art. 6 Abs. 1 lit. f
DSGVO (berechtigtes Interesse an der Erreichbarkeit der Website unter dieser
Domain).

<span class="gu">## 5. Server-Logfiles</span>

Beim Zugriff auf die Website werden durch den Hosting-Anbieter automatisch
Informationen erfasst, die Ihr Browser übermittelt. Dies können
insbesondere sein:
<span class="p">
-</span> IP-Adresse des zugreifenden Geräts
<span class="p">-</span> Datum und Uhrzeit des Zugriffs
<span class="p">-</span> Name und URL der abgerufenen Datei
<span class="p">-</span> übertragene Datenmenge
<span class="p">-</span> verwendeter Browsertyp und Betriebssystem
<span class="p">-</span> die Website, von der aus der Zugriff erfolgt (Referrer)

Diese Daten werden ausschließlich zur Auslieferung der Website sowie zur
Gewährleistung von Sicherheit und Stabilität verarbeitet. Rechtsgrundlage
ist Art. 6 Abs. 1 lit. f DSGVO.

<span class="gu">## 6. Kontaktaufnahme per E-Mail</span>

Wenn Sie mir per E-Mail schreiben, werden Ihre Angaben zum Zweck der
Bearbeitung der Anfrage und für mögliche Anschlussfragen gespeichert.
Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO bzw. bei Vertragsbezug
Art. 6 Abs. 1 lit. b DSGVO. Diese Daten gebe ich nicht ohne Ihre
Einwilligung weiter und lösche sie, sobald sie nicht mehr benötigt werden
und keine gesetzlichen Aufbewahrungspflichten entgegenstehen.

<span class="gu">## 7. Verschlüsselung (SSL/TLS)</span>

Diese Website nutzt aus Sicherheitsgründen eine SSL-/TLS-Verschlüsselung.
Eine verschlüsselte Verbindung erkennen Sie an „https://" in der
Adresszeile Ihres Browsers.

<span class="gu">## 8. Ihre Rechte</span>

Sie haben im Rahmen der gesetzlichen Bestimmungen jederzeit das Recht auf:
<span class="p">
-</span> Auskunft über Ihre gespeicherten personenbezogenen Daten (Art. 15 DSGVO)
<span class="p">-</span> Berichtigung unrichtiger Daten (Art. 16 DSGVO)
<span class="p">-</span> Löschung (Art. 17 DSGVO)
<span class="p">-</span> Einschränkung der Verarbeitung (Art. 18 DSGVO)
<span class="p">-</span> Datenübertragbarkeit (Art. 20 DSGVO)
<span class="p">-</span> Widerspruch gegen die Verarbeitung (Art. 21 DSGVO)

Zur Ausübung Ihrer Rechte genügt eine Nachricht an die oben genannte
Kontaktadresse.

<span class="gu">## 9. Beschwerderecht bei der Aufsichtsbehörde</span>

Sie haben das Recht, sich bei einer Datenschutz-Aufsichtsbehörde über die
Verarbeitung Ihrer personenbezogenen Daten zu beschweren (Art. 77 DSGVO).

<span class="gu">## 10. Aktualität und Änderung dieser Datenschutzerklärung</span>

Diese Datenschutzerklärung ist aktuell gültig. Durch die Weiterentwicklung
der Website oder aufgrund geänderter gesetzlicher bzw. behördlicher Vorgaben
kann es notwendig werden, diese Datenschutzerklärung anzupassen.
</code></pre></div>  </div>

</details>

<h2 id="schritt-7--am-eigenen-rechner-arbeiten">Schritt 7 – Am eigenen Rechner arbeiten</h2>

<p>Im Browser zu tippen geht, macht aber auf Dauer keinen Spaß. Mit Git holt man
sich das Repository auf den Rechner, schreibt im gewohnten Editor und lädt
fertige Beiträge hoch:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git clone https://github.com/benutzername/benutzername.github.io.git
<span class="nb">cd </span>benutzername.github.io
</code></pre></div></div>

<p>Für jede Änderung immer derselbe Dreisatz:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git add <span class="nt">-A</span>                              <span class="c"># Änderungen vormerken</span>
git commit <span class="nt">-m</span> <span class="s2">"Neuer Beitrag: Titel"</span>    <span class="c"># lokal speichern</span>
git push                                <span class="c"># hochladen, Seite geht live</span>
</code></pre></div></div>

<p>Merksatz: <strong>committen ist speichern, pushen ist veröffentlichen.</strong> Ein bis
zwei Minuten nach dem Push ist der Beitrag online – GitHub baut die Seite
nach jedem Push von selbst neu.</p>

<h2 id="drei-dinge-die-gut-zu-wissen-sind">Drei Dinge, die gut zu wissen sind</h2>

<p><strong>Alles ist öffentlich.</strong> Das Repository ist Public, und was einmal
hochgeladen wurde, bleibt in der Historie – auch nach dem Löschen. Also
keine privaten Fotos, keine Zugangsdaten, keine halbfertigen Gedanken.</p>

<p><strong>Der Beitrag taucht nicht auf?</strong> In dieser Reihenfolge prüfen: Datum in der
Zukunft (mit Abstand der häufigste Grund), Dateiname nicht nach Muster,
Datei nicht in <code class="language-plaintext highlighter-rouge">_posts/</code>, gar nicht gepusht. Build-Fehler zeigt der Reiter
<strong>Actions</strong> im Repository.</p>

<p><strong>Bilder vorher verkleinern</strong>, auf etwa 1600 Pixel Breite. Sonst wird das
Repository nach dreißig Beiträgen unhandlich – und die Seite langsam.</p>

<hr />

<p>Der komplette Quelltext dieser Seite liegt offen:
<a href="https://github.com/TechnikWeber/TechnikWeber.github.io">github.com/TechnikWeber/TechnikWeber.github.io</a>.
Wer lieber abschreibt als tippt, findet dort jede Datei im Original.</p>]]></content><author><name>Philipp Weber</name></author><category term="Allgemeines" /><summary type="html"><![CDATA[Diese Seite kostet nichts. Kein Server, keine Datenbank, kein WordPress, keine monatliche Rechnung. Geschrieben wird in einfachen Textdateien, den Rest erledigt GitHub. Wer sich dasselbe bauen will: hier ist der komplette Weg. Gebraucht werden ein GitHub-Konto und ein Browser.]]></summary></entry></feed>