Über das Kochbuch

Wie es dazu kam, dass ich angefangen habe,
dieses Kochbuch zu schreiben.

"Papa … ?"

Au weia! Was ist los?

Mirjam fährt mit ihrer Schulklasse in ein Landschulheim. Der Lehrer (gedankt sei ihm!) stellt den Schülerinnen und Schülern eine lebenspraktische Aufgabe: An jedem Tag des Aufenthalts im Landschulheim ist eine Schülerin/ein Schüler (oder zwei) für das Bekochen der Schulklasse zuständig. Im Aufgabenheft steht: Einkaufsliste und Rezept mitbringen. Achtung: Dreißig alters­gemäß hungrige Personen müssen satt werden.

"Also, es soll etwas Besonderes sein, es soll gut schmecken, und es muss ganz leicht zu kochen sein!"

"Und Du musst es mir aufschreiben – aber so, dass ich's verstehe!"

Es war der Startschuss. Für alle meine Aktivitäten in puncto "Schreiben eines Koch­buchs". Wer hätte das gedacht?

Ich weiss noch, dass ich Mirjam "Bulgur mit Lauch und Karotten" vorgeschlagen und aufge­schrieben habe. Bulgur kannte zu der Zeit, um die es hier geht, kaum jemand. (Nur einge­fleischte Reformhaus­kunden kannten damals schon das ernäh­rungs­technische Äquivalent zum Bulgur: die Thermo­grütze. Da die Thermo­grütze aber stets zu Brei zerkocht wird, kommt niemand auf die Idee, dass Bulgur und Thermo­grütze nicht nur beide aus Getreide­schrot bestehen, sondern auch ähnlich her­gestellt werden.) Lauch und Karotten sind einfach zuzu­bereiten, und wenn man zu Bulgur und Gemüse einen Stich Butter gibt, dann schmeckt das ganz prima. Naja, Salz und Pfeffer auch. Aber ich will jetzt hier ja kein Rezept schreiben … Ich habe Mirjam für ihr Landschul­heim eine große Packung Bulgur aus dem Bio­laden mit­gegeben. Viel später habe ich entdeckt, dass es Bulgur in türkischen Geschäften sack­weise zu kaufen gibt – so wie bei meinem Lieblings­türken, dem Sultan-Markt in Kiel. Mirjam hat berichtet, dass es der Schul­klasse gut geschmeckt hätte, dass es niemand zuvor kannte, und dass sich die Mühen der Zubereitung tat­sächlich in Grenzen gehalten hätten. Zusammen­gefasst: Für den angehenden Kochbuch­schreiber ein ermutigender Anfangs­erfolg.

Nach der gelungenen Bulgur-Verkostung hat Mirjam leider keine weiteren Ambitionen am Herd mehr entwickelt. Schade!

Zu welchem Zweck also schreibe ich dann (nicht erst seit heute) eigentlich ein Kochbuch?

Vielleicht, weil da mehrere Interessen zusammen­kommen: Ich schreibe gern, ich foto­grafiere gern, ich koche gern. Ich stecke ebenso gern Zeit und Energie in die For­matie­rung von Texten. Und nicht zuletzt hat mir die XML/XSLT/­HTML/CSS/JS-Programmierung bei der Erstellung dieser elek­tronischen Version meines Koch­buchs viel Spass gemacht. Obwohl ich manchmal lieber über die damit ver­bun­denen Schwierig­keiten gejault habe, als meine Begeisterung zu zeigen.

Auch die vielen, teil­weise phan­tastischen food blogs, die es im Netz zu lesen gibt, waren selbst­verständ­lich ein gewaltiger Ansporn für mich.

Was mich beim Aufschreiben von Rezepten beschäftigt.

Auf den ersten Blick scheinen Rezepte einfache Gebrauchstexte zu sein, die man "einfach so" herunterschreiben kann. Wenn man Rezepte schreibt oder schon viele geschrie­ben hat, dann dämmert es einem, dass es so ein­fach nicht ist. Ich versuche, in den folgenden beiden Abschnitten darzustellen, was mir durch den Kopf geht, wenn ich mich frage:

  • Wie schreibe ich ein Rezept so auf, dass es leicht nachgekocht werden kann?
  • Wie halte ich's mit der Genauigkeit?
Brotaufstrich
Bärlauch

Vom Aufschreiben zum Nachkochen

Damit ein Rezept leicht nachgekocht werden kann, sollte der Aufschrieb mindestens eine Zutaten­liste und einen Anweisungs­teil umfassen. Die Zutaten­liste muss nicht weiter diskutiert werden; es ist der Anweisungs­teil, der verständlich oder unver­ständ­lich sein kann und damit einen Ein­fluss darauf hat, ob ein Rezept nach­gekocht wird oder nicht. Wie also den Anwei­sungs­teil auf­schreiben?

Eine einfache Antwort auf diese Frage könnte lauten: Naja, man muss sich nur selbst in der Küche beob­achten und dann die eigenen Aktionen der Reihe nach beschreiben. Ich denke, da wird kein Schuh draus.

Zum einen: Es gibt viele Rezepte, die dazu einladen, beim Kochen mehrere Aktionen gleichzeitig voranzutreiben: Während die Zwiebeln in der Pfanne schwitzen, hacke ich schon 'mal den Thymian, der später an die Sauce kommt. Mal abgesehen davon, dass es in einem linearen Text sowieso schwierig ist, Gleichzeitigkeit zu beschreiben – ich frage mich, ob ich der besseren Nachkochbarkeit wegen aufschreiben sollte, welche Aktionen bei der Zubereitung gleich­zeitig durch­geführt werden können oder sogar sollten.

Meine Überzeugung: Jeder Koch, jede Köchin hat eine persönliche Arbeitsweise, und das bedeutet, dass man selbst herausfinden muss, welcher Ablauf für die Zubereitung des jeweiligen Rezepts der "richtige" ist. Und das kann bedeuten, dass man dazu ein Rezept erst mehr­mals ausprobieren muss. Ich selber mag es eher lang­sam: Nur zu oft habe ich in größter Eile am Herd gestanden und versucht, so viele Dinge wie möglich gleich­zeitig zu machen. Die Resultate: Kreuz­schmerzen und ein Essen, das nicht so gut gelungen ist, wie ich es mir gewünscht habe. Mein Vorbild: Der Fernseh­koch. Der hat ein Arsenal von adrett vor­bereiteten Zutaten in kleinen oder großen Glas­schüsseln vor sich stehen und rührt eine nach der anderen in die zuzu­bereitende Speise. Der high speed chef dagegen kocht schon, während er noch vorbereitet, und bereitet noch vor, während in der Pfanne schon das Schnitzel zischt. Jonglieren mit Messern, Zutaten, Töpfen, Deckeln und Schneide­brettern: Some like it fast! Und für diese Art von Koch ist der Fernseh­koch definitiv zu langsam. Also: Beim Aufschreiben eines Rezepts eine bestimmte Aktionsfolge anzugeben, scheint mir nicht besonders sinnvoll.

Zum anderen: Bei der Befolgung einer exakt schritt­weise aufgeschriebenen Koch­anleitung entsteht am Ende möglicher­weise ein gelungenes Gericht, aber es wird einem wie ein Wunder vorkommen, dem man nur die Hände geliehen hat. Kochen quasi als Hand­langer­dienst für eine höhere kulinarische Intelligenz. Rezepte, die eine klein­teilige Schritt­folge beschreiben, verbergen die Idee hinter all den Details. Wenn das Waschen des Spinats in gleicher Weise erwähnt wird wie das Würzen mit Muskat, dann ist das unter einem kuli­narischen Blick­winkel nicht ange­messen. Deshalb mag ich allzu klein­teiliges Auf­schreiben ganz und gar nicht.

Wie also vorgehen beim Schreiben?

Ich habe beobachtet, dass sich viele Rezepte leichter lesen lassen, wenn man sich vorstellt, dass in diesen Rezepten Zutaten zu Komponenten zusammen­gesetzt werden und dann die Kom­ponenten zum gesamten Gericht. Selbst­ver­ständlich kann es sein, dass die Fertig­stellung einer Kom­ponente sehr lange dauert, z.B. wenn in die Zube­reitung dieser Komponente das Marinieren von Fleisch oder Fisch eingeschlossen ist. In solchen Fällen sind offen­sichtlich parallele Aktivitäten gefragt, man muss dem Fleisch ja nicht beim Marinieren zuschauen. Für das Auf­schreiben von Rezepten habe ich aus dieser Beob­achtung die Kon­sequenz gezogen: Die Kom­ponen­ten­struktur möchte ich heraus­arbeiten, Parallel­arbeit erwähne ich nur für "große" Schritte. Ich hoffe, das mir das (fast) immer gelungen ist.

Rezepte und "Genauigkeit"

Nun also zur zweiten Frage: Wie hält man's mit der Genauigkeit?

Genauigkeit kann sich auf Zeiten, Temperaturen, Mengen und Zutaten beziehen. Zeiten und Tempe­raturen genau vorzugeben, halte ich für sehr schwierig: Gart man z.B. ein Steak nach dem Anbraten im Ofen, dann bestimmt sich die Kombi­nation aus Gar­zeit und Temperatur ganz wesent­lich nach der Dicke des Fleisch­stücks. Brät man eine Scheibe Leber in der Pfanne, dann ist die Leber am dünnen Ende der Scheibe vielleicht schon nach einer Minute durch, während sie am dicken Ende noch eine weitere Minute benötigt hätte. Beim Garen der Roten Bete in Alu­folie im Ofen, wie ich es hier beschreibe, benötigt man für "kleine" Rote Bete ca. 1½ h, für "große" aber 2 h. Die Wahl der "richtigen" Garzeiten und Tempe­raturen hat also viel mit Erfahrung zu, man kann sie nicht "genau" aufschreiben. Genauig­keit im engeren Sinne des Wortes gibt es nicht.

Mengen: Bei der Zubereitung von Teigen aller Art (Hefe­teig, Nude­lteig, Quiche-Teig, Gnocchi-Teig) arbeite ich Gramm-genau. Ich habe die Erfahrung gemacht, dass Teige sonst nicht gelingen: Sie werden so klebrig, dass man sie nicht be­arbei­ten kann, oder sie sind so weich, dass man sie nicht gut formen kann, oder sie werden rissig beim Aus­rollen. Bei allen anderen Zutaten sollen die Mengen­angaben eher als Schätz­werte dienen. Und natürlich kann man bewusst für eine bestimmte Zutat ein andere als die ange­gebene Menge wählen, um z.B. den Geschmack dieser Zutat besonders hervor­zuheben.

Nun also zur Genauigkeit bei den Zutaten. Meine Über­zeugung: Es gibt Genauigkeit, und es gibt Über­genauig­keit. Fordert z.B. Johann Lafer in vielen Rezepten, dass "Kalahari-Salz" zu verwenden sei, dann ist das eine Über­genauig­keit, und zwar eine Über­genauig­keit, die kuli­narisch bedeutungs­los ist – außer vielleicht man isst das Salz pur. Was ja unter kuli­narischen Gesichts­punkten eher nicht zu empfehlen ist. Bei solchen Angaben habe ich stets den Verdacht, dass sich der Rezept­autor in Szene setzen möchte ("Schau 'mal her: Ich schmecke in diesem Gericht mit seinen 20 Zutaten sogar noch die verwendete Salz­sorte heraus!") und/oder dass es schlicht um's Geschäft geht: Der Hobby­koch, der sich keine Fehler vorwerfen lassen will, zückt ergeben den Geld­beutel und kauft 180 g Salz für 7,50 € (bei Amazon gesehen). Bekloppt!

Richtig ärgerlich sind solche Über­genauig­keiten, wenn der Leser durch sie verleitet wird zu glauben, nur mit einer solch übergenau spezi­fizier­ten Zutat könne das Rezept gelingen. Das ist natürlich Unsinn. Ich versuche, solche Angaben – mög­lichst immer – wie folgt zu lesen: Der Autor hat das Rezept mit näm­licher Zutat aus­probiert … und hurra! Es ist gelungen! Über andere Vari­anten weiss der Rezept­autor leider nichts. Aber ich gebe es gerne zu: Ich bin auch oft genug hinter Spezial­pro­dukten hergerannt, weil ich geglaubt habe, dass es ohne die nicht geht.

Im Informatiker-Deutsch ausgedrückt: Wenn nichts anderes gesagt wird, sind Angaben in Rezepten zunächst einmal im Sinne der Open World Assumption zu lesen: So, wie es da aufgeschrieben ist, hat es schon einmal funktioniert. Über alles andere weiß man nichts. Das heisst aber nicht, dass es nicht genau so gut klappt.

Salz und Pfeffer
Granatapfel

Ein paar Gedanken zur Gestaltung der Rezeptseiten.

In meiner internen Zählung handelt es sich hier um die Version 4 meines Koch­buchs. Ursprünglich hatte ich geplant, auch diese Version auf der Basis des pdf-Datei­formats zu erstellen. Es sollte ein etwas forscheres Layout geben, und das DIN A4-Seiten­format sollte zwecks besserer Dar­stellung auf handels­üblichen Bild­schirmen zugunsten eines 16:10-Seiten­formats ver­lassen werden. Die Druck­dar­stellung hätte darunter nur unwesent­lich gelitten.

Irgendwann habe ich gemerkt: Das ist kein wirklicher Fort­schritt, es ist schlicht more of the same, auch wenn ich das neue Layout etwas auf­ge­hübscht hätte. Nur eine komplett Web-basierte Lösung, d.h. also eine Lösung ohne pdf für die Seiten­darstellung und ohne DTP-System für die Seiten­erstellung, würde etwas wirk­lich Neues bringen.

Es hat wiederum eine gewisse Zeit gebraucht, bis ich begriffen habe, dass diese Ent­scheidung für eine Web-basierte Lösung nicht nur einen Haufen von tech­ni­schen Problemen erzeugt (s.u.), sondern auch neue gestal­teri­sche Auf­gaben stellt. Wenn ich letztere zusammen­fassen sollte, würde ich etwa wie folgt for­mu­lieren:

Der Bildschirm ist dem Papier überlegen: Man kann mit dem Bildschirm per zoom oder scroll eine unendlich große Dar­stellungs­fläche betrachten, eine Fläche, die sich nach links und nach rechts und nach oben und nach unten ins Unendliche erweitert, man kann diese Dar­stellungs­fläche mit mehreren trans­parenten oder opaken Ebenen, die "über­einander" an­ge­ord­net werden, ver­viel­fachen, und schließ­lich ist die Anzahl solcher Dar­stellungs­flächen – anders als die Anzahl der Seiten in einem Buch – de facto nicht beschränkt. Fazit: Es macht keinen Sinn, eine Web-basierte Lösung zu erstellen, die von dieser Über­legen­heit des Bild­schirms keinen Gebrauch macht. (Neben­bemerkung: War das jetzt etwa ein Bei­trag zum Thema "Medien­kom­petenz"? Ich finde, es könnte einer sein.)

Zwischenschritt: Bei den Papier-/pdf-Versionen meines Koch­buchs hatte ich mir eine feste Regel vor­gegeben: Jedes Rezept inklusive Rezept­foto muss auf eine DIN A4- bzw. 16:10-Seite passen. Sonst würde das "Einbauen" eines neuen Rezepts in das Koch­buch mög­licher­weise schwierig werden. Der Wer­muts­tropfen dabei: Auf einer DIN A4-Seite bleibt nicht viel Platz für das Rezept­foto, vor allem, wenn man Platz haben will, um Zutaten­liste und Anweisungs­teil typo­grafisch gut gegen­einander abzu­grenzen. Und kleine Bilder wurmen nicht nur den Foto­grafen, sondern auch den Rezept­autor, der doch weiss, dass nur Rezepte mit einer üppigen Bild­aus­stattung eine gute Chance haben, nach­gekocht zu werden.

Und nun?

Im Unterschied zur Papier-Welt steht in der Web-(HTML-)basierten Welt für die Dar­stellung eines Rezepts nicht nur die Fläche einer DIN A4-Seite zur Ver­fügung, sondern zum Glück eine unendlich große Fläche, auf der man Infor­mations­elemente ablegen kann. Diese Informationselemente kann die Nutzerin/der Betrachter durch scroll und zoom und/oder durch pro­gramm­ge­steuertes Verschieben dieser Informations­elementen (z.B. ausgelöst durch Click) zur Ansicht bringen. Quint­essenz: Datei­format und Dar­stellungs­fläche sind bei HTML von­einander ent­koppelt!

Nach der Entscheidung für eine Web-basierte Lösung mit ihren unendlich großen Flächen gab es für mich zunächst einmal ein Hurra: Ich kann endlich die Rezept­fotos richtig groß machen! Und ich kann die ungeteilte Aufmerk­samkeit der Leserin auf das Rezept­foto richten, wenn ich es ohne Rezept­text prä­sentiere!

Allerdings wäre es ein falscher Ansatz gewesen, die Rezept­fotos schlicht bild­schirm­füllend zu zeigen: Das hätte bedeutet, dass die Leserin schluss­end­lich genötigt wird, zwischen Text und Bild hin und her zu blättern. Das wäre mir zu dicht an einer denk­baren Papier-basierten Lösung gewesen. Lösung: Das Rezeptfoto zeige ich ziemlich groß, aber nicht bild­schirm­füllend, und den Rezept­text parke ich außer­halb des sicht­baren Bereichs, oder ich falte ihn zusammen. Und erst bei Click zeige ich ihn. Und dabei darf der Text dann gerne das Rezept­foto teilweise überlagern. Will sagen: Ich stelle einen Knopf zur Ver­fügung, mit dem die Leserin den Rezept­text sichtbar machen kann, wenn sie das Bild betrachtet hat. Der Zusammen­hang zwischen Bild und Text bleibt erhalten.

Zusätzliche Idee: Das Sichtbar-Machen des Textes soll ein bisschen fancy sein, also: animation.

Wenn ich hier von "unendlich großen Flächen" rede, dann dämmert es Dir, liebe Leserin, dass ich mit dem Design-Dogma "Mobile first!" einige Schwierigkeiten hatte. Auf mobilen Geräten sind die Flächen aus meiner Perspektive unendlich klein, und das Her­stellen eines Zusammen­hangs zwischen einzelnen In­for­ma­tions­ele­menten (also z.B. zwischen einem Bild und einem be­schrei­benden Text) kann nicht auf dem Bildschirm stattfinden – es passiert – glückliche Umstände vorausgesetzt – allenfalls im Kopf des Betrachters. Also habe ich mich zwar dem Thema responsive design gewidmet und habe eine "mobile Version" erzeugt, aber glücklich bin ich nicht, wenn Du, liebe Leserin, mein Kochbuch nur mit dem Smartphone und wohl­möglich nur im portrait mode betrachtest: Meine eigentliche Design-Idee kannst Du, liebe Leserin, voll­umfäng­lich nur in der Desktop- oder auch in der Tablet-Version erkennen. Nähere Informa­tionen zum Konzept des responsive design für dieses Rezeptbuch finden sich im Blog.

Zum Schluss und nur für Nerds:
Meine Software zur Erstellung des Kochbuchs.

Vor Beginn meiner Aktivitäten zur Erstellung einer "pure online"-Version meines Kochbuchs habe ich über zwei technische Alter­nativen nachgedacht: ein Kochbuch auf der Basis eines Wordpress theme oder ein Kochbuch auf der Basis einer Menge von statischen HTML-Seiten. Die Wordpress-Lösung hätte mehrere Vorteile gehabt: Ich hätte mich aus­schließlich auf das Schreiben von Rezepten kon­zen­trieren können; Navigation und Backend (Rezept-Editor und Site Management) wären mir in den Schoß gefallen. Warum dennoch die hier vorzu­stellende Lösung auf der Basis von statischen HTML-Seiten?

Beim Start meiner Aktivitäten wollte ich zum einen die in der Vorgänger­version vorhandenen Rezepte in das neue Koch­buch über­nehmen, und zum anderen wollte ich durch die grund­ständige Pro­gram­mie­rung von HTML-Seiten einige Webtechno­logien praktisch kennenlernen.

Die Vorgänger­version des Koch­buchs baut auf elf FrameMaker(FM)-Dateien auf: eine FM-Datei je Kapitel des Kochbuchs. Die elf FM-Dateien enthielten insgesamt 128 Rezepte. Die am besten automatisierbare Möglich­keit, die in den FM-Dateien enthaltenen Rezepte in das neue Kochbuch zu über­tragen, bestand darin, die vorhandenen Dateien aus dem FM-Format in ein XML-Format zu exportieren und dann daraus die Rezepte zu extrahieren. Eine Wordpress-Lösung hätte mich wahrscheinlich dazu genötigt, die FM-Texte händisch per copy-paste in irgendwelche Eingabemasken des jeweiligen theme zu über­tragen … und dazu hatte ich keine Lust. Und zum Thema Webtechnologien hätte ich nichts dazugelernt.

In einem ersten Arbeits­schritt habe ich also die elf FM-Dateien in ein XML-Format exportiert. Dann habe ich aus jeder XML-Datei die darin ent­haltenen Rezepte in se­pa­rate Rezept-Dateien extrahiert. Gleich­zeitig mit der Extrak­tion habe ich eine Schema-Kon­vertierung durchgeführt: Diese Kon­vertierung wandelt die dar­stellungs­orientierte FM-Auszeichnung in eine von mir definierte inhalts­orientierte Auszeichnung um. Die Rezept-Dateien habe ich kapitel­weise in separaten Unter­verzeich­nissen abgelegt. Das Resultat also: 128 Rezept­dateien in elf Unter­verzeichnissen.

Damit war klar: Das "Urformat" für meine Rezeptaufschriebe ist das XML-Format; das zugehörige Rezept-Schema ist in der Datei recipe.xsd enthalten, und der target namespace heißt http://fruschtique.de/ns/recipe. Das Verzeichnis, das die kapitel­weisen Unter­verzeichnisse enthält, heißt recipe_xml, und die Namen der Unter­verzeichnisse sind nach dem Schema ## [chap] gebildet, wobei "##" für die zwei­stellige Kapitel­nummer und "[chap]" für den Kapitel­namen steht. Beispiel: Das Rezept für die Zubereitung von Arti­schocken steht in der Datei Artischocken.xml, diese Datei steht im Unter­verzeichnis 02 Vorspeisen, und dieses Verzeichnis ist ein Unter­verzeichnis von recipes_xml.

So, also, Luft holen! Wie gehe ich nun weiter vor, was fange ich mit meinen 128 Rezepten in meinen elf Unter­ver­zeichnissen an?

Die Antwort: Ich musste einen recht komplexes Softwaresystem entwickeln, da insgesamt sechs Auf­gaben zu lösen waren:

  1. Konvertierung der Rezepte vom xml- in das html-Format: Die in den Unterverzeichnissen des Ver­zeich­nisses recipes_xml ent­haltenen Rezepte werden mit Hilfe des XSLT-Scripts gen_pages-rcp.xsl in das HTML-Format konvertiert. Die HTML-Dateien werden im Ver­zeich­nis recipesabgelegt; dieses Ver­zeich­nis hat keine Unter­verzeich­nisse. Je Rezept wird eine HTML-Datei erzeugt. Der Dateiname wird aus dem Inhalt des XML-Elements fr:recipeName und der Datei­namens­erweiterung html gebildet. Der Dateiname der zugehörigen Bild­datei wird ebenfalls aus dem Inhalt des XML-Elements fr:recipeName erzeugt; die Datei­namens­er­­wei­terung ist jpg. Zusätzlich erzeugt das Skript gen_pages-rcp.xsl auch die Deckblätter für die einzelnen Kapitel. Auch diese werden im Verzeichnis recipes abgelegt. Die word clouds, die auf diesen Kapitel­deck­blätter gezeigt werden, werden dynamisch im Browser von einem js-Script erzeugt (siehe diesen post im Making of); dieses Script benutzt eine Wortliste, die aus den Schlüsselwort­listen (fr:recipeKeywords) der im Kapitel enthaltenen Rezepte zusammengetragen wird.
  2. Erzeugung des Inhaltsverzeichnisses: Das Inhaltsverzeichnis besteht aus einer Seite je Kapitel des Kochbuchs. Diese Seiten werden mit Hilfe des Skripts gen_pages-index.xsl aus der Struktur des Ver­zeich­nisses recipes_xml abgeleitet.
  3. Zuordnung von Rezepten zu Kategorien und Erstellung von Kategorienseiten: Die Zuordnung von Rezepten zu Kategorien erfolgt über das Eingabeformular form-recipe2cat assignment.html, wobei eine zweistellige Versionsnummer angegeben werden kann. Die Eingabe wird wird im xml-Format abgespeichert, und dann werden daraus mit Hilfe des Skripts gen_pages-cat.xsl die für das Kategoriensystem erforderlichen Seiten generiert.
  4. Erstellung eines Zutaten-Index: Das Skript gen_pages-index.index den Zutatenindex bzw. die entsprechende html-Datei index-ingdt.html. Dazu werden ebenfalls die schon oben erwähnten Schlüsselwort­listen genutzt.
  5. Erstellung eines Rezept-Index:Das Skript gen_pages-index.xsl extrahiert aus den xml-Rezeptdateien den im jeweiligen Element fr:recipeName enthaltenen Rezeptnamen und erzeugt daraus den Rezept-Index bzw. die entsprechende html-Datei index-rcp.html.
  6. Bereitstellungen von html-Formularen für die Bearbeitung von Rezepten: Für jedes Rezept wird ein separates html-Formular erzeugt. Diese Formulare werden gleichzeitig mit den html-Rezeptseiten durch das Skript gen_pages-rcp.xsl erzeugt. Die Formulare stehen im Verzeichnis forms; der Dateiname wird aus dem string form-, dem Inhalt des XML-Elements fr:recipeName und der Datei­namens­erweiterung html gebildet.

Alle Aktivitäten zur Kochbucherstellung sind im XSLT-Skript book-builder.xsl zusammengefasst. Damit werden auch die Dateien about_me.html, about_cookbook.html, book-help.html, book-blog.html, book-versions.html, book-impressum.html und index.html erzeugt, die z.T. HTML-Code ent­halten, der "von Hand" programmiert ist.

Das Blockbild zeigt auch die "Rückkopplungsschleife", die dadurch entsteht, dass Rezepte (bzw. die Zuordnung von Rezepten zu Kategorien) über die erwähnten Formulare geändert oder sogar hinzugefügt werden können. Weitere Ausführungen dazu gibt es hier im Blog.

Zusätzlich zu den oben angesprochenen Dateien zeigt das Blockbild die Verzeichnisse img (für die Rezeptbilder) und thumbs (für die Vorschaubilder). Rezept­bilder und Vorschau­bilder haben den gleichen Datei­namen wie die ent­sprechen­den Rezepte. Dadurch können Rezept­bilder und Vorschau­bilder über den Rezept­namen referenziert werden. Für die Auf­nahme eines Rezept­bildes in das Koch­buch es ist nicht erfor­der­lich, eines der o.a. Tools laufen zu lassen. Zur Auf­nahme eines Vorschau­bildes in das auf der Kategorienseite gezeigte Karussel muss das Tool book-builder.xsl aktiviert werden.

Motor