Dieses Repository beinhaltet alle öffentlichen Teile der cryCode.de Webseite.
Zudem sind in den Diskussionen die Kommentare zu den einzelnen Beiträgen auf der Webseite zu finden.
Grundsätzlich steht es jedem frei Änderungswünsche über Pull-Requests einzubringen.
Ebenso dürfen gerne aufgefallene Fehler oder Probleme über die Issues gemeldet werden.
Die cryCode.de Webseite basiert auf Hexo.
Das Theme wurde von mir eigens angepasst und erweitert.
Der Quellcode für das Theme, sowie einige allgemeine Seiten sind aktuell nicht öffentlich.
Spezielle Front-Matter Optionen und Tags sind weiter unten erklärt.
Gehosted wird die Webseite auf den Servern von cryHost in Deutschland.
Alle Beiträge liegen im Verzeichnis posts
in Form von Markdown-Dateien.
Jede Datei ist ein Beitrag, wobei der Dateiname die Beitrags-URL wird, sofern nicht anders im Front-Matter angegeben.
Zusätzliche Dateien zu einem Beitrag, wie beispielsweise Bilder, werden in einem Verzeichnis mit dem Dateinamen der Markdown-Datei (ohne .md
) am Ende abgelegt. Dies ist das sogenannte Asset-Verzeichnis des Beitrags.
Bilder sollten wenn möglich das webp
-Format verwenden.
Entwürfe können im Verzeichnis drafts
erstellt werden.
Über den sogenannten Front-Matter werden grundlegende Optionen für den jeweiligen Beitrag gesetzt.
Der Front-Matter befindet sich am Anfang jeder Datei. Er beginnt/endet mit je drei Bindestrichen ---
und ist im yml
-Format.
Der Titel des Beitrags.
title: Neue Webseite 2024
Optional ein vom Dateinamen abweichender Slug (Adressteil) für den Beitrag.
slug: tolle-seite
Zeitstempel, an dem der Beitrag erstmalig veröffentlicht / zuletzt aktualisiert wurde.
date: 2022-01-10 12:00:00
updated: 2024-03-31 16:00:00
Optional der Dateiname eines Bildes im Asset-Verzeichnis des Beitrags, welches als Beitragsbanner verwendet werden soll.
banner: banner.webp
Optional eine manuelle Angabe des Auszugs des Beitrags. Normalerweise wird der Auszug automatisch ermittelt.
updated
ist optional.
Optionale Angaben zum Author des Posts.
author: Peter Müller
author:
name: Peter Müller
link: https://crycode.de
Eine oder mehrere Kategorien, denen der Beitrag zugeordnet werden soll.
Gleichwertige Kategorien:
categories:
- [Linux]
- [Netzwerk]
- [Software]
Unterkategorien:
categories:
- Linux
- Netzwerk
- Software
Liste an Tags (Schlagwörtern), die dem Beitrag zugeordnet werden sollen.
tags:
- Fehlerbehebung
- VS Code
abbr
kann eine Liste von Abkürzungen und deren Bedeutung enthalten, die im Beitrag erläutert werden sollen. Dabei wird Groß- und Kleinschreibung beachtet.
Standardmäßig muss dafür im Text das Tag {% abbr ABK %}
genutzt werden, wobei ABK
die zu erläuternde Abkürzung wäre.
Wenn abbr_auto
auf true
gesetzt wird, dann werden automatisch alle in abbr
definierten Abkürzungen im Text mit den Erklärungen versehen.
abbr:
DSGVO: Datenschutzgrundverordnung
HTTPS: HyperText Transfer Protocol Secure
z.B.: zum Beispiel
d.h.: das heißt
D.h.: Das heißt
abbr_auto: true
Einen Beitrag oben anpinnen. Je höher die Zahl ist, desto weiter oben wird der Beitrage bei mehreren angepinnten Posts angezeigt.
sticky: 10
Wenn auf false
gesetzt, wird die Kommentarfunktion zu diesem Beitrag deaktiviert.
Wenn auf false
gesetzt, werden keine Datumsangaben zu diesem Beitrag angezeigt.
Wenn auf false
gesetzt, werden die Links zum Ansehen/Bearbeiten dieses Beitrags auf GitHub nicht angezeigt.
Wenn auf false
gesetzt, wird dieser Beitrag nicht in die Suchfunktion der Seite aufgenommen.
Wenn auf false
gesetzt, werden die Teilen-Links zu diesem Beitrag deaktiviert.
Wenn auf false
gesetzt, wird der Beitrag nicht in der Sitemap aufgenommen.
Name(n) von CSS-Klassen, die dem Artikel hinzugefügt werden sollen.
class: center
In den Beiträgen kann GitHub Flavored Markdown (kurz GFM) verwendet werden.
Ebenso ist die direkte Nutzung von HTML-Code möglich. Markdown sollte aber der Leserlichkeit halber bevorzugt werden.
Um den Auszug des Beitrags vom restlichen Beitrag zu trennen, sollte an entsprechender Stelle im Beitrag (nach wenigen Absätzen) der folgende Code eingefügt werden.
<!-- more -->
Damit Endet an dieser Stelle der automatisch generierte Auszug des Beitrags und auf den Index-Seiten wird dann der Mehr lesen Button angezeigt.
Inhaltsverzeichnisse einer Seite können automatisch über die Verwendeten Überschriften erstellt werden.
Dazu muss der folgende Code an der gewünschten Stelle eingefügt werden:
<!-- toc -->
Optional können zudem ein Titel und/oder die enthaltenen Überschriftslevel angegeben werden.
Mit Titel (als h2):
<!-- toc Inhalt -->
Bis einschließlich h3:
<!-- toc 3 -->
Alles h3 bis h6:
<!-- toc 3:6 -->
Mit Titel h2 bis h3:
<!-- toc Inhalt 2:3 -->
Hinweis- und Warnmeldungen werden wie auf GitHub unterstützt.
> [!NOTE]
> Nützliche Hinweise.
> [!TIP]
> Hilfestellungen oder Tipps.
> [!IMPORTANT]
> Wichtige zu beachtende Informationen.
> [!WARNING]
> Warnungen, die beachtet werden sollten.
> [!CAUTION]
> Auf besonders wichtige Sachen hinweisen.
Note
Nützliche Hinweise.
Tip
Hilfestellungen oder Tipps.
Important
Wichtige zu beachtende Informationen.
Warning
Warnungen, die beachtet werden sollten.
Caution
Auf besonders wichtige Sachen hinweisen.
Zur Hervorhebung von Code ist die Standard-Markdown-Syntax zu nutzen.
Optional können dabei ein Titel, eine URL und ein Link-Text mit angegeben werden.
Eine Liste der verfügbaren Sprachen ist hier zu finden.
```[Sprache] [Titel] [URL] [Link-Text]
// code
```
Beispiel:
```sh Mein tolles Bash Script
#!/bin/bash
# [...]
```
Es können spezielle Nunjucks-Tags genutzt werden, um bestimmte Funktionen einzubinden. Diese werden im folgenden beschrieben.
Allgemeine Beispiele sind hier zu finden.
Erzeugt einen abbr
-HTML-Tag um den eingegeben Begriff mit der im Front-Matter zu dem Begriff hinterlegten Erklärung.
Optional kann die Erklärung auch direkt als zweites Argument mit angegeben werden.
{% abbr "VS Code" %}
{% abbr "VS Code" "Visual Studio Code" %}
Bindet ein Bild oder andere Medien ein und aktiviert dafür den Lightbox-Effekt (Bild/Galerie größer als Overlay anzeigen).
Das erste Argument ist immer der Pfad zum Bild etc.. Bei relativen Pfaden wird die Datei im Asset-Verzeichnis des Beitrags erwartet.
Als weitere Argumente kann ein Titel für das Bild angegeben werden.
Zusätzliche optionale Argumente sind mit einem Prefix versehen:
thumb:...
- Thumbnail Bild, welches direkt im Beitrag eingebunden wird. Bei Angabe vonthumb:
ohne Dateiname wird dem Dateinamen des originalen Bildes vor der Endung-thumb
hinzugefügt.group:abc
- Gruppenname/Gruppen-ID zur Gruppierung mehrere Bilder in einem Beitrag. (Standardmäßig der Slug des Beitrags.)type:video
- Typ der einzubindenden Medien, wenn es kein Bild ist. (video
,iframe
,ajax
)maxwidth:300px
- Maximale Breite in der Lightbox-Ansicht.autoplay:true
- Autoplay für Videos aktivieren.left:true
/right:true
- Im Beitrag nicht zentriert, sondern links/rechts um den Inhalt herum ausrichten.
{% img screenshot.webp Screenshot von irgendetwas %}
{% img screenshot.webp group:gruppe1 right:true Screenshot von irgendetwas %}
Ein Grid Layout mit 2 bis 5 Spalten für Bilder, die den {% img ... %}
Tag verwenden.
Als Argument wird die gewünschte Anzahl an Spalten angegeben.
{% grid 2 %}
{% img bild1.webp Bild 1}
{% img bild2.webp Bild 2}
{% endgrid %}
Code aus einer Datei des Asset-Verzeichnisses des Beitrags als Codeblock einbinden.
Das erste Argument ist optional die Sprache, die für den Coder verwendet werden soll.
Das zweit Argument ist der Dateiname. Alle weiteren Argumente werden als Titel genutzt.
{% codefile js script.js Ein tolles Script %}
{% codefile text.log Log-Text %}
Ein SVG-Icon einfügen.
Als erstes und einziges Argument muss der Name des Icons angegeben werden.
Alternativ kann auch <svgicon ... />
verwendet werden, wodurch das Icon beispielsweise auch innerhalb von Tags eingefügt werden kann.
{% svgicon download %}
<svgicon download />
<svgicon github>
Die Markdown-Dateien können mittels markdownlint automatisch überprüft werden.
Hierzu müssen zuerst die Node.js-Module installiert werden.
Anschließend kann das lint
-Script aufgerufen werden.
npm install
npm run lint
Erkannte Probleme in Dateien im drafts
-Verzeichnis werden als Warnung angezeigt.
Probleme in Dateien im posts
-Verzeichnis werden als Fehler angezeigt und das Script mit Exit-Code 1 beendet.
CC BY-NC-ND 4.0, sofern nicht abweichend in den Beiträgen angegeben.
Copyright (c) 2005-2024 Peter Müller [email protected]