Gdy zaczynałem pisać pierwszy post na mojego bloga, myślałem tylko o tym że chcę podzielić się swoją wiedzą z innymi, wymienić doświadczenia. Nie miałem zamiaru spędzać długich godzin szukając właściwego rozwiązania do realizacji mojego celu. Potrzebowałem narzędzia, które będzie proste i przyjazne w użyciu. Dlatego też odrzuciłem te bardzo rozbudowane i skompliowane jak choćby WordPress. Po krótkiej chwili namysłu wybór padł na platformę blogową przygotowaną przez Google - blogspot vs blogger. Dość szybko okazało się jednak, że wszystko to co dostawałem z pudełka razem z wybraną platformą, było za mało patrząc na to czego oczekiwałem.

Markdown

Edytory WYSIWYG wcale nie są tak wygodnym narzędziem na jakie mogą wyglądać. Natomiast przygotowywanie artykułów w postaci HTMLa jest czasochłonne a sama treść artykułu ginie w gąszczu znaczników. Co więcej, pracując z kodem czy też przygotowując dokumentację, bardzo często pierwszym wyborem jest plik .md (Markdown). Jego składnia jest prosta i łatwa do nauki. Przygotowując taki dokument możemy skupić się wyłącznie na treści a nie sposobie w jaki zostanie ona wyświetlona.

Elastyczność

Z jednej strony oczekujemy, że platforma sama w sobie dostarczy gotowe do użycia szablony. Z drugiej strony, zawsze znajdą się elementy, które będą bardziej lub mniej nam pasowały - będziemy starali się dostosować je do własnych potrzeb. Edycja szablonów przez narzędzia typu blogger czy podobne jest niestety mało przyjazna. Co więcej, zmuszeni jesteśmy do operowania na otwartym sercu - surowy kod HTML, CSS itd. Oczekiwalibyśmy dużo większej elastyczności i swobody, jaką może zapewnić nam edycja plików CSS, JS, HTML tam gdzie potrzebujemy oraz korzystania z gotowych komponentów tam gdzie potrzebujemy, np. komentarze dostarczane przez Disqus czy też szablony w formacie plików YAML.

GitHub Pages

Jednym z najważniejszych wymagań stawianym przeze mnie było wersjonowanie kodu, w tym wypadku treści artykułów. Utrzymywanie i organizowanie różnych wersji przygotowywanego materiału na własną rękę jest dość uciążliwe. Dochodzi do tego, zawsze, niebezpieczeństwo potencjalnej utraty danych w wyniku awarii sprzętu, np. pad dysku twardego.

Odpowiedzią na powyższy postulat jest GitHub. Dzięki integracji GitHub Pages z Jekyllem, możemy przechowywać po stronie GitHuba wersjonowny content, który następnie serwowany jest z wykorzystaniem silnika Jekyll.

Static content

Równie ważna jest szybkość działania platformy. Zamieszczane przeze mnie artykuły powinny być w jakiś sposób przechowywane, np. w postaci wpisów w bazie danych. Jednak równie dobrze, z uwagi na brak iterakcji z użytkownikiem, mogę być organizowane w postaci statycznych plików serwowanych następnie przez serwer www. Zaletą takiego rozwiąznaia jest przede wszystkim szybkość, przenośność, skalowalnosć. Narzut związany z bazą danych nie jest tutaj niezbędny.

Do serwowania statycznej treści bardzo dobrze nadaje się Jekyll, a ponadto możemy postawić sobie lokalne środowisko i podglądać jak nasz post będzie docelowo wyglądał, jeszcze zanim wyląduje na serwerze.

Konsola

No i w końcu najważniejsze - konsola. Podstawowym narzędziem każdego software developera jest konsola. To ona daje nam pełną kontrolę nad wszystkim co robimy i czym zarządzamy. Takiego też narzędzia poszukujemy również podczas codziennej pracy z naszym blogiem. Treść posta możemy przygotować w dowolnym edytorze, np. vim, szablony, arkusze styli czy surowego HTMLa również możemy edytować z poziomu konsoli. Następnie przygotowany tak dokument dodamy do repo i opublikujemy na GitHub Pages. Oczywiście również z konsoli.

Podsumowując, korzystanie z gotowych platform wydaje się być dobrym rozwiązaniem jeśli chcemy szybko wystartować z naszym blogiem. Jednak wraz z rozwojem naszego produktu, przychodzi potrzeba nadania mu indywidualnego charakteru a więc dostosowania go wedle własnego uznania. Dodatkowo mając na uwadze wymienione powyżej wymagania, może szybko okazać się iż proces customizacji naszego bloga może być czasochłonny. Możemy jednak skorzystać z innych przyjanych i sprawdzonych rozwiązań a takim jest zestaw: GitHub Pages + Jekyll. Dodatkowo community wokół tego projektu jest bardzo aktywne a wachlarz dostępnych szablonów bardzo bogaty. Tym sposobem w zaledwie kilka wieczorów, w zależności od naszych potrzeb, możemy równie niskim kosztem zacząć publikować nasze posty na platformie o dużo większej elastyczności z naszym ulubionym interface’m czyli konsolą.

Zatem, udanego blogowania!

Przydatne linki:

tagi:  ,  ,  , 

Komentarze