Files
MarkdownToIHKChemnits/config.go
T

54 lines
1.5 KiB
Go

package main
// Config holds all document metadata from the Markdown YAML front matter.
// It drives the title page, abbreviation list, and glossary.
//
// Example front matter:
//
// student:
// name: "Max Mustermann"
// profession: "Fachinformatiker Fachrichtung Anwendungsentwicklung"
// company: "Musterfirma GmbH"
// supervisor: "Sabine Supervisor"
// project:
// title: "Thema der Projektarbeit"
// period: "Sommer 2026"
// abbreviations:
// - abbr: "API"
// meaning: "Application Programming Interface"
// glossary:
// - term: "Agile"
// definition: "Iteratives Vorgehensmodell der Softwareentwicklung"
type Config struct {
Student struct {
Name string `yaml:"name"`
Profession string `yaml:"profession"`
Company string `yaml:"company"`
Supervisor string `yaml:"supervisor"`
} `yaml:"student"`
Project struct {
Title string `yaml:"title"`
Period string `yaml:"period"`
Subtitle string `yaml:"subtitle"`
} `yaml:"project"`
// Abbreviations populates the list of abbreviations placed after the TOC.
Abbreviations []Abbreviation `yaml:"abbreviations"`
// Glossary populates the Glossar section placed before the declaration page.
Glossary []GlossaryEntry `yaml:"glossary"`
}
// Abbreviation is one entry in the list of abbreviations.
type Abbreviation struct {
Abbr string `yaml:"abbr"`
Meaning string `yaml:"meaning"`
}
// GlossaryEntry is one entry in the Glossar section.
type GlossaryEntry struct {
Term string `yaml:"term"`
Definition string `yaml:"definition"`
}