Blog na nowym silniku

Po kilku latach blog działał na generatorze statycznym Scully opartym o Angulara. Postanowiłem przenieść go na Roq – generator statyczny stron zbudowany na Quarkusie. Dzięki temu cały blog jest teraz budowany przez Javę, a treść mogę pisać w AsciiDoc.

Co się zmieniło

Największą zmianą jest silnik: zamiast Node.js i Angulara używam Quarkusa oraz wtyczek Roq. Z tego wynikają nowe możliwości:

  • treść w AsciiDoc (postach) oraz Markdown (podstrony),

  • tagi i kategorie,

  • wyszukiwarka (lunr),

  • generowanie kart Open Graph,

  • diagramy z kodu dzięki Kroki,

  • kolorowanie składni dzięki highlight.js.

Jak działa przetwarzanie treści

AsciiDoc najpierw przechodzi przez Qute, a następnie przez Asciidoctor, który produkuje HTML. Można to przedstawić w prosty sposób:

Diagram powyżej został wygenerowany na podstawie kodu Mermaid przez serwer Kroki.

Admonitions

Roq i Asciidoctor wspierają wyróżnione bloki informacyjne. Oto wszystkie dostępne warianty:

Zwykła notatka z dodatkową informacją.
Wskazówka, która może się przydać.
Ważna informacja, o której warto pamiętać.
Ostrzeżenie o możliwych problemach.
Przestroga – warto zachować ostrożność.

Kolorowanie składni

Bloki kodu są kolorowane automatycznie. Oto kilka przykładów.

roq generate
roq start
site.url=https://miroslaw.ovh
quarkus.asciidoc.attributes.icons=font
public class Hello {
    public static void main(String[] args) {
        System.out.println("Witaj, Roq!");
    }
}

Emoji

Emoji można wstawiać bezpośrednio jako znaki Unicode: 😊 🐧 🚀 ☕ ❤️.

Na koniec – miłego czytania! 🎉