jekyll-compose: Automatiza el manejo de ficheros en Jekyll
Optimice su escritura en Jekyll con estos comandos. Crear, publicar y renombrar posts y borradores a través de la línea de comandos.
Fecha: 16 Jul 2023 - Autor: Antonio
Post en Categoría: Blogging
Etiquetas: / jekyll / how-to / jekyll-plugins /
jekyll-compose es un plugin que nos facilita labor de creación de borradores, publicación de los mismos y creación de páginas en nuestro proyecto de Jekyll. Otra utilidad es el renombrado de los ficheros y a su vez del título de nuestras entradas en el blog.
Instalación
Varía un poco con respecto a la documentación oficial
Modificamos el fichero Gemfile
, como se indica en la documentación:
$ gem 'jekyll-compose', group: [:jekyll_plugins]
Pero el segundo paso de la instalación, no es suficiente con el comando bundle
en nuestro local. Acabamos instalando directamente así:
$ gem install jekyll-compose
Configuración
Tenemos que hacer dos cosas: abrir automáticamente los nuevos borradores o posts que creemos y configurar los campos que se creareán automáticamente en el Front-matter
de nuestros archivos.
Abrir automáticamente los ficheros
Tenemos que añadir estas líneas en nuestro fichero de configuración de Jekyll.
# file: "_config.yml"
jekyll_compose:
auto_open: true
Tenemos que configurar también la variable de entorno JEKYLL_EDITOR en nuestro entorno. En Git bash ejecutaremos:
$ export JEKYLL_EDITOR=vscode
Configurar los campos por defecto en el Front Matter
de cada nuevo fichero
Añadiremos los siguiente en el _config.yaml
# file: "_config.yaml"
jekyll_compose:
default_front_matter:
drafts:
description:
image:
category:
tags:
posts:
description:
image:
category:
tags:
published: false
sitemap: false
Rellenaremos cada valor una vez empezemos a editar el post.
Principales usos
Según la documentación la lista es más extensa, pero aquí lo utilizaremos principalmente para los siguientes cometidos: crear y renombrar borradores, publicar dichos borradores en la carpeta _posts
y crear nuevas páginas.
Crear nuevo borrador
Empezaremos creando un borrador. Hay varios métodos pero el ejemplo de hoy usaremos el siguiente:
$ bundle exec jekyll compose "My new draft" --draft
Configuration file: C:/Users/Antonio/PROYECTOS/Web-Personal/web-personal/_config.yml
New draft created at _drafts/my-new-draft.md
Esto crea un fichero llamado my-new-draft.md
en la carpeta _drafts
. El contenido inicial del fichero estará condicionado por la configuración que hayamos definido en el fichero _config.yaml
al respecto de los campos por defecto en el Front Matter. En nuestro caso aparece lo siguiente:
Como se ve en la imagen, el título que lo hemos dado en los parámetros del comando, la plantilla post
y la fecha de creación que se generan automáticamente ya están rellenos. Nos queda por rellenar el resto de campos por defecto.
Renombrar un borrador o un post
Usando el subcomando rename
le pasaremos como argumentos la ubicación y al nombre del fichero actual y seguido, entre comillas el nuevo nombre del mismo.
$ bundle exec jekyll rename _drafts/utilizando-jekyll-compose.md "Aprendiendo a manejar Jekyll compose"
Configuration file: C:/Users/Antonio/PROYECTOS/Web-Personal/web-personal/_config.yml
Draft _drafts/utilizando-jekyll-compose.md was moved to _drafts/aprendiendo-a-manejar-jekyll-compose.md
Estamos por tanto cambiando el nombre del fichero y el campo title
en el Front Matter
del mismo.
Publicar borrador
El último paso con respecto a los borradores y los posts sería la publicación. Es decir, mover el fichero de la carpeta _drafts
a la carpeta de publicación _posts
. Para ello ejecutaremos el subcomando publish
de la siguiente manera:
bundle exec jekyll publish _drafts/aprendiendo-a-manejar-jekyll-compose.md
Configuration file: C:/Users/Antonio/PROYECTOS/Web-Personal/web-personal/_config.yml
Draft _drafts/aprendiendo-a-manejar-jekyll-compose.md was moved to _posts/2023-07-17-aprendiendo-a-manejar-jekyll-compose.md
Se puede observar en la salida del comando que se ha añadido como sufijo la fecha en la que se ha ejecutado el mismo en formato AAAA-MM-DD
, dando así el formato estandar para el nombre de los posts en Jekyll.
Existen variaciones de este mismo comando, añadiendo el parámetro --date
, y con el mismo formato que vemos en este ejemplo, pondríamos la fecha de publicación que deseamos que aparezca, evitando así que nos auto asigne la fecha del día en curso.
Crear nueva página
Usaremos el ejemplo de la página courses.html
que en un futuro albergará un listado de posts referidos a la colección del mismo nombre.
$ bundle exec jekyll page -s "./blog" "courses" -x html
Configuration file: none
New page created at ./blog/courses.html
El comando necesita 3 parámetros:
-s
o--source
, que indicará la carpeta donde queremos que se cree el fichero- El nombre del fichero entre comillas.
-x
o--extension
, que indicará la extensión del fichero a crear
Recursos:
Proyecto jekyll-compose en Github