123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- // transformer les balises [...] en <div class="..."> si ça correspond aux classes prédéfinies
- let baliseWords = [
- 'labeur',
- 'free',
- 'temps',
- 'moment',
- 'pilote',
- 'free_left',
- 'citation',
- 'latour',
- 'latour_nohead',
- 'lampe',
- 'lampe_nohead',
- 'bibliographie',
- 'imgsmall',
- 'imgsmall_bottom',
- 'fullpage2imgs',
- 'fullpageimage',
- 'tripleimgs',
- 'tripleimgs_bottom',
- 'tripleimgs2',
- 'tripleimgs2_bottom',
- 'bottomimg',
- 'imgfullspreadleft',
- 'imgfullspreadright',
- 'imgfullspreadright_bleedtop',
- 'imgfullspreadright_bleed',
- 'breakbefore',
- 'breakafter',
- `doublepage_bigright`,
- `doublepage_bigleft`
- ];
- var bodyContent = $('#body').html();
- bodyContent = bodyContent.replace(/\[([^\/\]]+)\]/g, function(match, word) {
- if (baliseWords.includes(word)) {
- return '<div class="' + word + '">';
- } else {
- return match;
- }
- }).replace(/\[\/([^\]]+)\]/g, function(match, word) {
- if (baliseWords.includes(word)) {
- return '</div>';
- } else {
- return match;
- }
- });
- $('#body').empty().append(bodyContent);
- // 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 contentToParse = [];
- let labeurs = document.querySelectorAll('.labeur');
- for(let labeur of labeurs) {
- contentToParse.push(labeur);
- }
- // créer header icons pour encarts
- let encarts = document.querySelectorAll('.latour, .latour_nohead, .lampe, .lampe_nohead');
- for(let encart of encarts) {
- contentToParse.push(encart);
- let headContent = encart.firstChild
- let headerEl = document.createElement('div');
- headerEl.setAttribute('class', 'encart-header')
- let iconImg = document.createElement('img');
- if (encart.classList.contains('latour') || encart.classList.contains('latour_nohead')) {
- iconImg.setAttribute('src', '/user/themes/carnet-atterrissage/assets/map.png');
- } else if (encart.classList.contains('lampe') || encart.classList.contains('lampe_nohead')) {
- iconImg.setAttribute('src', '/user/themes/carnet-atterrissage/assets/lampe.png');
- }
- if (encart.classList.contains('latour_nohead') || encart.classList.contains('lampe_nohead')) {
- headerEl.style.flexDirection = 'column';
- headerEl.style.alignItems = 'flex-start';
- headerEl.style.fontWeight = 'normal';
- iconImg.style.marginBottom = '2mm';
- encart.style.paddingTop = '5mm';
- encart.style.paddingBottom = '5mm';
- iconImg.style.margin = '0';
- iconImg.style.marginBottom = '2.5mm';
- }
- headerEl.append(iconImg);
- headerEl.append(headContent);
- encart.firstChild?.remove();
- encart.prepend(headerEl);
- if (encart.querySelector('.encart-header').nextElementSibling == null) {
- encart.querySelector('.encart-header').style.marginBottom = '0';
- }
- }
- for(let i = 0; i < contentToParse.length; i++) {
- if (contentToParse[i].childNodes.length == 1) {
- contentToParse[i].innerHTML = '<p>' + contentToParse[i].innerHTML + '</p>';
- } else {
- contentToParse[i].innerHTML = "<p>" + contentToParse[i].innerHTML.replace("<p>", "");
- }
-
- // micro-typo
- for(j = 0; j < contentToParse[i].childNodes.length; j++) {
- let contentHTML = contentToParse[i].childNodes[j].innerHTML;
- if (contentHTML != undefined) {
- contentToParse[i].childNodes[j].innerHTML = contentToParse[i].childNodes[j].innerHTML.replaceAll(' :', ' :');
- contentToParse[i].childNodes[j].innerHTML = contentToParse[i].childNodes[j].innerHTML.replaceAll(' ?', ' ?');
- contentToParse[i].childNodes[j].innerHTML = contentToParse[i].childNodes[j].innerHTML.replaceAll(' !', ' !');
- contentToParse[i].childNodes[j].innerHTML = contentToParse[i].childNodes[j].innerHTML.replaceAll('« ', '« ');
- contentToParse[i].childNodes[j].innerHTML = contentToParse[i].childNodes[j].innerHTML.replaceAll(' »', ' »');
- contentToParse[i].childNodes[j].innerHTML = contentToParse[i].childNodes[j].innerHTML.replaceAll('“', '« ');
- contentToParse[i].childNodes[j].innerHTML = contentToParse[i].childNodes[j].innerHTML.replaceAll('”', ' »');
- contentToParse[i].childNodes[j].innerHTML = contentToParse[i].childNodes[j].innerHTML.replaceAll(' min', ' min');
- }
- }
- // data align last split
- if (contentToParse[i].innerHTML.includes('<br>')) {
- if (contentToParse[i].childElementCount > 0) {
- for (let j = 0; j < contentToParse[i].childElementCount; j++) {
- let parts = contentToParse[i].children[j].innerHTML.split('<br>');
- let newParts = parts.map(function(part) {
- return '<p>' + part + '</p>';
- });
- contentToParse[i].children[j].innerHTML = newParts.join('');
- }
- } else {
- let parts = contentToParse[i].innerHTML.split('<br>');
- let newParts = parts.map(function(part) {
- return '<p>' + part + '</p>';
- });
- contentToParse[i].innerHTML = newParts.join('');
- }
- }
- }
- // PAGES TITRES
- let h3s = document.querySelectorAll('h3');
- for (let h3 of h3s) {
- if (/^\d/.test(h3.innerText)) {
- h3.innerHTML = h3.innerHTML.replace(/[^\s]*/, function(match) {
- return `<div class="gros-chiffre">${match}</div>`;
- });
- }
- }
- let dessinsPreH3 = document.querySelectorAll('h3 + p img');
- for (let dessin of dessinsPreH3) {
- dessin.style.width = '0px';
- dessin.style.height = '0px';
- }
|