Blocksatz und Silbentrennung
Grundsätzliches
Markdown & Front Matter
Wir werden Blocksatz und Silbentrennung via CSS umsetzen. Damit die neuen CSS Klassen auch von einem Post oder einer Seite benutzt werden, die wir ja in Markdown verfassen, kann man sie im Front Matter unter classes:
unterbringen, also z.B.:
1
2
3
4
---
classes:
- blocksatz
---
(Ich habe gleich mal die Array Schreibweise von YAML benutzt, auch wenn wir hier nur eine Klasse angeben. Es kann ja sein, dass ihr noch weitere Klassen zuweisen wollt, die kämen dann darunter, als weitere Listenelemente, jeweils auf einer eigenen Zeile mit Einschub und Minuszeichen.)
Wenn man immer alle Seiten und Blog Posts im Blocksatz und mit Silbentrennung haben möchte, kann man diese CSS Klassen auch in seiner _config.yml
als Default Werte unterbringen. Das sähe dann z.B. so aus:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
defaults:
# _posts
- scope:
path: ""
type: posts
values:
layout: single
author_profile: true
read_time: true
comments: true
share: true
related: true
show_date: true
classes:
- blocksatz
# _pages
- scope:
path: ""
type: pages
values:
layout: single
author_profile: true
classes:
- blocksatz
ABER ACHTUNG!
Dazu muss man wissen, dass CSS Klassenangaben, die im Front Matter eines Blog Posts oder einer Seite stehen, diesen Default Wert immer überschreiben. Solltet ihr also z.B. eine Seite im Front Matter ihrer Markdown Datei über die Angabe
1 2 classes: - widemit dem
wide
Layout von minimal mistakes versehen haben, gilt nur diese Angabe. Die Default-Angabe aus der_config.yml
gilt dann nicht mehr. Wollt ihr sowohlwide
, als auchblocksatz
, dann müsst ihr im Front Matter der Seite beide Klassenangaben auflisten, alsoblocksatz
nochmal wiederholen:
1 2 3 classes: - wide - blocksatz
Je nach Layout
Wir werden hier Blocksatz und Silbentrennung gemeinsam in einer CSS Klasse namens .blocksatz
umsetzen. Ihr könnt das aber natürlich auch auftrennen.
Das Anwenden von CSS Klassen auf den Layout Typ single
– den man ja i.d.R. für Posts und Pages benutzt – funktioniert beim minimal mistakes Theme anders als beim Layout Typ home
. Wenn man also nicht nur Blog Posts und Seiten im Blocksatz und mit Silbentrennung haben will, sondern auch seine Homepage, ist zu beachten:
- Bei
single
ist der gesamte Post bzw. Page Text in einer HTML<section>
mit der Class.page__content
untergebracht. - Bei
home
ist der Text dagegen in einem<div>
mit Klasse.archive
untergebracht.
Das benutzen wir in unserem CSS, das wir am Ende der Datei /assets/css/main.scss
anhängen. Sollte es diese Datei bei Dir im Repository noch nicht geben, einfach neu leer anlegen und darauf achten, dass sie so beginnt:
1
2
3
4
5
6
7
8
---
# Nur für Jekyll: Frontmatter erforderlich
---
@import "minimal-mistakes/skins/sunrise"; // Skin
@import "minimal-mistakes"; // Theme
// Eigene Styles hier anhängen
Blocksatz
Hier ist der Blocksatz CSS Code, den wir nun darunter anhängen:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/* Für alle Layouts außer home */
.blocksatz .page__content p,
.blocksatz .page__content ul,
.blocksatz .page__content ol,
.blocksatz .page__content li {
text-align: justify;
}
/* Speziell für home-Layout */
.blocksatz .archive p,
.blocksatz .archive ul,
.blocksatz .archive ol,
.blocksatz .archive li {
text-align: justify;
}
Wie ihr seht, habe ich hier Blocksatz für alle Paragraphen, unsortierte Listen, sortierte Listen und Listen-Items definiert. Das war für mich bisher ausreichend, aber ihr könnt ja gerne ergänzen, falls euch auffällt, dass etwas noch nicht im Blocksatz ist.
Silbentrennung
Spracheinstellung
Da ist es vor allem wichtig, die Sprache im erzeugten HTML korrekt zu hinterlegen. Heißt: Im <html>
tag muss die Sprachangabe danach stehen: <html lang="de-DE">
.
Das erreicht man, indem man in seiner _config.yml
dies auf root level einbaut:
1
locale: de-DE
Das zieht aber möglicherweise Probleme nach sich. Wenn ihr jetzt den ein oder anderen, englischsprachigen GUI Text vermisst, liegt das vermutlich daran, dass das minimal mistakes Theme jetzt deutsche GUI Texte anzeigen will, aber keine findet.
Sollte das der Fall sein, legt euch eine Datei ui-text.yml
im Ordner _data
in eurem Repository an und kopiert euch aus der gleichnamigen Datei des original minimal mistakes Themes den Abschnitt de-DE:
inklusive aller darunter folgenden Übersetzungen raus und setzt dies in eure eigene ui-text.yml
Datei in eurem Repository ein. – Damit sollten alle UI Texte wieder auftauchen und zwar auf Deutsch.
Hyphenation
Um jetzt auch die Silbentrennung zu aktivieren, müsst ihr in euren CSS Klassen, die wir oben schon in der /assets/css/main.scss
definiert haben, noch diese drei Zeilen zusätzlich mit aufnehmen:
1
2
3
hyphens: auto;
-webkit-hyphens: auto;
-ms-hyphens: auto;
Abschließend sieht die gesamte Datei /assets/css/main.scss
nun also so aus:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
---
# Nur für Jekyll: Frontmatter erforderlich
---
@import "minimal-mistakes/skins/sunrise"; // Skin
@import "minimal-mistakes"; // Theme
// Eigene Styles hier anhängen
/* Für alle Layouts außer home */
.blocksatz .page__content p,
.blocksatz .page__content ul,
.blocksatz .page__content ol,
.blocksatz .page__content li {
text-align: justify;
hyphens: auto;
-webkit-hyphens: auto;
-ms-hyphens: auto;
}
/* Speziell für home-Layout */
.blocksatz .archive p,
.blocksatz .archive ul,
.blocksatz .archive ol,
.blocksatz .archive li {
text-align: justify;
hyphens: auto;
-webkit-hyphens: auto;
-ms-hyphens: auto;
}
🔲
Hinterlasse einen Kommentar