From c69ed5c1126235a6bede303fe7844b54bcdf600e Mon Sep 17 00:00:00 2001 From: Thomas Bonnefille Date: Tue, 14 Jan 2025 19:03:51 +0100 Subject: [PATCH] agenda: switch yocto agenda to new template Signed-off-by: Thomas Bonnefille --- agenda/yocto-agenda.tex | 12 +++------ agenda/yocto-fr-agenda.tex | 12 +++------ agenda/yocto-online-agenda.tex | 12 +++------ agenda/yocto-online-fr-agenda.tex | 12 +++------ agenda/yocto.inc.tex | 41 ++++++++++++++++++++++++----- common/flaticon-yocto-training.png | Bin 0 -> 15484 bytes 6 files changed, 51 insertions(+), 38 deletions(-) create mode 100644 common/flaticon-yocto-training.png diff --git a/agenda/yocto-agenda.tex b/agenda/yocto-agenda.tex index f7dcc92b11..e243d723d3 100644 --- a/agenda/yocto-agenda.tex +++ b/agenda/yocto-agenda.tex @@ -1,4 +1,4 @@ -\documentclass[a4paper,12pt,obeyspaces,spaces,hyphens]{article} +\documentclass[a4paper]{article} \def \trainingtype{onsite} \def \agendalanguage{english} @@ -9,13 +9,9 @@ \begin{document} -\feshowtitle - -\feshowinfo - -\showboarditem{stm32mp1} -\showboarditem{beagleboneblack} -\showboarditem{beagleplay} +\feshowsidebar +\feshowfirstpage +\feshowboards \onsiteagenda diff --git a/agenda/yocto-fr-agenda.tex b/agenda/yocto-fr-agenda.tex index 119c568f88..d8017b7d62 100644 --- a/agenda/yocto-fr-agenda.tex +++ b/agenda/yocto-fr-agenda.tex @@ -1,4 +1,4 @@ -\documentclass[a4paper,12pt,obeyspaces,spaces,hyphens]{article} +\documentclass[a4paper]{article} \def \trainingtype{onsite} \def \agendalanguage{french} @@ -9,13 +9,9 @@ \begin{document} -\feshowtitle - -\feshowinfo - -\showboarditem{stm32mp1} -\showboarditem{beagleboneblack} -\showboarditem{beagleplay} +\feshowsidebar +\feshowfirstpage +\feshowboards \onsiteagenda diff --git a/agenda/yocto-online-agenda.tex b/agenda/yocto-online-agenda.tex index 1f435bbf85..aa09c64ced 100644 --- a/agenda/yocto-online-agenda.tex +++ b/agenda/yocto-online-agenda.tex @@ -1,4 +1,4 @@ -\documentclass[a4paper,12pt,obeyspaces,spaces,hyphens]{article} +\documentclass[a4paper]{article} \def \trainingtype{online} \def \agendalanguage{english} @@ -9,13 +9,9 @@ \begin{document} -\feshowtitle - -\feshowinfo - -\showboarditem{stm32mp1} -\showboarditem{beagleboneblack} -\showboarditem{beagleplay} +\feshowsidebar +\feshowfirstpage +\feshowboards \onlineagenda diff --git a/agenda/yocto-online-fr-agenda.tex b/agenda/yocto-online-fr-agenda.tex index cd121bb279..18f7a0689c 100644 --- a/agenda/yocto-online-fr-agenda.tex +++ b/agenda/yocto-online-fr-agenda.tex @@ -1,4 +1,4 @@ -\documentclass[a4paper,12pt,obeyspaces,spaces,hyphens]{article} +\documentclass[a4paper]{article} \def \trainingtype{online} \def \agendalanguage{french} @@ -9,13 +9,9 @@ \begin{document} -\feshowtitle - -\feshowinfo - -\showboarditem{stm32mp1} -\showboarditem{beagleboneblack} -\showboarditem{beagleplay} +\feshowsidebar +\feshowfirstpage +\feshowboards \onlineagenda diff --git a/agenda/yocto.inc.tex b/agenda/yocto.inc.tex index d2053fe1da..70e70611ea 100644 --- a/agenda/yocto.inc.tex +++ b/agenda/yocto.inc.tex @@ -18,6 +18,8 @@ \def \trainingduration{3} } +\def \trainingicon{common/flaticon-yocto-training.png} + % Training objectives \ifthenelse{\equal{\agendalanguage}{french}}{ \def \traininggoals{ @@ -61,6 +63,19 @@ } } +\def \feshowboards{ + \ifthenelse{\equal{\agendalanguage}{french}}{ + \section{Plateformes matérielle pour les travaux pratiques} + }{ + \section{Hardware platform for practical labs} + } + + \showboarditem{stm32mp1} + \showboarditem{beagleboneblack} + \showboarditem{beagleplay} + \newpage +} + % Training prerequisites \def \trainingprerequisites{ \begin{itemize} @@ -647,6 +662,12 @@ } \def \onlineagenda { + \ifthenelse{\equal{\agendalanguage}{french}}{ + \section{Programme de la formation} + }{ + \section{Training Schedule} + } + \begin{tabularx}{\textwidth}{p{2cm}p{5cm}p{11cm}} \showagendaday{1} \showagendaitem{intro}{lecture} \showagendaitem{overview}{lecture} @@ -678,31 +699,38 @@ \showagendaitem{automatinglayermanagement}{lecture} \showagendaitem{runtimepackagemanagement}{lecture} \showagendaitem{qna}{misc} + \end{tabularx} } \def \onsiteagenda { - \showonsiteagendaday{1}{morning} + \ifthenelse{\equal{\agendalanguage}{french}}{ + \section{Programme de la formation} + }{ + \section{Training Schedule} + } + \begin{tabularx}{\textwidth}{p{2cm}p{5cm}p{11cm}} + \showagendaday{1} \showagendaitem{intro}{lecture} \showagendaitem{overview}{lecture} \showagendaitem{usingbasics}{lecture} \showagendaitem{firstbuild}{lab} - \showonsiteagendaday{1}{afternoon} + \showagendaday{2} \showagendaitem{flashingbooting}{lab} \showagendaitem{usingadvanced}{lecture} \showagendaitem{nfsconfiguring}{lab} - \showonsiteagendaday{2}{morning} + \showagendaday{3} \showagendaitem{writingrecipesbasics}{lecture} \showagendaitem{appcompilation}{lab} \showagendaitem{writingrecipesadvanced}{lecture} - \showonsiteagendaday{2}{afternoon} + \showagendaday{4} \showagendaitem{layers}{lecture} \showagendaitem{writinglayer}{lab} - \showonsiteagendaday{3}{morning} + \showagendaday{5} \showagendaitem{extendrecipe}{lab} \showagendaitem{writingbsp}{lecture} \showagendaitem{kernelchanges}{lab} \showagendaitem{distrolayer}{lecture} - \showonsiteagendaday{3}{afternoon} + \showagendaday{6} \showagendaitem{image}{lecture} \showagendaitem{image}{lab} \showagendaitem{writingrecipesgoingfurther}{lecture} @@ -713,4 +741,5 @@ \showagendaitem{devtool}{lab} \showagendaitem{automatinglayermanagement}{lecture} \showagendaitem{runtimepackagemanagement}{lecture} + \end{tabularx} } diff --git a/common/flaticon-yocto-training.png b/common/flaticon-yocto-training.png new file mode 100644 index 0000000000000000000000000000000000000000..973cdb0eb592bca64036d2ca4068e807c8389e42 GIT binary patch literal 15484 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