StoryTool: Mein eigenes Schreibprogramm (kann alles ausser schreiben)

  • Klingt der Titel zu konfus? Vielleicht.

    Ich programmiere schon seit vielen Jahren an meinem StoryTool. Es kann Zeitleiste, nichtrelativistische 3D-Kursberechnung, Personenverwaltung (mit Erkennung von Vorkommen und Erwähnen im Text) und die Anzeige des Texts in zuklappbaren Kapiteln und Szenen. Es ist für mich absolut ideal und perfekt und kann schon fast alles, was ich gerne hätte.

    Nur SCHREIBEN kann ich da drin nicht. Ich öffne damit eine odf-Datei, die ich in LibreOffice bearbeite, und dann SEHE ich, was da so drin ist.


    Jetzt hat sich irgendwo im Hinterkopf wieder der Wunsch gemeldet, irgendwann da drin schreiben zu können. Da bräuchte ich aber dann Hilfe, denn da bin ich schon etliche Male gescheitert. Die Anzeige findet in einem Webbrowser-Element statt und das ist jetzt nicht wirklich für Editierfreundlichkeit bekannt. Aber vielleicht geht hier ja ein Spezialist für editierbare DIVs um.

    Das andere Problem ist, dass ich auch beim als odf speichern bisher eingefahren bin, vielleicht kennt sich da auch wer aus. (Im schlimmsten Fall erfinde ich mal schnell ein eigenes Format, vielleicht so, dass ein normaler Browser dann den reinen Text ohne Marker und Befehle darstellen kann.)


    Vielleicht.


    Hat wer Interesse? Ganz generell, auch zur reinen Verwendung? (Es schluckt leider nicht jede odf-Datei, sie muss strikt mit Absatzvorlagen für Titel etc. arbeiten und zwingend gewisse Befehle am Anfang enthalten. Aber ein paar LibreOffice-Makros gibt es, um das zu vereinfachen.)



    Ansonsten ploppe ich hier einfach gelegentlich Updates rein, was es jetzt neu kann.



    Gestern z.B. Bugfix: In sehr seltenen Fällen wurde ein Umlaut in zwei <?> Zeichen zerhackt. Jetzt nicht mehr.

    Man kann gar nicht so rundum stromlinienförmig sein, dass es nicht irgendeine Pappnase gibt, die irgendetwas auszusetzen hat.
    - Armin Maiwald

  • Ich wäre an so einem Story-Tool interessiert. Habe aber keine Ahnung vom Programmieren.

    Wichtig wäre mir (wenn man im Tool schreibt), dass man die wichtigen Funktionen hat wie bei Word/Open Office oder so. Also für mich hauptsächlich für die Übersicht, wahrscheinlich würde man seine Geschichte eh am Ende nochmal in einem "richtigen" Schreibprogramm formatieren...? Oder soll das Tool am Ende auch das können?

    Am Abend wird man klug für den vergangenen Tag,
    doch niemals klug für den, der kommen mag.

  • Kein Format, nein. Der "Vorgänger" (klappbare Textdarstellung im Browser, gelöst in PHP) konnte ein bisschen BBCode (geschrieben als Klartext-Code, nicht fetter/kursiver/wasauchimmer Text), aber das ist beim Portieren vor einigen Jahren nicht mitgekommen, weil ich das in meinen Hauptprojekten eh nicht verwende.

    Da das Tool aber den Text mit Personenlinks pflastert, wo immer es eine Person erkennt, sieht es eh definitiv nicht so aus, wie es gedruckt assähe.

    Direktformatierung in Titeln oder Szenenüberschriften haut das Tool sogar aus den Latschen, weil dann die Absatzvorlage über Bord geht und Titel/Überschrift nicht mehr als Titel/Überschrift erkannt wird.

    Man kann gar nicht so rundum stromlinienförmig sein, dass es nicht irgendeine Pappnase gibt, die irgendetwas auszusetzen hat.
    - Armin Maiwald

  • Bugfix: Die Zeichenzählung war bisher immer so ein bisschen anders als in der Textverarbeitung. Jetzt stimmt sie eeendlich komplett überein. Sie darf Zeilenumbrüche nicht mitzählen, woher soll man sowas denn riechen. Wörterzählung war auch ein bisschen anders, ich hatte alle Satzzeichen rausgekickt zur Vorbereitung, aber das darf ich nicht, denn freistehende Ellipse (" ... ") wird als Wort gezählt. Nirgendwo gibt es Regeln dazu zu lesen, das muss man sich alles erarbeiten.

    Man kann gar nicht so rundum stromlinienförmig sein, dass es nicht irgendeine Pappnase gibt, die irgendetwas auszusetzen hat.
    - Armin Maiwald

  • Ich find das Projekt cool. :agree:


    Wenn ich schreibe, reicht mir als Formatierung eigentlich kursiv und vielleicht noch fett. Und bei Überschriften was reinzuhauen wär mir jetzt gar nicht eingefallen.^^


    Wörterzählung find ich wichtig. Ich verwende aktuell 4thewords, was halt ein kostenpflichtiges Abo ist (was halt auch ein Anreiz ist, mehr zu schreiben, bis das Monatsabo ausläuft^^), das hat die Funktion, während dem Schreiben Wörter mitzuzählen, auch die, die wieder gelöscht werden. Das finde ich recht motivierend beim Schreiben selber, denn so kann ich losschreiben und der Wordcount steigt einfach, selbst wenn ich draufkomme, dass ein Satz wieder wegmuss.


    Alle expliziten Buch-Schreibprogramme, die ich mir sonst so angesehen habe, fokussieren sehr stark auf Planungsseiten, Charakterseiten, und irgendwelche "so muss ein Roman aussehen" Schablonen, damit komm ich überhaupt nicht zurecht und ich habe bis jetzt jedes nach 10 Minuten wieder deinstalliert.^^


    Personenverwaltung (mit Erkennung von Vorkommen und Erwähnen im Text

    Das hingegen finde ich tatsächlich praktisch. :agree: Ähnlich werden bei manchen Webseries einfach Blogpost-Tags verwendet, um Vorkommen von Charakteren zu markieren. Das explizit zu machen wäre vielleicht für etwas wie "in diesem Kapitel kommt Gegenstand X vor" praktisch. Oder der Gegenstand wird einfach zur Person deklariert?^^

  • Könnte man sicher machen. ;)


    Ich hol mal ein bisschen aus, was die Personenverwaltung so macht, die ist nämlich keineswegs so schlau, dass sie einfach so weiss, was eine Person ist und ob die da ist. Man muss ihr nämlich schon mitteilen, welche Personen es gibt.

    Quote

    new Dornröschen, Schloss, Prinzessin;

    Dabei ist jetzt Dornröschen die ID, Schloss und Prinzessin sind Stichwörter, die in der Personenliste verwendet werden, um Gruppen farblich zu kennzeichnen. Zum Beispiel damit:

    Quote

    colorbg Schloss #EE7777;

    Jede Person mit Schloss als Stichwort kriegt dann einen roten Hintergrund (bzw. einen roten Hintergrundstreifen immer wiederholt - man kann auch mehrere Farben angeben) in ihrer Box.

    Im Text wird Dornröschen aber noch nicht erkannt.

    Quote

    add Dornröschen Dornröschen; add Dornröschen Königstochter;

    Jetzt wird Dornröschen erkannt, auch wenn sie nur als Königstochter genannt wird. Wenn ausserhalb des Schlosses von Dornröschen erzählt wird, ist sie aber nicht als Person anwesend, daher wird ihre Erwähnung im Text markiert:

    Quote

    Nach langen Jahren kam wieder einmal ein Königssohn in das Land, und hörte, wie ein alter Mann von der Dornenhecke erzählte, es sollte ein Schloss dahinter stehen, in welchem eine wunderschöne e!Königstochter, e!Dornröschen genannt, schon seit hundert Jahren schliefe, und mit ihr der König und die Königin und der ganze Hofstaat.

    Hätte Dornröschen eine Schwester, dann müsste mitunter zwischen zwei Königstöchtern unterschieden werden. Bislang geht das nur so:

    Quote

    remove Dornröschen Königstochter; add Schwester Königstochter;

    Da plane ich aber eine einfachere Möglichkeit, die ähnlich wie die Erwähnungsmarker aussieht.

    Zusätzlich gibt es auch addtemp, wo dann die Bezeichner geballt mit removetemps entfernt werden können.


    Zusätzlich zu all dem Grundsätzlichen kann das Personenmodul auch mit falschen Identitäten, neuen Entdeckungen, Toten und Namens-(ID-)-Änderungen umgehen. Wenn man einen bestimmten Personenlink anzeigt, kriegt man den zu diesem Zeitpunkt korrekten Status geliefert - wenn jemand später mal stirbt, wird er da noch lebend angezeigt. Auch in Szenenpersonenlisten, da wird der letzte bekannte Status innerhalb dieser Szene genommen. Erwähnte werden immer als solche markiert.


    --


    Fazit: Am Anfang ist es eine Personen-ID-Schmeisserei, aber sobald die alle da sind, braucht man nur noch fallweise die ein oder andere Anweisung für ein Synonym oder eine vorbeilaufende Nebenfigur und natürlich die Erwähnungsmarker.


    Für mich persönlich unglaublich praktisch: Ich kann im Auge behalten, wer die namenlosen vorbeilaufenden Nebenfiguren sind. Die HABEN nämlich alle Namen und vielleicht werden sie später ja wichtiger.

    Man kann gar nicht so rundum stromlinienförmig sein, dass es nicht irgendeine Pappnase gibt, die irgendetwas auszusetzen hat.
    - Armin Maiwald

  • Alle expliziten Buch-Schreibprogramme, die ich mir sonst so angesehen habe, fokussieren sehr stark auf Planungsseiten, Charakterseiten, und irgendwelche "so muss ein Roman aussehen" Schablonen, damit komm ich überhaupt nicht zurecht und ich habe bis jetzt jedes nach 10 Minuten wieder deinstalliert.^^

    Hm?

    Ich hab bisher auch nur kurze Testphasen mit solchen Dingern gehabt, von daher ist mir das vielleicht entgangen. Planungsseiten? Charakterseiten?

    Man kann gar nicht so rundum stromlinienförmig sein, dass es nicht irgendeine Pappnase gibt, die irgendetwas auszusetzen hat.
    - Armin Maiwald

  • Da plane ich aber eine einfachere Möglichkeit, die ähnlich wie die Erwähnungsmarker aussieht.

    Erledigt. Bezeichner können in Klammern gesetzte Präfixe haben. Präfigierte Bezeichner werden zuerst abgearbeitet, also kann die häufigere Person ohne Präfix bezeichnet werden. Einen Diesmal-nicht-Marker n! habe ich auch implementiert, wenn es z.B. nur darum geht, dass "eine n!Prinzessin eine Tochter eines Adeligen ist" oder so, nichts was genau nur Dornröschen betrifft.


    Zwischenzeitlich hatte ich mir heute aber das Ding so zerschossen, dass es mir sogar mit deaktiviertem Personenmodul um die Ohren geflogen ist. ;D Erst gründlich kaputtmachen, dann wieder zusammensetzen.

    Man kann gar nicht so rundum stromlinienförmig sein, dass es nicht irgendeine Pappnase gibt, die irgendetwas auszusetzen hat.
    - Armin Maiwald

  • Das Programm klingt interessant und auch ich melde Interesse an. Programmieren kann ich leider auch nicht, daher keine Hilfe von mir.

    "If you are the dealer, I'm out of the game.
    If you are the healer it means I'm broken and lame.
    If thine is the glory then mine must be the shame.
    You want it darker - We kill the flame."

  • Ich hol mal ein bisschen aus und erkläre das Kerngeschäft.

    Also ein Screenshot:

    (Textscrambler integriert 8) - wer Namen findet, darf sie behalten.)

    Rechts in den grauen Feldern sind die Anweisungen für das Personenmodul, den Kursrechner und die Zeitleiste. Die sind hier auch gescrambelt - Personenmodul hab ich ja oben schon erklärt, Kursrechner und Zeitleiste erklär ich wann anders. Weisse Felder rechts sind normale Kommentare. Im Text sind die mit den kleinen Icons dargestellt, wenn man draufklickt werden die zusammengehörigen rot umrahmt, damit man findet, wo es dazugehört.

    Die blauen Links werden vom Personenmodul reingeworfen, wenn man da draufklickt, kriegt man die Daten der Person und die Wahl, ob man eine Liste der Szenenteilnehmer oder eine Liste der Auftritte dieser Person sehen will.

    Rote Titel (im Screenshot gibt es nur einen, in der obersten Ebene) bedeuten, dass irgendwo da drin Text in geschwungenen Klammern steht - ich hab das für Zusammenfassungen, wo eine Szene noch ausgearbeitet gehört.


    Jede Szene, jedes Kapitel und jeder Band (drei Hierarchieebenen sind möglich) bekommt Wörter und Zeichen gezählt. Das ist beispielsweise nützlich, wenn man versucht, Kapitel etwa gleich lang zu machen.


    Das Tool kann auch etwas speichern, nämlich den Klappstatus. Aber nicht in der eigentlichen Textdatei, es legt sich eine eigene Datei direkt daneben dafür an. Wenn man dann neu ladet, klappt es genau die Kapitel und Szenen wieder auf, die man zuletzt offen hatte.

    Man kann gar nicht so rundum stromlinienförmig sein, dass es nicht irgendeine Pappnase gibt, die irgendetwas auszusetzen hat.
    - Armin Maiwald

  • Zu behebende Bugs:

    ~ Ein-Buchstaben-Namen hauen das Tool aus den Latschen.

    ~ Beim Reload werden die Zeitleistenzeilen nicht geleert, es kommt bei jedem Reload ein neuer Satz dazu.


    Realistische baldige Neuerungen:

    ~ Personenbezeichner gruppieren. Bislang gibt es ja die "Gruppe" der temporären Bezeichner, aber die kann ich nicht wieder einschalten, sobald sie entfernt sind, die sind dann einfach weg.

    ~ Button für die Szenenteilnehmerliste nicht im Personenpopup (gehört ja eigentlich nicht zu der einen Person), sondern vielleicht in der Szenenüberschrift. Eventuell sogar eine Kapitelteilnehmerliste und eine für Bände.

    ~ Personensuche nach Stichwörtern.

    ~ Und dann kriegen die ganzen Personenlisten Überschriften, nach welchem Kriterium da eigentlich grad aufgelistet wird.

    ~ Zuletzt geöffnete Dateien im Menü.

    ~ Der Schliessen-Befehl könnte auch mal was machen. Beenden ebenso, bisher geht nur das [X].

    Man kann gar nicht so rundum stromlinienförmig sein, dass es nicht irgendeine Pappnase gibt, die irgendetwas auszusetzen hat.
    - Armin Maiwald

  • Das explizit zu machen wäre vielleicht für etwas wie "in diesem Kapitel kommt Gegenstand X vor" praktisch. Oder der Gegenstand wird einfach zur Person deklariert?^^

    Mir ist grad aufgefallen: Eine simple Lösung dafür hatte sogar schon der andere Vorgänger (nicht das alte StoryTool in PHP, sondern die alte Zeitleiste in PHP) implementiert. Das war aber nur ein Feld je Zeitleistenzeile, in das ich Kürzel reingeschrieben habe. Das wurde tatsächlich beim Wechsel auf Java portiert und in meinem Romanprojekt ist das fragliche Kürzel (es lautet "k") noch an einigen Stellen drin.

    Ich sollte diese Funktionalität mal unter die Lupe nehmen und sehen, was sich da noch verbessern lässt.

    Man kann gar nicht so rundum stromlinienförmig sein, dass es nicht irgendeine Pappnase gibt, die irgendetwas auszusetzen hat.
    - Armin Maiwald

  • Update:

    ~ Doppelklick auf grüne Zeitleistenzeilen (= automatisch importierte Szenentitel) wechselt auf Textansicht, scrollt zur fraglichen Szene und hinterlegt sie hellrot.

    ~ Doppelklick auf Szenentitel in der Personen-Auftrittsliste macht dasselbe.


    Exkurs Zeitleiste:

    Zeitleistenzeilen gibt es in fünf (sechs) Farben, nämlich:

    ~ rot: reguläre Zeile.

    ~ blau: reguläre Zeile, findet aber offscreen statt.

    ~ grau: Zeitnennungen und ihre zugehörigen Ereignisse - auf Klick werden die beiden zusammengehörigen knallviolett eingefärbt.

    ~ hellviolett: Ergebnisse des Kursrechners.

    ~ grün: Szenentitel, die eine Zeitangabe enthalten. Diese leiten, siehe oben, bei Doppelklick zur Szene im Text. Bei Klick auf den Fensterhintergrund werden diese Zeilen aus- oder eingeblendet.

    Jede Zeitleistenzeile enthält auch ihre Zeitzone, Zeitzonen können auch mit Tageslängen länger oder kürzer als 24 Stunden umgehen. Die Uhrzeit wird zwar in Standardzeit eingetragen, aber dann zusätzlich auch in Lokalzeit dargestellt. Und auch in einer Hybridzeit: Lokalzeit, aber so, als wären es 24 Stunden, um den Sonnenstand besser einschätzen zu können.

    Zusätzlich hat die Zeitleiste eine Spalte für das im Vorpost genannte Kürzel.

    Man kann gar nicht so rundum stromlinienförmig sein, dass es nicht irgendeine Pappnase gibt, die irgendetwas auszusetzen hat.
    - Armin Maiwald

  • ~ Personensuche nach Stichwörtern.

    ~ Und dann kriegen die ganzen Personenlisten Überschriften, nach welchem Kriterium da eigentlich grad aufgelistet wird.

    Erledigt.

    Ausserdem ein weiteres Befehlswort fürs Personenmodul: setpov

    Das Tool weiss inzwischen also, wer grad Perspektive hat. Und schreibt es sogar in die Szenentitelzeile (mit Schrägstrich, wenn es mehrere sind) selber rein und verlinkt die Personen. Bisher musste man das händisch reinschreiben.

    Man kann auch die Szenenliste nach Personen mit Perspektive filtern.

    Man kann gar nicht so rundum stromlinienförmig sein, dass es nicht irgendeine Pappnase gibt, die irgendetwas auszusetzen hat.
    - Armin Maiwald

  • Jetzt hab ich ernsthaft beim Einbau der zuletzt geöffneten Dateien im Menü ... die Verarbeitung der Zeitleistenzeilen kaputtgemacht. :kopfkratz: Ich weiss noch immer nicht, was der Fehler eigentlich genau war, aber ich hab einfach bei der Zeitleiste was neu gemacht und jetzt geht's wieder.

    Kurios.

    Man kann gar nicht so rundum stromlinienförmig sein, dass es nicht irgendeine Pappnase gibt, die irgendetwas auszusetzen hat.
    - Armin Maiwald

  • Das Tool weiss inzwischen also, wer grad Perspektive hat. Und schreibt es sogar in die Szenentitelzeile (mit Schrägstrich, wenn es mehrere sind) selber rein und verlinkt die Personen.

    Und hat sogar einen Link in der Szenentitelzeile für alle Szenenteilnehmer - allerdings nur, wenn man setpov wirklich verwendet, sonst ruft die Titelzeile das Personenmodul nicht auf.

    Bild:


    Beim Rumtesten mit aktiviertem Scrambler habe ich mir auch noch folgende Namen rausgeschrieben:

    Cyónn Dplónke, Sopfz Íóaúd, Phöku Ámlúr, Jöríp Fdhzúhy, Ósßoß Waook, Eeöow Ühinu, Élüro Eecók, Avßer Fendac, Ömbah Yilúm, Ülüov Ríyvuej, Hsuax Fajkæ, Xonmy Úovßgiü, Kængk Qynaí

    Einfach zugreifen, wenn einer gefällt. Oder auch aus dem Bild.

    Man kann gar nicht so rundum stromlinienförmig sein, dass es nicht irgendeine Pappnase gibt, die irgendetwas auszusetzen hat.
    - Armin Maiwald

  • Das Tool kann jetzt kursiv, fett, klein und eingerahmt. Dank der Formatanweisungen (BBCode) war dann die Zeichen- und Wörterzählung wieder nicht ganz korrekt, also hab ich den Bug auch nochmal gefixt.

    Man kann gar nicht so rundum stromlinienförmig sein, dass es nicht irgendeine Pappnase gibt, die irgendetwas auszusetzen hat.
    - Armin Maiwald

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!