
Wprowadzenie
Publikowanie prostych stron internetowych przypomina czasem strzelanie z armaty do wróbli 🐦. Potrzebujemy tylko kilku podstron z obrazkami lub fotografiami, a musimy instalować ogromne systemy do zarządzania treścią (CMS). Można jednak poradzić sobie z tym nadmiarem i wykorzystać rozwiązania minimalistyczne.
Cele lekcji
W ramach lekcji poznamy koncepcję generatorów witryn (stron) statycznych oraz nauczymy się korzystać z Publii, która pozwala cieszyć się z szybkości i bezpieczeństwa witryn zbudowanych wyłącznie z gotowych plików bez konieczności programowania i używania linii komend.
Lekcja podzielona jest na dwie części.
Efekty
Efektem naszej pracy będzie prosta strona konferencji naukowej poświęconej digitalizacji. Strona będzie zawierała kilka podstron, na których umieścimy teksty i grafiki. Zadbamy też o spełnienie podstawowych wymogów RODO oraz zablokowanie dostępu do naszej strony botom zbierającym dane dla ChatGPT.
Wymagania
Nie interesuje nas merytoryczna treść witryny - wygenerujemy teksty w ChatGPT lub dowolnym innym narzędziu. Aby skorzystać z lekcji musimy tylko zainstalować Publii na własnym komputerze. Aby to zrobić, należy pobrać plik instalacyjny dla własnego systemu operacyjnego.
Część merytoryczna
Najpopularniejsze oprogramowanie CMS - WordPress to ponad 3 tys. plików o objętości 70MB, a przecież często potrzebujemy dodatkowych motywów i wtyczek. To bardzo dużo jak na projekt prostej witryny z kilkoma podstronami, prawda?
Za duże, zbyt skomplikowane i za wolne
Duże systemy do publikowania treści online to także kłopoty z utrzymaniem porządku i bezpieczeństwem. Własna instalacja WordPressa to konieczność nieustannych aktualizacji i walki ze spamem, nawet jeśli nie udostępniamy żadnych formularzy do komentowania naszych treści.
Dla użytkowników naszych treści fundamentalne znaczenie ma szybkość ładowania się strony, szczególnie na urządzeniach mobilnych podczas korzystania z transferu danych komórkowych. Facebook osiągnął globalny sukces m.in. przez to, że w czasach, kiedy witryny internetowe bardzo powoli i z błędami wyświetlały się na komórkach, oferował swoim użytkownikom aplikację z szybkim dostępem to publikowanych tam zasobów. Zamiast odwiedzać zewnętrzne ciężkie strony, wygodniej było nie wychodzić z aplikacji.
Dynamiczne witryny internetowe takie jak WordPress są generowane przez serwer na żądanie użytkownika (wszystkie elementy wizualne i dane z bazy danych muszą być złożone przed wysłaniem do przeglądarki) - to czasem trwa zbyt długo, a użytkownicy oczekują jak najszybszego wyświetlenia strony.
Generatory stron statycznych
Jedną z prób odpowiedzi na wady WordPressa i podobnych rozwiązań są generatory stron statycznych.
W przypadku WordPressa udostępniamy użytkownikom naszej witryny duży i skomplikowany system, który, po tym jak wpiszą odpowiedni adres URL w przeglądarce, dopiero tworzy interfejs strony i wypełnia ją danymi z bazy danych. Nie zawsze też jesteśmy pewni, czy użyty przez nas motyw albo wtyczka gwarantuje ich bezpieczeństwo (dawno nieaktualizowane instalacje WordPressa są często zawirusowane) i respektuje prawo do prywatności.
A gdyby tak złożyć naszą witrynę w inny sposób? Można przygotować treści na własnym komputerze (na przykład w plikach markdown), a potem umieścić je w odpowiednich katalogach i jednym poleceniem z terminala (linii komend) wygenerować witrynę gotową do umieszczenia na serwerze. Tak właśnie budowana jest humanistyka.dev - to zbiór połączonych ze sobą automatycznie klasycznych plików HTML. Nie ma tu żadnej bazy danych ani dynamicznego budowania poszczególnych stron na serwerze na żądanie użytkowników.
Witryny rozwijane w ten sposób nie obciążają serwera, a to, że składają się głównie ze statycznych plików tekstowych (czym innym są przecież pliki HTML!) ogranicza ryzyko złośliwego ataku.
Popularne generatory witryn tego typu to m.in. Hugo, Jekyll, Gatsby czy GitBook. Ich wadą jest jednak konieczność instalacji na komputerze odpowiedniego języka i oprogramowania oraz pracy w terminalu.
Publii - statyczne witryny bez programowania
Niewielka firma z Krynicy Zdroju wraz ze społecznością koderów i koderek od 2018 roku rozwija CMS Publii. Publii zachowuje najważniejsze zalety wymienionych wyżej generatorów stron statycznych, ale pozwala na budowanie witryny w sposób bardzo przypominający pracę w tradycyjnych CMSach takich jak WordPress. Wygenerowaną stronę możemy umieścić na serwerze lub GitHubie (co oznacza, że można ją udostępniać zupełnie za darmo).
Oto kilka najważniejszych zalet Publii:
Wygodna edycja treści
Publii udostępnia łatwy w użyciu edytor WYSIWYG (what you see is what you get) oraz znany z WordPressa edytor bloków, pozwalający w łatwy sposób budować poszczególne strony z gotowych komponentów (nagłówki, galerie, listy itp.). W Publii pisać możemy też tagami markdown. Tak jak w WordPressie, dostępne są różne typy treści (posty, strony i tagi).
Cała praca nad stroną ma miejsce na komputerze edytora / edytorki, na serwerze umieszczamy już jej wygenerowaną wersję. Pełna kopia witryny jest zawsze na Twoim komputerze 😊.
Dbałość o prywatność użytkowników
Strony stworzone za pomocą Publii w domyślnej konfiguracji nie mają żadnych mechanizmów gromadzenia danych osobowych użytkowników i edytorów. Nie jest potrzebny system logowania, bo nad stroną pracuje jedna osoba. W ustawieniach witryny możemy włączyć udostępniany standardowo baner (widżet) akceptacji polityki cookies, zgodny z wymaganiami RODO. Nie musimy instalować żadnych dodatkowych wtyczek;
Wszystkie fonty, skrypty i pliki CSS wykorzystywane w witrynie są serwowane lokalnie. Publii nie korzysta z zewnętrznych dostawców takich zasobów, nad którymi jako osoby publikujące witrynę nie mamy kontroli.
Blokowanie botów i ustawienia SEO
Publii pozwala na blokowanie dostępu dla botów zbierających dane dla trenowania modeli sztucznej inteligencji czy dla botów pobierających treści z witryny w celu generowania odpowiedzi podczas konwersacji w ChatGPT.
Redaktor czy redaktorka witryny ma bezpośredni dostęp do ustawień SEO (definiowanie metatagów, personalizacja tytułów, kontrola indeksowania). Mapa strony jest automatycznie generowana, można ustawić semantyczne adresy URL. W opcjach publikowania stron i wpisów ustawić możemy podstawowe metadane i grafiki do podglądów witryny w serwisach społecznościowych.
Publii to też czysty i przejrzysty, zgodny ze standardami kod źródłowy.
Podstawowe ustawienia witryny
Przygotowujemy stronę konferencji poświęconej digitalizacji i ponownemu wykorzystaniu zbiorów cyfrowych. Nasza witryna, którą przygotujemy w Publii, składać się będzie ze strony głównej, na której umieścimy podstawowe informacje o wydarzeniu, stronie przedstawiającej uczestników i uczestniczki oraz program. Nie zależy nam na dopracowanych treściach - można wygenerować je przez ChatGPT albo podobne narzędzie - liczy się zdobycie umiejętności zbudowania struktury witryny.
Uruchamiamy Publii, która uruchomi się jak każdy inny program desktopowy. Po zaakceptowaniu zasad wolnej licencji, na której udostępniany jest program, możemy przejść do podstawowych ustawień witryny:
Po zapisaniu tytułu witryny i nazwy administratora spróbujmy zmienić język witryny, klikając w opcję Site settings:
Zanim przejdziemy do dodawania treści, zatrzymajmy się jeszcze przy podstawowych ustawieniach. Jedne z bardziej kluczowych ustawień to te dotyczące adresów URL, pod którymi dostępne będą podstrony naszej witryny. Ustawiamy pretty urls (określane czasem jako adresy przyjazne wyszukiwarkom) oraz ustalamy, jakie prefiksy powinny pojawić się przy adresach listowania treści na naszej witrynie:
W planie naszej witryny nie uwzględniliśmy postów, tagów ani stron autorów. Publii przystosowana jest - podobnie jak WordPress - do publikowania blogów, w których te elementy standardowo występują. Na szczęście nie musimy ich tworzyć i zbudować naszą witrynę wyłącznie z kilku stron, unikając listowania postów czy wyświetlania informacji o autorach.
Praca z edytorem blokowym
Przejdźmy do sekcji Pages - w Publii możemy tworzyć treść na trzy sposoby: 1) edytorem WYSIWYG, znanym z wielu CMSów, 2) edytorem blokowym, gdzie zestawiamy ze sobą wybrane komponenty i uzupełniamy treści oraz 3) składnią markdown. Wykorzystajmy edytor blokowy, znany już z WordPressa. Oto efekt jego zastosowania:
W edytorze po lewej stronie ekranu mamy dostęp do wcześniej zdefiniowanych bloków takich jak nagłówki, obrazki i galerie, paragrafy, spisy treści, listy. Po prawej możemy usunąć z naszej strony wszystkie niepotrzebne elementy - w naszym przypadku będą to komentarze, tagi, informacje o autorze treści czy dacie publikacji:
Ustawienie takich opcji dostępne są dla każdej edytowanej strony czy postu, ale można je też podać globalnie - wystarczy wybrać opcję Theme - Page options (oczywiście w ten sposób możemy zarządzać też postami i tagami):
Zarządzanie stronami i menu
Publii to wygodne narzędzie do edycji witryn także dlatego, że umożliwia łatwe duplikowanie stron i nadawanie im statusu szkicu (podobnie jak to jest w WordPressie) - dzięki temu mamy większą elastyczność w prowadzeniu witryny i uzupełnianiu czy aktualizowaniu jej kolejnych elementów.
Pozostaje nam ustawić stronę główną (znów opcja znana z WordPressa) i dodać menu. Aby ustawić wybraną stronę jako stronę główną, przechodzimy do Site settings - SEO i edytujemy sekcję Homepage:
Praca z menu jest nieco bardziej skomplikowana (ale znów podobna jak w WordPressie). Najpierw tworzymy menu (rozumiane tu po prostu jako katalog odnośników):
Następnie dodajemy do tego katalogu kolejne elementy, którymi mogą być strony, posty, bezpośrednie odnośniki do zewnętrznych stron itp.:
Przygotowane menu trzeba następnie przypiąć do nagłówka lub stopki naszej witryny:
Kliknięcie Save & Preview lub Preview your changes (w panelu z lewej strony) pozwala zobaczyć podgląd edytowanej witryny bezpośrednio w przeglądarce:
Cóż, nie wygląda ona specjalnie atrakcyjnie, ale jest responsywna (dobrze wyświetla się na urządzeniach mobilnych) i zawiera wszystkie przygotowane przez nas elementy. Tego jak pracować z wyglądem strony w Publii i jak udostępniać ją online, dowiemy się w kolejnej lekcji. Publii pozwala korzystać z wielu motywów i wtyczek, chociaż nie jest ich tak wiele jak w przypadku WordPressa (ale WordPress jest przecież globalną marką).
Poprawianie edycji w witrynie
Praca ze statycznymi generatorami witryn, w tym także z Publii, ma dość poważne ograniczenie. Pracując z WordPressem jesteśmy w stanie bardzo szybko poprawiać literówki czy uzupełniać brakujące dane, po prostu logując się do panelu administracyjnego i edytując wybrane strony czy wpisy. W przypadku generatorów stron statycznych za każdym razem musimy na nowo wygenerować witrynę i wygenerowaną paczkę plików podmienić ponownie umieścić na serwerze (podmieniając poprzednią wersję). Bywa to uciążliwe i powoduje, że konieczne jest bardzo uważne przygotowanie wszystkich treści.
Podsumowanie
Publii to ciekawa alternatywa dla WordPressa, który, choć łatwy w obsłudze dla edytorów i edytorek, może generować wysokie koszty utrzymania i bieżących aktualizacji. Początki pracy z generatorami stron statycznych bywają trudne, zwłaszcza gdy wymagają korzystania z linii poleceń (terminala) lub bezpośredniej edycji plików HTML czy Markdown. Publii łączy zalety tych generatorów, jednocześnie umożliwiając pracę nad treścią w sposób bardzo podobny do tego, jak odbywa się to w WordPressie czy innych systemach zarządzania treścią.
Wykorzystanie metod
Generatory stron statycznych są wykorzystywane do tworzenia prostych, szybkich i bezpiecznych stron internetowych, które nie wymagają dynamicznych treści generowanych w czasie rzeczywistym. Za ich pomocą buduje się strony firmowe, portfolia, witryny publikujące dokumentację techniczną, podręczniki, strony konferencji i projektów naukowych. Przydają się zwłaszcza wtedy, kiedy nie chcemy zbyt często aktualizować treści witryny, zwalniają nas też z obowiązku regularnej aktualizacji jej kodu (składają się przecież ze statycznych plików HTML).
Za pomocą takich generatorów publikować można też zbiory cyfrowe - warto zainteresować się projektami takimi jak Quire (rozwijane przez Getty Museum) czy Wax.
Pomysł na warsztat
Praca z Publii może być podstawą warsztatu wdrażającego do budowania własnych stron domowych i blogów lub publikowania online raportów, opracowań czy książek. Warto przedstawiać Publii jako szybką i bezpieczną alternatywę dla WordPressa.
Oświadczenie: to opracowanie nie jest płatną promocją i nie powstało w ramach jakiejkolwiek współpracy z firmą rozwijającą Publii.