Jak zbudować digital garden w Obsidian i Jekyll. Mój setup krok po kroku
Ta strona, którą teraz czytasz, to mój digital garden. Nie blog. Nie portfolio. Cyfrowy ogród, w którym pomysły rosną w swoim tempie.
Cała ta strona to folder z plikami Markdown, które piszę w Obsidian, a Jekyll zamienia je w stronę internetową za darmo, hostowaną na GitHub Pages.
Jeśli chcesz zbudować coś podobnego (albo po prostu szukasz sposobu jak założyć bloga, który nie wygląda jak każdy inny), ten post opisuje mój cały setup. Krok po kroku.
Czym jest digital garden
Digital garden to publiczna kolekcja notatek. Nie blog z datami i presją publikowania. Nie wiki z formalną strukturą. Coś pomiędzy.
W tradycyjnym blogu piszesz post, publikujesz, idziesz dalej. Post staje się zamrożony w czasie. W digital garden notatki żyją. Wracasz do nich, poprawiasz, rozbudowujesz, łączysz z nowymi pomysłami. Niektóre są gotowe. Inne to szkice. I to jest OK.
Dla mnie digital garden rozwiązał problem, który miałem z blogowaniem: presję pisania “skończonych” tekstów. Tu nie muszę niczego kończyć. Mogę opublikować notatkę, która jest w 60% gotowa, i wrócić do niej za miesiąc. Albo nie wrócić. Nikt nie narzeka.
Jeśli chcesz wiedzieć więcej o tym, jak prowadzę notatki, przeczytaj mój post o tym jak zacząć z Obsidian.
Dlaczego Obsidian + Jekyll (a nie Notion, WordPress, Astro…)
Rozważałem kilka opcji:
Obsidian Publish to oficjalne rozwiązanie od twórców Obsidian. Klikasz “publish” i notatka jest online. Proste, ale płatne (kilkanaście dolarów miesięcznie) i masz ograniczoną kontrolę nad wyglądem.
WordPress to overkill na digital garden. Za dużo opcji, za wolny, za dużo utrzymania. Digital garden to pliki Markdown, nie baza danych MySQL.
Astro / Next.js byłyby dobre (buduję w Next.js na co dzień), ale to jak branie kombajnu do skoszenia trawnika. Jekyll robi to, czego potrzebuję, bez zbędnej złożoności.
Jekyll + GitHub Pages wygrał, bo:
- darmowy hosting na GitHub Pages
- natywna obsługa Markdown (Jekyll to generator statycznych stron z plików .md)
- mogę napisać custom plugin do wikilinków Obsidian
- deploy automatyczny: push na GitHub = strona zaktualizowana
- pełna kontrola nad każdym pikselem
Architektura: jak to działa
Cały flow wygląda tak:
Obsidian vault (notatki .md)
↓ git push
GitHub repo
↓ GitHub Actions / GitHub Pages
Jekyll build (konwersja .md → .html)
↓
mrellwart.com (statyczna strona)
W praktyce: piszę notatkę w Obsidian, robię git push, i za minutę notatka jest online. Zero logowania do panelu. Zero klikania “opublikuj”. Jeden command w terminalu.
Krok po kroku: jak to postawić
1. Przygotuj vault Obsidian
Nie musisz publikować całego vaulta. Ja mam folder _notes z notatkami, które chcę upublicznić. Reszta vaulta (osobiste notatki, drafty, daily notes) jest w .gitignore i nigdy nie trafia na stronę.
Struktura mojego vaulta:
vault/
├── _notes/ ← te idą na stronę
│ ├── o-mnie.md
│ ├── notion-vs-obsidian.md
│ └── jak-zaczac-z-obsidian.md
├── daily/ ← prywatne, nie publikowane
├── projects/ ← prywatne
└── .gitignore
2. Postaw Jekyll
Jeśli nigdy nie używałeś Jekyll, nie martw się. To generator statycznych stron napisany w Ruby. Instalujesz go, dajesz mu folder z plikami Markdown, a on wypluwa gotowy HTML.
bash
gem install bundler jekyll
jekyll new my-garden
cd my-garden
jekyll serve
Otwierasz localhost:4000 i masz stronę. Teraz przenosisz swoje notatki z Obsidian do folderu Jekyll i zaczynasz konfigurować.
Jest kilka gotowych szablonów Jekyll stworzonych specjalnie pod digital garden (np. digital-garden-jekyll-template od Maxime Vaillancourt). Możesz zacząć od jednego z nich i modyfikować pod siebie.
3. Custom plugin do wikilinków
To jest kluczowy element. Obsidian używa [[wikilinków]], ale Jekyll ich nie rozumie natywnie. Potrzebujesz pluginu, który konwertuje [[nazwa notatki]] na prawdziwy HTML link <a href="/nazwa-notatki">nazwa notatki</a>.
Piszesz prosty plugin Ruby w folderze _plugins/:
ruby
# _plugins/wikilinks.rb
Jekyll::Hooks.register :notes, :post_render do |note|
note.output = note.output.gsub(/\[\[([^\]]+)\]\]/) do |match|
title = $1
slug = title.downcase.strip.gsub(' ', '-')
"<a href='/#{slug}'>#{title}</a>"
end
end
To jest uproszczona wersja. Mój plugin obsługuje też aliasy ([[slug|wyświetlany tekst]]), backlinki i notatki, które jeszcze nie istnieją. Ale na start ta wersja wystarczy.
4. Flexoki jako schemat kolorów
Flexoki to ciepła, niskokonkrastowa paleta kolorów stworzona przez Steph Ango (CEO Obsidian). Używam jej, bo:
- nie pali oczu o 2 w nocy
- wygląda elegancko bez wysiłku
- ma wersję light i dark
- jest darmowa i open source
Wystarczy pobrać zmienne CSS z repozytorium Flexoki i podpiąć je do swojego szablonu Jekyll.
5. Deploy na GitHub Pages
Tworzysz repozytorium na GitHub, pushes vault (lub jego publiczną część) i włączasz GitHub Pages w ustawieniach repo. GitHub automatycznie buduje Jekyll i hostuje stronę.
bash
git init
git remote add origin [email protected]:twoj-user/twoj-garden.git
git add .
git commit -m "initial garden"
git push -u origin main
W ustawieniach repo: Settings → Pages → Source: Deploy from a branch → main. Gotowe. Strona jest live pod twoj-user.github.io/twoj-garden.
Chcesz własną domenę? Dodaj plik CNAME z Twoją domeną i skonfiguruj DNS. GitHub Pages obsługuje custom domeny i SSL za darmo.
Codzienny workflow
Mój typowy dzień z digital garden:
- Otwieram Obsidian
- Piszę notatki (daily notes, drafty postów, pomysły)
- Kiedy notatka jest gotowa do publikacji, przenoszę ją do
_notes/ git add . && git commit -m "nowa notatka" && git push- Za minutę jest online
Nie otwieram żadnego panelu CMS. Nie loguję się do żadnego dashboardu. Nie klikam “opublikuj”. Piszę w Obsidian, pushuję, koniec.
Jeśli edytuję starą notatkę (a robię to często, bo to digital garden, nie blog), ten sam flow: edytuję w Obsidian, push, gotowe.
Alternatywy, jeśli nie chcesz Jekyll
Nie musisz używać Jekyll. Inne opcje do postawienia digital garden z Obsidian:
- Quartz (darmowy, dedykowany pod Obsidian, najłatwiejszy start)
- Obsidian Digital Garden plugin (darmowy, publikujesz prosto z Obsidian)
- Obsidian Publish (płatny, zero konfiguracji)
- Astro + Starlight (jeśli chcesz pełną kontrolę i znasz JS)
Jekyll wybrałem, bo lubię mieć pełną kontrolę i nie boję się Ruby. Ale jeśli zaczynasz, Quartz jest prawdopodobnie najszybszą drogą do działającego digital garden.
Dlaczego to lepsze niż tradycyjny blog
Blog mówi: “napisz coś skończonego, opublikuj, idź dalej”.
Digital garden mówi: “napisz coś, opublikuj, wracaj, poprawiaj, łącz z nowymi pomysłami”.
Dla mnie to działa, bo:
- nie mam presji pisania “gotowych” postów
- wracam do notatek i je rozbudowuję (ten post pewnie też się zmieni)
- wikilinki tworzą sieć połączeń, której blog nie daje
- ludzie odwiedzają stronę i zostają dłużej, bo skaczą między notatkami
Jeśli myślisz o tym, jak założyć bloga jako programista, rozważ digital garden. To inny format, ale dla osób, które lubią myśleć nieliniowo i nie chcą się zmuszać do regularnych publikacji, może być dokładnie tym, czego szukasz.
Moja strona zaczęła się od jednej notatki. Teraz jest ich kilkadziesiąt. I codziennie przybywa.
Powiązane wpisy
-
Obsidian Sync vs iCloud vs Git. Jak synchronizuję vault między laptopem a telefonem
Trzy lata temu siedziałem w kawiarni w Krakowie z padającym laptopem. Notatka, której potrzebowałem do spotkania za 2...
-
Strapi CMS. Dlaczego wybrałem go zamiast WordPress i jak go używam z Next.js
Kiedy zakładałem agencję interaktywną, musiałem wybrać stack, na którym będę budować projekty klientów. Frontend był ...
-
Szablony w Obsidian. Moje gotowe templates do daily notes, postów na blog i projektów klienta
Pierwszy rok w Obsidian pisałem każdą notatkę od zera. Daily notes klepałem ręcznie co rano, postowi blogowemu wpisyw...