117 lines
3.3 KiB
Markdown
117 lines
3.3 KiB
Markdown
# mark2web
|
|
|
|
mark2web ist ein Website-Generator, der als Eingabe Markdown-Dateien, Templates und Konfigurations-Dateien nutzt.
|
|
|
|
Die vorgesehene Arbeitsweise ist die Pflege der Inhalte über eine Versionsverwaltung (z.B. git) und anschließende CI/CD-Pipeline, welche den Generator aufruft und die fertige Website publiziert.
|
|
|
|
## Verzeichnisstruktur der Quellen
|
|
|
|
```plain
|
|
DIR content
|
|
DIR de (Sprache)
|
|
DIR main (Navigationsbaum)
|
|
DIR 01_Home (1. Ebene)
|
|
FIL config.yml
|
|
FIL README.md
|
|
DIR 02_Download
|
|
FIL README.md
|
|
DIR 03_Kontakt
|
|
FIL README.md
|
|
DIR 01_Adresse
|
|
FIL README.md
|
|
DIR 02_Anfahrt
|
|
FIL README.md
|
|
DIR 04_Impressum
|
|
FIL README.md
|
|
service
|
|
DIR 01_Datenschutz
|
|
FIL README.md
|
|
DIR 02_AGB
|
|
FIL README.md
|
|
DIR 03_Impressum
|
|
FIL README.md
|
|
DIR media
|
|
DIR Referenzbilder
|
|
DIR Mitarbeiterfotos
|
|
|
|
DIR assets
|
|
DIR js
|
|
DIR img
|
|
DIR css
|
|
|
|
DIR templates
|
|
FIL home.tmpl
|
|
FIL site.tmpl
|
|
FIL TOP.tmpl
|
|
FIL BOTTOM.tmpl
|
|
|
|
FIL config.yml
|
|
```
|
|
|
|
### content
|
|
|
|
- enthält die Markdown-Dateien und Konfigurationen für die Navigationsstruktur und Einzelseiten
|
|
- voranestellte Nummer mit Unterstrich wie z.B. `01_` dienen nur der Sortierung und gehen nicht in den eigentlichen Navigationspfad mit ein
|
|
- zur Bildung des Navigationspfades werden die Verzeichnisnamen in Kleinschreibung konvertiert
|
|
- Navigationsnamen für die Website werden aus dem Pfad gebildet, wobei `_`(Unterstriche) in Leerzeichen umgewandelt werden
|
|
- Navigationsnamen können durch die `config.yml` überschrieben werden
|
|
|
|
### media
|
|
|
|
- enthält alle Bilder, Videos und andere Medien-Dateien, die via Markdown in die jeweiligen Websites eingebunden werden
|
|
- außerdem können die Mediendateien auch neben den Inhalten in `content` liegen und müssen demensprechend relativ verlinkt werden
|
|
- Bilder die im Template benötigt werden liegen in `assets`
|
|
|
|
### templates
|
|
|
|
- Template-Dateien für die Generierung der Website liegen hier
|
|
- assets wie Bilder, JS, CSS sollten ebenfalls hier liegen
|
|
|
|
## Einzelseiten
|
|
|
|
Jede Seite ist innerhalb der Ordnerstruktur (Navigation) standardmäßig als `README.md` gespeichert. Die Datei ist eine normale Markdown-Datei mit einem optionalen Header:
|
|
|
|
```markdown
|
|
---
|
|
meta:
|
|
title: Seitentitel für die Meta-Angaben
|
|
keywords: Meta-Keywords
|
|
description: Meta-Description
|
|
|
|
---
|
|
|
|
# Seitentitel
|
|
|
|
Seiteninhalt, lorem ipsum...
|
|
|
|
## Überschrift 2
|
|
|
|
Weiterer Absatz, usw...
|
|
```
|
|
|
|
## zusätzliche Konfiguration
|
|
|
|
In jedem Ordner kann sich eine `config.yml` befinden.
|
|
|
|
- z.B. Verküpfung eines Eintrags eines Navigations-Baums zu einem anderen
|
|
|
|
```yml
|
|
goto: /de/main/service/impressum
|
|
navname: Impressum
|
|
```
|
|
|
|
- außerdem kann sich im Header der Markdown-Datei die Konfig im YAML-Format befinden
|
|
- die Konfig in der Markdown-Datei überschreibt die Konfig aus der config.yml
|
|
|
|
## Haupt-Konfiguration im Root
|
|
|
|
```yml
|
|
meta:
|
|
title: meine Website
|
|
description: Standard-Meta-Beschreibung, die verwendet wird, wenn keine pro Seite definiert ist
|
|
keywords: Standard-Keywords, welche in den einzelnen Seiten überschrieben werden kann
|
|
```
|
|
|
|
## Templates
|
|
|
|
Die Template sind golang `template/html`. |