Środowisko: Jekyll – konfiguracja narzędzi (VS Code, Git, SSH, Ruby)

Konfiguracja środowiska pracy dla bloga Jekyll: VS Code, Git, SSH, Ruby (DevKit) oraz lokalne uruchamianie serwera.

Środowisko: Jekyll – konfiguracja narzędzi (VS Code, Git, SSH, Ruby)

Wpis dokumentuje konfigurację środowiska pracy dla bloga opartego na Jekyll, hostowanego w GitHub Pages.


1. Visual Studio Code

Visual Studio Code (VS Code, VSC) to dla mnie podstawowy edytor do wszystkiego.

Służy do edycji plików źródłowych (Markdown, YAML, HTML, CSS) oraz do pracy terminalowej.

Instalacja: https://code.visualstudio.com/


2. Git

Git jest systemem kontroli wersji (SCM – Source Code Management). Umożliwia śledzenie zmian, pracę na gałęziach oraz synchronizację repozytorium z GitHub.

Instalacja: https://git-scm.com/

Podczas instalacji wybrałem:

  • Use Visual Studio Code as Git’s default editor
  • Override the default branch name: main
  • Git from the command line and also from 3rd-party software
  • Use bundled OpenSSH

Po instalacji konfiguracja tożsamości:

1
2
git config --global user.name "Moje Imię Nazwisko"
git config --global user.email "moj_adres_na_githubie@gmail.com"

Sprawdzenie:

1
git config --global --list

Dostęp do repozytorium realizowany jest przez SSH (alternatywnie możliwy jest HTTPS z użyciem tokena).


3. Konfiguracja SSH z GitHub

Generowanie klucza

Generuję parę kluczy kryptograficznych w celu uwierzytelniania połączeń z GitHub bez użycia hasła:

1
ssh-keygen -t ed25519 -C "moj_adres_na_githubie@gmail.com"

Wyświetlenie klucza publicznego:

1
type %USERPROFILE%\.ssh\id_ed25519.pub

gdzie %USERPROFILE% oznacza katalog domowy bieżącego użytkownika (home directory), w którym przechowywany jest katalog .ssh z kluczami SSH.

Dodanie klucza do GitHub

  1. GitHub → Settings\
  2. SSH and GPG keys\
  3. New SSH key\
  4. Title: np. Lenovo-X250-2026\
  5. Wklejenie klucza\
  6. Add SSH key

Test połączenia:

1
ssh -T git@github.com

Oczekiwany wynik:

1
Hi marcin-szewczyk-code! You've successfully authenticated, but GitHub does not provide shell access.

4. Ruby (wymagane przez Jekyll)

Jekyll jest aplikacją (generatorem stron statycznych) napisaną w języku Ruby. Dlatego lokalne uruchamianie bloga wymaga zainstalowanego interpretera Ruby oraz menedżera pakietów.

Przy okazji, Ruby ma ciekawie sformułowaną filozofię: „designed to make programmers happy” (Y. Matsumoto)1.

Instalacja: https://rubyinstaller.org/

Wybrana wersja: Ruby+Devkit 3.3.x

Po instalacji uruchomiłem:

1
ridk install

Instalacja Ruby pod Windows Rys. 1. Instalacja Ruby pod Windows.

Narzędzie ridk install instaluje więc środowisko MSYS2 oraz toolchain (gcc, make), wymagane do kompilacji gemów z rozszerzeniami natywnymi.

Sprawdzenie:

1
ruby -v

5. Instalacja zależności projektu (blog-pl)

Instalację wykonuję osobno dla każdego repozytorium:

1
2
3
4
5
6
cd "C:/Git/repositories/blog-pl"
gem install bundler
bundle install
cd "../blog-en"
gem install bundler
bundle install

To instaluje:

  • Bundler\
  • wszystkie gemy z Gemfile\
  • w tym Jekyll i używany motyw (np. Chirpy)

Pakiety (biblioteki) w Ruby dystrybuowane są jako gems (klejnoty).


6. Uruchomienie lokalne

Dla blog-pl:

1
bundle exec jekyll s

Domyślny port Jekylla to 4000.

Podgląd: http://127.0.0.1:4000/

Dla blog-en (na innym porcie):

1
bundle exec jekyll s -P 4001

Podgląd: http://127.0.0.1:4001/

Uruchamia to lokalne serwery deweloperskie Jekyll (tryb development).


Podsumowanie

Efekt końcowy konfiguracji:

  • VS Code zainstalowany
  • Git zainstalowany i działa z GitHubem przez SSH
  • Repozytoria zsynchronizowane
  • Ruby + DevKit kompilują zależności
  • Jekyll (Chirpy) uruchamia się lokalnie na portach 4000 i 4001

Robię → działa → jest fajnie.

  1. Y. Matsumoto, The Philosophy of Ruby, Artima Developer, 2003.
    https://www.artima.com/articles/the-philosophy-of-ruby

    „For me the purpose of life is partly to have joy. Programmers often feel joy when they can concentrate on the creative side of programming. So Ruby is designed to make programmers happy.” ↩︎

© Marcin Szewczyk. Wszelkie prawa zastrzeżone.