UP | HOME |

Publicación de un centón con Org

Publicación digital de un centón

Si desea publicar un centón de notas de tipo Org, LaTeX, R, o de Emacs-lisp, considere el ecosistema de org-publish de Emacs. Aquí se presenta un magnífico tutorial, y sobre todo, proporciona un sistema que funciona correctamente y altamente configurable.

poema-el-centon-de-un-enano.png

Duplicación del sistema

How to blog with Emacs Org mode dispone de un sistema de archivos y directorios sencillos y legibles. En primer lugar, copiamos su estructura y ficheros a nuestro disco duro.

git clone https://gitlab.com/psachin/psachin.gitlab.io -b blog_template --single-branch myblog

Una vez clonado, basta con compilar el Makefile que aparece en el directorio principal.

make -k clean # Clean all the published posts
make -k # Publish

Los documentos de la carpeta /posts/ aparecen publicados en el directorio /public/.

Modificaciones de publish.el

Las principales adaptaciones o modificaciones se realizan en el fichero publish.el.

Por ejemplo, yo he eliminado los package-install, modificado el psachin-date-format, limpiado el psachin-website-html-preamble, adaptado el psachin-website-html-postamble, etc.

La publicación de las entradas gira en torno a org-publish-project-alist. En mi caso, he añadido un subdirectorio dentro de /posts/ para almacenar los gráficos y material diverso, y he creado un directorio draftposts. Cuando se compila, publica todo en draftpublic. Así puedo visualizar el resultado final antes de moverlo a posts.

├── css
├── draftposts
│   └── graphics -> /home/emilio/Documentos/emacs/org/centon/posts/graphics
├── draftpublic
│   ├── css -> /home/emilio/Documentos/emacs/org/centon/css
│   └── graphics -> /home/emilio/Documentos/emacs/org/centon/posts/graphics
├── images
│   ├── about
│   └── posts
│       └── template
├── org-templates
├── posts
│   └── graphics
└── public
    ├── css
    └── graphics
  ("draftposts"
   :base-directory "./draftposts"
   :base-extension "org"
   :exclude ,(regexp-opt '("README.org"))
   :index-filename "index.org"
   :recursive t
   :publishing-function org-html-publish-to-html
   :publishing-directory "./draftpublic"
   :auto-sitemap t
   :sitemap-filename "index.org"
   :sitemap-title "DRAFT El centón de un enano"
   :sitemap-format-entry psachin/org-sitemap-format-entry
   :sitemap-style list
   :sitemap-sort-files anti-chronologically
   :html-link-home "index.html"
   :html-link-up "index.html"
   :html-head-include-scripts t
   :html-head-include-default-style nil
   :html-head ,psachin-website-html-head
   :html-preamble psachin-website-html-preamble
   ;;         :html-postamble ,psachin-website-html-postamble)
   :html-postamble etm-org-blog-postamble)

("graphics"
 :base-directory "./posts/graphics"
 :base-extension ,site-attachments
 :publishing-directory "./public/graphics"
 :publishing-function org-publish-attachment
 :recursive t)

Puede disponer aquí de una versión de publish.el y el del Makefile.