Nikola Sourcen der Homepage der Hack & Make 2020
- Ihr benötigt einen github-Account. Falls Ihr noch keinen habt, der ist schnell eingerichet.
- Dann benötigt ihr Schreibrechte in der fablabnbg-Organization oder zumindest in diesem Repository hier. Dazu schickt einfach euren github-Benutzernamen an ian. (Zum Beispiel, indem Ihr einfach hier ein neues "Issue" eröffnet).
- Dann könnt Ihr hier lokal über das "Stift"-Icon die Seiten ändern.
- Die Seiten liegen alle im Unterverzeichnis "pages".
- Ändern von Seiten hier ist für einfache Änderungen am Text das einfachste.
- Wenn Ihr Änderungen am Design vornehmen wollt oder Neuigkeiten oder Seiten hinzufügen wollt, installiert ihr am besten Nikola lokal.
- Installationsanleitung unter Linux:
- python3 verwenden/ggf. installieren:
sudo apt install python3-pip
- virtualenv installieren:
pip install virtualenv
-- bitte unbedingt darauf achten, dass ihr python3 verwendet. Ggf. dazupip3
anstelle vonpip
eingeben. - Erstellt ein neues leere Unterverzeichnis und wechselt dort hin. (Zum Beispiel
mkdir nikola && cd nikola
) - Erstellt ein virtualenv in diesem Verzeichnis:
virtualenv .
- Aktiviert das virtualenv:
source bin/activate
- Installiert nikola:
pip install nikola[extras]
- Holt Euch die Sourcen der Webseite:
git clone https://github.com/fablabnbg/hnm-nikola.git
- Wechselt ins Unterverzeichnis:
cd hnm-nikola
- python3 verwenden/ggf. installieren:
- Ändern/neu erstellen (unter Linux):
- Wechselt in eurer nikola-virtualenv-Verzeichnis
- Aktiviert das virtualenv:
source bin/activate
- Wechselt ins Unterverzeichnis:
cd hnm-nikola
- Dort könnt ihr nun die diversen Dateien nach Euren Wünschen und mit einem Editor Eurer Wahl (vim, VS Code, kate, ...) anpassen
- Zum neuerstellen der Seiten:
nikola build
- Zum lokalen Anschauen der Seiten:
nikola serve -b
- Zum deployen der erstellten Webseite auf dem Testserver:
nikola github_deploy
- Zum speichern der Änderungen an den Sourcen auf github:
- Ggf. Auflisten der geänderten Dateien mit
git status
- Alle geänderten Dateien zum comitten vormerken:
git add .
- Ggf. Anzeigen der Änderungen mit
git diff
- Änderungen comitten:
git commit -m "<Änderungsbeschreibung>"
- Den Commit auch auf dem remote-Server (=github) speichern:
git push
- Ggf. Auflisten der geänderten Dateien mit
Verbesserungsvorschläge oder Änderungswünsche meldet Ihr am besten einfach hier als "New Issue" an.
- liegt in
conf.py
- Theme ist das Standard-Theme für Webseiten: "bootstrap4" und bist jetzt unverändert.
- Anpassung des Design liegt in
files/assets/css/custom.css
- Gemäß Hack & Make CI von 2017 wird die Hintergrundfarbe auf rot #C01A2C gesetzt und der Font ist "Coolvetica".
- Konfiguration folgt der Anleitugn für Webseiten (anstelle eines Blogs): https://getnikola.com/creating-a-site-not-a-blog-with-nikola.html
- Zur Zeit erfolgt das Deployment in Richtung github-pages
- github verwendet dazu automatisch das, was im Branch
gh-pages
abgelegt ist - Diese sind erreichbar unter https://fablabnbg.github.io/hnm-nikola
- Allgemeine Anleitung für github-pages
- github verwendet dazu automatisch das, was im Branch
- TODO: Deployment auf eigenen Server
- Wird sinnvollerweise über rsync mittels ssh-key erfolgen.
- travis-ci ist ein Continious-Integration Dienst. Sobald eine Änderung auf github committed (oder remote "gepusht") wird, führt travis-ci die in der Datei
.travis.yml
hinterlegten Befehle aus. - In diesen Befehlen ist zur Zeit hinterlegt:
- Eine frische Installation von nikola (da travis allerdings die Build-Umgebung cached, wird diese nicht jedes mal ausgeführt)
- ein Bauen der Seite (
nikola build
) - Ein Deployment der Seite auf github.io
- Dazu wird die unter "Deployment (lokal)" beschriebene Konfiguration verwendet
- Das Projekt hat dazu einen eigenen ssh-key, dessen public-Teil auf github hinterlegt ist (siehe "Settings" im Repository)
- Der private Teil ist verschlüsselt gespeichert. Den symmetrischen Schlüssel zum entschlüsseln kennt wiederum nur travis-ci.
- Anleitung dazu https://getnikola.com/blog/automating-nikola-rebuilds-with-travis-ci.html