##[[Inhaltsverzeichnis]] Die Basis-Software [#Links Inyoka] des Wiki von ubuntuusers.de (Ikhaya) stellt einige Makros bereit, die ähnlich wie die [:Wiki/Textbausteine:Textbausteine] (Vorlagen) angewendet werden können und deren Benutzung im folgenden erläutert wird. {{{#!vorlage Hinweis Diese Seite richtet sich an erfahrene Autoren von Artikeln im Wiki und an das [:Wikiteam:], die für ihre Arbeit technische Details zur Funktionsweise der Wiki-Software benötigen. }}} = Was ist ein Makro? = Ein Makro im Sinne dieses Artikels wird beim Rendern einer Seite ausgeführt und liefert dann ein Ergebnis, welches als Text formatiert in den Artikel eingefügt wird. Es kann sich dabei um eine möglicherweise parametrierbare Abfrage aus den Datenbeständen des Wiki handeln, oder es wird (wie beim Makro `Vorlage`) eine andere Seite (die Textvorlage) interpretiert. * Alle [:Wiki/Textbausteine:Textbausteine] verwenden beispielsweise das Makro `Vorlage`. * Die [:Wiki/Bilder:Einbindung von Bildern] in eine Seite im Wiki geschieht über das Makro `Bild`. * Weitere Makros listet die [#Makroliste folgende Tabelle]. [[Anker(Makroliste) ]] = Welche Makros gibt es? = ## <-4: tableclass="zebra_start3" rowclass="titel">Tabelle 1: Makros {{{#!vorlage Tabelle <-4: rowclass="titel">Tabelle 1: Makros zur Verwendung in Artikeln des Wiki +++ Bereich <:>Makroname [[BR]] Alias Parameter Beschreibung +++ <:>Wiki <:>`PageCount` [[BR]] `Seitenzahl` <:>`---` Ermittelt die Anzahl aller Seiten im Wiki. Das sind [[PageCount]]. +++ <:>Wiki <:>`PageList` [[BR]] `Seitenliste` `pattern` [[BR]] `case_sensitive` [[BR]] `shorten_title` Listet als Block alle Seiten im Wiki, deren Titel dem Muster im Parameter `pattern` entspricht. Das Muster kann `*` als Wildcard enthalten. [[BR]] Der Parameter `case_sensitive` kann die Werte `True` (Vorgabe) oder `False` annehmen und steuert, ob die Suche Groß-/Kleinschreibung beachtet oder nicht. [[BR]] Der Parameter `shorten_title` kann die Werte `True` oder `False` (Vorgabe) annehmen und steuert, ob der Name auf seinen letzten Teil (nach dem letzten `/`) gekürzt wird oder nicht. [[BR]] Die boolschen Werte `True` und `False` soll man als Ziffern `1` bzw. `0` angeben; andere Werte ergeben möglicherweise unerwartete Ergebnisse. +++ Wiki <:>`AttachmentList` [[BR]] `Anhänge` `page` [[BR]] `shorten_title` Listet als Block alle Anhänge. Wenn man den Parameter `page` nicht angibt, werden Anhänge von allen Seiten gesucht, sonst eben nur die von der angegebenen. [[BR]] Der Parameter `shorten_title` funktioniert wie bei `Seitenliste`. +++ Wiki <:>`OrphanedPages` [[BR]] `VerwaisteSeiten` <:>`---` <(>Listet als Block alle verwaisten Seiten, d.h. solche, die von keiner anderen Seite im Wiki verlinkt sind. +++ Wiki <:>`RedirectPages` [[BR]] `Weiterleitungen` <:>`---` Listet als Block alle Weiterleitungen im Wiki. Eine Weiterleitung definiert einen alternativen Titel für die Seite. +++ Wiki <:>`SimilarPages` [[BR]] `ÄhnlicheSeiten` `page` Zeigt als Block eine Liste mit Titeln existierender Seiten mit ähnlichem Titel wie dem der aktuellen oder explizit mit dem Parameter `page` angegebenen Seite. +++ <:>Wiki <:>`TagList` [[BR]] `TagListe` `tag` Listet als Block alle Seiten mit dem über den Parameter `tag` angegebenen [:Wiki/Tags:Schlagwort]. +++ Wiki <:>`FilterByMetaData` [[BR]] `MetaFilter` `filters` Listet als Block alle Seiten mit den über den Parameter `filters` angegebenen Metadaten. +++ <:>Wiki <:>`PageName` [[BR]] `Seitenname` <:>`---` Zeigt den Namen der aktuellen Seite. Das funktioniert nicht immer, sondern nur dann, wenn der Renderer den Namen auch kennt. +++ <:>Forum [[BR]] Ikhaya [[BR]] Wiki <:>`Template` [[BR]] `Vorlage` <:>erforderlich Inkludiert die mit dem ersten Parameter angegebene andere Seite in die aktuelle Seite und ruft einen Parser mit den weiteren Parametern auf. Die einzubindende Seite muss relativ zu [:Wiki/Vorlagen:] angegeben werden und kann ein ausführbares Programm in der Vorlagensprache enthalten – dies ist die technische Grundlage für die [:Wiki/Textbausteine:Textbausteine]. [[BR]] Abhängig von der verwendeten Textvorlage sind dafür weitere Parameter möglich bzw. erforderlich. +++ <:>Wiki <:>`Attachment` [[BR]] `Anhang` `attachment` [[BR]] `text` Erzeugt einen Download-Link für den mit dem Parameter `attachment` angegebenen Anhang. Man kann den Anhang relativ zus aktuellen Seite oder als absoluten Link angeben. [[BR]] Der Download-Link wird im Artikel als der mit dem Parameter `text` angegebene Text anklickbar dargestellt. +++ <:>Ikhaya [[BR]] Wiki <:>`Picture` [[BR]] `Bild` `picture` [[BR]] `size` [[BR]] `align` [[BR]] `alt` [[BR]] `title` Das mit dem Parameter `picture` angegebene Bild wird auf der Seite angezeigt. Das Bild kann aus externer Quelle stammen oder ein Anhang der aktuellen Seite sein. Ein Vorschaubild wird automatisch erzeugt. [[BR]] Sofern angegeben, wird das Bild für die Anzeige gemäß Parameter `size` skaliert und gemäß Parameter `align` zum Text seines Kontextes angeordnet. [[BR]] Der Parameter `alt` (Vorgabe: `None`) spezifiziert einen Text, der alternativ zum Bild gezeigt werden kann. [[BR]] Parameter `title (Vorgabe: `None`)` gibt den Text an, der beim Zeigen auf das Bild als schwebender Text angezeigt wird. [[BR]] Für ein Bild aus einem Anhang wird ein Metadatum der Art `X-Attach` erzeugt. }}} {{{#!vorlage Hinweis Es gibt noch weitere im Wiki zwar verwendbare Makros, die aber keine keine Wiki-Makros sind, sondern nur die Darstellung steuern und in der [#Links Dokumentation zu Inyoka] dokumentiert sind. Dazu gehören u.a. `[[BR]]`, `[[Anker()]]` und `[[Inhaltsverzeichnis()]]`. }}} Die Angaben für die Parameter `page` und `picture` sind stets absolute Pfade. (Der Parser weiß nicht, auf welcher Seite er arbeitet.) = Wo kann ein Makro verwendet werden? = Dies kann man der ersten Spalte der [#Makroliste Makroliste] entnehmen: || Wiki || Alle in diesem Artikel vorgestellten Makros verwendbar. || || Forum || Nur Makro `Vorlage` erlaubt. || || Ikhaya || Nur Makros `Bild` und `Vorlage` möglich. || = Wie wird ein Makro verwendet ? = Zur Verwendung eines Makros muss man im Rohtext den MAKRONAME und ggf. Pflichtparameter in einer PARAMETERLISTE in einer speziellen Schreibweise angeben: || {{{[[MAKRONAME]] }}} || Aufruf ohne Parameter, nur möglich, wenn es keine Pflichtparameter gibt. || || {{{[[MAKRONAME()]] }}} || Alternative mit leerer PARAMETERLISTE || || {{{[[MAKRONAME(PARAMETERLISTE)]] }}} || || * MAKRONAME ist ein interner Name oder dessen deutsche Entsprechung gemäß der 2. Spalte der [#Makroliste Makroliste], dabei muss die Groß-/Kleinschreibung wie angegeben genau beachtet werden. * PARAMETERLISTE ist ein einzelner Parameter oder eine mit Kommata getrennte Liste von Parametern. Jeder Parameter ist eine Zeichenfolge, wenn diese Leerzeichen oder andere Sonderzeichen enthält, muss sie quotiert werden. Die für ein Makro zulässigen Parameter stehen in der 3. Spalte der [#Makroliste Makroliste]. Bei Makros, die mehrere Parameter ermöglichen, bestimmt entweder die Position in der PARAMETERLISTE oder der angegebene Name des Parameters, wie der Parameter im Makro verwendet wird. \\ Siehe [#Bild Beispiel für Bild]. = Beispiele = == Seitenliste == Die Übersichtsseiten [:Wiki/Vorlagen:] und [:Baustelle:] wenden beispielsweise dieses Makro an. == TagListe == Die Übersichtsseite [:Kategorien:] wendet beispielsweise dieses Makro an. == Seitenname == Dies ist ein Artikel im Wiki von ubuntuusers.de und sein Name (Titel) ist: [[Seitenname]] Der vorstehende Inhalt dieses Abschnitts entsteht aus folgendem Rohtext: > {{{Dies ist ein Artikel im Wiki von ubuntuusers.de und sein Name (Titel) ist: [[Seitenname]] }}} ##|| Rohtext: || {{{[[Seitenname]] }}} || ##||Ergebnis: || [[Seitenname]] || == Vorlage == Alle [:Wiki/Textbausteine:Textbausteine] wenden das Makro `Vorlage` der Basis-Software an. == Anhang == Der Anhang „[[Seitenname]]/inyoka-wiki-macros.txt“ dieser Seite kann [[Anhang(text=hier, inyoka-wiki-macros.txt ) ]] {dl} herunter geladen werden. Der vorstehende Inhalt dieses Abschnitts entsteht aus folgendem Rohtext: > {{{ Der Anhang „[[Seitenname]]/inyoka-wiki-macros.txt“ dieser Seite kann [[Anhang(text=hier, inyoka-wiki-macros.txt ) ]] {dl} herunter geladen werden. }}} Bitte beachte: Die Kennzeichnung `"{dl}"` für den direkten Download muss der Autor des Rohtextes selber hinzufügen! [[Bild(align=right, title='Maskottchen von Linux', size=100, picture=Wiki/Icons/tux.png)]] == Bild == Die Verwendung von Bildern über das Makro `Bild` wird detailliert im Artikel [:Wiki/Bilder:] besprochen. Dieses Beispiel soll nur die Anwendung von benannten Parametern (Paare Name=Wert) verdeutlichen. Der vorstehende Teil dieses Abschnitts entsteht aus folgendem Rohtext: > {{{ [[Bild(align=right, title='Maskottchen von Linux', size=100, picture=Wiki/Icons/tux.png)]] == Bild == Die Verwendung von Bildern über das Makro `Bild` wird detailliert im Artikel [:Wiki/Bilder:] besprochen. Dieses Beispiel soll nur die Anwendung von benannten Parametern (Paare Name=Wert) verdeutlichen. }}} = Links = * [https://ubuntuusers.de/inyoka/] {de} Inyoka aus Sicht von UbuntuUsers * [https://doc.inyokaproject.org/ Inyoka documentation] {en} ## Die folgenden Links sollen nur in der internen Version des Artikels erscheinen: ## * [https://github.com/inyokaproject/inyoka] {en} – Github von Inyoka ## * [https://github.com/inyokaproject/inyoka/blob/staging/inyoka/wiki/macros.py] {en} – aktueller Quellcode der hier besprochenen Makros ## * [:Baustelle/Wiki/Inyoka-Wiki-MaKros/inyoka-wiki-macros.txt:Anhang Quellcode 2024, Basis für diesen Artikel] # tag: Wiki