Publikowanie prosto z Emacsa, jej!
Obumarło się blogowi znowu. Szeroko zakrojone badania pokazały jasno i wyraźnie, że to wszystko przez nowoinformatyczne badziewne interfejsy 🙂 Za duże tarcie między pomysłem, a gotowym postem. Ale jest lekarstwo…
Moje największe uzależnienie (z którym walczę mężnie acz bezskutecznie od lutego) czyli Emacs czasem spycha mnie w różne zakątki internetów. I wczoraj mnie zwiało w rejony org2blog – pakietu Emacsa pozwalającego publikować teksty napisane w org-mode bezpośrednio do WordPressa. Pobawiłem się wczoraj godzinkę, dziś dwie i chyba coś z tego będzie.
Oczywiście jeszcze nie opisałem czym jest org-mode – więc post przyda się osobom z grubsza obeznanym z tematem. Ale jak nie opiszę to będzie wisiało – więc piszę.
Pakiet nazywa się org2blog i jest dostepny normalnie z managera pakietów Emacsa (czyli spod M-x list-packages
). Instalujemy.
Ustawienia
Podstawy
Nie wiem czy jest sens opisywać – wchodzimy na https://github.com/punchagan/org2blog, przeklejamy konfigi do swojego init.el
, ustawiamy adres bloga i dane logowania i już. Działa z kopa.
Publikowanie w UTF-8
Tyle że ten 'kop’ to tak bardziej po nerach jest 😉 org2blog wywala się przy publikacji tekstów z polskimi (chińskimi itp.) literkami – niby obsługuje UTF-8 ale tylko wtedy gdy znaki są kodowane jednobajtowo.
Publikacja się wywala i ruca błędem: error in process sentinel: Multibyte text in HTTP request: POST /xmlrpc.php HTTP/1.1
Lekarstwo – wchodzimy tu: https://github.com/hexa00/emacs/blob/82945d2139f5c2bc09611746e698cce945a491d3/lib/custom-lib.el interesują nas linie: 38-185 – to jest łatka pozwalająca publikowac dowolne znaczki. Kradniemy bezwstydnie do własnego init.el
Kolorowanie kodów źródłowych
Domyślnie org2blog kody źródłowe z org-mode
wrzuca w tagi [sourcecode]. Popularniejszy jest plugin Crayon i z tego ja korzystam. Więc:
- wchodzimy tu: https://gist.github.com/marcoimmel/79b7a58685d9da9f74ebbbd6aea2e42a
- ściągamy plik
ox-wp-crayon.el
- wrzucamy go gdzieś do swoich elispów (u mnie katalog
~/elisp/
) - do
init.el
dodajemy:(require 'ox-wp-crayon.el)
Działa:
for(i = 0; i < 10; i++) { printf("Hello, I'm Jan B.\n"); }
Najnowsze komentarze