Dienst:Homepage: Unterschied zwischen den Versionen

Aus Freifunk Köln, Bonn und Umgebung
Zur Navigation springen Zur Suche springen
Zeile 39: Zeile 39:
Vgl. https://git.kbu.freifunk.net/ff-kbu/website/blob/master/.gitlab-ci.yml
Vgl. https://git.kbu.freifunk.net/ff-kbu/website/blob/master/.gitlab-ci.yml


* Container: ruby:2.2-jessie
* Image: ruby:2.2-jessie


Vorbereiten des Containers
Vorbereiten des Containers

Version vom 18. Januar 2020, 10:14 Uhr


Dokumentation zur Homepage

Q: Wie ändere ich was?

  • Änderungen auf gitlab einstellen (https://git.kbu.freifunk.net/ff-kbu/website),
    • Gitlab hat einen Web-Editor, über den Dateien bearbeitet werden können
    • Best-practice: Eigenen Branch (fork) für jede zusammenhängende Änderung erstellen
    • Änderungen auf dem master-branch werden sofort live gestellt.
    • Alternativ checkout & Aufsetzen der Entwicklungsumgebung
  • Ändern und testen (gitlab-ci durchlaufen lassen)
  • Merge-Request mit den Änderungen erstellen

Review / Rechte / 4-Augen Prinzip

  • Grundsätzlich: Änderungen an der Homepage nur nach Rücksprache. Öffentlichkeitsarbeit betrifft alle.
  • Gitlab-Accounts in der KBU-Gruppe (vgl. https://git.kbu.freifunk.net/ff-kbu/website/-/project_members) können Änderungen vornehmen. Mitglieder sind die Freifunker, das Projekt länger begleiten. Die Aufnahme erfolgt auf Anfrage / Rücksprache.
  • Review:
    • Für blog-Artikel hat sich ein Review / 4-Augen Prinzip bewährt. Hierbei geht's darum, Tippfehler zu entfernen und Missverständnisse zu vermeiden.
    • Für kleinere Änderungen (z.B. kaputten Link reparieren), kann ein review helfen (z.B. um alle Stellen zu finden; auch auf der englischen Seite), ist aber nicht zwigend nötig.
    • Größere Änderungen an anderen Teilen der Homepage sollte mit der Community abgestimmt sein.

Technik

Blogposts

  • Werden in Markdown geschrieben [1]
  • Aus semantischen Gründen stehen nur die Überschrifen h1-h3, respektive # - ### in markdown zur Verfügung, beim Rendern werden diese verarbeitet
  • Mittels <!--break--> kann ein Beitrag Einleitung und restlichen Text unterteilt werden.
Dabei sollte die Einleitung auf der Homepage nur ein oder zwei Absätze lang sein, der Rest ist dann auf der folgeseite zu lesen. Das bitte in der Zukunft beachten.

Einrichten der Entwicklungsumgebung

Die Ruby dependencies sind recht alt (ein Upgrade des jekyll-fFrameworks steht eigentlich an). Damit bietet sich Docker für die lokale Entwicklung an.

Docker

Vgl. https://git.kbu.freifunk.net/ff-kbu/website/blob/master/.gitlab-ci.yml

  • Image: ruby:2.2-jessie

Vorbereiten des Containers

# git clone ausführen und in das Verzeichnis wechseln
$ gem install bundler --no-ri --no-rdoc -v 1.17.3
$ bundle install  --path vendor
$ bundle exec jekyll serve # Startet einen Server, siehe unten

Debian Wheezy

mkdir /verzeichnis/zur/website/
cd /verzeichnis/zur/website/

Notwendige Jekyll Komponenten installieren:

apt-get install ruby1.9.1 jekyll bundler git imagemagick
git clone https://git.kbu.freifunk.net/ff-kbu/website.git
bundle install

OSX

Getestet unter OS 10.6.8

mkdir /verzeichnis/zur/website/
cd /verzeichnis/zur/website/

Notwendige Jekyll Komponenten installieren, vorraussetzung ist Macports:

sudo port install ruby1.9 gem1.9 ImageMagick git-core Jekyll
gem1.9 install bundler
git clone https://git.kbu.freifunk.net/ff-kbu/website.git
bundle install

How to Jekyll

Soweit so gut, jetzt können wir:

bundle exec jekyll build 	// die Seite bauen
bundle exec jekyll -w	        // uns Änderungen anzeigen lassen
bundle exec jekyll serve -w	// Einen lokalen Server starten auf port 4000 (http://0.0.0.0:4000) auf dem wir eine Vorschau 
                                // der Seite betrachten können. 

Git Repo

Aktuellen Source der Page clonen

git clone https://git.kbu.freifunk.net/ff-kbu/website.git

Wer einen Account auf github hat, kann so von der Shell auf ein neues Repo erstellen:

touch README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin https://git.kbu.freifunk.net/username/repo-name.git
git push -u origin master