Medium

Kilka blogów które followuję jest (było?) właśnie na Medium: ProAndroidDev, Kt.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 niezmiernie 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

Ten blog, a także KotlinTesting.com stoją właśnie na Ghost CMS. Pod spodem działa na NodeJS. Ma panel administracyjny i kilka przydatnych integracji. Z wyglądu 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 nie nauczyłem się go nigdy porządnie obsługiwać. Wordpressa można oczywiście hostować u siebie, jak i na zewnętrznych płatnych hostingach.

Jedyne strony na Wordpressie którymi administruję to strony-wizytówki klientów, które dany klient sam sobie edytuje.  

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:

GitHub Pages
Websites for you and your projects, hosted directly from your GitHub repository. Just edit, push, and your changes are live.

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ę.

Websites for your GitLab projects, user account or group
GitLab’s Pages feature allows you to create websites for your GitLab projects, groups, or user account.

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.

Medium? Wordpress? Inna platforma? Na czym blogujesz? Daj znać w komentarzu!

Co jest jeszcze istotne z perspektywy blogera IT? Są to na pewno metody prezentowania kodu w blog poście. W kolejnym wpisie, za dwa tygodnie, opowiem o różnych sposobach na dołączanie snippetów kodu w kolejnym wpisie.  Jeśli już subskrybujesz newsletter, to dostaniesz wpis od razu jak zostanie opublikowany. Jeśli nie jesteś jeszcze na liście, możesz się zapisać tu na dole: