mark2web Website-Generator
https://www.mark2web.de
example | ||
vendor | ||
.gitignore | ||
.gitmodules | ||
main.go | ||
README.md |
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
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:
---
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
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
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
.