open-source-uc / latex-templates

Repositorio donde se recopilan los templates creados por la comunidad OSUC
MIT License
39 stars 9 forks source link

Propuesta para automatización y compilación de templates #2

Open benjavicente opened 2 years ago

benjavicente commented 2 years ago

Problema

Ahora no hay una estructura definida en cada template.

El .tex como "target" puede ser distinto, algunos templates pueden incluir archivos de muestra o que no sirven para hacer los documentos, y hay datos como autor y versión que no son fáciles de incluir para que sean obtenidos automáticamente.

Propuesta

Propongo empezar a añadir un YAML Front Matter a cada ReadMe. Los datos que se añadan ahí podrían permitir saber información como el archivo a compilar, cuáles son los archivos a incluir en el zip, y más. Añadirlo junto al ReadMe evitará crear archivos de más. El formato podría tener la siguiente estructura:

---
# TeX a compilar para mostrar de ejemplo o base, requerido. Podría también ser una lista.
target: main.tex
# Autor, opcional. El mail podría ser incluido opcionalmente en el mismo formato que usa Git.
author: Benjamín <benja@example.com>
# Globs de archivos a incluir en un zip, opcional. Si no se incluye, se asumiría que se incluyen todos.
# Siempre se incluye el ReadMe.
include:
  - "*.cls"
# Versión, opcional. Tag para informar si el templete tuvo cambios significativos
version: 1.1
---

<!--- El nombre del template puede ser obtenido del título de markdown -->
# Title

La información de última vez editado se podría obtener con Git, si es que es requerida.

Posibles beneficios

Con esto, se podrá automatizar varias cosas para hacer esta recopilación de templates más atractiva, como la generación de una lista de los templates disponibles en el ReadMe de este repositorio y en una futura página externa, provelliendo también vistas previas de los templetes.

agucova commented 2 years ago

no lei nada de la propuesta (perdón), pero https://toml.io/en/

benjavicente commented 2 years ago

TOML es innecesariamente verboso para este caso:

target = "main.tex"
author = "Benjamín <benja@example.com>"
include = [
  "*.cls",
]
version = 1.1

vs

target: main.tex
author: Benjamín <benja@example.com>
include:
  - "*.cls"
version: 1.1

No creo que valga mucho la pena TOML a menos que se usen tables.