Entdecken Sie Jekylls Standardinhalt

Einführung

Jekyll ist ein statischer Site-Generator, der einige der Vorteile eines Content Management Systems (CMS) bietet und gleichzeitig die Leistungs- und Sicherheitsprobleme vermeidet, die durch solche datenbankgesteuerten Sites verursacht werden. Es ist "Blog-fähig" und bietet spezielle Funktionen für den Umgang mit datumsorganisierten Inhalten. Jekyll eignet sich gut für Personen, die offline arbeiten müssen, einen kompakten Editor anstelle von Webformularen für die Pflege von Inhalten bevorzugen und die Versionskontrolle verwenden möchten, um Änderungen an ihrer Website nachzuverfolgen.

Im erster Teil dieser Serie haben wir Jekyll installiert und seine Abhängigkeiten von einem Ubuntu 16.04-Server haben eine Entwicklungssite in unserem Ausgangsverzeichnis erstellt und sichergestellt, dass der Datenverkehr zur Site von der Firewall zugelassen wird.

In diesem Tutorial werden wir den automatisch generierten Inhalt des vorherigen Handbuchs verwenden, um zu untersuchen, wie Jekyll Quelldateien in statischen Inhalt umwandelt, um das Erstellen und Verwalten von Inhalten zu vereinfachen.

Voraussetzungen

Um diesem Tutorial zu folgen, müssen Sie das vorherige Handbuch * https://www.digitalocean.com/community/tutorials/how-to-set-up-a-jekyll-development-site-on-ubuntu-16 ausfüllen -04 [Einrichten einer Jekyll-Entwicklungssite unter Ubuntu 16.04]. * Wir bauen auf der Arbeit auf, die wir in diesem Tutorial ausgeführt haben, und ohne Abschluss stimmen die Beispiele nicht überein.

Wenn Sie Teil 1 abgeschlossen haben, können Sie beginnen.

Die Homepage

Beginnen wir unsere Erkundung auf der Homepage, die aus vier verschiedenen Quelldateien besteht. Wir werden jede dieser Dateien einzeln durchgehen und untersuchen, wie sie zusammenarbeiten, um die statische Startseite zu erstellen.

Wenn Sie den Entwicklungs-Webserver nach Abschluss des ersten Lernprogramms beendet haben, starten Sie ihn jetzt erneut:

cd ~/www
jekyll serve --host=

Besuchen Sie dann Ihre Site in einem Webbrowser. Der Screenshot der folgenden Homepage wurde geändert, um die Konfigurations- und Informationsquellen hervorzuheben.

Bild: http: //assets.digitalocean.com/articles/jekyll-1604/homepage-labeled.png

Konfigurationseinstellungen: _config.yml

Ein Großteil der Leistung von Jekyll beruht auf der Möglichkeit, Informationen, die an vielen Stellen auf der statischen Website wiederholt werden, in einer einzigen Quelldatei, "+ _config.yml +", zu speichern

Die Standardeinstellung "+ _config.yml ", die durch Ausführen von " jekyll new +" erstellt wurde, enthält fünf Einstellungen, die auf der Homepage sichtbar sind:

  • title: * Your awesome title + * email: * [email protected] + * description: * Schreiben Sie hier eine fantastische Beschreibung für Ihre neue Website …​ + * twitter_username: * jekyll + * github_username: * jekyllrb

image: http: //assets.digitalocean.com/articles/jekyll-1604/config.png [Screenshot mit Inhalt aus der Datei _confg.yml hervorgehoben]

Diese Informationen werden automatisch auf allen anderen von uns erstellten Seiten und Posts angezeigt. Wenn wir eine dieser Einstellungen aktualisieren müssen, können wir Änderungen an dieser Datei vornehmen, die dann überall aktualisiert werden. Um dies in Aktion zu beobachten, werden wir diese Werte ändern.

Öffnen Sie die Datei in einem neuen Terminal:

nano ~/www/_config.yml

Wir werden die Einstellungen auf die folgenden Werte ändern:

title:
email:
description: >

github_username:
twitter_username:

Wir lassen die "+ url" und "+ baseurl" während der Entwicklung in Ruhe und nehmen Anpassungen vor, wenn es Zeit ist, unsere Site bereitzustellen.

Um die in der Konfigurationsdatei vorgenommenen Änderungen anzuzeigen, müssen Sie den Webserver mit "+ STRG-C +" anhalten und anschließend neu starten:

jekyll serve --host=

Wenn Sie fertig sind, speichern und schließen Sie Ihren Editor. Laden Sie dann die Seite in Ihrem Webbrowser neu. Abhängig von den lokalen Cache-Einstellungen Ihres Webbrowsers müssen Sie möglicherweise Umschalt + Neu laden, um die Änderungen anzuzeigen, die in den beiden unten hervorgehobenen Bereichen angezeigt werden sollen:

image: http: //assets.digitalocean.com/articles/jekyll-1604/config-changes.png [Screenshot mit Änderungen in der Datei _confg.yml hervorgehoben]

In der Datei "+ _config.yml +" können viele weitere Anpassungen vorgenommen werden. Im Moment werden wir jedoch mit der nächsten Quelldatei fortfahren und feststellen, wie die von uns vorgenommenen Änderungen auf dem Rest der Website sichtbar sind.

Seiten: about.md

Folgen Sie dem "+ About +" - Link in der oberen rechten Ecke. Die Änderungen, die wir in der Konfigurationsdatei vorgenommen haben, werden hier oberhalb und unterhalb des Hauptinhalts der Seite "Info" angezeigt.

image: http: //assets.digitalocean.com/articles/jekyll-1604/about.png [Screenshot mit dem hervorgehobenen Inhalt von about.md]

Dieser zentrale Inhalt und der Linktext in der Kopfzeile werden in der Datei "+ about.md +" gespeichert, die vier Arten von Inhalten enthält:

*1. Jekyll Front Matter * + Der Block am oberen Rand der Datei + about.md +, der mit drei Strichen beginnt und endet, ist Jekylls Front Matter. Es muss das erste sein, was in der Datei enthalten ist, und wenn es vorhanden ist, signalisiert es Jekyll, dass die Datei analysiert werden soll. Es enthält normalerweise eine gültige YAML zwischen den Zeilen, um vordefinierte Variablen zu nutzen, kann aber auch leer sein. Ein leerer Front Matter-Block ist manchmal nützlich für eine CSS-Datei oder einen anderen Ort, an dem Sie keine Werte festlegen müssen, aber auf Variablen zugreifen möchten.

Auf der Seite "Info" werden drei Werte für die Titelseite festgelegt:

  ---
  layout: page
  title: About
  permalink: /about/
  ---
  • _Layout: _ * + Layouts eliminieren sich wiederholende Inhalte wie Kopf- und Fußzeilen sowie Menüs, um die Wartung von Websites zu vereinfachen. Jekyll wird mit drei Layouts geliefert: "+ default", "+ page" und "+ post". Jeder hat spezielle Eigenschaften. In diesem Fall wird in der Kopfzeilennavigation ein Menülink zum Titelwert „About“ angezeigt, da das Layout auf „page“ eingestellt ist.

  • _Title: _ * + Der Titel wird nicht nur als Verknüpfungstext in der Kopfzeilennavigation verwendet, sondern auch als sichtbarer Seitentitel, formatiert mit Überschrift 1-Tags, und als + <title> + der Seite ist der Text, der in der Browserleiste angezeigt wird und wenn die Seite mit einem Lesezeichen versehen ist.

  • _Permalink: _ * + Jekyll generiert aus diesen Quelldateien automatisch Verzeichnisse und HTML-Dateien, die die URL einer Seite bestimmen. Mit dem Permalink können Sie das Standardverhalten überschreiben. In diesem Fall lautet die Seiten-URL "+ http: //: 4000 / about / " und nicht " http: //: 4000 / about.html +".

*2. Sichtbarer Text * + Der Seiteninhalt beginnt nach dem Titel. Der Text hier erscheint auf der Seite, z. B. „Dies ist das Basis-Jekyll 3. Thema."

*3. Markdown * + Markdown ist Teil des Inhalts der Hauptseite und steuert das Format des Inhalts. Es wird in HTML für die statische Site analysiert. Markdown wird häufig von Inhaltserstellern gegenüber HTML bevorzugt, da es einfacher zu lesen und zu schreiben ist.

*4. Liquid-Template-Direktiven * + Jekyll verwendet Liquid als Template-Engine, um dynamische Elemente einzubeziehen. Die Liquid-Direktiven werden zwischen geschweiften Klammern wie "+ {% include icon-github.html username =" jekyll "%} +" angezeigt.

Nehmen Sie auf dieser Seite einige Änderungen vor, um festzustellen, wie die Site betroffen ist.

Ändern Sie den Titel

Wir nehmen eine kleine Änderung vor und rufen die Seite "Über mich" statt nur "Über" auf:

nano ~/www/about.md

~ / www / about.md

---
. . .
title: "About "
. . .
---

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Die Änderung wird an drei Stellen angezeigt, und der Menülink wird auf allen Seiten der Site aktualisiert: + image: http: //assets.digitalocean.com/articles/jekyll-1604/about-me.png [Screenshot mit dem about .md mit hervorgehobenen Titeländerungen]

Neue Seite hinzufügen

Als Nächstes fügen wir der Site eine Seite "Kontakt" hinzu und fügen ein Bild mit ein wenig Markdown hinzu.

Wir beginnen damit, ein "+ assets +" - Verzeichnis zu erstellen, in dem unser Image gespeichert wird:

mkdir ~/www/assets

Dann übertragen wir das Bild mit "+ wget" auf Ihren Computer. Das + -O + Flag leitet es zu dem Verzeichnis, das wir erstellt haben. Das Flag erfordert, dass wir auch den Dateinamen angeben, also werden wir:

wget -O ~/www/assets/postcard.jpg http://assets.digitalocean.com/articles/jekyll-1604/postcard.jpg

Sobald das Bild lokal platziert ist, erstellen wir die neue Seite:

nano ~/www/contact.md

~ / www / contact.md

---
layout: page
title: "Send me a postcard!"
---

DigitalOcean\\
Attn: Sammy Shark\\
101 Avenue of the Americas\\
New York, NY 10013

![A postcard](/assets/postcard.jpg)

Schauen wir uns den Preisnachlass genauer an. Erstens erzwingt der doppelte Schrägstrich "+ \\ " am Ende jeder Zeile eine Rückgabe, ohne zusätzlichen Leerraum hinzuzufügen. Zweitens wird das Bild mit diesem Abschlag "! [] () +" Angezeigt. Das Ausrufezeichen zeigt an, dass der folgende Link ein Bild ist. Die Klammern enthalten den alternativen Text, der verwendet werden soll, wenn keine Bilder geladen werden oder der Besucher einen Bildschirmleser verwendet. Die Klammern enthalten den Link zur Bilddatei. Weitere Informationen zu Jekylls Standard-Markdown-Stil finden Sie auf der kramdown-Website.

Speichern und schließen Sie die Datei und laden Sie die Seite erneut. Der neue Link wird in alphabetischer Reihenfolge auf der Grundlage des Dateinamens angezeigt.

Mit den neuen Dateien sieht das obere Ende unserer Dateistruktur jetzt so aus:

├── about.md


├── _config.yml

Die eigentliche Webseite sieht so aus:

image: http: //assets.digitalocean.com/articles/jekyll-1604/contact.png [Screenshot der neuen Kontaktseite]

Klicken Sie auf den Site-Titel, um zur Startseite zurückzukehren, wo Sie den neuen Link finden sollten, der in der Header-Navigation enthalten ist.

Posts: _posts / -welcome-to-jekyll.markdown

Folgen Sie dem Link „Welcome to Jekyll“, um einen Blick auf den bereitgestellten Beispiel-Blogpost zu werfen.

image: http: //assets.digitalocean.com/articles/jekyll-1604/post1.png [Screenshot des Welcome to Jekyll-Posts mit hervorgehobenem Hauptinhaltsbereich]

Das Verzeichnis "+ _posts " enthält speziell benannte Dateien im Format " JJJJ-MM-TT-Wörter-im-Titel ". Wenn Ihr Beitrag nicht in diesem Format benannt ist, wird er nicht analysiert. Wenn für den Dateinamen ein Datum festgelegt wurde, wird die Seite nicht für die statische Site analysiert. Benennen der Datei mit einem zukünftigen Datum Ermöglicht die Verwendung des Benennungsschemas in Verbindung mit " cron " oder anderen Automatisierungsstrategien, um einen Beitrag nach einem bestimmten Datum und einer bestimmten Uhrzeit zu veröffentlichen. Die Post-Dateien können mit ` .markdown `, ` .md `, ` .html +` oder anderen Erweiterungen enden, wenn benutzerdefinierte converters installiert sind.

Posts beginnen mit Front Matter. Front Matter ist für jede Post-Datei erforderlich, da es Werte wie das Datum enthält, die für die Erstellung der Site von entscheidender Bedeutung sind.

~ / www / _posts / 2016-08-31-welcome-to-jekyll.markdown

---
layout: post
title:  "Welcome to Jekyll!"
date:   2016-08-31 17:35:19 +0000
categories: jekyll update
---
  • _Layout: _ * + Obwohl es möglich ist, dass ein Layout ganz anders ist, ist das Layout für Posts dem Standard sehr ähnlich. Es gibt Variationen im HTML + <head> …​ </ head> + `Abschnitt, in dem der Seiteninhalt unterschiedlich ist, und der Inhalt zwischen dem + <div class = "wrapper"> …​ </ div> + `Tags, aber der Rest ist identisch. Der einzige sichtbare Unterschied auf der Seite selbst besteht in der automatischen Einbeziehung des Datumswerts der vorderen Materie unterhalb des Titels.

  • _Title: _ * + Der Titel wird sowohl im Blog-Post selbst als Überschrift 1 als auch auf der Indexseite als Überschrift 2 angezeigt.

  • _Date: _ * + Das hier festgelegte Datum bestimmt das Datum, das sowohl auf der Homepage als auch im Beitrag selbst angezeigt wird. An diesem Datum wird auch die URL des Posts festgelegt, auf die wir in Kürze näher eingehen werden.

  • Kategorien: Kategorien gelten nur für Beiträge und werden zum Gruppieren von Inhalten nach Themen verwendet. Standardmäßig werden sie auf der Seite nicht angezeigt, obwohl sie einer benutzerdefinierten Vorlage hinzugefügt werden könnten.

Verbleibende Dateien

Bisher haben wir uns drei Dateien genauer angesehen: "+ _config.yml ", " about.md " und " _posts / -welcome-to-jekyll.markdown +". Hier ist eine kurze Übersicht über die Dateien, die im Browser weniger direkt sichtbar sind:

  • main.scss *: + Jekyll verwendet Syntactically Awesome Style Sheets (Sass), die bei jeder Neuerstellung der Website in reguläres CSS kompiliert werden. Die .sass-Dateien befinden sich im Verzeichnis + css +.

  • feed.xml *: + Jekyll bietet einen RSS-Feed, der auch bei jeder Neuerstellung der statischen Website erstellt wird, damit Websites Beiträge aggregieren und Benutzern das Abonnieren ermöglichen.

  • Gemfile und Gemfile.lock *: + Das Gemfile listet Plugins für Jekyll auf, die mit dem Befehl + bundle + installiert werden. Bei der Installation wird die Datei "Gemfile.lock" generiert, um die spezifische Version der installierten Plugins zu verfolgen.

Von diesen vier Dateien wirkt sich nur das CSS auf die Darstellung des Inhalts aus. Wenn Sie sich speziell für Jekyll und Sass interessieren, finden Sie weitere Informationen unter Jekylls Beispielsite für die Sass-Integration. +

Fazit

In diesem Tutorial haben wir den Inhalt der Boilerplate untersucht, den Jekyll beim Erstellen einer neuen Site bereitstellt, und einige Änderungen vorgenommen, um zu veranschaulichen, wie die Quelldateien auf den Webseiten zusammenkommen. Dies erleichtert die Wartung einer Site, indem Werte an einem einzigen Ort festgelegt werden, an dem sie durch eine einzige Bearbeitung aktualisiert werden können, anstatt dass jede Datei geändert werden muss. Außerdem können Beiträge dynamisch auf der Startseite eingefügt werden, sodass Sie sich nicht darum kümmern müssen, eine andere Seite manuell zu aktualisieren, um einen neuen Beitrag zu erstellen.

In Teil 3 untersuchen wir die Dateistruktur der statischen Site und wie sich diese Struktur widerspiegelt die URLs unserer Seiten und Beiträge standardmäßig und wie Sie das Standardverhalten überschreiben.