Generar Portadas para Libros

Documentación 26 de mar. de 2024

La Portada

"No hay que valorar un libro por su portada", pero lo cierto es que una portada llamativa hace que la gente se fije más en un libro que en otro aun cuando el contenido pueda ser mejor o peor entre ellos.

En nuestro caso, si hemos realizado un trabajo enorme para dejar el contenido de una publicación, el darle un "toque" más moderno y llamativo es un plus y el remate final a nuestro trabajo.

Ideas para la Portada

El formato más "clásico" de los libros informáticos lo tenemos en las publicaciones de O'Reilly, que han sido siempre un referente en las publicaciones sobre informática.

Mi idea es usar un formato similar para generar automáticamente portadas con un estilo parecido.

Aunque existen aplicaciones Web on-line, Canvas por ejemplo, que permiten generar portadas muy elegantes, mi idea era que todas las portadas que pudiese generar mantuviesen un estilo homogéneo entre ellas, aunque fuese cambiando algunos elementos.

También quería no tener que depender de ninguna aplicación que necesitase de un servidor local (npm, php, etc) y usar un navegador para generar las portadas.

Al final he optado por la potencia del lenguaje Go para programar una aplicación que generase portadas desde la línea de comando.

Repositorio del Código

Tienes todo el código disponible en mi servidor GIT, para que te lo puedas descargar, clonar y mejorar.

https://gitea.soloconlinux.org.es/luisgulo/generadorPortadasLibro

Aplicación "portada"

Aunque en el repositorio existe un directorio de nombre imagenes, los únicos ficheros necesarios para el funcionamiento de la aplicación son:

    .
    ├── fuentes
    │   ├── Bebas.ttf
    │   ├── Roboto.ttf
    │   └── Sketch.ttf
    ├── imagen.png
    └── portada

Solo tienes que sustituir el fichero imagen.png por la imagen que desees aparezca en la portada. Por ahora el programa no redimensiona la imagen para ocupar el ancho necesario, así que deberá de tener un ancho de entre 1800-2000 pixeles.

Luego simplemente lanza el programa y completa los datos que te pida:

./portada  
  
  GENERADOR DE PORTADAS PARA LIBROS
  Título: 
  MANUAL PARA GENERACIÓN DE PORTADAS DE LIBROS
  SubTítulo: 
  Ejemplo de portada generada con la aplicación realizada en Go. 
  Portada se puede incluir en documentos con Pandoc.
  Autor: 
  Luis Gutiérrez López
  Editorial: 
  SOLOCONLINUX
  Color de Portada [ N:Negro, R:Rojo, V:Verde, A:Azul, M:Amarillo ] 
  A

 Generando Portada. Espere por favor....
 Se ha generado 'portada.png
Portada Generada en Tamaño a4 (portada.png)

Incluir portada en fichero Markdown para uso con Pandoc

Si usas Markdown para crear tu documentación y luego generar el Manual/Guía resultando con Pandoc, puedes modificar tu fichero Portada.md para incluir la imagen de la portada y que quede perfecta la presentación:

---
title: |
    ![](portada.png)
    MANUAL PARA GENERACIÓN DE PORTADA DE LIBROS
subtitle: Ejemplo de portada generada con la aplicación realizada en Go
author: Luis Gutiérrez López
date: Marzo 2024
abstract: |
    Una forma sencilla de incluir una portada a tus publicaciones realizadas
    con Pandoc con texto sencillo realizado con Markdown y LaTeX.
    
    Totalmente personalizable tanto en imágenes, título y subtítulos, asi como
    en los colores del tema de la portada final del Libro.
---
\thispagestyle{empty}
\pagebreak

El truco es indicar en title que se trata de un párrafo (no de una línea), para ello usamos el símbolo de pipe |En la primera línea indicamos la imagen de la portada generada, y en la segunda línea escribimos el titulo de forma normal.

Cuando generemos mediante Pandoc el Libro/Manual/Guía el resultado final será el siguiente:

Resultado de libro generado con Pandoc

Trucos y opciones sin "tocar código"

  • Cambio de Fuentes: Si quieres modificar las fuentes del documento final, puedes simplemente sobreescribir las fuentes (TTF) por las que desees.
  • Imagenes personales aleatorias: Pon en el directorio `./imagenes` las que desees y elimina el fichero `imagen.png`
  • Color por defecto: Si no indicas ningún color la opción por defecto es Azul.
  • Automatizar generación:

Puedes tener preparado un fichero de texto con una línea por cada uno de los datos de lo que te va pedir y luego usarlo para generar el libro sin teclear nada.

Fichero para automatizar texto-portada.txt:

EJEMPLO DE LIBRO
Un libro que te atrapa desde el principio
Edward Nolowsky
TROMANDO EDICIONES
R

Luego puedes usarlo del siguiente modo:

cat texto | ./portada

Y ya está portada generada sin tener que escribir en la consola:

Etiquetas

Luis GuLo

🐧 SysAdmin GNU/Linux - 🐳 Docker - 🖥️ Bash Scripting - 🐪 Perl - 🐬 MySQL - 👥 Formador de TI - 👥 Formador de SysAdmin's - 💢 Ansible - ☁️ Cloud Computing - ❤️ Debian GNU/Linux