From 8d3159494647147b72c76e4e7a64e57882cc3029 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9ophile=20Bastian?= Date: Sun, 30 Oct 2022 18:06:02 +0100 Subject: [PATCH] Enhance latex aspect --- repartir_taches/entrypoint.py | 1 + repartir_taches/templates/repartition.tex.j2 | 32 ++++++++++++++------ repartir_taches/templates/tache.tex.j2 | 9 +++--- repartir_taches/util.py | 11 +++++++ taches.yml | 6 ++-- 5 files changed, 42 insertions(+), 17 deletions(-) diff --git a/repartir_taches/entrypoint.py b/repartir_taches/entrypoint.py index 70619ec..d239585 100644 --- a/repartir_taches/entrypoint.py +++ b/repartir_taches/entrypoint.py @@ -85,6 +85,7 @@ def export_latex(config: Config, groupes: list[list[str]]) -> str: env = { "groupes": {g_id: grp for g_id, grp in enumerate(groupes)}, "taches": config.taches.tasks, + "couleur": util.group_colors, } return template.render(**env) diff --git a/repartir_taches/templates/repartition.tex.j2 b/repartir_taches/templates/repartition.tex.j2 index f028558..ecd65b0 100644 --- a/repartir_taches/templates/repartition.tex.j2 +++ b/repartir_taches/templates/repartition.tex.j2 @@ -5,25 +5,37 @@ \usepackage[dvipsnames]{xcolor} \usepackage[T1]{fontenc} \usepackage[fontsize=14pt]{fontsize} -\usepackage{mdframed} +\usepackage[framemethod=tikz]{mdframed} +\usepackage[most]{tcolorbox} \title{\vspace{-1.5cm}Répartition des tâches} \author{} \date{\vspace{-2.5cm}} -\newcommand{\groupe}[1]{#1} -\newcommand{\heure}[1]{#1} +{% endraw %} + +{% for num in range((groupes|length) + 1) %} +\definecolor{groupe{{- num -}} }{HTML}{ {{- couleur[num % (couleur|length)] -}} } +{% endfor %} + +{% raw %} + +\newcommand{\groupe}[1]{ + \tcbox[on line,% + left=0pt,top=0pt,right=0pt,bottom=0pt,% + bean arc,% + colframe=white,colback=groupe#1% + ]{#1} +} +\newcommand{\heure}[1]{\normalfont #1} + +\newmdenv[roundcorner=10pt]{mdtask} \newcommand{\category}[2]{ - \vspace{1em} - \begin{center} - \textbf{\Large#1} - \end{center}\hfill #2\\ - \vspace{1em} + \section*{#1\hfill{\normalfont #2}} } \newcommand{\subcategory}[2]{ - \vspace{1em}\hspace{2em}\textbf{\large#1}\hfill #2\\ - \vspace{1em} + \subsection*{\hspace{1em}#1\hfill{\normalfont #2}} } {% endraw %} diff --git a/repartir_taches/templates/tache.tex.j2 b/repartir_taches/templates/tache.tex.j2 index a8a1f40..4403ec1 100644 --- a/repartir_taches/templates/tache.tex.j2 +++ b/repartir_taches/templates/tache.tex.j2 @@ -1,7 +1,8 @@ \vbox{ -\noindent\textbf{ {{- cat.name -}} }{% if cat.time -%} - \hfill\heure{ {{- cat.time -}} } -{%- endif %} \\ +\begin{mdtask}[ + frametitle={ {{- cat.name -}} + {%- if cat.time %} \hfill{} \heure{ {{-cat.time-}} }{% endif %}} +] {{ cat.descr|md_format|escape_latex }} \\ {% if cat.notes %}\textit{ {{- cat.notes -}} } \\ {% endif -%} @@ -9,5 +10,5 @@ {% for g_id in cat.assigned %} {% include 'groupe.tex.j2' %} {%- endfor -%} \end{tabular} +\end{mdtask} } -\vspace{1.5em} diff --git a/repartir_taches/util.py b/repartir_taches/util.py index 6feb241..0c46e23 100644 --- a/repartir_taches/util.py +++ b/repartir_taches/util.py @@ -4,6 +4,17 @@ import jinja2 as j2 import re +group_colors: list[str] = [ + "ffacab", + "acabff", + "6fe569", + "83e5aa", + "dfffbc", + "fff6ae", + "f4b3ff", +] + + def levenshtein_distance(s1, s2): """Compute the Levenshtein distance (edit distance) between two strings diff --git a/taches.yml b/taches.yml index bece7b8..41dcf6d 100644 --- a/taches.yml +++ b/taches.yml @@ -81,15 +81,15 @@ taches: - nom: Vider le compost descr: "Vider le compost : soulever à deux le sac plein par en dessous, passer par porte de la petite « cuisine plonge » (vaisselle), vider le sac dans les grands bacs en bois à 5 mètres à gauche en sortant (pendant que 1 personne ouvre les portes/le bac" - cat: Grand rangement - intro: "**Chacun·e est responsable du rangement et des espaces annexes de **sa** chambre !" + intro: "**Chacun·e est responsable du rangement et des espaces annexes de *sa* chambre !**" taches: - nom: Nettoyer salles de bain étage descr: Nettoyer les salles de bain du 1er étage du gîte principal notes: "Remplir les seaux de produit dans la salle plonge" - - nom: Nettoyer salles de bain rdc + - nom: Nettoyer salles de bain RdC descr: Nettoyer les salles de bain du rez-de-chaussée du gîte principal notes: "Remplir les seaux de produit dans la salle plonge" - - nom: Serpillère rdc + - nom: Serpillère RdC descr: "Passer la serpillère au rez-de-chaussée du gîte principal (ne pas hésiter à changer *souvent* l'eau du seau quand elle est sale)" notes: "Remplir les seaux de produit dans la salle plonge" - nom: Serpillère école