From 4a955582378b3736b80d72bcb08e94eb62db40e6 Mon Sep 17 00:00:00 2001 From: Julie Blanc Date: Tue, 20 Jan 2026 21:30:25 +0100 Subject: [PATCH] counters js --- css/modules/_titles-counters.scss | 96 +++++++++++++++++-------------- css/style.css | 46 ++------------- css/style.css.map | 2 +- csspageweaver/manifest.json | 1 + js/counters.js | 94 ++++++++++++++++++++++++++++++ 5 files changed, 154 insertions(+), 85 deletions(-) create mode 100644 js/counters.js diff --git a/css/modules/_titles-counters.scss b/css/modules/_titles-counters.scss index 023324b..8442ccd 100644 --- a/css/modules/_titles-counters.scss +++ b/css/modules/_titles-counters.scss @@ -1,58 +1,70 @@ #section__content{ - counter-reset: h1; - - h1{ - counter-increment: h1 1; - counter-reset: h2; + h1, h2, h3 { + &::before{ + content: attr(data-counter); + } } - h1::before{ - content: counter(h1, upper-alpha); - + h4, h5, h6{ + &::before{ + content: attr(data-counter) ". "; + } } - h2{ - counter-increment: h2 1; - counter-reset: h3; - } + // counter-reset: h1; - h2::before{ - content: counter(h2, upper-roman); - } + // h1{ + // counter-increment: h1 1; + // counter-reset: h2; + // } - h3{ - counter-increment: h3 1; - counter-reset: h4; - } + // h1::before{ + // content: counter(h1, upper-alpha); - h3::before{ - content: counter(h3); - } + // } - h4{ - counter-increment: h4 1; - counter-reset: h5; - } + // h2{ + // counter-increment: h2 1; + // counter-reset: h3; + // } - h4::before{ - content: counter(h4, lower-alpha) ". "; - } + // h2::before{ + // content: counter(h2, upper-roman); + // } - h5{ - counter-increment: h5 1; - counter-reset: h6; - } + // h3{ + // counter-increment: h3 1; + // counter-reset: h4; + // } - h5::before{ - content: counter(h5, lower-alpha) counter(h5, lower-alpha) ". "; - } + // h3::before{ + // content: counter(h3); + // } - h6{ - counter-increment: h6 1; - } + // h4{ + // counter-increment: h4 1; + // counter-reset: h5; + // } - h6::before{ - content: "(" counter(h6) "). "; - } + // h4::before{ + // content: counter(h4, lower-alpha) ". "; + // } + + // h5{ + // counter-increment: h5 1; + // counter-reset: h6; + // } + + // h5::before{ + // content: counter(h5, lower-alpha) counter(h5, lower-alpha) ". "; + // } + + // h6{ + // counter-increment: h6 1; + // } + + // h6::before{ + // content: "(" counter(h6) "). "; + // } } \ No newline at end of file diff --git a/css/style.css b/css/style.css index a3f480c..983afd3 100644 --- a/css/style.css +++ b/css/style.css @@ -288,49 +288,11 @@ ol[type="1"]{ } */ -#section__content { - counter-reset: h1; +#section__content h1::before, #section__content h2::before, #section__content h3::before { + content: attr(data-counter); } -#section__content h1 { - counter-increment: h1 1; - counter-reset: h2; -} -#section__content h1::before { - content: counter(h1, upper-alpha); -} -#section__content h2 { - counter-increment: h2 1; - counter-reset: h3; -} -#section__content h2::before { - content: counter(h2, upper-roman); -} -#section__content h3 { - counter-increment: h3 1; - counter-reset: h4; -} -#section__content h3::before { - content: counter(h3); -} -#section__content h4 { - counter-increment: h4 1; - counter-reset: h5; -} -#section__content h4::before { - content: counter(h4, lower-alpha) ". "; -} -#section__content h5 { - counter-increment: h5 1; - counter-reset: h6; -} -#section__content h5::before { - content: counter(h5, lower-alpha) counter(h5, lower-alpha) ". "; -} -#section__content h6 { - counter-increment: h6 1; -} -#section__content h6::before { - content: "(" counter(h6) "). "; +#section__content h4::before, #section__content h5::before, #section__content h6::before { + content: attr(data-counter) ". "; } #section__content h1, #section__content h2, #section__content h3, #section__content h4 { diff --git a/css/style.css.map b/css/style.css.map index 30ecfe9..489dbe9 100644 --- a/css/style.css.map +++ b/css/style.css.map @@ -1 +1 @@ -{"version":3,"sources":["style.css","modules/_var.scss","modules/_init.scss","modules/_layout.scss","modules/_text.scss","modules/_titles-counters.scss","modules/_titles.scss","modules/_footnotes.scss","modules/_list-of-abbr.scss"],"names":[],"mappings":"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","file":"style.css"} \ No newline at end of file +{"version":3,"sources":["style.css","modules/_var.scss","modules/_init.scss","modules/_layout.scss","modules/_text.scss","modules/_titles-counters.scss","modules/_titles.scss","modules/_footnotes.scss","modules/_list-of-abbr.scss"],"names":[],"mappings":"AAAA,gBAAgB;ACAhB;EACI,2BAAA;EACA,0CAAA;EACA,yCAAA;EACA,iBAAA;EACA,iBAAA;EACA,cAAA;EACA,gBAAA;EAEA,cAAA;ADCJ;;AEVA;EACI,SAAA;EACA,UAAA;EACA,sBAAA;AFaJ;;AEXA;EACI,mBAAA;AFcJ;;AEXA;EACI,mCAAA,EAAA,wBAAA;EACA,kCAAA,EAAA,kBAAA;EAEA,kCAAA,EAAA,6CAAA;EACA,+BAAA,EAAA,mDAAA;EAEA,wBAAA;EACA,2BAAA;EACA,4BAAA;AFYJ;;AG9BA;EACI;IACI,iBAAA;IAEA,gBAAA;IACA,mBAAA;IAEA,UAAA;IACA,WAAA;EH+BN;EG7BE;IACI,iBAAA;IACA,kBAAA;IACA;MACI,sBAAA;MACA,8BAAA;MACA,gBAAA;MACA,wBAAA;IH+BR;EACF;EGxBE;IACI,iBAAA;IACA,kBAAA;IACA;MACI,sBAAA;MACA,8BAAA;MACA,gBAAA;MACC,wBAAA;IH0BT;IGxBI;MACI,+BAAA;MACA,8BAAA;MACA,mBAAA;MAEA,0BAAA;MACA,iCAAA;MACA,oBAAA;MACA,WAAA;MACA,wBAAA;MACA,gBAAA;MACA,kBAAA;MACA,UAAA;MACA,iBAAA;IHyBR;EACF;EGtBE;IACI;MAAmB,aAAA;IHyBvB;IGxBI;MAAY,aAAA;IH2BhB;IG1BI;MAAc,aAAA;IH6BlB;IG5BI;MAAa,aAAA;IH+BjB;IG9BI;MAAoB,aAAA;IHiCxB;IGhCI;MAAY,aAAA;IHmChB;IGlCI;MAAe,aAAA;IHqCnB;IGpCI;MAAe,aAAA;IHuCnB;IGtCI;MAAa,aAAA;IHyCjB;IGxCI;MAAgB,aAAA;IH2CpB;IG1CI;MAAgB,aAAA;IH6CpB;IG5CI;MAAsB,aAAA;IH+C1B;IG9CI;MAAe,aAAA;IHiDnB;IGhDI;MAAiB,aAAA;IHmDrB;IGlDI;MAAgB,aAAA;IHqDpB;IGpDI;MAAuB,aAAA;IHuD3B;EACF;EGtDE;IACI;MAAmB,aAAA;IHyDvB;IGxDI;MAAY,aAAA;IH2DhB;IG1DI;MAAc,aAAA;IH6DlB;IG5DI;MAAa,aAAA;IH+DjB;IG9DI;MAAoB,aAAA;IHiExB;IGhEI;MAAY,aAAA;IHmEhB;IGlEI;MAAe,aAAA;IHqEnB;IGpEI;MAAe,aAAA;IHuEnB;IGtEI;MAAa,aAAA;IHyEjB;IGxEI;MAAgB,aAAA;IH2EpB;IG1EI;MAAgB,aAAA;IH6EpB;IG5EI;MAAsB,aAAA;IH+E1B;IG9EI;MAAe,aAAA;IHiFnB;IGhFI;MAAiB,aAAA;IHmFrB;IGlFI;MAAgB,aAAA;IHqFpB;IGpFI;MAAuB,aAAA;IHuF3B;EACF;AACF;AGpFA;EACI,+BAAA;OAAA,mBAAA;AHsFJ;;AIjLA;EACI,cAAA;AJoLJ;;AIjLA;EACI,YAAA;EACA,uBAAA;AJoLJ;;AIjLA;EACI,mBAAA;EACA,qBAAA;AJoLJ;;AIjLA;EACI,mBAAA;EACA,UAAA;EACA,SAAA;AJoLJ;;AIjLA;EACI,qBAAA;UAAA,aAAA;EACA,4BAAA;EACA,wBAAA;EACA,wBAAA;EACA,sBAAA;AJoLJ;;AI9KA;;EAEI,sCAAA;AJiLJ;;AI5KA;EAEI,qCAAA;EACA,0BAAA;EAEA,uCAAA;EACA,0CAAA;AJ6KJ;;AIxKA;;EAEI,gBAAA;AJ2KJ;;AItKA;EACI,8BAAA;EACA,wCAAA;AJyKJ;;AIrKA;EACI,qBAAA;EACA,kBAAA;EACA,8BAAA;OAAA,kBAAA;EAEA,kBAAA;EACA,wCAAA;AJuKJ;AIrKI;EACI,oBAAA;EAGA,iBAAA;EACA,WAAA;EAEA,cAAA;EACE,uBAAA;EAEF,kBAAA;EACA,+BAAA;AJmKR;;AIvJA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAA;AC1FQ;EACI,2BAAA;AL6RZ;AKxRQ;EACI,gCAAA;AL0RZ;;AMhSI;EACI,+BAAA;OAAA,mBAAA;EACA,8BAAA;OAAA,kBAAA;EACA,kBAAA;EAEA,kCAAA;EACA,yCAAA;ANkSR;AMjSQ;EACI,WAAA;EACA,cAAA;EACA,iCAAA;ANmSZ;AM/RK;EACG,+BAAA;OAAA,mBAAA;EACA,8BAAA;OAAA,kBAAA;EACA,kBAAA;EAEA,kCAAA;EACA,yCAAA;ANgSR;AM/RQ;EACI,WAAA;EACA,cAAA;EACA,iCAAA;ANiSZ;AM3RI;;;;;;EAMI,cAAA;AN6RR;AMpRI;EACI,8BAAA;EACA,iBAAA;EACA,gBAAA;EACA,yBAAA;EACA,wCAAA;EACA,kBAAA;EACA,2CAAA;EACA,yCAAA;EACA,kBAAA;ANsRR;AMrRQ;EACG,cAAA;EACC,wBAAA;EACA,2BAAA;ANuRZ;AMjRI;EACI,8BAAA;EACA,gBAAA;EACA,eAAA;EACA,sCAAA;EAGA,sCAAA;EACA,kBAAA;EACA,2CAAA;EACA,4CAAA;ANiRR;AMhRQ;EACI,cAAA;EACA,wBAAA;EACA,2BAAA;ANkRZ;AM5QI;EACI,8BAAA;EACA,gBAAA;EACA,iBAAA;EACA,sCAAA;EACA,qCAAA;EACA,sCAAA;EACA,kBAAA;EACA,2CAAA;EACA,4CAAA;EACA,8CAAA;UAAA,sCAAA;EACA,0BAAA;AN8QR;AM1QK;EACG,8BAAA;EACA,gBAAA;EACA,iBAAA;EACA,sCAAA;EACA,qCAAA;EAEA,kBAAA;EACA,2CAAA;EACA,4CAAA;AN2QR;AMxQI;EACO,8BAAA;EACH,gBAAA;EACK,iBAAA;EACJ,uCAAA;EACA,4CAAA;EACA,WAAA;AN0QT;;AMlQA;EACQ,aAAA;ANqQR;;AMlQG;EACK,8BAAA;EACA,iBAAA;EACA,gBAAA;EACA,yBAAA;EACA,wCAAA;EACA,kBAAA;EACA,kBAAA;EACA,2CAAA;EACA,yCAAA;EACA,iBAAA;EACA,kBAAA;ANqQR;AMpQQ;EACI,cAAA;EACC,wBAAA;ANsQb;;AMlQI;EACI,0BAAA;ANqQR;;AOpXA;EACE,8BAAA;EACA,cAAA;EACA,0BAAA;EACA,gBAAA;APuXF;;AOnXA;EACE,+BAAA;OAAA,mBAAA;APsXF;AOpXG;EACK,8BAAA;EACA,iBAAA;EACA,gBAAA;EACA,wCAAA;EACA,qCAAA;EACA,yCAAA;EACA,kBAAA;EACA,iBAAA;EACA,kBAAA;EACA,kBAAA;APsXR;AOrXQ;EACG,oCAAA;APuXX;AOnXI;EACE,0BAAA;APqXN;AO7WI;EACE,aAAA;AP+WN;;AOxWA;EACE,aAAA;AP2WF;;AQjcA;EACI,aAAA;EACA,UAAA;ARocJ","file":"style.css"} \ No newline at end of file diff --git a/csspageweaver/manifest.json b/csspageweaver/manifest.json index e5a0aed..7f59ca6 100644 --- a/csspageweaver/manifest.json +++ b/csspageweaver/manifest.json @@ -11,6 +11,7 @@ } }, "hook": [ + "/js/counters.js", "/js/sectionedFootnotes.js" ] } diff --git a/js/counters.js b/js/counters.js new file mode 100644 index 0000000..967125e --- /dev/null +++ b/js/counters.js @@ -0,0 +1,94 @@ +import { Handler } from '/csspageweaver/lib/paged.esm.js'; + +export default class counters extends Handler { + constructor(chunker, polisher, caller) { + super(chunker, polisher, caller); + } + + // Convertir en upper-alpha (A, B, C...) + toUpperAlpha(num) { + return String.fromCharCode(64 + num); + } + + // Convertir en lower-alpha (a, b, c...) + toLowerAlpha(num) { + return String.fromCharCode(96 + num); + } + + // Convertir en upper-roman (I, II, III...) + toUpperRoman(num) { + const romanNumerals = [ + ['M', 1000], ['CM', 900], ['D', 500], ['CD', 400], + ['C', 100], ['XC', 90], ['L', 50], ['XL', 40], + ['X', 10], ['IX', 9], ['V', 5], ['IV', 4], ['I', 1] + ]; + let result = ''; + for (const [letter, value] of romanNumerals) { + while (num >= value) { + result += letter; + num -= value; + } + } + return result; + } + + beforeParsed(content) { + const sectionContent = content.querySelector('#section__content'); + if (!sectionContent) return; + + // Compteurs + let h1Count = 0; + let h2Count = 0; + let h3Count = 0; + let h4Count = 0; + let h5Count = 0; + let h6Count = 0; + + // Parcourir tous les éléments dans l'ordre du document + const allElements = sectionContent.querySelectorAll('h1, h2, h3, h4, h5, h6'); + + allElements.forEach(el => { + const tagName = el.tagName.toLowerCase(); + + switch (tagName) { + case 'h1': + h1Count++; + h2Count = 0; // reset h2 + el.setAttribute('data-counter', this.toUpperAlpha(h1Count)); + break; + + case 'h2': + h2Count++; + h3Count = 0; // reset h3 + el.setAttribute('data-counter', this.toUpperRoman(h2Count)); + break; + + case 'h3': + h3Count++; + h4Count = 0; // reset h4 + el.setAttribute('data-counter', h3Count.toString()); + break; + + case 'h4': + h4Count++; + h5Count = 0; // reset h5 + el.setAttribute('data-counter', this.toLowerAlpha(h4Count)); + break; + + case 'h5': + h5Count++; + h6Count = 0; // reset h6 + const letter = this.toLowerAlpha(h5Count); + el.setAttribute('data-counter', letter + letter); + break; + + case 'h6': + h6Count++; + el.setAttribute('data-counter', '(' + h6Count + ')'); + break; + } + }); + } +} + +