Išmokęs programuoti norėjau kepti saitus vieną po kito. Tada rodyti juos pasauliui. Bet hostingas kainuoja. Susidėjus daugiau puslapių gaunasi visai nemaža sumelė.

Pradėjau ieškoti nemokamų alternatyvų. Radau visai neblogų, lengvai naudojamų, greit veikiančių ir beveik nieko nekainuojančių. Pasidalinu istorija kaip hostinu šį blogą, savo portfolio ir dar keletą saitų.

# Mano naudojamas nemokamas stack'as

  • Jekyll - Varikliukas. Transform your plain text into static websites and blogs. Simple. Static. Blog-aware.
  • Surge - Hostingas. Simple, single-command web publishing. Publish HTML, CSS, and JS for free, without leaving the command line.
  • Zoho Mail - El. paštas. Experience email that provides a clean, ad-free, minimalist interface alongside features geared for business and professional use.
  • Disqus - Komentarai. Disqus offers the best add-on tools for site owners to power discussions, increase engagement, and earn revenue.
  • Formspree - Formos. Functional HTML forms. Just send your form to our URL and we'll forward it to your email. No PHP, Javascript or sign up required — perfect for static sites!

Bereikia domeno. Tiks bet koks domenų saugotojas, kainuos iki 10 eurų metams.

# Išlygos ir apribojimai

Kaip jau supratai, šitie dalykai tinka tik fronendui. Realiai gali sumesti savo HTML, CSS ir JavaScriptus, bet ne PHP, Ruby ar kitas serveryje veikiančias programas. Kai esi frontenderis, tai maža čia bėda.

Taip pat negali daryti visokių serverių redirectų, fancy SEO stuff, sunkiai veikia Angularo HTML5 routingas, servisas buvo pusdieniui užDDoSintas, bet common, čia gi nemokamas servisas. Be to, jie tvarkėsi tikrai greitai, profesionaliai ir visą laiką dalinosi informacija apie padėtį.

Atvirai kalbant, visi tie apribojimai, man atrodo kaip pliusai - mažiau galvos kvaršinimo dėl ne itin svarbių dalykų. Dar atviriau kalbant, surge.sh pahostinti saitai veikia greičiau, nei WordPress'as pahostintas serveriai.lt. Tikriausia dėl to, kad statiški puslapiai visada veiks greičiau nei dinamiškai sugeneruoti.

# Kodėl Jekyll?

Apie Jekyll sužinojau iš Travis Nielsono, žiūrėdams kaip jis sudizainina, o tada sukodina savo porfolio. Peržiūrėjau visą, beveik neprasukdamas...

Jekyll naudoti tikrai paprasta. Iki tol naudojau Wordpressinius saitus. Ką nors pakeisti, reikdavo kurti child theme, tada ieškoti atsakingų funkcijų ir jas modifikuoti. Painful ir užima nemažai laiko.

Tuo tarpu Jekyll'as yra visiškai paprastas. Jis turi visokiausių pluginų, šiek tiek globalių variablų, paprastą įterpimų mechanizmą, todėl pakeitimus daryti gali greitai ir lengvai.

Man Jekyll'as yra šiek tiek patūrbintas plain HTML'as.

Nenoriu, kad įrašas virstų tutorialu, tad dalinuosi linkais į tutorialus. Yra visai geras jo video, kaip pradėti naudoti Jekyll. Be to Gūūglas turi tonas info apie Jekyll.

# Surge

Apie šį gėri sužinojau skaitydamas Front End Developer's Handbook. Keista, kad iki šiol nepasidalinau šiuo resursu. Rekomenduoju perskaityti visą ir naudoti gal ne kaip bibliją, bet kaip kažką didingo.

Grįžtam prie Surge. Ar jau minėjau, kad tai nemokamas hostingas? Komandinės eilutės įrankis. Dėl to patogus ir greitas. Jei vis dar vargsti su Windowsais, bus proga pagalvoti apie UNIX based OS. Nes kaži ar šitas reikalas veikia ant Win.

Again, tutorialas ir visa reikalingo dokumentacija Surge.sh saite. Rašydamas apie custom domeną, aprašysiu smulkiau kaip jį pasisetupinti.

# Blogo komentarai

Statiškas saitas neturi backendo, tad tenka suktis iš padėties. Pasitelkiam į pagalbą Disqus. Galbūt šiek tiek nepatogus useriams. Bet jei tavo blogas nėra skirtas tavo mamai, šitokie komentarai susieis.

Iš tikro jie turi daugiau gero nei blogo.

  • Pasirūpinta spamu. Per keletą valandų negausi 40k žinučių apie enlarge your penis.
  • Useriai turi prisiregistruoti arba palikti savo emailą. Gausi kokybiškus komentarus ir nesikabinės neturintys ką veikti su savo gyvenimais heiteriai.
  • Lazyloadindami jie nelėtina puslapio.
  • Ok, katik pagūglinau, kad Disqus yra kaka. Tikriausia čia yra vienas iš tų apribojimų kai neturi backendo. Well, gali neturėti komentarų visai arba jamti WordPress'ą...

Jei sugalvosi naudoti Disqus, čia tutorialas.

# Kontaktų forma

Pats naudoju Formspree. Visiškai lengva įdiegti, užklausos eina tiesiai į emailą. Nemanau, kad yra apie ką daugiau išsiplėsti.

Alternatyvų sąrašas oficialiame Jekyll saite.

# Asmeninis (custom) domenas

Pati svarbiausia ir naudingiausia viso stacko dalis. Pridėjus .lt ar .com domeną, mūsų niekas nebeskiria nuo profesionalių, brangiai pahostintų puslapių.

Pirmą kartą atliekamas procesas reikalauja šiek tiek pasižaidimo. Pasistengsiu aprašyti kuo smulkiau ir detaliau. Aprašysiu savo asmeninį pavyzdį su šiuo blogu. Klausimai laukiami komentaruose.

Disclaimeris: Serveriai.lt neprašė jų pareklamuoti. Tiesiog naudoju jų paslaugas. Paprastumo dėlei pavyzdžiu pasirinkau juos. Tinka bet koks domeno pasaugotojas.

# 1. Nusipirkti domeną

Easy, pasitikrini ar laisvas kodinu.lt. Išsirenki kitą domeną. Suspaudai ką reikia. Susimoki. Turi custom domeną.

# 2. Pridėti CNAME

  • Prisijungi prie savo valdymo panelės klientams.iv.lt ir pasirenki savo domeną.
  • Sekcijoj Nukreipimas pasirenki Redaguoti zoną. Turėtum matyti kažką panašaus: CNAME redagavimas serviai.lt
  • Nustatymai kuriuos reikia įrašyti:
Pavadinimas Tipas Reikšmė
@ A 192.241.214.148
www CNAME na-west1.surge.sh.
  • Pridedi savo CNAME prie kodo. Reikia sukurti failą pavadinimu CNAME (failo pavadinimas be jokios galūnės) ir įrašyti savo domeną į tą failą.

    Surge.sh turi labai išsamų ir aiškų tutorialą, kurio adaptaciją čia aprašiau.

# 3. Pakeiti domena Jekyll konfiguracijoje

Jekyll turi _config.yml failiuką. Jame tau reikia pridėti/pakeisti url nustatymą. Mano atrodo šitaip: url: http://kodinu.lt.

Šitai padaryti svarbu, kad teisingai veiktų vidinės nuorodos.

# 4. Deployini

Jekyll sugeneruotas puslapis bus _site aplanke. Surge pažiūrės ar turi CNAME failiuką ir jį naudos, kad žinotų kokiu domeno deployinti tavo saitą.

Komanda surge _site viską padarys už tave.

# 5. Džiaugiesi

Svarbiausia džiaugtis šiuo gėriu ir jį vertinti. Dabar oficialiai gali eiti per žmones ir visiems pasakoti kaip jie yra durniai ir moka dešimt kartų daugiau už savo saito talpinimą nei tu.

# Emailas su tuo pačiu custom domenu

Čia beveik kaip Teleshope: But wait, there's more! Tuo pačiu gauni ir nemokamą emailą.

Paruošimas labai panašus į surge. Reikia sukonfiguruoti nukreipimus / zonas. Neperrašinėsiu ir taip gero tutorialo. Eik į email hosting with zoho ir sek žingsnius.

Pavyzdys kaip turėtų atrodyti tavo įrašai zonos redagavime serveriai.lt arba kitoj vietoj kur laikai domenus:

Pavadinimas Tipas Reikšmė
zbXXXXXX* CNAME zm.verify.zoho.com
@ MX 10 mx.zoho.com.

*XXXXX - kažkokie sugeneruoti, tavo paskyrai unikalūs skaičiai.
*Tarp 10 ir mx.zoho.com. yra tarpelis.

# Ką gali nuveikti su šiuo galingu ginklu?

Ar minėjau, kad surge gali naudoti ir be custom domeno? Tiesiog turėsi kodinu.surge.sh. Dabar gali tiesiog hostinti bet kokį savo sugalvotą HTML'ą. Gali hostinti visus savo pasižaidimus ir juo rodyti pasauliui. Bet ką!!

Gali sukodinti single page app'są kuris per API imtu dalykus ir juos atvaizduotų. Gali panaudoti Google Spreadsheet'us kaip duomenų bazę ir taip sukurti dinamišką puslapį. Žinoma, gali rašyti blogą su Jekyll ir jį čia hostinti. Gali padaryti informacijos agregatorių. Imti info iš keletos skirtingų vietų ir ją čia atvaizduoti.

Tik pagalvok, kaip sužavėtum būsimą darbdavį jei sukurtum mini appsą, kuris Google žemėlapyje atvaizduotų Instagram'o nuotraukėles pagal vietą.

Arba jei padarytum app'są, kuris pagal tavo google maps maršruto paiešką, parodytų kelyje esančių kamerų vaizdą, pvz iš eismoinfo.lt. Wait, šitas per daug įdomus, pats norėčiau padaryti kažką panašaus.

Bet jau nusivažiavau į kitą temą.

# Reali nauda

Grįžtam į tikrovę. Svarbiausia šitos puzlės dalis yra nemokamas HTML hostingas. Puiki galimybė treniruotis, rodyti dalykus pasauliui ir dalintis savo pasiekimais. Vien toks paprastas dalykas, kaip galimybė išmėginti puslapį tikrame telefone, yra nepakeičiama pagalbą darant frontendą.

Taigi, džiaukis, vertink ir naudokis šiuo gėriu.

Ai, ir again, komentuok, klausk, dalinkis.

p.s. Šis įrašas gali būti naudingas ne tik besimokantiems kodinti, o visiems norintiems pigiai hostinti savo puslapius. So, I refuse to take not sharing for an answer.