66 lines
2.4 KiB
Plaintext
66 lines
2.4 KiB
Plaintext
= Meta: Neovim Setup & Projekt-Bedienung =
|
|
:toc:
|
|
:icons: font
|
|
|
|
Dieser Abschnitt dokumentiert die technische Infrastruktur des Projekts. Da wir auf einem Lenovo X220 mit Window Maker arbeiten, ist das Setup auf maximale lokale Effizienz und saubere, flüchtige Docker-Builds ausgelegt.
|
|
|
|
== 1. Starten des Workflows
|
|
|
|
Das gesamte Worldbuilding ist terminalbasiert. Um an der Lore zu arbeiten, öffne dein Terminal (z. B. rxvt oder xterm) im Projektverzeichnis und starte Neovim:
|
|
|
|
[source,bash]
|
|
----
|
|
cd ~/Projekte/Maschinen-Instanzen
|
|
nvim .
|
|
----
|
|
_(Der Punkt öffnet direkt den internen Dateibrowser Netrw in Neovim)_
|
|
|
|
== 2. Lokale Konfiguration (`.nvim.lua`)
|
|
|
|
Damit Neovim weiß, wie es unser spezifisches Projekt kompilieren soll, liegt im Hauptverzeichnis eine verborgene `.nvim.lua`.
|
|
Damit diese geladen wird, muss in deiner globalen `~/.config/nvim/init.lua` folgender Parameter gesetzt sein:
|
|
|
|
[source,lua]
|
|
----
|
|
vim.o.exrc = true
|
|
----
|
|
|
|
== 3. Tastenkürzel & Bedienung
|
|
|
|
Wir halten Neovim nah am Default. Die wichtigsten projektspezifischen Befehle:
|
|
|
|
[cols="1,3", options="header"]
|
|
|===
|
|
| Kürzel / Befehl | Aktion
|
|
| `:BuildLore` | Ruft das Docker-Bash-Skript auf und baut das finale Markdown.
|
|
| `<Leader>b` | (Meist `Leertaste` + `b`) Der Shortcut für `:BuildLore`.
|
|
| `:e datei.adoc` | Öffnet oder erstellt eine neue AsciiDoc-Datei.
|
|
| `:Lex` | Öffnet/Schließt die Dateibaum-Ansicht (Netrw) an der Seite.
|
|
|===
|
|
|
|
== 4. Die Build-Pipeline (Docker)
|
|
|
|
Wir verunreinigen unser Host-System nicht mit Ruby (für Asciidoctor) oder Haskell (für Pandoc). Alles läuft über ein flüchtiges Docker-Skript (`build.sh`).
|
|
|
|
*Was passiert, wenn du `<Leader>b` drückst?*
|
|
1. Neovim ruft `build.sh` auf.
|
|
2. Ein winziger Alpine-Linux-Container wird gestartet.
|
|
3. Der Container liest die `master.adoc` und löst alle `include::`-Befehle auf.
|
|
4. Asciidoctor erzeugt ein XML, Pandoc wandelt dieses in `final_worldbuilding.md` um.
|
|
5. Der Container löscht sich selbst rückstandslos.
|
|
|
|
== 5. Das Tag-System (Redaktionelle Notizen)
|
|
|
|
Um Notizen in den Dateien zu behalten, die **nicht** im finalen Export landen sollen, nutzen wir das AsciiDoc-Tag-System.
|
|
|
|
Schreibe deinen Lore-Text immer in diesen Block:
|
|
|
|
[source,asciidoc]
|
|
----
|
|
// tag::export[]
|
|
Die Ernteschiffe bremsen in der Oortschen Wolke ab...
|
|
// end::export[]
|
|
----
|
|
|
|
Alles, was *außerhalb* dieser Tags steht (wie To-Do-Listen, alte Ideen oder Konzept-Müll), bleibt sicher in der `.adoc`-Datei, wird aber beim Build-Prozess vom Container ignoriert.
|