Zum Inhalt springen

Codegenerierung

Aus dem Bereich Code generiert Restorm den Code Ihrer Anwendung aus Ihrem Design. Die Generierung stützt sich auf Cookiecutter/Copier-kompatible Templates: Ihre eigenen oder die von Restorm angebotenen.

Der Bereich Code: ein hinzugefügtes Template, ein Ausgabeordner und die Vorschau des generierten Dateibaums vor dem Schreiben

  1. Fügen Sie ein oder mehrere Templates hinzu — über die Template-Bibliothek.
  2. Wählen Sie einen Ausgabeordner (absolut oder relativ zum Projekt).
  3. Klicken Sie auf Projekt generieren.

Die Generierung wird in einer Sandbox gerendert und dann als Vorschau erzeugt: Restorm zeigt Ihnen den Baum der generierten Dateien und schreibt nichts, solange Sie nicht bestätigt haben. Sie können dann In den Ausgabeordner schreiben oder Abbrechen. (Die Generierung ist blockiert, solange Validierungsprobleme bestehen bleiben.)

Ein Template kann Fragen deklarieren (im Sinne von Copier — zum Beispiel ein project_slug), die Sie zum Zeitpunkt der Generierung beantworten. Ihre Antworten werden in einer Datei .copier-answers.yml im Stammverzeichnis der Ausgabe gespeichert und bei der nächsten Generierung neu geladen.

Die Generierung ist keine Einbahnstraße. Erneutes Generieren übernimmt die Rolle eines copier update: Restorm merkt sich eine Basis und führt einen Drei-Wege-Merge zwischen der neuen Ausgabe des Templates und Ihren lokalen Änderungen durch — Ihre Änderungen werden also nicht überschrieben. Sie entwickeln Ihr Design (oder das Template) weiter, Sie generieren neu, und der Code aktualisiert sich unter Beibehaltung Ihrer Arbeit.

Die Template-Bibliothek bietet vier Quellen:

  • Offiziell — die von Restorm gepflegten Templates, für alle sichtbar.
  • Organisation — die innerhalb Ihrer Organisation geteilten Templates, privat für ihre Mitglieder. Das ist eine Enterprise-Funktion: ein Admin — oder ein Mitglied mit dem Recht Templates verwalten — fügt sie hinzu oder entfernt sie (Repository-URL + Beschreibung), über den Tab Templates <Organisation> der Bibliothek oder über das Administrations-Dashboard. Siehe Offizielle Templates und Organisations-Templates.
  • Repository — ein GitHub-Repository besitzer/name (typischerweise ein Fork eines offiziellen Templates, das Sie angepasst haben).
  • Lokaler Ordner — ein Template in Entwicklung, ohne Netzwerk.

Die Struktur eines Templates und der offizielle Katalog werden auf der Seite Offizielle Templates beschrieben. Was ein Template von Ihrem Design erhält (Modelle, Routen und ihre Flags) wird in Der Kontext des Templates ausführlich beschrieben, und die template-eigenen Einstellungen in Generierungsvariablen.