From 5e009e19c894469bd95283efb3a30a12620d4620 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Mon, 30 Jun 2025 12:32:15 +0200 Subject: [PATCH 01/12] Add idea file for python project --- .idea/.gitignore | 8 ++++++++ .idea/inspectionProfiles/profiles_settings.xml | 6 ++++++ .idea/manuals.iml | 17 +++++++++++++++++ .idea/misc.xml | 6 ++++++ .idea/modules.xml | 8 ++++++++ .idea/vcs.xml | 9 +++++++++ 6 files changed, 54 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/manuals.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/manuals.iml b/.idea/manuals.iml new file mode 100644 index 0000000..1202a82 --- /dev/null +++ b/.idea/manuals.iml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..b71f6ff --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..0b18ecd --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..b84d950 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file -- 2.47.2 From 9fcc6017307c3709d31327c4c08a979f0a0812b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Mon, 30 Jun 2025 13:11:30 +0200 Subject: [PATCH 02/12] REstore build for admin --- admin/generation-documents.md | 4 +- build-pandoc.sh | 7 +- eisvogel.latex | 1037 +++++++++++++++++++++++++++++++++ pandoc/template | 2 +- 4 files changed, 1043 insertions(+), 7 deletions(-) create mode 100644 eisvogel.latex diff --git a/admin/generation-documents.md b/admin/generation-documents.md index 3a83d3a..9fa6eea 100644 --- a/admin/generation-documents.md +++ b/admin/generation-documents.md @@ -138,9 +138,9 @@ Les options disponibles dépendent du contexte. Par exemple, pour un courrier généré dans un contexte "parcours", l'utilisateur pourra choisir un usager du parcours pour un courrier; l'administrateur indiquera qu'il s'agira du "destinataire" du courrier. Tandis que pour un formulaire officiel, l'administrateur configurera un "demandeur" et "co-demandeur", et ce sont ces libellés qui s'afficheront. -## Variables par contexte +## Variables par contexte -### Pour tous les contextes { #sec:gendoc:champs-documents } +### Pour tous les contextes { #sec:gendoc-champs-documents } #### Variables diff --git a/build-pandoc.sh b/build-pandoc.sh index 3734c25..49bfcc5 100755 --- a/build-pandoc.sh +++ b/build-pandoc.sh @@ -66,13 +66,12 @@ export ARGS=" --number-sections --resource-path ./. --metadata-file ./metadata.yaml - `#--lua-filter "../${PANDOC_DIR}/format-link.lua` " -export PDF_TEMPLATE="./../pandoc/template/eisvogel.tex" +export PDF_TEMPLATE="./../eisvogel.latex" export LATEX_ARGS=" --metadata=footer-left:$(date +%d-%m-%Y) - --template "${PDF_TEMPLATE}" - --lua-filter "../${PANDOC_DIR}/boxes.lua" + --template ${PDF_TEMPLATE} + --lua-filter "..${PANDOC_DIR}/boxes.lua" " diff --git a/eisvogel.latex b/eisvogel.latex new file mode 100644 index 0000000..cbba6e3 --- /dev/null +++ b/eisvogel.latex @@ -0,0 +1,1037 @@ +%% +% Copyright (c) 2017 - 2025, Pascal Wagler; +% Copyright (c) 2014 - 2025, John MacFarlane +% +% All rights reserved. +% +% Redistribution and use in source and binary forms, with or without +% modification, are permitted provided that the following conditions +% are met: +% +% - Redistributions of source code must retain the above copyright +% notice, this list of conditions and the following disclaimer. +% +% - Redistributions in binary form must reproduce the above copyright +% notice, this list of conditions and the following disclaimer in the +% documentation and/or other materials provided with the distribution. +% +% - Neither the name of John MacFarlane nor the names of other +% contributors may be used to endorse or promote products derived +% from this software without specific prior written permission. +% +% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +% "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +% LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +% FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +% COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +% INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +% BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +% LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +% LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +% ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +% POSSIBILITY OF SUCH DAMAGE. +%% + +%% +% This is the Eisvogel pandoc LaTeX template. +% +% For usage information and examples visit the official GitHub page: +% https://github.com/Wandmalfarbe/pandoc-latex-template +%% +% Options for packages loaded elsewhere +\PassOptionsToPackage{unicode$for(hyperrefoptions)$,$hyperrefoptions$$endfor$}{hyperref} +\PassOptionsToPackage{hyphens}{url} +\PassOptionsToPackage{dvipsnames,svgnames,x11names,table}{xcolor} +$if(CJKmainfont)$ +\PassOptionsToPackage{space}{xeCJK} +$endif$ +\documentclass[ +$for(babel-otherlangs)$ + $babel-otherlangs$, +$endfor$ +$if(babel-lang)$ + $babel-lang$, +$endif$ +$if(fontsize)$ + $fontsize$, +$endif$ +$if(papersize)$ + $papersize$paper, +$else$ + paper=a4, +$endif$ +$for(classoption)$ + $classoption$$sep$, +$endfor$ + ,captions=tableheading +]{$if(book)$scrbook$else$scrartcl$endif$} +$if(beamerarticle)$ +\usepackage{beamerarticle} % needs to be loaded first +$endif$ +\usepackage{xcolor} +$if(footnotes-pretty)$ +% load footmisc in order to customize footnotes (footmisc has to be loaded before hyperref, cf. https://tex.stackexchange.com/a/169124/144087) +\usepackage[hang,flushmargin,bottom,multiple]{footmisc} +\setlength{\footnotemargin}{0.8em} % set space between footnote nr and text +\setlength{\footnotesep}{\baselineskip} % set space between multiple footnotes +\setlength{\skip\footins}{0.3cm} % set space between page content and footnote +\setlength{\footskip}{0.9cm} % set space between footnote and page bottom +$endif$ +$if(geometry)$ +\usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry} +$else$ +\usepackage[margin=2.5cm,includehead=true,includefoot=true,centering,$for(geometry)$$geometry$$sep$,$endfor$]{geometry} +$endif$ +\usepackage{amsmath,amssymb} + +$if(titlepage-logo)$ +\usepackage[export]{adjustbox} +\usepackage{graphicx} +$endif$ + +% add backlinks to footnote references, cf. https://tex.stackexchange.com/questions/302266/make-footnote-clickable-both-ways +$if(footnotes-disable-backlinks)$ +$else$ +\usepackage{footnotebackref} +$endif$ +$-- +$-- section numbering +$-- +$if(numbersections)$ +\setcounter{secnumdepth}{$if(secnumdepth)$$secnumdepth$$else$5$endif$} +$else$ +\setcounter{secnumdepth}{-\maxdimen} % remove section numbering +$endif$ +\usepackage{iftex} +\ifPDFTeX + \usepackage[$if(fontenc)$$fontenc$$else$T1$endif$]{fontenc} + \usepackage[utf8]{inputenc} + \usepackage{textcomp} % provide euro and other symbols +\else % if luatex or xetex +$if(mathspec)$ + \ifXeTeX + \usepackage{mathspec} % this also loads fontspec + \else + \usepackage{unicode-math} % this also loads fontspec + \fi +$else$ + \usepackage{unicode-math} % this also loads fontspec +$endif$ + \defaultfontfeatures{Scale=MatchLowercase}$-- must come before Beamer theme + \defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1} +\fi +$if(fontfamily)$ +$else$ +$-- Set default font before Beamer theme so the theme can override it +\usepackage{lmodern} +$endif$ +$-- User font settings (must come after default font and Beamer theme) +$if(fontfamily)$ +\usepackage[$for(fontfamilyoptions)$$fontfamilyoptions$$sep$,$endfor$]{$fontfamily$} +$endif$ +\ifPDFTeX\else + % xetex/luatex font selection +$if(mainfont)$ +$if(mainfontfallback)$ + \ifLuaTeX + \usepackage{luaotfload} + \directlua{luaotfload.add_fallback("mainfontfallback",{ + $for(mainfontfallback)$"$mainfontfallback$"$sep$,$endfor$ + })} + \fi +$endif$ + \setmainfont[$for(mainfontoptions)$$mainfontoptions$$sep$,$endfor$$if(mainfontfallback)$,RawFeature={fallback=mainfontfallback}$endif$]{$mainfont$} +$endif$ +$if(sansfont)$ +$if(sansfontfallback)$ + \ifLuaTeX + \usepackage{luaotfload} + \directlua{luaotfload.add_fallback("sansfontfallback",{ + $for(sansfontfallback)$"$sansfontfallback$"$sep$,$endfor$ + })} + \fi +$endif$ + \setsansfont[$for(sansfontoptions)$$sansfontoptions$$sep$,$endfor$$if(sansfontfallback)$,RawFeature={fallback=sansfontfallback}$endif$]{$sansfont$} +$endif$ +$if(monofont)$ +$if(monofontfallback)$ + \ifLuaTeX + \usepackage{luaotfload} + \directlua{luaotfload.add_fallback("monofontfallback",{ + $for(monofontfallback)$"$monofontfallback$"$sep$,$endfor$ + })} + \fi +$endif$ + \setmonofont[$for(monofontoptions)$$monofontoptions$$sep$,$endfor$$if(monofontfallback)$,RawFeature={fallback=monofontfallback}$endif$]{$monofont$} +$endif$ +$for(fontfamilies)$ + \newfontfamily{$fontfamilies.name$}[$for(fontfamilies.options)$$fontfamilies.options$$sep$,$endfor$]{$fontfamilies.font$} +$endfor$ +$if(mathfont)$ +$if(mathspec)$ + \ifXeTeX + \setmathfont(Digits,Latin,Greek)[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$} + \else + \setmathfont[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$} + \fi +$else$ + \setmathfont[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$} +$endif$ +$endif$ +$if(CJKmainfont)$ + \ifXeTeX + \usepackage{xeCJK} + \setCJKmainfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmainfont$} +$if(CJKsansfont)$ + \setCJKsansfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKsansfont$} +$endif$ +$if(CJKmonofont)$ + \setCJKmonofont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmonofont$} +$endif$ + \fi +$endif$ +$if(luatexjapresetoptions)$ + \ifLuaTeX + \usepackage[$for(luatexjapresetoptions)$$luatexjapresetoptions$$sep$,$endfor$]{luatexja-preset} + \fi +$endif$ +$if(CJKmainfont)$ + \ifLuaTeX + \usepackage[$for(luatexjafontspecoptions)$$luatexjafontspecoptions$$sep$,$endfor$]{luatexja-fontspec} + \setmainjfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmainfont$} + \fi +$endif$ +\fi +$if(zero-width-non-joiner)$ +%% Support for zero-width non-joiner characters. +\makeatletter +\def\zerowidthnonjoiner{% + % Prevent ligatures and adjust kerning, but still support hyphenating. + \texorpdfstring{% + \TextOrMath{\nobreak\discretionary{-}{}{\kern.03em}% + \ifvmode\else\nobreak\hskip\z@skip\fi}{}% + }{}% +} +\makeatother +\ifPDFTeX + \DeclareUnicodeCharacter{200C}{\zerowidthnonjoiner} +\else + \catcode`^^^^200c=\active + \protected\def ^^^^200c{\zerowidthnonjoiner} +\fi +%% End of ZWNJ support +$endif$ +% Use upquote if available, for straight quotes in verbatim environments +\IfFileExists{upquote.sty}{\usepackage{upquote}}{} +\IfFileExists{microtype.sty}{% use microtype if available + \usepackage[$for(microtypeoptions)$$microtypeoptions$$sep$,$endfor$]{microtype} + \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts +}{} + +$if(linestretch)$ +\usepackage{setspace} +$else$ +% Use setspace anyway because we change the default line spacing. +% The spacing is changed early to affect the titlepage and the TOC. +\usepackage{setspace} +\setstretch{1.2} +$endif$ +$-- +$-- paragraph formatting +$-- +$if(indent)$ +$else$ +\makeatletter +\@ifundefined{KOMAClassName}{% if non-KOMA class + \IfFileExists{parskip.sty}{% + \usepackage{parskip} + }{% else + \setlength{\parindent}{0pt} + \setlength{\parskip}{6pt plus 2pt minus 1pt}} +}{% if KOMA class + \KOMAoptions{parskip=half}} +\makeatother +$endif$ +$if(beamer)$ +$else$ +$if(block-headings)$ +% Make \paragraph and \subparagraph free-standing +\makeatletter +\ifx\paragraph\undefined\else + \let\oldparagraph\paragraph + \renewcommand{\paragraph}{ + \@ifstar + \xxxParagraphStar + \xxxParagraphNoStar + } + \newcommand{\xxxParagraphStar}[1]{\oldparagraph*{#1}\mbox{}} + \newcommand{\xxxParagraphNoStar}[1]{\oldparagraph{#1}\mbox{}} +\fi +\ifx\subparagraph\undefined\else + \let\oldsubparagraph\subparagraph + \renewcommand{\subparagraph}{ + \@ifstar + \xxxSubParagraphStar + \xxxSubParagraphNoStar + } + \newcommand{\xxxSubParagraphStar}[1]{\oldsubparagraph*{#1}\mbox{}} + \newcommand{\xxxSubParagraphNoStar}[1]{\oldsubparagraph{#1}\mbox{}} +\fi +\makeatother +$endif$ +$endif$ +$-- +$-- verbatim in notes +$-- +$if(verbatim-in-note)$ +\usepackage{fancyvrb} +$endif$ +$-- highlighting +$if(listings)$ +\usepackage{listings} +\newcommand{\passthrough}[1]{#1} +\lstset{defaultdialect=[5.3]Lua} +\lstset{defaultdialect=[x86masm]Assembler} +$endif$ +$if(listings-no-page-break)$ +\usepackage{etoolbox} +\BeforeBeginEnvironment{lstlisting}{\par\noindent\begin{minipage}{\linewidth}} +\AfterEndEnvironment{lstlisting}{\end{minipage}\par\addvspace{\topskip}} +$endif$ +$if(lhs)$ +\lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{} +$endif$ +$if(highlighting-macros)$ +$highlighting-macros$ + +% Workaround/bugfix from jannick0. +% See https://github.com/jgm/pandoc/issues/4302#issuecomment-360669013) +% or https://github.com/Wandmalfarbe/pandoc-latex-template/issues/2 +% +% Redefine the verbatim environment 'Highlighting' to break long lines (with +% the help of fvextra). Redefinition is necessary because it is unlikely that +% pandoc includes fvextra in the default template. +\usepackage{fvextra} +\DefineVerbatimEnvironment{Highlighting}{Verbatim}{breaklines,fontsize=$if(code-block-font-size)$$code-block-font-size$$else$\small$endif$,commandchars=\\\{\}} + +$endif$ +$-- +$-- tables +$-- +$if(tables)$ +\usepackage{longtable,booktabs,array} +$if(multirow)$ +\usepackage{multirow} +$endif$ +\usepackage{calc} % for calculating minipage widths +$if(beamer)$ +\usepackage{caption} +% Make caption package work with longtable +\makeatletter +\def\fnum@table{\tablename~\thetable} +\makeatother +$else$ +% Correct order of tables after \paragraph or \subparagraph +\usepackage{etoolbox} +\makeatletter +\patchcmd\longtable{\par}{\if@noskipsec\mbox{}\fi\par}{}{} +\makeatother +% Allow footnotes in longtable head/foot +\IfFileExists{footnotehyper.sty}{\usepackage{footnotehyper}}{\usepackage{footnote}} +\makesavenoteenv{longtable} +$endif$ +$endif$ +$-- +$-- graphics +$-- +$if(graphics)$ +\usepackage{graphicx} +\makeatletter +\newsavebox\pandoc@box +\newcommand*\pandocbounded[1]{% scales image to fit in text height/width + \sbox\pandoc@box{#1}% + \Gscale@div\@tempa{\textheight}{\dimexpr\ht\pandoc@box+\dp\pandoc@box\relax}% + \Gscale@div\@tempb{\linewidth}{\wd\pandoc@box}% + \ifdim\@tempb\p@<\@tempa\p@\let\@tempa\@tempb\fi% select the smaller of both + \ifdim\@tempa\p@<\p@\scalebox{\@tempa}{\usebox\pandoc@box}% + \else\usebox{\pandoc@box}% + \fi% +} +% Set default figure placement to htbp +% Make use of float-package and set default placement for figures to H. +% The option H means 'PUT IT HERE' (as opposed to the standard h option which means 'You may put it here if you like'). +\usepackage{float} +\floatplacement{figure}{$if(float-placement-figure)$$float-placement-figure$$else$H$endif$} +\makeatother +$endif$ +$if(svg)$ +\usepackage{svg} +$endif$ +$-- +$-- strikeout/underline +$-- +$if(strikeout)$ +\ifLuaTeX + \usepackage{luacolor} + \usepackage[soul]{lua-ul} +\else + \usepackage{soul} +$if(beamer)$ + \makeatletter + \let\HL\hl + \renewcommand\hl{% fix for beamer highlighting + \let\set@color\beamerorig@set@color + \let\reset@color\beamerorig@reset@color + \HL} + \makeatother +$endif$ +$if(CJKmainfont)$ + \ifXeTeX + % soul's \st doesn't work for CJK: + \usepackage{xeCJKfntef} + \renewcommand{\st}[1]{\sout{#1}} + \fi +$endif$ +\fi +$endif$ +$-- +$-- CSL citations +$-- +$if(csl-refs)$ +% definitions for citeproc citations +\NewDocumentCommand\citeproctext{}{} +\NewDocumentCommand\citeproc{mm}{% + \begingroup\def\citeproctext{#2}\cite{#1}\endgroup} +\makeatletter + % allow citations to break across lines + \let\@cite@ofmt\@firstofone + % avoid brackets around text for \cite: + \def\@biblabel#1{} + \def\@cite#1#2{{#1\if@tempswa , #2\fi}} +\makeatother +\newlength{\cslhangindent} +\setlength{\cslhangindent}{1.5em} +\newlength{\csllabelwidth} +\setlength{\csllabelwidth}{3em} +\newenvironment{CSLReferences}[2] % #1 hanging-indent, #2 entry-spacing + {\begin{list}{}{% + \setlength{\itemindent}{0pt} + \setlength{\leftmargin}{0pt} + \setlength{\parsep}{0pt} + % turn on hanging indent if param 1 is 1 + \ifodd #1 + \setlength{\leftmargin}{\cslhangindent} + \setlength{\itemindent}{-1\cslhangindent} + \fi + % set entry spacing + \setlength{\itemsep}{#2\baselineskip}}} + {\end{list}} +\usepackage{calc} +\newcommand{\CSLBlock}[1]{\hfill\break\parbox[t]{\linewidth}{\strut\ignorespaces#1\strut}} +\newcommand{\CSLLeftMargin}[1]{\parbox[t]{\csllabelwidth}{\strut#1\strut}} +\newcommand{\CSLRightInline}[1]{\parbox[t]{\linewidth - \csllabelwidth}{\strut#1\strut}} +\newcommand{\CSLIndent}[1]{\hspace{\cslhangindent}#1} +$endif$ +$-- +$-- Babel language support +$-- +$if(lang)$ +\ifLuaTeX +\usepackage[bidi=basic,shorthands=off,$for(babeloptions)$,$babeloptions$$endfor$]{babel} +\else +\usepackage[bidi=default,shorthands=off,$for(babeloptions)$,$babeloptions$$endfor$]{babel} +\fi +$if(babel-lang)$ +$if(mainfont)$ +\ifPDFTeX +\else +\babelfont{rm}[$for(mainfontoptions)$$mainfontoptions$$sep$,$endfor$$if(mainfontfallback)$,RawFeature={fallback=mainfontfallback}$endif$]{$mainfont$} +\fi +$endif$ +$endif$ +$for(babelfonts/pairs)$ +\babelfont[$babelfonts.key$]{rm}{$babelfonts.value$} +$endfor$ +\ifLuaTeX + \usepackage{selnolig} % disable illegal ligatures +\fi +$endif$ +$-- +$-- pagestyle +$-- +$if(pagestyle)$ +\pagestyle{$pagestyle$} +$endif$ +$-- +$-- prevent overfull lines +$-- +\setlength{\emergencystretch}{3em} % prevent overfull lines +$-- +$-- tight lists +$-- +\providecommand{\tightlist}{% + \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} +$-- +$-- subfigure support +$-- +$if(subfigure)$ +\usepackage{subcaption} +$endif$ +$-- +$-- text direction support for pdftex +$-- +$if(dir)$ +\ifPDFTeX + \TeXXeTstate=1 + \newcommand{\RL}[1]{\beginR #1\endR} + \newcommand{\LR}[1]{\beginL #1\endL} + \newenvironment{RTL}{\beginR}{\endR} + \newenvironment{LTR}{\beginL}{\endL} +\fi +$endif$ +$-- +$-- bibliography support support for natbib and biblatex +$-- +$if(natbib)$ +\usepackage[$natbiboptions$]{natbib} +\bibliographystyle{$if(biblio-style)$$biblio-style$$else$plainnat$endif$} +$endif$ +$if(biblatex)$ +\usepackage[$if(biblio-style)$style=$biblio-style$,$endif$$for(biblatexoptions)$$biblatexoptions$$sep$,$endfor$]{biblatex} +$for(bibliography)$ +\addbibresource{$bibliography$} +$endfor$ +$endif$ +$-- +$-- csquotes +$-- +$if(csquotes)$ +\usepackage[$for(csquotesoptions)$$csquotesoptions$$sep$,$endfor$]{csquotes} +$endif$ +$for(header-includes)$ +$header-includes$ +$endfor$ +\usepackage{bookmark} +\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available +\urlstyle{$if(urlstyle)$$urlstyle$$else$same$endif$} +$if(links-as-notes)$ +% Make links footnotes instead of hotlinks: +\DeclareRobustCommand{\href}[2]{#2\footnote{\url{#1}}} +$endif$ +$if(verbatim-in-note)$ +\VerbatimFootnotes % allow verbatim text in footnotes +$endif$ +\definecolor{default-linkcolor}{HTML}{A50000} +\definecolor{default-filecolor}{HTML}{A50000} +\definecolor{default-citecolor}{HTML}{4077C0} +\definecolor{default-urlcolor}{HTML}{4077C0} + +\hypersetup{ +$if(title-meta)$ + pdftitle={$title-meta$}, +$endif$ +$if(author-meta)$ + pdfauthor={$author-meta$}, +$endif$ +$if(lang)$ + pdflang={$lang$}, +$endif$ +$if(subject)$ + pdfsubject={$subject$}, +$endif$ +$if(keywords)$ + pdfkeywords={$for(keywords)$$keywords$$sep$, $endfor$}, +$endif$ +$if(colorlinks)$ + colorlinks=true, + linkcolor={$if(linkcolor)$$linkcolor$$else$default-linkcolor$endif$}, + filecolor={$if(filecolor)$$filecolor$$else$default-filecolor$endif$}, + citecolor={$if(citecolor)$$citecolor$$else$default-citecolor$endif$}, + urlcolor={$if(urlcolor)$$urlcolor$$else$default-urlcolor$endif$}, +$else$ +$if(boxlinks)$ +$else$ + hidelinks, +$endif$ +$endif$ + breaklinks=true, + pdfcreator={LaTeX via pandoc with the Eisvogel template}} + +$if(title)$ +\title{$title$$if(thanks)$\thanks{$thanks$}$endif$} +$endif$ +$if(subtitle)$ +\usepackage{etoolbox} +\makeatletter +\providecommand{\subtitle}[1]{% add subtitle to \maketitle + \apptocmd{\@title}{\par {\large #1 \par}}{}{} +} +\makeatother +\subtitle{$subtitle$} +$endif$ +\author{$for(author)$$author$$sep$ \and $endfor$} +\date{$date$} + +$if(page-background)$ +\usepackage[pages=all]{background} +$endif$ + +% +% for the background color of the title page +% +$if(titlepage)$ +\usepackage{pagecolor} +\usepackage{afterpage} +$if(titlepage-background)$ +\usepackage{tikz} +$endif$ +$if(geometry)$ +$else$ +\usepackage[margin=2.5cm,includehead=true,includefoot=true,centering]{geometry} +$endif$ +$endif$ + +% +% break urls +% +\PassOptionsToPackage{hyphens}{url} + +% +% When using babel or polyglossia with biblatex, loading csquotes is recommended +% to ensure that quoted texts are typeset according to the rules of your main language. +% +\usepackage{csquotes} + +% +% captions +% +\definecolor{caption-color}{HTML}{777777} +\usepackage[font={stretch=1.2}, textfont={color=caption-color}, position=top, skip=4mm, labelfont=bf, singlelinecheck=false, justification=$if(caption-justification)$$caption-justification$$else$raggedright$endif$]{caption} +\setcapindent{0em} + +% +% blockquote +% +\definecolor{blockquote-border}{RGB}{221,221,221} +\definecolor{blockquote-text}{RGB}{119,119,119} +\usepackage{mdframed} +\newmdenv[rightline=false,bottomline=false,topline=false,linewidth=3pt,linecolor=blockquote-border,skipabove=\parskip]{customblockquote} +\renewenvironment{quote}{\begin{customblockquote}\list{}{\rightmargin=0em\leftmargin=0em}% +\item\relax\color{blockquote-text}\ignorespaces}{\unskip\unskip\endlist\end{customblockquote}} + +% +% Source Sans Pro as the default font family +% Source Code Pro for monospace text +% +% 'default' option sets the default +% font family to Source Sans Pro, not \sfdefault. +% +\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex + $if(fontfamily)$ + $else$ + \usepackage[default]{sourcesanspro} + \usepackage{sourcecodepro} + $endif$ +\else % if not pdftex + $if(mainfont)$ + $else$ + \usepackage[default]{sourcesanspro} + \usepackage{sourcecodepro} + + % XeLaTeX specific adjustments for straight quotes: https://tex.stackexchange.com/a/354887 + % This issue is already fixed (see https://github.com/silkeh/latex-sourcecodepro/pull/5) but the + % fix is still unreleased. + % TODO: Remove this workaround when the new version of sourcecodepro is released on CTAN. + \ifxetex + \makeatletter + \defaultfontfeatures[\ttfamily] + { Numbers = \sourcecodepro@figurestyle, + Scale = \SourceCodePro@scale, + Extension = .otf } + \setmonofont + [ UprightFont = *-\sourcecodepro@regstyle, + ItalicFont = *-\sourcecodepro@regstyle It, + BoldFont = *-\sourcecodepro@boldstyle, + BoldItalicFont = *-\sourcecodepro@boldstyle It ] + {SourceCodePro} + \makeatother + \fi + $endif$ +\fi + +% +% heading color +% +\definecolor{heading-color}{RGB}{40,40,40} +\addtokomafont{section}{\color{heading-color}} +% When using the classes report, scrreprt, book, +% scrbook or memoir, uncomment the following line. +%\addtokomafont{chapter}{\color{heading-color}} + +% +% variables for title, author and date +% +\usepackage{titling} +\title{$title$} +\author{$for(author)$$author$$sep$, $endfor$} +\date{$date$} + +% +% tables +% +$if(tables)$ + +\definecolor{table-row-color}{HTML}{F5F5F5} +\definecolor{table-rule-color}{HTML}{999999} + +%\arrayrulecolor{black!40} +\arrayrulecolor{table-rule-color} % color of \toprule, \midrule, \bottomrule +\setlength\heavyrulewidth{0.3ex} % thickness of \toprule, \bottomrule +\renewcommand{\arraystretch}{1.3} % spacing (padding) + +$if(table-use-row-colors)$ +% Unfortunately the colored cells extend beyond the edge of the +% table because pandoc uses @-expressions (@{}) like so: +% +% \begin{longtable}[]{@{}ll@{}} +% \end{longtable} +% +% https://en.wikibooks.org/wiki/LaTeX/Tables#.40-expressions +\usepackage{etoolbox} +\AtBeginEnvironment{longtable}{\rowcolors{2}{}{table-row-color!100}} +\preto{\toprule}{\hiderowcolors}{}{} +\appto{\endhead}{\showrowcolors}{}{} +\appto{\endfirsthead}{\showrowcolors}{}{} +$endif$ +$endif$ + +% +% remove paragraph indentation +% +\setlength{\parindent}{0pt} +\setlength{\parskip}{6pt plus 2pt minus 1pt} +\setlength{\emergencystretch}{3em} % prevent overfull lines + +% +% +% Listings +% +% + +$if(listings)$ + +% +% general listing colors +% +\definecolor{listing-background}{HTML}{F7F7F7} +\definecolor{listing-rule}{HTML}{B3B2B3} +\definecolor{listing-numbers}{HTML}{B3B2B3} +\definecolor{listing-text-color}{HTML}{000000} +\definecolor{listing-keyword}{HTML}{435489} +\definecolor{listing-keyword-2}{HTML}{1284CA} % additional keywords +\definecolor{listing-keyword-3}{HTML}{9137CB} % additional keywords +\definecolor{listing-identifier}{HTML}{435489} +\definecolor{listing-string}{HTML}{00999A} +\definecolor{listing-comment}{HTML}{8E8E8E} + +\lstdefinestyle{eisvogel_listing_style}{ + language = java, +$if(listings-disable-line-numbers)$ + xleftmargin = 0.6em, + framexleftmargin = 0.4em, +$else$ + numbers = left, + xleftmargin = 2.7em, + framexleftmargin = 2.5em, +$endif$ + backgroundcolor = \color{listing-background}, + basicstyle = \color{listing-text-color}\linespread{1.0}% + \lst@ifdisplaystyle% + $if(code-block-font-size)$$code-block-font-size$$else$\small$endif$% + \fi\ttfamily{}, + breaklines = true, + frame = single, + framesep = 0.19em, + rulecolor = \color{listing-rule}, + frameround = ffff, + tabsize = 4, + numberstyle = \color{listing-numbers}, + aboveskip = 1.0em, + belowskip = 0.1em, + abovecaptionskip = 0em, + belowcaptionskip = 1.0em, + keywordstyle = {\color{listing-keyword}\bfseries}, + keywordstyle = {[2]\color{listing-keyword-2}\bfseries}, + keywordstyle = {[3]\color{listing-keyword-3}\bfseries\itshape}, + sensitive = true, + identifierstyle = \color{listing-identifier}, + commentstyle = \color{listing-comment}, + stringstyle = \color{listing-string}, + showstringspaces = false, + escapeinside = {/*@}{@*/}, % Allow LaTeX inside these special comments + literate = + {á}{{\'a}}1 {é}{{\'e}}1 {í}{{\'i}}1 {ó}{{\'o}}1 {ú}{{\'u}}1 + {Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ú}{{\'U}}1 + {à}{{\`a}}1 {è}{{\`e}}1 {ì}{{\`i}}1 {ò}{{\`o}}1 {ù}{{\`u}}1 + {À}{{\`A}}1 {È}{{\`E}}1 {Ì}{{\`I}}1 {Ò}{{\`O}}1 {Ù}{{\`U}}1 + {ä}{{\"a}}1 {ë}{{\"e}}1 {ï}{{\"i}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 + {Ä}{{\"A}}1 {Ë}{{\"E}}1 {Ï}{{\"I}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 + {â}{{\^a}}1 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {û}{{\^u}}1 + {Â}{{\^A}}1 {Ê}{{\^E}}1 {Î}{{\^I}}1 {Ô}{{\^O}}1 {Û}{{\^U}}1 + {œ}{{\oe}}1 {Œ}{{\OE}}1 {æ}{{\ae}}1 {Æ}{{\AE}}1 {ß}{{\ss}}1 + {ç}{{\c c}}1 {Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1 + {€}{{\EUR}}1 {£}{{\pounds}}1 {«}{{\guillemotleft}}1 + {»}{{\guillemotright}}1 {ñ}{{\~n}}1 {Ñ}{{\~N}}1 {¿}{{?`}}1 + {…}{{\ldots}}1 {≥}{{>=}}1 {≤}{{<=}}1 {„}{{\glqq}}1 {“}{{\grqq}}1 + {”}{{''}}1 +} +\lstset{style=eisvogel_listing_style} + +% +% Java (Java SE 12, 2019-06-22) +% +\lstdefinelanguage{Java}{ + morekeywords={ + % normal keywords (without data types) + abstract,assert,break,case,catch,class,continue,default, + do,else,enum,exports,extends,final,finally,for,if,implements, + import,instanceof,interface,module,native,new,package,private, + protected,public,requires,return,static,strictfp,super,switch, + synchronized,this,throw,throws,transient,try,volatile,while, + % var is an identifier + var + }, + morekeywords={[2] % data types + % primitive data types + boolean,byte,char,double,float,int,long,short, + % String + String, + % primitive wrapper types + Boolean,Byte,Character,Double,Float,Integer,Long,Short + % number types + Number,AtomicInteger,AtomicLong,BigDecimal,BigInteger,DoubleAccumulator,DoubleAdder,LongAccumulator,LongAdder,Short, + % other + Object,Void,void + }, + morekeywords={[3] % literals + % reserved words for literal values + null,true,false, + }, + sensitive, + morecomment = [l]//, + morecomment = [s]{/*}{*/}, + morecomment = [s]{/**}{*/}, + morestring = [b]", + morestring = [b]', +} + +\lstdefinelanguage{XML}{ + morestring = [b]", + moredelim = [s][\bfseries\color{listing-keyword}]{<}{\ }, + moredelim = [s][\bfseries\color{listing-keyword}]{}, + moredelim = [l][\bfseries\color{listing-keyword}]{/>}, + moredelim = [l][\bfseries\color{listing-keyword}]{>}, + morecomment = [s]{}, + morecomment = [s]{}, + commentstyle = \color{listing-comment}, + stringstyle = \color{listing-string}, + identifierstyle = \color{listing-identifier} +} +$endif$ + +% +% header and footer +% +$if(disable-header-and-footer)$ +$else$ +\usepackage[headsepline,footsepline]{scrlayer-scrpage} + +\newpairofpagestyles{eisvogel-header-footer}{ + \clearpairofpagestyles + \ihead*{$if(header-left)$$header-left$$else$$title$$endif$} + \chead*{$if(header-center)$$header-center$$else$$endif$} + \ohead*{$if(header-right)$$header-right$$else$$date$$endif$} + \ifoot*{$if(footer-left)$$footer-left$$else$$for(author)$$author$$sep$, $endfor$$endif$} + \cfoot*{$if(footer-center)$$footer-center$$else$$endif$} + \ofoot*{$if(footer-right)$$footer-right$$else$\thepage$endif$} + \addtokomafont{pageheadfoot}{\upshape} +} +\pagestyle{eisvogel-header-footer} + +$if(book)$ +\deftripstyle{ChapterStyle}{}{}{}{}{\pagemark}{} +\renewcommand*{\chapterpagestyle}{ChapterStyle} +$endif$ + +$if(page-background)$ +\backgroundsetup{ +scale=1, +color=black, +opacity=$if(page-background-opacity)$$page-background-opacity$$else$0.2$endif$, +angle=0, +contents={% + \includegraphics[width=\paperwidth,height=\paperheight]{$page-background$} + }% +} +$endif$ +$endif$ + +% +% Define watermark +% +$if(watermark)$ +\usepackage{draftwatermark} +\SetWatermarkText{$watermark$} +\SetWatermarkScale{.5} +$endif$ + +\begin{document} + +$if(titlepage)$ +\begin{titlepage} +$if(titlepage-background)$ +\newgeometry{top=2cm, right=4cm, bottom=3cm, left=4cm} +$else$ +\newgeometry{left=6cm} +$endif$ +$if(titlepage-color)$ +\definecolor{titlepage-color}{HTML}{$titlepage-color$} +\newpagecolor{titlepage-color}\afterpage{\restorepagecolor} +$endif$ +$if(titlepage-background)$ +\tikz[remember picture,overlay] \node[inner sep=0pt] at (current page.center){\includegraphics[width=\paperwidth,height=\paperheight]{$titlepage-background$}}; +$endif$ +\newcommand{\colorRule}[3][black]{\textcolor[HTML]{#1}{\rule{#2}{#3}}} +\begin{flushleft} +\noindent +\\[-1em] +\color[HTML]{$if(titlepage-text-color)$$titlepage-text-color$$else$5F5F5F$endif$} +\makebox[0pt][l]{\colorRule[$if(titlepage-rule-color)$$titlepage-rule-color$$else$435488$endif$]{1.3\textwidth}{$if(titlepage-rule-height)$$titlepage-rule-height$$else$4$endif$pt}} +\par +\noindent + +$if(titlepage-background)$ +% The titlepage with a background image has other text spacing and text size +{ + \setstretch{2} + \vfill + \vskip -8em + \noindent {\huge \textbf{\textsf{$title$}}} + $if(subtitle)$ + \vskip 1em + {\Large \textsf{$subtitle$}} + $endif$ + \vskip 2em + \noindent {\Large \textsf{$for(author)$$author$$sep$, $endfor$} \vskip 0.6em \textsf{$date$}} + \vfill +} +$else$ +{ + \setstretch{1.4} + \vfill + \noindent {\huge \textbf{\textsf{$title$}}} + $if(subtitle)$ + \vskip 1em + {\Large \textsf{$subtitle$}} + $endif$ + \vskip 2em + \noindent {\Large \textsf{$for(author)$$author$$sep$, $endfor$}} + \vfill +} +$endif$ + +$if(titlepage-logo)$ +\noindent +\includegraphics[width=$if(logo-width)$$logo-width$$else$35mm$endif$, left]{$titlepage-logo$} +$endif$ + +$if(titlepage-background)$ +$else$ +\textsf{$date$} +$endif$ +\end{flushleft} +\end{titlepage} +\restoregeometry +\pagenumbering{arabic} +$endif$ + +$if(has-frontmatter)$ +\frontmatter +$endif$ +$if(title)$ +% don't generate the default title +% \maketitle +$if(abstract)$ +\begin{abstract} +$abstract$ +\end{abstract} +$endif$ +$endif$ + +$if(first-chapter)$ +\setcounter{chapter}{$first-chapter$} +\addtocounter{chapter}{-1} +$endif$ + +$for(include-before)$ +$include-before$ + +$endfor$ +$if(toc)$ +$if(toc-title)$ +\renewcommand*\contentsname{$toc-title$} +$endif$ +{ +$if(colorlinks)$ +\hypersetup{linkcolor=$if(toccolor)$$toccolor$$else$$endif$} +$endif$ +\setcounter{tocdepth}{$toc-depth$} +\tableofcontents +$if(toc-own-page)$ +\newpage +$endif$ +} +$endif$ +$if(lof)$ +\listoffigures +$endif$ +$if(lot)$ +\listoftables +$endif$ +$if(linestretch)$ +\setstretch{$linestretch$} +$endif$ +$if(has-frontmatter)$ +\mainmatter +$endif$ +$body$ + +$if(has-frontmatter)$ +\backmatter +$endif$ +$if(nocite-ids)$ +\nocite{$for(nocite-ids)$$it$$sep$, $endfor$} +$endif$ +$if(natbib)$ +$if(bibliography)$ +$if(biblio-title)$ +$if(has-chapters)$ +\renewcommand\bibname{$biblio-title$} +$else$ +\renewcommand\refname{$biblio-title$} +$endif$ +$endif$ +\bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$} + +$endif$ +$endif$ +$if(biblatex)$ +\printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$ + +$endif$ +$for(include-after)$ +$include-after$ + +$endfor$ +\end{document} diff --git a/pandoc/template b/pandoc/template index 04e3296..62377f3 160000 --- a/pandoc/template +++ b/pandoc/template @@ -1 +1 @@ -Subproject commit 04e329698d01c3a25aa72ad81d98483284669316 +Subproject commit 62377f36a0ce5b48281e5ee51cb4eef364162037 -- 2.47.2 From 96a7cbe9549453c6e2fe57dd587fd06192c7af39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Mon, 30 Jun 2025 14:38:30 +0200 Subject: [PATCH 03/12] set up mkdocs --- .gitignore | 1 + Dockerfile | 3 + admin/.gitignore | 1 + admin/{ => docs}/cover-admin.pdf | Bin admin/{ => docs}/cover-admin.svg | 0 admin/{ => docs}/generation-documents.md | 0 .../libre-office-fonction-substituant.png | 0 .../libre-office-insert-renvoi.png | 0 admin/{ => docs}/known-limits.md | 0 admin/{ => docs}/metadata.yaml | 0 admin/{ => docs}/start.md | 0 admin/mkdocs.yml | 43 +++++++++++ build-pandoc.sh | 24 ++---- requirements.txt | 3 + user/.gitignore | 1 + user/{ => docs}/00000-toc.md | 0 user/{ => docs}/English/activity.md | 0 user/{ => docs}/English/aside_activities.md | 0 user/{ => docs}/English/bulk_reassign.md | 0 user/{ => docs}/English/documents.md | 0 user/{ => docs}/English/household.md | 0 user/{ => docs}/English/metadata.yaml | 0 user/{ => docs}/English/notifications.md | 0 user/{ => docs}/English/person.md | 0 user/{ => docs}/English/private_comments.md | 0 user/{ => docs}/English/search.md | 0 user/{ => docs}/English/social_actions.md | 0 user/{ => docs}/English/support_trajectory.md | 0 user/{ => docs}/English/tasks.md | 0 user/{ => docs}/English/thirdparty.md | 0 user/{ => docs}/English/workflow.md | 0 user/{ => docs}/_a-classer.md | 0 user/{ => docs}/activite.md | 0 user/{ => docs}/adresses.md | 0 user/{ => docs}/aside_activities.md | 0 user/{ => docs}/concept.md | 0 user/{ => docs}/cover-user.pdf | Bin user/{ => docs}/cover-user.svg | 0 user/{ => docs}/document.md | 0 user/{ => docs}/exports.md | 0 .../{ => docs}/exports_accompanying_period.md | 0 .../exports_accompanying_period_work.md | 0 ...rts_accompanying_period_work_evaluation.md | 0 user/{ => docs}/exports_activity.md | 0 user/{ => docs}/exports_aside_activity.md | 0 user/{ => docs}/exports_calendar.md | 0 user/{ => docs}/exports_household.md | 0 user/{ => docs}/exports_person.md | 0 user/{ => docs}/homepage.md | 0 user/{ => docs}/img/a_chill_page.png | 0 user/{ => docs}/img/action_accompagnement.png | 0 user/{ => docs}/img/address_details_modal.png | 0 ...ls_modal_with_address_reference_change.png | 0 .../img/address_inline_with_button.png | 0 ...address_inline_with_button_and_warning.png | 0 user/{ => docs}/img/advanced_search.png | 0 .../{ => docs}/img/aside_activity_details.png | 0 user/{ => docs}/img/banner_all.png | 0 user/{ => docs}/img/banner_course.png | 0 user/{ => docs}/img/banner_household.png | 0 user/{ => docs}/img/banner_person.png | 0 user/{ => docs}/img/chill_buttons.png | 0 user/{ => docs}/img/choisir-une-adresse.png | 0 user/{ => docs}/img/concerned_persons.png | 0 .../img/export_select_saved_exports.png | 0 ..._activity__accompanying_period_id_2705.png | 0 .../img/fr_notification_126_show.png | 0 user/{ => docs}/img/fr_notification_inbox.png | 0 .../img/fr_person_2811_document.png | 0 .../img/fr_person_2811_document_new.png | 0 .../{ => docs}/img/fr_person_2811_general.png | 0 ...r_person_2811_residential-address_list.png | 0 .../img/fr_person_2811_resources_list.png | 0 .../img/fr_person_household_376_addresses.png | 0 .../img/fr_person_household_376_summary.png | 0 user/{ => docs}/img/fr_person_new.png | 0 ...ee_vendeeperson_2811_infomedicale_view.png | 0 ...ee_vendeeperson_2811_infosociopro_view.png | 0 ...ndeepersonmineur_2821_infofamille_view.png | 0 ...vendeepersonmineur_2821_scolarite_view.png | 0 .../img/generer_document_parcours.png | 0 .../img/logo-chill-outil-accompagnement.svg | 0 user/{ => docs}/img/menage_filiations.png | 0 user/{ => docs}/img/new_aside_activity.png | 0 user/{ => docs}/img/new_task.png | 0 user/{ => docs}/img/notification_parcours.png | 0 user/{ => docs}/img/parcours_comments.png | 0 user/{ => docs}/img/parcours_confirm.png | 0 user/{ => docs}/img/parcours_dashboard.png | 0 user/{ => docs}/img/parcours_list_item.png | 0 user/{ => docs}/img/parcours_localisation.png | 0 user/{ => docs}/img/thirdparty_contact.png | 0 user/{ => docs}/img/thirdparty_morale.png | 0 user/{ => docs}/img/workflow_create.png | 0 .../img/workflow_create_with_existing.png | 0 .../img/workflow_list_associated.png | 0 user/{ => docs}/img/workflow_page.png | 0 user/{ => docs}/interface.md | 0 user/{ => docs}/intro.md | 0 user/{ => docs}/map/map.inkscape.svg | 0 user/{ => docs}/menage.md | 0 user/{ => docs}/metadata.yaml | 0 user/{ => docs}/notes_privées.md | 0 user/{ => docs}/notifications.md | 0 user/{ => docs}/nouveautes.md | 0 user/{ => docs}/parcours.md | 0 user/{ => docs}/parcours_a_trier.md | 0 user/{ => docs}/person-vendee.md | 0 user/{ => docs}/person.md | 0 user/{ => docs}/reassigner_parcours.md | 0 user/{ => docs}/search.md | 0 user/{ => docs}/social_actions.md | 0 user/{ => docs}/tasks.md | 0 user/{ => docs}/thirdparty.md | 0 user/{ => docs}/workflows.md | 0 user/mkdocs.yml | 69 ++++++++++++++++++ 116 files changed, 128 insertions(+), 17 deletions(-) create mode 100644 Dockerfile create mode 100644 admin/.gitignore rename admin/{ => docs}/cover-admin.pdf (100%) rename admin/{ => docs}/cover-admin.svg (100%) rename admin/{ => docs}/generation-documents.md (100%) rename admin/{ => docs}/img/generation-document/libre-office-fonction-substituant.png (100%) rename admin/{ => docs}/img/generation-document/libre-office-insert-renvoi.png (100%) rename admin/{ => docs}/known-limits.md (100%) rename admin/{ => docs}/metadata.yaml (100%) rename admin/{ => docs}/start.md (100%) create mode 100644 admin/mkdocs.yml create mode 100644 requirements.txt create mode 100644 user/.gitignore rename user/{ => docs}/00000-toc.md (100%) rename user/{ => docs}/English/activity.md (100%) rename user/{ => docs}/English/aside_activities.md (100%) rename user/{ => docs}/English/bulk_reassign.md (100%) rename user/{ => docs}/English/documents.md (100%) rename user/{ => docs}/English/household.md (100%) rename user/{ => docs}/English/metadata.yaml (100%) rename user/{ => docs}/English/notifications.md (100%) rename user/{ => docs}/English/person.md (100%) rename user/{ => docs}/English/private_comments.md (100%) rename user/{ => docs}/English/search.md (100%) rename user/{ => docs}/English/social_actions.md (100%) rename user/{ => docs}/English/support_trajectory.md (100%) rename user/{ => docs}/English/tasks.md (100%) rename user/{ => docs}/English/thirdparty.md (100%) rename user/{ => docs}/English/workflow.md (100%) rename user/{ => docs}/_a-classer.md (100%) rename user/{ => docs}/activite.md (100%) rename user/{ => docs}/adresses.md (100%) rename user/{ => docs}/aside_activities.md (100%) rename user/{ => docs}/concept.md (100%) rename user/{ => docs}/cover-user.pdf (100%) rename user/{ => docs}/cover-user.svg (100%) rename user/{ => docs}/document.md (100%) rename user/{ => docs}/exports.md (100%) rename user/{ => docs}/exports_accompanying_period.md (100%) rename user/{ => docs}/exports_accompanying_period_work.md (100%) rename user/{ => docs}/exports_accompanying_period_work_evaluation.md (100%) rename user/{ => docs}/exports_activity.md (100%) rename user/{ => docs}/exports_aside_activity.md (100%) rename user/{ => docs}/exports_calendar.md (100%) rename user/{ => docs}/exports_household.md (100%) rename user/{ => docs}/exports_person.md (100%) rename user/{ => docs}/homepage.md (100%) rename user/{ => docs}/img/a_chill_page.png (100%) rename user/{ => docs}/img/action_accompagnement.png (100%) rename user/{ => docs}/img/address_details_modal.png (100%) rename user/{ => docs}/img/address_details_modal_with_address_reference_change.png (100%) rename user/{ => docs}/img/address_inline_with_button.png (100%) rename user/{ => docs}/img/address_inline_with_button_and_warning.png (100%) rename user/{ => docs}/img/advanced_search.png (100%) rename user/{ => docs}/img/aside_activity_details.png (100%) rename user/{ => docs}/img/banner_all.png (100%) rename user/{ => docs}/img/banner_course.png (100%) rename user/{ => docs}/img/banner_household.png (100%) rename user/{ => docs}/img/banner_person.png (100%) rename user/{ => docs}/img/chill_buttons.png (100%) rename user/{ => docs}/img/choisir-une-adresse.png (100%) rename user/{ => docs}/img/concerned_persons.png (100%) rename user/{ => docs}/img/export_select_saved_exports.png (100%) rename user/{ => docs}/img/fr_activity__accompanying_period_id_2705.png (100%) rename user/{ => docs}/img/fr_notification_126_show.png (100%) rename user/{ => docs}/img/fr_notification_inbox.png (100%) rename user/{ => docs}/img/fr_person_2811_document.png (100%) rename user/{ => docs}/img/fr_person_2811_document_new.png (100%) rename user/{ => docs}/img/fr_person_2811_general.png (100%) rename user/{ => docs}/img/fr_person_2811_residential-address_list.png (100%) rename user/{ => docs}/img/fr_person_2811_resources_list.png (100%) rename user/{ => docs}/img/fr_person_household_376_addresses.png (100%) rename user/{ => docs}/img/fr_person_household_376_summary.png (100%) rename user/{ => docs}/img/fr_person_new.png (100%) rename user/{ => docs}/img/fr_vendee_vendeeperson_2811_infomedicale_view.png (100%) rename user/{ => docs}/img/fr_vendee_vendeeperson_2811_infosociopro_view.png (100%) rename user/{ => docs}/img/fr_vendee_vendeepersonmineur_2821_infofamille_view.png (100%) rename user/{ => docs}/img/fr_vendee_vendeepersonmineur_2821_scolarite_view.png (100%) rename user/{ => docs}/img/generer_document_parcours.png (100%) rename user/{ => docs}/img/logo-chill-outil-accompagnement.svg (100%) rename user/{ => docs}/img/menage_filiations.png (100%) rename user/{ => docs}/img/new_aside_activity.png (100%) rename user/{ => docs}/img/new_task.png (100%) rename user/{ => docs}/img/notification_parcours.png (100%) rename user/{ => docs}/img/parcours_comments.png (100%) rename user/{ => docs}/img/parcours_confirm.png (100%) rename user/{ => docs}/img/parcours_dashboard.png (100%) rename user/{ => docs}/img/parcours_list_item.png (100%) rename user/{ => docs}/img/parcours_localisation.png (100%) rename user/{ => docs}/img/thirdparty_contact.png (100%) rename user/{ => docs}/img/thirdparty_morale.png (100%) rename user/{ => docs}/img/workflow_create.png (100%) rename user/{ => docs}/img/workflow_create_with_existing.png (100%) rename user/{ => docs}/img/workflow_list_associated.png (100%) rename user/{ => docs}/img/workflow_page.png (100%) rename user/{ => docs}/interface.md (100%) rename user/{ => docs}/intro.md (100%) rename user/{ => docs}/map/map.inkscape.svg (100%) rename user/{ => docs}/menage.md (100%) rename user/{ => docs}/metadata.yaml (100%) rename user/{ => docs}/notes_privées.md (100%) rename user/{ => docs}/notifications.md (100%) rename user/{ => docs}/nouveautes.md (100%) rename user/{ => docs}/parcours.md (100%) rename user/{ => docs}/parcours_a_trier.md (100%) rename user/{ => docs}/person-vendee.md (100%) rename user/{ => docs}/person.md (100%) rename user/{ => docs}/reassigner_parcours.md (100%) rename user/{ => docs}/search.md (100%) rename user/{ => docs}/social_actions.md (100%) rename user/{ => docs}/tasks.md (100%) rename user/{ => docs}/thirdparty.md (100%) rename user/{ => docs}/workflows.md (100%) create mode 100644 user/mkdocs.yml diff --git a/.gitignore b/.gitignore index 51b6bae..71f2b76 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ build/* *-manual.pdf +.venv/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..572467b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,3 @@ +FROM nginx:alpine +LABEL authors="Julien Fastré" + diff --git a/admin/.gitignore b/admin/.gitignore new file mode 100644 index 0000000..a5b3032 --- /dev/null +++ b/admin/.gitignore @@ -0,0 +1 @@ +site/* \ No newline at end of file diff --git a/admin/cover-admin.pdf b/admin/docs/cover-admin.pdf similarity index 100% rename from admin/cover-admin.pdf rename to admin/docs/cover-admin.pdf diff --git a/admin/cover-admin.svg b/admin/docs/cover-admin.svg similarity index 100% rename from admin/cover-admin.svg rename to admin/docs/cover-admin.svg diff --git a/admin/generation-documents.md b/admin/docs/generation-documents.md similarity index 100% rename from admin/generation-documents.md rename to admin/docs/generation-documents.md diff --git a/admin/img/generation-document/libre-office-fonction-substituant.png b/admin/docs/img/generation-document/libre-office-fonction-substituant.png similarity index 100% rename from admin/img/generation-document/libre-office-fonction-substituant.png rename to admin/docs/img/generation-document/libre-office-fonction-substituant.png diff --git a/admin/img/generation-document/libre-office-insert-renvoi.png b/admin/docs/img/generation-document/libre-office-insert-renvoi.png similarity index 100% rename from admin/img/generation-document/libre-office-insert-renvoi.png rename to admin/docs/img/generation-document/libre-office-insert-renvoi.png diff --git a/admin/known-limits.md b/admin/docs/known-limits.md similarity index 100% rename from admin/known-limits.md rename to admin/docs/known-limits.md diff --git a/admin/metadata.yaml b/admin/docs/metadata.yaml similarity index 100% rename from admin/metadata.yaml rename to admin/docs/metadata.yaml diff --git a/admin/start.md b/admin/docs/start.md similarity index 100% rename from admin/start.md rename to admin/docs/start.md diff --git a/admin/mkdocs.yml b/admin/mkdocs.yml new file mode 100644 index 0000000..daa1e96 --- /dev/null +++ b/admin/mkdocs.yml @@ -0,0 +1,43 @@ +--- +site_name: "Manuel admnistrateur Chill" +site_url: https://manuel.chill.social/administrateur/ +repo_url: https://gitea.champs-libres.be/Chill-project/manuals +repo_name: Chill-project/manuals +theme: + name: material + features: + - content.code.copy + - content.code.select + - content.code.annotate +nav: + - Accueil: index.md + - Génération de document: generation-documents.md +markdown_extensions: + - markdown_include.include + # code layout + - pymdownx.highlight: + anchor_linenums: true + line_spans: __span + pygments_lang_class: true + use_pygments: true + linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences + # admonition + - admonition + - pymdownx.details + - pymdownx.superfences + # use emojis + - attr_list + - pymdownx.emoji: + emoji_index: !!python/name:material.extensions.emoji.twemoji + emoji_generator: !!python/name:material.extensions.emoji.to_svg + # footnotes + - footnotes + # https://squidfunk.github.io/mkdocs-material/reference/formatting/?h=key#adding-keyboard-keys + - pymdownx.critic + - pymdownx.caret + - pymdownx.keys + - pymdownx.mark + - pymdownx.tilde \ No newline at end of file diff --git a/build-pandoc.sh b/build-pandoc.sh index 49bfcc5..189babc 100755 --- a/build-pandoc.sh +++ b/build-pandoc.sh @@ -4,7 +4,8 @@ set -e # enter the current directory cd "$(dirname $0)" -export PANDOC_DIR="/pandoc/cl" +export PANDOC_DIR="$(pwd)/pandoc/cl" +export OUTPUT_DIR="$(pwd)" if [ -z $1 ]; then @@ -59,7 +60,9 @@ else exit 1; fi -cd $kind +export PDF_TEMPLATE="$(pwd)/eisvogel.latex" + +cd $kind/docs export ARGS=" --from markdown @@ -67,14 +70,12 @@ export ARGS=" --resource-path ./. --metadata-file ./metadata.yaml " -export PDF_TEMPLATE="./../eisvogel.latex" export LATEX_ARGS=" --metadata=footer-left:$(date +%d-%m-%Y) --template ${PDF_TEMPLATE} - --lua-filter "..${PANDOC_DIR}/boxes.lua" + --lua-filter "${PANDOC_DIR}/boxes.lua" " - if [ $target = "latex" ]; then pandoc $ARGS $LATEX_ARGS \ --to latex \ @@ -83,18 +84,7 @@ elif [ $target = "pdf" ]; then pandoc $ARGS $LATEX_ARGS \ --to pdf \ --pdf-engine xelatex \ - -o "./../$kind-manual.pdf" \ + -o "${OUTPUT_DIR}/$kind-manual.pdf" \ $files -elif [ $target = "html" ]; then - # check target directory exists - if [ ! -d "./../build/html" ]; then - echo "create build/html directory" - mkdir -p "./../build/html" - fi - - pandoc $ARGS \ - --to html \ - -o ./../build/html/index.html \ - $files fi diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..8801a72 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,3 @@ +mkdocs +markdown-include +mkdocs-material \ No newline at end of file diff --git a/user/.gitignore b/user/.gitignore new file mode 100644 index 0000000..913aeb2 --- /dev/null +++ b/user/.gitignore @@ -0,0 +1 @@ +site/* diff --git a/user/00000-toc.md b/user/docs/00000-toc.md similarity index 100% rename from user/00000-toc.md rename to user/docs/00000-toc.md diff --git a/user/English/activity.md b/user/docs/English/activity.md similarity index 100% rename from user/English/activity.md rename to user/docs/English/activity.md diff --git a/user/English/aside_activities.md b/user/docs/English/aside_activities.md similarity index 100% rename from user/English/aside_activities.md rename to user/docs/English/aside_activities.md diff --git a/user/English/bulk_reassign.md b/user/docs/English/bulk_reassign.md similarity index 100% rename from user/English/bulk_reassign.md rename to user/docs/English/bulk_reassign.md diff --git a/user/English/documents.md b/user/docs/English/documents.md similarity index 100% rename from user/English/documents.md rename to user/docs/English/documents.md diff --git a/user/English/household.md b/user/docs/English/household.md similarity index 100% rename from user/English/household.md rename to user/docs/English/household.md diff --git a/user/English/metadata.yaml b/user/docs/English/metadata.yaml similarity index 100% rename from user/English/metadata.yaml rename to user/docs/English/metadata.yaml diff --git a/user/English/notifications.md b/user/docs/English/notifications.md similarity index 100% rename from user/English/notifications.md rename to user/docs/English/notifications.md diff --git a/user/English/person.md b/user/docs/English/person.md similarity index 100% rename from user/English/person.md rename to user/docs/English/person.md diff --git a/user/English/private_comments.md b/user/docs/English/private_comments.md similarity index 100% rename from user/English/private_comments.md rename to user/docs/English/private_comments.md diff --git a/user/English/search.md b/user/docs/English/search.md similarity index 100% rename from user/English/search.md rename to user/docs/English/search.md diff --git a/user/English/social_actions.md b/user/docs/English/social_actions.md similarity index 100% rename from user/English/social_actions.md rename to user/docs/English/social_actions.md diff --git a/user/English/support_trajectory.md b/user/docs/English/support_trajectory.md similarity index 100% rename from user/English/support_trajectory.md rename to user/docs/English/support_trajectory.md diff --git a/user/English/tasks.md b/user/docs/English/tasks.md similarity index 100% rename from user/English/tasks.md rename to user/docs/English/tasks.md diff --git a/user/English/thirdparty.md b/user/docs/English/thirdparty.md similarity index 100% rename from user/English/thirdparty.md rename to user/docs/English/thirdparty.md diff --git a/user/English/workflow.md b/user/docs/English/workflow.md similarity index 100% rename from user/English/workflow.md rename to user/docs/English/workflow.md diff --git a/user/_a-classer.md b/user/docs/_a-classer.md similarity index 100% rename from user/_a-classer.md rename to user/docs/_a-classer.md diff --git a/user/activite.md b/user/docs/activite.md similarity index 100% rename from user/activite.md rename to user/docs/activite.md diff --git a/user/adresses.md b/user/docs/adresses.md similarity index 100% rename from user/adresses.md rename to user/docs/adresses.md diff --git a/user/aside_activities.md b/user/docs/aside_activities.md similarity index 100% rename from user/aside_activities.md rename to user/docs/aside_activities.md diff --git a/user/concept.md b/user/docs/concept.md similarity index 100% rename from user/concept.md rename to user/docs/concept.md diff --git a/user/cover-user.pdf b/user/docs/cover-user.pdf similarity index 100% rename from user/cover-user.pdf rename to user/docs/cover-user.pdf diff --git a/user/cover-user.svg b/user/docs/cover-user.svg similarity index 100% rename from user/cover-user.svg rename to user/docs/cover-user.svg diff --git a/user/document.md b/user/docs/document.md similarity index 100% rename from user/document.md rename to user/docs/document.md diff --git a/user/exports.md b/user/docs/exports.md similarity index 100% rename from user/exports.md rename to user/docs/exports.md diff --git a/user/exports_accompanying_period.md b/user/docs/exports_accompanying_period.md similarity index 100% rename from user/exports_accompanying_period.md rename to user/docs/exports_accompanying_period.md diff --git a/user/exports_accompanying_period_work.md b/user/docs/exports_accompanying_period_work.md similarity index 100% rename from user/exports_accompanying_period_work.md rename to user/docs/exports_accompanying_period_work.md diff --git a/user/exports_accompanying_period_work_evaluation.md b/user/docs/exports_accompanying_period_work_evaluation.md similarity index 100% rename from user/exports_accompanying_period_work_evaluation.md rename to user/docs/exports_accompanying_period_work_evaluation.md diff --git a/user/exports_activity.md b/user/docs/exports_activity.md similarity index 100% rename from user/exports_activity.md rename to user/docs/exports_activity.md diff --git a/user/exports_aside_activity.md b/user/docs/exports_aside_activity.md similarity index 100% rename from user/exports_aside_activity.md rename to user/docs/exports_aside_activity.md diff --git a/user/exports_calendar.md b/user/docs/exports_calendar.md similarity index 100% rename from user/exports_calendar.md rename to user/docs/exports_calendar.md diff --git a/user/exports_household.md b/user/docs/exports_household.md similarity index 100% rename from user/exports_household.md rename to user/docs/exports_household.md diff --git a/user/exports_person.md b/user/docs/exports_person.md similarity index 100% rename from user/exports_person.md rename to user/docs/exports_person.md diff --git a/user/homepage.md b/user/docs/homepage.md similarity index 100% rename from user/homepage.md rename to user/docs/homepage.md diff --git a/user/img/a_chill_page.png b/user/docs/img/a_chill_page.png similarity index 100% rename from user/img/a_chill_page.png rename to user/docs/img/a_chill_page.png diff --git a/user/img/action_accompagnement.png b/user/docs/img/action_accompagnement.png similarity index 100% rename from user/img/action_accompagnement.png rename to user/docs/img/action_accompagnement.png diff --git a/user/img/address_details_modal.png b/user/docs/img/address_details_modal.png similarity index 100% rename from user/img/address_details_modal.png rename to user/docs/img/address_details_modal.png diff --git a/user/img/address_details_modal_with_address_reference_change.png b/user/docs/img/address_details_modal_with_address_reference_change.png similarity index 100% rename from user/img/address_details_modal_with_address_reference_change.png rename to user/docs/img/address_details_modal_with_address_reference_change.png diff --git a/user/img/address_inline_with_button.png b/user/docs/img/address_inline_with_button.png similarity index 100% rename from user/img/address_inline_with_button.png rename to user/docs/img/address_inline_with_button.png diff --git a/user/img/address_inline_with_button_and_warning.png b/user/docs/img/address_inline_with_button_and_warning.png similarity index 100% rename from user/img/address_inline_with_button_and_warning.png rename to user/docs/img/address_inline_with_button_and_warning.png diff --git a/user/img/advanced_search.png b/user/docs/img/advanced_search.png similarity index 100% rename from user/img/advanced_search.png rename to user/docs/img/advanced_search.png diff --git a/user/img/aside_activity_details.png b/user/docs/img/aside_activity_details.png similarity index 100% rename from user/img/aside_activity_details.png rename to user/docs/img/aside_activity_details.png diff --git a/user/img/banner_all.png b/user/docs/img/banner_all.png similarity index 100% rename from user/img/banner_all.png rename to user/docs/img/banner_all.png diff --git a/user/img/banner_course.png b/user/docs/img/banner_course.png similarity index 100% rename from user/img/banner_course.png rename to user/docs/img/banner_course.png diff --git a/user/img/banner_household.png b/user/docs/img/banner_household.png similarity index 100% rename from user/img/banner_household.png rename to user/docs/img/banner_household.png diff --git a/user/img/banner_person.png b/user/docs/img/banner_person.png similarity index 100% rename from user/img/banner_person.png rename to user/docs/img/banner_person.png diff --git a/user/img/chill_buttons.png b/user/docs/img/chill_buttons.png similarity index 100% rename from user/img/chill_buttons.png rename to user/docs/img/chill_buttons.png diff --git a/user/img/choisir-une-adresse.png b/user/docs/img/choisir-une-adresse.png similarity index 100% rename from user/img/choisir-une-adresse.png rename to user/docs/img/choisir-une-adresse.png diff --git a/user/img/concerned_persons.png b/user/docs/img/concerned_persons.png similarity index 100% rename from user/img/concerned_persons.png rename to user/docs/img/concerned_persons.png diff --git a/user/img/export_select_saved_exports.png b/user/docs/img/export_select_saved_exports.png similarity index 100% rename from user/img/export_select_saved_exports.png rename to user/docs/img/export_select_saved_exports.png diff --git a/user/img/fr_activity__accompanying_period_id_2705.png b/user/docs/img/fr_activity__accompanying_period_id_2705.png similarity index 100% rename from user/img/fr_activity__accompanying_period_id_2705.png rename to user/docs/img/fr_activity__accompanying_period_id_2705.png diff --git a/user/img/fr_notification_126_show.png b/user/docs/img/fr_notification_126_show.png similarity index 100% rename from user/img/fr_notification_126_show.png rename to user/docs/img/fr_notification_126_show.png diff --git a/user/img/fr_notification_inbox.png b/user/docs/img/fr_notification_inbox.png similarity index 100% rename from user/img/fr_notification_inbox.png rename to user/docs/img/fr_notification_inbox.png diff --git a/user/img/fr_person_2811_document.png b/user/docs/img/fr_person_2811_document.png similarity index 100% rename from user/img/fr_person_2811_document.png rename to user/docs/img/fr_person_2811_document.png diff --git a/user/img/fr_person_2811_document_new.png b/user/docs/img/fr_person_2811_document_new.png similarity index 100% rename from user/img/fr_person_2811_document_new.png rename to user/docs/img/fr_person_2811_document_new.png diff --git a/user/img/fr_person_2811_general.png b/user/docs/img/fr_person_2811_general.png similarity index 100% rename from user/img/fr_person_2811_general.png rename to user/docs/img/fr_person_2811_general.png diff --git a/user/img/fr_person_2811_residential-address_list.png b/user/docs/img/fr_person_2811_residential-address_list.png similarity index 100% rename from user/img/fr_person_2811_residential-address_list.png rename to user/docs/img/fr_person_2811_residential-address_list.png diff --git a/user/img/fr_person_2811_resources_list.png b/user/docs/img/fr_person_2811_resources_list.png similarity index 100% rename from user/img/fr_person_2811_resources_list.png rename to user/docs/img/fr_person_2811_resources_list.png diff --git a/user/img/fr_person_household_376_addresses.png b/user/docs/img/fr_person_household_376_addresses.png similarity index 100% rename from user/img/fr_person_household_376_addresses.png rename to user/docs/img/fr_person_household_376_addresses.png diff --git a/user/img/fr_person_household_376_summary.png b/user/docs/img/fr_person_household_376_summary.png similarity index 100% rename from user/img/fr_person_household_376_summary.png rename to user/docs/img/fr_person_household_376_summary.png diff --git a/user/img/fr_person_new.png b/user/docs/img/fr_person_new.png similarity index 100% rename from user/img/fr_person_new.png rename to user/docs/img/fr_person_new.png diff --git a/user/img/fr_vendee_vendeeperson_2811_infomedicale_view.png b/user/docs/img/fr_vendee_vendeeperson_2811_infomedicale_view.png similarity index 100% rename from user/img/fr_vendee_vendeeperson_2811_infomedicale_view.png rename to user/docs/img/fr_vendee_vendeeperson_2811_infomedicale_view.png diff --git a/user/img/fr_vendee_vendeeperson_2811_infosociopro_view.png b/user/docs/img/fr_vendee_vendeeperson_2811_infosociopro_view.png similarity index 100% rename from user/img/fr_vendee_vendeeperson_2811_infosociopro_view.png rename to user/docs/img/fr_vendee_vendeeperson_2811_infosociopro_view.png diff --git a/user/img/fr_vendee_vendeepersonmineur_2821_infofamille_view.png b/user/docs/img/fr_vendee_vendeepersonmineur_2821_infofamille_view.png similarity index 100% rename from user/img/fr_vendee_vendeepersonmineur_2821_infofamille_view.png rename to user/docs/img/fr_vendee_vendeepersonmineur_2821_infofamille_view.png diff --git a/user/img/fr_vendee_vendeepersonmineur_2821_scolarite_view.png b/user/docs/img/fr_vendee_vendeepersonmineur_2821_scolarite_view.png similarity index 100% rename from user/img/fr_vendee_vendeepersonmineur_2821_scolarite_view.png rename to user/docs/img/fr_vendee_vendeepersonmineur_2821_scolarite_view.png diff --git a/user/img/generer_document_parcours.png b/user/docs/img/generer_document_parcours.png similarity index 100% rename from user/img/generer_document_parcours.png rename to user/docs/img/generer_document_parcours.png diff --git a/user/img/logo-chill-outil-accompagnement.svg b/user/docs/img/logo-chill-outil-accompagnement.svg similarity index 100% rename from user/img/logo-chill-outil-accompagnement.svg rename to user/docs/img/logo-chill-outil-accompagnement.svg diff --git a/user/img/menage_filiations.png b/user/docs/img/menage_filiations.png similarity index 100% rename from user/img/menage_filiations.png rename to user/docs/img/menage_filiations.png diff --git a/user/img/new_aside_activity.png b/user/docs/img/new_aside_activity.png similarity index 100% rename from user/img/new_aside_activity.png rename to user/docs/img/new_aside_activity.png diff --git a/user/img/new_task.png b/user/docs/img/new_task.png similarity index 100% rename from user/img/new_task.png rename to user/docs/img/new_task.png diff --git a/user/img/notification_parcours.png b/user/docs/img/notification_parcours.png similarity index 100% rename from user/img/notification_parcours.png rename to user/docs/img/notification_parcours.png diff --git a/user/img/parcours_comments.png b/user/docs/img/parcours_comments.png similarity index 100% rename from user/img/parcours_comments.png rename to user/docs/img/parcours_comments.png diff --git a/user/img/parcours_confirm.png b/user/docs/img/parcours_confirm.png similarity index 100% rename from user/img/parcours_confirm.png rename to user/docs/img/parcours_confirm.png diff --git a/user/img/parcours_dashboard.png b/user/docs/img/parcours_dashboard.png similarity index 100% rename from user/img/parcours_dashboard.png rename to user/docs/img/parcours_dashboard.png diff --git a/user/img/parcours_list_item.png b/user/docs/img/parcours_list_item.png similarity index 100% rename from user/img/parcours_list_item.png rename to user/docs/img/parcours_list_item.png diff --git a/user/img/parcours_localisation.png b/user/docs/img/parcours_localisation.png similarity index 100% rename from user/img/parcours_localisation.png rename to user/docs/img/parcours_localisation.png diff --git a/user/img/thirdparty_contact.png b/user/docs/img/thirdparty_contact.png similarity index 100% rename from user/img/thirdparty_contact.png rename to user/docs/img/thirdparty_contact.png diff --git a/user/img/thirdparty_morale.png b/user/docs/img/thirdparty_morale.png similarity index 100% rename from user/img/thirdparty_morale.png rename to user/docs/img/thirdparty_morale.png diff --git a/user/img/workflow_create.png b/user/docs/img/workflow_create.png similarity index 100% rename from user/img/workflow_create.png rename to user/docs/img/workflow_create.png diff --git a/user/img/workflow_create_with_existing.png b/user/docs/img/workflow_create_with_existing.png similarity index 100% rename from user/img/workflow_create_with_existing.png rename to user/docs/img/workflow_create_with_existing.png diff --git a/user/img/workflow_list_associated.png b/user/docs/img/workflow_list_associated.png similarity index 100% rename from user/img/workflow_list_associated.png rename to user/docs/img/workflow_list_associated.png diff --git a/user/img/workflow_page.png b/user/docs/img/workflow_page.png similarity index 100% rename from user/img/workflow_page.png rename to user/docs/img/workflow_page.png diff --git a/user/interface.md b/user/docs/interface.md similarity index 100% rename from user/interface.md rename to user/docs/interface.md diff --git a/user/intro.md b/user/docs/intro.md similarity index 100% rename from user/intro.md rename to user/docs/intro.md diff --git a/user/map/map.inkscape.svg b/user/docs/map/map.inkscape.svg similarity index 100% rename from user/map/map.inkscape.svg rename to user/docs/map/map.inkscape.svg diff --git a/user/menage.md b/user/docs/menage.md similarity index 100% rename from user/menage.md rename to user/docs/menage.md diff --git a/user/metadata.yaml b/user/docs/metadata.yaml similarity index 100% rename from user/metadata.yaml rename to user/docs/metadata.yaml diff --git a/user/notes_privées.md b/user/docs/notes_privées.md similarity index 100% rename from user/notes_privées.md rename to user/docs/notes_privées.md diff --git a/user/notifications.md b/user/docs/notifications.md similarity index 100% rename from user/notifications.md rename to user/docs/notifications.md diff --git a/user/nouveautes.md b/user/docs/nouveautes.md similarity index 100% rename from user/nouveautes.md rename to user/docs/nouveautes.md diff --git a/user/parcours.md b/user/docs/parcours.md similarity index 100% rename from user/parcours.md rename to user/docs/parcours.md diff --git a/user/parcours_a_trier.md b/user/docs/parcours_a_trier.md similarity index 100% rename from user/parcours_a_trier.md rename to user/docs/parcours_a_trier.md diff --git a/user/person-vendee.md b/user/docs/person-vendee.md similarity index 100% rename from user/person-vendee.md rename to user/docs/person-vendee.md diff --git a/user/person.md b/user/docs/person.md similarity index 100% rename from user/person.md rename to user/docs/person.md diff --git a/user/reassigner_parcours.md b/user/docs/reassigner_parcours.md similarity index 100% rename from user/reassigner_parcours.md rename to user/docs/reassigner_parcours.md diff --git a/user/search.md b/user/docs/search.md similarity index 100% rename from user/search.md rename to user/docs/search.md diff --git a/user/social_actions.md b/user/docs/social_actions.md similarity index 100% rename from user/social_actions.md rename to user/docs/social_actions.md diff --git a/user/tasks.md b/user/docs/tasks.md similarity index 100% rename from user/tasks.md rename to user/docs/tasks.md diff --git a/user/thirdparty.md b/user/docs/thirdparty.md similarity index 100% rename from user/thirdparty.md rename to user/docs/thirdparty.md diff --git a/user/workflows.md b/user/docs/workflows.md similarity index 100% rename from user/workflows.md rename to user/docs/workflows.md diff --git a/user/mkdocs.yml b/user/mkdocs.yml new file mode 100644 index 0000000..ad16803 --- /dev/null +++ b/user/mkdocs.yml @@ -0,0 +1,69 @@ +--- +site_name: "Manuel du logiciel Chill" +site_url: https://manuel.chill.social/user/ +repo_url: https://gitea.champs-libres.be/Chill-project/manuals +repo_name: Chill-project/manuals +theme: + name: material + features: + - content.code.copy + - content.code.select + - content.code.annotate +nav: + - Accueil: index.md + - Génération de document: generation-documents.md + + - Introduction: intro.md + - Concepts: concept.md + - Interface: interface.md + - Recherche: search.md + - Dossier d'usager: person.md + - Échanges: activite.md + - Documents: document.md + - Tiers: thirdparty.md + - Ménages: menage.md + - Parcours: + - Généralités sur les parcours: parcours.md + - Actions d'accompagnement: social_actions.md + - Réassigner les parcours: reassigner_parcours.md + - Notifications: notifications.md + - Tâches: tasks.md + - Workflow / suivi de décisions: workflows.md + - Adresses: adresses.md + - Notes privées: notes_privées.md + - Exports: + - Généralités: exports.md + - Exports liés aux usagers: exports_person.md + - Exports liés aux échanges: exports_activity.md + - Exports liés aux parcours: exports_accompanying_period.md + - Exports liés aux actions sociales: exports_accompanying_period_work.md + - Exports liés aux évaluations: exports_accompanying_period_work_evaluation.md +markdown_extensions: + - markdown_include.include + # code layout + - pymdownx.highlight: + anchor_linenums: true + line_spans: __span + pygments_lang_class: true + use_pygments: true + linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences + # admonition + - admonition + - pymdownx.details + - pymdownx.superfences + # use emojis + - attr_list + - pymdownx.emoji: + emoji_index: !!python/name:material.extensions.emoji.twemoji + emoji_generator: !!python/name:material.extensions.emoji.to_svg + # footnotes + - footnotes + # https://squidfunk.github.io/mkdocs-material/reference/formatting/?h=key#adding-keyboard-keys + - pymdownx.critic + - pymdownx.caret + - pymdownx.keys + - pymdownx.mark + - pymdownx.tilde \ No newline at end of file -- 2.47.2 From e769a9dd70b2aed03cd26c2996b1087fa42fa100 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Mon, 30 Jun 2025 16:25:59 +0200 Subject: [PATCH 04/12] prepare an image to build the doc --- Dockerfile | 24 ++++++++++++++++++++++-- admin/docs/index.md | 3 +++ admin/mkdocs.yml | 2 +- user/.gitignore | 1 + user/docs/index.md | 3 +++ 5 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 admin/docs/index.md create mode 100644 user/docs/index.md diff --git a/Dockerfile b/Dockerfile index 572467b..0546032 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,3 +1,23 @@ -FROM nginx:alpine -LABEL authors="Julien Fastré" +# -------- Stage 1: Build the documentation using mkdocs -------- +FROM python:3.13-slim AS builder + +WORKDIR /build + +# Install dependencies +COPY requirements.txt . +RUN pip install --no-cache-dir -r requirements.txt + +COPY user/ user/ +COPY admin/ admin/ + +RUN ls +RUN cd user && mkdocs build --clean && cd .. +RUN cd admin && mkdocs build --clean && cd .. + +# -------- Stage 2: Serve the built documentation with nginx -------- +FROM nginx:alpine + +# Copy the built site from the builder stage +COPY --from=builder /build/admin/site /usr/share/nginx/html/admin +COPY --from=builder /build/user/site /usr/share/nginx/html/user diff --git a/admin/docs/index.md b/admin/docs/index.md new file mode 100644 index 0000000..6ad3d35 --- /dev/null +++ b/admin/docs/index.md @@ -0,0 +1,3 @@ +# Documentation administrateur + +En construction. \ No newline at end of file diff --git a/admin/mkdocs.yml b/admin/mkdocs.yml index daa1e96..a0e1670 100644 --- a/admin/mkdocs.yml +++ b/admin/mkdocs.yml @@ -1,6 +1,6 @@ --- site_name: "Manuel admnistrateur Chill" -site_url: https://manuel.chill.social/administrateur/ +site_url: https://manuel.chill.social/admin repo_url: https://gitea.champs-libres.be/Chill-project/manuals repo_name: Chill-project/manuals theme: diff --git a/user/.gitignore b/user/.gitignore index 913aeb2..8a54411 100644 --- a/user/.gitignore +++ b/user/.gitignore @@ -1 +1,2 @@ site/* + diff --git a/user/docs/index.md b/user/docs/index.md new file mode 100644 index 0000000..4cdad11 --- /dev/null +++ b/user/docs/index.md @@ -0,0 +1,3 @@ +Documentation utilisateur de chill + +En construction. \ No newline at end of file -- 2.47.2 From 39064633ed90b6d14725c3a63348d53d43c1da42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Mon, 30 Jun 2025 17:35:13 +0200 Subject: [PATCH 05/12] add CI workflow to build and push MkDocs Docker image --- .../build-and-push-mkdocs-docker-image.yml | 94 +++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 .gitea/workflows/build-and-push-mkdocs-docker-image.yml diff --git a/.gitea/workflows/build-and-push-mkdocs-docker-image.yml b/.gitea/workflows/build-and-push-mkdocs-docker-image.yml new file mode 100644 index 0000000..21fdb29 --- /dev/null +++ b/.gitea/workflows/build-and-push-mkdocs-docker-image.yml @@ -0,0 +1,94 @@ +name: Build and Push MkDocs Docker Image + +on: + push: + branches: + - main + - master + paths: + - 'Dockerfile' + - 'user/**' + - 'admin/**' + - '.gitea/workflows/**' + workflow_dispatch: + +jobs: + build-and-push: + runs-on: cth-ubuntu-latest + + env: + REGISTRY: ${{ vars.REGISTRY }} + IMAGE: ${{ vars.IMAGE }} + IMAGE_NAME: ${{ env.REGISTRY }}/${{ IMAGE }}:${{ github.sha }} + KUBE_CA: ${{ vars.KUBE_CA }} + KUBE_SERVER: ${{ vars.KUBE_SERVER }} + REGISTRY_USERNAME: ${{ vars.REGISTRY_USERNAME }} + NAMESPACE: ${{ vars.NAMESPACE }} + DEPLOYMENT_NAME: ${{ vars.DEPLOYMENT_NAME }} + CONTAINER: ${{ vars.CONTAINER }} + + steps: + - name: Checkout code + uses: https://github.com/actions/checkout@v4 + + - name: Set up Docker Buildx + uses: https://github.com/docker/setup-buildx-action@v3 + + - name: Log in to Docker registry + uses: https://github.com/docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ env.REGISTRY_USERNAME }} + password: ${{ secrets.REGISTRY_PASSWORD }} + + - name: Build and push + id: build-push + uses: https://github.com/docker/build-push-action@v5 + with: + context: . + file: documentation.Dockerfile + push: true + tags: '${{ env.IMAGE_NAME }}' + + - name: Install kubectl + run: | + curl -LO "https://dl.k8s.io/release/v1.31.0/bin/linux/amd64/kubectl" + chmod +x ./kubectl + sudo mv ./kubectl /usr/local/bin/kubectl + + - name: Set up kubeconfig + env: + KUBE_SERVER: ${{ env.KUBE_SERVER }} # e.g. https:// + KUBE_CA: ${{ env.KUBE_CA }} # base64 encoded, or fetched via kubectl config view + KUBE_TOKEN: ${{ secrets.KUBE_TOKEN }} # Token generated via 'kubectl create token' + run: | + mkdir -p ~/.kube + cat < ~/.kube/config + apiVersion: v1 + kind: Config + clusters: + - name: default-cluster + cluster: + server: "$KUBE_SERVER" + certificate-authority-data: "$KUBE_CA" + contexts: + - name: default-context + context: + cluster: default-cluster + user: gitea-actions + current-context: default-context + users: + - name: gitea-actions + user: + token: "$KUBE_TOKEN" + EOF + + - name: Patch Deployment Image + env: + NAMESPACE: ${{ env.NAMESPACE }} + DEPLOYMENT: ${{ env.DEPLOYMENT_NAME }} + CONTAINER: ${{ env.CONTAINER }} + run: | + echo "deploy new tag: $TAG_IMAGE" + env + kubectl -n ${NAMESPACE} set image deployment/${DEPLOYMENT} ${CONTAINER}=${IMAGE_NAME} -- 2.47.2 From ba678bd2e626224d334ceae682f1e8981d43b2c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Mon, 30 Jun 2025 17:37:40 +0200 Subject: [PATCH 06/12] extend CI workflow to trigger on task/** branches --- .gitea/workflows/build-and-push-mkdocs-docker-image.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitea/workflows/build-and-push-mkdocs-docker-image.yml b/.gitea/workflows/build-and-push-mkdocs-docker-image.yml index 21fdb29..8db9a6a 100644 --- a/.gitea/workflows/build-and-push-mkdocs-docker-image.yml +++ b/.gitea/workflows/build-and-push-mkdocs-docker-image.yml @@ -5,6 +5,7 @@ on: branches: - main - master + - task/** paths: - 'Dockerfile' - 'user/**' -- 2.47.2 From d5a0fadfd365da4f3015f45b2fa9895285765316 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Mon, 30 Jun 2025 17:41:36 +0200 Subject: [PATCH 07/12] debug --- .gitea/workflows/build-and-push-mkdocs-docker-image.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitea/workflows/build-and-push-mkdocs-docker-image.yml b/.gitea/workflows/build-and-push-mkdocs-docker-image.yml index 8db9a6a..55f9fc1 100644 --- a/.gitea/workflows/build-and-push-mkdocs-docker-image.yml +++ b/.gitea/workflows/build-and-push-mkdocs-docker-image.yml @@ -42,6 +42,10 @@ jobs: username: ${{ env.REGISTRY_USERNAME }} password: ${{ secrets.REGISTRY_PASSWORD }} + - name: debug image name + run: | + env + - name: Build and push id: build-push uses: https://github.com/docker/build-push-action@v5 -- 2.47.2 From 37d359a97e86e3009e64abdcc3490187b6906bec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Mon, 30 Jun 2025 17:46:26 +0200 Subject: [PATCH 08/12] try to fix image name --- .gitea/workflows/build-and-push-mkdocs-docker-image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/build-and-push-mkdocs-docker-image.yml b/.gitea/workflows/build-and-push-mkdocs-docker-image.yml index 55f9fc1..1a39d46 100644 --- a/.gitea/workflows/build-and-push-mkdocs-docker-image.yml +++ b/.gitea/workflows/build-and-push-mkdocs-docker-image.yml @@ -20,7 +20,7 @@ jobs: env: REGISTRY: ${{ vars.REGISTRY }} IMAGE: ${{ vars.IMAGE }} - IMAGE_NAME: ${{ env.REGISTRY }}/${{ IMAGE }}:${{ github.sha }} + IMAGE_NAME: ${{ vars.REGISTRY }}/${{ vars.IMAGE }}:${{ github.sha }} KUBE_CA: ${{ vars.KUBE_CA }} KUBE_SERVER: ${{ vars.KUBE_SERVER }} REGISTRY_USERNAME: ${{ vars.REGISTRY_USERNAME }} -- 2.47.2 From 524374f7555402d9b217146c913cfec958ae267a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Mon, 30 Jun 2025 17:49:06 +0200 Subject: [PATCH 09/12] fix dockerfile name --- .gitea/workflows/build-and-push-mkdocs-docker-image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/build-and-push-mkdocs-docker-image.yml b/.gitea/workflows/build-and-push-mkdocs-docker-image.yml index 1a39d46..4738708 100644 --- a/.gitea/workflows/build-and-push-mkdocs-docker-image.yml +++ b/.gitea/workflows/build-and-push-mkdocs-docker-image.yml @@ -51,7 +51,7 @@ jobs: uses: https://github.com/docker/build-push-action@v5 with: context: . - file: documentation.Dockerfile + file: Dockerfile push: true tags: '${{ env.IMAGE_NAME }}' -- 2.47.2 From b44c1002ec5108118dc1c4cab35dc105047c1f34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Mon, 30 Jun 2025 18:12:09 +0200 Subject: [PATCH 10/12] remove branche used for dev --- .gitea/workflows/build-and-push-mkdocs-docker-image.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitea/workflows/build-and-push-mkdocs-docker-image.yml b/.gitea/workflows/build-and-push-mkdocs-docker-image.yml index 4738708..d5669fd 100644 --- a/.gitea/workflows/build-and-push-mkdocs-docker-image.yml +++ b/.gitea/workflows/build-and-push-mkdocs-docker-image.yml @@ -5,7 +5,6 @@ on: branches: - main - master - - task/** paths: - 'Dockerfile' - 'user/**' -- 2.47.2 From 0245e270127180189702ba0f9cd2c8453ae92857 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Mon, 30 Jun 2025 18:12:31 +0200 Subject: [PATCH 11/12] remove debug step --- .gitea/workflows/build-and-push-mkdocs-docker-image.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.gitea/workflows/build-and-push-mkdocs-docker-image.yml b/.gitea/workflows/build-and-push-mkdocs-docker-image.yml index d5669fd..f3361f3 100644 --- a/.gitea/workflows/build-and-push-mkdocs-docker-image.yml +++ b/.gitea/workflows/build-and-push-mkdocs-docker-image.yml @@ -41,10 +41,6 @@ jobs: username: ${{ env.REGISTRY_USERNAME }} password: ${{ secrets.REGISTRY_PASSWORD }} - - name: debug image name - run: | - env - - name: Build and push id: build-push uses: https://github.com/docker/build-push-action@v5 -- 2.47.2 From a1747b4bfe203c46ae5960fed95e09c21d60dbc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Mon, 30 Jun 2025 18:15:10 +0200 Subject: [PATCH 12/12] Add code owners --- CODEOWNERS | 1 + 1 file changed, 1 insertion(+) create mode 100644 CODEOWNERS diff --git a/CODEOWNERS b/CODEOWNERS new file mode 100644 index 0000000..028a9ab --- /dev/null +++ b/CODEOWNERS @@ -0,0 +1 @@ +.gitea/workflows/.* @julienfastre @juminet @LenaertsJ \ No newline at end of file -- 2.47.2