@xiee/utils 1.13.43 → 1.13.44
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/README.md +3 -0
- package/css/pages.min.css +1 -1
- package/js/code-line-numbers.js +2 -7
- package/js/code-line-numbers.min.js +1 -1
- package/js/code-line-numbers.min.js.map +1 -1
- package/js/revdep-log-reader.js +25 -0
- package/js/revdep-log-reader.min.js +1 -0
- package/js/revdep-log-reader.min.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
[](https://www.jsdelivr.com/package/npm/@xiee/utils)
|
|
3
|
+
|
|
1
4
|
This repo contains miscellaneous tools and utilities written in JavaScript. They
|
|
2
5
|
are published as an NPM package
|
|
3
6
|
[`@xiee/utils`](https://www.npmjs.com/package/@xiee/utils). You can load them
|
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;--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-top)var(--paper-margin-right)var(--paper-margin-bottom)var(--paper-margin-left);page-break-after:always;flex-direction:column;justify-content:space-between;display:flex;overflow:hidden;& img{max-width:100%}& pre{white-space:pre-wrap}& .chapter-before,& .chapter-after,& .buttons: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}}}& .fullwidth{float:none;width:var(--paper-width);margin-left:calc(0px - var(--paper-margin-left));
|
|
1
|
+
:root{--paper-width:210mm;--paper-height:297mm;--paper-margin-top:40px;--paper-margin-right:80px;--paper-margin-bottom:40px;--paper-margin-left:80px;--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-top)var(--paper-margin-right)var(--paper-margin-bottom)var(--paper-margin-left);page-break-after:always;flex-direction:column;justify-content:space-between;display:flex;overflow:hidden;& img{max-width:100%}& pre{white-space:pre-wrap}& .chapter-before,& .chapter-after,& .buttons: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}}}& .fullwidth{float:none;max-width:none;width:var(--paper-width);margin-left:calc(0px - var(--paper-margin-left));transform:none}& .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-top)var(--paper-margin-right)var(--paper-margin-bottom)var(--paper-margin-left);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:calc(0px - var(--side-margin));& .fullwidth{transform:translate(calc(0px - var(--side-width)))}}&:has(.side-right,.embed-right) .pagesjs-body{padding-right:calc(0px - var(--side-margin))}& .side{background:0 0;font-size:.9em}}}.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{&:has(.pagesjs-page){background-color:#f7f7f7}& .pagesjs-page{background-color:#fff}& .page-multiple{overflow-y:auto}}.pagesjs-filling{display:block;& .pagesjs-page{height:auto;& .pagesjs-body:has(.footnotes){margin-bottom:1em}}}}@media print{.pagesjs{gap:0;margin:0;& .page-multiple{padding-top:0;padding-bottom:0}}}
|
|
2
2
|
/*# sourceMappingURL=pages.min.css.map */
|
package/js/code-line-numbers.js
CHANGED
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
(() => {
|
|
3
3
|
function addNum(el) {
|
|
4
4
|
const s = '<span data-line-number=""></span>', sel = 'span[data-line-number]';
|
|
5
|
-
if (
|
|
6
|
-
|| el.querySelector(sel)) return;
|
|
5
|
+
if (el.querySelector(sel)) return;
|
|
7
6
|
el.innerHTML = s + el.innerHTML.replace(/\n(?=.|\s)/g, '\n' + s);
|
|
8
7
|
let n1 = +el.dataset.start; if (isNaN(n1)) n1 = 1;
|
|
9
8
|
const spans = el.querySelectorAll(sel), w = ('' + (n1 - 1 + spans.length)).length;
|
|
@@ -13,9 +12,5 @@
|
|
|
13
12
|
sp.dataset.lineNumber = n;
|
|
14
13
|
});
|
|
15
14
|
}
|
|
16
|
-
|
|
17
|
-
e ? (e.grammar && addNum(e.element)) :
|
|
18
|
-
document.querySelectorAll('pre > code.line-numbers:first-child').forEach(addNum);
|
|
19
|
-
}
|
|
20
|
-
window.Prism?.hooks ? Prism.hooks.add('complete', addAll) : addAll();
|
|
15
|
+
addEventListener('load', e => document.querySelectorAll('pre > code.line-numbers:first-child').forEach(addNum));
|
|
21
16
|
})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{function e(e){const n='<span data-line-number=""></span>',t="span[data-line-number]";if(
|
|
1
|
+
(()=>{function e(e){const n='<span data-line-number=""></span>',t="span[data-line-number]";if(e.querySelector(t))return;e.innerHTML=n+e.innerHTML.replace(/\n(?=.|\s)/g,"\n"+n);let r=+e.dataset.start;isNaN(r)&&(r=1);const a=e.querySelectorAll(t),l=(""+(r-1+a.length)).length;a.forEach((e=>{let n=""+r++,t=l-n.length;t>0&&(n="0".repeat(t)+n),e.dataset.lineNumber=n}))}addEventListener("load",(n=>document.querySelectorAll("pre > code.line-numbers:first-child").forEach(e)))})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["addNum","el","s","sel","
|
|
1
|
+
{"version":3,"names":["addNum","el","s","sel","querySelector","innerHTML","replace","n1","dataset","start","isNaN","spans","querySelectorAll","w","length","forEach","sp","n","d","repeat","lineNumber","addEventListener","e","document"],"sources":["code-line-numbers.js"],"mappings":"AACA,MACE,SAASA,EAAOC,GACd,MAAMC,EAAI,oCAAqCC,EAAM,yBACrD,GAAIF,EAAGG,cAAcD,GAAM,OAC3BF,EAAGI,UAAYH,EAAID,EAAGI,UAAUC,QAAQ,cAAe,KAAOJ,GAC9D,IAAIK,GAAMN,EAAGO,QAAQC,MAAWC,MAAMH,KAAKA,EAAK,GAChD,MAAMI,EAAQV,EAAGW,iBAAiBT,GAAMU,GAAK,IAAMN,EAAK,EAAII,EAAMG,SAASA,OAC3EH,EAAMI,SAAQC,IACZ,IAAIC,EAAI,GAAMV,IAAOW,EAAIL,EAAII,EAAEH,OAC3BI,EAAI,IAAGD,EAAI,IAAIE,OAAOD,GAAKD,GAC/BD,EAAGR,QAAQY,WAAaH,CAAC,GAE7B,CACAI,iBAAiB,QAAQC,GAAKC,SAASX,iBAAiB,uCAAuCG,QAAQf,IACxG,EAdD","ignoreList":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// the CRAN revdep check log can be extremely lengthy, so I wrote this script to
|
|
2
|
+
// make the log easier to read (using one tab for one package/problem)
|
|
3
|
+
(d => {
|
|
4
|
+
const entries = d.body.innerText
|
|
5
|
+
.replace(/^(.|\n)*?(?=Package:)/, '')
|
|
6
|
+
.split(/(^|\n)Package: /)
|
|
7
|
+
.filter(x => x.trim())
|
|
8
|
+
.map(x => `<div class="tab-link">${x.replace(/(.*?)\n/, '$1 <a href="https://cran.r-project.org/web/checks/check_results_$1.html" style="text-decoration: none;" target="_blank">↝</a></div><div class="tab-pane"><pre style="white-space: pre-wrap;">')}</pre></div>`)
|
|
9
|
+
.join('\n');
|
|
10
|
+
d.body.innerHTML = `<div class="tabset">${entries}</div>`;
|
|
11
|
+
d.head.insertAdjacentHTML('beforeend', '<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@xiee/utils/css/tabsets.min.css">');
|
|
12
|
+
const s = d.createElement('script');
|
|
13
|
+
s.src = 'https://cdn.jsdelivr.net/npm/@xiee/utils/js/tabsets.min.js';
|
|
14
|
+
d.body.insertAdjacentElement('beforeend', s);
|
|
15
|
+
const links = [...d.querySelectorAll('.tab-link')], N = links.length;
|
|
16
|
+
d.addEventListener('keyup', e => {
|
|
17
|
+
const dir = ['ArrowLeft', 'ArrowRight'].indexOf(e.key);
|
|
18
|
+
if (dir < 0) return;
|
|
19
|
+
const a = d.querySelector('.tab-link.active');
|
|
20
|
+
let i = links.indexOf(a) + (dir ? 1 : -1);
|
|
21
|
+
if (i < 0) i = N - 1;
|
|
22
|
+
if (i > N - 1) i = 0;
|
|
23
|
+
links[i].click();
|
|
24
|
+
});
|
|
25
|
+
})(document);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(e=>{const t=e.body.innerText.replace(/^(.|\n)*?(?=Package:)/,"").split(/(^|\n)Package: /).filter((e=>e.trim())).map((e=>`<div class="tab-link">${e.replace(/(.*?)\n/,'$1 <a href="https://cran.r-project.org/web/checks/check_results_$1.html" style="text-decoration: none;" target="_blank">↝</a></div><div class="tab-pane"><pre style="white-space: pre-wrap;">')}</pre></div>`)).join("\n");e.body.innerHTML=`<div class="tabset">${t}</div>`,e.head.insertAdjacentHTML("beforeend",'<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@xiee/utils/css/tabsets.min.css">');const n=e.createElement("script");n.src="https://cdn.jsdelivr.net/npm/@xiee/utils/js/tabsets.min.js",e.body.insertAdjacentElement("beforeend",n);const s=[...e.querySelectorAll(".tab-link")],r=s.length;e.addEventListener("keyup",(t=>{const n=["ArrowLeft","ArrowRight"].indexOf(t.key);if(n<0)return;const i=e.querySelector(".tab-link.active");let c=s.indexOf(i)+(n?1:-1);c<0&&(c=r-1),c>r-1&&(c=0),s[c].click()}))})(document);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["d","entries","body","innerText","replace","split","filter","x","trim","map","join","innerHTML","head","insertAdjacentHTML","s","createElement","src","insertAdjacentElement","links","querySelectorAll","N","length","addEventListener","e","dir","indexOf","key","a","querySelector","i","click","document"],"sources":["revdep-log-reader.js"],"mappings":"AAEA,CAACA,IACC,MAAMC,EAAUD,EAAEE,KAAKC,UACpBC,QAAQ,wBAAyB,IACjCC,MAAM,mBACNC,QAAOC,GAAKA,EAAEC,SACdC,KAAIF,GAAK,yBAAyBA,EAAEH,QAAQ,UAAW,uNACvDM,KAAK,MACRV,EAAEE,KAAKS,UAAY,uBAAuBV,UAC1CD,EAAEY,KAAKC,mBAAmB,YAAa,+FACvC,MAAMC,EAAId,EAAEe,cAAc,UAC1BD,EAAEE,IAAM,6DACRhB,EAAEE,KAAKe,sBAAsB,YAAaH,GAC1C,MAAMI,EAAQ,IAAIlB,EAAEmB,iBAAiB,cAAeC,EAAIF,EAAMG,OAC9DrB,EAAEsB,iBAAiB,SAASC,IAC1B,MAAMC,EAAM,CAAC,YAAa,cAAcC,QAAQF,EAAEG,KAClD,GAAIF,EAAM,EAAG,OACb,MAAMG,EAAI3B,EAAE4B,cAAc,oBAC1B,IAAIC,EAAIX,EAAMO,QAAQE,IAAMH,EAAM,GAAK,GACnCK,EAAI,IAAGA,EAAIT,EAAI,GACfS,EAAIT,EAAI,IAAGS,EAAI,GACnBX,EAAMW,GAAGC,OAAO,GAEnB,EAtBD,CAsBGC","ignoreList":[]}
|