Jekyll One

Mit dem Generator Jekyll und dem Template für Websites J1-Template ist ein Basisweb in wenigen Minuten erstellt. Für die vorgeschlagenen Experimente reicht dieses Web völlig aus. Dazu die gute Nachricht: J1 steht als OpenSource kostenlos zur Verfügung.

J1 Template (kurz J1) ist ein Entwicklungswerkzeug das neben dem Generator Jekyll einige zusätzliche Software als Grundlage zur Webentwickung erforderlich macht. Auch hier gilt: Alle benötigten Werkzeuge sind ebenfalls OpenSource und können kostenlos verwendet werden.

Bei OpenSource[1] Produkten verbergen hinter dem kostenlosen Angebot keine versteckte Werbung oder die Sammlung privater Daten (Tracking) die zur kommerziellen Verwertung an Dritte weitergegeben würden. Alle Anwender von OpenSource können sich sicher sein, dass das Angebot wirklich kostenlos zu nutzen ist ohne dafür auf andere Weise zu bezahlen.

Die benötigte Hardware

Für alle Desktop-Computer wird eine moderne Hardware wie erwartet:

  • eine multi-core CPU, >= Intel i5 or AMD Ryzen 5

  • 8 GB of RAM, 3-4GB freier Arbeitsspeicher

  • eine Internetverbindung, Bandbreite >= 16k (einfaches DSL)

  • ein aktueller Monitor, Display Größe >= 21 Zoll

Um eine Website zu entwickeln, ist etwas Leistung der Hardware unerlässlich um flüssig arbeiten zu können. Es macht keinen Spaß auf die Verarbeitung einer Webseite eine gefühlte Ewigkeit warten zu müssen. Um mehrere Programme in verschiedenen Fenstern auf einem Bildschirm parallel bedienen zu können, ist moderner Monitor notwendig. Es ist zwar durchaus möglich auch einen Laptop mit 15 Zoll Display zu verwenden, aber rechnen Sie mit einigen Unbequemlichkeiten in der Bedienung.

Befehle eingeben (Shell)

Für die Steuerung von J1(-Projekten) ist eine Shell erforderlich, um Befehle an der Kommandozeile (Windows: Eingabeaufforderung) eingeben zu können. Unter dem Betriebssystem Windows ist der einfachste Weg eine Shell auszuführen eine Verknüpfung für die Eingabeaufforderung (cmd.exe) auf Ihrem Desktop anzulegen.

  • Führen Sie zuerst einen Rechtsklick mit der Maus auf Ihrem Desktop aus. Dies ruft ein Kontext-Menü auf, aus dem eine neue Verknüpfung angelegt werden kann.

  • Geben Sie im ersten Dialogfenster cmd.exe für das zu verknüpfende Programm ein.

  • Benennen Sie dann im zweiten Dialogfenster die Verknüpfung als Shell.

Sehen Sie sich die Schritte in den folgenden Screenshots im Einzelnen an.

Erstellen einer neue Verknüpfung
Erstellen einer neue Verknüpfung
Geben Sie den zu verknüpfenden Befehl ein
Geben Sie den zu verknüpfenden Befehl ein
Benennen Sie den Link
Benennen Sie den Link

Mit Hilfe dieser Verknüpfung (Link) kann eine Befehlsshell jederzeit auf einfache Weise gestartet werden.

Administrative Shells

Von Zeit zu Zeit ist es erforderlich, arbeiten unter erhöhten Systemrechten durchzuführen. Für die Arbeit mit dem Templatesystem wird dies nur für sehr seltene Operationen notwendig sein: Beispielsweise für Aktualisierungen von systemweit installierter Software. Im Allgemeinen können diese Arbeiten ebenfalls über die Befehlszeile, allerdings mit erhöhten Systemrechten erledigt werden.

Duch klicken mit der rechten Maustaste auf das neue Desktop-Icon Shell erreichen Sie das Kontextmenü. Aus dem Kontext können Sie eine neue Shell als Administrator starten.

Starten einer Shell mit erhöhten Rechten (Administrator)
Starten einer Shell mit erhöhten Rechten (Administrator)
UAC-Dialog für administrative Shells
UAC-Dialog für administrative Shells
Shell (Eingabeaufforderung) als Administrator
Shell (Eingabeaufforderung) als Administrator

Alles, was für Vorbereitung der Installationen notwendig war ist jetzt erledigt. In den weiteren Schritte ist das benötigte Toolset für die Entwicklungssumgebung für J1 zu installieren.

Entwicklungswerkzeuge (Toolset)

Jekyll wie J1 ist auf allen aktuellen 64-bit Betriebssystemen einsetzbar:

  • Windows 10|11

  • Linux, Kernelversion >= 4.15 (z.B. Ubuntu >= 18.x LTS)

  • Apple OSX, Version >= 10.10.5 (Yosemite)

Die 32-bit Versionen (x32) der Betriebssysteme von Windows wie Linux sind grundsätzlich ungeeignet und können nicht eingesetzt werden. Inbesondere für das Betriebssystem Windows sind 32-bit Versionen für einfache Home-PCs noch verbreitet. Um welche Architektur es sich bei einem Windows-Betriebssystem handelt ist leicht herauszufinden. Kopieren Sie dazu den folgenden Befehl in die Zwischenablage:

cmd /K wmic os get osarchitecture

und fügen das kopierte Kommando in die Windows-Suche der Taskleiste (Lupensymbol) ein. Nach dem Kopieren wird die App gestartet und es öffnet sich ein (neues) Fenster mit Anzeige der jeweiligen Architektur.

Anzeige der Architektur (Windows)
Anzeige der Architektur (Windows)
Für die folgenden Software-Installationen ist eine Verbindung mit dem Internet erforderlich.

Um das Entwicklungssystem für J1 Template ausführen zu könen, sind die folgenden Programmiersprachen erforderlich:

  • Ruby, Version >= 2.6 < 3.x

  • NodeJS, Version >= 12.x

Für das Betriebssystem Windows finden sich die passenden Downloads in der folgenden Tabelle:

Table 1. Downloads der empfohlenen Versionen für Windows
Sprache Download

Ruby

Ruby Installer v2.7.4 für Windows

NodeJS

NodeJS Installer v12.22 für Windows

Laden Sie beide Installer herunter. Die Installationsprogramme werden in den folgenden Abschnitten benötigt.

Zur Installation der Entwicklungswerkzeuge sind administrative Rechte für das jeweilge Betriebssystem erforderlich. Die Software ist systemweit in privilegierten Verzeichnissen zu installieren. Für das Betriebssystem Windows sind dies die Verzeichnisse C:\Programme und C:\Programme (x86). Für Windows-Installationen auf privaten Home-PCs werden diese Rechte allen Benutzern über das UAC-Verfahren (User Account Control) der Benutzerkontensteuerung{fn-windows-os—​uac} bereitgestellt.

In professionellen Umgebungen wird dies für Arbeitsplatzrechner mit dem Betriebssystem Windows durchaus anders sein. Für Arbeitsplatzrechner sind in der Regel explizite Admin-Rechte der jeweiligen Organisation erforderlich, um lokale Softwareinstallationen durchführen zu können.

Installation von NodeJS

Für das Betriebssystem Windows wurde das Programm zur Installation von NodeJS node-v12.22.0-x64.msi im Speicherort Download heruntergeladen. Starten Sie das Installationsprogramm direkt aus Ihrem Browser oder aus dem Ordner Download.

In Schritt 5 der Installation kann das DevKit für NodeJS installiert werden. Diese Tools sind für Jekyll und J1 nicht erforderlich und sollten nicht installiert werden. Das DevKit für NodeJS enthält Anwendungen zum Erzeugen plattformspezifischer Module für NodeJS (Javascript Bibliotheken). Unter Windows ist dies ein komplexer Vorgang. Bei Bedarf kann in einem separaten Schritt eine solche Installation außerhalb der Basis-Installation jederzeit nachgeholt werden.

Willkommens-Meldung
Willkommens-Meldung
Lizenzvereinbarung
Lizenzvereinbarung
Zielverzeichnis
Zielverzeichnis
Paketauswahl
Paketauswahl
Zusätzliche Werkzeuge
Zusätzliche Werkzeuge
Installationsdialog
Installationsdialog
UAC-Dialog zur endgültigen Installation von NodeJS
UAC-Dialog zur endgültigen Installation von NodeJS
Abschlussmeldung
Abschlussmeldung

Installation von Ruby

Das Verfahren zur Installation von Ruby ist der Installation von NodeJS sehr ähnlich. Da die Schritte der Installation in einigen Teilen gleich sind, ist die Beschreibung etwas kompakter und überspringt einige Teile die Sie bereits kennen.

Für das Betriebssystem Windows wurde das Programm zur Installation von Ruby rubyinstaller-devkit-2.7.2-1-x64.exe im Speicherort Download heruntergeladen. Starten Sie das Installationsprogramm direkt aus Ihrem Browser oder aus dem Ordner Download.

Lizenzvereinbarung
Lizenzvereinbarung
Zielverzeichnis
Zielverzeichnis
Abschlussmeldung
Abschlussmeldung
Installation des DevKit
Installation des DevKit
Installation des DevKit
Verwenden Sie für den letzten Schritt der Ruby-Installation die Option 3 zur Installation aller Anwendungen für das DevKit. Um diese Installation abzuschließen, drücken Sie einfach die Eingabetaste.

Der erste Teil der Einrichtung der Entwicklungsumgebung ist abgeschlossen. Um die jeweils letzen Versionen der Werkzeuge aus der Entwicklungsumgebung verwenden zu können, sind noch Ergänzungen und Aktualisierungen erforderlich. Im Anschluss kann dann das Templatesystem J1 eingerichtet werden.

Ergänzungen und Aktualisierungen

Ist die Installation von NodeJS und Ruby abgeschlossen, sind zusätzliche Komponenten für die Arbeit mit J1 zu installieren sowie einige Pakete zu aktualisieren.

Die notwendigen Ergänzungen und Aktualisierungen zu den Produkten werden unmittelbar über die Kommandozeile durchgeführt. Für das Betriebssystem Windows kann die Eingabeaufforderung mit administrativen Rechten des Administrators zur Eingabe der notwendwendigen Befehle verwendet werden. Starten Sie eine administrative Shell wie im Abschnitt Administrative Shells beschrieben.

NodeJS

NodeJS verwendet, vergleichbar mit Ruby, einen Paket-Manager zur Installation und Verwaltung von Modulen (Libraries). Der Paket-Manager für NodeJS ist NPM (Node Packet Manager). Neben NPM steht ein weiteres Programm zur Verwaltung von Modulen für NodeJS zur Verfügung: Yarn.

Der Paket-Manager Yarn wird bei Facebook entwickelt und kann alternativ zu NPM verwendet werden. Generell verhalten sich beide Programme gleich. Jedoch ist yarn beim Schreiben von Befehlen kürzer und sieht im Vergleich zu npm einfacher aus. Die folgenden Beispiele verwenden als Paket-Manager Yarn, da das Programm einfacher in der Anwendung an der Kommandozeile ist.

Kopieren Sie für die Installationen der aktuellen Versionen für NPM und Yarn die folgenden Kommandos und fügen die Befehle in die administrative Shell ein:

Aktualisierung der Paket-Manager
npm install -g npm@latest && npm install -g yarn@latest (1)
1 Über den Schalter -g wird eine globale Installation durchgeführt, die allen Anwendern zur Verfügung steht

Ruby

Die Installationssoftware für Ruby kann viele Monate älter sein als die aktuellen Versionen der eingebauten Basiskomponenten. Es ist sehr empfohlen, die wichtigsten Basiskomponenten einer Ruby Installation sowie genereller Werkzeuge für Ruby auf aktuellem Stand zu halten.

Bundler

Module für Ruby (Gems) können in unterschiedlichen Versionen installiert sein. Je nach Projekt wird jedoch eine bestimmte Version notwendig sein, sonst wird es unweigerlich zu Konflikten bei der Ausführung kommen. Um dem sehr bekannten Problem der Hölle der Abhängigkeiten zu entkommen wird das Modul (Gem) bundler eingesetzt.

Welche Gem (Module) ein Projekt verwendet ist in der Konfigurationsdatei Gemfile eingestellt. Auch für J1 Projekte wird ein solches Gemfile verwendet, dass alle notwendigen Module in den erforderlichen Versionen angibt.

Bundler bietet die notwendigen Funktionen für Ruby-Projekte um die benötigten Module in den erforderlichen Versionen zu laden, die von dem jeweilgen Projekt benötigt werden.

Das Gem Bundler muß systemweit in privilegierten Verzeichnissen von Ruby eingerichtet werden. Kopieren Sie die folgenden Kommandos und fügen die Befehle in die administrative Shell ein:

Bundler aktualisieren
gem install bundler --no-document
RubyGems

Die Basissoftware RubyGems für den Ruby Paket-Manager gem ist ebenfalls ein Modul: rubygems. Auch hier ist eine Aktualisierung empfohlen, da die Installationssoftware für Ruby viele Monate älter sein kann als die aktuellen Versionen von RubyGems.

Wie bereits gewohnt, lässt sich rubygems mit Ruby Paket-Manager auf den neuesten Stand bringen. RubyGems muß sebenfalls systemweit in den privilegierten Verzeichnissen von Ruby eingerichtet werden. Kopieren Sie die folgenden Kommandos und fügen die Befehle in die administrative Shell ein:

RubyGems aktualisieren (Windows)
gem install rubygems-update --no-document && ^
update_rubygems --no-document && ^
gem update --system

Finale

Der anstrengende Teil der Installation und Aktualisierungen der Entwicklungs- werkzeuge NodeJS und Ruby ist abgeschlossen. Die gute Nachricht: Aktualisierungen sind nur selten notwendig. Dennoch: Bei neuen Installationen kann eine Aktualisierung viele Schwierigkeiten verhindern, die auf ältere Softwarestände zurückzuführen sind. Und dies ist häufig nicht einfach herauszufinden!

Für alle weiteren Arbeiten mit J1 wird keine administrative Shell mehr benötigt und die (bisherige) Eingabeaufforderung als Administrator kann geschlossen werden. Alle weiteren Schritte erfordern eine normale Shell bzw. eine die als normaler Benutzer gestartet wurde. Damit ist sichergestellt, dass Programme keine Veränderungen am Betriebssystem ohne Ihr Wissen durchführen können. Sicher ist sicher.

Starten Sie über die Ikone Eingabeaufforderung vom Desktop eine Shell und kopieren die folgenden Kommandos zur Anzeige der Versionen von NodeJS und Ruby:

Anzeige der Versionen von NodeJS und Ruby (Windows)
cls && ^
echo|set /p dummyName="NodeJS          " && node --version && ^
echo|set /p dummyName="NPM             " && npm --version && ^
echo|set /p dummyName="Yarn            " && yarn --version && ^
echo|set /p dummyName="Ruby (Core)     " && ruby --version && ^
echo|set /p dummyName="RubyGems        " && gem --version && ^
bundler --version
Versionen mit Stand 11/21
NodeJS          v12.22.0
NPM             8.1.4
Yarn            1.22.17
Ruby (Core)     ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [x64-mingw32]
RubyGems        3.2.32
Bundler version 2.2.32

Sollte es Schwierigkeiten bei der Arbeit mit J1 geben, kann der Versionsstand der Entwicklungsumgebung sehr hilfreich sein und als Orientierung dienen, ob falsche Versionen die Ursache von Problemen sind.

Ein Starter Web erstellen

Die Installation und Aktualisierung der Entwicklungsumgebung für J1 war ein harter Brocken. Das Herstellen und Starten eines J1 Projekts ist dagegen sehr viel einfacher. Nach einer handvoll Schritten sind Sie angekommen und können endlich Ihr neues Web starten!

Hier die notwendigen Schritte im Überblick:

  • J1 Template als Gem j1-template herunterladen

  • Ein Projekt mit dem eingebauten CLI j1 einrichten

  • Ein Projekt mit dem Paket-Manager yarn initialisieren

  • Ein Projekt mit mit dem Paket-Manager yarn starten

Alle Einzelheiten zu den Schritten finden sich in den anschließenden Abschnitten.

J1 Template herunterladen

Mit den Tools der Programmiersprache Ruby können Module (Gems) direkt geladen werden. Dafür steht der Ruby Package-Manager gem zur Verfügung. Mit dem Package-Manager werden Module in einem Schritt heruntergeladen wie installiert.

Module (Gems) für Ruby können systemweit oder für nur bestimmte Anwender eines Computers installiert werden. Für eine Installation von Modulen in Benutzerverzeichnissen sind keine hohen Rechte des Betriebssystems erforderlich und erleichtert das Laden von Modulen für Projekte erheblich. Jeder Anwender kann die benötigten Module laden ohne das dafür besondere Rechte erforderlich sind.

Installation des Gem j1-template
cls && gem install j1-template --remote --user-install --no-document   (1) (2) (3)
1 Module werden über das Internet (rubygems.org) heruntergeladen (--remote)
2 Module werden im Heimat-Verzeichnis des Anwenders installiert (--user-install)
3 Bei der Installation kann auf Entwickerdokumente verzichtet werden (--no-document)

J1 ist ein sogenanntes Gem-based Template für den Generator Jekyll. Die Software benötigt eine ganze Reihe weiterer Module, die jedoch automatisch als Abhängigkeit (Dependency) installiert werden. Im Folgenden shen Sie eine Zusammenfassung der Bildschirmausgaben einer Installation:

Fetching warden-1.2.9.gem
Fetching rack-2.2.3.gem
...
WARNING:  You don't have c:/users/<user_name>/.gem/ruby/2.7.0/bin in your PATH, (2)
          gem executables will not run.
...
Successfully installed rack-2.2.3
Successfully installed warden-1.2.9
...
Building native extensions. This could take a while...  (1)
...
Successfully installed j1-template-2022.0.6
64 gems installed
1 Während der Installation werden für bestimmte Module spezifische Erweiterungen erzeugt
2 Ein wichtiger Hinweis ist die Warnung in den Ausgaben der Installation. Lesen Sie dazu Erweitern des Suchpfads.

Eine erste Installation von J1 wird eine Weile brauchen. Einerseits müssen eine ganze Anzahl weiterer Gem (Module) für Ruby heruntergeladen laden, andererseits erfordern einige Module die Erzeugung spezifischer Erweiterungen für das jeweilige Betriebssystem. Alle Schritte werden jedoch automatisch ablaufen und erfordern keine weiteren Eingaben.

Die Installation von Ruby-Modulen im Heimat-Verzeichnis der Anwender hat einen Seiteneffekt der zu berücksichtigen ist: Module für Ruby können auch Programme enthalten. Und das ist für J1 Template der Fall. Um das Programm j1 aus dem Modul j1-template verwenden zu können, ist der Suchpfad (PATH) für Programme anzupassen bzw. zu erweitern. Wie das für das Betriebssystem Windows funktioniert zeigt der nächste Abschnitt.

Erweitern des Suchpfads

Neben den notwendigen Komponenten für die Entwicklung von Websites ist mit dem Gem j1-template ein einfaches Bedienprogramm j1 integriert. Alle Bedienprogramme von Modulen die in Anwenderverzeichnissen installiert wurden liegen nach der Installation im folgenden Pfad:

C:\Benutzer\<Benutzer_Name>\.gem\ruby\2.7.0\bin

Um diese Anwendungen starten zu können, ist der Suchpfad (Umgebung) auf diese Programme zur erweitern. Die Erweiterung des Suchpfads für das Betriebssystem Windows kann mit dem folgenden Kommando in einer Shell (Eingabeaufforderung) durchgeführt werden:

Erweitern des Suchpfads PATH (Windows)
setx PATH "%PATH%;%HOMEDRIVE%%HOMEPATH%\.gem\ruby\2.7.0\bin"
Ausgabe des Kommados setx
ERFOLGREICH: Angegebener Wert wurde gespeichert.

Die Erweiterung des Suchpfads hat leider einen Haken. Der Wert für PATH für den Anwender wurde gespeichert, ist jedoch in der aktuellen Shell unter Windows weiterhin unbekannt. Um Änderungen an der Umgebung eines Benutzer für eine Shell wirksam werden zu lassen, muss die Eingabeaufforderung unter Windows neu gestartet werden.

Das bedeutet unter Windows: Beenden Sie die bisherigen Shells (Fenster der Eingabeaufforderung) und starten die Apps neu. Dies ist für die weiteren Schritte erforderlich, um Programme der Ruby Module in einem Verzeichnis eines Anwenders starten zu können.

Prüfen des Bedienprogramms

Das Bedienprogramm von J1 ist j1 und dient der Verwaltung von Projekten. Überprüfen Sie nach der Installation des Gem j1-template in der aktuellen Shell zunächst die Version von J1 die geladen wurde.

Versionsinformation von J1
j1 --version
Ausgabe der Versionsinformation
j1 2022.0.6
Mit Stand 11/21 ist die Version von J1 2022.0.6. Ältere Versionen sollten nicht verwendet werden.

Weitere Information zu Nutzung des CLI j1 können Sie sich über die Hilfefunktion anzeigen lassen.

Hilfefunktion von j1
j1 --help
Ausgabe der Hilfe von j1
j1 2022.0.6 -- J1 Template is a Gem-based Template made for Jekyll
Usage:
  j1 <subcommand> [options]
Options:
        -h, --help         Show this message
        -v, --version      Print the name and version
        -t, --trace        Show the full backtrace when an error occurs
Subcommands:
  generate              Generates a starter site scaffold in PATH

Ein Projekt einrichten

Ist das Gem j1-template installiert, können Projekte für neue Websites erzeugt werden. Alle Projekte für J1 werden mit Hilfe des Programms j1 (an der Kommandozeile) angelegt.

Erstellen Sie zunächst ein Verzeichnis, indem zukünftig die Projekte Ihrer Websites angelegt werden. In den folgenden Beispielen werden Projekte unter dem Projektordner C:\J1-Projekte angelegt.

Erzeugen eines Projektordners
mkdir C:\J1-Projekte && cd C:\J1-Projekte

Die Befehle werden einen neuen Ordner auf dem Laufwerk C: anlegen und anschließend in das angegebene Verzeichnis wechseln. Im Projektordner kann anschließend ein Projekt für die neue Website erzeugt werden.

Anlegen eines neuen Projekts
j1 generate starter
Ausgabe des Kommandos j1 generate
Running bundle install in C:/J1-Projekte/starter ...
Install bundle in USER gem folder ~/.gem ...
	Bundler: Fetching gem metadata from https://rubygems.org/..........
	...
	Bundler: Using wdm 0.1.1
	Bundler: Bundle complete! 32 Gemfile dependencies, 89 gems now installed.
	Bundler: Bundled gems are installed into `../../Users/jadams/.gem`
Install patches in USER gem folder ~/.gem ...
Install patches on path C:/Users/jadams/.gem/ruby/2.7.0 ...
Skipped install patches for execjs-2.7.0 ...
Generated Jekyll site installed in folder C:/J1-Projekte/starter

Durch das Kommando j1 generate starter wurde ein Verzeichnis starter angelegt und alle notwendigen Projektdaten kopiert. Damit steht jetzt ein Projekt zur Verfügung, dass im nächsten Schritt zu initialisieren ist.

Ein Projekt initialisieren

Der Befehl j1 generate erstellt ein Projekt mit dem angegebenen Namen in einem Verzeichnis. In diesem Beispiel ist der Name des Projekts starter. Wechseln Sie die weiteren Schritte der Bearbeitung des Projekts in diesen Ordner.

Wechsel zum Projektordner
cd C:\J1-Projekte\starter

Ein Projekt besteht aus einer Reihe Dateien und Ordnern. Die typische Struktur eines J1 Projekts zeigt das folgende Beispiel:

J1 Projekt Struktur
  ├──── .
  │     └─ _data  (1)
  │     └─ _includes (2)
  │     └─ _plugins (3)
  │     └─ assets (4)
  │     └─ collections (5)
  │     └─ pages (6)
  │     └─ utilsrv
  ├──── _config.yml (7)
  ├──── config.ru
  ├──── dot.gitattributes
  ├──── dot.gitignore
  ├──── dot.nojekyll
  ├──── favicon.ico
  ├──── Gemfile (8)
  ├──── index.html (9)
  └──── package.json (10)
1 Konfigurationsdaten für die Website
2 Asciidoc (global) beinhaltet
3 Eingebaute (Ruby) Plugins
4 Assets für das Web
5 Ordner, der alle Blogbeiträge enthält
6 Ordner, der alle (Artikel-)Seiten enthält
7 Konfiguration der zentralen Site (Jekyll)
8 Rubin-Edelsteinfeile
9 Homepage für das Web
10 (NPM) Projektdatei

Die Initialisierung des Projekts muss nur einmal durchgeführt werden. Bei einer Initialisierung werden weitere Ressourcen (Module) für NodeJs und Ruby geladen, die für die Steuerung der Entwicklung der Website und für die Ausführung von Jekyll notwendig sind.

Alle Aufgaben zur Entwicklung eines Webs sind als Skripte des NodeJS Package-Managers definiert. Alle Skripte sind in der Konfigurationsdatei des Projekts package.json hinterlegt.

Die Initialisierung eines Projekts wird über den Package-Manager yarn über die Aufgabe setup gesteuert. Die Einrichtung des Projekts wird eine größere Zahl an Unteraufgaben starten, die jedoch alle vom Package-Manager automatisch verarbeitet werden.

Initialisierung eines Projekts
yarn setup

Zur Übersicht welche Teilaufgaben für ein setup ausgeführt werden, die Ausgabe als Zusammenfassung:

Setup project for first use ..
Bootstrap base modules ..
[#.................] | ..
Bootstrap base modules ..
done.
Configure environment ..
done.
Create project folders ..
Create log folder ..
Create archived log folder ..
Create etc folder ..
done.
Bootstrap project modules ..
Bootstrap utility server modules ..
done.
Detect OS ..
OS detected: Windows_NT
Build site incremental ..
Configuration file: C:/J1-Projekte/_config.yml
            Source: C:/J1-Projekte
       Destination: C:/J1-Projekte/_site
 Incremental build: enabled
      Generating...
    J1 QuickSearch: creating search index ...
    J1 QuickSearch: finished, index ready.
      J1 Paginator: autopages, disabled|not configured
      J1 Paginator: pagination enabled, start processing ...
      J1 Paginator: finished, processed 5 pagination page|s
                    done in 25.687 seconds.
 Auto-regeneration: disabled. Use --watch to enable.
.. build finished.
To open the site, run: yarn site
Done in 88.03s.

Der Vorgang ein Projekt aufzusetzen dauert eine Weile. Normalerweise einige Minuten für den ersten Durchlauf (je nach Leistung Ihrer Internetverbindung und Ihres PCs). Es werden weitere Module für NodeJS und Ruby heruntergeladen und für das Projekt verwendbar gemacht.

Verstehen Sie die Aufgabe setup als einen erweiterten Prozess der Installation notwendiger Module für das Projekt mit anschließendem erzeugen der neuen Website mit Hilfe der Engine Jekyll.

Ein Projekt starten

Nach Abschluß der Einrichtung des Projekts sind alle notwendigen Komponenten benutzbar sowie alle notwendigen Schritte zum Start eines Web erledigt. Das Ausführen des Starter-Webs ist ebenfalls eine Aufgabe, die vom Package-Manager yarn ausgeführt wird.

Ein Projekt starten
yarn site

Die Aufgabe site wird wieder einiges für Sie erledigen. Was jetzt noch für die Entwicklung der Website erforderlich ist anschließend abgeschlossen.

Startup the site ..
Startup UTILSRV ..
Log file exists :        messages_<datum>
Stop the server. Exiting ...
Reset file: messages_<datum>
Configuration file: C:/J1-Projekte/starter/_config.yml
            Source: C:/J1-Projekte/starter
       Destination: C:/J1-Projekte/starter/_site
 Incremental build: enabled
      Generating...
    J1 QuickSearch: creating search index ...
    J1 QuickSearch: finished, index ready.
      J1 Paginator: autopages, disabled|not configured
      J1 Paginator: pagination enabled, start processing ...
      J1 Paginator: finished, processed 2 pagination page|s
                    done in 7.982 seconds.
 Auto-regeneration: enabled for '.'
LiveReload address: http://localhost:40001
    Server address: http://localhost:40000/
  Server running... press ctrl-c to stop.
        LiveReload: Browser connected

Nach Abschluss eines Starts wird schließlich die Website automatisch in einem Browser geöffnet. Es wird der Browser verwendet, den Sie als Standard-Browser mit dem Betriebssystem eingerichtet haben.

Ein Projekt neu aufbauen

Im Laufe der Entwicklung einer Webseite kann es notwendig werden, eine Site neu aufzubauen. Grundsätzlich werden J1 Projekte über Jekyll in einem inkrementellen Modus mit automatischer Regeneration ausgeführt. Dies bedeutet, dass Änderungen an den Inhalten Ihres Webs automatisch erkannt und die betroffenen Seiten neu erstellt und im Webbrowser geladen werden.

In eingen wenigen Fällen wird dies nicht gelingen. Werden Änderungen an der Konfiguration des Projekts durchgeführt, muss ein Web neu aufgebaut werden. Durch Ausführen der Aufgabe rebuild wird eine Website neu erzeugt.

Ein Projekt neu aufbauen
yarn rebuild
Rebuild site incremental ..
Clean up site files ..
Configuration file: C:/J1-Projekte/starter/_config.yml
           Cleaner: Removing _site...
           Cleaner: Removing ./.jekyll-metadata...
           Cleaner: Removing ./.jekyll-cache...
           Cleaner: Nothing to do for .sass-cache.
Configuration file: C:/J1-Projekte/starter/_config.yml
            Source: C:/J1-Projekte/starter
       Destination: C:/J1-Projekte/starter/_site
 Incremental build: enabled
      Generating...
    J1 QuickSearch: creating search index ...
    J1 QuickSearch: finished, index ready.
      J1 Paginator: autopages, disabled|not configured
      J1 Paginator: pagination enabled, start processing ...
      J1 Paginator: finished, processed 2 pagination page|s
                    done in 20.267 seconds.
 Auto-regeneration: disabled. Use --watch to enable.
.. rebuild finished.
To open the site, run: yarn site
Done in 29.53s.

Ist eine Site neu erstellt, kann über die Aufgabe site das Web wieder gestartet und im Browser geladen werden.

Ein Projekt neu laden
yarn site

Ein Projekt zurücksetzen

Fehler sind leider unvermeidlich. Wo gehobelt wird, fallen Späne. Falsche Einstellungen in der Konfiguration eines J1 Webs können dazu führen, dass die Site sich nicht mehr starten lässt oder ein unerwünschtes Verhalten die Folge ist. In diesen Fällen kann ein Zurücksetzen der Konfiguration einer Site auf den Ursprungszustand helfen.

Bei dem Zurücksetzen von Projekten werden keine bestehenden Inhalte verändert. Der Content der Website bleibt unberührt.

Die Aufgabe reset erledigt die Arbeit zum Rücksetzen für Sie und bereinigt alle Konfigurationen, löscht Module und nicht mehr benötigte Dateien.

Ein Projekt zurücksetzen
yarn reset

Die Bereinigung führt wieder einige Unteraufgaben im Projekt aus. Eine Übersicht über die Abläufe zeigt das folgende Beispiel eines Resets.

Reset project to factory state ..
Clean up base modules ..
Clean up site files ..
Configuration file: C:/J1-Projekte/_config.yml
           Cleaner: Removing _site...
           Cleaner: Removing ./.jekyll-metadata...
           Cleaner: Removing ./.jekyll-cache...
           Cleaner: Nothing to do for .sass-cache.
Clean up projects files ..
Remove bundle config folder ..
Remove log folder ..
Remove etc folder ..
Remove various log files ..
Remove lock files ..
Clean up utility server ..
done.
Done in 10.23s.

Wenn das Projekt zurückgesetzt wurde, ist über die Aufgabe setup ein erneutes initialisieren des Projekts erforderlich.

Ein Projekt neu aufsetzen
yarn setup

Wenn das Projekt neu aufgesetzt ist, kann über die Aufgabe site das Web wieder gestartet und im Browser geladen werden.

Ein Projekt neu laden
yarn site

Zusammengefasst!

Sie haben viel gelernt. Jetzt ist ein guter Zeitpunkt für ein Resümee. Der Abschnitt Zusammengefasst! soll dabei helfen. Das Kapitel bietet einige praktische Abschnitte um nochmal zur Erinnern, was alles gemacht wurde.

Als Überblick sind alle Projekte zu finden. Ein Angebot, was als nächstes getan werden könnte. Wer noch mehr möchte, kann in den weiterführenden Links fündig werden.

Alle Abschnitte in der Übersicht:

Recap — Was besprochen wurde zusammengefasst
Wie gehts weiter — Was könnte als nächstes getan werden
Alle Kapitel — Der komplette Abschnitt, alle Projekte
Weitere Links — Liste nützlicher Links zu weiteren Infos

Recap

Der Abschnitt war sicher nicht ganz einfach zu bearbeiten. Es war eine Reihe von Software zu installieren und eine Website aufzusetzen.

Bei der Auswahl der Entwicklungswerkzeuge die installiert werden, ist auf die empfohlenen Versionen zu achten. Es mag durchaus aktuellere Versionen beispielsweise der verwendeten Entwicklungswerkzeuge geben. In der Regel können jedoch nur die Programmversionen eingesetzt werden, die für die Projekte angegeben sind. Für Ruby sind die Versionen 2.7 nicht der letzte Softwarestand. Dennoch ist Ruby in dieser Version aktuell und ist zwingend für Projekte in Verbindung mit Jekyll erforderlich.

Nicht jeder wird es gewohnt sein an der Kommandozeile zu arbeiten. Insbesondere dürfte das für Benutzer des Betriebssystem Windows zutreffen, die eher selten mit Entwicklungswerkzeugen zutun haben. Eines dazu gesagt: Entwickler wollen keine bunten Oberflächen wie es in vielen Fällen unter Windows üblich ist. CLIs ermöglichen das zu tun was gebraucht wird ohne sich durch eine Oberfläche zu hangeln und eine lange Suchen zu beginnen, wo die gewünschte Funktion zu finden ist.

Moderne Kommandozeilentools (CLIs) sind einfach zu bedienen und bieten über die Hilfefunktion eine gute Unterstützung, wenn mal etwas vergessen wurde. Sie werden das im Laufe des Projekts sicher bestätigen können.

Für die Arbeit mit Jekyll und J1 Template werden nur zwei CLIs benötigt: j1 und yarn. Die CLI j1 steckt im Template Gem und wird nur für das Erzeugen eines Webs, eines Projekts benötigt. Die CLI yarn (der Package-Manager für NodeJS) wird wesentlich häufiger verwendet werden. Beispielsweise um das Projekt für Ihre Website zu steuern.

Wie gehts weiter

Nach der längeren Softwareinstallation und Einrichtung kann die eigentliche Aufgabe in Angriff genommen werden: Das eigene Web entwickeln. Wesentlicher Teil einer Webseite in der Inhalt, der Content. Wie Artikel und Posts mit Jekyll und J1 Template geschrieben werden möchte ich Ihnen im nächsten Kapitel vorstellen. Mit Sicherheit: Kein Hexenwerk!

Weiter geht’s mit Inhalte schreiben!

Alle Kapitel

Liste der Projekte im aktuellen Abschnitt:

Dieses Kapitel — Die eigene Website
Inhalte schreiben
Cloud Services
Zusammenarbeit
Ein Web veröffentlichen

Weitere Links

Eines zu Anfang gesagt: Für die erste Arbeit mit einem Projekt ist das Lesen weiterführender Links unbedingt notwendig.

Weiterführende Links werden hilfreich sein mehr zu erfahren. Die Verweise zeigen zum Beispiel auf wichtige Quellen der Herstellerdokumentationen. Hier kann man alle Möglichkeiten erfahren was die Produkte bieten können.

Erfahrungen von Anderen sind im Umgang mit Software enorm wichtig. Über die Links können Sites erreicht werden, die Ihnen häufige Fragen von Anwendern zeigen wie Antworten durch die Erfahrung von Profis im Umgang mit diesen Werkzeugen. Hier kann man weit über den Tellerrand eines Projekts schauen!

Weiterführende Links im aktuellen Abschnitt.

Jekyll Home — Erste Adresse in Sachen Jekyll


1. OpenSource · About