Emacs: Publicando en wordpress.com



Emacs por default viene con un modo llamado org-mode en el que puedes crear documentos tipo LaTeX, HTML, Markdown, pero tambien puedes publicar directamente en un blog y/o foro.

En este caso hablaremos de como publicar en Blogspot.com registro.png

Puedes mantener un registro local de tus publicaciones y actualizarlas en cualquier momento.

Instalacion

Primero que nada instalamos org2blog en emacs, hay varias maneras, una de ellas es utilizando la funcion que agregamos en este post.

(package-install-maybe 'org2blog)

O directamente desde emacs presionando

M-x package-install org2blog

Tambien puedes instalar `netrc.el’, de esta forma evitas tener tus contraseñas en texto plano (¿alguien quiere seguridad?).

Lo puedes conseguir aqui. Solo basta con colocarlo en tu carpeta personal, en mi caso es `$HOME/.emacs.d./personal/netrc.el’.

Necesitas tener GnuPG instalado para usar `netrc’ pero supongo que es insano no tenerlo. En dado caso lo puedes instalar con:

sudo pacman -S gnupg

Configuracion

Sin netrc

Cuando no te interesa la seguridad la configuracion es practicamente asi:

(setq org2blog/wp-blog-alist
      `(("wordpress"
         :url "https://eltaodelhao.wordpress.com/xmlrpc.php"
         :username "lalohao"
         :password "123456778"
         :default-title "Hello World"
         :default-categories ("org2blog" "emacs")
         :tags-as-categories nil)
        ))

Obviamente sustituyes los datos pertinentes a tu blog y o configuracion que gustes.

Con netrc

La seguridad es lo mas importante, esto toma un poco mas de configuracion pero la paga (seguridad) lo vale.

En lugar de tener en texto plano nuestras credenciales vamos a hacer unas funciones que las obtengan por medio de un archivo encriptado con GPG.

(setq org2blog/wp-blog-alist
      `(("wordpress"
         :url "https://eltaodelhao.wordpress.com/xmlrpc.php"
         :username ,(netrc-get-username "eltaodelhao.wordpress.com")
         :password ,(netrc-get-password "eltaodelhao.wordpress.com")
         :default-title "Hello World"
         :default-categories ("org2blog" "emacs")
         :tags-as-categories nil)
        ))

Las funciones de las que les hablo:

(defun netrc-get-entry (host entry &optional port)
  (let* ((netrc (netrc-parse (expand-file-name "~/.netrc.gpg")))
         (port (or port ""))
         (hostentry (netrc-machine netrc host port)))
    (when hostentry (netrc-get hostentry entry))))

(defun netrc-get-password (host)
  (netrc-get-entry host "password"))

(defun netrc-get-username (host)
  (netrc-get-entry host "login"))

Por default el archivo encriptado es `$HOME/.netrc.gpg’.

Creacion de archivo GPG

Creamos un archivo `/tmp/.netrc’ con algo asi:

machine eltaodelhao.wordpress.com login lalohao password 1234567

Lo encriptamos con:

gpg --default-recipient-self -e /tmp/.netrc

Esto deberá crear el archivo `.netrc.gpg’ con nuestras credenciales encriptadas utilizando nuestra previas llaves GPG. netrc.png

Borramos el archivo de texto plano y movemos el archivo encriptado a `$HOME/.netrc.gpg’

rm /tmp/.netrc
mv /tmp/.netrc.gpg $HOME/.netrc.gpg

Listo!

Inicia sesion con:

M-x org2blog/wp-login

Crea una nueva publicacion:

M-x org2blog/wp-new-entry

Podemos poner algo asi: publicando.png

Puedes poner encabezados utilizando `*’, imagenes:

[[file://imagen.jpg]]

Enlaces:

[[http://google.com][Google]]

Por supuesto, la importancia de emacs viene en que no necesites escribir tanto, asi que podemos utilizar la combinacion de teclas `C-c C-l’ y esto nos abrira un menu pertinente para insertar enlaces: enlaces.png

En el caso de las imagenes solo es cuestion de seleccionarla: imagenes.png

Por default las imgenes solo se muestran como texto: sin-render.png

Pero si presionas `C-c C-x C-v’ puedes togglear la vista: con-render.png

Cuando tengas tu publicacion como te guste puedes subirla como boceto:

M-x org2blog/wp-post-buffer

O publicarla con:

M-x org2blog/wp-post-buffer-and-publish

Automaticamente se subiran las imagenes y se acomodarán los encabezados, tablas y demas formato dependiendo de tu tema.

Cuando termine de subirse todo, te preguntará si lo quieres visualizar en tu navegador predeterminado: ver-en-navegador.png

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

w

Conectando a %s