collections via markdown files
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -10,23 +10,16 @@ Data:
|
||||
---
|
||||
# Installation
|
||||
|
||||
Damit die korrekten Versionsinformationen dynamisch in das finale mark2web-Binary eingefügt wurde, ist eine manuelle Installation aus dem Git-Repository sinnvoll.
|
||||
Da die benötigten Pakete über die Go "vendor"-Funktionalität eingebunden sind ist ein `git submodule --init --recursive` nötig, wie im folgenden Abschnitt zu sehen ist:
|
||||
|
||||
```sh
|
||||
mkdir -p $GOPATH/src/gitbase.de/apairon
|
||||
git clone https://gitbase.de/apairon/mark2web.git $GOPATH/src/gitbase.de/apairon/mark2web
|
||||
go get -v gitbase.de/apairon/mark2web/cmd/mark2web
|
||||
|
||||
cd $GOPATH/src/gitbase.de/apairon/mark2web
|
||||
git submodule update --init --recursive
|
||||
|
||||
./build.sh
|
||||
# setze Versioninformationen ins Binary
|
||||
pkg=$GOPATH/src/gitbase.de/apairon/mark2web
|
||||
go install -v -ldflags "-X main.Version=`cat $pkg/build/VERSION` -X main.GitHash=`git --git-dir $pkg/.git rev-parse HEAD` -X main.BuildTime=`date -u '+%Y-%m-%d_%I:%M:%S%p'`" gitbase.de/apairon/mark2web/cmd/mark2web
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Eine Installation über `go install gitbase.de/apairon/mark2web` wird derzeit noch nicht unterstützt, da dabei die Informationen für `mark2web -version` nicht generiert werden.
|
||||
|
||||
## Releases
|
||||
|
||||
Vorkompilierte Binaries finden Sie auf der [Releases-Seite auf gitbase.de](https://gitbase.de/apairon/mark2web/releases).
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 790 KiB |
@@ -1,150 +0,0 @@
|
||||
---
|
||||
Data:
|
||||
background: /img/wire.jpg
|
||||
|
||||
slider:
|
||||
- img: /img/wire.jpg
|
||||
alt:
|
||||
opacity: 1
|
||||
|
||||
---
|
||||
|
||||
# Konfiguration
|
||||
|
||||
Die Konfigurationsdatein sind im YAML-Format gehalten (siehe: [Wikipedia](https://de.wikipedia.org/wiki/YAML)).
|
||||
|
||||
## globale Einstellungen
|
||||
|
||||
Die obersten Verzeichnis sich befindende Datei `config.yml` kann z.B. folgenden Inhalt haben:
|
||||
|
||||
```yaml
|
||||
Webserver:
|
||||
Type: "apache"
|
||||
|
||||
Assets:
|
||||
FromPath: "assets"
|
||||
ToPath: "assets"
|
||||
Action: "copy"
|
||||
FixTemplate:
|
||||
Find: "\\.\\./assets/"
|
||||
Replace: ""
|
||||
|
||||
OtherFiles:
|
||||
Action: "copy"
|
||||
```
|
||||
|
||||
### Sektion `Webserver:`
|
||||
|
||||
#### `Type:`
|
||||
|
||||
Derzeit wird hier nur der Wert `apache` unterstützt. Ist dieser Wert gesetzt werden automatische .htaccess-Dateien mit mod_rewrite-Anweisungen generiert, die eine saubere Weiterleitung bei entsprechenden Konfig-Anweisungen im `content`-Verzeichnis ermöglichen.
|
||||
|
||||
### Sektion `Assets:`
|
||||
|
||||
`Assets:` steuert, wie mit Bild/JS/CSS Dateien umgegangen werden soll.
|
||||
|
||||
#### `FromPath:`
|
||||
|
||||
Lage des Asset-Verzeichnis unterhalb des `content`-Verzeichnis
|
||||
|
||||
#### `ToPath:`
|
||||
|
||||
Zielverzeichnis im Ausgabe-Verzeichnis der fertig generierten Website
|
||||
|
||||
#### `Action:`
|
||||
|
||||
Derzeit nur `copy`, also das Kopieren der Dateien und Unterordner ins Zielverzeichnis
|
||||
|
||||
#### `FixTemplate:`
|
||||
|
||||
Wenn hier `Find:` (regulärer Ausdruck) und `Replace:` (Ersetzung) angeben sind, werden die gefundenden Pfadangaben in der generierten HTML-Dateien durch den korrekten relativen Pfad zum Asset-Verzeichnis ersetzt.
|
||||
|
||||
### Sektion `OtherFiles:`
|
||||
|
||||
`OtherFiles:` definiert, wie mit anderen Dateien innerhalb des `content`-Verzeichnis umgegangen werden soll.
|
||||
|
||||
#### `Action:`
|
||||
|
||||
Derzeit nur `copy`, also das Kopieren der Dateien in das entsprechende Unterverzeichnis im Ausgabe-Verzeichnis
|
||||
|
||||
---
|
||||
|
||||
## Konfiguration im `content`-Verzeichnis
|
||||
|
||||
Im `content`-Verzeichnis, sowie in jedem Unterverzeichnis unterhalb von `content` kann sich eine `config.yml`-Datei befinden, wie aus folgendem Beispiel:
|
||||
|
||||
```yaml
|
||||
This:
|
||||
GoTo: "/de/service/impressum/"
|
||||
Navname: "Impressumsverweis"
|
||||
|
||||
```
|
||||
|
||||
oder
|
||||
|
||||
```yaml
|
||||
This:
|
||||
Navname: "FAQ's"
|
||||
Data:
|
||||
slogan: "Wer nicht fragt, bekommt keine Antwort."
|
||||
|
||||
Template: "base.html"
|
||||
|
||||
Index:
|
||||
InputFile: "README.md"
|
||||
OutputFile: "index.html"
|
||||
|
||||
Meta:
|
||||
Title: "Fragen und Antworten"
|
||||
Description: "Dies ist die Fragen und Antworten Unterseite."
|
||||
Keywords: "FAQ, Fragen, Antworten"
|
||||
|
||||
Data:
|
||||
background: "bg.jpg"
|
||||
slider:
|
||||
- img: "assets/img/slider1.jpg"
|
||||
alt: "Alternativtext 1"
|
||||
- img: "assets/img/slider2.jpg"
|
||||
alt: "Alternativtext 2"
|
||||
- img: "assets/img/slider3.jpg"
|
||||
alt: "Alternativtext 3"
|
||||
|
||||
```
|
||||
|
||||
### `This:` Sektion
|
||||
|
||||
Sämtlich Werte unterhalb dieser Sektion gelten nur für den Inhalt, bzw. Navigationspunkt in dessen Ordner sich die `config.yml` befindet. Die Werte werden nicht an Unterordner wertervererbt.
|
||||
|
||||
#### `GoTo:`
|
||||
|
||||
Falls der Navigationspunkt selbst keinen Inhalt darstellen soll, sondern nur weiterleiten soll, so wird hier das Weiterleitungsziel eingegeben.
|
||||
Das Ziel ist der absolute (startend mit `/`) oder relative Pfad zum Zielnavigationspunkt.
|
||||
Die Schreibweise des Pfades ist so zu verwenden, wie der Pfad nach Umschreibung und Säuberung des Pfades im Zielverzeichnis dargestellt wird.
|
||||
Aus `de/mainnav/03_Fragen und Antworten` wird also z.B. `de/mainnav/fragen-und-antworten`.
|
||||
|
||||
#### `Navname:`
|
||||
|
||||
Dieser Wert überschreibt den aus dem Ordnernamen automatisch abgeleiteten Navigationspunkt-Namen. Dies ist zum Beispiel dann nützlich, wenn Sonderzeichen im Verzeichnisnamen nicht vorkommen sollen, aber im Namen des Navigationspunkts gebraucht werden.
|
||||
|
||||
#### `Data:`
|
||||
|
||||
Unterhalb von `Data:` können beliebige Datenstrukturen erfasst werden. Da diese Struktur unterhalb von `This:` angeordnet ist, werden auch die Daten nicht weiter an Unterordner vererbt.
|
||||
Hier können z.B. Informationen zum Navigationspunkt abgelegt werden, die im Template Zusatzinformationen darstellen (z.B. ein Slogan zu einem Navigationspunkt).
|
||||
|
||||
### `Meta:` Sektion
|
||||
|
||||
Unter `Title:`, `Description:` und `Keywords:` werden die typischen Metaangaben abgelegt, die im
|
||||
|
||||
```html
|
||||
<head>
|
||||
...
|
||||
</head>
|
||||
```
|
||||
|
||||
übllicherweise Verwendung finden. Die entsprechenden Platzhalter stehen im Template zur Verfügung.
|
||||
|
||||
`Meta:` vererbt seine individuellen Informationen an die Unterordner weiter, sofern diese dort nicht selbst in einer `config.yml` oder im Kopf der Markdown-Datei definiert sind.
|
||||
|
||||
### `Data:` Sektion
|
||||
|
||||
`Data:` an dieser Stelle kann, wie auch `Data:` unterhalb von `This:`, beliebige Daten aufnehmen. Die Daten hier allerdings werden an Unterordner weitervererbt, sofern diese nicht dort oder in der Markdown-Datei selbst festegelegt überschrieben wurden.
|
||||
@@ -1,3 +0,0 @@
|
||||
This:
|
||||
Data:
|
||||
teaser: Globale Konfiguration und individuelle Content-Einstellungen
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
Template: base_doc.html
|
||||
|
||||
Data:
|
||||
background: /img/wire.jpg
|
||||
|
||||
slider:
|
||||
- img: /img/wire.jpg
|
||||
alt:
|
||||
opacity: 1
|
||||
|
||||
---
|
||||
|
||||
# Konfiguration
|
||||
|
||||
Die Konfigurationsdatein sind im YAML-Format gehalten (siehe: [Wikipedia](https://de.wikipedia.org/wiki/YAML)).
|
||||
@@ -0,0 +1,17 @@
|
||||
Die obersten Verzeichnis sich befindende Datei `config.yml` kann z.B. folgenden Inhalt haben:
|
||||
|
||||
```yaml
|
||||
Webserver:
|
||||
Type: "apache"
|
||||
|
||||
Assets:
|
||||
FromPath: "assets"
|
||||
ToPath: "assets"
|
||||
Action: "copy"
|
||||
FixTemplate:
|
||||
Find: "\\.\\./assets/"
|
||||
Replace: ""
|
||||
|
||||
OtherFiles:
|
||||
Action: "copy"
|
||||
```
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
Data:
|
||||
Version: "ab v1.0"
|
||||
|
||||
---
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
Data:
|
||||
Version: "ab v1.0"
|
||||
|
||||
---
|
||||
|
||||
Derzeit wird hier nur der Wert `apache` unterstützt. Ist dieser Wert gesetzt werden automatische .htaccess-Dateien mit mod_rewrite-Anweisungen generiert, die eine saubere Weiterleitung bei entsprechenden Konfig-Anweisungen im `content`-Verzeichnis ermöglichen.
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
Data:
|
||||
Version: "ab v1.0"
|
||||
|
||||
---
|
||||
|
||||
`Assets:` steuert, wie mit Bild/JS/CSS Dateien umgegangen werden soll.
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
Data:
|
||||
Version: "ab v1.0"
|
||||
|
||||
---
|
||||
|
||||
Lage des Asset-Verzeichnis unterhalb des `content`-Verzeichnis
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
Data:
|
||||
Version: "ab v1.0"
|
||||
|
||||
---
|
||||
|
||||
Zielverzeichnis im Ausgabe-Verzeichnis der fertig generierten Website
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
Data:
|
||||
Version: "ab v1.0"
|
||||
|
||||
---
|
||||
|
||||
Derzeit nur `copy`, also das Kopieren der Dateien und Unterordner ins Zielverzeichnis
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
Data:
|
||||
Version: "ab v1.0"
|
||||
|
||||
---
|
||||
|
||||
Wenn hier `Find:` (regulärer Ausdruck) und `Replace:` (Ersetzung) angeben sind, werden die gefundenden Pfadangaben in der generierten HTML-Dateien durch den korrekten relativen Pfad zum Asset-Verzeichnis ersetzt.
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
Data:
|
||||
Version: "ab v1.0"
|
||||
|
||||
---
|
||||
|
||||
`OtherFiles:` definiert, wie mit anderen Dateien innerhalb des `content`-Verzeichnis umgegangen werden soll.
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
Data:
|
||||
Version: "ab v1.0"
|
||||
|
||||
---
|
||||
|
||||
Derzeit nur `copy`, also das Kopieren der Dateien in das entsprechende Unterverzeichnis im Ausgabe-Verzeichnis
|
||||
@@ -0,0 +1,45 @@
|
||||
---
|
||||
Data:
|
||||
Version: "ab v1.0"
|
||||
|
||||
---
|
||||
|
||||
Im `content`-Verzeichnis, sowie in jedem Unterverzeichnis unterhalb von `content` kann sich eine `config.yml`-Datei befinden, wie aus folgendem Beispiel:
|
||||
|
||||
```yaml
|
||||
This:
|
||||
GoTo: "/de/service/impressum/"
|
||||
Navname: "Impressumsverweis"
|
||||
|
||||
```
|
||||
|
||||
oder
|
||||
|
||||
```yaml
|
||||
This:
|
||||
Navname: "FAQ's"
|
||||
Data:
|
||||
slogan: "Wer nicht fragt, bekommt keine Antwort."
|
||||
|
||||
Template: "base.html"
|
||||
|
||||
Index:
|
||||
InputFile: "README.md"
|
||||
OutputFile: "index.html"
|
||||
|
||||
Meta:
|
||||
Title: "Fragen und Antworten"
|
||||
Description: "Dies ist die Fragen und Antworten Unterseite."
|
||||
Keywords: "FAQ, Fragen, Antworten"
|
||||
|
||||
Data:
|
||||
background: "bg.jpg"
|
||||
slider:
|
||||
- img: "assets/img/slider1.jpg"
|
||||
alt: "Alternativtext 1"
|
||||
- img: "assets/img/slider2.jpg"
|
||||
alt: "Alternativtext 2"
|
||||
- img: "assets/img/slider3.jpg"
|
||||
alt: "Alternativtext 3"
|
||||
|
||||
```
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
Data:
|
||||
Version: "ab v1.0"
|
||||
|
||||
---
|
||||
|
||||
Sämtlich Werte unterhalb dieser Sektion gelten nur für den Inhalt, bzw. Navigationspunkt in dessen Ordner sich die `config.yml` befindet. Die Werte werden nicht an Unterordner wertervererbt.
|
||||
@@ -0,0 +1,10 @@
|
||||
---
|
||||
Data:
|
||||
Version: "ab v1.0"
|
||||
|
||||
---
|
||||
|
||||
Falls der Navigationspunkt selbst keinen Inhalt darstellen soll, sondern nur weiterleiten soll, so wird hier das Weiterleitungsziel eingegeben.
|
||||
Das Ziel ist der absolute (startend mit `/`) oder relative Pfad zum Zielnavigationspunkt.
|
||||
Die Schreibweise des Pfades ist so zu verwenden, wie der Pfad nach Umschreibung und Säuberung des Pfades im Zielverzeichnis dargestellt wird.
|
||||
Aus `de/mainnav/03_Fragen und Antworten` wird also z.B. `de/mainnav/fragen-und-antworten`.
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
Data:
|
||||
Version: "ab v1.0"
|
||||
|
||||
---
|
||||
|
||||
Dieser Wert überschreibt den aus dem Ordnernamen automatisch abgeleiteten Navigationspunkt-Namen. Dies ist zum Beispiel dann nützlich, wenn Sonderzeichen im Verzeichnisnamen nicht vorkommen sollen, aber im Namen des Navigationspunkts gebraucht werden.
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
Data:
|
||||
Version: "ab v1.0"
|
||||
|
||||
---
|
||||
|
||||
Unterhalb von `Data:` können beliebige Datenstrukturen erfasst werden. Da diese Struktur unterhalb von `This:` angeordnet ist, werden auch die Daten nicht weiter an Unterordner vererbt.
|
||||
Hier können z.B. Informationen zum Navigationspunkt abgelegt werden, die im Template Zusatzinformationen darstellen (z.B. ein Slogan zu einem Navigationspunkt).
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
Data:
|
||||
Version: "ab v1.0"
|
||||
|
||||
---
|
||||
|
||||
Unter `Title:`, `Description:` und `Keywords:` werden die typischen Metaangaben abgelegt, die im
|
||||
|
||||
```html
|
||||
<head>
|
||||
...
|
||||
</head>
|
||||
```
|
||||
|
||||
übllicherweise Verwendung finden. Die entsprechenden Platzhalter stehen im Template zur Verfügung.
|
||||
|
||||
`Meta:` vererbt seine individuellen Informationen an die Unterordner weiter, sofern diese dort nicht selbst in einer `config.yml` oder im Kopf der Markdown-Datei definiert sind.
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
Data:
|
||||
Version: "ab v1.0"
|
||||
|
||||
---
|
||||
|
||||
`Data:` an dieser Stelle kann, wie auch `Data:` unterhalb von `This:`, beliebige Daten aufnehmen. Die Daten hier allerdings werden an Unterordner weitervererbt, sofern diese nicht dort oder in der Markdown-Datei selbst festegelegt überschrieben wurden.
|
||||
@@ -0,0 +1,9 @@
|
||||
This:
|
||||
Data:
|
||||
teaser: Globale Konfiguration und individuelle Content-Einstellungen
|
||||
Collections:
|
||||
- Name: doccoll
|
||||
Directory:
|
||||
Path: "."
|
||||
MatchFilename: "^_\\d+(?P<lowdash>_*)(?P<title>.+)\\.md"
|
||||
ReverseOrder: False
|
||||
@@ -292,4 +292,14 @@ code.language-mermaid svg {
|
||||
border-radius: 5px;
|
||||
display:inline-block;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.versionBadge {
|
||||
text-align: right;
|
||||
color: #444;
|
||||
font-size: 10px;
|
||||
padding: 3px;
|
||||
background: #ddd;
|
||||
border: #444 solid 1px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
19
website/templates/base_doc.html
Normal file
19
website/templates/base_doc.html
Normal file
@@ -0,0 +1,19 @@
|
||||
{% extends 'base.html' %}
|
||||
|
||||
{% block part0 %}
|
||||
{{ Body }}
|
||||
{% endblock part0 %}
|
||||
|
||||
{% block part1 %}
|
||||
{% for e in NavElement.ColMap.doccoll %}
|
||||
{% with e.FilenameMatch.lowdash|count + 1 as h %}
|
||||
<h{{ h }}>
|
||||
{{ e.FilenameMatch.title }}
|
||||
{% if e.Data.Version %}
|
||||
<span class="versionBadge">{{ e.Data.Version }}</span>
|
||||
{% endif %}
|
||||
</h{{ h }}>
|
||||
{% endwith %}
|
||||
{{ e.Body }}
|
||||
{% endfor %}
|
||||
{% endblock part1 %}
|
||||
5
website/templates/filters/count.js
Normal file
5
website/templates/filters/count.js
Normal file
@@ -0,0 +1,5 @@
|
||||
function count(el, param) {
|
||||
return el.length
|
||||
}
|
||||
|
||||
module.exports = count;
|
||||
Reference in New Issue
Block a user