diff --git a/css/modules/_layout.scss b/css/modules/_layout.scss index 2f68243..6ef1b63 100644 --- a/css/modules/_layout.scss +++ b/css/modules/_layout.scss @@ -5,6 +5,7 @@ $bottom: 18mm; $inside: 12mm; $outside: 6mm; $content-h: calc($height - $top - $bottom - 1mm); +$content-w: calc($width - $inside - $outside); $gap: 4mm; $indent: 10mm; diff --git a/css/modules/_num-paragraph.scss b/css/modules/_num-paragraph.scss new file mode 100644 index 0000000..f9eaf4a --- /dev/null +++ b/css/modules/_num-paragraph.scss @@ -0,0 +1,41 @@ +ol[type="1"]{ + list-style-type: none; + position: relative; + break-after: avoid; + width: $indent; + // background-color: #efefef; + position: absolute; + + display: flex; + align-items: center; + justify-content: center; + // outline: 1px solid red; + + + &::after{ + content: attr(start); + display: block; + position: absolute; + font-size: var(--fs-small); + opacity: 0.5; + } + + + +} + + + +ol[type="1"].ol-clone{ + break-before: column; + // outline: 1px solid green; + break-after: avoid; + top: 0; + left: calc($content-w/2 + $gap/2) +} + + +ol[type="1"].ol-clone-page{ + // outline: 1px solid yellow; +} + diff --git a/css/modules/_text.scss b/css/modules/_text.scss index d6c0c5b..a0d9e8a 100644 --- a/css/modules/_text.scss +++ b/css/modules/_text.scss @@ -22,8 +22,8 @@ p{ text-align: justify; orphans: 2; widows: 2; - margin-left: $indent*0.8; - padding-left: $indent*0.2; + margin-left: $indent; + // padding-left: $indent*0.2; } p, li{ @@ -45,11 +45,6 @@ p, li{ blockquote{ font-family: var(--font-quote); - - p{ - border-left: 1px solid #cfcfcf; - - } } // blockquote u{ @@ -72,7 +67,7 @@ ul{ .p-these{ font-weight: 500; - margin-bottom: calc(var(--baseline)*1); + margin-bottom: calc(var(--baseline)*0.5); strong{ text-transform: uppercase; display: inline-block; @@ -88,35 +83,3 @@ ul{ margin-bottom: calc(var(--baseline)*1); } - -ol[type="1"]{ - list-style-type: none; - position: relative; - break-after: avoid; - width: $indent; - background-color: #efefef; - position: absolute; - - display: flex; - align-items: center; - justify-content: center; - outline: 1px solid red; - - - &::after{ - content: attr(start); - display: block; - position: absolute; - font-size: var(--fs-small); - opacity: 0.5; - - // color: #d7d7 d7; - // position: relative; - // top: -1px; - } - - - -} - - diff --git a/css/style.css b/css/style.css index eb8c2dd..6b90697 100644 --- a/css/style.css +++ b/css/style.css @@ -287,8 +287,7 @@ p { text-align: justify; orphans: 2; widows: 2; - margin-left: 8mm; - padding-left: 2mm; + margin-left: 10mm; } p, li { @@ -302,9 +301,6 @@ p, li { blockquote { font-family: var(--font-quote); } -blockquote p { - border-left: 1px solid #cfcfcf; -} ul { color: red; @@ -312,7 +308,7 @@ ul { .p-these { font-weight: 500; - margin-bottom: calc(var(--baseline) * 1); + margin-bottom: calc(var(--baseline) * 0.5); } .p-these strong { text-transform: uppercase; @@ -333,12 +329,10 @@ ol[type="1"] { -moz-column-break-after: avoid; break-after: avoid; width: 10mm; - background-color: #efefef; position: absolute; display: flex; align-items: center; justify-content: center; - outline: 1px solid red; } ol[type="1"]::after { content: attr(start); @@ -348,6 +342,15 @@ ol[type="1"]::after { opacity: 0.5; } +ol[type="1"].ol-clone { + -moz-column-break-before: column; + break-before: column; + -moz-column-break-after: avoid; + break-after: avoid; + top: 0; + left: 81mm; +} + #section__content h1 { -moz-column-span: all; column-span: all; diff --git a/css/style.css.map b/css/style.css.map index 3bfd472..ac420d7 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.scss","modules/_list-of-abbr.scss","modules/_followingNotes.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/_num-paragraph.scss","modules/_titles.scss","modules/_list-of-abbr.scss","modules/_followingNotes.scss"],"names":[],"mappings":"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","file":"style.css"} \ No newline at end of file diff --git a/css/style.scss b/css/style.scss index e90d3a3..0e45476 100644 --- a/css/style.scss +++ b/css/style.scss @@ -3,6 +3,7 @@ @import 'modules/init'; @import 'modules/layout'; @import 'modules/text'; +@import 'modules/num-paragraph'; @import 'modules/titles'; // @import 'modules/footnotes'; @import 'modules/list-of-abbr'; diff --git a/csspageweaver/plugins/followingNotes/followingNotes.js b/csspageweaver/plugins/followingNotes/followingNotes.js index 6dd0fc4..0a9f45b 100644 --- a/csspageweaver/plugins/followingNotes/followingNotes.js +++ b/csspageweaver/plugins/followingNotes/followingNotes.js @@ -20,8 +20,6 @@ export default class followingNotes extends Handler { beforeParsed(content) { - console.log("floatnotes"); - let newNotesClass = this.newNotesClass; resetCounter(content, this.reset, this.notesClass); createCallandMarker(content, this.notesClass, newNotesClass); @@ -34,9 +32,16 @@ export default class followingNotes extends Handler { let paragraph = note.closest("p"); if (!paragraph) return; - // Find next boundary: heading or ol[type="1"] + // Remonter au niveau direct de #section__content (ignorer blockquote et autres conteneurs) + const sectionContent = note.closest('#section__content') || content; + let topLevel = paragraph; + while (topLevel.parentElement && topLevel.parentElement !== sectionContent) { + topLevel = topLevel.parentElement; + } + + // Find next boundary: heading or ol[type="1"], au niveau de #section__content let boundary = null; - let sibling = paragraph.nextElementSibling; + let sibling = topLevel.nextElementSibling; while (sibling) { if (sibling.matches('h1, h2, h3, h4, h5, h6, ol[type="1"]')) { boundary = sibling; @@ -45,7 +50,7 @@ export default class followingNotes extends Handler { sibling = sibling.nextElementSibling; } - const mapKey = boundary || paragraph.parentElement; + const mapKey = boundary || sectionContent; if (!containerMap.has(mapKey)) { let container = document.createElement("div"); @@ -53,7 +58,7 @@ export default class followingNotes extends Handler { if (boundary) { boundary.before(container); } else { - paragraph.parentElement.appendChild(container); + sectionContent.appendChild(container); } containerMap.set(mapKey, container); } diff --git a/index.html b/index.html index 9b0ddbd..63881f9 100644 --- a/index.html +++ b/index.html @@ -1195,18 +1195,6 @@ Abteilung)
-
- -

Titre niveau 2

-

Titre niveau 2

-

Titre niveau 2

-

Titre niveau 3

-

Titre niveau 3

-

Titre niveau 3

-

Titre niveau 4

Titre niveau 4

Titre niveau 4

-
Titre niveau 5
Titre niveau 5
Titre niveau 5
-
Titre niveau 6
Titre niveau 6
Titre niveau 6
-

Vorrede

diff --git a/js/numParagraph.js b/js/numParagraph.js index 0f11b00..afbddd1 100644 --- a/js/numParagraph.js +++ b/js/numParagraph.js @@ -5,34 +5,93 @@ export default class thesis extends Handler { super(chunker, polisher, caller); } - afterPageLayout(pageElement, page, breakToken){ - let nums = pageElement.querySelectorAll('ol[type="1"]'); - nums.forEach(function (num) { - const colContainer = num.closest('#section__content') || num.offsetParent; - const colHeight = colContainer.offsetHeight; - let totalHeight = 0; + // Créer un wrapper pour récupérer tous les éléments qui suivent le ol (hors titres et .container-following-note) + // -------------------------------------------------------------------------------------------------------------- + beforeParsed(content){ + const nums = content.querySelectorAll('ol[type="1"]'); + + nums.forEach((num) => { + const wrapper = document.createElement('div'); + wrapper.classList.add('wrapper-ol'); + wrapper.id = 'wrapper-' + (num.getAttribute('start') || '1'); + + // Collecter les frères/sœurs suivants jusqu'à la prochaine limite + const siblings = []; let sibling = num.nextElementSibling; while (sibling) { if (sibling.matches('ol[type="1"], h1, h2, h3, h4, h5, h6, .container-following-note')) break; - - // Le frère commence dans la colonne 2 → stop - if (sibling.offsetTop >= colHeight) break; - - // Le frère est coupé entre les deux colonnes → ne compter que la partie en colonne 1 - const partHeight = Math.min(sibling.offsetHeight, colHeight - sibling.offsetTop); - totalHeight += partHeight; - + siblings.push(sibling); sibling = sibling.nextElementSibling; } - if (totalHeight > 0) { - num.style.height = totalHeight + 'px'; - } + // Insérer le wrapper à la place du ol + num.before(wrapper); + wrapper.appendChild(num); + siblings.forEach(s => wrapper.appendChild(s)); }); } + + + afterPageLayout(pageElement, page, breakToken){ + + const wrappers = pageElement.querySelectorAll('.wrapper-ol'); + const minSize = 37; // taille minimal du wrapper pour qu’il y ait clone (2 lignes) + + // Fais un clone du ol pour de la page précédente + // ----------------------------------------------- + + if (wrappers.length > 0) { + const first = wrappers[0]; + if (first.hasAttribute('data-split-from')) { + let idWrapper = first.getAttribute('data-id'); + let numPage = pageElement.getAttribute('data-page-number'); + let numPrev = parseInt(numPage) - 1; + let prevPage = document.querySelector('#page-' + numPrev); + let olPara = prevPage.querySelector('#' + idWrapper + ' ol[type="1"]'); + + if (olPara && first.offsetHeight >= minSize) { + const start = olPara.getAttribute('start') || '1'; + const olClonePage = document.createElement('ol'); + olClonePage.setAttribute('start', start); + olClonePage.setAttribute('type', '1'); + olClonePage.classList.add('ol-clone-page'); + olClonePage.style.height = first.offsetHeight + 'px'; + const li = document.createElement('li'); + li.setAttribute('data-item-num', start); + olClonePage.appendChild(li); + first.prepend(olClonePage); + } + } + } + + + // Fais un clone du ol pour la colonne suivante (dans la même page) + // ---------------------------------------------------------------- + wrappers.forEach((wrapper) => { + const ol = wrapper.querySelector('ol[type="1"]'); + if (!ol) return; + + const rects = wrapper.getClientRects(); + if (rects.length === 1) { + ol.style.height = rects[0].height + 'px'; + } else if (rects.length === 2) { + ol.style.height = rects[0].height + 'px'; + if (rects[1].height >= minSize) { + const olClone = ol.cloneNode(true); + olClone.classList.add('ol-clone'); + olClone.style.height = rects[1].height + 'px'; + olClone.removeAttribute('id'); + ol.after(olClone); + } + } + }); + + + + + } + } - -