Surge.sh for Fun and Profit

Hugo przydaje się znowu. Tym razem moim planem było stworzenie szybko prostego statycznego sajtu, który posłużyłby do ogłoszenia studentom przykładowych rozwiązań zadań z kolokwium. Kolokwium końcowego, czyli po nim już nie spotykam się z studentami na zajęciach (z większością dopiero na kolokwium poprawkowym).

Oczywiście można by oldskulowo wysłać zbiorczy mail do studentów (nieco ponad 30), za pomocą USOSmaila. Ale to zbyt mało ambitne. Nie chciałem też skorzystać z dydaktycznego wiki, bo wolałbym umieszczać tam treści na stałe, a te o których mowa były z założenia tymczasowe. Chociaż możliwe, że w rezultacie przetrwają dłużej.

Szukałem czegoś super prostego, więc spodobał mi się motyw (theme) Terminal. Zwłaszcza jego oldskulowy (słowo to niepokojąco się powtarza) terminalowy wygląd. Brak mu wprawdzie szeregu dość podstawowych funkcjonalności — jak działy (kategorie) i tagi, ale według początkowych założeń te nie miały być tu potrzebne.

Poszło dość szybko, najwięcej czasu chyba zajęło mi cyzelowanie wyglądu disklejmera o ciasteczkach (i tak skończyło się na dopisaniu ledwo kilku linijek css do kodu ściągniętego z cookieconsent.insites.com/. Żartuję, spisanie wskazówek dla studentów jest i trudniejsze, i ważniejsze (i niedokończone).

Zastanawiając się nad tym, w jaki sposób udostępnić ten produkt światu, natrafiłem na usługę surge.sh. I zapoznawszy się z quickstartem zrozumiałem wreszcie co znaczy modne słówko serverless. Otóż wystarczy zainstalować ich program kliencki (no dobra, na początek trzeba mieć też runtime node.js), aby móc z linii poleceń w ćwierć minuty zrobić z drzewka katalogów na swoim dysku sajt webowy na dowolnie wybranej (spośród niezajętych) poddomenie w surge.sh. Po drodze trzeba naturalnie jeszcze sobie ustalić login i hasło (wszystko z linii poleceń!). I to w sumie wszystko. I w dodatku darmo. Naturalnie surge.sh ma również plany płatne, dla tych co mają większe potrzeby. Najprostsza dostępna, darmowa opcja nie umożliwia żadnego kontentu dynamicznego server-side, nie daje wglądu w logi, itd. Ale do wielu celów wszystko to jest niepotrzebne, i znakomicie braki te wynagradza zabójcza prostota tego rozwiązania z punktu widzenia użytkownika.

Istnieją inne podobne usługi, np. now.sh czy (chyba najbardziej z nich popularna) Netlify. Ale dla przygodnego użytkownika o skromnych potrzebach, a za to leniwego i skąpego chyba jednak oferta surge.sh jest najciekawsza.

Chyba nie mogłoby być prościej:

$ apt install node.js npm
(...)
$ npm install -g surge
(...)
$ surge

i na tym w zasadzie koniec.

Oczywiście istnieją też takie rzeczy, jak GitHub pages, GitLab Pages (chyba nawet lepsze), o znacznie potężniejszych funkcjach (ale i wymagające więcej zachodu). Ja jednak pozostaję jak dotąd tradycjonalistą, i wolę gdy build odbywa się na moim komputerze, a GitLab traktuję bardziej jako medium backupowe. Może kiedyś się zmienię.

PS. oto link do produktu: https://zadania-z-pythona.surge.sh.

Avatar
Robert J Budzyński
fizyk / informatyk
comments powered by Disqus