initial commit

This commit is contained in:
Julie Blanc 2026-01-10 18:33:22 +01:00
commit 21711bd5dd
253 changed files with 78415 additions and 0 deletions

View file

@ -0,0 +1 @@
.DS_Store

View file

@ -0,0 +1,15 @@
{
"name": "Spread",
"description": "",
"version": "1.0",
"ui": {
"title": "Screen view",
"description": "This Toogle single page or board view",
"toggle": false,
"template": "spread.html"
},
"stylesheet": "spread.css",
"hook": "spread-hook.js",
"script": "spread-ui.js"
}

View file

@ -0,0 +1,25 @@
import { Handler } from '/csspageweaver/lib/paged.esm.js';
export default class nrbPages extends Handler {
constructor(chunker, polisher, caller) {
super(chunker, polisher, caller);
}
afterPageLayout(pageElement, page, breakToken) {
let nbrSpan = document.querySelector("#nrb-pages");
let pagesDocument = document.querySelectorAll(".pagedjs_page");
if (nbrSpan) {
nbrSpan.innerHTML = pagesDocument.length;
}
}
afterRendered(pages){
let nbrSpan = document.querySelector("#nrb-pages");
if (nbrSpan) {
nbrSpan.innerHTML = pages.length;
}
}
}

View file

@ -0,0 +1,38 @@
/**
* @name Spread
* @author Julie Blanc <contact@julie-blanc.fr>
* @see { @link https://gitlab.com/csspageweaver/plugins/ }
*/
export default function spreadEvents(){
const body = cssPageWeaver.ui.body
const fileTitle = cssPageWeaver.docTitle;
const toggleInput = document.querySelector('#spread-toggle-button')
/* SPREAD ----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------*/
/* Toggle spread or recto-verso */
let preference = localStorage.getItem('spreadToggle' + fileTitle);
if(preference == "spread"){
body.classList.remove('no-spread');
toggleInput.checked = true
}else if(preference == "no-spread"){
body.classList.add('no-spread');
toggleInput.checked = false
}
document.querySelector("#label-spread-toggle").addEventListener("click", (e) => {
//e.preventDefault()
if(body.classList.contains("no-spread")){
body.classList.remove('no-spread');
localStorage.setItem('spreadToggle' + fileTitle, 'spread');
}else{
body.classList.add('no-spread');
localStorage.setItem('spreadToggle' + fileTitle, 'no-spread');
}
});
}

View file

@ -0,0 +1,29 @@
.no-spread .pagedjs_pages {
flex-direction: column;
width: 100%;
}
.no-spread .pagedjs_first_page {
margin-left: 0;
}
.no-spread .pagedjs_page {
margin: 0 auto;
margin-top: 10mm;
}
.no-spread .pagedjs_left_page{
width: calc(var(--pagedjs-bleed-left) + var(--pagedjs-pagebox-width) + var(--pagedjs-bleed-left))!important;
}
.no-spread .pagedjs_left_page .pagedjs_bleed-right .pagedjs_marks-crop{
border-color: var(--pagedjs-crop-color);
}
.no-spread .pagedjs_left_page .pagedjs_bleed-right .pagedjs_marks-middle{
width: var(--pagedjs-cross-size)!important;
}
.no-spread .pagedjs_right_page{
left: 0;
}

View file

@ -0,0 +1,61 @@
<input type="checkbox" id="spread-toggle-button" name="spread-toggle">
<div class="buttons-group">
<label for="spread-toggle-button" id="label-spread-toggle">
<span id="button-spread" class="button">
<svg width="100%" height="100%" viewBox="0 0 480 480" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/"
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<g transform="matrix(1,0,0,1,-4,-1084)">
<g id="spread-bis" serif:id="spread bis" transform="matrix(0.997921,0,0,1.00209,2.00416,1083)">
<rect x="2" y="1" width="481" height="479" style="fill:none;" />
<g transform="matrix(0.88709,0,0,0.842432,44.9417,123.556)">
<path
d="M249.88,336.193L249.88,282.887C249.88,280.925 251.397,279.334 253.269,279.334L275.731,279.334C277.603,279.334 279.12,280.925 279.12,282.887L279.12,336.193L463.88,336.193L463.88,20.807L396.102,20.807C394.23,20.807 392.713,19.216 392.713,17.253L392.713,-5.253C392.713,-7.216 394.23,-8.807 396.102,-8.807L478,-8.807C485.798,-8.807 492.12,-2.178 492.12,6L492.12,351C492.12,359.178 485.798,365.807 478,365.807L265,365.807C264.833,365.807 264.666,365.804 264.501,365.798L264.491,365.798C264.328,365.804 264.164,365.807 264,365.807L51,365.807C43.202,365.807 36.88,359.178 36.88,351L36.88,282.887C36.88,280.925 38.397,279.334 40.269,279.334L61.731,279.334C63.603,279.334 65.12,280.925 65.12,282.887L65.12,336.193L247.905,336.193L249.88,336.193Z" />
</g>
<g transform="matrix(1.00208,0,0,0.997917,8.0125,46.7815)">
<g transform="matrix(0.885246,0,0,0.844191,-38.1475,9.93485)">
<path
d="M278.12,6L278.12,351C278.12,359.178 271.798,365.807 264,365.807L51,365.807C43.202,365.807 36.88,359.178 36.88,351L36.88,6C36.88,-2.178 43.202,-8.807 51,-8.807L264,-8.807C271.798,-8.807 278.12,-2.178 278.12,6ZM65.12,336.193L249.88,336.193L249.88,20.807L67.095,20.807L65.12,20.807L65.12,330.717L65.12,336.193Z" />
</g>
<g transform="matrix(0.885246,0,0,0.844191,151.295,9.93485)">
<path
d="M278.12,6L278.12,351C278.12,359.178 271.798,365.807 264,365.807L51,365.807C43.202,365.807 36.88,359.178 36.88,351L36.88,6C36.88,-2.178 43.202,-8.807 51,-8.807L264,-8.807C271.798,-8.807 278.12,-2.178 278.12,6ZM249.88,336.193L249.88,20.807L67.095,20.807L65.12,20.807L65.12,336.193L247.905,336.193L249.88,336.193Z" />
</g>
</g>
</g>
</g>
</svg>
</span>
<span id="button-recto" class="button">
<svg width="100%" height="100%" viewBox="0 0 480 480" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/"
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<g transform="matrix(1,0,0,1,-557,-1103)">
<g id="recto-verso-bis" serif:id="recto-verso bis"
transform="matrix(0.997921,0,0,1.00209,555.004,1102)">
<rect x="2" y="1" width="481" height="479" style="fill:none;" />
<g transform="matrix(0.88709,0,0,0.842432,184.453,157.485)">
<path
d="M249.88,336.193L249.88,20.807L183.231,20.807C181.36,20.807 179.843,19.216 179.843,17.253L179.843,-5.253C179.843,-7.216 181.36,-8.807 183.231,-8.807L264,-8.807C271.798,-8.807 278.12,-2.178 278.12,6L278.12,351C278.12,359.178 271.798,365.807 264,365.807L51,365.807C43.202,365.807 36.88,359.178 36.88,351L36.88,281.703C36.88,279.74 38.397,278.149 40.269,278.149L61.731,278.149C63.603,278.149 65.12,279.74 65.12,281.703L65.12,336.193L247.905,336.193L249.88,336.193Z" />
</g>
<g transform="matrix(0.88709,0,0,0.842432,103.284,89.6269)">
<path
d="M249.88,336.193L249.88,20.807L182.102,20.807C180.23,20.807 178.713,19.216 178.713,17.253L178.713,-5.253C178.713,-7.216 180.23,-8.807 182.102,-8.807L264,-8.807C271.798,-8.807 278.12,-2.178 278.12,6L278.12,351C278.12,359.178 271.798,365.807 264,365.807L51,365.807C43.202,365.807 36.88,359.178 36.88,351L36.88,282.887C36.88,280.925 38.397,279.334 40.269,279.334L61.731,279.334C63.603,279.334 65.12,280.925 65.12,282.887L65.12,336.193L247.905,336.193L249.88,336.193Z" />
</g>
<g transform="matrix(0.88709,0,0,0.842432,21.1135,22.7665)">
<path
d="M278.12,6L278.12,351C278.12,359.178 271.798,365.807 264,365.807L51,365.807C43.202,365.807 36.88,359.178 36.88,351L36.88,6C36.88,-2.178 43.202,-8.807 51,-8.807L264,-8.807C271.798,-8.807 278.12,-2.178 278.12,6ZM249.88,336.193L249.88,20.807C228.051,20.807 106.85,20.807 65.12,20.807L65.12,336.193L247.905,336.193L249.88,336.193Z" />
</g>
</g>
</g>
</svg>
</span>
</label>
<p class="force-right">
<span id="nrb-pages" >xx</span> pages
</p>
</div>