mark2web Website-Generator https://www.mark2web.de
Go to file
Sebastian Frank 6150fd377b
write html
2019-02-12 11:35:25 +01:00
example write html 2019-02-12 11:35:25 +01:00
vendor read config 2019-02-11 15:00:27 +01:00
.gitignore write html 2019-02-12 11:35:25 +01:00
.gitmodules read config 2019-02-11 15:00:27 +01:00
main.go write html 2019-02-12 11:35:25 +01:00
README.md read config 2019-02-11 15:00:27 +01:00

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.