fresh baseline

This commit is contained in:
2026-07-15 18:29:12 +02:00
parent e3b0407d5e
commit bc65a1add6
4 changed files with 268 additions and 122 deletions
+89 -39
View File
@@ -1,61 +1,111 @@
= Projekt-Architektur & System-Handbuch
:toc:
= COMPUTER HISTORYZ: System-Handbuch & Infrastruktur
:toc: left
:toclevels: 3
:icons: font
Ein technisches Logbuch für das Worldbuilding-Projekt "Computer History" (Maschinen-Instanzen).
[IMPORTANT]
====
*Worldbuilding-Zentrum:*
== 1. Die Infrastruktur (Sync & Git)
Die inhaltliche Strukturierung deiner Lore findest du in:
Dieses Projekt nutzt eine strikte Trennung zwischen flüchtigen Arbeitsdaten und der finalen Lore-Datenbank.
* link:darkCenter.adoc[darkCenter.adoc] (modulare Includes)
* link:index.adoc[index.adoc] (vollständiger kanonischer Abriss)
====
* **Single Source of Truth:** Gitea-Server (via Uberspace). Hier liegen die fertigen, versionierten Dateien.
* **Lokaler Puffer:** Ein Proxmox/NAS-System hält alle aktuellen Arbeitsdateien.
* **Der Client (Acer Spin5):** Dient lediglich als Terminal. Kann jederzeit formatiert oder ersetzt werden.
* **Synchronisation:** Syncthing verbindet den Client, das NAS und mobile Endgeräte nahtlos in Echtzeit.
Dieses Handbuch dokumentiert das technische Setup deines ablenkungsfreien Schreibdecks auf dem Linux-Client (Acer Spin 5 / Lenovo X220) unter Window Maker mit Neovim, Syncthing und Git.
== 2. Mobile Editing (Android via Sideload)
== 1. Das Synchronisations- & Git-Konzept
Ideen entstehen oft fernab der Tastatur. Das System ist für mobile Endgeräte vorbereitet:
Dieses System ist so konzipiert, dass der lokale Schreib-Client (Terminal) absolut flüchtig ist und bei Hardwaredefekt innerhalb von Minuten ersetzt werden kann.
* **App:** Markor (Open Source Markdown/AsciiDoc Editor).
* **Installation:** Sideloading der APK (via F-Droid oder direktem GitHub-Release), um App-Store-Einschränkungen zu umgehen.
* **Workflow:** Die Android-Syncthing-App hält einen definierten Ordner (z. B. `99_Inbox`) synchron. Markor liest und schreibt direkt in diesen Ordner.
. *Single Source of Truth:*
Ein privates Git-Repository (Gitea) auf Uberspace.
Hier liegen alle stabilen, versionierten Stände.
== 3. Systemstart (Die isolierte Umgebung)
. *Lokaler Workspace-Buffer:*
Ein Proxmox-Server (NAS) hält die aktuellen Arbeitsdateien vor.
Aus Sicherheitsgründen lädt Neovim lokale Konfigurationen nicht automatisch. Um die projektspezifischen Plugins und Tastenkürzel zu aktivieren, muss der Editor im Projektverzeichnis mit folgendem Befehl gestartet werden:
. *Synchronisation (Syncthing):*
Syncthing spiegelt die Dokumente in Echtzeit zwischen deinem lokalen Client, dem NAS-Server und mobilen Android-Geräten.
. *Git-Sicherung:*
Nach einer Schreibsession werden die Änderungen direkt aus dem Terminal per Git-Commit gepusht.
== 2. Mobiles Schreiben (Android-Integration)
Um Geistesblitze unterwegs ohne Laptop festzuhalten, ist ein nahtloser mobiler Workflow eingerichtet:
. *Editor:*
_Markor_ (FOSS-Markdown-/AsciiDoc-Editor via F-Droid).
. *Synchronisation:*
Die Android-App von _Syncthing_ spiegelt das Verzeichnis `99_Inbox` im Hintergrund auf dein Mobiltelefon.
. *Diktier-Feature:*
Neovim- oder Markor-Dokumente im Zug öffnen, Tastatur-Mikrofon aktivieren und Text einsprechen (Audio-to-Text).
Zu Hause synchronisiert Syncthing die Datei augenblicklich zurück auf den Hauptrechner.
== 3. Editor-Setup (Neovim in Window Maker)
Da standardmäßig aus Sicherheitsgründen lokale Konfigurationen gesperrt sind, nutzen wir das projektspezifische `exrc`-Feature.
=== Startbefehl im Terminal
Boote den Editor im Hauptordner immer mit aktiviertem lokalen Profil:
[source,bash]
----
nvim -u .nvim.lua
nvim .
----
== 4. Neovim Cheatsheet
Dadurch wird die im Repository getrackte `.nvim.lua` geladen, welche projektspezifische Tastenkürzel freischaltet.
Die wichtigsten Befehle für einen schnellen, tastaturgetriebenen Workflow, ohne den Editor zu verlassen.
=== Wichtige Tastaturkurzbefehle (Leader = Leertaste)
=== Projekt-Spezifische Kürzel (Leader = Leertaste)
* **[Leertaste] + b:** Führt das Skript `build.sh` aus (baut die Lore).
* **[Leertaste] + g + s:** Öffnet den Git-Status (via vim-fugitive) für Commits an Uberspace.
[cols="1,3",options="header"]
|===
|Kürzel
|Aktion
=== Fenster-Management (Splits)
* **:vsp** -> Teilt das Fenster vertikal (Vertical Split).
* **:sp** -> Teilt das Fenster horizontal (Split).
* **Strg + w, dann h/j/k/l** -> Navigiert zwischen den geöffneten Fenstern (Links/Unten/Oben/Rechts).
* **:q** -> Schließt das aktuelle Fenster.
|`<Leertaste> + b`
|Startet `build.sh` (kompiliert das gesamte Projekt via Docker)
=== Das Terminal in Neovim
* **:term** -> Öffnet ein Terminal innerhalb des Neovim-Fensters.
* **Strg + \ gefolgt von Strg + n** -> Der wichtigste Befehl! Holt dich aus dem Eingabemodus des Terminals zurück in den normalen Neovim-Modus, damit du das Terminal-Fenster mit `:q` schließen oder wechseln kannst.
|`<Leertaste> + g + s`
|Öffnet das Git-Status-Fenster (vim-fugitive) für schnelles Committen
== 5. Verzeichnisstruktur
|`:vsp`
|Teilt den Bildschirm vertikal (ideal für Lore links, Skizze rechts)
Die Lore ist strikt modular aufgebaut. Alle AsciiDoc-Dateien dienen als Fragmente, die vom Build-Skript eingesammelt werden.
|`:sp`
|Teilt den Bildschirm horizontal
* **01_Grundlagen:** Kernkonzepte des Universums.
* **02_Strukturen:** Politische oder physische Organisationen.
* **03_Charaktere:** Maschinen-Typen (z. B. Miner-Klasse).
* **04_Kult:** Religionen und In-Universe-Missverständnisse.
* **05_Tech:** Physikalische Erklärungen (z. B. Plasma-Trichter).
* **06_Regeln:** Verhaltensprotokolle (z. B. das Nina-Protokoll).
* **build.sh:** Das Skript, welches die Fragmente zur Master-Datei kompiliert.
|`Ctrl+w` gefolgt von `h/j/k/l`
|Wechselt den Fokus zwischen den geteilten Fenstern
|`:term`
|Öffnet ein integriertes Terminal in Neovim
|`Ctrl+\` dann `Ctrl+n`
|Verlässt den Terminal-Eingabemodus und kehrt in den Normal Mode zurück
|===
== 4. Die Build-Pipeline (`build.sh`)
Um deine AsciiDoc-Fragmente in ansprechende Retro-HTML-Dokumente zu gießen, nutzt das System einen flüchtigen Docker-Container.
. *Abhängigkeiten auf dem Host:*
Lediglich `docker` und `bash` müssen installiert sein.
Keine Java-, Ruby- oder Haskell-Laufzeitumgebungen belasten deinen Debian-Client.
. *Ablauf:*
.. Das Skript `build.sh` prüft das Vorhandensein des lokalen Images `lore-builder`.
Es basiert auf Alpine und enthält `asciidoctor` sowie `pandoc`.
.. Das lokale Projektverzeichnis wird in den Container gemountet.
.. Im Ordner `export/` werden die HTML-Dokumente inklusive des Retro-Dark-Themes (`retro-dark.css`) erzeugt.
.. Die `index.html` wird als interaktives Terminal-Dashboard vollautomatisch neu aufgebaut.