From d0becd4063625399f3086c3e153ec41c1b7d0379 Mon Sep 17 00:00:00 2001 From: ynerant Date: Mon, 8 Feb 2021 19:26:20 +0100 Subject: [PATCH] =?UTF-8?q?Support=20de=20la=20compilation=20des=20slides?= =?UTF-8?q?=20via=20l'int=C3=A9gration=20continue=20et=20d=C3=A9ploiement?= =?UTF-8?q?=20automatique?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: ynerant --- .gitignore | 9 +++ .gitlab-ci.yml | 20 ++++++ slides/beamerthemecrans.sty | 132 ++++++++++++++++++++++++++++++++++++ slides/crans-logo.png | Bin 0 -> 28949 bytes slides/seminaire-ci.tex | 68 +++++++++++++++++++ 5 files changed, 229 insertions(+) create mode 100644 slides/beamerthemecrans.sty create mode 100644 slides/crans-logo.png create mode 100644 slides/seminaire-ci.tex diff --git a/.gitignore b/.gitignore index 784a0d0..8906b1a 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,12 @@ .coverage venv + +*.aux +*.log +*.nav +*.out +*.pdf +*.snm +*.synctex.gz +*.toc diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8eda85e..9d92de0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,7 @@ stages: - linting - test + - compile_slides flake8: @@ -27,3 +28,22 @@ test: before_script: - pip install pytest pytest-cov --no-cache-dir script: pytest --showlocals --cov=main --cov=main_test --cov-report=term-missing . + +slides: + stage: compile_slides + image: aergus/latex + before_script: + - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' + - eval $(ssh-agent -s) + - echo "$SSH_KEY" | tr -d '\r' | ssh-add - > /dev/null + - mkdir -p ~/.ssh + - chmod 0700 ~/.ssh + - ssh-keyscan ynerant.fr >> ~/.ssh/known_hosts + - chmod 0644 ~/.ssh/known_hosts + script: + - latexmk -cd -pdf slides/seminaire-ci.tex + - scp slides/seminaire-ci.pdf gitlab-ci@ynerant.fr:gitlab-ftp/seminaire-ci.pdf + artifacts: + paths: + - slides/seminaire-ci.pdf + expire_in: 1 mo diff --git a/slides/beamerthemecrans.sty b/slides/beamerthemecrans.sty new file mode 100644 index 0000000..8a06323 --- /dev/null +++ b/slides/beamerthemecrans.sty @@ -0,0 +1,132 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%% BEAMER THEME FOR CRANS %%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% place in same folder as your .tex +% \usetheme{ens} in preamble +% also need crans-logo.png + +\NeedsTeXFormat{LaTeX2e}[1994/06/01] +\ProvidesPackage{ensbeamer}[2019/09/04 Beamer Theme] +\RequirePackage{tikz} +\RequirePackage{xcolor} + +\makeatletter +\newif\if@section\@sectionfalse +\DeclareOption{sectiontitle}{ + \@sectiontrue +} + +\ProcessOptions\relax + +\definecolor{rougecrans}{RGB}{207,14,34} % rougecrans ! + +\setbeamercolor{structure}{fg=rougecrans} +%\setbeamercolor{sidebar}{fg=rougecrans,bg=white} +\setbeamercolor{sidebar}{bg=white,fg=rougecrans} +%\setbeamercolor{title in sidebar}{fg=white} +%\setbeamercolor{section in sidebar}{fg=white} + \setbeamercolor{section in sidebar shaded}{fg=rougecrans!40} + \setbeamercolor{subsection in sidebar}{fg=rougecrans} + \setbeamercolor{subsection in sidebar shaded}{fg=rougecrans!60} + \setbeamercolor{frametitle}{fg=rougecrans,bg=white} + +\def\swidth{2cm} + +% +% ----------------------------- +% Title Page + +\setbeamerfont{title}{size=\huge} +\setbeamerfont{author}{size=\large} +\setbeamerfont{institut}{size=\Large} +\setbeamerfont{subtitle}{size=\Large} +\setbeamerfont{date}{size=\Large} +\setbeamertemplate{title page}{% +\begin{tikzpicture}[remember picture,overlay] +\fill[white] + (current page.north west) rectangle (current page.south east); +\node + at ([yshift=+.15\textheight]current page.center) (title) + {\usebeamerfont{title}\textcolor{rougecrans}{\inserttitle}}; + +\node[below=2em] + at(title) (subtitle) + {\usebeamerfont{subtitle}\textcolor{rougecrans}{\insertsubtitle}}; + +\node + at ([yshift=-70pt]current page.center) (institute) + {\usebeamerfont{institute}\textcolor{rougecrans}{\insertdate}}; + +\node + at ([yshift=-50pt]current page.center) (author) + {\usebeamerfont{author}\textcolor{rougecrans}{\insertauthor}}; + +\node [opacity=.15] at (current page.center) {\includegraphics[height=0.9\textheight]{crans-logo} }; + +\end{tikzpicture} +} + + + +% +% -------------------------------------- +% Sidebar + +\useoutertheme[height=0pt,width=\swidth, hideothersubsections]{sidebar} + +\setbeamertemplate{sidebar left} +{ + {\vspace{0.9em} +\hspace{-0.4em} + \begin{minipage}{\swidth} + \centering + \insertlogo + \end{minipage} + \usebeamerfont{title in sidebar}% + \vskip1em% + \usebeamercolor[fg]{title in sidebar}% + \insertshorttitle[width=\swidth,center,respectlinebreaks]\par% + \vskip.5em% + }% + \insertverticalnavigation{\swidth}% + \vfill + \hbox to2cm{\hskip0.6cm\usebeamerfont{section in sidebar} \strut\usebeamercolor[fg]{section in sidebar}\insertframenumber/\inserttotalframenumber\hfill}% + \vskip3pt% +}% + + +% -------------------------------------------------------------------------- +% Section as frame title +\if@section +\addtobeamertemplate{frametitle}{ + \let\insertframetitle\insertsectionhead}{} +\addtobeamertemplate{frametitle}{ + \let\insertframesubtitle\insertsubsectionhead}{} + +\makeatletter + \CheckCommand*\beamer@checkframetitle{\@ifnextchar\bgroup\beamer@inlineframetitle{}} + \renewcommand*\beamer@checkframetitle{\global\let\beamer@frametitle\relax\@ifnextchar\bgroup\beamer@inlineframetitle{}} + + \fi + +\setbeamertemplate{caption}{\raggedright\insertcaption\par} +\setbeamertemplate{navigation symbols}[horizontal] + +% --------------------------------------------------- +% BLOC + +\setbeamertemplate{blocks}[rounded][shadow=false] +\setbeamercolor{block body}{fg=black,bg=rougecrans!20} +\setbeamercolor{block title}{fg=black,bg=rougecrans!40} + +\setbeamercolor{block body example}{fg=black,bg=gray!40} +\setbeamercolor{block title example}{fg=black,bg=gray} + +\setbeamercolor{block body alerted}{fg=black,bg=blue!40} +\setbeamercolor{block title alerted}{fg=black,bg=blue} + +\setbeamercolor{subitem}{fg=rougecrans!20} + +\makeatother +% LOGO : +\logo{\includegraphics[width=\swidth]{crans-logo.png}} diff --git a/slides/crans-logo.png b/slides/crans-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..581c40381567b88b7a24d04bd6925e68a54a30ac GIT binary patch literal 28949 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

+@Vf_R0jSi((6VdUvZPlZKy*sHg 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 <4xsBXO~Un zOzj3+4f{>Ob?v5R_YAPT7YDRiYXpu~{!tn4j!VCcKLXXH(bDDD-|8rKUqo<%3RHtE z3(ad&`v?%poEAM{;Kj&PS#w#=uzg4S>r$^NcOxP!V!izUpvr0y?976IvA6%l>Eok) z?g;O0ga*QQJYDDQuI!FI*s|5r8z7BTbz?dp4vAHZ3Flt8PpO~fJskE$r2s9!?7ZmV#v>*?GqD5?ehoMQ zI>%EwiT~;{1O?ZudNE=cGg&K<&c^Vhy`3v;EFFee&TO%4=OAfz@u#1M1V-#Ies{e$ zVC+c+t1St#M7qxv!WHKqQ*MM!*{j_(KD-GdPq{~DohFX$WYI09#9Gd(?Du`qZ*?e*H8LiI#~XjS%G&IR>Ei}CpTP1 zTg89akYlt`0;djsb07LH(s{IovLU1Syx8!h^6Xw{RUWTMQvVl-S6qb0J$R>@Cx!K(ez&4Uxi8|v|D?v>Yv>4KXKx}2F^e>^;QD592eT8b`bOFf4&6=if0?|bq7dULb39+-5YI^qfJ z$wCGY8*?})`(z9aW%_*m=+~~Nzov`wZ&mJmwzObLRh3EBMt7@_kw^idZl3F=G$%Lr z1-EjJpZAnaPn6xUEy5`)8vQvqK4aNv_R2CTHD50 zdUASH1~wL8K}j-)IXS-RO-;-1y({e%21F~(4mfbhy{R9iJ3{Wubg|jQiT{5;itP?V Zl`BokI!eCNgRd}zv~J!}uTZrN|9?Rsx5@wj literal 0 HcmV?d00001 diff --git a/slides/seminaire-ci.tex b/slides/seminaire-ci.tex new file mode 100644 index 0000000..ec03f8e --- /dev/null +++ b/slides/seminaire-ci.tex @@ -0,0 +1,68 @@ +\documentclass[handout,aspectratio=169]{beamer} + +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{lmodern} +\usepackage[francais]{babel} +\usepackage{graphicx} + +\usetheme[sectiontitle]{crans} + +\title{Automatisez vos tâches avec une intégration continue} +\subtitle{Séminaire CRANS} +\author[]{\textsc{Yohann D'ANELLO}} +\date{11 février 2021} + + +\begin{document} +\begin{frame} + \maketitle +\end{frame} + +\begin{frame} + \tableofcontents[subsubsectionstyle=hide] +\end{frame} + +\section{Example} + +\subsection{Block} + +\begin{frame} + \begin{block}{Title block} + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + \end{block} + \begin{block}{} + No title Block \\ + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + \end{block} + \begin{exampleblock}{Example Block} + Example text (ugly) + \end{exampleblock} + \begin{alertblock}{Alert Block} + Alert Text + \end{alertblock} +\end{frame} + +\subsection{Lists} + +\begin{frame} + \begin{itemize} + \item Item 1 + \item Item 2 + \begin{itemize} + \item Subitem 1 + \item Subitem 2 + \end{itemize} + \end{itemize} + \begin{enumerate} + \item item 1 + \begin{enumerate} + \item item 1.1 + \end{enumerate} + \item + \item + \item + \end{enumerate} + +\end{frame} +\end{document}