lets do it
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
= 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.
|
||||
Reference in New Issue
Block a user