Lust auf einen Blick in den Maschinenraum von Infinisomnia? OK, diesmal wird’s etwas technisch. Wir schauen uns an, wie aus den rohen Markdown-Dateien bei Codeberg eine statische Website, eBooks und sogar Druckvorlagen für Print-on-Demand generiert werden.
Da ich mehr Lust auf das Schreiben der Geschichten als auf immer wiederkehrende Arbeiten habe, habe ich kleine Programme entwickelt, die diese Prozesse vollständig automatisieren. Das heißt, es spielt keine Rolle, ob ich eine völlig neue Geschichte online stelle oder nur einen kleinen Rechtschreibfehler korrigiere. Sobald ich die Änderung zu Codeberg übermittele, starten Prozesse, die vollautomatisch die Website und die eBooks neu generieren.
Ausgangsmaterial
Das Ausgangsmaterial ist im Wesentlichen nur das, was im Repository bei Codeberg öffentlich verfügbar ist. Das sind alle Geschichten im Markdown-Dateiformat in Deutsch und jeder übersetzten Sprache, sowie ein Coverbild pro Episode.
Die Dateien mit den Geschichten haben außerdem eine Front Matter. Das ist ein Abschnitt am Anfang der Datei, die weitere Informationen zur Geschichte bereithält. Beispielsweise ist das der Titel, die Version, das Datum der Erstveröffentlichung, aber auch eine Kurzzusammenfassung (für Linkvorschauen) und eine Beschreibung des Coverbilds für Blinde.
Ein Beispiel für so eine Markdown-Datei findest du hier.
Die Website
Aus diesem Material generiert Hugo zusammen mit einem kleinen, selbst gemachten Python-Script die komplette Infinisomnia-Website. Das Script hat dabei gleich mehrere Aufgaben:
- Die originale Markdown-Datei wird in das von Hugo vorgesehene Verzeichnis kopiert.
- Die Front Matter wird geprüft und um weitere Angaben ergänzt. Beispielsweise werden alle früheren Änderungen ermittelt und in ein Änderungsprotokoll übertragen, das später als “Versionsgeschichte” auf der Website zu sehen ist.
- Ein QR-Code mit dem Link auf die Geschichte wird generiert.
Die generierte Website ist statisch, das heißt, sie besteht nur aus unveränderlichen Dateien, die sofort an den Browser geschickt werden können. Es gibt kein kompliziertes Content-Management-System, keine Datenbank. Das ist auch der Grund, warum die einzelnen Seiten blitzschnell geladen sind – und warum keine Cookies benötigt werden.
Dieser Prozess hat außerdem den Vorteil, dass er vollständig versioniert ist. Das heißt, wenn mir ein Fehler unterläuft, kann ich jederzeit einen beliebigen früheren Stand der Website wiederherstellen.
Die eBooks
Ein weiteres Python-Script generiert aus den Markdown-Dateien die eBooks. Dieser Teil war schon etwas kniffliger, weil es dafür keine fertigen Programme gibt.
Das Script erfüllt gleich mehrere Aufgaben, manche davon sind nicht so offensichtlich:
- Silbentrennung. Da nicht alle eReader von sich aus Silbentrennung unterstützen, gebe ich Hilfestellung. Jedes einzelne Wort der Geschichte wird nach Silben getrennt. Die Trennstriche sind unsichtbar, sie erscheinen erst, wenn sie an einer Trennstelle benötigt werden.
- Erzeugen eines Buchtitels. Dafür wird das Coverbild verwendet und der Titel als Text darübergelegt.
- Hinzufügen eines Inhaltsverzeichnisses, einer Versionsliste und einer Seite mit Danksagungen. Das erfolgt vollautomatisch und berücksichtigt, ob das eBook eine einzelne Geschichte oder die Gesamtausgabe enthalten soll. Nur im letzteren Fall ist beispielsweise ein Inhaltsverzeichnis notwendig.
- Erzeugen der QR-Codes für Links auf die einzelne Geschichte, den Webauftritt und die Lizenzbedingungen.
Aus all diesen Komponenten werden schließlich die ePUB-Dateien erzeugt, welche von der Website heruntergeladen werden können. Und zwar in jeder Sprache und für jede Episode sowie für die Gesamtausgabe. Dieser Prozess dauert nur wenige Sekunden und wird deshalb jedes Mal neu gemacht, auch wenn sich nur eine Kleinigkeit änderte.
Der Buchdruck
Der digitale Teil ist damit fertig. Aber manche halten lieber ein Buch in den Händen, mögen den Duft des Papiers und das Rascheln beim Umblättern. Also brauche ich auch Buchvorlagen für Print-on-Demand-Anbieter. Selbst diese werden vollautomatisch erzeugt, auch wenn es zugegeben ein ganz schönes Stück Arbeit war.
Die Herausforderung ist, dass ich möglichst gar nicht in den Prozess eingreifen möchte, egal ob es sich um eine einzelne Geschichte oder einen Sammelband, um ein Paperback- oder ein Hardcover-Buch handelt.
Auch hierfür musste ich ein eigenes Python-Programm schreiben, da es nichts fertiges gab.
Die Grundlage bilden (neben den Markdown-Dateien) verschiedene Projekte und Profile. In einem Projekt vermerke ich, welche Geschichten (und welcher Stand) gedruckt werden sollen, welche ISBN das Projekt hat und welches Profil dafür verwendet werden soll. Im Profil wiederum steht, welches Layout und welche Buchart als Ergebnis herauskommen soll.
Das Programm erledigt auf dieser Basis dann den kompletten Satz, sowie die Generierung des Buchcovers und Buchrückens.
Für den Buchkörper sind das:
- Automatische Erstellung eines professionellen Drucksatzes. Dafür verwende ich LaTeX, ein Satzprogramm aus den 1980er Jahren, welches für seine hervorragenden Ergebnisse bis heute bekannt und beliebt ist.
- Silbentrennung. Das geht zwar auch in LaTeX, aber das Ergebnis war mir nicht gut genug. Ich verwende stattdessen dieselbe Silbentrennung wie bei den eBooks.
- Die Titelei (mit Schmutzblatt, Frontispiz, Titel und Impressum) wird aus den Angaben im Projekt generiert, außerdem die Anhänge mit den Versionsnummern und den Danksagungen. Ein Inhaltsverzeichnis erzeugt LaTeX bereits für mich.
Jedes Buch braucht außerdem einen Umschlag. Natürlich möchte ich ihn nicht jedes Mal von Hand neu zusammenstellen. Also habe ich mit Inkscape zwei Vorlagen erstellt, eine für die Vorderseite und eine für die Rückseite. Die Vorlagen enthalten Platzhalter für Elemente, die von dem Programm später hinzugefügt werden.
Auf der Vorderseite sind dies die Coverbilder aller im Buch enthaltenen Geschichten, die als übereinanderliegende Sofortbilder arrangiert werden. Das sieht zufällig aus, ist es aber nicht. Ich möchte jederzeit die Dateien von einem früheren Stand neu generieren können, und zwar exakt identisch. Aus dem Grund arbeite ich mit Pseudozufallszahlen, die zwar zufällig wirken, aber jedes Mal in derselben Folge generiert werden.
Auf der Rückseite werden die QR-Codes für den Webauftritt und die Lizenz generiert und eingefügt. Außerdem wird ein Barcode erstellt, entweder ein ISBN-Code (für vermarktete Bücher, wenn es irgendwann soweit ist) oder eine interne Buchnummer (für private Autorenausgaben).
Der Buchrücken ist dynamisch. Dessen Breite hängt von der Anzahl der Buchseiten ab, und die erfahren wir erst, wenn der Buchkörper im vorherigen Schritt generiert ist. Er wird deshalb ohne eine Vorlage erzeugt, aber besteht im Wesentlichen nur aus Text, was die Angelegenheit vereinfacht.
Die Vorder- und Rückseite (mit allen Bildern und Barcodes) sowie der Buchrücken werden anschließend in eine große SVG-Datei zusammengefügt. Diese wird in eine PDF-Datei mit einer Auflösung von 600 DPI umgewandelt, was später beim Druck zu einem knackig scharfen Ergebnis führt.
Am Ende erhalte ich alle PDF-Dateien und alle Parameter, die der Print-on-Demand-Anbieter benötigt, um daraus ein Buch erstellen zu können.
Ein erster Probedruck ist gut geworden. Es ist schon ein besonderes Gefühl, zum ersten Mal ein Buch mit seinem Namen darauf in seinen Händen zu halten. Es ist aber noch ein weiter Weg, bis ein Werk schließlich in den Handel kommt.
Vor allem kostet es Geld für Probedrucke oder die Pflichtexemplare für die Deutsche Nationalbibliothek. Also warte ich erst einmal ab, ob überhaupt ein Interesse besteht, wenn die Geschichten bereits als kostenlose eBooks zur Verfügung stehen. Wenn du mir bei dem Vorhaben unter die Arme greifen möchtest, kannst du das gerne tun.
Open Source?
Ich mag Open Source und habe mir überlegt, ob ich den Quelltext der Tools freigeben soll. Allerdings sind sie so speziell auf dieses Projekt abgestimmt, dass sie wenig Wert für andere hätten.
Im Wesentlichen sind es Hugo, Inkscape sowie Python-Bibliotheken wie ebooklib, Jinja2, Pillow oder pyphen, welche die ganze Magie erledigen. Meine Programme orchestrieren nur ihre Arbeit.
Wie ich zum Geschichten schreiben kam – und warum ich glaube, dass du das auch kannst…
Ich bin Autor von Beruf, hatte immer Bestnoten im Deutschunterricht, später Germanistik studiert, im Arbeitszimmer steht eine überquellende Bücherwand und ich gebe Kurse für kreatives Schreiben?
Wenn du das glaubst, könntest du von der Realität kaum weiter entfernt sein! 😄
Mein Beruf ist Softwareentwickler. Ich bin introvertiert und Autodidakt. Ich bin nicht einmal besonders belesen, mir war das Kreativ-sein schon immer wichtiger als das bloße Konsumieren. Ach ja: Und Deutsch als viertes Prüfungsfach hätte mir fast mein Abitur vermasselt. Eigentlich sind das denkbar schlechte Voraussetzungen für dieses Hobby, sollte man meinen.
Mit dem Schreiben habe ich angefangen, weil ich etwas Neues ausprobieren wollte. Durch meinen Beruf habe ich bereits Erfahrung mit dem Verfassen von Konzepten und Anleitungen. Ich wurde neugierig, ob es auch für Belletristik reicht.
Also schrieb ich eine Kurzgeschichte. Ganz geheim, nur für mich. Sie war nicht besonders originell, hatte keinen spannenden Plot Twist, die Protagonisten waren blass und die Handlung vorhersehbar. Aber das machte nichts, es war ja nur ein Versuch.
Das Ergebnis überraschte mich, denn es machte mir nicht nur Spaß, sondern ich fand auch viele Parallelen zur Programmierung von Computern. Ich brauche ein Konzept, muss mit der Sprache umgehen können, und ich muss die Ausdauer haben, zu Ende zu bringen, was ich angefangen habe.
Mein neues Hobby hat mich im Sturm erobert und nicht mehr losgelassen.
Ich begann, mir mehr Gedanken zu machen. Was will ich überhaupt erzählen? Welches Genre und welche Richtung? Wer sind die Protagonisten? Was sind ihre Stärken – und was ihre Schwächen?
Dieser Teil ist schwierig, denn es gibt keine Geheimformel, die gute Einfälle wie am Fließband generiert. Mir half es, viel zu experimentieren. Zu probieren, wie es sich liest. Ich änderte Ideen, verwarf sie wieder. Mit der Zeit kristallisiert sich eigentlich immer etwas heraus, was funktioniert.
Ich las außerdem Bücher über das Schreiben von Romanen, um mehr über die Konzeption, aber auch über den richtigen Aufbau der Szenen, knackige Dialoge und flüssige Sätze zu erfahren. Am hilfreichsten für mich erwiesen sich dabei die Schreibratgeber von James N. Frey, die es auch als deutsche Übersetzung gibt.
Trotzdem sollte es noch gut zwei Jahre dauern, bis ich meinen ersten Infinisomnia-Kurzroman fertig hatte.
Ich will nicht sagen, dass mein Weg der einzig richtige ist. Ganz im Gegenteil! Ich war schon immer Autodidakt, also ist der Weg für mich richtig. Aber ich kann mir vorstellen, dass es für andere ganz schön frustrierend sein kann, im stillen Kämmerlein vor sich hinzubasteln, statt zum Beispiel Schreibkurse zu besuchen.
Meine Meinung: Das einzige, was man haben muss, ist Geduld. Und sehr viel davon. Den Rest kann man lernen.
In diesem Teil meines Blogs werde ich meine Erfahrung mit euch teilen und euch ein Stück auf mein Schreibabenteuer mitnehmen. Ich bin selbst gespannt, wohin die Reise gehen wird!
Also, was hält dich ab, es auch zu versuchen? Wenn ich das schaffe, schaffst du das sicher auch.
Nachdem ich viel über das Schreiben von Romanen und Krimis gelesen habe und mir noch mehr Gedanken über meine Kurzgeschichten gemacht habe, fing ich an, mit meinem Schreibstil und dem Konzept zu experimentieren.
Eine Idee war, dass unsere beiden Abenteurer nicht einfach so in den Traumwelten aufwachen. Ich erfand ein Gerät, das sogenannte Ecom, das eine kontrollierte Reise in die Traumwelten ermöglichte. Später verwarf ich die Idee wieder. Sie war viel zu technisch, nahm zu viel Raum in den Geschichten ein und verschob das Genre mehr in Richtung Science-Fiction, als mir lieb war.
Außerdem war ich mir nicht sicher, welche Erzählperspektive ich wählen sollte, also versuchte ich es in dieser Geschichte mit der des personalen Erzählers.
Der folgende Text sollte als Auftakt zur eigentlichen Reihe dienen. Es handelt sich um eine Rückblende, die dem Leser die beiden Protagonisten vertraut machen und den Beginn der ersten Episode erklären sollte.
Milchgeld
Vor den Montagen hatte er am meisten Angst. Nicht dass Dian die anderen Tage einer Woche wesentlich besser gefallen hätten, an denen er zum Unterricht musste, aber montags bekam er von seiner Mutter immer das Geld, das die Grundschule für die Milch der kommenden Woche einsammelte. Das stellte ihn vor ein großes, für ein achtjähriges Kind fast unlösbares Problem.
Seinen Ausweg suchte er darin, sich gut zu verstecken. Auf dem Schulhof stand eine Spielburg in einem riesigen Sandkasten. Sie hatte drei Etagen und eine Rutsche. Die untere Etage war niedrig und der Zugang so schmal, dass man nur kriechend hineinkam. Drinnen war es dreckig und roch merkwürdig. Niemand spielte freiwillig an diesem Ort. Für Dian war es deshalb die perfekte Zuflucht. In den Pausen lief er sofort zu der Burg, kroch in das Versteck, setzte sich auf ein kleines Brett gegenüber von dem Eingang und beobachtete durch ein Astloch den Schulhof.
Sein Erzfeind Kloppi würde ihn hier niemals finden, hoffte er. Kloppi war ein Schüler der vierten Klasse. Niemand konnte sagen, wer ihm diesen Spitznamen gab, aber alle Kinder nannten ihn so. Er war der Hauptdarsteller in ihren Albträumen. Jeden Montag ging er über den Schulhof und sammelte das Milchgeld ein, allerdings nicht im Auftrag der Schule, sondern für sich selbst. Wenn man das Geld nicht freiwillig herausgab, half er nach, was ihm irgendwann diesen Namen einbrachte. Dians Mutter hatte ihm einmal erklärt, dass Kloppi es zu Hause nicht leicht hätte und er deshalb so gemein sei. Das machte es nicht angenehmer, von ihm verprügelt zu werden.
Auch an diesem Montag saß Dian in seinem Versteck und überwachte den Schulhof, als er eine Stimme vom Zugang hörte.
„Was machst du da?“
Erschrocken drehte er sich um und sah in das Gesicht eines Mädchens, das er auf sein Alter schätzte. Sie hatte hellblondes, schulterlanges Haar und trug einen weißen Mantel. Vermutlich war sie neu in der Schule, denn sie war ihm bisher noch nicht auf dem Schulhof aufgefallen.
„Mich vor Kloppi verstecken“, antwortete er.
„Wer ist Kloppi?“
Dian spähte durch das Astloch. „Er ist der große Junge da hinten, der Anni gerade ihre Tüte Gummibärchen wegnimmt.“
Das Mädchen blickte über den Schulhof und sah einen sehr kräftigen, dicklichen Jungen, der etwa zehn Jahre alt war und nach Ärger aussah. Er stopfte sich gerade eine Handvoll Gummibärchen in den Mund, während er nach seinem nächsten Opfer Ausschau hielt.
Das Mädchen sah wieder in die Hütte hinein. „Wie lange willst du dich vor ihm verstecken?“
Dian zuckte mit den Schultern. „Bis nächstes Jahr vielleicht. Dann wechselt er die Schule.“
Sie seufzte, kroch in die Hütte und setzte sich neben ihn auf die Bank.
„Warum wehrst du dich nicht?“, fragte sie.
„Er ist viel stärker als ich.“
„Und warum läufst du nicht vor ihm weg?“
„Er ist auch schneller als ich.“
Ihre eisblauen Augen sahen ihn mit einer Mischung aus Mitleid und Verzweiflung an. Dann schüttelte sie langsam den Kopf.
„Ich wette, du hast etwas, was er nicht hat.“
„Ja, mein Milchgeld.“
„Das meine ich nicht!“
Sie bohrte ihren Zeigefinger in seine Stirn.
„Ich wette, du hast da oben Grips drin! Und Kloppi sieht aus, als ob seine Mama ihm immer noch jeden Morgen die Schuhe zubinden muss.“
Das Mädchen sah sich um. Die Spielburg wurde direkt auf dem Sandkasten errichtet und hatte keinen eigenen Boden. Ein wenig Laub lag im Sand herum. In einer Ecke lagen ein paar zerknüllte Taschentücher, Zigarettenstummel und die Scherben einer kaputten Bierflasche. In der anderen Ecke war etwas im Sand vergraben. Sie zog daran und hielt ein altes Springseil in der Hand.
„Weißt du was? Ich werde dir helfen“, sagte sie grinsend. Dann erklärte sie ihm ihren Plan.
Die Pause war bereits zur Hälfte vorbei, und Kloppi hatte immer noch Hunger. Er hielt Ausschau nach diesem Schwächling, der jeden Montag Milchgeld und manchmal auch einen Müsliriegel dabei hatte, aber er konnte ihn nirgendwo finden. Er war es leid, immer nach seinen Opfern suchen zu müssen. Es wäre viel einfacher, wenn sie die Sachen freiwillig zu ihm brächten und sich danach von ihm verhauen lassen würden.
Plötzlich sah er sein nächstes Ziel neben der Spielburg stehen. „Hab ich dich!“, rief er triumphierend und rannte los.
Als er die Burg erreichte, stand der Junge immer noch dort. Er zitterte zwar vor Angst, aber er lief nicht weg. Das Mädchen neben ihm war neu hier, vermutete Kloppi, denn sie hatte ihre Arme verschränkt und schien sich nicht zu fürchten. Falls sie glaubte, dass er Mädchen nicht verhauen würde, würde sie gleich eine Überraschung erleben.
Er baute sich vor Dian auf und machte sich breit. „Na los, gib mir das Geld!“, forderte er lautstark.
Dian holte tief Luft und rief mit bebender Stimme: „Nein!“
Kloppi schnaubte. „Glaubst du, dass ich dich vor den Augen deiner Freundin nicht verprügeln werde?“
Die Antwort kam von dem Mädchen: „Glaubst du, dass ich dir dabei einfach zusehen werde?“
„Halt du dich da raus!“, bellte Kloppi und richtete seinen Finger wie eine Pistole auf sie.
„Wieso? Hast du Angst vor mir?“, fragte sie und grinste.
Kloppis Kopf wurde dunkelrot. Widerworte zu bekommen war er nicht gewohnt. Er musste sich durchsetzen, Respekt verschaffen.
„Ich hau euch beide windelweich“, keuchte er und machte einen Schritt auf die beiden Kinder zu.
„Jetzt!“, rief das Mädchen.
Dian hielt seine rechte Hand die ganze Zeit hinter seinem Rücken versteckt. In ihr hielt er Sand, den er Kloppi nun ins Gesicht schleuderte. Das stoppte seinen Angriff sofort. Er schrie vor Wut und fing an, sich die Körner aus den Augen zu reiben.
Das Mädchen zog an dem Ende des Springseils, das sie in ihrer Hand hielt. Sie hatte zuvor eine große Schlaufe in das Seil geknotet und diese im Sand vergraben. Als der provozierte Bully einen Schritt nach vorne machte, stand er exakt in der Falle. Die Schlaufe zog sich zu und legte sich wie eine Schlinge um seine Beine. Flink band das Mädchen ihr Ende des Seiles an der Burg fest.
„Ihr Miststücke!“, keuchte Kloppi. Er wollte auf sie zugehen, aber strauchelte über seine verschnürten Füße und stürzte bäuchlings in den Sand. Er versuchte aufzustehen, aber verfing sich immer mehr in der Schlinge. Schließlich zappelte er wie ein riesiger Fisch, der gerade an Land gezogen wurde.
Das Mädchen hockte sich neben ihn. „Pass auf, Kloppi“, sprach sie mit ruhigen Worten, „das heute war nur ein Spaß. Wenn du wieder andere Kinder verprügelst oder ihnen etwas wegnimmst, werde ich kommen und dir wirklich weh tun.“
Sie nahm Dian an die Hand. Gemeinsam rannten sie zum Zaun am anderen Ende des Schulhofs und beobachteten Kloppi aus sicherer Entfernung. Er war mittlerweile aufgestanden und versuchte, die Schlinge zu lösen, doch das an der Burg festgebundene Seil spannte sich und zog sie erneut zu. Sein Wutgeschrei schallte über den ganzen Schulhof.
„Siehst du“, sagte das Mädchen, „Kraft alleine hilft nicht, wenn man keinen Verstand hat.“
Dian nickte. „Meinst du, er wird jetzt noch gemeiner?“
„Das glaube ich nicht. Er wird dich ab heute sicher in Ruhe lassen. Wie heißt du eigentlich?“
„Dian. Und du?“
„Ich heiße Miray.“
Die Pausenglocke läutete.
„Ich muss jetzt zurück in die Klasse, Miray.“
Sie nickte. Dian stand auf, winkte ihr zum Abschied noch einmal zu und ging dann zum Schulgebäude. Als er sich kurz vor der Tür noch einmal nach ihr umdrehte, war sie bereits verschwunden.
Dian hoffte, Miray am nächsten Tag wiederzusehen, doch er konnte sie nirgendwo finden. Sie kam auch nicht am Mittwoch, nicht in der nächsten Woche, und ebenso später nicht mehr. Als er von der Grundschule auf das Gymnasium wechselte, schien diese Episode aus seinem Leben bereits vergessen zu sein.

Dian erwacht in einer fremden Zeit, an einem unbekannten Ort, in einem Leben, das nicht sein eigenes ist. Einfach zurückkehren? Unmöglich! Erst muss er eine Aufgabe lösen. Und dann ist da noch diese Frau – gefangen in derselben Welt, geheimnisvoll und unberechenbar.
Willkommen zu meinem neuen Projekt: Infinisomnia
Infinisomnia ist eine Reihe zusammenhängender Kurzromane. Die Geschichten sind kostenlos, frei (libre) und quelloffen.
Du schreibst jetzt?
Ja! Vor ein paar Jahren habe ich das Schreiben für mich entdeckt.
Angefangen hat es als kleines Experiment. Ich wollte herausfinden, ob ich Geschichten erzählen kann. Und tatsächlich, es funktionierte! Aber nicht nur das, ich war sogar gefesselt von meiner neuen Leidenschaft. Ich konnte nicht mehr damit aufhören, mir spannende Plots auszudenken und an den Sätzen zu feilen, bis sie glänzten.
Außerdem stellte ich fest, dass es keinen so großen Unterschied macht, ob man nun Programmcode oder Geschichten schreibt. Beides braucht ein gutes Konzept, Struktur, Ausdauer, kreative Lösungen und ein gesundes Maß an Perfektionismus. Und wenn ein Abschnitt nicht so funktioniert, wie er soll, ist sogar ein wenig Debuggig nötig. 😄
Infinisomnia ist das Ergebnis von fast zwei Jahren Schreibübungen und Arbeiten am Gesamtkonzept. Drei Geschichten sind schon fertig, weitere werden folgen. Ich bin schon sehr gespannt, wohin diese Reise mich bringen wird.
Was sind das für Geschichten?
Meine Kurzromane sind eine Mischung aus Krimi, Abenteuer und Zeitreisen.
Sie sollen Lesevergnügen bereiten und uns eine kleine Flucht aus dem Alltag bieten. Deshalb enthalten die Kurzgeschichten bewusst wenig Action und Drama, aber trotzdem Spannung, Plot Twists und auch eine kleine Prise Situationskomik.
Jede Geschichte hat eine Länge von durchschnittlich 8.000 Wörtern, das ergibt eine Lesedauer von ungefähr 40 Minuten. Ich veröffentliche sie unregelmäßig, aber versuche, drei bis vier Geschichten pro Jahr zu schreiben.
Kostenlos und quelloffen?
Natürlich! Du kannst die Geschichten vollständig auf der Website lesen oder als ePUB-Datei für deinen eBook-Reader herunterladen. Es gibt keine Paywall und keinen Kopierschutz.
Den Quelltext der Geschichten gibt es bei Codeberg.
Social Media?
Du kannst dem Projekt auf folgenden Kanälen folgen:
Wenn es eine neue Geschichte gibt, erfährst du es dort auf jeden Fall zuerst.
Und was gibt es hier im Blog?
In meinem Blog werde ich über das Projekt schreiben. Es wird Blicke hinter die Kulissen der Geschichten geben, und ich werde auch über das kreative Schreiben und die Technik hinter der Website berichten.