Content-Management ohne Server
elek.io stellt sich vor
Auf dieser Seite
Kurz gesagt
elek.io ist ein Content-Management-System ohne Server. Die Inhalte liegen als einfache JSON-Dateien in Git. elek.io Core nutzt du heute, in der Alpha-Phase. elek.io Desktop und elek.io Cloud sind in Entwicklung.
Dein CMS braucht keinen Server und deine Website wahrscheinlich auch nicht. Mit elek.io wird dein CMS als Desktop-App auf deinem eigenen Gerät laufen, auch offline. Wir finden, die meisten Websites sollten statisch sein: neu gebaut, wenn sich ihre Inhalte ändern, und nicht noch einmal bei jeder Anfrage.
Desktop für die Redaktion. Core für das Entwicklungsteam. Cloud nur, wenn du sie brauchst. Das ist elek.io in einem Satz. Hier steht, woher die Idee kommt, was du heute nutzen kannst und wohin wir damit wollen.
Warum noch ein CMS
Ich komme von klassischen Content-Management-Systemen, vor allem von WordPress.
Ich habe nie verstanden, warum eine Unternehmenswebsite so viel Wartung braucht. Die meisten Websites ändern sich nur ab und zu. Ihr CMS läuft trotzdem rund um die Uhr.
Und so eine Website ist schnell verunstaltet. Die Redaktion kann fast alles hineinschreiben und wird selten darin eingeschränkt, wie sie es formatiert.
Also habe ich mir statische Websites angesehen und keine echte Option gefunden, die alles mitbringt, was ich wollte: vor allem feste Typen für die Inhalte und Grenzen dafür, was die Redaktion darf und was nicht.
Wir haben kein CMS für statische Websites gefunden, das Inhalte so verwaltet wie eines auf einem Server. Also bauen wir eins. Warum statisch auf der Startseite führt die Gründe aus.
Typen und Regeln für deine Inhalte
Genau das macht elek.io Core heute. Jedes Projekt ist ein Git-Repository aus einfachen JSON-Dateien, und elek.io Core macht aus seinem Inhaltsmodell Typen, damit deine Website und deine Apps jedes Feld in jeder Sprache kennen.
Sammlungen für jede Art von Inhalt, etwa Fahrzeuge, Standorte oder Seiten, mit den Feldern, die du festlegst. 18 Feldtypen, von Text und Datum bis zu Auswahllisten und Markdown, jeweils mit Regeln wie Pflichtfeld, eindeutig oder maximale Länge.
Komponenten sind Gruppen von Feldern für viele Stellen, etwa eine Bühne, eine Galerie oder Öffnungszeiten. Ein Eintrag enthält beliebig viele davon in beliebiger Reihenfolge, so entsteht eine Seite aus Abschnitten.
Einträge verweisen auf andere Einträge, statt sie zu kopieren: Ein Fahrzeug zeigt auf seinen Standort, eine neue Adresse änderst du also nur einmal.
Assets sind Bilder, PDFs und andere Dateien, einmal gespeichert und von jedem Eintrag aus verlinkbar. Ein Asset, das noch verlinkt ist, lässt sich nicht löschen, also verliert keine Seite ihr Bild.
Sprachen übersetzen Texte, Zahlen und Verweise, und mit ihnen die Namen, Bezeichnungen und Beschreibungen deiner Sammlungen und ihrer Felder. Ein Pflichtfeld ohne Übersetzung besteht die Prüfung nicht.
Typen entstehen aus diesem Modell als zod-Schemas und TypeScript-Typen, damit dein Code jedes Feld und seinen Typ kennt.
Deine Inhalte bleiben ein Ordner, den du öffnen kannst: eine Datei pro Eintrag, im Ordner seiner Sammlung, die Assets in Git LFS. Jedes Programm kann sie ohne uns lesen, und elek export schreibt jedes Projekt als JSON, entweder als eine verschachtelte Datei oder als Baum einzelner Dateien.
Drei Produkte
Eines für die Redaktion, eines für das Entwicklungsteam und eines für den Fall, dass du doch einen Server brauchst.
elek.io Desktop
elek.io Desktop wird die App, in der deine Redaktion Inhalte schreibt, übersetzt und synchronisiert, offline unter Windows, macOS und Linux. elek.io Desktop ist in Entwicklung. Jede Änderung wird zuerst auf der eigenen Festplatte gespeichert, es wartet also nichts auf einen Server, und dein Git-Repository führt die Kopien zusammen.
elek.io Core
Nutze deine Inhalte und generiere TypeScript-Typen und API-Clients. elek.io Core liest dein Projekt in deine Astro-Website, generiert daraus Typen und einen API-Client und liefert es lokal aus, während du entwickelst. Du kannst es heute nutzen, kostenlos und in der Alpha-Phase.
elek.io Cloud
Wenn du doch einen Server brauchst. elek.io Cloud wird deine Inhalte über eine API ausliefern und andere Plattformen erreichen. elek.io Cloud ist noch nicht live und optional: elek.io Core funktioniert heute schon ohne Cloud, und elek.io Desktop wird das auch.
elek.io Core heute ausprobieren
elek.io Core ist kostenlos, braucht kein Konto und liegt auf npm als @elek-io/core. Installiere es mit den beiden Paketen, die du daneben installierst:
npm install @elek-io/core dugite zodDann deklariert eine Datei, elek.config.ts, das Projekt, das deine Website liest, und zwei weitere binden die Integration ein und leiten deine Sammlungen ab. Die Seite zu elek.io Core zeigt alle drei, und seine Referenz führt dich hindurch, auf Englisch.
elek.io Core ist in der Alpha-Phase und noch nicht für den produktiven Einsatz geeignet. Ein Update kann ändern, wie ein Projekt gespeichert wird. Ein Projekt, das eine ältere Version geschrieben hat, lässt sich danach vielleicht nicht mehr öffnen. Was funktioniert noch nicht? auf seiner Seite nennt den Rest.
Diese Website ist genau so gebaut. Jede Seite, jeder Artikel und jedes Wort in Kopf- und Fußzeile ist ein Eintrag eines Projekts, dieser Artikel eingeschlossen.
Wohin elek.io unterwegs ist
Vom ersten Feld bis zu deiner Website und deinen Apps. Inhalte wirst du in elek.io Desktop anlegen und pflegen, sie mit elek.io Core nutzen und optional von elek.io Cloud hosten und an eine oder mehrere Websites und Apps ausliefern lassen.
In elek.io Desktop wird die Redaktion die Felder einer Sammlung modellieren, ihre Einträge bearbeiten und übersetzen, in der Historie lesen, wer was geändert hat, und ein Release des ganzen Projekts erstellen. Jede Person wird auf einer Kopie auf dem eigenen Computer arbeiten, auch offline, und dein Git-Repository wird die Kopien zusammenführen. So viele Leute in der Redaktion, wie du brauchst.
elek.io Cloud wird jedes Release auf Anfrage über eine Content API ausliefern. Deine Website wird bei jedem Release gebaut, auf deiner Domain, und das Git-Repository, mit dem dein Projekt synchronisiert, wird gehostet, ohne Einrichtung. Konnektoren werden Inhalte in eine Richtung an andere Plattformen senden. Deine Inhalte werden in Deutschland gespeichert: jedes Release, das du veröffentlichst, jedes Git-Repository, das Cloud hostet, und jedes Backup. Alles, was Cloud leisten wird, kannst du auch ohne Cloud machen.
Es gibt noch kein Datum und keine Reihenfolge, in der die Teile kommen.
Sag uns, was du denkst
Wir freuen uns, wenn du es ausprobierst und uns in den GitHub Discussions öffnet in neuem Tab erzählst, was dir auffällt, damit wir es verbessern können.
Nichts davon braucht ein Konto bei uns:
Der Feed dieses Blogs, in den jeder Artikel geht.
elek.io auf Bluesky öffnet in neuem Tab, für kurze Neuigkeiten wie ein neues Release oder einen neuen Artikel.
Das Repository von elek.io Core öffnet in neuem Tab, in dem jedes Release steht und was sich darin geändert hat.
GitHub Discussions öffnet in neuem Tab, für Fragen, Ideen und alles, was kein Issue ist.
elek.io auf YouTube öffnet in neuem Tab, für Videos über elek.io.