Zum Inhalt springen
elek.io
Alpha

Nutze deine Inhalte und generiere TypeScript-Typen und API-Clients.

Jedes Projekt ist ein Git-Repository aus einfachen JSON-Dateien. elek.io Core macht aus seinem Inhaltsmodell Typen, damit deine Website und deine Apps jedes Feld in jeder Sprache kennen.

elek.io Core ist in der Alpha-Phase und noch nicht für den produktiven Einsatz geeignet. Sieh dir an, was noch nicht funktioniert. 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.

So funktioniert es

Drei Dateien, und deine Inhalte sind bis in deine Seiten typisiert.

elek.io Core liest ein Projekt aus seinem Git-Remote, typisiert jedes Feld in jeder Sprache, generiert Typen und einen Client für jede App und liefert deine Inhalte lokal aus, während du entwickelst.

Live beim Entwickeln. Während astro dev läuft, lädt eine Änderung am Projekt seine Sammlung neu, und die offene Seite zeigt sie einen Moment später. Eine Änderung am Inhaltsmodell selbst braucht einen Neustart.

Git ist dabei. Git und Git LFS kommen über dugite mit elek.io Core, eine Build-Maschine braucht also nichts weiter installiert.

An ein Release gebunden. Ein Build liest das neueste Release, die neueste Vorschau, die Entwürfe oder eine genaue Version. Was er zeigt, ändert sich, wenn ein Release veröffentlicht wird, nicht wenn jemand speichert.

Deine Inhalte

Ein Ordner, den du öffnen kannst.

Jedes Projekt ist ein Git-Repository aus einfachen JSON-Dateien auf deiner Festplatte: eine Datei pro Eintrag, im Ordner seiner Sammlung, die Assets in Git LFS. Öffne es in jedem Editor, synchronisiere es mit dem Git-Host deiner Wahl oder behalte es auf deinem Computer.

Wie ein Projekt gespeichert wird

Fragen

Noch vor der Installation.

Was Entwicklungsteams zuerst fragen. Den Rest beantwortet die Dokumentation von elek.io Core, auf Englisch.

Mit welchen Frameworks funktioniert elek.io Core?

Mit Astro, über unsere Integration, die bisher die einzige ist. Du kannst Core auch nutzen, indem du seine Methoden direkt aufrufst, die generierten Typen mit dem JSON verwenden, das elek export schreibt, oder die lokale API nutzen.

Brauche ich elek.io Desktop?

Nein. elek.io Core ist die Bibliothek, auf der elek.io Desktop aufbaut. Du kannst Projekte, Sammlungen und Einträge also mit TypeScript anlegen oder warten, bis die Desktop-App veröffentlicht ist.

Wie bekommt ein Build in der CI die Inhalte?

Die elek()-Integration holt jedes Projekt vor dem Astro-Build aus seinem Git-Remote, standardmäßig das neueste Release. Ein privates Remote braucht ein Lese-Token in ELEK_IO_REMOTE_ACCESS_TOKEN, ein öffentliches keins. Ein Projekt, das ohne Remote deklariert ist, wird aus dem Datenverzeichnis auf der Festplatte gelesen. Alternativ erledigst du das mit der provision-Methode von Core außerhalb der Astro-Integration.

Bekomme ich meine Inhalte als einfaches JSON?

Ja. elek export schreibt jedes Projekt als JSON, entweder als eine verschachtelte Datei oder als Baum einzelner Dateien, und --watch hält es aktuell.

Was funktioniert noch nicht?

elek.io Core ist in der Alpha-Phase. 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. Ein Projekt anlegen, seine Inhalte schreiben und ein Release erstellen geht bisher nur über die API von elek.io Core, mit Code, solange elek.io Desktop in Entwicklung ist. Astro ist das einzige Framework mit einer Integration. Astros render() zeigt für einen Eintrag nichts, ein Markdown-Wert wird deshalb über mdastRender gerendert. Eine Änderung am Inhaltsmodell braucht einen Neustart von astro dev. Eine Volltextsuche gibt es nicht.

Loslegen

Probiere es in deinem Astro-Projekt aus.

Installiere elek.io Core, deklariere dein Projekt und baue. Oder überlasse die Einrichtung deinem Coding-Agenten.

Selbst installieren

elek.io Core mit seinen benötigten Peers, dann die Dateien, die die Dokumentation zeigt.

Loslegen

Oder frag deinen Agenten

Füge ihn in den Coding-Agenten ein, den du nutzt, in deinem Astro-Projekt.

Agent-Prompt

Richte elek.io in diesem Astro-Projekt ein. Installiere @elek-io/core mit seinen Peers dugite und zod und lies die Dokumentation, die es in node_modules/@elek-io/core/docs mitbringt, bevor du irgendetwas anderes änderst. Deklariere dann das Projekt in elek.config.ts mit seiner ID und Remote-URL, füge die elek()-Integration in astro.config.mjs hinzu und leite die Collections in src/content.config.ts ab.

elek.io ist in Entwicklung.

Neuigkeiten bekommst du, wenn du uns auf Bluesky folgst.