Wer schreibt …

„Hätte ich mehr Zeit gehabt, hätte ich mich kürzer gefasst.“

Pure Blog: Aküfi

Wer kennt ihn nicht, den sog. Abkürzungsfimmel. 🤭
Ich bekenne mich jedenfalls „schuldig“, speziell in Beiträgen mit IT-Hintergrund, häufig Gebrauch von Abkürzungen zu machen. Weiß ja schließlich jeder, was z. B. DKIM oder DNS heißt. Ja, schon. Es sei denn, man ist fachfremd. Möchte man aber vielleicht was dazulernen, dann ist es hilfreich, wenn man die Abkürzung auch immer mal in ausgeschriebener Form vor sich sieht.

Die Markdown-Syntax erlaubt zur Definition diese Syntax:
*[DKIM]: DomainKeys Identified Mail

In eurem Beitrag schreibt ihr zur Nutzung der Abkürzung einfach ganz normal das Wort „DKIM“. Den Rest erledigt dann HTML bzw. der Webbrowser.

Nun ist das Problem, dass man diese Definition(en) in jeden einzelnen Beitrag schreiben muss, in dem man die Abkürzung verwenden möchte. Und weil ich „faul“ bin, habe ich da gestern Abend noch was gebastelt, das mir und euch erlaubt, diese Definition(en) an einer einzigen Stelle zu pflegen, aber in allen Beiträgen/Seiten zu verwenden.

Das Nachfolgende kommt wieder in eure config/hooks.php:

const GLOBAL_ACRONYMS_FILE = PUREBLOG_PAGES_PATH . '/acronyms.md';

function on_filter_content(string $markdown): string
{
    if (file_exists(GLOBAL_ACRONYMS_FILE)) {
        $markdown = inject_global_acronyms($markdown);
    }

    return $markdown;
}

function inject_global_acronyms(string $markdown): string
{
    $parsed = parse_post_file(GLOBAL_ACRONYMS_FILE);
    $front = $parsed['front_matter'];
    $status = $front['status'] ?? 'draft';
    $include_in_nav = $front['include_in_nav'] ?? false;
    $acronyms = $parsed['content'];
    if ($status === 'draft' && $include_in_nav === false) {
        // \n ends a possible list
        $markdown .= "\n$acronyms";
    }

    return $markdown;
}

Und dann legt ihr in Pure Blog einfach eine Seite mit dem Namen „Acronyms“ (bzw. dem Slug „acronyms“), dem Status „Entwurf“ und „In das Navigationsmenü aufnehmen?“ → „Nein“ an und schreibt eure Definitionen in Markdown-Syntax dort hinein.

Die Einstellungen für Status und Navigationsmenü bitte nicht ändern, da die Akronyme sonst nicht angewendet werden (siehe Quellcode oben).

Hier mal ein Anfang:

*[CMS]: Content Management System
*[CSS]: Cascading Style Sheets
*[FTP]: File Transfer Protocol
*[HTML]: Hypertext Markup Language
*[PHP]: PHP: Hypertext Preprocessor
*[URL]: Uniform Resource Locator
*[WWW]: World Wide Web

Technik, Pure Blog, PHP

⬅ Vorheriger Beitrag
Nase voll #6 (Finale!)

Nächster Beitrag ➡
Pure Blog: Aküfi #2