|
| 1 | +# Richtlinien für Codex Agents |
| 2 | + |
| 3 | +Diese Datei erläutert, wie Änderungen in diesem Repository vorgenommen werden sollen. Das Repository verwendet [Writerside](https://www.jetbrains.com/help/writerside/) von JetBrains für die Dokumentation. Writerside basiert auf Markdown, bietet jedoch zusätzliche Funktionen wie Snippets, Variablen und spezielle Tags. |
| 4 | + |
| 5 | +## Allgemeine Regeln |
| 6 | +- Schreibe alle neuen Inhalte auf Deutsch. |
| 7 | +- Achte auf eine freundliche, leicht verständliche Ausdrucksweise. |
| 8 | +- Bestehende Dateien dürfen nicht ohne Grund gelöscht werden. |
| 9 | +- Nutze Pull Requests mit aussagekräftigen Beschreibungen. |
| 10 | + |
| 11 | +## Writerside-spezifische Hinweise |
| 12 | + - Writerside unterstützt Standard-Markdown sowie erweiterte Tags und eine XML-basierte Semantik. |
| 13 | + - Wiederverwendbare Inhalte definierst du mit `<snippet id="...">...</snippet>`. |
| 14 | + - Über `<include from="DATEI" element-id="ID"/>` bindest du Snippets in andere Seiten ein. |
| 15 | + - Variablen aus `Writerside/v.list` kannst du über `%varname%` nutzen. |
| 16 | + - Hinweise und Warnungen werden mit `{style="note"}` bzw. `{style="warning"}` erzeugt. |
| 17 | + - Registerkarten lassen sich mit `<tabs>` und `<tab title="Titel" id="name">` aufbauen. |
| 18 | + - Definitionen verwendest du mit `<deflist>` und `<def title="...">`. |
| 19 | + - Neue Dokumentationsdateien legst du unter `Writerside/topics/` an. Die Struktur sollte zu den vorhandenen Unterordnern passen. |
| 20 | + - Bilder kommen in `Writerside/images/`, Videos in `Writerside/videos/`. |
| 21 | + - Achte darauf, IDs für Überschriften zu vergeben (`## Titel {id="..."}`), damit Links stabil bleiben. |
| 22 | + - Bevor du Inhalte veröffentlichst, führe das Writerside-Build-Skript aus (falls vorhanden), um sicherzustellen, dass die Dokumentation fehlerfrei gerendert wird. |
| 23 | + |
| 24 | +### Kurzübersicht zum Writerside-Markup |
| 25 | +Writerside kombiniert CommonMark mit zahlreichen XML‑Tags. Ein paar der wichtigsten Funktionen aus der Dokumentation sind: |
| 26 | + |
| 27 | +- **Absätze und Text**: Einfache Absätze brauchen keine besonderen Tags. Für Textblöcke kannst du `<p>` verwenden und über `{id="..."}` eigene IDs setzen. |
| 28 | +- **Strukturelle Blöcke**: Verwende `<chapter>` für längere Themenblöcke oder `<procedure>` mit `<step>` für Schritt‑an‑Schritt-Anleitungen. Inhaltslisten baust du mit `<list type="ordered">` oder `<list type="unordered">`, Tabellen mit `<table>`, `<tr>`, `<td>`. |
| 29 | +- **Ein- und ausklappbare Abschnitte**: `<collapsible>` bzw. `<expander>` ermöglichen Akkordeon-ähnliche Inhalte. |
| 30 | +- **Links und Querverweise**: `[Linktext](url)` funktioniert wie gewohnt. Für interne Verweise gibt es `<xref href="topic.id"/>`. |
| 31 | +- **Medieneinbindung**: Bilder bindest du über `` oder `<img src="path" alt="Text">` ein, Videos mit `<video src="..." poster="...">`. |
| 32 | +- **Weitere Blöcke**: `tabs` mit `tab` für Registerkarten, `code-block` für längere Beispiele, `diagram` für Mermaid-, PlantUML- oder D2-Grafiken, `math` für Formeln. |
| 33 | +- **Inline-Tags**: `link`, `control`, `path`, `var`, `shortcut` oder `tooltip` ergänzen Textstellen semantisch. Für kurze Code-Snippets nutzt du `` `code` `` oder `<code>`. |
| 34 | +- **Hinweiskästen**: `{style="note"}`, `{style="tip"}`, `{style="warning"}`, `<tldr>` oder `<summary>` heben wichtige Informationen hervor. |
| 35 | +- **Weitere Funktionen**: Dateien zum Download deklarierst du mit `<download>`, Startseiten über `<section-starting-page>`, Beschriftungen mit `labels="tag1,tag2"`. |
| 36 | +Eine kompakte Übersicht aller Elemente steht in der [Semantic Markup Reference](https://www.jetbrains.com/help/writerside/semantic-markup-reference.html). Weitere Infos zu Paragraphs, Structural Elements und anderen Themen findest du in den Writerside-Seiten. |
| 37 | +## Writerside lokal oder mit Docker bauen |
| 38 | + |
| 39 | +Um deine Änderungen zu testen, kannst du den in Writerside integrierten Builder oder das von JetBrains bereitgestellte Docker-Image verwenden. |
| 40 | + |
| 41 | +1. **Docker-Image herunterladen** |
| 42 | + |
| 43 | + ```bash |
| 44 | + docker pull jetbrains/writerside-builder:2025.04.8412 |
| 45 | + ``` |
| 46 | + |
| 47 | +2. **Dokumentation bauen** |
| 48 | + |
| 49 | + Starte den Build aus dem Projektstammverzeichnis heraus und mounte die Quelldateien in den Container: |
| 50 | + |
| 51 | + ```bash |
| 52 | + docker run --rm -v "$PWD":/opt/sources \ |
| 53 | + -e SOURCE_DIR=/opt/sources \ |
| 54 | + -e MODULE_INSTANCE=Writerside/hi \ |
| 55 | + -e OUTPUT_DIR=/opt/sources/output \ |
| 56 | + -e RUNNER=other \ |
| 57 | + jetbrains/writerside-builder:2025.04.8412 |
| 58 | + ``` |
| 59 | + |
| 60 | + Das Ergebnis findest du anschließend im Ordner `output`. |
| 61 | + |
| 62 | +## Projektstruktur |
| 63 | +- `Writerside/writerside.cfg` steuert die wichtigsten Einstellungen des Projekts. |
| 64 | +- Kategorien und Labels befinden sich in `Writerside/c.list` und `Writerside/labels.list`. |
| 65 | +- In `templates/` findest du Vorlagen, die du bei Bedarf einbinden kannst. |
| 66 | + |
| 67 | +## Hinweise für Pull Requests |
| 68 | +- Stelle sicher, dass die Git-Historie sauber ist (`git status` sollte keine Änderungen zeigen). |
| 69 | +- Führe vor dem Commit alle im Projekt definierten Tests oder Builds aus. |
| 70 | +- Beschreibe im PR-Text kurz, welche Dateien du geändert hast und warum. |
| 71 | +- Füge der PR-Beschreibung eine Zusammenfassung auf Deutsch hinzu. |
| 72 | + |
0 commit comments