Jaki blog dla developera?

Czy platforma którą wybierzemy sobie do naszego developerskiego bloga jest tak naprawdę istotna?
W skrócie, i tak, i nie. Na początku ścieżki blogerskiej jest mniej ważna, pod warunkiem że jesteśmy w stanie ją sprawnie obsłużyć.

W tym wpisie przedstawię kilka platform z którymi mam styczność.

  1. Medium
  2. Dev.To
  3. Ghost CMS
  4. WordPress
  5. Statyczne strony na Gicie
  6. Najważniejsza cecha platformy blogowej

Medium

Kilka blogów androidowych które followuję jest (było?) właśnie na Medium: ProAndroidDevKt.Academy i Android Pub. Gdy startowałem ze swoim blogiem o testowaniu w Kotlinie: KotlinTesting.com, również chciałem być na Medium. Jednak spóźniłem się o kilka miesięcy  do publikacji na tej platformie nie dało się już dodać własnej domeny. A ze swojej domeny jestem ogromnie zadowolony, także przekierowanie nie wchodziło w grę.

Jako czytelnik przestałem z Medium aktywnie korzystać, gdy coraz bardziej zaczęły mnie irytować paywalle.

Publikując na Medium można też zarobić troszkę pieniędzy. Czy warto? Nie wiem, nie próbowałem. Przy zasięgach blogów docierających do niszy (w moim przypadku osób które piszą unit testy w Kotlinie) kwoty wypłacane przez Medium to groszowe sprawy.

Żeby nie było, że tak demonizuję Medium  ma swoje niewątpliwe zalety. Wokół tego portalu jest już zbudowana pewna społeczność do której mamy szanse dotrzeć bez promocji w innych miejscach.

Medium ma także całkiem przyjemny i rozbudowany edytor. Obsługuje standardowe znaczniki, Markdowna (link) i jest w stanie embedować treści z innych miejsc.

Kolejnym wartościowym elementem Medium są statystyki, które dostajemy od samego portalu. Bez konfigurowania zewnętrznych narzędzi (takich jak na przykład Google Analytics) mamy informacje o tym ile razy w danym okresie nasze artykuły zostały wyświetlone i ile osób je przeczytało.

Moje statystyki na Medium. Nie jest dobrze, ale nie jest też źle. Można powiedzieć, że jest średnio. Od ponad roku nie używam aktywnie tego portalu.

Dev.to

Portal reklamują jako place where coders share, stay up-to-date and grow their careers. Czasami natrafię na artykuł opublikowany właśnie tam, jednak od strony autorskiej nie miałem okazji się nim pobawić.

Platforma na której stoi portal jest open source i można ją hostować u siebie.

Nie zamierzam w tym momencie zgłębiać tajników Dev.to, niemniej obserwuję rozwój platformy i społeczności z nią związanej.

W mojej bańce informacyjnej (blogi Android, Google Experts) najczęstszym wyborem jest Medium, a Dev.to widzę raczej jako miejsce dla frontendu i nowych technologii. Na pewno na tej platformie znajdziemy również inne treści  mam jednak wrażenie, że na pierwszej stronie prezentowane są przede wszystkim treści związane z nowymi technologiami.

Ghost CMS

KotlinTesting.com stoji właśnie na Ghost CMS. Pod spodem działa na NodeJS. Ma panel administracyjny i kilka przydatnych integracji. Z wyglądu panel administratora przypomina Medium, ma też dobrze wyglądające motywy udostępniane zarówno bezpłatnie oraz płatnie.

Panel administracyjny KotlinTesting.com

Edytor wygląda podobnie jak na Medium, a jedyne problemy jakie z nim miewam to responsywność na urządzeniach mobilnych. W którejś wersji Ghosta straciłem systemową autokorektę i podpowiadanie słów na iOS, choć na Androidzie działa to dobrze.

edytor Ghost CMS, KotlinTesting.com

Ghost można postawić u siebie na serwerze lub skorzystać z hostingu twórców platformy. Obie opcje są godne rozważenia.

WordPress

Dla sporej części ludzi WordPress jest oczywistem wyborem  technologia istnieje już od dawna, społeczność blogerów chętnie tego używa i jest od groma pluginów które umożliwiają dostosowanie wyglądu i funkcjonalności pod swoje potrzeby.

Ja osobiście nie lubię WordPressa. Być może z powodu mojej niechęci do PHP, albo z tak prozaicznego powodu, że dopiero uczę się go obsługiwać. WordPressa można oczywiście hostować u siebie, jak i na zewnętrznych płatnych hostingach.

Większość stron na WordPressie którymi administruję to strony-wizytówki klientów, które dany klient sam sobie edytuje.

update 2022: musiałem się przeprosić z WordPressem. Wychodzi na to, że ten CMS daje najwięcej możliwości integracji – czy to z Woocommerce (sklepy internetowe), Publigo (platforma do kursów z której korzystam) czy też Elementor (budowanie landing page).

Statyczne strony w repozytoriach gitowych

Za darmo… to uczciwa cena

Weźmy na warsztat dwa popularne serwisy z Gitem, Githuba oraz Gitlaba. Oba umożliwiają hostowanie statycznych stronek w ich domenie  odpowiednio pod adresami {username}.github.io oraz {username}.gitlab.io, a także podłączenie do nich zewnętrznej domeny.

Można też podłączyć swoją domenę do Github Pages. Nie opiszę tutaj szczegółowo konfiguracji  dokumentację znajdziecie w linku poniżej:

Inną opcją jest GitLab. Na tej platformie dostajemy również system CI/CD. Dlaczego może to być użyteczne?

Dajmy na to, że mamy stronę zbudowaną w Angularze czy też w ReactJS. Na samo repozytorium nie wypychamy katalogu /build, tylko kod źródłowy i instrukcje do budowania aplikacji (tutaj .gitlab-ci.yml). Na CI Gitlaba odpalamy automatycznie npm install i po zbudowaniu wskazujemy który katalog zawiera docelową stronę.

De facto strony hostowane na tych serwisach będą statyczne. Nie mamy tutaj wbudowanego edytora, nie możemy wprost zarządzać postami, systemem komentarzy czy też mailingiem. Są to pewne ograniczenia, jednak da się sensownie wykorzystać potencjał drzemiący w statycznych stronach.

Istnieje kilka ciekawych rozwiązań do generowania statycznego contentu. Sam Github proponuje użycie Jekylla. Jeśli chcielibyśmy użyć czegoś innego, to warto poszukać odpowiadającego nam generatora statycznych stron. Ludzie chwalą sobie takie narzędzia jak Gatsby i Hugo. Nie mam doświadczenia z tymi narzędziami, ale chętnie się dowiem jak wygląda ich stosowanie w praktyce. Używasz takich frameworków do swojego bloga? Daj znać w komentarzu!

Gdy już wybierzemy nasz serwis i zdecydujemy się na konkretny static site generator, możemy skonfigurować pipeline, na przykład na Gitlabie, tak żeby komenda:

git push origin master

powodowała zbudowanie projektu, wygenerowanie html z markdowna i umieszczenie gotowego contentu na naszej stronie na Githubie czy też Gitlabie.

Kolejną niewątpliwa zaleta takich rozwiązań? Trzymanie blog postów pod kontrolą wersji to świetna sprawa. Zachęcam.

Statyczny blog na repozytorium gitowym? To jest właśnie opcja którą gorąco polecam na początek. Jako osoba w IT, najczęściej mamy już konto na jakimś serwisie gitowym, więc możemy właśnie tego typu rozwiązań użyć do hostowania swojego bloga.

Nie ma przeciwskazań żeby używać innych statycznych hostingów  ale po co, skoro Github i Gitlab dostarcza takie opcje w uczciwej cenie?

Najważniejsza cecha platformy: wygoda pisania

W celu postawienia swojego bloga powinniśmy się skupić na tym, żeby jak najłatwiej było nam pisać do niego blog posty. Im więcej konfiguracji będziemy musieli przeprowadzać, tym większa szansa, że nasz zapał minie.

Co polecam na początek? Github Pages +  Jekyll (static site generator) albo po prostu założenie konta na Medium.

Platformę na której blogujemy można zawsze zmienić (chociaż przypuszczam że im większy blog, tym bardziej problematyczne może to być). Im łatwiej będzie nam pisać na danej platformie, tym większa szansa, że będziemy pisać regularnie.