54 lines
1.5 KiB
Go
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"`
|
|
}
|