sectionedFootnotes
This commit is contained in:
parent
fb365c2f05
commit
35c6271137
13 changed files with 251 additions and 146 deletions
|
|
@ -1,48 +1,88 @@
|
|||
@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;
|
||||
// .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: "";
|
||||
}
|
||||
// &::marker{
|
||||
// display: none;
|
||||
// content: "";
|
||||
// }
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
|
||||
[data-counter-note]{
|
||||
&::before{
|
||||
content: attr(data-counter-note) ".";
|
||||
position: absolute;
|
||||
// left: calc(var(--indent)*-1);
|
||||
left: 0px;
|
||||
}
|
||||
}
|
||||
// [data-counter-note]{
|
||||
// &::before{
|
||||
// content: attr(data-counter-note) ".";
|
||||
// position: absolute;
|
||||
// left: 0px;
|
||||
// }
|
||||
// }
|
||||
|
||||
[data-footnote-call]{
|
||||
font-size: 9px;
|
||||
}
|
||||
// [data-footnote-call]{
|
||||
// font-size: 9px;
|
||||
// }
|
||||
|
||||
|
||||
.footnote-ref{
|
||||
font-family: var(--font-title);
|
||||
line-height: 0;
|
||||
font-size: 9px;
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
[data-id="footnotes"][data-split-from] > :first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
|
@ -9,8 +9,8 @@
|
|||
marks: crop;
|
||||
}
|
||||
@page:left {
|
||||
margin-left: 22mm;
|
||||
margin-right: 22mm;
|
||||
margin-left: 18mm;
|
||||
margin-right: 26mm;
|
||||
@bottom-left {
|
||||
content: counter(page);
|
||||
font-family: var(--font-title);
|
||||
|
|
@ -24,8 +24,8 @@
|
|||
// }
|
||||
}
|
||||
@page:right {
|
||||
margin-left: 32mm;
|
||||
margin-right: 22mm;
|
||||
margin-left: 26mm;
|
||||
margin-right: 18mm;
|
||||
@bottom-right {
|
||||
content: counter(page);
|
||||
font-family: var(--font-title);
|
||||
|
|
@ -44,7 +44,7 @@
|
|||
transform: rotate(90deg);
|
||||
text-align: left;
|
||||
position: relative;
|
||||
left: 18mm;
|
||||
left: 14mm;
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -39,8 +39,8 @@ ol[type="1"] + p{
|
|||
blockquote{
|
||||
|
||||
padding-left: calc(var(--indent)*1);
|
||||
font-size: 9px;
|
||||
line-height: calc(var(--baseline)*0.75);
|
||||
font-size: var(--fs-small);
|
||||
// line-height: calc(var(--baseline)*0.75);
|
||||
margin-top: calc(var(--baseline)*0.5);
|
||||
margin-bottom: calc(var(--baseline)*0.5);
|
||||
|
||||
|
|
@ -55,12 +55,8 @@ blockquote + ol + p{
|
|||
|
||||
|
||||
.these{
|
||||
|
||||
font-family: var(--font-title);
|
||||
// color: red;
|
||||
|
||||
font-family: var(--font-title);
|
||||
margin-bottom: calc(var(--baseline)*1);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
h1, h2, h3 , h4{
|
||||
break-inside: avoid;
|
||||
break-after: avoid;
|
||||
text-wrap: balance;
|
||||
|
||||
/* hack for avoiding break-after */
|
||||
margin-bottom: calc(var(--baseline)*-3);
|
||||
|
|
@ -18,6 +19,7 @@
|
|||
h5, h6 {
|
||||
break-inside: avoid;
|
||||
break-after: avoid;
|
||||
text-wrap: balance;
|
||||
|
||||
/* hack for avoiding break-after */
|
||||
margin-bottom: calc(var(--baseline)*-2);
|
||||
|
|
@ -70,11 +72,9 @@
|
|||
font-weight: 500;
|
||||
text-transform: uppercase;
|
||||
line-height: calc(var(--baseline)*1.2);
|
||||
// text-align: center;
|
||||
position: relative;
|
||||
margin-top: calc(var(--baseline)*1 + 6px);
|
||||
padding-bottom: calc(var(--baseline)*1);
|
||||
// padding-left: 2ch;
|
||||
padding-right: 2ch;
|
||||
&::before{
|
||||
display: block;
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
--font-title: 'Allium Rounded', sans-serif;
|
||||
--font-sans: 'Allium Rounded', sans-serif;
|
||||
--font-size: 11px;
|
||||
--fs-small: 9.5px;
|
||||
--fs-num: 14px;
|
||||
--baseline: 16px;
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
--font-title: "Allium Rounded", sans-serif;
|
||||
--font-sans: "Allium Rounded", sans-serif;
|
||||
--font-size: 11px;
|
||||
--fs-small: 9.5px;
|
||||
--fs-num: 14px;
|
||||
--baseline: 16px;
|
||||
--indent: 26px;
|
||||
|
|
@ -38,8 +39,8 @@ body {
|
|||
marks: crop;
|
||||
}
|
||||
@page :left {
|
||||
margin-left: 22mm;
|
||||
margin-right: 22mm;
|
||||
margin-left: 18mm;
|
||||
margin-right: 26mm;
|
||||
@bottom-left {
|
||||
content: counter(page);
|
||||
font-family: var(--font-title);
|
||||
|
|
@ -48,8 +49,8 @@ body {
|
|||
}
|
||||
}
|
||||
@page :right {
|
||||
margin-left: 32mm;
|
||||
margin-right: 22mm;
|
||||
margin-left: 26mm;
|
||||
margin-right: 18mm;
|
||||
@bottom-right {
|
||||
content: counter(page);
|
||||
font-family: var(--font-title);
|
||||
|
|
@ -67,7 +68,7 @@ body {
|
|||
transform: rotate(90deg);
|
||||
text-align: left;
|
||||
position: relative;
|
||||
left: 18mm;
|
||||
left: 14mm;
|
||||
padding-left: 5px;
|
||||
}
|
||||
}
|
||||
|
|
@ -213,8 +214,7 @@ ol[type="1"] + p {
|
|||
|
||||
blockquote {
|
||||
padding-left: calc(var(--indent) * 1);
|
||||
font-size: 9px;
|
||||
line-height: calc(var(--baseline) * 0.75);
|
||||
font-size: var(--fs-small);
|
||||
margin-top: calc(var(--baseline) * 0.5);
|
||||
margin-bottom: calc(var(--baseline) * 0.5);
|
||||
}
|
||||
|
|
@ -338,6 +338,7 @@ ol[type="1"]{
|
|||
break-inside: avoid;
|
||||
-moz-column-break-after: avoid;
|
||||
break-after: avoid;
|
||||
text-wrap: balance;
|
||||
/* hack for avoiding break-after */
|
||||
margin-bottom: calc(var(--baseline) * -3);
|
||||
}
|
||||
|
|
@ -351,6 +352,7 @@ ol[type="1"]{
|
|||
break-inside: avoid;
|
||||
-moz-column-break-after: avoid;
|
||||
break-after: avoid;
|
||||
text-wrap: balance;
|
||||
/* hack for avoiding break-after */
|
||||
margin-bottom: calc(var(--baseline) * -2);
|
||||
}
|
||||
|
|
@ -455,46 +457,43 @@ ol[type="1"]{
|
|||
margin-top: 0;
|
||||
}
|
||||
|
||||
@page {
|
||||
@footnote {
|
||||
float: bottom;
|
||||
footnote-policy: auto;
|
||||
}
|
||||
}
|
||||
.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;
|
||||
}
|
||||
.inline-note::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;
|
||||
font-size: 9px;
|
||||
font-size: var(--fs-small);
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
#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 {
|
||||
font-size: var(--fs-small);
|
||||
}
|
||||
#footnotes .footnote-back {
|
||||
display: none;
|
||||
}
|
||||
|
||||
[data-id=footnotes][data-split-from] > :first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
#section__list-of-abbr {
|
||||
display: none;
|
||||
color: red;
|
||||
|
|
|
|||
|
|
@ -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"}
|
||||
{"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"}
|
||||
|
|
@ -11,8 +11,7 @@
|
|||
}
|
||||
},
|
||||
"hook": [
|
||||
"/js/custom-handler-example-1.js",
|
||||
"/js/custom-handler-example-2.js"
|
||||
"/js/sectionedFootnotes.js"
|
||||
]
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,21 +0,0 @@
|
|||
import { Handler } from '/csspageweaver/lib/paged.esm.js';
|
||||
|
||||
export default class myCustomHandler1 extends Handler {
|
||||
constructor(chunker, polisher, caller) {
|
||||
super(chunker, polisher, caller);
|
||||
}
|
||||
|
||||
beforeParsed(content){
|
||||
// let h2 = content.querySelectorAll('h2');
|
||||
// h2.forEach( h2 => {
|
||||
// h2.insertAdjacentHTML("afterbegin", '🍄');
|
||||
// });
|
||||
}
|
||||
|
||||
afterParsed(parsed) {
|
||||
console.info("%c [CSS Page Weaver] Example custom handler 1 with afterParsed hook (see js/custom-handler-example-1.js", 'color: green;');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
import { Handler } from '/csspageweaver/lib/paged.esm.js';
|
||||
|
||||
|
||||
export default class myCustomHandler2 extends Handler {
|
||||
constructor(chunker, polisher, caller) {
|
||||
super(chunker, polisher, caller);
|
||||
}
|
||||
|
||||
|
||||
afterPageLayout(pageElement, page, breakToken) {
|
||||
if(pageElement.id == "page-1"){
|
||||
console.info("%c [CSS Page Weaver] Example custom handler 2 with afterPageLayout hook (see js/custom-handler-example-2.js", 'color: green;')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
124
js/sectionedFootnotes.js
Normal file
124
js/sectionedFootnotes.js
Normal file
|
|
@ -0,0 +1,124 @@
|
|||
import { Handler } from '/csspageweaver/lib/paged.esm.js';
|
||||
|
||||
export default class SectionedFootnotes extends Handler {
|
||||
constructor(chunker, polisher, caller) {
|
||||
super(chunker, polisher, caller);
|
||||
}
|
||||
|
||||
beforeParsed(content){
|
||||
|
||||
const sectionContent = content.querySelector('#section__content');
|
||||
const footnotesSection = content.querySelector('#footnotes');
|
||||
|
||||
if (!sectionContent || !footnotesSection) {
|
||||
console.warn("Section content ou footnotes non trouvé");
|
||||
return;
|
||||
}
|
||||
|
||||
const originalOl = footnotesSection.querySelector('ol');
|
||||
if (!originalOl) {
|
||||
console.warn("Liste de footnotes non trouvée");
|
||||
return;
|
||||
}
|
||||
|
||||
const allH1s = sectionContent.querySelectorAll('h1');
|
||||
|
||||
const noteToPartMap = new Map();
|
||||
|
||||
allH1s.forEach((h1, partIndex) => {
|
||||
// Trouver le prochain h1 ou la fin de la section
|
||||
const nextH1 = allH1s[partIndex + 1];
|
||||
|
||||
// Récupérer tous les éléments entre ce h1 et le suivant
|
||||
let current = h1.nextElementSibling;
|
||||
while (current && current !== nextH1) {
|
||||
// Chercher les footnote-ref dans cet élément
|
||||
const refs = current.querySelectorAll('.footnote-ref');
|
||||
refs.forEach(ref => {
|
||||
const href = ref.getAttribute('href');
|
||||
if (href && href.startsWith('#fn')) {
|
||||
const noteNum = href.replace('#fn', '');
|
||||
noteToPartMap.set(noteNum, partIndex);
|
||||
}
|
||||
});
|
||||
if (current.classList && current.classList.contains('footnote-ref')) {
|
||||
const href = current.getAttribute('href');
|
||||
if (href && href.startsWith('#fn')) {
|
||||
const noteNum = href.replace('#fn', '');
|
||||
noteToPartMap.set(noteNum, partIndex);
|
||||
}
|
||||
}
|
||||
current = current.nextElementSibling;
|
||||
}
|
||||
});
|
||||
|
||||
const notesByPart = new Map();
|
||||
const allNotes = originalOl.querySelectorAll('li[id^="fn"]');
|
||||
|
||||
allNotes.forEach(note => {
|
||||
const noteId = note.getAttribute('id');
|
||||
const noteNum = noteId.replace('fn', '');
|
||||
const partIndex = noteToPartMap.get(noteNum);
|
||||
|
||||
if (partIndex !== undefined) {
|
||||
if (!notesByPart.has(partIndex)) {
|
||||
notesByPart.set(partIndex, []);
|
||||
}
|
||||
notesByPart.get(partIndex).push({
|
||||
num: parseInt(noteNum),
|
||||
element: note
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
const sortedParts = Array.from(notesByPart.keys()).sort((a, b) => a - b);
|
||||
|
||||
// Vider la section footnotes (garder le hr s'il existe)
|
||||
const hr = footnotesSection.querySelector('hr');
|
||||
footnotesSection.innerHTML = '';
|
||||
if (hr) {
|
||||
footnotesSection.appendChild(hr);
|
||||
}
|
||||
|
||||
// Add title section
|
||||
const mainTitle = document.createElement('h1');
|
||||
mainTitle.textContent = 'Notizen';
|
||||
footnotesSection.appendChild(mainTitle);
|
||||
|
||||
sortedParts.forEach(partIndex => {
|
||||
const h1 = allH1s[partIndex];
|
||||
const notes = notesByPart.get(partIndex);
|
||||
|
||||
notes.sort((a, b) => a.num - b.num);
|
||||
|
||||
if (notes.length > 0) {
|
||||
// Upper-alpha counter
|
||||
const titlePart = document.createElement('h2');
|
||||
titlePart.className = 'title-part';
|
||||
const letter = String.fromCharCode(65 + partIndex); // 65 = 'A'
|
||||
titlePart.setAttribute('data-part-number', letter);
|
||||
titlePart.textContent = h1.textContent.trim();
|
||||
footnotesSection.appendChild(titlePart);
|
||||
|
||||
// New ol with new start
|
||||
const newOl = document.createElement('ol');
|
||||
const firstNoteNum = notes[0].num;
|
||||
newOl.setAttribute('start', firstNoteNum);
|
||||
|
||||
notes.forEach(noteData => {
|
||||
newOl.appendChild(noteData.element.cloneNode(true));
|
||||
});
|
||||
|
||||
footnotesSection.appendChild(newOl);
|
||||
}
|
||||
});
|
||||
|
||||
sectionContent.parentNode.insertBefore(footnotesSection, sectionContent.nextSibling);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
function Span(el)
|
||||
local cs = el.attributes['custom-style']
|
||||
if cs then
|
||||
local class = cs
|
||||
:lower()
|
||||
:gsub("%s+", "-")
|
||||
:gsub("[^a-z0-9%-]", "")
|
||||
el.classes:insert("style-" .. class)
|
||||
end
|
||||
return el
|
||||
end
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
function Para(el)
|
||||
if el.style then
|
||||
io.stderr:write("STYLE: " .. el.style .. "\n")
|
||||
end
|
||||
return el
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue