Jak funguje tenhle web a přidávání článků z mobilu

Tehle web pohání Jekyll. O tom už jsem se zmiňoval v Tohle je zkouška…

Jekyll je generátor statických stránek. Obsah jde psát přímo v HTML, nebo v markdownu (I ❤️ Markdown!). Při využití Githubu jako hostingu jde udělat web prakticky zadarmo, pokud se člověk spokojí s url username.github.io. Pokud ne, stačí si zaplatit za pár korun vlastní doménu a je klid. 🙂

I tenhle blog tak chvilku jel. Problém hostování na Githubu je, že při hostování Jekyll stránek nepodporuje pluginy. To nemusí vadit, pokud použitá šablona žádné nepoužívá. Pokud jo, dá se to vyřešit dvěma způsoby:

  1. buildem stránek u sebe v PC a nahráním pouze výsledných HTML/CSS/JS dokumentů
  2. použitím Githubu jenom jako úložiště a zbytek nechat na službách, jako je třeba Netlify

Já jsem nakonec z vartianty 1 přešel na variantu 2, a získal tak možnost přidávat příspěvky odkudkoli. Prostě jenom nahraju nový článek do Github repozitáře, a o zbytek se postará Netlify. Tadá 🎉🎉! Máme vyhráno.

Jenže ne tak docela.

Chvilku jsem zkoumal jak to reálně udělat, třeba z iPhonu nebo iPadu. Napsat příspěvek v markdownu není problém. Jak to ale dostat ne Github? Sice existuje appka, která push na Github umí, ale je docela drahá. No a protože pro ni nemám další využítí, nechtělo se mi za ni utrácet. A tak jsem přemýšlel dál.

Shodou okolností se mi doma už pár let válí nepoužívané Raspberry Pi 3. Při pohledu na nezapojenou černou krabičku na stole mi v hlavě začal růst nápad – co použít RPi jako nástroj, který můžu použít k postování na blog když nebudu u PC? Že jsem od toho února, kdy jsem tenhle blog pustil ven nepsal ani na PC je věc, kterou v tichosti přejdeme, ano?

No, a ono to jde! Stačí jen vyřešit několik drobných problémů.

Problém: Jak se připojit k RPi z iPhonu/iPadu?
Řešení: Existuje aplikace PiHelper. Ta umožňuje sledovat stav RPi v reálném čase, ale taky připojit se k terminálu, nebo nahrávat soubory na vzdálené Pi přes SFTP. Přesně to, co potřebuju.

Problém: Jak se připojit k RPi, když doma nemám statickou IP?
Řešení: Existuje služba PiTunnel. Ta pomůže na RPi nastavit tunel, ke kterému se dá z PiHelperu připojit. Mimo to taky ukazuje stav RPi v reálném čase, a nabízí možnost otevření terminálu v prohlížeči. Taky dobrý.

Jediná nevýhoda je, že free tarif umožňuje jenom 1 připojení RPi, a co chvilku se změní host a port, na kterém je moje RPi dostupné. Změna jde v PiHelperu udělat během chvilky, takže je to fakt jenom mírné omezení.

Na samotném RPi mám nastavené ještě Github CLI, připojený svůj Github účet a stáhnutý repozitář s blogem.

Samotné workflou přidání příspěvku je velice jednoduché:

  1. Napíšu článek
  2. V PiHelperu si otevřu přístup k RPi (pokud je potřeba, tak upravím host a port)
    1. Přes SFTP nahraju článek (plus případné fotky) do složky s webem na RPi
    2. Přepnu se do terminálu a sérii gitových příkazů pošlu článek do světa

To je vše. O zbytek už se automaticky postará Netlify. Asi tak za minutu a půl si můžu prohlídnout svůj nový, krásný článek. Máme radost, Vinci!

Jde to snadněji? Určitě. Ale je to za mě relativně jednoduché řešení, když budu chtít psát na blog třeba z dovolené někde na pláži. Nebo tak něco. Nebo taky ne. 🙂


Pokud mi chceš k něčemu co jsem v tomhle příspěvku napsal něco říct, neváhej a pošli mi mail, můžeme to probrat.