@xiee/utils 1.12.24 → 1.12.26
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/css/code-line-numbers.css +8 -0
- package/css/code-line-numbers.min.css +2 -0
- package/css/code-line-numbers.min.css.map +1 -0
- package/css/default.css +5 -9
- package/css/default.min.css +1 -1
- package/css/default.min.css.map +1 -1
- package/js/code-line-numbers.js +21 -0
- package/js/code-line-numbers.min.js +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"mappings":"AAAA","sources":["code-line-numbers.css"],"sourcesContent":["span[data-line-number]::before {\n content: attr(data-line-number);\n padding-right: .5em;\n margin-right: 1em;\n display: inline-block;\n border-right: solid 1px;\n color: #ccc;\n}\n"],"names":[]}
|
package/css/default.css
CHANGED
|
@@ -15,7 +15,7 @@ pre, img { max-width: 100%; }
|
|
|
15
15
|
pre, pre:hover { white-space: pre-wrap; word-break: break-all; }
|
|
16
16
|
pre code { display: block; overflow-x: auto; }
|
|
17
17
|
code { font-family: 'DejaVu Sans Mono', 'Droid Sans Mono', 'Lucida Console', Consolas, Monaco, monospace; }
|
|
18
|
-
:not(pre) > code, code[class], .
|
|
18
|
+
:not(pre) > code, code[class], .box > div { background-color: #f8f8f8; }
|
|
19
19
|
pre > code:not([class]), pre > .language-plain, .box { background-color: inherit; border: 1px solid #eee; }
|
|
20
20
|
pre > .message { border-color: #9eeaf9; }
|
|
21
21
|
pre > .warning { background: #fff3cd; border-color: #fff3cd; }
|
|
@@ -25,19 +25,15 @@ pre > .error { background: #f8d7da; border-color: #f8d7da; }
|
|
|
25
25
|
opacity: .4;
|
|
26
26
|
border: 1px dashed #666;
|
|
27
27
|
border-left: 2px solid;
|
|
28
|
+
&:hover { opacity: inherit; }
|
|
28
29
|
}
|
|
29
|
-
.code-fence:hover { opacity: inherit; }
|
|
30
|
-
.line-numbers code { display: table; padding: 0 0 0 1em; }
|
|
31
|
-
pre[class*=language-].line-numbers { padding: 1em 0; margin-left: 3.5em; }
|
|
32
|
-
.line-numbers .line-numbers-rows { left: -3.5em; }
|
|
33
|
-
.line-numbers-rows > span:before { padding-right: .5em; }
|
|
34
30
|
.box { margin: 1em 0; }
|
|
35
31
|
.box > :first-child > p:first-child, .box > :last-child > p:last-child { padding: 1em; }
|
|
36
32
|
.box > :first-child, .box > :first-child > p:first-child { margin-top: 0; }
|
|
37
33
|
.box > :last-child, .box > :last-child > p:last-child { margin-bottom: 0; }
|
|
38
|
-
.figure > p { text-align: center; }
|
|
34
|
+
.figure > p:has(img) { text-align: center; }
|
|
39
35
|
table {
|
|
40
|
-
margin: auto; border-top: 1px solid #666;
|
|
36
|
+
margin: auto; border-top: 1px solid #666;
|
|
41
37
|
thead th { border-bottom: 1px solid #ddd; }
|
|
42
38
|
th, td { padding: 5px; }
|
|
43
39
|
thead, tfoot, tr:nth-child(even) { background: #eee; }
|
|
@@ -64,7 +60,7 @@ table, .body h2 { border-bottom: 1px solid #666; }
|
|
|
64
60
|
.cross-ref-fig::before, .ref-number-fig::before { content: "Figure "; }
|
|
65
61
|
.cross-ref-tab::before, .ref-number-tab::before { content: "Table "; }
|
|
66
62
|
.footnote-ref a {
|
|
67
|
-
&::before { content: "["; }
|
|
63
|
+
&::before { content: "["; }
|
|
68
64
|
&::after { content: "]"; }
|
|
69
65
|
}
|
|
70
66
|
section.footnotes {
|
package/css/default.min.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
body{box-sizing:border-box;max-width:800px;margin:auto;padding:1em;font-family:sans-serif;line-height:1.5}body,.footnotes,code{font-size:.9em}li li{font-size:.95em}ul:has(li>input[type=checkbox]){padding-left:1em;list-style:none}*,:before,:after{box-sizing:inherit}a{color:#4682b4}pre,img{max-width:100%}pre,pre:hover{white-space:pre-wrap;word-break:break-all}pre code{display:block;overflow-x:auto}code{font-family:DejaVu Sans Mono,Droid Sans Mono,Lucida Console,Consolas,Monaco,monospace}:not(pre)>code,code[class],.
|
|
1
|
+
body{box-sizing:border-box;max-width:800px;margin:auto;padding:1em;font-family:sans-serif;line-height:1.5}body,.footnotes,code{font-size:.9em}li li{font-size:.95em}ul:has(li>input[type=checkbox]){padding-left:1em;list-style:none}*,:before,:after{box-sizing:inherit}a{color:#4682b4}pre,img{max-width:100%}pre,pre:hover{white-space:pre-wrap;word-break:break-all}pre code{display:block;overflow-x:auto}code{font-family:DejaVu Sans Mono,Droid Sans Mono,Lucida Console,Consolas,Monaco,monospace}:not(pre)>code,code[class],.box>div{background-color:#f8f8f8}pre>code:not([class]),pre>.language-plain,.box{background-color:inherit;border:1px solid #eee}pre>.message{border-color:#9eeaf9}pre>.warning{background:#fff3cd;border-color:#fff3cd}pre>.error{background:#f8d7da;border-color:#f8d7da}.fenced-chunk{border-left:1px solid #666}.code-fence{opacity:.4;border:1px dashed #666;border-left:2px solid;&:hover{opacity:inherit}}.box{margin:1em 0}.box>:first-child>p:first-child,.box>:last-child>p:last-child{padding:1em}.box>:first-child,.box>:first-child>p:first-child{margin-top:0}.box>:last-child,.box>:last-child>p:last-child{margin-bottom:0}.figure>p:has(img){text-align:center}table{border-top:1px solid #666;margin:auto;& thead th{border-bottom:1px solid #ddd}& th,& td{padding:5px}& thead,& tfoot,& tr:nth-child(2n){background:#eee}}blockquote{color:#666;border-left:.5em solid #eee;margin:0;padding:1px 1em}hr,.footnotes:before{border:1px dashed #ddd}.frontmatter{text-align:center}#TOC .numbered{padding-left:0;& li{list-style:none}& ul{padding-left:1em}}table,.body h2{border-bottom:1px solid #666}.body .appendix,.appendix~h2{border-bottom-style:dashed}.main-number:after{content:"."}.ref-number-fig:after,.ref-number-tab:after{content:":"}.cross-ref-chp:before{content:"Chapter "}.cross-ref-sec:before{content:"Section "}.cross-ref-fig:before,.ref-number-fig:before{content:"Figure "}.cross-ref-tab:before,.ref-number-tab:before{content:"Table "}.footnote-ref a{&:before{content:"["}&:after{content:"]"}}section.footnotes{margin-top:2em;&:before{content:"";max-width:20em;display:block}}@media print{body{max-width:100%;font-size:12pt}tr,img{page-break-inside:avoid}}@media only screen and (width>=992px){pre{white-space:pre}}
|
|
2
2
|
/*# sourceMappingURL=default.min.css.map */
|
package/css/default.min.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"mappings":"AAAA,0GAQA,oCACA,sBACA,iEACA,oCACA,gBACA,uBACA,wDACA,uCACA,2FACA,
|
|
1
|
+
{"version":3,"mappings":"AAAA,0GAQA,oCACA,sBACA,iEACA,oCACA,gBACA,uBACA,wDACA,uCACA,2FACA,6DACA,8FACA,kCACA,qDACA,mDACA,yCACA,oEAIE,yBAEF,kBACA,0EACA,+DACA,+DACA,qCACA,4CAEE,wCACA,sBACA,oDAEF,2EAMA,4CACA,+BACA,8BAEE,qBACA,uBAEF,4CACA,wDACA,+BACA,wDACA,yCACA,yCACA,+DACA,8DACA,gBACE,qBACA,qBAEF,iCAEE,kDAGF,aACE,mCACA,gCAEF,sCACE","sources":["default.css"],"sourcesContent":["body {\n font-family: sans-serif;\n max-width: 800px;\n margin: auto;\n padding: 1em;\n line-height: 1.5;\n box-sizing: border-box;\n}\nbody, .footnotes, code { font-size: .9em; }\nli li { font-size: .95em; }\nul:has(li > input[type=\"checkbox\"]) { list-style: none; padding-left: 1em; }\n*, *:before, *:after { box-sizing: inherit; }\na { color: steelblue; }\npre, img { max-width: 100%; }\npre, pre:hover { white-space: pre-wrap; word-break: break-all; }\npre code { display: block; overflow-x: auto; }\ncode { font-family: 'DejaVu Sans Mono', 'Droid Sans Mono', 'Lucida Console', Consolas, Monaco, monospace; }\n:not(pre) > code, code[class], .box > div { background-color: #f8f8f8; }\npre > code:not([class]), pre > .language-plain, .box { background-color: inherit; border: 1px solid #eee; }\npre > .message { border-color: #9eeaf9; }\npre > .warning { background: #fff3cd; border-color: #fff3cd; }\npre > .error { background: #f8d7da; border-color: #f8d7da; }\n.fenced-chunk { border-left: 1px solid #666; }\n.code-fence {\n opacity: .4;\n border: 1px dashed #666;\n border-left: 2px solid;\n &:hover { opacity: inherit; }\n}\n.box { margin: 1em 0; }\n.box > :first-child > p:first-child, .box > :last-child > p:last-child { padding: 1em; }\n.box > :first-child, .box > :first-child > p:first-child { margin-top: 0; }\n.box > :last-child, .box > :last-child > p:last-child { margin-bottom: 0; }\n.figure > p:has(img) { text-align: center; }\ntable {\n margin: auto; border-top: 1px solid #666;\n thead th { border-bottom: 1px solid #ddd; }\n th, td { padding: 5px; }\n thead, tfoot, tr:nth-child(even) { background: #eee; }\n}\nblockquote {\n color: #666;\n margin: 0;\n padding: 1px 1em;\n border-left: .5em solid #eee;\n}\nhr, .footnotes::before { border: 1px dashed #ddd; }\n.frontmatter { text-align: center; }\n#TOC .numbered {\n padding-left: 0;\n li { list-style: none; }\n ul { padding-left: 1em; }\n}\ntable, .body h2 { border-bottom: 1px solid #666; }\n.body .appendix, .appendix ~ h2 { border-bottom-style: dashed; }\n.main-number::after { content: \".\"; }\n.ref-number-fig::after, .ref-number-tab::after { content: \":\"; }\n.cross-ref-chp::before { content: \"Chapter \"; }\n.cross-ref-sec::before { content: \"Section \"; }\n.cross-ref-fig::before, .ref-number-fig::before { content: \"Figure \"; }\n.cross-ref-tab::before, .ref-number-tab::before { content: \"Table \"; }\n.footnote-ref a {\n &::before { content: \"[\"; }\n &::after { content: \"]\"; }\n}\nsection.footnotes {\n margin-top: 2em;\n &::before { content: \"\"; display: block; max-width: 20em; }\n}\n\n@media print {\n body { font-size: 12pt; max-width: 100%; }\n tr, img { page-break-inside: avoid; }\n}\n@media only screen and (min-width: 992px) {\n pre { white-space: pre; }\n}\n"],"names":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// add line numbers to code blocks for <code class="line-numbers" [data-start=*]>
|
|
2
|
+
(() => {
|
|
3
|
+
function addNum(el) {
|
|
4
|
+
const s = '<span data-line-number=""></span>', sel = 'span[data-line-number]';
|
|
5
|
+
if (!el.classList.contains('line-numbers') || el.parentNode.tagName !== 'PRE'
|
|
6
|
+
|| el.querySelector(sel)) return;
|
|
7
|
+
el.innerHTML = s + el.innerHTML.replace(/(\n)(.|\s)/g, '$1' + s + '$2');
|
|
8
|
+
let n1 = +el.dataset.start; if (isNaN(n1)) n1 = 1;
|
|
9
|
+
const spans = el.querySelectorAll(sel), w = ('' + (n1 - 1 + spans.length)).length;
|
|
10
|
+
spans.forEach(sp => {
|
|
11
|
+
let n = '' + (n1++), d = w - n.length;
|
|
12
|
+
if (d > 0) n = '0'.repeat(d) + n;
|
|
13
|
+
sp.dataset.lineNumber = n;
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
function addAll(e) {
|
|
17
|
+
e ? (e.grammar && addNum(e.element)) :
|
|
18
|
+
document.querySelectorAll('pre > code.line-numbers:first-child').forEach(addNum);
|
|
19
|
+
}
|
|
20
|
+
Prism?.hooks ? Prism.hooks.add('complete', addAll) : addAll();
|
|
21
|
+
})();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(()=>{function e(e){const n='<span data-line-number=""></span>',t="span[data-line-number]";if(!e.classList.contains("line-numbers")||"PRE"!==e.parentNode.tagName||e.querySelector(t))return;e.innerHTML=n+e.innerHTML.replace(/(\n)(.|\s)/g,"$1"+n+"$2");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}))}function n(n){n?n.grammar&&e(n.element):document.querySelectorAll("pre > code.line-numbers:first-child").forEach(e)}Prism?.hooks?Prism.hooks.add("complete",n):n()})();
|