i18ln w Jekyll dla daty

Jozdowska Edyta · 11 Listopad 2019

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:

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 :).

Jozdowska Edyta * FullStack Developer

Pisanie kodu jest moją pasją. Zajmuję się tym od przeszło 10 lat, z większą lub mniejszą intensywnością.
Piszę kod w PHP, JS, SCSS i Python. Nie stronię też od poznawania nowych, lub jak kto woli starych rozwiązań jak Jekyll oraz innych języków np. Java.

więcej o mnie