_posts / # {ahora} – # {File.basename (f)}””)} end endend

Gestión de varios borradores fácilmente en Jekyll

A pesar de ser sólo un sitio web estático, podemos utilizar un plugin en Jekyll también. Vamos a continuar nuestra discusión sobre la creación de borradores de la entrada anterior. Como se puede ver antes – en el anterior post – hemos creado las corrientes de aire y los ponemos dentro de una carpeta especial llamada _drafts primero.
Entonces, como estamos dispuestos a publicarlo, les trasladamos a la carpeta _posts con el formato de nomenclatura adecuada.

Suena fácil ¿no? no debería ser un problema si usted sólo administrar 1 o 2 puestos borradores. Pero, cuando se tiene 5-10 enviar borradores, el cambio de nombre de cada archivo, y especificando la fecha correcta con la mano puede ser un dolor. Echemos un vistazo cómo podemos simplificar el flujo de trabajo con un plugin Jekyll.
Lectura recomendada: Cómo crear un blog con Jekyll – una guía para principiantes
Empezando
Antes de seguir adelante, vamos a crear una nueva carpeta llamada _plugins; se requiere la carpeta como Jekyll buscará y ejecutar plugins desde dentro de la carpeta. También tenemos que crear un nuevo archivo llamado publisher.rb en ella; técnicamente, puede nombrar libremente ese archivo con el nombre que desee.
Vamos a utilizar un plugin Jekyll creado por Jeffrey Sambells. Este plugin se encargará de la molestia al publicar un post de un proyecto en Jekyll. Se cambiará el nombre del archivo correctamente, junto con la fecha. Y también especificará la fecha dentro de la sección posterior Materia Frente.
El siguiente es el código fuente del plugin, disponible en esta página Gist. Copia este código abajo y pegarlo en el archivo publisher.rb que acabamos de crear.
Clase 1617181920module Jekyll PostPublisher Generador segura falsa def reemplazar (filepath, regexp, * args, y bloque) content = File.read (filepath) .gsub (regexp, * args, y bloque) File.open (filepath, “wb”) {| archivo | file.write (contenido)} end def generan (sitio)files = Dir [“_ publicar / *”] @ files.each_with_index {| f, i | = ahora DateTime.now.strftime (“% Y-% m- % d% H:% M:% S “) reemplazar (f, / ^ fecha: inédito / milla) {| opción |” fecha: “” + ahora + “” “”} ahora = Date.today.strftime ( “”% Y-% m-% d””) File.rename (f