diff --git a/css/modules/_footnotes.scss b/css/modules/_footnotes.scss index 964aaf5..2bd344b 100644 --- a/css/modules/_footnotes.scss +++ b/css/modules/_footnotes.scss @@ -1,88 +1,51 @@ -// @page { -// @footnote { -// float: bottom; -// footnote-policy: auto; -// } -// } +@page { + @footnote { + float: bottom; + footnote-policy: auto; + } + } -// .pagedjs_footnote_content{ -// padding-top: calc(var(--baseline)*1); -// } + .pagedjs_footnote_content{ + padding-top: calc(var(--baseline)*1); + } -// .inline-note { -// float: footnote; -// footnote-policy: auto; -// font-size: 9px; -// line-height: calc(var(--baseline)*0.8); -// padding-left: var(--indent); -// position: relative; -// // font-weight: 100; - -// &::marker{ -// display: none; -// content: ""; -// } - -// } - - -// [data-counter-note]{ -// &::before{ -// content: attr(data-counter-note) "."; -// position: absolute; -// left: 0px; -// } -// } - -// [data-footnote-call]{ -// font-size: 9px; -// } - - -.footnote-ref{ - font-family: var(--font-title); - line-height: 0; +.inline-note { + float: footnote; + footnote-policy: auto; font-size: var(--fs-small); - font-weight: 500; -} - - -#footnotes{ - break-before: right; - - .title-part{ - font-family: var(--font-title); - font-size: 1.1rem; - font-weight: 500; - line-height: calc(var(--baseline)*1.2); - margin-top: calc(var(--baseline)*2); - padding-bottom: calc(var(--baseline)*1); - padding-right: 2ch; - padding-left: 2ch; - text-align: center; - text-wrap: balance; - &::before{ - content: attr(data-part-number) ". " - } - } - - li{ - font-size: var(--fs-small); - - // &::marker{ - // font-family: var(--font-title); - // font-weight: 500; - // } - } - - .footnote-back{ - display: none; - } + line-height: calc(var(--baseline)*0.8); + padding-left: var(--indent); + position: relative; + font-weight: 600; + &::marker{ + display: none; + content: ""; + } +} + + +[data-counter-note]{ +&::before{ + content: attr(data-counter-note) "."; + position: absolute; + left: 0px; + } +} + +.inline-note::after{ + font-family: var(--font); + font-size: var(--fs-small); + line-height: 0; + position: relative; + top: -3px; + font-variant-position: normal!important; } -[data-id="footnotes"][data-split-from] > :first-child { - margin-top: 0; -} \ No newline at end of file +blockquote .inline-note{ + font-variant-position: normal!important; +} + + diff --git a/css/modules/_layout.scss b/css/modules/_layout.scss index ac01000..4304e1c 100644 --- a/css/modules/_layout.scss +++ b/css/modules/_layout.scss @@ -1,6 +1,6 @@ @media print { @page { - size: 134mm 205mm; + size: 176mm 240mm; // size: 150mm 220mm; margin-top: 36px; margin-bottom: 20mm; diff --git a/css/modules/_text.scss b/css/modules/_text.scss index 3650501..0695543 100644 --- a/css/modules/_text.scss +++ b/css/modules/_text.scss @@ -37,12 +37,14 @@ ol[type="1"] + p{ blockquote{ - + font-family: var(--font-serif); padding-left: calc(var(--indent)*1); - font-size: var(--fs-small); - // line-height: calc(var(--baseline)*0.75); + padding-right: calc(var(--indent)*1); + // font-size: var(--fs-small); margin-top: calc(var(--baseline)*0.5); margin-bottom: calc(var(--baseline)*0.5); + font-size: 12px; + color: #343434; } @@ -55,8 +57,12 @@ blockquote + ol + p{ .these{ - font-family: var(--font-title); + // color: red; + // font-family: var(--font-title); margin-bottom: calc(var(--baseline)*1); + border-left: 4px solid #efefef; + box-decoration-break: clone; + padding-left: calc(var(--indent)*0.5); } @@ -66,20 +72,31 @@ ol[type="1"]{ break-after: avoid; position: absolute; - left: calc(var(--indent)*-1.5 - 0.5ch); + left: 0px; - &::before{ + display: flex; + gap: 0.25ch; + + &::after{ content: attr(start); // font-family: var(--font-title); // font-weight: 500; - font-size: 0.6rem; + font-size: var(--fs-small); color: #999; - display: block; - height: var(--baseline); + // display: block; + // height: var(--baseline); - padding-right: 1ch; - border-right: 1px solid #efefef; + // padding-right: 1ch; + // border-right: 1px solid #efefef; + } + + li::before{ + font-size: var(--fs-small); + content: "¶"; + color: #d7d7d7; + position: relative; + top: -1px; } @@ -87,48 +104,3 @@ ol[type="1"]{ } - -// GRADATIONS - - -/* -ol[type="1"]{ - list-style-type: none; - position: relative; - break-after: avoid; - - position: absolute; - left: calc(var(--indent)*-1.5 - 0.5ch); - &::before{ - content: attr(start); - font-family: var(--font-title); - font-weight: 500; - font-size: 0.6rem; - color: #999; - display: block; - - padding: 0px 2px; - // border: 1px solid #efefef; - min-width: 20px; - justify-content: center; - } - - - -} -.pagedjs_page_content::before{ - --color: #efefef; - --size: 20px; - content: ""; - display: block; - height: 100%; - width: var(--size); - position: absolute; - left: calc(var(--indent)*-1 - var(--size)); - background: linear-gradient(transparent 0%, transparent calc(var(--baseline) - 1px), var(--color) calc(var(--baseline) - 1px), var(--color) var(--baseline)), transparent; - background-size: 100% var(--baseline); - background-repeat: repeat-y; - -} - -*/ \ No newline at end of file diff --git a/css/modules/_titles-counters.scss b/css/modules/_titles-counters.scss deleted file mode 100644 index 023324b..0000000 --- a/css/modules/_titles-counters.scss +++ /dev/null @@ -1,58 +0,0 @@ -#section__content{ - - counter-reset: h1; - - h1{ - counter-increment: h1 1; - counter-reset: h2; - } - - h1::before{ - content: counter(h1, upper-alpha); - - } - - h2{ - counter-increment: h2 1; - counter-reset: h3; - } - - h2::before{ - content: counter(h2, upper-roman); - } - - h3{ - counter-increment: h3 1; - counter-reset: h4; - } - - h3::before{ - content: counter(h3); - } - - h4{ - counter-increment: h4 1; - counter-reset: h5; - } - - 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/modules/_titles.scss b/css/modules/_titles.scss index 8a6d6da..3d8fa16 100644 --- a/css/modules/_titles.scss +++ b/css/modules/_titles.scss @@ -1,5 +1,18 @@ #section__content{ + margin-left: 28mm; + + h1, h2, h3 { + &::before{ + content: attr(data-counter); + } + } + + h4, h5, h6{ + &::before{ + content: attr(data-counter) ". "; + } + } h1, h2, h3 , h4{ @@ -57,10 +70,13 @@ margin-top: calc(var(--baseline)*1 + 6px); padding-bottom: calc(var(--baseline)*1); padding-right: 2ch; + padding-left: calc(var(--indent)*2); &::before{ - display: block; - font-size: var(--fs-num); - padding-left: var(--indent); + position: absolute; + left: 0; + // display: block; + // font-size: var(--fs-num); + // padding-left: var(--indent); } } @@ -77,12 +93,11 @@ position: relative; margin-top: calc(var(--baseline)*1 + 4px); padding-bottom: calc(var(--baseline)*0.75); + padding-left: calc(var(--indent)*2); &::before{ - display: block; - font-size: var(--fs-num); - padding-left: var(--indent); - // position: absolute; - // left: 0; + + position: absolute; + left: 0; } } @@ -91,13 +106,19 @@ font-weight: 500; font-size: 0.9rem; line-height: calc(var(--baseline)*1); - padding-left: calc(var(--indent)*1); padding-right: calc(var(--indent)*2); position: relative; margin-top: calc(var(--baseline)*1 + 4px); padding-bottom: calc(var(--baseline)*0.75); text-decoration: underline 1px #cfcfcf; text-underline-offset: 3px; + + padding-left: calc(var(--indent)*2); + &::before{ + + // position: absolute; + // left: 0; + } } @@ -106,7 +127,7 @@ font-weight: 500; font-size: 0.8rem; line-height: calc(var(--baseline)*1); - padding-left: calc(var(--indent)*1); + padding-left: calc(var(--indent)*2); // padding-right: calc(var(--indent)*2); position: relative; margin-top: calc(var(--baseline)*1 + 4px); @@ -133,19 +154,32 @@ h1{ font-family: var(--font-title); - font-size: 1.4rem; + font-size: 1.6rem; font-weight: 500; text-transform: uppercase; - line-height: calc(var(--baseline)*1.4); - text-align: center; + line-height: calc(var(--baseline)*1.6); + // text-align: center; position: relative; margin-top: calc(var(--baseline)*2 - 3px); padding-bottom: calc(var(--baseline)*1); - padding-left: 1ch; + padding-left: calc(var(--indent)*2); padding-right: 1ch; + + &::before{ - display: block; - font-size: var(--fs-num); + // font-size: var(--fs-num); + // width: 2ch; + // height: 2ch; + // border: 1px solid currentColor; + // border-radius: 50%; + // display: flex; + // align-items: center; + // justify-content: center; + position: absolute; + left: 0; + width: calc(var(--indent)*2 - 0.5ch); + // border-bottom: 2px solid #cfcfcf; + // top: 3px; } } diff --git a/css/modules/_var.scss b/css/modules/_var.scss index bd1e219..18aac84 100644 --- a/css/modules/_var.scss +++ b/css/modules/_var.scss @@ -1,9 +1,10 @@ :root{ - --font: 'Edgar', sans-serif; + --font: 'Akkurat Std', sans-serif; + --font-serif: 'Edgar', sans-serif; --font-title: 'Allium Rounded', sans-serif; --font-sans: 'Allium Rounded', sans-serif; --font-size: 11px; - --fs-small: 9.5px; + --fs-small: 8.5px; --fs-num: 14px; --baseline: 16px; diff --git a/css/style.css b/css/style.css index a3f480c..78bb725 100644 --- a/css/style.css +++ b/css/style.css @@ -1,10 +1,11 @@ @charset "UTF-8"; :root { - --font: "Edgar", sans-serif; + --font: "Akkurat Std", sans-serif; + --font-serif: "Edgar", sans-serif; --font-title: "Allium Rounded", sans-serif; --font-sans: "Allium Rounded", sans-serif; --font-size: 11px; - --fs-small: 9.5px; + --fs-small: 8.5px; --fs-num: 14px; --baseline: 16px; --indent: 26px; @@ -32,7 +33,7 @@ body { @media print { @page { - size: 134mm 205mm; + size: 176mm 240mm; margin-top: 36px; margin-bottom: 20mm; bleed: 6mm; @@ -213,10 +214,13 @@ ol[type="1"] + p { } blockquote { + font-family: var(--font-serif); padding-left: calc(var(--indent) * 1); - font-size: var(--fs-small); + padding-right: calc(var(--indent) * 1); margin-top: calc(var(--baseline) * 0.5); margin-bottom: calc(var(--baseline) * 0.5); + font-size: 12px; + color: #343434; } .these + ol + p, @@ -225,8 +229,11 @@ blockquote + ol + p { } .these { - font-family: var(--font-title); margin-bottom: calc(var(--baseline) * 1); + border-left: 4px solid #efefef; + -webkit-box-decoration-break: clone; + box-decoration-break: clone; + padding-left: calc(var(--indent) * 0.5); } ol[type="1"] { @@ -235,104 +242,32 @@ ol[type="1"] { -moz-column-break-after: avoid; break-after: avoid; position: absolute; - left: calc(var(--indent) * -1.5 - 0.5ch); + left: 0px; + display: flex; + gap: 0.25ch; } -ol[type="1"]::before { +ol[type="1"]::after { content: attr(start); - font-size: 0.6rem; + font-size: var(--fs-small); color: #999; - display: block; - height: var(--baseline); - padding-right: 1ch; - border-right: 1px solid #efefef; +} +ol[type="1"] li::before { + font-size: var(--fs-small); + content: "¶"; + color: #d7d7d7; + position: relative; + top: -1px; } -/* -ol[type="1"]{ - list-style-type: none; - position: relative; - break-after: avoid; - - position: absolute; - left: calc(var(--indent)*-1.5 - 0.5ch); - &::before{ - content: attr(start); - font-family: var(--font-title); - font-weight: 500; - font-size: 0.6rem; - color: #999; - display: block; - - padding: 0px 2px; - // border: 1px solid #efefef; - min-width: 20px; - justify-content: center; - } - - - -} -.pagedjs_page_content::before{ - --color: #efefef; - --size: 20px; - content: ""; - display: block; - height: 100%; - width: var(--size); - position: absolute; - left: calc(var(--indent)*-1 - var(--size)); - background: linear-gradient(transparent 0%, transparent calc(var(--baseline) - 1px), var(--color) calc(var(--baseline) - 1px), var(--color) var(--baseline)), transparent; - background-size: 100% var(--baseline); - background-repeat: repeat-y; - -} - -*/ #section__content { - counter-reset: h1; + margin-left: 28mm; } -#section__content h1 { - counter-increment: h1 1; - counter-reset: h2; +#section__content h1::before, #section__content h2::before, #section__content h3::before { + content: attr(data-counter); } -#section__content h1::before { - content: counter(h1, upper-alpha); +#section__content h4::before, #section__content h5::before, #section__content h6::before { + content: attr(data-counter) ". "; } -#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 h1, #section__content h2, #section__content h3, #section__content h4 { -moz-column-break-inside: avoid; break-inside: avoid; @@ -379,11 +314,11 @@ ol[type="1"]{ margin-top: calc(var(--baseline) * 1 + 6px); padding-bottom: calc(var(--baseline) * 1); padding-right: 2ch; + padding-left: calc(var(--indent) * 2); } #section__content h2::before { - display: block; - font-size: var(--fs-num); - padding-left: var(--indent); + position: absolute; + left: 0; } #section__content h3 { font-family: var(--font-title); @@ -394,18 +329,17 @@ ol[type="1"]{ position: relative; margin-top: calc(var(--baseline) * 1 + 4px); padding-bottom: calc(var(--baseline) * 0.75); + padding-left: calc(var(--indent) * 2); } #section__content h3::before { - display: block; - font-size: var(--fs-num); - padding-left: var(--indent); + position: absolute; + left: 0; } #section__content h4 { font-family: var(--font-title); font-weight: 500; font-size: 0.9rem; line-height: calc(var(--baseline) * 1); - padding-left: calc(var(--indent) * 1); padding-right: calc(var(--indent) * 2); position: relative; margin-top: calc(var(--baseline) * 1 + 4px); @@ -413,13 +347,14 @@ ol[type="1"]{ -webkit-text-decoration: underline 1px #cfcfcf; text-decoration: underline 1px #cfcfcf; text-underline-offset: 3px; + padding-left: calc(var(--indent) * 2); } #section__content h5 { font-family: var(--font-title); font-weight: 500; font-size: 0.8rem; line-height: calc(var(--baseline) * 1); - padding-left: calc(var(--indent) * 1); + padding-left: calc(var(--indent) * 2); position: relative; margin-top: calc(var(--baseline) * 1 + 4px); padding-bottom: calc(var(--baseline) * 0.25); @@ -439,61 +374,67 @@ ol[type="1"]{ h1 { font-family: var(--font-title); - font-size: 1.4rem; + font-size: 1.6rem; font-weight: 500; text-transform: uppercase; - line-height: calc(var(--baseline) * 1.4); - text-align: center; + line-height: calc(var(--baseline) * 1.6); position: relative; margin-top: calc(var(--baseline) * 2 - 3px); padding-bottom: calc(var(--baseline) * 1); - padding-left: 1ch; + padding-left: calc(var(--indent) * 2); padding-right: 1ch; } h1::before { - display: block; - font-size: var(--fs-num); + position: absolute; + left: 0; + width: calc(var(--indent) * 2 - 0.5ch); } section h1:first-of-type { margin-top: 3px !important; } -.footnote-ref { - font-family: var(--font-title); - line-height: 0; - font-size: var(--fs-small); - font-weight: 500; +@page { + @footnote { + float: bottom; + footnote-policy: auto; + } +} +.pagedjs_footnote_content { + padding-top: calc(var(--baseline) * 1); } -#footnotes { - -moz-column-break-before: right; - break-before: right; -} -#footnotes .title-part { - font-family: var(--font-title); - font-size: 1.1rem; - font-weight: 500; - line-height: calc(var(--baseline) * 1.2); - margin-top: calc(var(--baseline) * 2); - padding-bottom: calc(var(--baseline) * 1); - padding-right: 2ch; - padding-left: 2ch; - text-align: center; - text-wrap: balance; -} -#footnotes .title-part::before { - content: attr(data-part-number) ". "; -} -#footnotes li { +.inline-note { + float: footnote; + footnote-policy: auto; font-size: var(--fs-small); + line-height: calc(var(--baseline) * 0.8); + padding-left: var(--indent); + position: relative; + font-weight: 600; } -#footnotes .footnote-back { +.inline-note::marker { display: none; + content: ""; } -[data-id=footnotes][data-split-from] > :first-child { - margin-top: 0; +[data-counter-note]::before { + content: attr(data-counter-note) "."; + position: absolute; + left: 0px; +} + +.inline-note::after { + font-family: var(--font); + font-size: var(--fs-small); + line-height: 0; + position: relative; + top: -3px; + font-variant-position: normal !important; +} + +blockquote .inline-note { + font-variant-position: normal !important; } #section__list-of-abbr { diff --git a/css/style.css.map b/css/style.css.map index 30ecfe9..1cd0617 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.scss","modules/_footnotes.scss","modules/_list-of-abbr.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 d81f558..59fbe83 100644 --- a/css/style.scss +++ b/css/style.scss @@ -3,7 +3,6 @@ @import 'modules/init'; @import 'modules/layout'; @import 'modules/text'; -@import 'modules/titles-counters'; @import 'modules/titles'; @import 'modules/footnotes'; @import 'modules/list-of-abbr'; \ No newline at end of file diff --git a/csspageweaver/manifest.json b/csspageweaver/manifest.json index e5a0aed..5bd177d 100644 --- a/csspageweaver/manifest.json +++ b/csspageweaver/manifest.json @@ -1,5 +1,5 @@ { - "plugins": ["baseline","grid","marginBox","imposition","spread","previewPage","reloadInPlace","fullPage"], + "plugins": ["baseline","grid","marginBox","imposition","spread","previewPage","reloadInPlace","inlineNotes"], "pluginsParameters":{}, "css": [ "css/style.css" @@ -11,7 +11,7 @@ } }, "hook": [ - "/js/sectionedFootnotes.js" + "/js/counters.js" ] } diff --git a/index.html b/index.html index 7812dfb..888a588 100644 --- a/index.html +++ b/index.html @@ -9,9 +9,11 @@ - - - + + + + + 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; + } + }); + } +} + +