# Freifunk Leipzig

Webseite von freifunk-leipzig.de.

## Live-Editing und Websitegenerierung

Die Website wird mittels des Generators Hugo (https://gohugo.io/) erzeugt. Dazu muss Hugo und Git installiert werden.

```
sudo apt install hugo git
```

Anschließen muss ein clone vom repo erstellt werden und die submodule initialisiert werden, da das theme bereits über submodule integriert ist.

```
cd ~/freifunk/web/ 
git clone https://git.dezentrale.cloud/Freifunk-Leipzig/landingpage  
cd landingpage  
git submodule init
git submodule update
```

Um mit Hugo auf dem lokalen Rechner die Website erstellen zu lassen und bei jeder Veränderung neuzuladen, muss Hugo so aufgerufen werden

```
hugo serve --disableFastRender
```

Um die Website lediglich zu generieren, um sie danach auf einen Websever hochzuladen muss Hugo einfach direkt ausgeführt werden:

```
hugo
```

Der generierte Website-Code befindet sich danach im Verzeichnis *public*.

## Menü

Das Menü kann über die Einträge in **config.yaml** konfiguriert werden im Bereich. Beispielswiese

Menüs mit Unterpunkten benötigen einen Eintrag bspw. *04kontakt*. Die Reihenfolge wird durch die alphanumerische Sortierung der Eintrags bestimmt (01eintrag vor 02eintrag). Der erste Eintrag ist immer der Name des Menüpunkt und muss im Feld *indentifier* stehen. Danach können weitere Menüeintrage die unter dem Punkt erscheinen jeweils mit den Untermenütitle im Feld *name* und einen Link im Feld *url* hinterlegt.

Das untere Beispiel erzeugt ein Menü mit einem Eintrag *Kontakt* mit zwei Unterpunkten *Impressum* und *Datenschutz*

```yaml
menu:
  04kontakt:
    - identifier: "Kontakt"
    - name: "Impressum"
      url: "https://freifunk.net/impressum/"
    - name: "Datenschutz"
      url: "https://freifunk.net/datenschutz/"
```

Links können auch direkt im Menüeintrag hinterlegt werden. Zusätzlich ist es immer möglich einem Menüeintrag einen Link über das Feld *url* zu geben.

```yaml
menu:
  04kontakt:
    - identifier: "Kontakt"
      url: "https://freifunk.net/kontakt/"
```

Links zum Inhalt der Seite können einfach über die Bezeichner der Inhalte eingebunden werden. Beispielsweise die Karte, die in *content/map.md* vorliegt

```yaml
menu:
  01map:
    - identifier: "Karte"
      url: "map/"
```

## Blogbeiträge
### Header
```
+++
title = 'Titel des Beitrags'
date = "yyyy-mm-dd"
description = 'Teaser-Text, kurze Beschreibung'
disableComments = true
type = "post"
+++
```

### Bilder im Text
Wenn Beitrag im eigenen Ordner...
```
{{< image src="image.jpg" class= "fit" >}}
```
ansonsten...
```
{{< image src="/path/to/image.jpg" class= "fit" >}}
```