Fibel

1 · Erste Schritte

Was du brauchst

Node.js, Fassung 18 oder neuer. Sonst nichts — Fibel hat keine Abhängigkeiten, es gibt kein npm install.

bash
node --version

Eine App anlegen

bash
node bin/fibel.js neu meine-app

Das 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

bash
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+C

Speichere 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

bash
node bin/fibel.js prüfe meine-app
  OK — Meine App: 3 Seite(n), 2 Model(s): Notiz, Nutzer

Bei 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:

fibel
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:

  1. Eine Zeile ist ein Baustein. Zuerst der Name, dann die Argumente.
  2. Einrückung ist Verschachtelung. Zwei Leerzeichen pro Ebene. Was unter karte eingerückt steht, steht in der Karte.
  3. Text steht in Anführungszeichen. Alles ohne Anführungszeichen ist ein Schlüsselwort oder ein Wert.

Kommentare

# am Zeilenanfang oder hinter dem Code:

fibel
# Die Startseite
seite / als "Start"
  titel "Hallo"        # das ist die Überschrift

Eine Ausnahme: #ff0044 ist eine Farbe, kein Kommentar. Fibel erkennt das am Muster.

Wenn du dich verlaufen hast

bash
fibel erkläre meine-app

Das 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