Skip to content
Snippets Groups Projects
Commit c112e1ec authored by Alexandre Caldato's avatar Alexandre Caldato
Browse files

ajout du checkbox_replacer.js

parent 9ce1d18a
No related branches found
No related tags found
No related merge requests found
...@@ -22,16 +22,6 @@ configuration file. Start by reading the [introductory tutorial], then check the ...@@ -22,16 +22,6 @@ configuration file. Start by reading the [introductory tutorial], then check the
--- ---
~~Strikethrough text~~
---
- <input type="checkbox"> Task 1
- <input type="checkbox"> Task 2
- <input type="checkbox" checked> Task 3
---
1. [Section 1](#section-1) 1. [Section 1](#section-1)
2. [Section 2](#section-2) 2. [Section 2](#section-2)
......
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
<!-- 32×32 --> <!-- 32×32 -->
<link rel="manifest" href="{{ 'favicon/manifest.webmanifest'|url }}" crossorigin="use-credentials"> <link rel="manifest" href="{{ 'favicon/manifest.webmanifest'|url }}" crossorigin="use-credentials">
<script src="{{ 'js/strikethrough_replacer.js'|url }}" defer></script> <script src="{{ 'js/strikethrough_replacer.js'|url }}" defer></script>
<script src="{{ 'js/checkbox_replacer.js'|url }}" defer></script>
<!-- Modifier les chemins relatifs des favicons en fonction de la structure du projet --> <!-- Modifier les chemins relatifs des favicons en fonction de la structure du projet -->
<!-- Dans le fichier manifest.webmanifest aussi, modifier les chemins vers les images --> <!-- Dans le fichier manifest.webmanifest aussi, modifier les chemins vers les images -->
{# {% for path in config.extra_css %} {# {% for path in config.extra_css %}
......
document.addEventListener("DOMContentLoaded", function () {
// Sélectionner tous les éléments avec la classe 'markdown-content'
const markdownElements = document.querySelectorAll(".markdown-content");
// Parcourir chaque élément ayant la classe 'markdown-content'
markdownElements.forEach((element) => {
// Obtenir tous les éléments de liste dans chaque élément 'markdown-content'
const listItems = element.querySelectorAll("li");
// Parcourir chaque élément de la liste
listItems.forEach((listItem) => {
let innerHTML = listItem.innerHTML;
// Remplacer [x] par une case à cocher cochée en HTML ou [ ] par une case non cochée
if (innerHTML.includes("[x]") || innerHTML.includes("[ ]")) {
// Supprimer les balises <p> enveloppantes si elles existent
innerHTML = innerHTML.replace(/<p>(.*?)<\/p>/g, "$1").trim();
// Appliquer des styles en ligne pour supprimer le style de liste
listItem.style.listStyleType = "none";
// Si la tâche est cochée ([x])
if (innerHTML.includes("[x]")) {
const taskDescription = innerHTML.replace("[x]", "").trim();
listItem.innerHTML = `
<div class="fr-checkbox-group">
<input id="checkbox-${taskDescription}" type="checkbox" checked>
<label class="fr-label" for="checkbox-${taskDescription}">
${taskDescription}
</label>
</div>`;
}
// Si la tâche n'est pas cochée ([ ])
else if (innerHTML.includes("[ ]")) {
const taskDescription = innerHTML.replace("[ ]", "").trim();
listItem.innerHTML = `
<div class="fr-checkbox-group">
<input id="checkbox-${taskDescription}" type="checkbox">
<label class="fr-label" for="checkbox-${taskDescription}">
${taskDescription}
</label>
</div>`;
}
}
});
});
});
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment