====== Rezepte in Dokuwiki ======
===== Seitenvorlagen nutzen =====
Da Rezepte in der Regel eine wiederkehrende Textstrukturierung aufweisen, empfiehlt sich die Verwendung einer darauf angepassten [[https://www.dokuwiki.org/de:namespace_templates|Seitenvorlage]].
Voraussetzung ist, dass alle Rezepte inner- oder unterhalb eines gemeinsamen [[https://www.dokuwiki.org/de:namespaces|Namensraums]] ''$myNamespace'' angelegt werden.
Unter dieser Bedingung kann eine entsprechend der [[https://www.dokuwiki.org/de:wiki:syntax|Dokuwiki-Artikelsyntax]] formatierte Textdatei im Verzeichnis ''./data/pages/$myNamespace'' des gemeinsamen Namensraums ''$myNamespace'' als Seitenvorlage angelegt werden.
\\ Für Seitenvorlagen, die ausschließlich innerhalb des Namensraums ''$myNamespace'' gelten sollen, muss dabei ''_template.txt'' (einfacher führender Unterstrich) als Name der Textdatei verwendet werden; Seitenvorlagen, die vererbt werden und damit auch für alle hierarchisch unterhalb von ''$myNamespace'' liegenden Namensräume gelten sollen, sind unter dem Dateinamen ''__template.txt'' (doppelter führender Unterstrich) zu speichern.
Beispiel einer einfachen Seitenvorlage für Rezepte:
====== Titel des Gerichts ======
===== Zutaten =====
Portionen: n
^ Menge ^ Einheit ^ Bezeichnung ^
| | | |
===== Zubereitung =====
Lorem ipsum
===== Hinweise =====
Lorem ipsum
===== Glossar anlegen =====
Da die Mengenangaben in Rezepten regelmäßig auf etablierten (SI-)Einheiten beruhen, bietet sich bei der Eingabe die Nutzung der zugehörigen Abkürzungen an.
Um diese auch semantisch zu kennzeichnen, muss die abgekürzte Einheit in das HTML-Tag '''' eingeschlossen werden; die volle Bezeichnung der Einheit - gegebenfalls zuzüglich kurzer erläuternder Hinweise - wird dann im ''title''-Attribut festgehalten.
Dokuwiki stellt zu diesem Zweck bereits einen integrierten Mechanismus bereit, bei dem anwendungsspezifische Inhalte des Tags und dessen jeweiliges Attribut aus der Datei ''./conf/acronyms.conf'' bezogen werden; indivuelle Inhalte können hingegen in einer Datei ''./conf/acronyms.local.conf'' hinterlegt werden.
\\ Die zu verwendende Syntax folgt der Dokuwiki-Vorlage ''./conf/acronyms.conf'' (d.h. ein Eintrag pro Zeile gemäß dem Muster ''Tag-Inhalt Attribut-Text'' mit mind. einem trennenden Leerzeichen, Kommentare werden durch ein vorangestelltes Gatterzeichen gekennzeichnet).
Beispiel eines einfachen Einheiten-Glossars:
# Mengen
St. Stück
Proz. Prozent
Prom. Promille
v.H. von Hundert
# Volumina
EL Esslöffel
TL Teelöffel
gestr. gestrichen
geh. gehäuft
Msp. Messerspitze
l Liter
dl Dezilter, 1 dl = 100 ml
cl Centiliter, 1 cl = 10 ml
ml Milliliter
TBSP Esslöffel
TSP Teelöffel
cup Tasse, 1 cup (US) ≈ 236,59 ml
# Gewichte
kg Kilogramm
dag Dekagramm, 1 dag = 10 g
g Gramm
mg Milligramm
oz Unze, 1 oz ≈ 28,35 g
lb Pfund, 1 lb ≈ 453,59 g
lbs Pfund, 1 lbs ≈ 453,59 g
# Zeiten
d Tage
h Stunden
min Minuten
s Sekunden
Std. Stunden
Min. Minuten
Sek. Sekunden
# Temperaturen
°F Grad Fahrenheit
°C Grad Celsius
Eine Verwaltung dieser Datei über die Administrations-Oberfläche von Dokuwiki ist über das Plugin [[https://www.dokuwiki.org/plugin:confmanager|confmanager]] möglich.
===== Strukturierte Daten ausgeben =====
Hinsichtlich einer automatisierten Auswertung (z.B. durch Suchmaschinen) kann es sinnvoll erscheinen, die Inhalte gemäß [[https://schema.org/Recipe|etablierter Schemata]] zu strukturieren. Da die verschiedenen Implementationsmöglichkeiten mit unterschiedlichem Pflege- bzw Einrichtungsaufwand verbunden sind, ist im Einzelfall zu abzuwägen, ob der Nutzen strukturierter Daten den erforderlichen Aufwand rechtfertigt.
Eine einfache Implementierung kann durch Verwendung der Dokuwiki-Plugins [[https://www.dokuwiki.org/plugin:adhoctags|adhoctags]] und [[https://www.dokuwiki.org/plugin:adhoctables|adhoctables]] erzielt werden.
\\ Nach deren Installation können entsprechende Tags und Attribute in den Seitenvorlagen hinterlegt werden.
\\ Nachteil dieser Lösung ist der Bruch mit der bewusst einfach gehaltenen Dokuwiki-Syntax.
Eine aus Anwendersicht weniger komplexe und damit fehlerunanfälligere Alternative besteht in der Nutzung des [[https://www.dokuwiki.org/plugin:struct|struct-Plugins]], mit dessen Hilfe sich Eingabemasken für die strukturierten Daten definieren lassen.
\\ Nachteil dieser Lösung ist der relativ hohe Implementationsaufwand.