Меnu:


Existen varias alternativas y flujos de trabajo para hacer un blog, habiendo revisado el articulo writing and blogging on org-mode, como resultado de leer el articulo surgió como alternativa blorg, al revisar blorg, este no tiene modificaciones desde el año 2007, hubo que buscar otras alternativas. Escribir y publicar en emacs-muse es sencillo, buscamos primero como publicaban un blog los autores de emacs-muse y nos encontramos con blosxom(utiliza el PyBlosxom que es un script en python para generar el html), teníamos la idea de depender solo del emacs y lo del python nos alejaba del objetivo, luego surgió como alternativa el muse-journal, lo probamos sirvió también para nuestro propósito, luego encontramos al muse-blog, lo comparamos contra muse-journal y nos gusto. Aunque debemos decir que son muy parecidos y podrían usarse casi indistintamente, en nuestras pruebas muse-blog genero mejor nuestros artículos escritos en castellano ;).

Necesitamos una herramienta que nos ayude con el siguiente objetivo:

Iniciarse a trabajar con muse-blog no fue sencillo, debido a nuestro objetivo.

Este seria nuestro flujo:

Conforme utilizemos mas continuamente este flujo. Lo iremos mejorando.

Estas fueron las modificaciones realizadas a nuestro archivo de configuración1 de emacs-muse, tuvimos que probar varias configuraciones y adaptarlo al footer y header de nuestro articulo de como crear un sitio web.

  1. Instalar muse-blog y agregarlo al load-path.
  2. Poner el muse-blog como prerequisito en archivo de configuración de emacs-muse.
(require 'muse-blog)
  1. Derivar el estilo 'my-blog-xhtml', este estilo esta basado en el estilo 'blog-xhtml'
(muse-derive-style "my-blog-xhtml" "xhtml"
                   :header "~/projects/yoursite-page-muse/variant-creative.header"
                   :footer "~/projects/yoursite-page-muse/variant-creative.footer"
                   :date-format 'muse-blog-html-date-format
                   :entry-template 'muse-blog-html-entry-template
                   :before-end 'muse-blog-html-munge-buffer)
  1. Personalizacion de variables.
    • En la variable 'muse-blog-html-entry-template' estamos agregando un link en el titulo, este es el link que apuntara al archivo donde escribiremos la entrada de nuestro blog.
    • En la variable 'muse-blog-rss-header' hemos agregado el tag 'lastBuildDate'.
    • En la variable 'muse-blog-rss-entry-template' hemos agregado un link al final de la descripción.
;; muse-blog variables
(custom-set-variables
 '(muse-blog-html-entry-template
"<div class=\"entry\">
  <a id=\"%anchor%\" style=\"text-decoration: none\">&nbsp;</a>
  <div class=\"entry-body\">
    <div class=\"entry-head\">
      <div class=\"entry-date\">
        <span class=\"date\">%date%</span>
      </div>
      <div class=\"entry-title\">
        <a href=\"%anchor%\">
        <h2>%title%</h2>
        </a>
      </div>
    </div>
    <div class=\"entry-text\">
%text%
    </div>
  </div>
</div>\n\n"
  )
'(muse-blog-rss-header
  "<\?xml version=\"1.0\" encoding=\"<lisp>
  (muse-html-encoding)</lisp>\"?>
<rss version=\"2.0\">
  <channel>
    <title><lisp>(muse-publishing-directive \"title\")</lisp></title>
    <link><lisp>(concat (muse-style-element :base-url)
                        (concat (muse-page-name)
                                muse-html-extension))</lisp></link>
    <description><lisp>(muse-publishing-directive \"desc\")</lisp></description>
    <language><lisp>(or (muse-publishing-directive \"lang\") \"en-us\")</lisp></language>
    <lastBuildDate><lisp>(format-time-string \"%Y%m%dT%H:%M:%S%z\" (current-time))</lisp></lastBuildDate>
    <generator>Emacs Muse</generator>\n\n"
  "Header used for publishing RSS 2.0 files. This may be text or
a filename.")
'(muse-blog-rss-entry-template
  "\n    <item>
      <title>%title%</title>
      <link>%link%#%anchor%</link>
      <description><![CDATA[%text%\n\n<a href=\"%anchor%\">Leer artículo completo en kipuamutay</a>]]></description>
      <author><lisp>(muse-publishing-directive \"author\")</lisp></author>
      <pubDate>%date%</pubDate>
      <guid isPermaLink=\"true\">%link%#%anchor%</guid>
    </item>\n"
  "Template used to publish individual blog entries as RSS 2.0.
This may be text or a filename.")
)

Luego de modificar nuestra configuración de emacs-muse, ya podemos escribir nuestro primer articulo o primera entrada en nuestro blog. Escribimos el articulo como cualquier otro documento de texto de emacs-muse. Luego en nuestro caso hemos creado un archivo index dentro de la carpeta blog, en nuestro sitio web2, en el cual agregaremos un resumen del articulo3, al terminar de agregar nuestro resumen del articulo publicaremos dicho archivo con el estilo 'my-blog-xhtml'4. Adicionalmente publicaremos este mismo archivo con el estilo 'blog-rss'5. Finalmente debemos modificar en el html/xml generado para que los links apunten al archivo del articulo6.

Cada entrada que se registre en el archivo index de la carpeta blog debe tener la siguiente estructura.

* 20110614-12:34:46 Trabajando en el flujo de trabajo para hacer un blog usando emacs-muse
Existen varias alternativas y layouts para hacer un blog, habiendonos documentado, la idea original fue utilizar 'muse-blog',
sin embargo revisando documentación acerca del proyecto, no fue
sencillo iniciarse a trabajar con muse-blog, también me encontré con
...

Articulo en desarrollo
------

El snippet que nos ayuda con la generación de la estructura es el siguiente:

# -*- mode: snippet -*-
# name: blog
# key: blog
# --
* `(insert (format-time-string "%Y%m%d-%H:%M:%S"))` ${1:title}
$0

1. Proviene de nuestro articulo Cree fácilmente su pagina web.

2. http://www.kipuamutay.com/es/blog.

3. Para ello hemos creado un snippet (yasnippet).

4. Este seria el resumen con una pequeña descripción de cada entrada/articulo que escribamos.

5. Este seria el archivo que publicaremos para los lectores de noticias.

6. Esta es la parte mas engorrosa, para cuando tengamos varios artículos escritos, por lo pronto usaremos ediff para esta tarea.

Last change: 22.11.2011 21:51

blog comments powered by Disqus