Remove outdated toc_pages.txt, add new Go modules for IHK Chemnitz PDF rendering including diagrams, tables, and TOC functionality.
This commit is contained in:
@@ -7,78 +7,104 @@ student:
|
||||
project:
|
||||
title: "Entwicklung eines Markdown-zu-IHK-Konverters"
|
||||
subtitle: "Projektdokumentation zur Abschlussprüfung"
|
||||
period: "Frühjahr 2026"
|
||||
period: "Sommer 2026"
|
||||
abbreviations:
|
||||
- abbr: "IHK"
|
||||
meaning: "Industrie- und Handelskammer"
|
||||
- abbr: "PDF"
|
||||
meaning: "Portable Document Format"
|
||||
- abbr: "API"
|
||||
meaning: "Application Programming Interface"
|
||||
- abbr: "AST"
|
||||
meaning: "Abstract Syntax Tree"
|
||||
- abbr: "DIN"
|
||||
meaning: "Deutsches Institut für Normung"
|
||||
glossary:
|
||||
- term: "Goldmark"
|
||||
definition: "Ein in Go geschriebener Markdown-Parser, der den CommonMark-Standard implementiert."
|
||||
- term: "FPDF"
|
||||
definition: "Eine Go-Bibliothek zur Erzeugung von PDF-Dokumenten ohne externe Abhängigkeiten."
|
||||
- term: "Kroki"
|
||||
definition: "Ein Webdienst, der verschiedene Diagramm-Beschreibungssprachen (Mermaid, PlantUML u.a.) in Bilder umwandelt."
|
||||
---
|
||||
|
||||
# Vorwort
|
||||
|
||||
Dieses Projekt entstand im Rahmen der Abschlussprüfung...
|
||||
Dieses Projekt entstand im Rahmen der Abschlussprüfung zum Fachinformatiker
|
||||
Fachrichtung Anwendungsentwicklung. Es soll zeigen, dass technische Dokumentationen
|
||||
effizient und normgerecht erstellt werden können.
|
||||
|
||||
# 1. Problemstellung
|
||||
|
||||
## 1.1 Ausgangslage
|
||||
Aktuell müssen IHK-Dokumentationen mühsam in Word formatiert werden, was fehleranfällig ist und viel Zeit kostet. Besonders schwierig ist die Einhaltung der Formvorgaben für Umlaute wie Ä, Ö, Ü und das Eszett ß.
|
||||
|
||||
Aktuell müssen IHK-Dokumentationen mühsam in Word formatiert werden, was
|
||||
fehleranfällig ist und viel Zeit kostet. Besonders die Einhaltung der
|
||||
Formvorgaben – Schriftgröße, Zeilenabstand und Seitenränder – erfordert
|
||||
manuelle Sorgfalt bei jedem Absatz.
|
||||
|
||||
## 1.2 Zielsetzung
|
||||
Ziel ist ein Go-Tool, das Markdown in PDF umwandelt und dabei alle formalen Anforderungen der IHK Chemnitz erfüllt. Es soll die Prüfungsvorbereitung erleichtern und die Qualität der Dokumente erhöhen.
|
||||
|
||||
Ziel ist ein Go-Tool, das **Markdown** in PDF umwandelt und dabei alle
|
||||
formalen Anforderungen der IHK Chemnitz erfüllt. Es soll:
|
||||
|
||||
- die Prüfungsvorbereitung erleichtern,
|
||||
- die Qualität der Dokumente *einheitlich* sicherstellen und
|
||||
- den Prozess vollständig automatisieren.
|
||||
|
||||
# 2. Projektablauf
|
||||
|
||||
## 2.1 Planung
|
||||
Die Planung umfasst die Analyse der IHK-Vorgaben und das Design der Software-Architektur.
|
||||
|
||||
### Architektur-Übersicht (Mermaid)
|
||||
Die Planung umfasst die Analyse der IHK-Vorgaben und das Design der
|
||||
Software-Architektur. Der Projektzeitraum beträgt maximal 80 Stunden
|
||||
gemäß Ausbildungsverordnung.
|
||||
|
||||
### Architektur-Übersicht
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
A[Markdown] --> B(Go Parser)
|
||||
B --> C{Metadata?}
|
||||
B --> C{Metadaten?}
|
||||
C -->|Ja| D[Config]
|
||||
C -->|Nein| E[Default]
|
||||
C -->|Nein| E[Standard]
|
||||
D --> F[PDF Renderer]
|
||||
E --> F
|
||||
F --> G[IHK PDF]
|
||||
```
|
||||
|
||||
### Klassen-Diagramm (PlantUML)
|
||||
```puml
|
||||
@startuml
|
||||
class IHKRenderer {
|
||||
+RenderTOC()
|
||||
+RenderBibliography()
|
||||
+RenderAppendices()
|
||||
}
|
||||
IHKRenderer o-- TOCItem
|
||||
IHKRenderer o-- Appendix
|
||||
@enduml
|
||||
F --> G[IHK-konformes PDF]
|
||||
```
|
||||
|
||||
## 2.2 Realisierung
|
||||
Die Realisierung erfolgt in Go unter Verwendung von `goldmark` und `fpdf`.
|
||||
|
||||
| Tool | Zweck |
|
||||
|------|-------|
|
||||
| Go | Programmiersprache |
|
||||
| Goldmark | Markdown Parser |
|
||||
| FPDF | PDF Renderer |
|
||||
Die Realisierung erfolgt in Go unter Verwendung von `goldmark` und `fpdf`.
|
||||
Der Konverter verarbeitet die Markdown-Datei in zwei Durchläufen, um das
|
||||
Inhaltsverzeichnis korrekt mit Seitenangaben zu befüllen.
|
||||
|
||||
| Werkzeug | Zweck | Version |
|
||||
|----------|-------|---------|
|
||||
| Go | Programmiersprache | 1.22+ |
|
||||
| Goldmark | Markdown-Parser (AST) | v1.8 |
|
||||
| FPDF | PDF-Erzeugung | v0.9 |
|
||||
| Kroki | Diagramm-Rendering | online |
|
||||
|
||||
@Quelle: Goldmark Documentation, https://github.com/yuin/goldmark, 2024
|
||||
> Quelle: Go-PDF/Fpdf Documentation, https://github.com/go-pdf/fpdf, 2025
|
||||
@Quelle: Go-PDF/Fpdf Documentation, https://github.com/go-pdf/fpdf, 2025
|
||||
|
||||
## 2.3 Test und Qualitätssicherung
|
||||
|
||||
Das Tool wurde anhand eines Musterdokuments getestet. Folgende Kriterien
|
||||
wurden geprüft:
|
||||
|
||||
1. Korrekte Seitenränder gemäß DIN 5008
|
||||
2. Seitennummerierung (römisch im Vorspann, arabisch im Textteil)
|
||||
3. Schriftart Helvetica, 12 Punkt, 1½-zeilig
|
||||
4. Automatische Abbildungs- und Tabellenverzeichnisse
|
||||
|
||||
# 3. Zusammenfassung
|
||||
|
||||
Das Tool ermöglicht eine effiziente Erstellung von Dokumentationen unter Einhaltung aller Formatvorgaben.
|
||||
Das Tool ermöglicht eine effiziente Erstellung von IHK-Dokumentationen unter
|
||||
Einhaltung **aller** Formatvorgaben. Durch die Trennung von Inhalt (Markdown)
|
||||
und Formatierung (Go-Renderer) ist eine konsistente Ausgabe garantiert.
|
||||
|
||||
@Quelle: IHK Chemnitz, Hinweise zur Erarbeitung der Dokumentation, 2020
|
||||
@Quelle: IHK Chemnitz, Hinweise zur Erarbeitung der Dokumentation über die Projektarbeit, 2020
|
||||
|
||||
@Anhang: Architektur Diagramm | test.png
|
||||
@Anhang: Datenbank Schema | test.png
|
||||
|
||||
@AnhangUML: Sequenzdiagramm Generierung
|
||||
```puml
|
||||
@startuml
|
||||
User -> Generator: Markdown
|
||||
Generator -> Kroki: Code
|
||||
Kroki -> Generator: PNG
|
||||
Generator -> PDF: Embed
|
||||
@enduml
|
||||
```
|
||||
@Anhang: Architektur-Diagramm Übersicht | test.png
|
||||
|
||||
Reference in New Issue
Block a user