Beschreibung
Das Seminar zeigt, wie Asciidoctor.js-Erweiterungen innerhalb einer Antora-Pipeline entworfen, implementiert und abgesichert werden. Der Schwerpunkt liegt auf Block- und Inline-Makros, Preprocessoren, Tree Processors, Postprocessoren, Attributverarbeitung, Registrierung, Tests und kontrollierter Paketierung. Jede Erweiterung wird mit Eingabegrenzen, Fehlermeldungen und automatisierten Prüfungen entwickelt.
Inhaltsübersicht
- Erweiterungsmodell und Auswahl des Erweiterungspunkts
- Projektaufbau und Registrierungsmechanik
- Inline- und Block-Makros
- Preprocessor und Tree Processor
- Postprocessor und Ausgabegrenzen
- Konfiguration und Antora-Integration
- Tests, Paketierung und Sicherheitsprüfung
Lernziele
- Geeignete Asciidoctor-Erweiterungspunkte für fachliche Anforderungen auswählen.
- Block- und Inline-Makros sowie Prozessoren in JavaScript implementieren.
- Erweiterungen in Antora registrieren und konfigurierbar gestalten.
- Automatisierte Tests, Fehlerbehandlung und Sicherheitskontrollen aufbauen.
1. Erweiterungsmodell und Auswahl des Erweiterungspunkts
Vor der Implementierung wird entschieden, ob eine Anforderung durch Syntaxkonvention, UI-Helfer, Antora-Erweiterung oder Asciidoctor-Erweiterung gelöst werden sollte.
Schritt-für-Schritt: Eine Erweiterungsanforderung klassifizieren
- Gewünschte Autorensyntax, Eingabedaten, Ausgabe und Fehlerverhalten schriftlich definieren.
- Prüfen, ob Standard-AsciiDoc, Attribute oder Includes die Anforderung bereits ausreichend abdecken.
- Block Macro, Inline Macro, Block Processor, Preprocessor, Tree Processor oder Postprocessor nach Eingriffszeitpunkt vergleichen.
- Seiteneffekte auf Quelltext, Dokumentbaum, HTML und andere Ausgabeformate bewerten.
- Eine minimale Schnittstelle und klare Nichtziele als technische Spezifikation festhalten.
Praxisaufgabe
Mehrere Beispielanforderungen werden dem jeweils kleinsten geeigneten Erweiterungspunkt zugeordnet.
2. Projektaufbau und Registrierungsmechanik
Eine reproduzierbare Node.js-Projektstruktur trennt Implementierung, Registrierung, Konfiguration, Tests und Beispieldokumente.
Schritt-für-Schritt: Ein Erweiterungsprojekt initialisieren
- Paketverzeichnis mit eindeutiger Modulstruktur, Metadaten und unterstützter Laufzeit anlegen.
- Registrierungsfunktion exportieren und den Asciidoctor Extension Registry-Kontext korrekt verwenden.
- Eine minimale Erweiterung implementieren, die eine kontrollierte Testausgabe erzeugt.
- Das Paket im Antora-Playbook verfügbar machen und beim Build laden.
- Registrierung und Deaktivierung über einen Test-Build nachvollziehbar prüfen.
Praxisaufgabe
Ein lauffähiges Erweiterungsgerüst wird erstellt und in einer lokalen Antora-Site aktiviert.
3. Inline- und Block-Makros
Makros bilden fachliche Kurzsyntax auf kontrollierte Ausgabestrukturen ab und müssen ungültige Eingaben eindeutig zurückweisen.
Schritt-für-Schritt: Ein benutzerdefiniertes Makro implementieren
- Makroname, Zielsyntax und zulässige Attribute definieren.
- Eingabewerte normalisieren und Pflichtangaben vor der Verarbeitung validieren.
- Geeignete Asciidoctor-Knoten erzeugen, statt unkontrolliertes HTML zusammenzusetzen.
- Sonderzeichen, leere Werte und nicht erlaubte Pfade mit klaren Diagnosemeldungen behandeln.
- Positiv-, Grenz- und Negativfälle in Beispieldokumenten ausführen.
- Ausgabe in Antora-Kontext, Navigation und alternativen Backends auf Nebenwirkungen prüfen.
Praxisaufgabe
Ein Makro für standardisierte technische Kennzeichnungen wird mit Attributen, Validierung und Fallback-Ausgabe entwickelt.
4. Preprocessor und Tree Processor
Prozessoren vor und nach dem Parsing eignen sich für kontrollierte Quellergänzungen und strukturelle Dokumentprüfungen.
Schritt-für-Schritt: Eine strukturelle Verarbeitung umsetzen
- Verarbeitungszeitpunkt und benötigte Daten des Prozessors festlegen.
- Beim Preprocessing nur klar begrenzte, deterministische Quelltransformationen durchführen.
- Im Dokumentbaum gezielt nach Knotenarten, Rollen oder Attributen suchen.
- Befunde als Warnung oder Fehler mit Seite und Kontext protokollieren.
- Änderungen am Baum so ausführen, dass IDs, Verweise und Backend-Verarbeitung stabil bleiben.
- Mehrfachausführung und parallele Builds auf idempotentes Verhalten testen.
Praxisaufgabe
Ein Tree Processor prüft verpflichtende Metadaten und erzeugt präzise Meldungen für unvollständige Seiten.
5. Postprocessor und Ausgabegrenzen
Nachgelagerte Transformationen sind nur dann geeignet, wenn die gewünschte Änderung nicht semantisch im Dokumentbaum abgebildet werden kann.
Schritt-für-Schritt: Eine Ausgabeanpassung sicher begrenzen
- Gewünschte Ausgabeveränderung und unterstützte Backends festlegen.
- Prüfen, ob eine UI-Template-Anpassung die wartbarere Lösung darstellt.
- Transformation auf eindeutig erkennbare Strukturen beschränken.
- Kodierung, escaping und potenzielle Skriptinjektion explizit behandeln.
- Ausgabe mit realistischen Sonderfällen und großen Dokumenten vergleichen.
- Bei nicht unterstütztem Backend eine kontrollierte, dokumentierte Reaktion implementieren.
Praxisaufgabe
Eine Ausgabeergänzung wird implementiert und gegen fehlerhafte Markup-Erzeugung abgesichert.
6. Konfiguration und Antora-Integration
Erweiterungen müssen ohne Quellcodeänderung konfigurierbar sein und ihren Kontext aus klar definierten Einstellungen beziehen.
Schritt-für-Schritt: Konfiguration in die Pipeline integrieren
- Konfigurationsschlüssel, Standardwerte und zulässige Datentypen festlegen.
- Einstellungen aus der Antora-Konfiguration oder aus dokumentierten Attributen einlesen.
- Konfiguration früh validieren und widersprüchliche Werte mit konkreter Meldung ablehnen.
- Logger und Build-Kontext verwenden, ohne globale Zustände zu erzeugen.
- Mehrere Playbook-Varianten mit unterschiedlichen Einstellungen testen.
- Abwärtskompatible Änderungen und Deprecation-Regeln für spätere Versionen definieren.
Praxisaufgabe
Das Praxisprojekt erhält konfigurierbare Regeln und wird in Entwicklungs- und Produktionsprofilen ausgeführt.
7. Tests, Paketierung und Sicherheitsprüfung
Der Abschluss verbindet Unit-Tests, Build-Tests, Versionsregeln und Sicherheitskontrollen zu einem freigabefähigen Paket.
Schritt-für-Schritt: Eine Erweiterung produktionsreif absichern
- Kernlogik als isoliert testbare Funktionen strukturieren.
- Fixture-Dokumente für gültige, ungültige und mehrdeutige Eingaben anlegen.
- Vollständige Antora-Builds als Integrationstest automatisieren und Ausgaben vergleichen.
- Dateizugriffe, externe Prozesse, Umgebungsvariablen und dynamische Inhalte auf Missbrauchsrisiken prüfen.
- Paketversion, unterstützte Antora- und Node.js-Linien sowie Änderungsregeln dokumentieren.
- Freigabe, Rollback und Fehleranalyse für eine neue Paketversion proben.
Praxisaufgabe
Das entwickelte Paket wird automatisiert getestet, versioniert und mit einer technischen Freigabecheckliste bewertet.
Zielgruppe und Voraussetzungen
Zielgruppe: JavaScript- und Node.js-Entwicklung, Content Engineering, Tooling-Teams, technische Redaktionen mit Entwicklungsschwerpunkt und Plattformverantwortung.
Voraussetzungen: Sichere JavaScript- oder Node.js-Grundkenntnisse, praktische AsciiDoc-Erfahrung und Verständnis eines Antora-Builds.
Methodik und Arbeitsweise
Die Inhalte werden durch strukturierte Erläuterungen, Demonstrationen, schrittweise Konfigurations- und Analyseaufgaben sowie kontrollierte Fehlerfälle vertieft. Jede Übung verwendet definierte Ausgangswerte, Prüfpunkte und Dokumentationsanforderungen, damit die erarbeiteten Abläufe im späteren Projekt- und Betriebsalltag reproduzierbar bleiben.
Fachbereichsleitung und Trainerteam
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de -

Paul Goldschmidt
Telefon: + 49 (221) 74740055
E-Mail: paul.goldschmidt@seminar-experts.de
Seminardetails
| Dauer: | 3 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 1.797 zzgl. MwSt. Inhaus: € 5.100 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | JavaScript- und Node.js-Entwicklung, Content Engineering, Tooling-Teams, technische Redaktionen mit Entwicklungsschwerpunkt und Plattformverantwortung |
| Voraussetzungen: | Sichere JavaScript- oder Node.js-Grundkenntnisse, praktische AsciiDoc-Erfahrung und Verständnis eines Antora-Builds |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Demonstrationen, praktische Übungen am System |
| Seminararten: | Öffentlich, Webinar, Inhouse, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
