Un dépôt contenant des templates catium pour roff - retour accueil
git clone git://bebou.netlib.re/roff-templates
Log | Files | Refs | README |
commit 338f4b911eb296f28b7ee958985d26df0e9c425e Auterice: Arthur Pons <arthur.pons@unistra.fr> Date: Sat, 28 Sep 2024 17:45:14 +0200 Premier commit Un seul template, une lettre de motiv Dépend de groff Diffstat:
A | .gitignore | | | 1 | + |
A | README | | | 1 | + |
A | contents/lettre-motivation.sh | | | 140 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
A | layouts/letter | | | 22 | ++++++++++++++++++++++ |
A | letter | | | 26 | ++++++++++++++++++++++++++ |
A | makefile | | | 26 | ++++++++++++++++++++++++++ |
6 files changed, 216 insertions(+), 0 deletions(-)
diff --git a/.gitignore b/.gitignore @@ -0,0 +1 @@ +public/* diff --git a/README b/README @@ -0,0 +1 @@ +Dépôt ayant pour but de contenir des templates catium pour faire du roff diff --git a/contents/lettre-motivation.sh b/contents/lettre-motivation.sh @@ -0,0 +1,140 @@ +#! letter + +title: Lettre de motivation + +section: me +Jean Dupont +27 rue de la Gourde, +67000 Strasbourg +jean.dupont@cool.yes +endsection + +section: them +Destinataire +Son adresse +75012 Paris +endsection + +section: main + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. +Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, +dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper +congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est +eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu +massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue. +Ut in risus volutpat libero pharetra tempor. Cras vestibulum bibendum augue. +Praesent egestas leo in pede. Praesent blandit odio eu enim. Pellentesque sed +dui ut augue blandit sodales. Vestibulum ante ipsum primis in faucibus orci +luctus et ultrices posuere cubilia Curae; Aliquam nibh. Mauris ac mauris sed +pede pellentesque fermentum. Maecenas adipiscing ante non diam sodales +hendrerit. + +Ut velit mauris, egestas sed, gravida nec, ornare ut, mi. Aenean ut orci vel +massa suscipit pulvinar. Nulla sollicitudin. Fusce varius, ligula non tempus +aliquam, nunc turpis ullamcorper nibh, in tempus sapien eros vitae ligula. +Pellentesque rhoncus nunc et augue. Integer id felis. Curabitur aliquet +pellentesque diam. Integer quis metus vitae elit lobortis egestas. Lorem ipsum +dolor sit amet, consectetuer adipiscing elit. Morbi vel erat non mauris +convallis vehicula. Nulla et sapien. Integer tortor tellus, aliquam faucibus, +convallis id, congue eu, quam. Mauris ullamcorper felis vitae erat. Proin +feugiat, augue non elementum posuere, metus purus iaculis lectus, et tristique +ligula justo vitae magna. Aliquam convallis sollicitudin purus. Praesent +aliquam, enim at fermentum mollis, ligula massa adipiscing nisl, ac euismod +nibh nisl eu lectus. Fusce vulputate sem at sapien. Vivamus leo. Aliquam +euismod libero eu enim. Nulla nec felis sed leo placerat imperdiet. Aenean +suscipit nulla in justo. Suspendisse cursus rutrum augue. Nulla tincidunt +tincidunt mi. Curabitur iaculis, lorem vel rhoncus faucibus, felis magna +fermentum augue, et ultricies lacus lorem varius purus. Curabitur eu amet. + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. +Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, +dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper +congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est +eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu +massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue. +Ut in risus volutpat libero pharetra tempor. Cras vestibulum bibendum augue. +Praesent egestas leo in pede. Praesent blandit odio eu enim. Pellentesque sed +dui ut augue blandit sodales. Vestibulum ante ipsum primis in faucibus orci +luctus et ultrices posuere cubilia Curae; Aliquam nibh. Mauris ac mauris sed +pede pellentesque fermentum. Maecenas adipiscing ante non diam sodales +hendrerit. + +Ut velit mauris, egestas sed, gravida nec, ornare ut, mi. Aenean ut orci vel +massa suscipit pulvinar. Nulla sollicitudin. Fusce varius, ligula non tempus +aliquam, nunc turpis ullamcorper nibh, in tempus sapien eros vitae ligula. +Pellentesque rhoncus nunc et augue. Integer id felis. Curabitur aliquet +pellentesque diam. Integer quis metus vitae elit lobortis egestas. Lorem ipsum +dolor sit amet, consectetuer adipiscing elit. Morbi vel erat non mauris +convallis vehicula. Nulla et sapien. Integer tortor tellus, aliquam faucibus, +convallis id, congue eu, quam. Mauris ullamcorper felis vitae erat. Proin +feugiat, augue non elementum posuere, metus purus iaculis lectus, et tristique +ligula justo vitae magna. Aliquam convallis sollicitudin purus. Praesent +aliquam, enim at fermentum mollis, ligula massa adipiscing nisl, ac euismod +nibh nisl eu lectus. Fusce vulputate sem at sapien. Vivamus leo. Aliquam +euismod libero eu enim. Nulla nec felis sed leo placerat imperdiet. Aenean +suscipit nulla in justo. Suspendisse cursus rutrum augue. Nulla tincidunt +tincidunt mi. Curabitur iaculis, lorem vel rhoncus faucibus, felis magna +fermentum augue, et ultricies lacus lorem varius purus. Curabitur eu amet. + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. +Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, +dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper +congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est +eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu +massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue. +Ut in risus volutpat libero pharetra tempor. Cras vestibulum bibendum augue. +Praesent egestas leo in pede. Praesent blandit odio eu enim. Pellentesque sed +dui ut augue blandit sodales. Vestibulum ante ipsum primis in faucibus orci +luctus et ultrices posuere cubilia Curae; Aliquam nibh. Mauris ac mauris sed +pede pellentesque fermentum. Maecenas adipiscing ante non diam sodales +hendrerit. + +Ut velit mauris, egestas sed, gravida nec, ornare ut, mi. Aenean ut orci vel +massa suscipit pulvinar. Nulla sollicitudin. Fusce varius, ligula non tempus +aliquam, nunc turpis ullamcorper nibh, in tempus sapien eros vitae ligula. +Pellentesque rhoncus nunc et augue. Integer id felis. Curabitur aliquet +pellentesque diam. Integer quis metus vitae elit lobortis egestas. Lorem ipsum +dolor sit amet, consectetuer adipiscing elit. Morbi vel erat non mauris +convallis vehicula. Nulla et sapien. Integer tortor tellus, aliquam faucibus, +convallis id, congue eu, quam. Mauris ullamcorper felis vitae erat. Proin +feugiat, augue non elementum posuere, metus purus iaculis lectus, et tristique +ligula justo vitae magna. Aliquam convallis sollicitudin purus. Praesent +aliquam, enim at fermentum mollis, ligula massa adipiscing nisl, ac euismod +nibh nisl eu lectus. Fusce vulputate sem at sapien. Vivamus leo. Aliquam +euismod libero eu enim. Nulla nec felis sed leo placerat imperdiet. Aenean +suscipit nulla in justo. Suspendisse cursus rutrum augue. Nulla tincidunt +tincidunt mi. Curabitur iaculis, lorem vel rhoncus faucibus, felis magna +fermentum augue, et ultricies lacus lorem varius purus. Curabitur eu amet. + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. +Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, +dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper +congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est +eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu +massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue. +Ut in risus volutpat libero pharetra tempor. Cras vestibulum bibendum augue. +Praesent egestas leo in pede. Praesent blandit odio eu enim. Pellentesque sed +dui ut augue blandit sodales. Vestibulum ante ipsum primis in faucibus orci +luctus et ultrices posuere cubilia Curae; Aliquam nibh. Mauris ac mauris sed +pede pellentesque fermentum. Maecenas adipiscing ante non diam sodales +hendrerit. + +Ut velit mauris, egestas sed, gravida nec, ornare ut, mi. Aenean ut orci vel +massa suscipit pulvinar. Nulla sollicitudin. Fusce varius, ligula non tempus +aliquam, nunc turpis ullamcorper nibh, in tempus sapien eros vitae ligula. +Pellentesque rhoncus nunc et augue. Integer id felis. Curabitur aliquet +pellentesque diam. Integer quis metus vitae elit lobortis egestas. Lorem ipsum +dolor sit amet, consectetuer adipiscing elit. Morbi vel erat non mauris +convallis vehicula. Nulla et sapien. Integer tortor tellus, aliquam faucibus, +convallis id, congue eu, quam. Mauris ullamcorper felis vitae erat. Proin +feugiat, augue non elementum posuere, metus purus iaculis lectus, et tristique +ligula justo vitae magna. Aliquam convallis sollicitudin purus. Praesent +aliquam, enim at fermentum mollis, ligula massa adipiscing nisl, ac euismod +nibh nisl eu lectus. Fusce vulputate sem at sapien. Vivamus leo. Aliquam +euismod libero eu enim. Nulla nec felis sed leo placerat imperdiet. Aenean +suscipit nulla in justo. Suspendisse cursus rutrum augue. Nulla tincidunt +tincidunt mi. Curabitur iaculis, lorem vel rhoncus faucibus, felis magna +fermentum augue, et ultricies lacus lorem varius purus. Curabitur eu amet. + +endsection diff --git a/layouts/letter b/layouts/letter @@ -0,0 +1,22 @@ +layout() { +<<@@ cat +.nr PS 10.5 +.nr PD 0.9v +.nr PO 0.8i +.nr LL 6.65i +.nr HM 0.6i +.nr FM 0.75i +.ds CH + +.rj 3 +.in 13c +$(show them | grep -v ".LP" | sed 's,$,\n.br,') +.in 0 +$(show me | grep -v ".LP") + +.TL +$title +.ND +$(show main) +@@ +} diff --git a/letter b/letter @@ -0,0 +1,26 @@ +#! /usr/bin/env dash + +tmpdir=$(mktemp -d) +trap "rm -rf $tmpdir" EXIT + +save() cat >> "$tmpdir/$1" +show() { + lowdown -tms "$tmpdir/$1" | sed -E 's/.PP/.LP/g' +} + +alias section:='<<\endsection save' + +alias title:="title" +title() title="$*" + +alias author:="author" +author() author="$*" + +alias description:="description" +description() description="$*" + +. layouts/letter + +. "$1" + +layout diff --git a/makefile b/makefile @@ -0,0 +1,26 @@ +.DELETE_ON_ERROR: + +sources != find contents -type f -name '*.sh' + +roff = ${sources:contents/%.sh=public/%.roff} +pdfs = ${sources:contents/%.sh=public/%.pdf} + +all: exec ${roff} ${pdfs} + +clean:; rm -r public/* + +exec:; chmod +x ${sources} + +public/%.roff : contents/%.sh letter layouts/letter + @mkdir -p $(shell dirname $@) + $< > $@ + +public/%.pdf : public/%.roff letter layouts/letter + @mkdir -p $(shell dirname $@) + < $< groff -ms -Kutf8 -Tpdf -dpaper=a4 -P-pa4 > $@ + +public/% : contents/% + @mkdir -p $(shell dirname $@) + cp $< $@ + +.PHONY: all clean exec