system de templating des paragraphes

This commit is contained in:
Valentin
2023-06-09 13:55:00 +02:00
parent e779bf413c
commit 587e900bf1
5 changed files with 29 additions and 20 deletions
+16 -4
View File
@@ -1,7 +1,19 @@
title: Grav
default_lang: fr
author:
name: Joe Bloggs
email: 'joe@example.com'
name: 'Joe Bloggs'
email: joe@example.com
taxonomies:
- category
- tag
metadata:
description: 'Grav is an easy to use, yet powerful, open source flat-file CMS'
description: 'Grav is an easy to use, yet powerful, open source flat-file CMS'
summary:
enabled: true
format: short
size: 300
delimiter: '==='
redirects: null
routes: null
blog:
route: /blog
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
last_checked: 1686146617
last_checked: 1686155787
data:
feed:
-
@@ -24,6 +24,7 @@
* {
font-family: 'Public';
hyphens: auto;
}
h2 {
@@ -47,31 +47,22 @@
{{ assets.js('bottom')|raw }}
{% endblock %}
<script>
// transformer les balises [...] en <div class="...">
let content = document.getElementById('body');
content = content.innerHTML.replaceAll("[fullpage2imgs]", '<div class="fullpage2imgs">');
content = content.replaceAll("[/fullpage2imgs]", '</div>');
content = content.replaceAll("[labeur]", '<div class="labeur">');
content = content.replaceAll("[/labeur]", '</div>');
content = content.replaceAll("[moment]", '<div class="moment">');
content = content.replaceAll("[/moment]", '</div>');
content = content.replaceAll("[temps]", '<div class="temps">');
content = content.replaceAll("[/temps]", '</div>');
content = content.replaceAll("[fullpageimage]", '<div class="fullpageimage">');
content = content.replaceAll("[/fullpageimage]", '</div>');
content = content.innerHTML.replaceAll(/\[([^\/\]]+)\]/g, '<div class="$1">');
content = content.replaceAll(/\[\/([^\]]+)\]/g, '</div>');
document.getElementById("body").innerHTML = content;
// isoler les chiffres des titres
let moments = document.getElementsByClassName("moment");
for(let i = 0; i < moments.length; i++) {
moments[i].innerHTML = "<span class='first-letter'>" + moments[i].innerHTML.substring(0, moments[i].innerHTML.indexOf('—')) + "</span>" + moments[i].innerHTML.slice(moments[i].innerHTML.indexOf(' —'));
}
// cleaner le balisage des éléments contenant plusieurs paragraphes
let labeurs = document.getElementsByClassName("labeur");
for(let i = 0; i < labeurs.length; i++) {
if (labeurs[i].childNodes.length == 1) {
@@ -79,6 +70,11 @@
} else {
labeurs[i].innerHTML = "<p>" + labeurs[i].innerHTML.replace("<p>", "");
}
for(j = 0; j < labeurs[i].childNodes.length; j++) {
if (labeurs[i].childNodes[j].innerHTML != undefined) {
labeurs[i].childNodes[j].innerHTML = labeurs[i].childNodes[j].innerHTML.replaceAll(' :', '&nbsp;:');
}
}
}
</script>