Quiq::Confluence::Markup - Confluence-Wiki Markup
Quiq::Hash
Ein Objekt der Klasse repräsentiert einen Generator für das Wiki-Markup von Confluence. Die Methoden der Klasse erzeugen dieses Markup, ohne dass man sich um die Details der Syntax kümmern muss.
Als Grundlage für die Implementierung dient die Confluence-Dokumentation:
Allgemeine Syntax
Macros
Die Implementierung ist nicht vollständig, sondern wird nach Bedarf erweitert.
$gen = $class->new;
Instantiiere einen Confluence Wiki-Markup Generator und liefere eine Referenz auf dieses Objekt zurück.
$markup = $gen->section($level,$title); $markup = $gen->section($level,$title,$body);
heading()
Confluence-Doku: Heading
Erzeuge einen Abschnitt der Ebene $level mit dem Titel $title und dem (optionalen) Abschnitts-Körper $body und liefere den resultierenden Code zurück. Ist $body nicht angegeben oder ein Leerstring, wird nur der Titel erzeugt. Andernfalls wird $body per trim() von einer etwaigen Einrückung befreit.
Ohne Body:
$gen->section(1,'Test');
erzeugt
h1. Test
Mit Body:
$gen->section(1,'Test',"Dies ist ein Test.");
h1. Test Dies ist ein Test.
Eine Einrückung wird automatisch entfernt:
$gen->section(1,'Test',q~ Dies ist ein Test. ~);
$markup = $gen->paragraph($text);
Erzeuge einen Paragraph und liefere den resultierenden Wiki-Code zurück. Ist $text nicht angegeben oder ein Leerstring, wird ein Leerstring geliefert. Andernfalls wird $text per trim() von einer etwaigen Einrückung befreit und Zeilenumbrüche durch Leerzeichen ersetzt, da ein Paragraph in Confluence-Wiki Syntax einzeilig ist.
Text:
$gen->paragraph("Dies ist\nein Test.");
Dies ist ein Test.
$gen->paragraph(q~ Dies ist ein Test. ~);
$markup = $gen->code($type,$code,@opts);
Zeige den Code-Block zusammengeklappt an. Durch Betätigung eines Link kann er aufgeklappt werden.
Wenn Option -lineNumbers gesetzt ist, die Nummer der ersten Zeile, ggf. mit führenden Nullen. Z.B. 0001.
-lineNumbers
0001
Nummeriere die Zeilen durch.
Das Farbschema für die Darstellungs des Code-Blocks. Mögliche Werte siehe o.g. Confluence-Doku.
Füge einen Titel zum Code-Block hinzu.
Confluence Doku: Code Block Macro
Erzeuge ein Code-Macro für Code $code mit Syntax-Typ $type und liefere den resultierenden Wiki-Code zurück. Die Liste der verfügbaren Syntax-Typen findet sich in o.g. Confluence-Doku.
Ein eingeklappter Code-Block:
$gen->code('perl',"print 'Hello, world!';", -collapse => 1, );
{code:language=perl|collapse=true} print 'Hello, world!'; {code}
$markup = $gen->noFormat($text,@opts);
Kein Panel um den Inhalt herum.
Confluence Doku: Noformat Macro
Zeige einen Text-Block monospaced ohne weitere Formatierung an.
Anmerkung: Dieses Makro ist nicht geeignet, um eine Formatierung innerhalb eines Paragraphen zu verhindern, da der Text als eigenständiger Block (mit oder ohne Umrandung) dargestellt wird. Es entspricht einem Code-Block-Makro ohne Syntax-Highlighting, bei dem zusätzlich die Umrandung unterdrückt werden kann.
Anzeige eines regulären Ausdrucks:
$gen->noFormat('m|/([^/]+)xxx{5}$|', -noPanel => 1, );
{noformat:nopanel=true}m|/([^/]+)xxx{5}$|{noformat}
$markup = $gen->panel($body,@opts);
Titel des Panel.
Stil der Umrandung. Wert: solid, dashed und andere CSS Umrandungs-Stile.
Farbe der Umrandung. Wert: wie HTML.
Breite der Umrandung in Pixeln.
Hintergrundfarbe. Wert: wie HTML.
Farbe Titel-Hintergrund. Wert: wie HTML.
Farbe des Titel-Textes. Wert: wie HTML.
Confluence-Doku: Panel Macro
Erzeuge ein Panel-Macro mit Inhalt $body und liefere den resultierenden Wiki-Code zurück.
$markup = $gen->tableOfContents(@opts);
Listenartiges oder horizontales Menü.
Outline-Numbering ((1.1, 1.2, usw.) aus oder ein.
Style der Bullet-Points. Wert: Wie CSS (none, circle, disc, square, decimal, lower-alpha, lower-roman, upper-roman).
Einrücktiefe zwischen den Ebenen (nur Liste). Wert: CSS-Einheit (z.B. 10px).
Separator bei horizontalem Inhaltsverzeichnis: Wert: brackets, braces, parens, pipe, anything.
Die niedrigste Ebene, die in das Inhaltsverzeichnis aufgenommen wird.
Die höchste Ebene, die in das Inhaltsverzeichnis aufgenommen wird.
Regulärer Ausdruck, der die Abschnittstitel matcht, die in das Inhaltsverzweichnis aufgenommen werden.
Regulärer Ausdruck, der die Abschnittstitel matcht, die nicht in das Inhaltsverzweichnis aufgenommen werden.
Das Inhaltsverzeichnis wird mit ausgegeben, wenn die Seite gedruckt wird.
Inhaltsverzeichnis wird in <div class="$class">...</div> eingefasst.
Verwende absolute URLs.
Confluence-Doku: Table of Contents Macro
Erzeuge ein Inhaltsverzeichnis-Macro und liefere den resultierenden Wiki-Code zurück.
$str = $this->fmt($format,$text); $str = $this->fmt($color,$text);
Confluence-Doku: Text Effects
Erzeuge Formatierung $format für Text $text und liefere den resultierenden Wiki-Code zurück.
Es existieren die Formatierungen:
bold
italic
citation
deleted
inserted
superscript
subscript
monospace
blockquote
$color
protect
Das Format 'protect' ist eine Erweiterung der Confluence-Formatierungen. Es schützt die Zeichen in $text, so dass diese formatierungsfrei dargestellt werden. Geschützt werden die Zeichen:
- * _ + ^ ~ [ ] { }
Die Interpretation als Metazeichen wird durch das Voranstellen eines Backslash (\) verhindert.
$str = $gen->lineBreak;
$str = $this->testPage;
Generiere eine Seite mit Wiki-Markup. Das Markup kann nach Confluence übertragen und dort optisch begutachtet werden.
Test-Seite von der Kommandozeile ins Wiki übertragen:
$ quiq-confluence test-page | quiq-confluence update-page PAGE_ID
Manuelle Übertragung:
Markup generieren:
$ quiq-confluence test-page
In Confluence die Zielseite zum Editieren öffnen und Option "Markup {}" wählen. Ausgabe aus 1. per copy-and-paste in den Dialog übertragen und diesen speichern.
1.132
Frank Seitz, http://fseitz.de/
Copyright (C) 2019 Frank Seitz
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Quiq, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Quiq
CPAN shell
perl -MCPAN -e shell install Quiq
For more information on module installation, please visit the detailed CPAN module installation guide.