Konfiguracja strony

Tę stronę hostuje na VPS, który udostępniła mi FTdL jako podziękowanie za dotacje. VPS działa na Ubuntu, na którym skonfigurowałem serwer apache. Zajęło mi z tydzień, za nim udało mi się ogarnąć domenę, SSL i inne rzeczy.

Hugo

Po tych problemach z postawieniem podstawowego serwera zdecydowałem, że statyczna strona będzie najlepszą opcją. Chcę jednak, by to wyglądało dobrze, zarządzanie i dodawanie nowych postów nie było zbyt trudne, więc Hugo wydawał się dobrym kompromisem. Zajęło mi następny tydzień, za nim wszystko było na tyle dobrze zrobione, by zacząć pisać tu wpisy. Ogólnie ustawienie wielu języków sprawiło, że wszystko było cztery razy trudniejsze do postawienia i jest dwa razy trudniejsze do zarządzania.

Wpisy w Emacu

Dokładnie w Doom Emacs. Może kiedyś zbuduje własną konfigurację, ale na teraz Doom robi większość rzeczy, tak jak chcę.

ox-hugo

By korzystać z org hugo w doom emacs należy w pliku init.el zmodyfikować linie z org dodając +hugo w taki sposób

(org +hugo)     ; organize your plain life in plain text

Aktualnie korzystam z opcji jeden post na jeden plik org, jednak org hugo daje możliwość zrobienia wielu postów z jednego pliku org, a wiem, że jest dużo entuzjastów korzystania z niewielu ogromnych plików tekstowych, więc dla nich taka opcja była by lepsza.

Próbowałem pisać wpisy w org-modzie za pomocą ox-hugo, ale miałem problemy z ustawieniem wersji polskiej i angielskiej jednocześnie. Niestety, jest to dla mnie na tyle ważne, że zrezygnowałem z tego podejścia. Później spróbuje skonfigurować Hugo, by korzystał bezpośrednio z org. Nie chciałem tak na początku, bo podobno nie konwertuje to linków między różnymi plikami .org.

easy-hugo

Easy-hugo ułatwia tworzenie wpisów dla Hugo przez dodanie do Emacs nowych funkcji, ale skupia się na pracy w Markdown. Ja chciałem korzystać z org, więc tej opcji spróbowałem jako drugą. Okazało się jednak, że nie działa razem z Doom Emacs i przez to nie mogłem skorzystać z tego podejścia.

Tylko org mode

Niestety PaperMod, czyli nakładka na Hugo, z której korzystam, wyrzuca mi błędy, gdy konfiguruje wpisy tylko w formacie org.

Built-in export do Markdown

Po przejrzeniu dokumentacji org-mode spróbowałem eksportować pliko .org do .md za pomocą wbudowanej funkcji eksportu. Działa to dzięki dodaniu to plików org tego wstępu:

#+OPTIONS: toc:nil # to jest opcja wyłączająca spis treści w markdown
#+begin_export markdown
---
title: "Org Export"
author: ["Szymon Barłoga"]
date: Sat, 13 Apr 2024 16:04:37 +0200
tags: ["Org", "Site", "Hugo"]
draft: false
---
#+end_export

Hugo, z moją nakładką, tworzy własny spis treści, więc bez wyłączenia go wcześniej się powtórzy oraz konfiguracja nie będzie na początku pliku co może powodować jakieś problemy.

Evil mode

Warto zapamiętać: r! date -R jeśli ktoś korzysta z Evil mode. Jednak jak korzystamy z org hugo to w doom to lepiej działa skrót SPC m d t, czy funkcja org-time-stamp

Testowanie LanguageTool

Dodatkowo próbowałem zainstalować różne integracji programu LanguageTool do Emacs, ale mi się ostatecznie nie udało, więc kopiuje tekst z Emacs i wklejam go to LanguageTool, co jest dosyć niewygodne.

Wnioski

Ostatecznie udało mi skonfigurować wszystko na tyle, by były minimalne bariery (dla mnie) do pisania wpisów, jednak by coś popchnąć tu dalej, musiałbym się nauczyć jak tworzyć własne nakładki do Hugo i Emacs.

Jednak jest możliwość korzystania z org-hugo w doom emacs, tylko trzeba było to inaczej skonfigurować. Ostatecznie jest dużo prościej niż moja poprzednia metoda ze wbudowanym w emacs eksportem do markdown.