1 · Erste Schritte
Was du brauchst
Node.js, Fassung 18 oder neuer. Sonst nichts — Fibel hat keine Abhängigkeiten, es gibt kein npm install.
node --versionEine App anlegen
node bin/fibel.js neu meine-appDas legt meine-app.fibel mit einer kleinen Vorlage an und fragt dabei, in welcher Sprache die Schlüsselwörter stehen sollen. Vorgabe ist Deutsch.
Die Endung darfst du überall weglassen: fibel starte meine-app findet meine-app.fibel von selbst.
Starten
node bin/fibel.js starte meine-app Meine App läuft auf http://localhost:3000
Quelle: meine-app.fibel · Daten: meine-app.db (SQLite)
Datei speichern → Seite neu laden. Beenden mit Strg+CSpeichere die Datei, und die offene Seite im Browser aktualisiert sich von selbst. Kein Neustart, kein Bauen dazwischen. Wer gerade in ein Feld tippt, wird nicht unterbrochen — die Aktualisierung wartet, bis das Feld den Fokus verliert.
Ein anderer Port: --port 4000.
Prüfen, ohne zu starten
node bin/fibel.js prüfe meine-app OK — Meine App: 3 Seite(n), 2 Model(s): Notiz, NutzerBei einem Fehler steht die Zeilennummer dabei, dazu ein Vorschlag:
Fehler in meine-app.fibel
Zeile 14: Unbekannter Baustein "ueberschrfit"
bekannt: titel, ueberschrift, untertitel, text, hinweis, ...Fehler und Warnung sind zweierlei. Ein Fehler heißt: So läuft das Programm nicht. Eine Warnung heißt: Das läuft, aber du solltest wissen, was du tust — etwa zugang offen, wenn sich mehrere dieselben Daten teilen. Warnungen halten nichts an, sie stehen beim Prüfen und beim Starten da:
1 Warnung(en) in meine-app.fibel — das läuft, aber sieh es dir an:
Zeile 28: "zugang offen" bei geteilten Daten: jeder kann jeden Namen nehmen
für Kurse und Vorführungen gedacht — für echte Nutzer "zugang passwort"Die erste eigene Seite
Öffne meine-app.fibel und schreibe:
app Meine App
seite / als "Start"
titel "Hallo"
text "Das ist meine erste Seite."
karte
untertitel "Und das eine Karte"
hinweis "Alles, was eingerückt ist, steckt darin."Drei Regeln, mehr braucht es zunächst nicht:
- Eine Zeile ist ein Baustein. Zuerst der Name, dann die Argumente.
- Einrückung ist Verschachtelung. Zwei Leerzeichen pro Ebene. Was unter
karteeingerückt steht, steht in der Karte. - Text steht in Anführungszeichen. Alles ohne Anführungszeichen ist ein Schlüsselwort oder ein Wert.
Kommentare
# am Zeilenanfang oder hinter dem Code:
# Die Startseite
seite / als "Start"
titel "Hallo" # das ist die ÜberschriftEine Ausnahme: #ff0044 ist eine Farbe, kein Kommentar. Fibel erkennt das am Muster.
Wenn du dich verlaufen hast
fibel erkläre meine-appDas liest dein Programm und schreibt in deutschen Sätzen auf, was es tut:
Die App heißt "Meine App".
Sie kennt eine Datenart:
Notiz mit den Feldern inhalt (langer Text) und am (Zeitpunkt,
standardmäßig der Moment des Anlegens).
Seite / ("Start"):
Eine große Überschrift: "Hallo"
Ein Formular, das eine neue Notiz anlegt. ...Gedacht ist das für den Fall, dass eine KI die Datei geschrieben hat und du prüfen willst, ob sie das Richtige gebaut hat, ohne jede Zeile einzeln zu lesen.
Weiter
- Aufbau eines Programms — was ganz links stehen darf
- Bausteine — was in eine Seite kann