# 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" >}} ```