@xiee/utils 1.13.10 → 1.13.12

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.
@@ -9,11 +9,12 @@ jobs:
9
9
  - uses: actions/checkout@v4
10
10
  with:
11
11
  fetch-depth: 0
12
+ fetch-tags: true
12
13
  - uses: actions/setup-node@v4
13
14
  with:
14
15
  registry-url: 'https://registry.npmjs.org'
15
16
  - run: ./build.sh
16
- - run: PREVIOUS_COMMIT=${{ github.event.before }} CURRENT_COMMIT=${{ github.sha }} ./purge.sh || true
17
+ - run: ./purge.sh || true
17
18
  - run: npm publish --access public
18
19
  env:
19
20
  NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
package/css/pages.css CHANGED
@@ -104,6 +104,15 @@
104
104
  }
105
105
  }
106
106
  }
107
+ &:has(.side-left, .embed-left) .pagesjs-body {
108
+ padding-left: 200px;
109
+ }
110
+ &:has(.side-right, .embed-right) .pagesjs-body {
111
+ padding-right: 200px;
112
+ }
113
+ .side {
114
+ background: none;
115
+ }
107
116
  }
108
117
  }
109
118
  .pagesjs-header, .pagesjs-footer {
@@ -159,7 +168,7 @@
159
168
  margin: 0;
160
169
  gap: 0;
161
170
  .page-multiple {
162
- padding-top: 0
171
+ padding-top: 0;
163
172
  padding-bottom: 0;
164
173
  }
165
174
  }
package/css/pages.min.css CHANGED
@@ -1,2 +1,2 @@
1
- :root{--paper-width:210mm;--paper-height:297mm;--paper-margin-top:40px;--paper-margin-right:80px;--paper-margin-bottom:40px;--paper-margin-left:80px;--paper-margin:var(--paper-margin-top)var(--paper-margin-right)var(--paper-margin-bottom)var(--paper-margin-left);--page-header-height:40px;--page-header-bottom:40px;--page-footer-height:40px;--page-footer-top:40px}@page{size:var(--paper-width)var(--paper-height);margin:0}@page multiple{margin-top:var(--paper-margin-top);margin-bottom:var(--paper-margin-bottom)}.page-multiple{page:multiple}.pagesjs{flex-wrap:wrap;justify-content:center;gap:5mm;max-width:100%;margin:5mm;padding:0;display:flex;& .frontmatter,& .chapter{min-height:unset;box-shadow:none}& .pagesjs-page{width:var(--paper-width);height:var(--paper-height);padding:var(--paper-margin);page-break-after:always;flex-direction:column;justify-content:space-between;display:flex;& img{max-width:100%}& pre{white-space:pre-wrap}& .chapter-before,& .chapter-after,& .pencil:has(+.chapter-before){display:none}& #TOC{border:none;margin-left:auto;padding:0;&:not(.pagesjs-page:has(#TOC)~.pagesjs-page *):before{content:"Contents";margin-bottom:1em;font-size:1.5em;font-weight:700;display:block}&>ul{columns:18em}& a{display:flex;&:after{content:attr(data-page-number);align-self:end}& .section-number{margin-right:.3em}& .dot-leader{border-bottom:1px dashed;flex:1 0 2em;margin:0 1ex 1ex}}}& .footnotes:before{content:"";border-top:1px solid;max-width:20em;display:block}&:first-child:is(.page-book *){padding:0;& .pagesjs-header,& .pagesjs-footer{display:none}& .frontmatter{padding:var(--paper-margin);height:100%;margin:0;& .title{margin-top:calc(0px - var(--paper-margin-top))}&>div{margin:0 calc(0px - var(--paper-margin-right))0 calc(0px - var(--paper-margin-left))}}}}}.pagesjs-header,.pagesjs-footer{justify-content:space-between;font-size:.9em;display:flex}.pagesjs-header{flex:0 0 var(--page-header-height);margin-bottom:var(--page-header-bottom);align-items:end;&:before{content:attr(data-main-title)}&:after{content:attr(data-page-title)}}.pagesjs-footer{flex:0 0 var(--page-footer-height);margin-top:var(--page-footer-top);align-items:start;&:before{content:" "}&:after{content:attr(data-page-number)}}.pagesjs-body{flex-grow:1;position:relative}@media only screen{.pagesjs{background-color:#f7f7f7;& .pagesjs-page{background-color:#fff}& .page-multiple{overflow-y:auto}}.pagesjs-filling{display:block;& .pagesjs-page{height:auto}}}@media print{.pagesjs{gap:0;margin:0;& .page-multiple{padding-top:0 padding-bottom: 0}}}
1
+ :root{--paper-width:210mm;--paper-height:297mm;--paper-margin-top:40px;--paper-margin-right:80px;--paper-margin-bottom:40px;--paper-margin-left:80px;--paper-margin:var(--paper-margin-top)var(--paper-margin-right)var(--paper-margin-bottom)var(--paper-margin-left);--page-header-height:40px;--page-header-bottom:40px;--page-footer-height:40px;--page-footer-top:40px}@page{size:var(--paper-width)var(--paper-height);margin:0}@page multiple{margin-top:var(--paper-margin-top);margin-bottom:var(--paper-margin-bottom)}.page-multiple{page:multiple}.pagesjs{flex-wrap:wrap;justify-content:center;gap:5mm;max-width:100%;margin:5mm;padding:0;display:flex;& .frontmatter,& .chapter{min-height:unset;box-shadow:none}& .pagesjs-page{width:var(--paper-width);height:var(--paper-height);padding:var(--paper-margin);page-break-after:always;flex-direction:column;justify-content:space-between;display:flex;& img{max-width:100%}& pre{white-space:pre-wrap}& .chapter-before,& .chapter-after,& .pencil:has(+.chapter-before){display:none}& #TOC{border:none;margin-left:auto;padding:0;&:not(.pagesjs-page:has(#TOC)~.pagesjs-page *):before{content:"Contents";margin-bottom:1em;font-size:1.5em;font-weight:700;display:block}&>ul{columns:18em}& a{display:flex;&:after{content:attr(data-page-number);align-self:end}& .section-number{margin-right:.3em}& .dot-leader{border-bottom:1px dashed;flex:1 0 2em;margin:0 1ex 1ex}}}& .footnotes:before{content:"";border-top:1px solid;max-width:20em;display:block}&:first-child:is(.page-book *){padding:0;& .pagesjs-header,& .pagesjs-footer{display:none}& .frontmatter{padding:var(--paper-margin);height:100%;margin:0;& .title{margin-top:calc(0px - var(--paper-margin-top))}&>div{margin:0 calc(0px - var(--paper-margin-right))0 calc(0px - var(--paper-margin-left))}}}&:has(.side-left,.embed-left) .pagesjs-body{padding-left:200px}&:has(.side-right,.embed-right) .pagesjs-body{padding-right:200px}& .side{background:0 0}}}.pagesjs-header,.pagesjs-footer{justify-content:space-between;font-size:.9em;display:flex}.pagesjs-header{flex:0 0 var(--page-header-height);margin-bottom:var(--page-header-bottom);align-items:end;&:before{content:attr(data-main-title)}&:after{content:attr(data-page-title)}}.pagesjs-footer{flex:0 0 var(--page-footer-height);margin-top:var(--page-footer-top);align-items:start;&:before{content:" "}&:after{content:attr(data-page-number)}}.pagesjs-body{flex-grow:1;position:relative}@media only screen{.pagesjs{background-color:#f7f7f7;& .pagesjs-page{background-color:#fff}& .page-multiple{overflow-y:auto}}.pagesjs-filling{display:block;& .pagesjs-page{height:auto}}}@media print{.pagesjs{gap:0;margin:0;& .page-multiple{padding-top:0;padding-bottom:0}}}
2
2
  /*# sourceMappingURL=pages.min.css.map */
@@ -1 +1 @@
1
- {"version":3,"mappings":"AAAA,4WAaA,0DAIA,2FAIA,6BAGA,wGAQE,2DAIA,yLAQE,qBAGA,2BAGA,gFAGA,8CAIE,yIAOA,kBAGA,iBAEE,sDAIA,oCAGA,uEAOJ,iFAMA,yCAEE,iDAGA,gEAIE,wDAGA,+FAOR,0FAKA,2GAIE,uCAGA,uCAIF,uGAIE,qBAGA,wCAIF,4CAIA,mBACE,kCAEE,sCAGA,kCAIF,+BAEE,8BAKJ,aACE,wBAGE","sources":["pages.css"],"sourcesContent":[":root {\n --paper-width: 210mm;\n --paper-height: 297mm;\n --paper-margin-top: 40px;\n --paper-margin-right: 80px;\n --paper-margin-bottom: 40px;\n --paper-margin-left: 80px;\n --paper-margin: var(--paper-margin-top) var(--paper-margin-right) var(--paper-margin-bottom) var(--paper-margin-left);\n --page-header-height: 40px;\n --page-header-bottom: 40px;\n --page-footer-height: 40px;\n --page-footer-top: 40px;\n}\n@page {\n size: var(--paper-width) var(--paper-height);\n margin: 0;\n}\n@page multiple {\n margin-top: var(--paper-margin-top);\n margin-bottom: var(--paper-margin-bottom);\n}\n.page-multiple {\n page: multiple;\n}\n.pagesjs {\n padding: 0;\n max-width: 100%;\n margin: 5mm;\n display: flex;\n justify-content: center;\n flex-wrap: wrap;\n gap: 5mm;\n .frontmatter, .chapter {\n min-height: unset;\n box-shadow: none;\n }\n .pagesjs-page {\n width: var(--paper-width);\n height: var(--paper-height);\n padding: var(--paper-margin);\n \tpage-break-after: always;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n img {\n max-width: 100%;\n }\n pre {\n white-space: pre-wrap;\n }\n .chapter-before, .chapter-after, .pencil:has(+ .chapter-before) {\n display: none;\n }\n #TOC {\n border: none;\n padding: 0;\n margin-left: auto;\n &:not(.pagesjs-page:has(#TOC) ~ .pagesjs-page *)::before {\n content: \"Contents\";\n display: block;\n font-weight: bold;\n font-size: 1.5em;\n margin-bottom: 1em;\n }\n & > ul {\n columns: 18em;\n }\n a {\n display: flex;\n &::after {\n content: attr(data-page-number);\n align-self: end;\n }\n .section-number {\n margin-right: .3em;\n }\n .dot-leader {\n flex: 1 0 2em;\n border-bottom: dashed 1px;\n margin: 0 1ex 1ex;\n }\n }\n }\n .footnotes::before {\n content: \"\";\n display: block;\n max-width: 20em;\n border-top: solid 1px;\n }\n &:first-child:is(.page-book *) {\n padding: 0;\n .pagesjs-header, .pagesjs-footer {\n display: none;\n }\n .frontmatter {\n margin: 0;\n padding: var(--paper-margin);\n height: 100%;\n .title {\n margin-top: calc(0px - var(--paper-margin-top));\n }\n & > div {\n margin: 0 calc(0px - var(--paper-margin-right)) 0 calc(0px - var(--paper-margin-left));\n }\n }\n }\n }\n}\n.pagesjs-header, .pagesjs-footer {\n font-size: .9em;\n display: flex;\n justify-content: space-between;\n}\n.pagesjs-header {\n flex: 0 0 var(--page-header-height);\n margin-bottom: var(--page-header-bottom);\n align-items: end;\n &::before {\n content: attr(data-main-title);\n }\n &::after {\n content: attr(data-page-title);\n }\n}\n.pagesjs-footer {\n flex: 0 0 var(--page-footer-height);\n margin-top: var(--page-footer-top);\n align-items: start;\n &::before {\n content: \" \";\n }\n &::after {\n content: attr(data-page-number);\n }\n}\n.pagesjs-body {\n flex-grow: 1;\n position: relative;\n}\n@media only screen {\n .pagesjs {\n background-color: #f7f7f7;\n .pagesjs-page {\n background-color: white;\n }\n .page-multiple {\n overflow-y: auto;\n }\n }\n .pagesjs-filling {\n display: block;\n .pagesjs-page {\n height: auto;\n }\n }\n}\n@media print {\n .pagesjs {\n margin: 0;\n gap: 0;\n .page-multiple {\n padding-top: 0\n padding-bottom: 0;\n }\n }\n}\n"],"names":[]}
1
+ {"version":3,"mappings":"AAAA,4WAaA,0DAIA,2FAIA,6BAGA,wGAQE,2DAIA,yLAQE,qBAGA,2BAGA,gFAGA,8CAIE,yIAOA,kBAGA,iBAEE,sDAIA,oCAGA,uEAOJ,iFAMA,yCAEE,iDAGA,gEAIE,wDAGA,6FAKJ,+DAGA,kEAGA,yBAKJ,0FAKA,2GAIE,uCAGA,uCAIF,uGAIE,qBAGA,wCAIF,4CAIA,mBACE,kCAEE,sCAGA,kCAIF,+BAEE,8BAKJ,aACE,wBAGE","sources":["pages.css"],"sourcesContent":[":root {\n --paper-width: 210mm;\n --paper-height: 297mm;\n --paper-margin-top: 40px;\n --paper-margin-right: 80px;\n --paper-margin-bottom: 40px;\n --paper-margin-left: 80px;\n --paper-margin: var(--paper-margin-top) var(--paper-margin-right) var(--paper-margin-bottom) var(--paper-margin-left);\n --page-header-height: 40px;\n --page-header-bottom: 40px;\n --page-footer-height: 40px;\n --page-footer-top: 40px;\n}\n@page {\n size: var(--paper-width) var(--paper-height);\n margin: 0;\n}\n@page multiple {\n margin-top: var(--paper-margin-top);\n margin-bottom: var(--paper-margin-bottom);\n}\n.page-multiple {\n page: multiple;\n}\n.pagesjs {\n padding: 0;\n max-width: 100%;\n margin: 5mm;\n display: flex;\n justify-content: center;\n flex-wrap: wrap;\n gap: 5mm;\n .frontmatter, .chapter {\n min-height: unset;\n box-shadow: none;\n }\n .pagesjs-page {\n width: var(--paper-width);\n height: var(--paper-height);\n padding: var(--paper-margin);\n \tpage-break-after: always;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n img {\n max-width: 100%;\n }\n pre {\n white-space: pre-wrap;\n }\n .chapter-before, .chapter-after, .pencil:has(+ .chapter-before) {\n display: none;\n }\n #TOC {\n border: none;\n padding: 0;\n margin-left: auto;\n &:not(.pagesjs-page:has(#TOC) ~ .pagesjs-page *)::before {\n content: \"Contents\";\n display: block;\n font-weight: bold;\n font-size: 1.5em;\n margin-bottom: 1em;\n }\n & > ul {\n columns: 18em;\n }\n a {\n display: flex;\n &::after {\n content: attr(data-page-number);\n align-self: end;\n }\n .section-number {\n margin-right: .3em;\n }\n .dot-leader {\n flex: 1 0 2em;\n border-bottom: dashed 1px;\n margin: 0 1ex 1ex;\n }\n }\n }\n .footnotes::before {\n content: \"\";\n display: block;\n max-width: 20em;\n border-top: solid 1px;\n }\n &:first-child:is(.page-book *) {\n padding: 0;\n .pagesjs-header, .pagesjs-footer {\n display: none;\n }\n .frontmatter {\n margin: 0;\n padding: var(--paper-margin);\n height: 100%;\n .title {\n margin-top: calc(0px - var(--paper-margin-top));\n }\n & > div {\n margin: 0 calc(0px - var(--paper-margin-right)) 0 calc(0px - var(--paper-margin-left));\n }\n }\n }\n &:has(.side-left, .embed-left) .pagesjs-body {\n padding-left: 200px;\n }\n &:has(.side-right, .embed-right) .pagesjs-body {\n padding-right: 200px;\n }\n .side {\n background: none;\n }\n }\n}\n.pagesjs-header, .pagesjs-footer {\n font-size: .9em;\n display: flex;\n justify-content: space-between;\n}\n.pagesjs-header {\n flex: 0 0 var(--page-header-height);\n margin-bottom: var(--page-header-bottom);\n align-items: end;\n &::before {\n content: attr(data-main-title);\n }\n &::after {\n content: attr(data-page-title);\n }\n}\n.pagesjs-footer {\n flex: 0 0 var(--page-footer-height);\n margin-top: var(--page-footer-top);\n align-items: start;\n &::before {\n content: \" \";\n }\n &::after {\n content: attr(data-page-number);\n }\n}\n.pagesjs-body {\n flex-grow: 1;\n position: relative;\n}\n@media only screen {\n .pagesjs {\n background-color: #f7f7f7;\n .pagesjs-page {\n background-color: white;\n }\n .page-multiple {\n overflow-y: auto;\n }\n }\n .pagesjs-filling {\n display: block;\n .pagesjs-page {\n height: auto;\n }\n }\n}\n@media print {\n .pagesjs {\n margin: 0;\n gap: 0;\n .page-multiple {\n padding-top: 0;\n padding-bottom: 0;\n }\n }\n}\n"],"names":[]}
package/js/pages.js CHANGED
@@ -110,7 +110,7 @@
110
110
  H = box.clientHeight || window.innerHeight; // use window height if box height not specified
111
111
 
112
112
  // remove possible classes on TOC/footnotes that we don't need for printing
113
- $$(':is(#TOC, .footnotes):is(.side-left, .side-right).side').forEach(el => {
113
+ $$(':is(#TOC, .footnotes, .chapter-before, .chapter-after):is(.side-left, .side-right).side').forEach(el => {
114
114
  el.classList.remove('side', 'side-left', 'side-right');
115
115
  });
116
116
 
package/js/pages.min.js CHANGED
@@ -1 +1 @@
1
- (e=>{function t(t,n=e){return n?.querySelector(t)}function n(t,n=e){return n?n.querySelectorAll(t):[]}const a=e.createElement("div"),r=n("h1").length>1;a.className="pagesjs-page",a.innerHTML='<div class="pagesjs-header"></div>\n<div class="pagesjs-body"></div>\n<div class="pagesjs-footer"></div>';let s,i,o,l=[];function c(e){return e&&!t(".pagesjs-body",e)&&e.insertAdjacentHTML("afterbegin",a.innerHTML),s=e||a.cloneNode(!0),i=s.children[1],l.length&&s.classList.add(...l),s}function d(e){if(!e)return!1;const t=""===e.innerText.trim();return t&&e.remove(),t}function f(e){if(e.classList.contains("pagesjs-page"))return s.after(c(e)),void(e.childElementCount>3&&(i.append(...[...e.children].slice(3)),s.after(c())));if(s.scrollHeight>o){const[e,t]=[s,i];e.after(c()),t.childElementCount>1&&i.append(t.lastElementChild)}i.append(e),p(e)}function p(e,t,n,a){if(s.scrollHeight<=o)return;const r=a||s,l=e.cloneNode();if(t?t.append(l):(i.append(l),r.after(c()),i.append(e)),"DIV"===e.tagName&&1===e.childElementCount&&p(e.firstElementChild,l,e,r),["UL","BLOCKQUOTE"].indexOf(e.tagName)>-1&&e.childElementCount>1)for(;;){const t=e.firstChild;if(!t)break;if(l.append(t),r.scrollHeight>o){e.insertBefore(t,e.firstChild);break}}l.lastChild||l.remove(),p(t?n:e)}function g(e){return e&&(e.dataset.shortTitle||e.innerText)}const h=g(t("h1.title, .frontmatter h1, .title, h1")),u=(r?"h1":"h2")+":not(.frontmatter *)",m=["top","bottom"].map((t=>+getComputedStyle(e.documentElement).getPropertyValue(`--paper-margin-${t}`).replace("px","")||0));function b(){const a=e.body.classList;if(a.contains("pagesjs"))return;a.add("pagesjs"),r&&a.add("page-book"),e.body.insertAdjacentElement("afterbegin",c()),o=s.clientHeight||window.innerHeight,n(":is(#TOC, .footnotes):is(.side-left, .side-right).side").forEach((e=>{e.classList.remove("side","side-left","side-right")})),a.add("pagesjs-filling"),n(".frontmatter, #TOC, .abstract").forEach((e=>(f(e),r&&s.after(c())))),n(".body").forEach((e=>{l=["chapter","appendix"].filter((t=>e.classList.contains(t))),c(s),r&&""!==s.innerText&&s.after(c()),[...e.children].map(f),d(e.parentNode),d(e)})),a.remove("pagesjs-filling");const i=t("#TOC");n('a[href^="#"]',i).forEach((t=>{const n=e.createElement("span"),a=t.firstElementChild;for(a?.classList.contains("section-number")?a.after(n):t.insertAdjacentElement("afterbegin",n);n.nextSibling;)n.append(n.nextSibling);t.insertAdjacentHTML("beforeend",'<span class="dot-leader"></span>'),t.dataset.pageNumber="000"}));let p,b=0;n(".pagesjs-page").forEach((e=>{if(d(e))return;r&&t(u,e)&&(p="");const a=function(e){let t=+e.dataset.pagesOffset;if(t)return t;const a=e.scrollHeight;if(t=Math.ceil(a/o),t<=1)return t;const r=m.concat([...n("thead",e)].map((e=>+e.offsetHeight))).reduce(((e,t)=>e+t));if(!r)return t;function s(){return Math.ceil((a+(t-1)*r)/o)}let i=s();for(;i>t;)t=i,i=s();return t}(e);a>1&&e.classList.add("page-multiple"),b+=a;const s={pageNumber:b,mainTitle:h,pageTitle:p};let i;[e.children[0],e.children[2]].forEach((e=>{for(const t in s)s[t]&&(e.dataset[t]=s[t])})),p=g([...n(u,e)].pop())||p,n(".footnotes",e).forEach(((t,n)=>{0===n?(i=t,e.children[1].after(t)):(i.append(...t.children),t.remove())}))})),n('a[href^="#"]',i).forEach((e=>{const n=t(`.pagesjs-page:has(${e.getAttribute("href")}) .pagesjs-header`);e.dataset.pageNumber=n?n.dataset.pageNumber:""}))}addEventListener("beforeprint",b);let E=sessionStorage.getItem("pagesjs");E&&b(),addEventListener("keypress",(e=>"p"===e.key&&(b(),E=E?"":"1",sessionStorage.setItem("pagesjs",E),E||location.reload())))})(document);
1
+ (e=>{function t(t,n=e){return n?.querySelector(t)}function n(t,n=e){return n?n.querySelectorAll(t):[]}const a=e.createElement("div"),r=n("h1").length>1;a.className="pagesjs-page",a.innerHTML='<div class="pagesjs-header"></div>\n<div class="pagesjs-body"></div>\n<div class="pagesjs-footer"></div>';let s,i,o,l=[];function c(e){return e&&!t(".pagesjs-body",e)&&e.insertAdjacentHTML("afterbegin",a.innerHTML),s=e||a.cloneNode(!0),i=s.children[1],l.length&&s.classList.add(...l),s}function d(e){if(!e)return!1;const t=""===e.innerText.trim();return t&&e.remove(),t}function f(e){if(e.classList.contains("pagesjs-page"))return s.after(c(e)),void(e.childElementCount>3&&(i.append(...[...e.children].slice(3)),s.after(c())));if(s.scrollHeight>o){const[e,t]=[s,i];e.after(c()),t.childElementCount>1&&i.append(t.lastElementChild)}i.append(e),p(e)}function p(e,t,n,a){if(s.scrollHeight<=o)return;const r=a||s,l=e.cloneNode();if(t?t.append(l):(i.append(l),r.after(c()),i.append(e)),"DIV"===e.tagName&&1===e.childElementCount&&p(e.firstElementChild,l,e,r),["UL","BLOCKQUOTE"].indexOf(e.tagName)>-1&&e.childElementCount>1)for(;;){const t=e.firstChild;if(!t)break;if(l.append(t),r.scrollHeight>o){e.insertBefore(t,e.firstChild);break}}l.lastChild||l.remove(),p(t?n:e)}function h(e){return e&&(e.dataset.shortTitle||e.innerText)}const g=h(t("h1.title, .frontmatter h1, .title, h1")),u=(r?"h1":"h2")+":not(.frontmatter *)",m=["top","bottom"].map((t=>+getComputedStyle(e.documentElement).getPropertyValue(`--paper-margin-${t}`).replace("px","")||0));function b(){const a=e.body.classList;if(a.contains("pagesjs"))return;a.add("pagesjs"),r&&a.add("page-book"),e.body.insertAdjacentElement("afterbegin",c()),o=s.clientHeight||window.innerHeight,n(":is(#TOC, .footnotes, .chapter-before, .chapter-after):is(.side-left, .side-right).side").forEach((e=>{e.classList.remove("side","side-left","side-right")})),a.add("pagesjs-filling"),n(".frontmatter, #TOC, .abstract").forEach((e=>(f(e),r&&s.after(c())))),n(".body").forEach((e=>{l=["chapter","appendix"].filter((t=>e.classList.contains(t))),c(s),r&&""!==s.innerText&&s.after(c()),[...e.children].map(f),d(e.parentNode),d(e)})),a.remove("pagesjs-filling");const i=t("#TOC");n('a[href^="#"]',i).forEach((t=>{const n=e.createElement("span"),a=t.firstElementChild;for(a?.classList.contains("section-number")?a.after(n):t.insertAdjacentElement("afterbegin",n);n.nextSibling;)n.append(n.nextSibling);t.insertAdjacentHTML("beforeend",'<span class="dot-leader"></span>'),t.dataset.pageNumber="000"}));let p,b=0;n(".pagesjs-page").forEach((e=>{if(d(e))return;r&&t(u,e)&&(p="");const a=function(e){let t=+e.dataset.pagesOffset;if(t)return t;const a=e.scrollHeight;if(t=Math.ceil(a/o),t<=1)return t;const r=m.concat([...n("thead",e)].map((e=>+e.offsetHeight))).reduce(((e,t)=>e+t));if(!r)return t;function s(){return Math.ceil((a+(t-1)*r)/o)}let i=s();for(;i>t;)t=i,i=s();return t}(e);a>1&&e.classList.add("page-multiple"),b+=a;const s={pageNumber:b,mainTitle:g,pageTitle:p};let i;[e.children[0],e.children[2]].forEach((e=>{for(const t in s)s[t]&&(e.dataset[t]=s[t])})),p=h([...n(u,e)].pop())||p,n(".footnotes",e).forEach(((t,n)=>{0===n?(i=t,e.children[1].after(t)):(i.append(...t.children),t.remove())}))})),n('a[href^="#"]',i).forEach((e=>{const n=t(`.pagesjs-page:has(${e.getAttribute("href")}) .pagesjs-header`);e.dataset.pageNumber=n?n.dataset.pageNumber:""}))}addEventListener("beforeprint",b);let E=sessionStorage.getItem("pagesjs");E&&b(),addEventListener("keypress",(e=>"p"===e.key&&(b(),E=E?"":"1",sessionStorage.setItem("pagesjs",E),E||location.reload())))})(document);
@@ -1 +1 @@
1
- {"version":3,"names":["d","$","s","el","querySelector","$$","querySelectorAll","tpl","createElement","book","length","className","innerHTML","box","box_body","H","box_cls","newPage","insertAdjacentHTML","cloneNode","children","classList","add","removeBlank","v","innerText","trim","remove","fill","contains","after","childElementCount","append","slice","scrollHeight","box2","box_body2","lastElementChild","fragment","container","parent","page","box_cur","el2","tagName","firstElementChild","indexOf","item","firstChild","insertBefore","lastChild","shortTitle","h","dataset","main","ps","tb","map","i","getComputedStyle","documentElement","getPropertyValue","replace","paginate","cls","body","insertAdjacentElement","clientHeight","window","innerHeight","forEach","filter","parentNode","toc","a","n","nextSibling","pageNumber","page_title","N","pagesOffset","Math","ceil","m","concat","offsetHeight","reduce","m1","m2","newPages","n2","calcPages","info","mainTitle","pageTitle","ft","key","pop","p","getAttribute","addEventListener","pg","sessionStorage","getItem","e","setItem","location","reload","document"],"sources":["pages.js"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["d","$","s","el","querySelector","$$","querySelectorAll","tpl","createElement","book","length","className","innerHTML","box","box_body","H","box_cls","newPage","insertAdjacentHTML","cloneNode","children","classList","add","removeBlank","v","innerText","trim","remove","fill","contains","after","childElementCount","append","slice","scrollHeight","box2","box_body2","lastElementChild","fragment","container","parent","page","box_cur","el2","tagName","firstElementChild","indexOf","item","firstChild","insertBefore","lastChild","shortTitle","h","dataset","main","ps","tb","map","i","getComputedStyle","documentElement","getPropertyValue","replace","paginate","cls","body","insertAdjacentElement","clientHeight","window","innerHeight","forEach","filter","parentNode","toc","a","n","nextSibling","pageNumber","page_title","N","pagesOffset","Math","ceil","m","concat","offsetHeight","reduce","m1","m2","newPages","n2","calcPages","info","mainTitle","pageTitle","ft","key","pop","p","getAttribute","addEventListener","pg","sessionStorage","getItem","e","setItem","location","reload","document"],"sources":["pages.js"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xiee/utils",
3
- "version": "1.13.10",
3
+ "version": "1.13.12",
4
4
  "description": "Miscellaneous tools and utilities to manipulate HTML pages",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"
package/purge.sh CHANGED
@@ -3,7 +3,9 @@
3
3
  # purge jsdevlivr cache for assets modified between current and previous tags
4
4
  JSD_URL="https://purge.jsdelivr.net/npm/@xiee/utils"
5
5
 
6
- for i in $(git diff --name-only $PREVIOUS_COMMIT $CURRENT_COMMIT | grep -E "[.](css|js)$"); do
6
+ tag2=$(git describe --tags --abbrev=0)
7
+ tag1=$(git describe --tags --abbrev=0 "$tag2^")
8
+ for i in $(git diff --name-only $tag1 $tag2 | grep -E "[.](css|js)$"); do
7
9
  curl "${JSD_URL}/${i}"
8
- curl "${JSD_URL}/${i%.*}.min.${i##.}"
10
+ curl "${JSD_URL}/$(echo "$i" | sed 's/(\.[^.]*$)/.min\1/')"
9
11
  done