Deploy site [CI SKIP]
This commit is contained in:
parent
328728a430
commit
e300609d2e
18 changed files with 115 additions and 83 deletions
|
|
@ -38,7 +38,7 @@ ul.task-list li input[type="checkbox"] {
|
|||
<link href="site_libs/quarto-html/quarto-syntax-highlighting-e26003cea8cd680ca0c55a263523d882.css" rel="stylesheet" id="quarto-text-highlighting-styles">
|
||||
<script src="site_libs/bootstrap/bootstrap.min.js"></script>
|
||||
<link href="site_libs/bootstrap/bootstrap-icons.css" rel="stylesheet">
|
||||
<link href="site_libs/bootstrap/bootstrap-83d240b7c0fe9db23ebe4161e81bc91c.min.css" rel="stylesheet" append-hash="true" id="quarto-bootstrap" data-mode="light">
|
||||
<link href="site_libs/bootstrap/bootstrap-86ddb94b6c65cfb424b1f9464cc27ff8.min.css" rel="stylesheet" append-hash="true" id="quarto-bootstrap" data-mode="light">
|
||||
<script id="quarto-search-options" type="application/json">{
|
||||
"location": "navbar",
|
||||
"copy-button": false,
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ ul.task-list li input[type="checkbox"] {
|
|||
<link href="site_libs/quarto-html/quarto-syntax-highlighting-e26003cea8cd680ca0c55a263523d882.css" rel="stylesheet" id="quarto-text-highlighting-styles">
|
||||
<script src="site_libs/bootstrap/bootstrap.min.js"></script>
|
||||
<link href="site_libs/bootstrap/bootstrap-icons.css" rel="stylesheet">
|
||||
<link href="site_libs/bootstrap/bootstrap-83d240b7c0fe9db23ebe4161e81bc91c.min.css" rel="stylesheet" append-hash="true" id="quarto-bootstrap" data-mode="light">
|
||||
<link href="site_libs/bootstrap/bootstrap-86ddb94b6c65cfb424b1f9464cc27ff8.min.css" rel="stylesheet" append-hash="true" id="quarto-bootstrap" data-mode="light">
|
||||
<script id="quarto-search-options" type="application/json">{
|
||||
"location": "navbar",
|
||||
"copy-button": false,
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ ul.task-list li input[type="checkbox"] {
|
|||
<link href="site_libs/quarto-html/quarto-syntax-highlighting-e26003cea8cd680ca0c55a263523d882.css" rel="stylesheet" id="quarto-text-highlighting-styles">
|
||||
<script src="site_libs/bootstrap/bootstrap.min.js"></script>
|
||||
<link href="site_libs/bootstrap/bootstrap-icons.css" rel="stylesheet">
|
||||
<link href="site_libs/bootstrap/bootstrap-83d240b7c0fe9db23ebe4161e81bc91c.min.css" rel="stylesheet" append-hash="true" id="quarto-bootstrap" data-mode="light">
|
||||
<link href="site_libs/bootstrap/bootstrap-86ddb94b6c65cfb424b1f9464cc27ff8.min.css" rel="stylesheet" append-hash="true" id="quarto-bootstrap" data-mode="light">
|
||||
<link href="site_libs/quarto-contrib/academicons-1.9.2/all.css" rel="stylesheet">
|
||||
<link href="site_libs/quarto-contrib/academicons-1.9.2/size.css" rel="stylesheet">
|
||||
<link href="site_libs/quarto-contrib/fontawesome6-0.1.0/all.css" rel="stylesheet">
|
||||
|
|
@ -74,7 +74,7 @@ ul.task-list li input[type="checkbox"] {
|
|||
<link rel="stylesheet" href="styles.css">
|
||||
</head>
|
||||
|
||||
<body class="nav-fixed fullcontent">
|
||||
<body class="nav-fixed">
|
||||
|
||||
<div id="quarto-search-results"></div>
|
||||
<header id="quarto-header" class="headroom fixed-top">
|
||||
|
|
@ -116,7 +116,14 @@ ul.task-list li input[type="checkbox"] {
|
|||
<div id="quarto-content" class="quarto-container page-columns page-rows-contents page-layout-article page-navbar">
|
||||
<!-- sidebar -->
|
||||
<!-- margin-sidebar -->
|
||||
|
||||
<div id="quarto-margin-sidebar" class="sidebar margin-sidebar">
|
||||
<nav id="TOC" role="doc-toc" class="toc-active">
|
||||
<h2 id="toc-title">Sur cette page</h2>
|
||||
<ul>
|
||||
<li><a href="#citations" id="toc-citations" class="nav-link active" data-scroll-target="#citations">Citations</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
<!-- main -->
|
||||
<div class="quarto-about-trestles">
|
||||
<div class="about-entity">
|
||||
|
|
@ -146,10 +153,17 @@ ul.task-list li input[type="checkbox"] {
|
|||
</div>
|
||||
</div>
|
||||
<div class="about-contents"><main class="content" id="quarto-document-content">
|
||||
<p><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"><button onclick="window.location = window.location.href.replace('/fr', '');" class="btn"><i class="fa fa-language"></i> English </button></p><p>Je suis doctorant en statistiques appliquées au laboratoire MIA Paris-Saclay sous la direction de Pierre Barbillon et Sophie Donnet.</p>
|
||||
<p><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"><button onclick="window.location = window.location.href.replace('/fr', '');" class="btn"><i class="fa fa-language"></i> English </button></p>
|
||||
<p>Je suis doctorant en statistiques appliquées au laboratoire MIA Paris-Saclay sous la direction de Pierre Barbillon et Sophie Donnet.</p>
|
||||
<p>Je mettrai à jour plus tard</p>
|
||||
<section id="citations" class="level2">
|
||||
<h2 data-anchor-id="citations">Citations</h2>
|
||||
<blockquote class="blockquote">
|
||||
<p>“Il faut être mou du critère”, PB 2025</p>
|
||||
</blockquote>
|
||||
|
||||
|
||||
</section>
|
||||
</main></div>
|
||||
</div>
|
||||
<!-- /main -->
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ ul.task-list li input[type="checkbox"] {
|
|||
<link href="site_libs/quarto-html/quarto-syntax-highlighting-e26003cea8cd680ca0c55a263523d882.css" rel="stylesheet" id="quarto-text-highlighting-styles">
|
||||
<script src="site_libs/bootstrap/bootstrap.min.js"></script>
|
||||
<link href="site_libs/bootstrap/bootstrap-icons.css" rel="stylesheet">
|
||||
<link href="site_libs/bootstrap/bootstrap-83d240b7c0fe9db23ebe4161e81bc91c.min.css" rel="stylesheet" append-hash="true" id="quarto-bootstrap" data-mode="light">
|
||||
<link href="site_libs/bootstrap/bootstrap-86ddb94b6c65cfb424b1f9464cc27ff8.min.css" rel="stylesheet" append-hash="true" id="quarto-bootstrap" data-mode="light">
|
||||
<script id="quarto-search-options" type="application/json">{
|
||||
"location": "navbar",
|
||||
"copy-button": false,
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ ul.task-list li input[type="checkbox"] {
|
|||
<link href="site_libs/quarto-html/quarto-syntax-highlighting-e26003cea8cd680ca0c55a263523d882.css" rel="stylesheet" id="quarto-text-highlighting-styles">
|
||||
<script src="site_libs/bootstrap/bootstrap.min.js"></script>
|
||||
<link href="site_libs/bootstrap/bootstrap-icons.css" rel="stylesheet">
|
||||
<link href="site_libs/bootstrap/bootstrap-83d240b7c0fe9db23ebe4161e81bc91c.min.css" rel="stylesheet" append-hash="true" id="quarto-bootstrap" data-mode="light">
|
||||
<link href="site_libs/bootstrap/bootstrap-86ddb94b6c65cfb424b1f9464cc27ff8.min.css" rel="stylesheet" append-hash="true" id="quarto-bootstrap" data-mode="light">
|
||||
<script id="quarto-search-options" type="application/json">{
|
||||
"location": "navbar",
|
||||
"copy-button": false,
|
||||
|
|
@ -218,7 +218,7 @@ window.Quarto = {
|
|||
|
||||
<div class="quarto-listing quarto-listing-container-grid" id="listing-listing">
|
||||
<div class="list grid quarto-listing-cols-3">
|
||||
<div class="g-col-1" data-index="0" data-categories="Y2klMkNpbnQlQzMlQTlncmF0aW9uJTIwY29udGludWUlMkNnaXQlMkNHaXRMYWIlMkNMYVRlWCUyQ2ZyZW5jaCUyQ2ZyYW4lQzMlQTdhaXM=" data-listing-date-sort="1758578400000" data-listing-file-modified-sort="1759750623584" data-listing-date-modified-sort="1759750623000" data-listing-reading-time-sort="5" data-listing-word-count-sort="954">
|
||||
<div class="g-col-1" data-index="0" data-categories="Y2klMkNpbnQlQzMlQTlncmF0aW9uJTIwY29udGludWUlMkNnaXQlMkNHaXRMYWIlMkNMYVRlWCUyQ2ZyZW5jaCUyQ2ZyYW4lQzMlQTdhaXM=" data-listing-date-sort="1758578400000" data-listing-file-modified-sort="1765818242355" data-listing-date-modified-sort="1765818242000" data-listing-reading-time-sort="5" data-listing-word-count-sort="954">
|
||||
<a href="./posts/ci-gitlab-latex.html" class="quarto-grid-link">
|
||||
<div class="quarto-grid-item card h-100 card-left">
|
||||
<p class="card-img-top"><img src="posts/resources/ci-gitlab-latex/access-token-settings.png" style="height: 150px;" class="thumbnail-image card-img"/></p>
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ pre > code.sourceCode > span > a:first-child::before { text-decoration: underlin
|
|||
<link href="../site_libs/quarto-html/quarto-syntax-highlighting-e26003cea8cd680ca0c55a263523d882.css" rel="stylesheet" id="quarto-text-highlighting-styles">
|
||||
<script src="../site_libs/bootstrap/bootstrap.min.js"></script>
|
||||
<link href="../site_libs/bootstrap/bootstrap-icons.css" rel="stylesheet">
|
||||
<link href="../site_libs/bootstrap/bootstrap-83d240b7c0fe9db23ebe4161e81bc91c.min.css" rel="stylesheet" append-hash="true" id="quarto-bootstrap" data-mode="light">
|
||||
<link href="../site_libs/bootstrap/bootstrap-86ddb94b6c65cfb424b1f9464cc27ff8.min.css" rel="stylesheet" append-hash="true" id="quarto-bootstrap" data-mode="light">
|
||||
<script id="quarto-search-options" type="application/json">{
|
||||
"location": "navbar",
|
||||
"copy-button": false,
|
||||
|
|
@ -188,7 +188,7 @@ pre > code.sourceCode > span > a:first-child::before { text-decoration: underlin
|
|||
<div>
|
||||
<div class="quarto-title-meta-heading">Modifié</div>
|
||||
<div class="quarto-title-meta-contents">
|
||||
<p class="date-modified">6 octobre 2025</p>
|
||||
<p class="date-modified">15 décembre 2025</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -248,7 +248,7 @@ Important
|
|||
<span id="cb1-9"><a href="#cb1-9"></a></span>
|
||||
<span id="cb1-10"><a href="#cb1-10"></a><span class="fu">build_tex</span><span class="kw">:</span></span>
|
||||
<span id="cb1-11"><a href="#cb1-11"></a><span class="at"> </span><span class="fu">stage</span><span class="kw">:</span><span class="at"> build</span></span>
|
||||
<span id="cb1-12"><a href="#cb1-12"></a><span class="at"> </span><span class="fu">image</span><span class="kw">:</span><span class="at"> registry.gitlab.com/islandoftex/images/texlive:latest</span></span>
|
||||
<span id="cb1-12"><a href="#cb1-12"></a><span class="at"> </span><span class="fu">image</span><span class="kw">:</span><span class="at"> danteev/texlive:latest</span><span class="co"> # texlive plus inkscape and others</span></span>
|
||||
<span id="cb1-13"><a href="#cb1-13"></a><span class="at"> </span><span class="fu">script</span><span class="kw">:</span></span>
|
||||
<span id="cb1-14"><a href="#cb1-14"></a><span class="kw"> - </span><span class="ch">|</span></span>
|
||||
<span id="cb1-15"><a href="#cb1-15"></a> for FILE_NAME in $FILE_NAMES</span>
|
||||
|
|
@ -338,7 +338,7 @@ Important
|
|||
<div class="cell">
|
||||
<div class="sourceCode cell-code" id="cb3"><pre class="sourceCode numberSource yaml number-lines code-with-copy"><code class="sourceCode yaml"><span id="cb3-1"><a href="#cb3-1"></a><span class="fu">build_tex</span><span class="kw">:</span></span>
|
||||
<span id="cb3-2"><a href="#cb3-2"></a><span class="at"> </span><span class="fu">stage</span><span class="kw">:</span><span class="at"> build</span></span>
|
||||
<span id="cb3-3"><a href="#cb3-3"></a><span class="at"> </span><span class="fu">image</span><span class="kw">:</span><span class="at"> registry.gitlab.com/islandoftex/images/texlive:latest</span></span>
|
||||
<span id="cb3-3"><a href="#cb3-3"></a><span class="at"> </span><span class="fu">image</span><span class="kw">:</span><span class="at"> danteev/texlive:latest</span><span class="co"> # texlive plus inkscape and others</span></span>
|
||||
<span id="cb3-4"><a href="#cb3-4"></a><span class="at"> </span><span class="fu">script</span><span class="kw">:</span></span>
|
||||
<span id="cb3-5"><a href="#cb3-5"></a><span class="kw"> - </span><span class="ch">|</span></span>
|
||||
<span id="cb3-6"><a href="#cb3-6"></a> for FILE_NAME in $FILE_NAMES</span>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,25 @@
|
|||
[
|
||||
{
|
||||
"objectID": "index.html",
|
||||
"href": "index.html",
|
||||
"title": "Louis Lacoste",
|
||||
"section": "",
|
||||
"text": "English\nJe suis doctorant en statistiques appliquées au laboratoire MIA Paris-Saclay sous la direction de Pierre Barbillon et Sophie Donnet.\nJe mettrai à jour plus tard"
|
||||
},
|
||||
{
|
||||
"objectID": "index.html#citations",
|
||||
"href": "index.html#citations",
|
||||
"title": "Louis Lacoste",
|
||||
"section": "Citations",
|
||||
"text": "Citations\n\n“Il faut être mou du critère”, PB 2025"
|
||||
},
|
||||
{
|
||||
"objectID": "biblio.html",
|
||||
"href": "biblio.html",
|
||||
"title": "Bibliography",
|
||||
"section": "",
|
||||
"text": "English"
|
||||
},
|
||||
{
|
||||
"objectID": "interests.html",
|
||||
"href": "interests.html",
|
||||
|
|
@ -32,7 +53,7 @@
|
|||
"href": "posts/ci-gitlab-latex.html#la-phase-de-compilation-build_tex",
|
||||
"title": "Faire une CI LaTeX avec GitLab",
|
||||
"section": "La phase de compilation build_tex",
|
||||
"text": "La phase de compilation build_tex\nNous allons détailler l’étape build_tex :\n\nbuild_tex:\n stage: build\n image: registry.gitlab.com/islandoftex/images/texlive:latest\n script:\n - |\n for FILE_NAME in $FILE_NAMES\n do\n echo \"Compiling ${FILE_NAME}\"\n pdflatex --shell-escape ${FILE_NAME}.tex\n if test -f ${FILE_NAME}.bcf; then\n echo \"Found ${FILE_NAME}.bcf, running biber\"\n biber ${FILE_NAME}\n fi\n pdflatex --shell-escape ${FILE_NAME}.tex\n done\n after_script:\n - |\n for FILE_NAME in $FILE_NAMES\n do\n echo \"============================================\"\n cat ${FILE_NAME}.log\n echo \"============================================\"\n done\n\n artifacts:\n paths:\n - \"*.pdf\"\n\nOn déclare tout d’abord le stage: build pour qualifier l’étape que l’on réalise ici. Il y en a 3 possibles : build, test, deploy (documentation GitLab). Ici nous choisissons build puisqu’il s’agit de la compilation de notre projet.\nÀ la suite nous chargeons une image docker qui contient les outils texlive.\nEt enfin la directive script définit en bash l’enchaînement d’étapes que nous réalisons pour compiler le projet.\n\n\n\n\n\n\nExécution conditionnelle de biber\n\n\n\nNoter que nous n’avons pas mis d’extensions dans FILE_NAMES afin de pouvoir détecter ici les fichiers bcf caractéristiques de la bibliographie.\n\n\nFinalement, nous utilisons la directive after_script pour afficher dans les journaux de la CI les fichiers de logs des compilations.\nEnfin artifacts spécifie que les artéfacts que l’on veut conserver de la CI sont tous les PDF à la racine du dépôt"
|
||||
"text": "La phase de compilation build_tex\nNous allons détailler l’étape build_tex :\n\nbuild_tex:\n stage: build\n image: danteev/texlive:latest # texlive plus inkscape and others\n script:\n - |\n for FILE_NAME in $FILE_NAMES\n do\n echo \"Compiling ${FILE_NAME}\"\n pdflatex --shell-escape ${FILE_NAME}.tex\n if test -f ${FILE_NAME}.bcf; then\n echo \"Found ${FILE_NAME}.bcf, running biber\"\n biber ${FILE_NAME}\n fi\n pdflatex --shell-escape ${FILE_NAME}.tex\n done\n after_script:\n - |\n for FILE_NAME in $FILE_NAMES\n do\n echo \"============================================\"\n cat ${FILE_NAME}.log\n echo \"============================================\"\n done\n\n artifacts:\n paths:\n - \"*.pdf\"\n\nOn déclare tout d’abord le stage: build pour qualifier l’étape que l’on réalise ici. Il y en a 3 possibles : build, test, deploy (documentation GitLab). Ici nous choisissons build puisqu’il s’agit de la compilation de notre projet.\nÀ la suite nous chargeons une image docker qui contient les outils texlive.\nEt enfin la directive script définit en bash l’enchaînement d’étapes que nous réalisons pour compiler le projet.\n\n\n\n\n\n\nExécution conditionnelle de biber\n\n\n\nNoter que nous n’avons pas mis d’extensions dans FILE_NAMES afin de pouvoir détecter ici les fichiers bcf caractéristiques de la bibliographie.\n\n\nFinalement, nous utilisons la directive after_script pour afficher dans les journaux de la CI les fichiers de logs des compilations.\nEnfin artifacts spécifie que les artéfacts que l’on veut conserver de la CI sont tous les PDF à la racine du dépôt"
|
||||
},
|
||||
{
|
||||
"objectID": "posts/ci-gitlab-latex.html#la-phase-de-déploiement-deploy",
|
||||
|
|
@ -41,20 +62,6 @@
|
|||
"section": "La phase de déploiement deploy",
|
||||
"text": "La phase de déploiement deploy\n\ndeploy:\n stage: deploy\n image:\n name: alpine/git:${GIT_VERSION}\n entrypoint: [\"\"]\n\n before_script:\n # Clone le repo dans un dossier temporaire\n - git clone \"https://${GITLAB_USERNAME}:${GITLAB_TOKEN}@${CI_SERVER_HOST}/${CI_PROJECT_PATH}.git\" \"${CI_COMMIT_SHA}\"\n\n # Configure l’identité git\n - git config --global user.email \"${GIT_USER_EMAIL:-$GITLAB_USER_EMAIL}\"\n - git config --global user.name \"${GIT_USER_NAME:-$GITLAB_USER_NAME}\"\n\n script:\n # Déplace les PDFs compilés dans le repo cloné\n - mv *.pdf \"${CI_COMMIT_SHA}/\"\n - cd \"${CI_COMMIT_SHA}\"\n\n # Crée une branche orpheline (vierge, sans historique ni fichiers)\n - git checkout --orphan \"${PDF_BRANCH}\"\n - git reset --hard\n\n # Ajoute uniquement les PDF\n - git add -f *.pdf\n\n # Vérifie s’il y a des changements et push\n - |\n CHANGES=$(git status --porcelain | wc -l)\n if [ \"$CHANGES\" -gt \"0\" ]; then\n git commit -m \"${COMMIT_MESSAGE:-Updating PDF files}\"\n git push --force origin \"${PDF_BRANCH}\" -o ci.skip\n else\n echo \"No PDF changes to commit\"\n fi\n\nFinalement nous déployons nos PDF. Pour cela on charge une image légère Alpine Linux avec la version Git sélectionnée dans les variables.\nAvec la directive before_script on clone le dépôt.\n\n\n\n\n\n\nPour créer le token GitLab\n\n\n\nNotez dans le git clone que nous employons une variable GITLAB_TOKEN, celle-ci est a créer au préalable et à déclarer dans le dépôt.\nPour cela :\n\nRendez-vous dans les paramètre de votre dépôt.\n\n\n\n\nDans les menus de gauche, déplier “Settings” et rendez-vous dans “Access tokens”\n\n\n\nIci ajoutez un nouveau token.\n\n\n\n\nCliquer sur “Add new token”\n\n\n\nEn configurant les permissions read_repository et write_repository afin de pouvoir cloner et pousser nos fichiers. Puis cliquer sur “Create project access token”.\n\n\n\nVotre token est maintenant affiché, copiez le car il ne sera pas raffiché après.\nRendez-vous maintenant dans CI/CD settings.\n\n\n\nCréer maintenant la variable en cliquant sur “Add variable”, nommez la GITLAB_TOKEN, dans “value” ajoutez le token copié.\n\n\n\nLa suite du script déplace les PDF dans le dépôt cloné, crée la branche de publication et ajoute les pdf.\nVous avez normalement maintenant une CI de compilation et publication de PDF ! Maintenant vous pouvez faire référence dans votre README.md à vos PDF en saisissant un lien du type :\nhttps://mongitlab.com/monnomutilisateur/mondepot/-/raw/monpdf.pdf\nqui permet d’afficher directement dans le navigateur le produit de la compilation. 😄"
|
||||
},
|
||||
{
|
||||
"objectID": "index.html",
|
||||
"href": "index.html",
|
||||
"title": "Louis Lacoste",
|
||||
"section": "",
|
||||
"text": "English Je suis doctorant en statistiques appliquées au laboratoire MIA Paris-Saclay sous la direction de Pierre Barbillon et Sophie Donnet.\nJe mettrai à jour plus tard"
|
||||
},
|
||||
{
|
||||
"objectID": "teaching.html",
|
||||
"href": "teaching.html",
|
||||
"title": "Teaching",
|
||||
"section": "",
|
||||
"text": "English \n\n2025-2026\n\nTeaching assistant in Statistics (33 hours) for first-year students at AgroParisTech.\n\n\n\n2024-2025\n\nTeaching assistant in Statistics (33 hours) for first-year students at AgroParisTech.\nTeaching assistant in “Data Science: Statistical Learning” (16.5 hours) for second-year students at AgroParisTech\nTeaching assistant in “Computer science: programming and database” (6 hours) for first-year students at AgroParisTech"
|
||||
},
|
||||
{
|
||||
"objectID": "posts.html",
|
||||
"href": "posts.html",
|
||||
|
|
@ -63,10 +70,10 @@
|
|||
"text": "English \n\n\n\n\n\n\n\n\n\nFaire une CI LaTeX avec GitLab\n\n\n\nci\n\n\nintégration continue\n\n\ngit\n\n\nGitLab\n\n\nLaTeX\n\n\nfrench\n\n\nfrançais\n\n\n\n\n\n\n\nLouis Lacoste\n\n\n23 sept. 2025\n\n\n\n\n\n\n\n\nAucun article correspondant"
|
||||
},
|
||||
{
|
||||
"objectID": "biblio.html",
|
||||
"href": "biblio.html",
|
||||
"title": "Bibliography",
|
||||
"objectID": "teaching.html",
|
||||
"href": "teaching.html",
|
||||
"title": "Teaching",
|
||||
"section": "",
|
||||
"text": "English"
|
||||
"text": "English \n\n2025-2026\n\nTeaching assistant in Statistics (33 hours) for first-year students at AgroParisTech.\n\n\n\n2024-2025\n\nTeaching assistant in Statistics (33 hours) for first-year students at AgroParisTech.\nTeaching assistant in “Data Science: Statistical Learning” (16.5 hours) for second-year students at AgroParisTech\nTeaching assistant in “Computer science: programming and database” (6 hours) for first-year students at AgroParisTech"
|
||||
}
|
||||
]
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -38,7 +38,7 @@ ul.task-list li input[type="checkbox"] {
|
|||
<link href="site_libs/quarto-html/quarto-syntax-highlighting-e26003cea8cd680ca0c55a263523d882.css" rel="stylesheet" id="quarto-text-highlighting-styles">
|
||||
<script src="site_libs/bootstrap/bootstrap.min.js"></script>
|
||||
<link href="site_libs/bootstrap/bootstrap-icons.css" rel="stylesheet">
|
||||
<link href="site_libs/bootstrap/bootstrap-83d240b7c0fe9db23ebe4161e81bc91c.min.css" rel="stylesheet" append-hash="true" id="quarto-bootstrap" data-mode="light">
|
||||
<link href="site_libs/bootstrap/bootstrap-86ddb94b6c65cfb424b1f9464cc27ff8.min.css" rel="stylesheet" append-hash="true" id="quarto-bootstrap" data-mode="light">
|
||||
<script id="quarto-search-options" type="application/json">{
|
||||
"location": "navbar",
|
||||
"copy-button": false,
|
||||
|
|
|
|||
22
index.html
22
index.html
|
|
@ -37,7 +37,7 @@ ul.task-list li input[type="checkbox"] {
|
|||
<link href="site_libs/quarto-html/quarto-syntax-highlighting-e26003cea8cd680ca0c55a263523d882.css" rel="stylesheet" id="quarto-text-highlighting-styles">
|
||||
<script src="site_libs/bootstrap/bootstrap.min.js"></script>
|
||||
<link href="site_libs/bootstrap/bootstrap-icons.css" rel="stylesheet">
|
||||
<link href="site_libs/bootstrap/bootstrap-83d240b7c0fe9db23ebe4161e81bc91c.min.css" rel="stylesheet" append-hash="true" id="quarto-bootstrap" data-mode="light">
|
||||
<link href="site_libs/bootstrap/bootstrap-86ddb94b6c65cfb424b1f9464cc27ff8.min.css" rel="stylesheet" append-hash="true" id="quarto-bootstrap" data-mode="light">
|
||||
<link href="site_libs/quarto-contrib/academicons-1.9.2/all.css" rel="stylesheet">
|
||||
<link href="site_libs/quarto-contrib/academicons-1.9.2/size.css" rel="stylesheet">
|
||||
<link href="site_libs/quarto-contrib/fontawesome6-0.1.0/all.css" rel="stylesheet">
|
||||
|
|
@ -74,7 +74,7 @@ ul.task-list li input[type="checkbox"] {
|
|||
<link rel="stylesheet" href="styles.css">
|
||||
</head>
|
||||
|
||||
<body class="nav-fixed fullcontent">
|
||||
<body class="nav-fixed">
|
||||
|
||||
<div id="quarto-search-results"></div>
|
||||
<header id="quarto-header" class="headroom fixed-top">
|
||||
|
|
@ -110,7 +110,14 @@ ul.task-list li input[type="checkbox"] {
|
|||
<div id="quarto-content" class="quarto-container page-columns page-rows-contents page-layout-article page-navbar">
|
||||
<!-- sidebar -->
|
||||
<!-- margin-sidebar -->
|
||||
|
||||
<div id="quarto-margin-sidebar" class="sidebar margin-sidebar">
|
||||
<nav id="TOC" role="doc-toc" class="toc-active">
|
||||
<h2 id="toc-title">On this page</h2>
|
||||
<ul>
|
||||
<li><a href="#quotes" id="toc-quotes" class="nav-link active" data-scroll-target="#quotes">Quotes</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
<!-- main -->
|
||||
<div class="quarto-about-trestles">
|
||||
<div class="about-entity">
|
||||
|
|
@ -140,10 +147,17 @@ ul.task-list li input[type="checkbox"] {
|
|||
</div>
|
||||
</div>
|
||||
<div class="about-contents"><main class="content" id="quarto-document-content">
|
||||
<p><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"><button onclick="window.location = '/fr' + location.pathname;" class="btn"><i class="fa fa-language"></i> Français </button></p><p>I’m a PhD student in Applied Mathematics at MIA Paris-Saclay under supervision of Pierre Barbillon and Sophie Donnet.</p>
|
||||
<p><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"><button onclick="window.location = '/fr' + location.pathname;" class="btn"><i class="fa fa-language"></i> Français </button></p>
|
||||
<p>I’m a PhD student in Applied Mathematics at MIA Paris-Saclay under supervision of Pierre Barbillon and Sophie Donnet.</p>
|
||||
<p>Will update later</p>
|
||||
<section id="quotes" class="level2">
|
||||
<h2 data-anchor-id="quotes">Quotes</h2>
|
||||
<blockquote class="blockquote">
|
||||
<p>“Il faut être mou du critère”, PB 2025</p>
|
||||
</blockquote>
|
||||
|
||||
|
||||
</section>
|
||||
</main></div>
|
||||
</div>
|
||||
<!-- /main -->
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ ul.task-list li input[type="checkbox"] {
|
|||
<link href="site_libs/quarto-html/quarto-syntax-highlighting-e26003cea8cd680ca0c55a263523d882.css" rel="stylesheet" id="quarto-text-highlighting-styles">
|
||||
<script src="site_libs/bootstrap/bootstrap.min.js"></script>
|
||||
<link href="site_libs/bootstrap/bootstrap-icons.css" rel="stylesheet">
|
||||
<link href="site_libs/bootstrap/bootstrap-83d240b7c0fe9db23ebe4161e81bc91c.min.css" rel="stylesheet" append-hash="true" id="quarto-bootstrap" data-mode="light">
|
||||
<link href="site_libs/bootstrap/bootstrap-86ddb94b6c65cfb424b1f9464cc27ff8.min.css" rel="stylesheet" append-hash="true" id="quarto-bootstrap" data-mode="light">
|
||||
<script id="quarto-search-options" type="application/json">{
|
||||
"location": "navbar",
|
||||
"copy-button": false,
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ ul.task-list li input[type="checkbox"] {
|
|||
<link href="site_libs/quarto-html/quarto-syntax-highlighting-e26003cea8cd680ca0c55a263523d882.css" rel="stylesheet" id="quarto-text-highlighting-styles">
|
||||
<script src="site_libs/bootstrap/bootstrap.min.js"></script>
|
||||
<link href="site_libs/bootstrap/bootstrap-icons.css" rel="stylesheet">
|
||||
<link href="site_libs/bootstrap/bootstrap-83d240b7c0fe9db23ebe4161e81bc91c.min.css" rel="stylesheet" append-hash="true" id="quarto-bootstrap" data-mode="light">
|
||||
<link href="site_libs/bootstrap/bootstrap-86ddb94b6c65cfb424b1f9464cc27ff8.min.css" rel="stylesheet" append-hash="true" id="quarto-bootstrap" data-mode="light">
|
||||
<script id="quarto-search-options" type="application/json">{
|
||||
"location": "navbar",
|
||||
"copy-button": false,
|
||||
|
|
@ -212,7 +212,7 @@ window.Quarto = {
|
|||
|
||||
<div class="quarto-listing quarto-listing-container-grid" id="listing-listing">
|
||||
<div class="list grid quarto-listing-cols-3">
|
||||
<div class="g-col-1" data-index="0" data-categories="Y2klMkNpbnQlQzMlQTlncmF0aW9uJTIwY29udGludWUlMkNnaXQlMkNHaXRMYWIlMkNMYVRlWCUyQ2ZyZW5jaCUyQ2ZyYW4lQzMlQTdhaXM=" data-listing-date-sort="1758578400000" data-listing-file-modified-sort="1759750623584" data-listing-date-modified-sort="1759750623000" data-listing-reading-time-sort="5" data-listing-word-count-sort="954">
|
||||
<div class="g-col-1" data-index="0" data-categories="Y2klMkNpbnQlQzMlQTlncmF0aW9uJTIwY29udGludWUlMkNnaXQlMkNHaXRMYWIlMkNMYVRlWCUyQ2ZyZW5jaCUyQ2ZyYW4lQzMlQTdhaXM=" data-listing-date-sort="1758578400000" data-listing-file-modified-sort="1765818242355" data-listing-date-modified-sort="1765818242000" data-listing-reading-time-sort="5" data-listing-word-count-sort="954">
|
||||
<a href="./posts/ci-gitlab-latex.html" class="quarto-grid-link">
|
||||
<div class="quarto-grid-item card h-100 card-left">
|
||||
<p class="card-img-top"><img src="posts/resources/ci-gitlab-latex/access-token-settings.png" style="height: 150px;" class="thumbnail-image card-img"/></p>
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ pre > code.sourceCode > span > a:first-child::before { text-decoration: underlin
|
|||
<link href="../site_libs/quarto-html/quarto-syntax-highlighting-e26003cea8cd680ca0c55a263523d882.css" rel="stylesheet" id="quarto-text-highlighting-styles">
|
||||
<script src="../site_libs/bootstrap/bootstrap.min.js"></script>
|
||||
<link href="../site_libs/bootstrap/bootstrap-icons.css" rel="stylesheet">
|
||||
<link href="../site_libs/bootstrap/bootstrap-83d240b7c0fe9db23ebe4161e81bc91c.min.css" rel="stylesheet" append-hash="true" id="quarto-bootstrap" data-mode="light">
|
||||
<link href="../site_libs/bootstrap/bootstrap-86ddb94b6c65cfb424b1f9464cc27ff8.min.css" rel="stylesheet" append-hash="true" id="quarto-bootstrap" data-mode="light">
|
||||
<script id="quarto-search-options" type="application/json">{
|
||||
"location": "navbar",
|
||||
"copy-button": false,
|
||||
|
|
@ -183,7 +183,7 @@ pre > code.sourceCode > span > a:first-child::before { text-decoration: underlin
|
|||
<div>
|
||||
<div class="quarto-title-meta-heading">Modified</div>
|
||||
<div class="quarto-title-meta-contents">
|
||||
<p class="date-modified">October 6, 2025</p>
|
||||
<p class="date-modified">December 15, 2025</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -243,7 +243,7 @@ Important
|
|||
<span id="cb1-9"><a href="#cb1-9"></a></span>
|
||||
<span id="cb1-10"><a href="#cb1-10"></a><span class="fu">build_tex</span><span class="kw">:</span></span>
|
||||
<span id="cb1-11"><a href="#cb1-11"></a><span class="at"> </span><span class="fu">stage</span><span class="kw">:</span><span class="at"> build</span></span>
|
||||
<span id="cb1-12"><a href="#cb1-12"></a><span class="at"> </span><span class="fu">image</span><span class="kw">:</span><span class="at"> registry.gitlab.com/islandoftex/images/texlive:latest</span></span>
|
||||
<span id="cb1-12"><a href="#cb1-12"></a><span class="at"> </span><span class="fu">image</span><span class="kw">:</span><span class="at"> danteev/texlive:latest</span><span class="co"> # texlive plus inkscape and others</span></span>
|
||||
<span id="cb1-13"><a href="#cb1-13"></a><span class="at"> </span><span class="fu">script</span><span class="kw">:</span></span>
|
||||
<span id="cb1-14"><a href="#cb1-14"></a><span class="kw"> - </span><span class="ch">|</span></span>
|
||||
<span id="cb1-15"><a href="#cb1-15"></a> for FILE_NAME in $FILE_NAMES</span>
|
||||
|
|
@ -333,7 +333,7 @@ Important
|
|||
<div class="cell">
|
||||
<div class="sourceCode cell-code" id="cb3"><pre class="sourceCode numberSource yaml number-lines code-with-copy"><code class="sourceCode yaml"><span id="cb3-1"><a href="#cb3-1"></a><span class="fu">build_tex</span><span class="kw">:</span></span>
|
||||
<span id="cb3-2"><a href="#cb3-2"></a><span class="at"> </span><span class="fu">stage</span><span class="kw">:</span><span class="at"> build</span></span>
|
||||
<span id="cb3-3"><a href="#cb3-3"></a><span class="at"> </span><span class="fu">image</span><span class="kw">:</span><span class="at"> registry.gitlab.com/islandoftex/images/texlive:latest</span></span>
|
||||
<span id="cb3-3"><a href="#cb3-3"></a><span class="at"> </span><span class="fu">image</span><span class="kw">:</span><span class="at"> danteev/texlive:latest</span><span class="co"> # texlive plus inkscape and others</span></span>
|
||||
<span id="cb3-4"><a href="#cb3-4"></a><span class="at"> </span><span class="fu">script</span><span class="kw">:</span></span>
|
||||
<span id="cb3-5"><a href="#cb3-5"></a><span class="kw"> - </span><span class="ch">|</span></span>
|
||||
<span id="cb3-6"><a href="#cb3-6"></a> for FILE_NAME in $FILE_NAMES</span>
|
||||
|
|
|
|||
45
search.json
45
search.json
|
|
@ -1,4 +1,25 @@
|
|||
[
|
||||
{
|
||||
"objectID": "index.html",
|
||||
"href": "index.html",
|
||||
"title": "Louis Lacoste",
|
||||
"section": "",
|
||||
"text": "Français\nI’m a PhD student in Applied Mathematics at MIA Paris-Saclay under supervision of Pierre Barbillon and Sophie Donnet.\nWill update later"
|
||||
},
|
||||
{
|
||||
"objectID": "index.html#quotes",
|
||||
"href": "index.html#quotes",
|
||||
"title": "Louis Lacoste",
|
||||
"section": "Quotes",
|
||||
"text": "Quotes\n\n“Il faut être mou du critère”, PB 2025"
|
||||
},
|
||||
{
|
||||
"objectID": "biblio.html",
|
||||
"href": "biblio.html",
|
||||
"title": "Bibliography",
|
||||
"section": "",
|
||||
"text": "Français"
|
||||
},
|
||||
{
|
||||
"objectID": "interests.html",
|
||||
"href": "interests.html",
|
||||
|
|
@ -32,7 +53,7 @@
|
|||
"href": "posts/ci-gitlab-latex.html#the-compilation-phase-build_tex",
|
||||
"title": "Faire une CI LaTeX avec GitLab",
|
||||
"section": "The compilation phase build_tex",
|
||||
"text": "The compilation phase build_tex\nLet’s detail the build_tex step:\n\nbuild_tex:\n stage: build\n image: registry.gitlab.com/islandoftex/images/texlive:latest\n script:\n - |\n for FILE_NAME in $FILE_NAMES\n do\n echo \"Compiling ${FILE_NAME}\"\n pdflatex --shell-escape ${FILE_NAME}.tex\n if test -f ${FILE_NAME}.bcf; then\n echo \"Found ${FILE_NAME}.bcf, running biber\"\n biber ${FILE_NAME}\n fi\n pdflatex --shell-escape ${FILE_NAME}.tex\n done\n after_script:\n - |\n for FILE_NAME in $FILE_NAMES\n do\n echo \"============================================\"\n cat ${FILE_NAME}.log\n echo \"============================================\"\n done\n\n artifacts:\n paths:\n - \"*.pdf\"\n\nFirst, we declare stage: build to qualify the step we’re performing here. There are 3 possible stages: build, test, deploy (GitLab documentation). Here we choose build since this is the compilation of our project.\nNext, we load a docker image that contains the texlive tools.\nFinally, the script directive defines in bash the sequence of steps we perform to compile the project.\n\n\n\n\n\n\nConditional execution of biber\n\n\n\nNote that we haven’t included extensions in FILE_NAMES so that we can detect here the bcf files characteristic of the bibliography.\n\n\nFinally, we use the after_script directive to display the compilation log files in the CI logs.\nLastly, artifacts specifies that the artifacts we want to keep from the CI are all PDFs at the root of the repository"
|
||||
"text": "The compilation phase build_tex\nLet’s detail the build_tex step:\n\nbuild_tex:\n stage: build\n image: danteev/texlive:latest # texlive plus inkscape and others\n script:\n - |\n for FILE_NAME in $FILE_NAMES\n do\n echo \"Compiling ${FILE_NAME}\"\n pdflatex --shell-escape ${FILE_NAME}.tex\n if test -f ${FILE_NAME}.bcf; then\n echo \"Found ${FILE_NAME}.bcf, running biber\"\n biber ${FILE_NAME}\n fi\n pdflatex --shell-escape ${FILE_NAME}.tex\n done\n after_script:\n - |\n for FILE_NAME in $FILE_NAMES\n do\n echo \"============================================\"\n cat ${FILE_NAME}.log\n echo \"============================================\"\n done\n\n artifacts:\n paths:\n - \"*.pdf\"\n\nFirst, we declare stage: build to qualify the step we’re performing here. There are 3 possible stages: build, test, deploy (GitLab documentation). Here we choose build since this is the compilation of our project.\nNext, we load a docker image that contains the texlive tools.\nFinally, the script directive defines in bash the sequence of steps we perform to compile the project.\n\n\n\n\n\n\nConditional execution of biber\n\n\n\nNote that we haven’t included extensions in FILE_NAMES so that we can detect here the bcf files characteristic of the bibliography.\n\n\nFinally, we use the after_script directive to display the compilation log files in the CI logs.\nLastly, artifacts specifies that the artifacts we want to keep from the CI are all PDFs at the root of the repository"
|
||||
},
|
||||
{
|
||||
"objectID": "posts/ci-gitlab-latex.html#the-deployment-phase-deploy",
|
||||
|
|
@ -41,20 +62,6 @@
|
|||
"section": "The deployment phase deploy",
|
||||
"text": "The deployment phase deploy\n\ndeploy:\n stage: deploy\n image:\n name: alpine/git:${GIT_VERSION}\n entrypoint: [\"\"]\n\n before_script:\n # Clone le repo dans un dossier temporaire\n - git clone \"https://${GITLAB_USERNAME}:${GITLAB_TOKEN}@${CI_SERVER_HOST}/${CI_PROJECT_PATH}.git\" \"${CI_COMMIT_SHA}\"\n\n # Configure l’identité git\n - git config --global user.email \"${GIT_USER_EMAIL:-$GITLAB_USER_EMAIL}\"\n - git config --global user.name \"${GIT_USER_NAME:-$GITLAB_USER_NAME}\"\n\n script:\n # Déplace les PDFs compilés dans le repo cloné\n - mv *.pdf \"${CI_COMMIT_SHA}/\"\n - cd \"${CI_COMMIT_SHA}\"\n\n # Crée une branche orpheline (vierge, sans historique ni fichiers)\n - git checkout --orphan \"${PDF_BRANCH}\"\n - git reset --hard\n\n # Ajoute uniquement les PDF\n - git add -f *.pdf\n\n # Vérifie s’il y a des changements et push\n - |\n CHANGES=$(git status --porcelain | wc -l)\n if [ \"$CHANGES\" -gt \"0\" ]; then\n git commit -m \"${COMMIT_MESSAGE:-Updating PDF files}\"\n git push --force origin \"${PDF_BRANCH}\" -o ci.skip\n else\n echo \"No PDF changes to commit\"\n fi\n\nFinally, we deploy our PDFs. For this, we load a lightweight Alpine Linux image with the Git version selected in the variables.\nWith the before_script directive, we clone the repository.\n\n\n\n\n\n\nTo create the GitLab token\n\n\n\nNote in the git clone that we use a GITLAB_TOKEN variable, which must be created beforehand and declared in the repository.\nTo do this:\n\nGo to your repository settings.\n\n\n\n\nIn the left menus, expand “Settings” and go to “Access tokens”\n\n\n\nHere add a new token.\n\n\n\n\nClick on “Add new token”\n\n\n\nConfigure the read_repository and write_repository permissions to be able to clone and push our files. Then click on “Create project access token”.\n\n\n\nYour token is now displayed, copy it as it will not be displayed again.\nNow go to CI/CD settings.\n\n\n\nNow create the variable by clicking on “Add variable”, name it GITLAB_TOKEN, in “value” add the copied token.\n\n\n\nThe rest of the script moves the PDFs to the cloned repository, creates the publication branch and adds the pdfs.\nYou should now have a CI for compiling and publishing PDFs! Now you can reference your PDFs in your README.md by entering a link like:\nhttps://mygitlab.com/myusername/myrepo/-/raw/mypdf.pdf\nwhich allows you to display the compilation output directly in the browser. 😄"
|
||||
},
|
||||
{
|
||||
"objectID": "index.html",
|
||||
"href": "index.html",
|
||||
"title": "Louis Lacoste",
|
||||
"section": "",
|
||||
"text": "Français I’m a PhD student in Applied Mathematics at MIA Paris-Saclay under supervision of Pierre Barbillon and Sophie Donnet.\nWill update later"
|
||||
},
|
||||
{
|
||||
"objectID": "teaching.html",
|
||||
"href": "teaching.html",
|
||||
"title": "Teaching",
|
||||
"section": "",
|
||||
"text": "Français \n\n2025-2026\n\nTeaching assistant in Statistics (33 hours) for first-year students at AgroParisTech.\n\n\n\n2024-2025\n\nTeaching assistant in Statistics (33 hours) for first-year students at AgroParisTech.\nTeaching assistant in “Data Science: Statistical Learning” (16.5 hours) for second-year students at AgroParisTech\nTeaching assistant in “Computer science: programming and database” (6 hours) for first-year students at AgroParisTech"
|
||||
},
|
||||
{
|
||||
"objectID": "posts.html",
|
||||
"href": "posts.html",
|
||||
|
|
@ -63,10 +70,10 @@
|
|||
"text": "Français \n\n\n\n\n\n\n\n\n\nFaire une CI LaTeX avec GitLab\n\n\n\nci\n\n\nintégration continue\n\n\ngit\n\n\nGitLab\n\n\nLaTeX\n\n\nfrench\n\n\nfrançais\n\n\n\n\n\n\n\nLouis Lacoste\n\n\nSep 23, 2025\n\n\n\n\n\n\n\n\nNo matching items"
|
||||
},
|
||||
{
|
||||
"objectID": "biblio.html",
|
||||
"href": "biblio.html",
|
||||
"title": "Bibliography",
|
||||
"objectID": "teaching.html",
|
||||
"href": "teaching.html",
|
||||
"title": "Teaching",
|
||||
"section": "",
|
||||
"text": "Français"
|
||||
"text": "Français \n\n2025-2026\n\nTeaching assistant in Statistics (33 hours) for first-year students at AgroParisTech.\n\n\n\n2024-2025\n\nTeaching assistant in Statistics (33 hours) for first-year students at AgroParisTech.\nTeaching assistant in “Data Science: Statistical Learning” (16.5 hours) for second-year students at AgroParisTech\nTeaching assistant in “Computer science: programming and database” (6 hours) for first-year students at AgroParisTech"
|
||||
}
|
||||
]
|
||||
File diff suppressed because one or more lines are too long
2
site_libs/quarto-listing/list.min.js
vendored
2
site_libs/quarto-listing/list.min.js
vendored
File diff suppressed because one or more lines are too long
|
|
@ -2,7 +2,6 @@ const kProgressiveAttr = "data-src";
|
|||
let categoriesLoaded = false;
|
||||
|
||||
window.quartoListingCategory = (category) => {
|
||||
category = atob(category);
|
||||
if (categoriesLoaded) {
|
||||
activateCategory(category);
|
||||
setCategoryHash(category);
|
||||
|
|
@ -16,9 +15,7 @@ window["quarto-listing-loaded"] = () => {
|
|||
if (hash) {
|
||||
// If there is a category, switch to that
|
||||
if (hash.category) {
|
||||
// category hash are URI encoded so we need to decode it before processing
|
||||
// so that we can match it with the category element processed in JS
|
||||
activateCategory(decodeURIComponent(hash.category));
|
||||
activateCategory(hash.category);
|
||||
}
|
||||
// Paginate a specific listing
|
||||
const listingIds = Object.keys(window["quarto-listings"]);
|
||||
|
|
@ -61,10 +58,7 @@ window.document.addEventListener("DOMContentLoaded", function (_event) {
|
|||
);
|
||||
|
||||
for (const categoryEl of categoryEls) {
|
||||
// category needs to support non ASCII characters
|
||||
const category = decodeURIComponent(
|
||||
atob(categoryEl.getAttribute("data-category"))
|
||||
);
|
||||
const category = categoryEl.getAttribute("data-category");
|
||||
categoryEl.onclick = () => {
|
||||
activateCategory(category);
|
||||
setCategoryHash(category);
|
||||
|
|
@ -214,9 +208,7 @@ function activateCategory(category) {
|
|||
|
||||
// Activate this category
|
||||
const categoryEl = window.document.querySelector(
|
||||
`.quarto-listing-category .category[data-category='${btoa(
|
||||
encodeURIComponent(category)
|
||||
)}']`
|
||||
`.quarto-listing-category .category[data-category='${category}'`
|
||||
);
|
||||
if (categoryEl) {
|
||||
categoryEl.classList.add("active");
|
||||
|
|
@ -239,9 +231,7 @@ function filterListingCategory(category) {
|
|||
list.filter(function (item) {
|
||||
const itemValues = item.values();
|
||||
if (itemValues.categories !== null) {
|
||||
const categories = decodeURIComponent(
|
||||
atob(itemValues.categories)
|
||||
).split(",");
|
||||
const categories = itemValues.categories.split(",");
|
||||
return categories.includes(category);
|
||||
} else {
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ ul.task-list li input[type="checkbox"] {
|
|||
<link href="site_libs/quarto-html/quarto-syntax-highlighting-e26003cea8cd680ca0c55a263523d882.css" rel="stylesheet" id="quarto-text-highlighting-styles">
|
||||
<script src="site_libs/bootstrap/bootstrap.min.js"></script>
|
||||
<link href="site_libs/bootstrap/bootstrap-icons.css" rel="stylesheet">
|
||||
<link href="site_libs/bootstrap/bootstrap-83d240b7c0fe9db23ebe4161e81bc91c.min.css" rel="stylesheet" append-hash="true" id="quarto-bootstrap" data-mode="light">
|
||||
<link href="site_libs/bootstrap/bootstrap-86ddb94b6c65cfb424b1f9464cc27ff8.min.css" rel="stylesheet" append-hash="true" id="quarto-bootstrap" data-mode="light">
|
||||
<script id="quarto-search-options" type="application/json">{
|
||||
"location": "navbar",
|
||||
"copy-button": false,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue