Jekyll jako ciekawe narzędzie statycznych stron www cz. 1

Jozdowska Edyta · 11 Listopad 2019

Jekyll jest to prosty, modułowy, generator stron statycznych. Do swojego działania wykorzystuje takie narzędzia jak Markdown, Liquid, HTML i CSS.

Długie lata system blogowy kojarzył mi się z Wordpressem. No bo jak najszybciej postawić stronę z bazą danych, która będzie dość użyteczna do pisania swoich notatek i przemyśleń, nie będzie wymagała specjalnych zabiegów, które w miarę czasu zniechęcają do napisania czegokolwiek, gdyż by opublikować jakiś wpis, trzeba wykonać mnóstwo innych czynności - tylko wordpress lub inny opensource CMS. Logujesz się, siadasz i piszesz. Zapewne wiele ludzi myśli podobnie.

Otóż jak się okazuje, do tak prostych zadań można wykorzystać trochę mniejsze środowisko - i tu na scenę wkracza Jekyll.

Pewnego dnia mój facet wysłał mi linka do Jekyll’a. W pierwszym momencie stwierdziłam - ot ciekawostka. Naciskał na mnie “forkuj ten templet”, “sforkowałaś już?” itp. Stwierdziłam “ok”, skoro nie daje spokoju, coś musi być na rzeczy.

Sklonowałam repo wskazanego templeta z Jekyll’a i… mi się spodobało. Naprawdę jest to dobre narzędzie. Zastanawiam się jedynie nad jego wydajnością w miarę wzrostu wpisów i notatek. Rozrost treści zazwyczaj ma wpływ na szybkość działania systemu. Zobaczymy jak ta instalacja poradzi sobie z tym zadaniem. Moje obawy dotyczą głównie generacji feed’a dla postów - teraz gdy mam tylko kilka wpisów zajmuje to 0.629 sekund. To bardzo dużo. Zobaczymy jak będzie dalej.

1.Instalacja

Sama instalacja Jekyll’a jest bardzo prosta. Przedstawię sposób instalacji na dystrybucji linux’a Bunsen, gdyż tego właśnie środowiska używam. Instalacja Jekyll’a na innym środowisku opisana jest na stronie www projektu https://jekyllrb.com/docs/installation/

  1. Otwieramy terminal
  2. Wpisujemy komendę:
    1
    
    sudo apt install ruby-full build-essential
    
  3. Po zainstalowaniu powyższego, dodajemy zmienne środowiskowe do ~/.bashrc
    1
    2
    3
    4
    
    echo '# Install Ruby Gems to ~/gems' >> ~/.bashrc
    echo 'export GEM_HOME="$HOME/gems"' >> ~/.bashrc
    echo 'export PATH="$HOME/gems/bin:$PATH"' >> ~/.bashrc
    source ~/.bashrc
    
  4. No i instalujemy Jekyll’a:
    1
    
    gem install jekyll bundler
    
  5. Następnie możemy skolonować repo jendego z wielu themów Jekyll’a np Reverie - ten templet użyłam do tego bloga, lub też rozpocząć z nową czystą instalacją.

  6. Po skolonowaniu lokalnie templeta uruchamiamy polecenie:
    1
    
    bundle exec jekyll serve
    
  7. Powinniśmy otrzymać komunikat na terminalu:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    Configuration file: path_to_jekyll_template/_config.yml
             Source: path_to_jekyll_template
        Destination: path_to_jekyll_template/_site
     Incremental build: disabled. Enable with --incremental
       Generating... 
        Jekyll Feed: Generating feed for posts
                     done in 0.629 seconds.
     Auto-regeneration: enabled for 'path_to_jekyll_template'
     Server address: http://127.0.0.1:4000/blog/
      Server running... press ctrl-c to stop.
    
  8. Server działa. Otwieramy przeglądarkę i sprawdzamy nasz adres: 127.0.0.1:4000

Proste i wydajne. W następnym wpisie opiszę jak dodać prosty system powiązania postów według kategorii i tagów, tak aby działał dla github Pages.

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