fresh baseline
This commit is contained in:
+89
-39
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user