RSS
 

Blogowanie z WordPressem i Emacsem, czyli weblogger.el

21 sie

Jestem bardzo zadowolony z WordPressa i z tego, że bardzo łatwo można rozszerzać jego możliwości poprzez różne wtyczki. Jeszcze bardziej zadowolony jestem z tego jak dobrze w Emacsie edytuję się tekst. Skoro z Emacsa jestem bardziej zadowolony to wolę korzystać z niego, nawet do tworzenia wpisów na blog. Z pomocą przychodzi napisany przez Marka Hershbergera weblogger.el. Pozwala on tworzyć wpisy nie tylko na blogi oparte o WordPress, ale także Blogger, Drupal i inne.

Weblogger w Emacs

Edycja wpisu w weblogger.el

Rozpoczęcie korzystania z webloggera jest proste. Wystarczy pobrać plik weblogger.el oraz plik xml-rpc.el stworzony również przez Marka i umieścić je najlepiej w katalogu ~/.emacs.d/. Następnie upewniamy się, że mamy gdzieś w .emacs taki wpis

(add-to-list 'load-path
             "~/.emacs.d/")

Po czym dodajemy jeszcze do tego samego pliku .emacs

(require 'weblogger)

powinniśmy mieć już możliwość blogowania z ulubionym edytorem tekstu. Oczywiście jeśli skorzystalibyście z ELPA, o którym pisałem ostatnio proces instalacji ograniczyłby się do otworzenia listy pakietów, wciśnięcia i, a potem x.

Mając już skonfigurowany weblogger możemy ustawić już blog i wkońcu zacząć blogować. Żeby skonfigurować blog używamy

            M-x weblogger-setup-weblog

gdzie musimy podać login, adres url, gdzie nasz blog udostępnia interfejs xml-rpc oraz hasło (niekoniecznie w tej kolejności). Następnie możemy stworzyć pierwszy wpis

M-x weblogger-start-entry

Standardowo żeby wpis opublikować używamy C-x C-s co może być odrobinę niewygodne ze względu na to, że chociażby ja z tego skrótu korzystam automatycznie, żeby tylko zapisać treść (co nigdy nie pociągało i nie powinno pociągać za sobą żadnych konsekwencji w postaci opublikowanych bzdur na blogu) i tak właśnie to działa w większości buforów, także proponuję zmianę akurat tego skrótu. Pod skrótem tym najlepiej ustawić funkcję weblogger-save-entry ponieważ standardowo zbindowany pod C-c C-c weblogger-send-entry zapisuję wpis ale jednocześnie go zamyka.

Podstawowa konfiguracja dodatkowo powoduję problem z długością linii wyświetlanych na blogu dlatego na The Verify Blog zaproponowano rozszerzenie konfiguracji o dodatkowe linie, które rozwiązują ten problem. Dodałem też preferowaną przeze mnie zmianę klawiszy

(add-hook 'weblogger-start-edit-entry-hook
          (lambda()
            (flyspell-mode 1)
            (flyspell-buffer)   ; spell check the fetched post
            (auto-fill-mode -1)
            (visual-line-mode 1)
            (define-key weblogger-entry-mode-map
                        "\C-x\C-s" 'weblogger-save-entry)
            (define-key weblogger-entry-mode-map
                        "\C-c\C-c" 'weblogger-publish-entry)))
(add-hook 'weblogger-publish-entry-hook
          (lambda()
            (when visual-line-mode
              (visual-line-mode -1))
            ;; tabs might spoil code indentation
            (untabify (point-min) (point-max))))
(add-hook 'weblogger-publish-entry-end-hook
          (lambda()
            (visual-line-mode 1)))

Po tych wpisach zwykłe zapisanie wpisu, zapisanie i jednoczesna publikacja oraz pozostałe podstawowe komendy będą pod

C-x C-s -- zapisanie wpisu jako szkic
C-c C-c -- publikacja
C-c C-n -- zapisanie i odczytanie następnego wpisu na blogu
C-c C-p -- zapisanie odczytanie poprzedniego wpisu na blogu
C-c C-k -- usunięcie wpisu

Niestety jest jeszcze jeden problem. Weblogger.el, a dokładniej mówiąc xml-rpc.el (chociaż pewien nie jestem) mają problem z formatem daty. To nie pierwszy raz kiedy próbowałem z tego korzystać i poprzednim razem komunikat invalid date mnie pokonał. Tym razem, myślałem, że nowsze wersje plików zrobią różnicę. Nie zrobiły, ale wpadłem na proste, chociaż czasem uciążliwe rozwiązanie, gdyż trzeba o tym pamiętać. W miejscu daty wpisu, która wygląda przykładowo tak

21 sie 2010 21:02:12 +0200

zmieniamy polskie ,,sie” na angielskie ,,aug” jak poniżej

21 aug 2010 21:02:12 +0200

i po kłopocie. Pewnie da się to rozwiązać lepiej, wprowadzić poprawki w pliku xml-rpc albo jakoś zautomatyzować, ale ja jeśli chodzi o lisp zupełnie głupieję.

Po więcej informacji zapraszam na EmacsWiki oraz zachęcam do przejrzenia pliku weblogger.el. Jest jeszcze parę rzeczy, które chciałbym, żeby zaczęły działać, żeby nie trzeba było tak często otwierać panelu administracyjnego WordPressa, jak na przykład dodawanie tagów. Jak znajdę to dam znać

 
Brak komentarzy

Opublikował w ubuntu

 

Tagi:

Skomentuj

Connect with Facebook

 

 
 
Blog WebMastered by All in One Webmaster.

Switch to our mobile site