@xiee/utils 1.13.68 → 1.13.69
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/js/pages.js +35 -26
- package/js/pages.min.js +1 -1
- package/js/pages.min.js.map +1 -1
- package/package.json +1 -1
package/js/pages.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
function $$(s, el = d) { return el ? el.querySelectorAll(s) : []; }
|
|
6
6
|
function nChild(el) { return el.childElementCount; }
|
|
7
7
|
|
|
8
|
-
const tpl = d.createElement('div'), book = $$('h1').length > 1,
|
|
8
|
+
const tpl = d.createElement('div'), book = $$('h1').length > 1, boxes = [],
|
|
9
9
|
fr_cls = 'pagesjs-fragmented', fr_1 = 'fragment-first', fr_2 = 'fragment-last',
|
|
10
10
|
tb = ['top', 'bottom'].map(i => {
|
|
11
11
|
const v = getComputedStyle(d.documentElement).getPropertyValue(`--paper-margin-${i}`);
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
tpl.innerHTML = `<div class="pagesjs-header"></div>
|
|
16
16
|
<div class="pagesjs-body"></div>
|
|
17
17
|
<div class="pagesjs-footer"></div>`;
|
|
18
|
-
let box, box_body, box_cls = [],
|
|
18
|
+
let box, box_body, box_cls = [], box_n = 0, H, h_code, l_code = [];
|
|
19
19
|
function newPage(el) {
|
|
20
20
|
const n = boxes.length;
|
|
21
21
|
// finish previous n - 1 boxes
|
|
@@ -38,9 +38,9 @@
|
|
|
38
38
|
}
|
|
39
39
|
box.remove();
|
|
40
40
|
}
|
|
41
|
-
function removeBlank(el) {
|
|
41
|
+
function removeBlank(el, html = false) {
|
|
42
42
|
if (!el) return false;
|
|
43
|
-
const v = el.innerText.trim() === '';
|
|
43
|
+
const v = (html ? el.innerHTML : el.innerText).trim() === '';
|
|
44
44
|
v && el.remove();
|
|
45
45
|
return v;
|
|
46
46
|
}
|
|
@@ -57,20 +57,25 @@
|
|
|
57
57
|
} else {
|
|
58
58
|
box_body.append(el);
|
|
59
59
|
if (box.scrollHeight <= H) return;
|
|
60
|
-
const cls = el.classList;
|
|
60
|
+
const cls = el.classList, h0 = el.innerHTML, n0 = boxes.length;
|
|
61
|
+
fragment(el);
|
|
62
|
+
// remove empty pages
|
|
63
|
+
if (el.tagName === 'PRE') for (let i = boxes.length - 1; i >= n0; i--) {
|
|
64
|
+
removeBlank(boxes[i]) && boxes.splice(i, 1);
|
|
65
|
+
}
|
|
61
66
|
// if el can be fragmented, add class *-last, otherwise remove class (e.g.,
|
|
62
67
|
// current box can't even hold el's first child so move whole el to new box)
|
|
63
|
-
const h0 = el.innerHTML;
|
|
64
|
-
fragment(el);
|
|
65
68
|
(cls.contains(fr_cls) && el.innerHTML !== h0) ? cls.add(fr_2) :
|
|
66
69
|
[el].concat(...$$(`.${fr_cls}`, el)).forEach(el => el.classList.remove(fr_cls, fr_1));
|
|
67
70
|
l_code = []; // clean up code lines
|
|
68
71
|
}
|
|
69
72
|
}
|
|
73
|
+
function fillCode(el, i1, i2) {
|
|
74
|
+
el.innerHTML = l_code.slice(i1, i2).join('\n');
|
|
75
|
+
}
|
|
70
76
|
// break elements that are relatively easy to break (such as <ul>)
|
|
71
77
|
function fragment(el, container, parent, page) {
|
|
72
|
-
const tag = el.tagName,
|
|
73
|
-
frag = cls.contains(fr_cls);
|
|
78
|
+
const tag = el.tagName, cls = el.classList, frag = cls.contains(fr_cls);
|
|
74
79
|
parent || frag && cls.remove(fr_1);
|
|
75
80
|
// if <code>, keep fragmenting; otherwise exit when box fits
|
|
76
81
|
if (!l_code.length && box.scrollHeight <= H) return;
|
|
@@ -92,15 +97,27 @@
|
|
|
92
97
|
if (n_code > 1) {
|
|
93
98
|
if (!initial) h_code = code.offsetHeight / n_code; // approx line height
|
|
94
99
|
code.innerHTML = ''; // temporarily empty <code>; will use l_code
|
|
95
|
-
fragment(code, el2, el, box_cur)
|
|
96
|
-
|
|
100
|
+
if (fragment(code, el2, el, box_cur)) {
|
|
101
|
+
// exit if the rest of lines are empty
|
|
102
|
+
if (l_code.join('').trim() === '') {
|
|
103
|
+
el2.before(el); el.innerHTML = el2.innerHTML; el2.remove();
|
|
104
|
+
boxes.pop().remove(); newPage(boxes[boxes.length - 1]); l_code = [];
|
|
105
|
+
}
|
|
106
|
+
if (!l_code.length) return; fragment(el);
|
|
107
|
+
} else {
|
|
108
|
+
// the current page can't hold the block; fragment it on next page
|
|
109
|
+
el2.remove(); [code, el].forEach(el => el.classList.remove(fr_cls, fr_1));
|
|
110
|
+
fragment(el);
|
|
111
|
+
}
|
|
112
|
+
} else fillCode(code, 0);
|
|
97
113
|
}
|
|
114
|
+
return removeBlank(el2);
|
|
98
115
|
} else if (tag === 'DIV' && nChild(el) === 1) {
|
|
99
116
|
fragment(el.firstElementChild, el2, el, box_cur);
|
|
100
117
|
}
|
|
101
118
|
const prev = el2.previousElementSibling;
|
|
102
119
|
// keep moving el's first item to el2 until page height > H
|
|
103
|
-
if (['UL', 'OL', 'BLOCKQUOTE'].includes(tag) && nChild(el) > 1) while (true) {
|
|
120
|
+
if (['UL', 'OL', 'BLOCKQUOTE', 'FIELDSET'].includes(tag) && nChild(el) > 1) while (true) {
|
|
104
121
|
const item = el.firstChild;
|
|
105
122
|
if (!item) break;
|
|
106
123
|
el2.append(item);
|
|
@@ -115,13 +132,10 @@
|
|
|
115
132
|
}
|
|
116
133
|
}
|
|
117
134
|
// split lines in <code> and try to move as many lines into el2 as possible
|
|
118
|
-
if (
|
|
135
|
+
if (container && tag === 'CODE') {
|
|
119
136
|
// figure out how many lines can fit the box via bisection
|
|
120
137
|
let i = 0, i1 = 1, i2 = n = l_code.length;
|
|
121
138
|
const sols = []; // solutions tried
|
|
122
|
-
function fillCode(el, i1, i2) {
|
|
123
|
-
el.innerHTML = l_code.slice(i1, i2).join('\n');
|
|
124
|
-
}
|
|
125
139
|
while (i2 - i1 > 1) {
|
|
126
140
|
fillCode(el2, 0, i || 1);
|
|
127
141
|
const delta = H - box_cur.offsetHeight;
|
|
@@ -143,19 +157,15 @@
|
|
|
143
157
|
}
|
|
144
158
|
if (i > 0) {
|
|
145
159
|
fillCode(el2, 0, i1); l_code.splice(0, i1);
|
|
146
|
-
// exit if the rest of lines are empty
|
|
147
|
-
if (l_code.join('').trim() === '') {
|
|
148
|
-
container.before(parent); el.remove(); parent.append(el2);
|
|
149
|
-
boxes.pop().remove(); newPage(boxes[boxes.length - 1]);
|
|
150
|
-
return (l_code = []);
|
|
151
|
-
}
|
|
152
160
|
} else {
|
|
153
|
-
el2.innerHTML = ''; fillCode(el, 0); l_code = [];
|
|
161
|
+
el2.innerHTML = ''; fillCode(el, 0); l_code = []; // not fragmented
|
|
154
162
|
}
|
|
163
|
+
return i > 0;
|
|
155
164
|
}
|
|
156
|
-
const el2_empty = removeBlank(el2);
|
|
165
|
+
const el2_empty = removeBlank(el2, true);
|
|
166
|
+
el2_empty && cls.remove(fr_cls, fr_1);
|
|
157
167
|
// if the clone is empty, remove it, otherwise keep fragmenting the remaining el
|
|
158
|
-
if (!el2_empty ||
|
|
168
|
+
if (!el2_empty || prev) fragment(container ? parent : el);
|
|
159
169
|
}
|
|
160
170
|
|
|
161
171
|
// use data-short-title of a header if exists, and fall back to inner text
|
|
@@ -234,7 +244,6 @@
|
|
|
234
244
|
|
|
235
245
|
// add page number, title, etc. to data-* attributes of page elements
|
|
236
246
|
let page_title, i = 0;
|
|
237
|
-
boxes = boxes.filter(box => !removeBlank(box)); // remove empty pages
|
|
238
247
|
boxes.forEach(box => {
|
|
239
248
|
if (book) {
|
|
240
249
|
if ($('.frontmatter', box)) return; // skip book frontmatter page
|
package/js/pages.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(e=>{function t(t,n=e){return n?.querySelector(t)}function s(t,n=e){return n?n.querySelectorAll(t):[]}function r(e){return e.childElementCount}const a=e.createElement("div"),i=s("h1").length>1,o="pagesjs-fragmented",
|
|
1
|
+
(e=>{function t(t,n=e){return n?.querySelector(t)}function s(t,n=e){return n?n.querySelectorAll(t):[]}function r(e){return e.childElementCount}const a=e.createElement("div"),i=s("h1").length>1,o=[],c="pagesjs-fragmented",l="fragment-first",f=["top","bottom"].map((t=>+getComputedStyle(e.documentElement).getPropertyValue(`--paper-margin-${t}`).replace("px","")||0));a.className="pagesjs-page",a.innerHTML='<div class="pagesjs-header"></div>\n<div class="pagesjs-body"></div>\n<div class="pagesjs-footer"></div>';let d,p,h,g,u=[],m=0,E=[];function L(e){const n=o.length;return n-m>1&&(o.slice(m,n-1).forEach(b),m=n-1),e&&!t(".pagesjs-body",e)&&e.insertAdjacentHTML("afterbegin",a.innerHTML),d=e||a.cloneNode(!0),p=d.children[1],u.length&&d.classList.add(...u),o.includes(d)||o.push(d),d}function b(e){const t=e.scrollHeight;if(t>h&&!e.dataset.pagesOffset){const n=function(e,t){let n=+e.dataset.pagesOffset;if(n)return n;if(n=Math.ceil(t/h),n<=1)return n;const r=f.concat([...s("thead",e)].map((e=>+e.offsetHeight))).reduce(((e,t)=>e+t));if(!r)return n;function a(){return Math.ceil((t+(n-1)*r)/h)}let i=a();for(;i>n;)n=i,i=a();return n}(e,t);n>1&&(e.dataset.pagesOffset=n)}e.remove()}function T(e,t=!1){if(!e)return!1;const n=""===(t?e.innerHTML:e.innerText).trim();return n&&e.remove(),n}function v(e){if(e.classList.contains("pagesjs-page"))d.after(L(e)),r(e)>3&&(p.append(...[...e.children].slice(3)),d.after(L()));else{if(p.append(e),d.scrollHeight<=h)return;const t=e.classList,n=e.innerHTML,r=o.length;if(j(e),"PRE"===e.tagName)for(let e=o.length-1;e>=r;e--)T(o[e])&&o.splice(e,1);t.contains(c)&&e.innerHTML!==n?t.add("fragment-last"):[e].concat(...s(`.${c}`,e)).forEach((e=>e.classList.remove(c,l))),E=[]}}function H(e,t,n){e.innerHTML=E.slice(t,n).join("\n")}function j(e,t,s,a){const i=e.tagName,f=e.classList,u=f.contains(c);if(s||u&&f.remove(l),!E.length&&d.scrollHeight<=h)return;s?f.add(c):u||f.add(c,l);const m=a||d,b=e.cloneNode();if(t?t.append(b):(p.append(b),m.after(L()),p.append(e)),"PRE"===i){const t=e.firstElementChild;if("CODE"==t?.tagName){const n=E.length;n||(E=t.innerHTML.split("\n"));let s=E.length;if(s>1&&""===E[s-1]&&(s-=1),s>1)if(n||(g=t.offsetHeight/s),t.innerHTML="",j(t,b,e,m)){if(""===E.join("").trim()&&(b.before(e),e.innerHTML=b.innerHTML,b.remove(),o.pop().remove(),L(o[o.length-1]),E=[]),!E.length)return;j(e)}else b.remove(),[t,e].forEach((e=>e.classList.remove(c,l))),j(e);else H(t,0)}return T(b)}"DIV"===i&&1===r(e)&&j(e.firstElementChild,b,e,m);const v=b.previousElementSibling;if(["UL","OL","BLOCKQUOTE","FIELDSET"].includes(i)&&r(e)>1)for(;;){const t=e.firstChild;if(!t)break;if(b.append(t),!t.nodeName.startsWith("#")&&m.scrollHeight>h){(v||r(b)>1)&&e.insertBefore(t,e.firstChild),"OL"===i&&(e.start+=r(b));break}}if(t&&"CODE"===i){let t=0,s=1,r=n=E.length;const a=[];for(;r-s>1;){H(b,0,t||1);const e=h-m.offsetHeight;if(0===e){s=t||1;break}if(e<0){if(t<=0)break;r=t}else s=t;a.push(t);const i=t+Math.round(e/g);t=a.includes(i)?t+(e>0?1:-1):i,e>0&&t>=n&&(r=n+1,t=n)}return t>0?(H(b,0,s),E.splice(0,s)):(b.innerHTML="",H(e,0),E=[]),t>0}const M=T(b,!0);M&&f.remove(c,l),M&&!v||j(t?s:e)}function M(e){return e&&(e.dataset.shortTitle||e.innerText)}const C=M(t("h1.title, .frontmatter h1, .title, h1")),y=(i?"h1":"h2")+":not(.frontmatter *)";function O(){if("complete"!==e.readyState)return setTimeout(O,10);const n=e.body.classList;if(n.contains("pagesjs"))return;n.add("pagesjs"),e.body.insertAdjacentElement("afterbegin",L()),h=d.clientHeight||window.innerHeight,s(":is(#TOC, .footnotes, .chapter-before, .chapter-after):is(.side-left, .side-right).side").forEach((e=>{e.classList.remove("side","side-left","side-right")})),n.add("pagesjs-filling"),s('#TOC a[href^="#"]').forEach((t=>{const n=e.createElement("span"),s=t.firstElementChild;for(s?.classList.contains("section-number")?s.after(n):t.insertAdjacentElement("afterbegin",n);n.nextSibling;)n.append(n.nextSibling);t.insertAdjacentHTML("beforeend",'<span class="dot-leader"></span>'),t.dataset.pageNumber="000"}));const r=[];s(".body").forEach((e=>{const t=[...e.children];r.push(t),t.forEach((e=>e.remove()))})),s(".frontmatter, .abstract, #TOC:not(.chapter-toc)").forEach((e=>{v(e),i&&d.after(L())})),s(".body").forEach(((e,t)=>{u=["chapter","appendix"].filter((t=>e.classList.contains(t))),i&&(""===d.innerText?L(d):d.after(L())),r[t].forEach(v),T(e.parentNode),T(e)})),o.slice(m).forEach(b),n.remove("pagesjs-filling");let a,c=0;o.forEach((e=>{if(i){if(t(".frontmatter",e))return;t(y,e)&&(a="")}const n=+e.dataset.pagesOffset||1;n>1&&e.classList.add("page-multiple"),c+=n,e.classList.add("page-"+(c%2==0?"even":"odd"));const r={pageNumber:c,mainTitle:C,pageTitle:a};let o;[e.children[0],e.children[2]].forEach((e=>{for(const t in r)r[t]&&(e.dataset[t]=r[t])})),a=M([...s(y,e)].pop())||a,s(".footnotes",e).forEach(((t,n)=>{0===n?(o=t,e.children[1].after(t)):(o.append(...t.children),t.remove())}))})),e.body.prepend(...o),s('#TOC a[href^="#"]').forEach((e=>{const n=t(`.pagesjs-page:has(#${CSS.escape(e.getAttribute("href").replace(/^#/,""))}) .pagesjs-header`);e.dataset.pageNumber=n?n.dataset.pageNumber:""}))}addEventListener("beforeprint",O);let N=sessionStorage.getItem("pagesjs");N&&O(),addEventListener("keypress",(e=>"p"===e.key&&(O(),N=N?"":"1",sessionStorage.setItem("pagesjs",N),N||location.reload())))})(document);
|
|
2
2
|
//# sourceMappingURL=pages.min.js.map
|
package/js/pages.min.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["d","$","s","el","querySelector","$$","querySelectorAll","nChild","childElementCount","tpl","createElement","book","length","fr_cls","fr_1","tb","map","i","getComputedStyle","documentElement","getPropertyValue","replace","className","innerHTML","box","box_body","H","h_code","box_cls","
|
|
1
|
+
{"version":3,"names":["d","$","s","el","querySelector","$$","querySelectorAll","nChild","childElementCount","tpl","createElement","book","length","boxes","fr_cls","fr_1","tb","map","i","getComputedStyle","documentElement","getPropertyValue","replace","className","innerHTML","box","box_body","H","h_code","box_cls","box_n","l_code","newPage","n","slice","forEach","finish","insertAdjacentHTML","cloneNode","children","classList","add","includes","push","h","scrollHeight","dataset","pagesOffset","Math","ceil","m","concat","offsetHeight","reduce","m1","m2","newPages","n2","calcPages","remove","removeBlank","html","v","innerText","trim","fill","contains","after","append","cls","h0","n0","fragment","tagName","splice","fillCode","i1","i2","join","container","parent","page","tag","frag","box_cur","el2","code","firstElementChild","initial","split","n_code","before","pop","prev","previousElementSibling","item","firstChild","nodeName","startsWith","insertBefore","start","sols","delta","i3","round","el2_empty","shortTitle","main","ps","paginate","readyState","setTimeout","body","insertAdjacentElement","clientHeight","window","innerHeight","a","nextSibling","pageNumber","els","ch","filter","parentNode","page_title","N","info","mainTitle","pageTitle","ft","key","prepend","p","CSS","escape","getAttribute","addEventListener","pg","sessionStorage","getItem","e","setItem","location","reload","document"],"sources":["pages.js"],"mappings":"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","ignoreList":[]}
|