Stawiając tego bloga, spotkałam się z Jekyll’em po raz pierwszy. Jednak nie byłabym sobą, gdybym nie rozszerzyła templeta jakiego zainstalowałam o własne funkcjonalności. Są to między innymi:
- Ustawienie widoku kategorii i tagów
- Dynamiczne menu
- Dodanie opcji “Kopiuj” i oznaczenie kodu dla generowanych fragmentów kodu tzw. highlight
- Tłumaczenie daty z języka angielskiego na polski - ten wpis właśnie czytasz
1.Prosty przepis na dodanie i18Ln na podstawie daty
Utwórz plik w katalogu _includes
o nazwie date.html
i wprowadź do niego poniższy kod:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{{ include.date | date: "%d" }}
{% assign m = include.date | date: "%-m" %}
{% case m %}
{% when '1' %}Styczeń
{% when '2' %}Luty
{% when '3' %}Marzec
{% when '4' %}Kwiecień
{% when '5' %}Maj
{% when '6' %}Czerwiec
{% when '7' %}Lipiec
{% when '8' %}Sierpień
{% when '9' %}Wrzesień
{% when '10' %}Październik
{% when '11' %}Listopad
{% when '12' %}Grudzień
{% endcase %}
{{ include.date | date: "%Y" }}
Liquid jest interpreterem szablonów dlatego jak w Smarty, stosowanie w nim nowych zmiennych, nie jest zalecane, ale istnieje inny sposób zapisu powyższego kodu. Może nie jest do końca elegancki. Liquid
nie ma metody na utworzenie tablicy, więc jest to swego rodzaju obejście.
W dodatku ‘mój mężczyzna’ twierdzi, że używanie splitów i innych wymysłów jest po to aby się popisać i zaburza przejrzystość. Cóż, nie dla mnie :)
1.1.Krótsza forma powyższego kodu
No i moim zdaniem jest większa możliwość rozszerzenia go, jak by doszedł drugi język.
1
2
3
4
5
6
7
8
9
10
{{ include.date | date: "%d" }}
{% assign months = "Styczeń,Luty,Marzec,Kwiecień,
Maj,Czerwiec,Lipiec,Sierpień,
Wrzesień,Październik,Listopad,Grudzień" | split: ',' %}
{% assign m = include.date | date: "%-m" | mminus: 1 %}
{{ months[m] }}
{{ include.date | date: "%Y" }}
Serio, to całość. Nic innego nie potrzeba.
2.Sposób użycia
Sposób użycia w plikach Jekyll’a jest następujący:
1
{% include date.html date=post.date %}
Wynik jet taki, jak mam na blogu np:
1
10 Listopad 2019
Jekyll i jego prostota zaczyna mi się podobać coraz bardziej :).