hermium 0.2.0 → 0.3.1
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/bin/hermium.mjs +103 -58
- package/dist/api.mjs +35 -0
- package/dist/public/assets/css/styles-o9LLzp-x.css +1 -0
- package/dist/public/assets/js/{ChatInputBlock-Bw7AL70H.js → ChatInputBlock-BgJMx5nW.js} +1 -1
- package/dist/public/assets/js/{MarkdownMessage-8d7Y6VL-.js → MarkdownMessage-Dd6VsKhk.js} +1 -1
- package/dist/public/assets/js/{base-ui-BvQbAt_1.js → base-ui-Ls-HE_Zl.js} +1 -1
- package/dist/public/assets/js/{chat._sessionId-BG6lVraH.js → chat._sessionId-Yif-J0_7.js} +1 -1
- package/dist/public/assets/js/{chat.index-D2zdMPTT.js → chat.index-QgwoSqOs.js} +1 -1
- package/dist/public/assets/js/{index-C0AK45FU.js → index-BDLsrzTe.js} +26 -26
- package/dist/public/assets/js/{index-Cx5En4FK.js → index-DRH0t4ti.js} +1 -1
- package/dist/public/assets/js/{memory-CeSRdTkW.js → memory-CHpNNtU2.js} +1 -1
- package/dist/public/assets/js/{router-8uDKazL-.js → router-B8BATVn7.js} +1 -1
- package/dist/public/assets/js/{settings-Bc3Y5zXO.js → settings-CRV3Pp8x.js} +1 -1
- package/dist/public/assets/js/{skills-DZv7sA_5.js → skills-C8G72gXr.js} +1 -1
- package/dist/public/assets/js/{usage-DXQsT9_b.js → usage-Bev8hqwh.js} +1 -1
- package/dist/server/__23tanstack-start-plugin-adapters-Cwee5PKy.mjs +6 -0
- package/dist/server/_chunks/ssr-renderer.mjs +22 -0
- package/dist/server/_libs/bail.mjs +8 -0
- package/dist/server/_libs/base-ui__react.mjs +9858 -0
- package/dist/server/_libs/base-ui__utils.mjs +1106 -0
- package/dist/server/_libs/ccount.mjs +16 -0
- package/dist/server/_libs/character-entities.mjs +2130 -0
- package/dist/server/_libs/class-variance-authority.mjs +44 -0
- package/dist/server/_libs/clsx.mjs +16 -0
- package/dist/server/_libs/comma-separated-tokens.mjs +10 -0
- package/dist/server/_libs/cookie-es.mjs +1 -0
- package/dist/server/_libs/croner.mjs +1 -0
- package/dist/server/_libs/crossws.mjs +1 -0
- package/dist/server/_libs/decode-named-character-reference+[...].mjs +8 -0
- package/dist/server/_libs/devlop.mjs +8 -0
- package/dist/server/_libs/escape-string-regexp.mjs +9 -0
- package/dist/server/_libs/estree-util-is-identifier-name.mjs +11 -0
- package/dist/server/_libs/extend.mjs +97 -0
- package/dist/server/_libs/floating-ui__core.mjs +663 -0
- package/dist/server/_libs/floating-ui__dom.mjs +624 -0
- package/dist/server/_libs/floating-ui__react-dom.mjs +279 -0
- package/dist/server/_libs/floating-ui__utils.mjs +322 -0
- package/dist/server/_libs/h3.mjs +408 -0
- package/dist/server/_libs/hast-util-is-element.mjs +75 -0
- package/dist/server/_libs/hast-util-to-jsx-runtime.mjs +388 -0
- package/dist/server/_libs/hast-util-to-text.mjs +305 -0
- package/dist/server/_libs/hast-util-whitespace.mjs +10 -0
- package/dist/server/_libs/highlight.js.mjs +14756 -0
- package/dist/server/_libs/hookable.mjs +1 -0
- package/dist/server/_libs/html-url-attributes.mjs +26 -0
- package/dist/server/_libs/inline-style-parser.mjs +142 -0
- package/dist/server/_libs/is-plain-obj.mjs +10 -0
- package/dist/server/_libs/isbot.mjs +21 -0
- package/dist/server/_libs/longest-streak.mjs +25 -0
- package/dist/server/_libs/lowlight.mjs +262 -0
- package/dist/server/_libs/markdown-table.mjs +142 -0
- package/dist/server/_libs/mdast-util-find-and-replace.mjs +109 -0
- package/dist/server/_libs/mdast-util-from-markdown.mjs +717 -0
- package/dist/server/_libs/mdast-util-gfm-autolink-literal+[...].mjs +156 -0
- package/dist/server/_libs/mdast-util-gfm-footnote.mjs +117 -0
- package/dist/server/_libs/mdast-util-gfm-strikethrough.mjs +54 -0
- package/dist/server/_libs/mdast-util-gfm-table.mjs +157 -0
- package/dist/server/_libs/mdast-util-gfm-task-list-item.mjs +77 -0
- package/dist/server/_libs/mdast-util-gfm.mjs +29 -0
- package/dist/server/_libs/mdast-util-phrasing.mjs +30 -0
- package/dist/server/_libs/mdast-util-to-hast.mjs +710 -0
- package/dist/server/_libs/mdast-util-to-markdown.mjs +798 -0
- package/dist/server/_libs/mdast-util-to-string.mjs +38 -0
- package/dist/server/_libs/micromark-core-commonmark.mjs +2259 -0
- package/dist/server/_libs/micromark-extension-gfm-autolink-literal+[...].mjs +344 -0
- package/dist/server/_libs/micromark-extension-gfm-footnote+[...].mjs +279 -0
- package/dist/server/_libs/micromark-extension-gfm-strikethrough+[...].mjs +98 -0
- package/dist/server/_libs/micromark-extension-gfm-table.mjs +491 -0
- package/dist/server/_libs/micromark-extension-gfm-tagfilter+[...].mjs +1 -0
- package/dist/server/_libs/micromark-extension-gfm-task-list-item+[...].mjs +77 -0
- package/dist/server/_libs/micromark-extension-gfm.mjs +18 -0
- package/dist/server/_libs/micromark-factory-destination.mjs +94 -0
- package/dist/server/_libs/micromark-factory-label.mjs +63 -0
- package/dist/server/_libs/micromark-factory-space.mjs +24 -0
- package/dist/server/_libs/micromark-factory-title.mjs +65 -0
- package/dist/server/_libs/micromark-factory-whitespace.mjs +22 -0
- package/dist/server/_libs/micromark-util-character.mjs +44 -0
- package/dist/server/_libs/micromark-util-chunked.mjs +36 -0
- package/dist/server/_libs/micromark-util-classify-character+[...].mjs +12 -0
- package/dist/server/_libs/micromark-util-combine-extensions+[...].mjs +41 -0
- package/dist/server/_libs/micromark-util-decode-numeric-character-reference+[...].mjs +19 -0
- package/dist/server/_libs/micromark-util-decode-string.mjs +21 -0
- package/dist/server/_libs/micromark-util-encode.mjs +1 -0
- package/dist/server/_libs/micromark-util-html-tag-name.mjs +69 -0
- package/dist/server/_libs/micromark-util-normalize-identifier+[...].mjs +6 -0
- package/dist/server/_libs/micromark-util-resolve-all.mjs +15 -0
- package/dist/server/_libs/micromark-util-sanitize-uri.mjs +41 -0
- package/dist/server/_libs/micromark-util-subtokenize.mjs +346 -0
- package/dist/server/_libs/micromark.mjs +906 -0
- package/dist/server/_libs/ocache.mjs +1 -0
- package/dist/server/_libs/ohash.mjs +1 -0
- package/dist/server/_libs/property-information.mjs +1209 -0
- package/dist/server/_libs/react-dom.mjs +10779 -0
- package/dist/server/_libs/react-markdown.mjs +147 -0
- package/dist/server/_libs/react.mjs +513 -0
- package/dist/server/_libs/rehype-highlight.mjs +94 -0
- package/dist/server/_libs/remark-gfm.mjs +20 -0
- package/dist/server/_libs/remark-parse.mjs +19 -0
- package/dist/server/_libs/remark-rehype.mjs +21 -0
- package/dist/server/_libs/reselect.mjs +1 -0
- package/dist/server/_libs/rou3.mjs +8 -0
- package/dist/server/_libs/seroval-plugins.mjs +1 -0
- package/dist/server/_libs/seroval.mjs +1 -0
- package/dist/server/_libs/space-separated-tokens.mjs +6 -0
- package/dist/server/_libs/srvx.mjs +781 -0
- package/dist/server/_libs/style-to-js.mjs +72 -0
- package/dist/server/_libs/style-to-object.mjs +38 -0
- package/dist/server/_libs/tabler__icons-react.mjs +140 -0
- package/dist/server/_libs/tailwind-merge.mjs +3255 -0
- package/dist/server/_libs/tanstack__history.mjs +29 -0
- package/dist/server/_libs/tanstack__react-router.mjs +1120 -0
- package/dist/server/_libs/tanstack__react-store.mjs +2 -0
- package/dist/server/_libs/tanstack__router-core.mjs +3594 -0
- package/dist/server/_libs/tanstack__store.mjs +1 -0
- package/dist/server/_libs/trim-lines.mjs +41 -0
- package/dist/server/_libs/trough.mjs +85 -0
- package/dist/server/_libs/ufo.mjs +54 -0
- package/dist/server/_libs/unctx.mjs +1 -0
- package/dist/server/_libs/ungap__structured-clone.mjs +224 -0
- package/dist/server/_libs/unified.mjs +661 -0
- package/dist/server/_libs/unist-util-find-after.mjs +41 -0
- package/dist/server/_libs/unist-util-is.mjs +100 -0
- package/dist/server/_libs/unist-util-position.mjs +27 -0
- package/dist/server/_libs/unist-util-stringify-position.mjs +27 -0
- package/dist/server/_libs/unist-util-visit-parents.mjs +83 -0
- package/dist/server/_libs/unist-util-visit.mjs +24 -0
- package/dist/server/_libs/unstorage.mjs +1 -0
- package/dist/server/_libs/use-sync-external-store.mjs +139 -0
- package/dist/server/_libs/vfile-message.mjs +138 -0
- package/dist/server/_libs/vfile.mjs +467 -0
- package/dist/server/_libs/zustand.mjs +43 -0
- package/dist/server/_libs/zwitch.mjs +1 -0
- package/dist/server/_ssr/ChatInputBlock-Bu2-iop_.mjs +220 -0
- package/dist/server/_ssr/MarkdownMessage-CNS7OSKN.mjs +68 -0
- package/dist/server/_ssr/chat._sessionId-P02iSfut.mjs +477 -0
- package/dist/server/_ssr/chat.index-BYB_48NC.mjs +64 -0
- package/dist/server/_ssr/index-C1mT_2d8.mjs +4890 -0
- package/dist/server/_ssr/index-DFV9_oCk.mjs +43 -0
- package/dist/server/_ssr/memory-CW_fSOG9.mjs +257 -0
- package/dist/server/_ssr/router-CUAfx91O.mjs +2035 -0
- package/dist/server/_ssr/settings-DoXurzvn.mjs +10 -0
- package/dist/server/_ssr/skills-Cs7A5ZwO.mjs +422 -0
- package/dist/server/_ssr/theme-BK4-7E2h.mjs +42 -0
- package/dist/server/_ssr/usage-Bs2-LXGz.mjs +298 -0
- package/dist/server/_tanstack-start-manifest_v-C7Upe2TI.mjs +4 -0
- package/dist/server/index.mjs +506 -0
- package/dist/server/public/assets/css/index-Dfs9RUU9.css +1 -0
- package/dist/server/public/assets/css/styles-o9LLzp-x.css +1 -0
- package/dist/server/public/assets/js/ChatInputBlock-BgJMx5nW.js +1 -0
- package/dist/server/public/assets/js/MarkdownMessage-Dd6VsKhk.js +1 -0
- package/dist/server/public/assets/js/base-ui-Ls-HE_Zl.js +1 -0
- package/dist/server/public/assets/js/chat._sessionId-Yif-J0_7.js +1 -0
- package/dist/server/public/assets/js/chat.index-QgwoSqOs.js +1 -0
- package/dist/server/public/assets/js/index-BDLsrzTe.js +60 -0
- package/dist/server/public/assets/js/index-DRH0t4ti.js +1 -0
- package/dist/server/public/assets/js/memory-CHpNNtU2.js +3 -0
- package/dist/server/public/assets/js/router-B8BATVn7.js +1 -0
- package/dist/server/public/assets/js/settings-CRV3Pp8x.js +1 -0
- package/dist/server/public/assets/js/skills-C8G72gXr.js +1 -0
- package/dist/server/public/assets/js/theme-CPkdkpaj.js +1 -0
- package/dist/server/public/assets/js/usage-Bev8hqwh.js +1 -0
- package/dist/server/public/assets/woff2/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
- package/dist/server/public/assets/woff2/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
- package/dist/server/public/assets/woff2/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
- package/dist/server/public/assets/woff2/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
- package/dist/server/public/assets/woff2/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
- package/dist/server/public/favicon.ico +0 -0
- package/dist/server/public/logo.png +0 -0
- package/dist/server/public/manifest.json +25 -0
- package/dist/server/public/robots.txt +3 -0
- package/package.json +4 -3
- package/dist/public/assets/css/styles-B8p6jk5Z.css +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
const urlAttributes = {
|
|
2
|
+
action: ["form"],
|
|
3
|
+
cite: ["blockquote", "del", "ins", "q"],
|
|
4
|
+
data: ["object"],
|
|
5
|
+
formAction: ["button", "input"],
|
|
6
|
+
href: ["a", "area", "base", "link"],
|
|
7
|
+
icon: ["menuitem"],
|
|
8
|
+
itemId: null,
|
|
9
|
+
manifest: ["html"],
|
|
10
|
+
ping: ["a", "area"],
|
|
11
|
+
poster: ["video"],
|
|
12
|
+
src: [
|
|
13
|
+
"audio",
|
|
14
|
+
"embed",
|
|
15
|
+
"iframe",
|
|
16
|
+
"img",
|
|
17
|
+
"input",
|
|
18
|
+
"script",
|
|
19
|
+
"source",
|
|
20
|
+
"track",
|
|
21
|
+
"video"
|
|
22
|
+
]
|
|
23
|
+
};
|
|
24
|
+
export {
|
|
25
|
+
urlAttributes as u
|
|
26
|
+
};
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
var cjs;
|
|
2
|
+
var hasRequiredCjs;
|
|
3
|
+
function requireCjs() {
|
|
4
|
+
if (hasRequiredCjs) return cjs;
|
|
5
|
+
hasRequiredCjs = 1;
|
|
6
|
+
var COMMENT_REGEX = /\/\*[^*]*\*+([^/*][^*]*\*+)*\//g;
|
|
7
|
+
var NEWLINE_REGEX = /\n/g;
|
|
8
|
+
var WHITESPACE_REGEX = /^\s*/;
|
|
9
|
+
var PROPERTY_REGEX = /^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/;
|
|
10
|
+
var COLON_REGEX = /^:\s*/;
|
|
11
|
+
var VALUE_REGEX = /^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/;
|
|
12
|
+
var SEMICOLON_REGEX = /^[;\s]*/;
|
|
13
|
+
var TRIM_REGEX = /^\s+|\s+$/g;
|
|
14
|
+
var NEWLINE = "\n";
|
|
15
|
+
var FORWARD_SLASH = "/";
|
|
16
|
+
var ASTERISK = "*";
|
|
17
|
+
var EMPTY_STRING = "";
|
|
18
|
+
var TYPE_COMMENT = "comment";
|
|
19
|
+
var TYPE_DECLARATION = "declaration";
|
|
20
|
+
function index(style, options) {
|
|
21
|
+
if (typeof style !== "string") {
|
|
22
|
+
throw new TypeError("First argument must be a string");
|
|
23
|
+
}
|
|
24
|
+
if (!style) return [];
|
|
25
|
+
options = options || {};
|
|
26
|
+
var lineno = 1;
|
|
27
|
+
var column = 1;
|
|
28
|
+
function updatePosition(str) {
|
|
29
|
+
var lines = str.match(NEWLINE_REGEX);
|
|
30
|
+
if (lines) lineno += lines.length;
|
|
31
|
+
var i = str.lastIndexOf(NEWLINE);
|
|
32
|
+
column = ~i ? str.length - i : column + str.length;
|
|
33
|
+
}
|
|
34
|
+
function position() {
|
|
35
|
+
var start = { line: lineno, column };
|
|
36
|
+
return function(node) {
|
|
37
|
+
node.position = new Position(start);
|
|
38
|
+
whitespace();
|
|
39
|
+
return node;
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function Position(start) {
|
|
43
|
+
this.start = start;
|
|
44
|
+
this.end = { line: lineno, column };
|
|
45
|
+
this.source = options.source;
|
|
46
|
+
}
|
|
47
|
+
Position.prototype.content = style;
|
|
48
|
+
function error(msg) {
|
|
49
|
+
var err = new Error(
|
|
50
|
+
options.source + ":" + lineno + ":" + column + ": " + msg
|
|
51
|
+
);
|
|
52
|
+
err.reason = msg;
|
|
53
|
+
err.filename = options.source;
|
|
54
|
+
err.line = lineno;
|
|
55
|
+
err.column = column;
|
|
56
|
+
err.source = style;
|
|
57
|
+
if (options.silent) ;
|
|
58
|
+
else {
|
|
59
|
+
throw err;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
function match(re) {
|
|
63
|
+
var m = re.exec(style);
|
|
64
|
+
if (!m) return;
|
|
65
|
+
var str = m[0];
|
|
66
|
+
updatePosition(str);
|
|
67
|
+
style = style.slice(str.length);
|
|
68
|
+
return m;
|
|
69
|
+
}
|
|
70
|
+
function whitespace() {
|
|
71
|
+
match(WHITESPACE_REGEX);
|
|
72
|
+
}
|
|
73
|
+
function comments(rules) {
|
|
74
|
+
var c;
|
|
75
|
+
rules = rules || [];
|
|
76
|
+
while (c = comment()) {
|
|
77
|
+
if (c !== false) {
|
|
78
|
+
rules.push(c);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return rules;
|
|
82
|
+
}
|
|
83
|
+
function comment() {
|
|
84
|
+
var pos = position();
|
|
85
|
+
if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;
|
|
86
|
+
var i = 2;
|
|
87
|
+
while (EMPTY_STRING != style.charAt(i) && (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))) {
|
|
88
|
+
++i;
|
|
89
|
+
}
|
|
90
|
+
i += 2;
|
|
91
|
+
if (EMPTY_STRING === style.charAt(i - 1)) {
|
|
92
|
+
return error("End of comment missing");
|
|
93
|
+
}
|
|
94
|
+
var str = style.slice(2, i - 2);
|
|
95
|
+
column += 2;
|
|
96
|
+
updatePosition(str);
|
|
97
|
+
style = style.slice(i);
|
|
98
|
+
column += 2;
|
|
99
|
+
return pos({
|
|
100
|
+
type: TYPE_COMMENT,
|
|
101
|
+
comment: str
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
function declaration() {
|
|
105
|
+
var pos = position();
|
|
106
|
+
var prop = match(PROPERTY_REGEX);
|
|
107
|
+
if (!prop) return;
|
|
108
|
+
comment();
|
|
109
|
+
if (!match(COLON_REGEX)) return error("property missing ':'");
|
|
110
|
+
var val = match(VALUE_REGEX);
|
|
111
|
+
var ret = pos({
|
|
112
|
+
type: TYPE_DECLARATION,
|
|
113
|
+
property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),
|
|
114
|
+
value: val ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING)) : EMPTY_STRING
|
|
115
|
+
});
|
|
116
|
+
match(SEMICOLON_REGEX);
|
|
117
|
+
return ret;
|
|
118
|
+
}
|
|
119
|
+
function declarations() {
|
|
120
|
+
var decls = [];
|
|
121
|
+
comments(decls);
|
|
122
|
+
var decl;
|
|
123
|
+
while (decl = declaration()) {
|
|
124
|
+
if (decl !== false) {
|
|
125
|
+
decls.push(decl);
|
|
126
|
+
comments(decls);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return decls;
|
|
130
|
+
}
|
|
131
|
+
whitespace();
|
|
132
|
+
return declarations();
|
|
133
|
+
}
|
|
134
|
+
function trim(str) {
|
|
135
|
+
return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;
|
|
136
|
+
}
|
|
137
|
+
cjs = index;
|
|
138
|
+
return cjs;
|
|
139
|
+
}
|
|
140
|
+
export {
|
|
141
|
+
requireCjs as r
|
|
142
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
function isPlainObject(value) {
|
|
2
|
+
if (typeof value !== "object" || value === null) {
|
|
3
|
+
return false;
|
|
4
|
+
}
|
|
5
|
+
const prototype = Object.getPrototypeOf(value);
|
|
6
|
+
return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value);
|
|
7
|
+
}
|
|
8
|
+
export {
|
|
9
|
+
isPlainObject as i
|
|
10
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
var fullPattern = " daum[ /]| deusu/|(?:^|[^g])news(?!sapphire)|(?<! (?:channel/|google/))google(?!(app|/google| pixel))|(?<! cu)bots?(?:\\b|_)|(?<!(?:lib))http|(?<!cam)scan|24x7|@[a-z][\\w-]+\\.|\\(\\)|\\.com\\b|\\b\\w+\\.ai|\\bcursor/|\\bmanus-user/|\\bort/|\\bperl\\b|\\bplaywright\\b|\\bsecurityheaders\\b|\\bselenium\\b|\\btime/|\\||^[\\w \\.\\-\\(?:\\):%]+(?:/v?\\d+(?:\\.\\d+)?(?:\\.\\d{1,10})*?)?(?:,|$)|^[\\w\\-]+/[\\w]+$|^[^ ]{50,}$|^\\d+\\b|^\\W|^\\w*search\\b|^\\w+/[\\w\\(\\)]*$|^\\w+/\\d\\.\\d\\s\\([\\w@]+\\)$|^active|^ad muncher|^amaya|^apache/|^avsdevicesdk/|^azure|^biglotron|^bot|^bw/|^clamav[ /]|^claude-code/|^client/|^cobweb/|^custom|^ddg[_-]android|^discourse|^dispatch/\\d|^downcast/|^duckduckgo|^email|^facebook|^getright/|^gozilla/|^hobbit|^hotzonu|^hwcdn/|^igetter/|^jeode/|^jetty/|^jigsaw|^microsoft bits|^movabletype|^mozilla/\\d\\.\\d\\s[\\w\\.-]+$|^mozilla/\\d\\.\\d\\s\\((?:compatible;)?(?:\\s?[\\w\\d-.]+\\/\\d+\\.\\d+)?\\)$|^navermailapp|^netsurf|^offline|^openai/|^owler|^php|^postman|^python|^rank|^read|^reed|^rest|^rss|^snapchat|^space bison|^svn|^swcd |^taringa|^thumbor/|^track|^w3c|^webbandit/|^webcopier|^wget|^whatsapp|^wordpress|^xenu link sleuth|^yahoo|^yandex|^zdm/\\d|^zoom marketplace/|advisor|agent\\b|analyzer|archive|ask jeeves/teoma|audit|bit\\.ly/|bluecoat drtr|browsex|burpcollaborator|capture|catch|check\\b|checker|chrome-lighthouse|chromeframe|classifier|cloudflare|convertify|crawl|cypress/|dareboost|datanyze|dejaclick|detect|dmbrowser|download|exaleadcloudview|feed|fetcher|firephp|functionize|grab|headless|httrack|hubspot marketing grader|ibisbrowser|infrawatch|insight|inspect|iplabel|java(?!;)|library|linkcheck|mail\\.ru/|manager|measure|monitor\\b|neustar wpm|node\\b|nutch|offbyone|onetrust|optimize|pageburst|pagespeed|parser|phantomjs|pingdom|powermarks|preview|proxy|ptst[ /]\\d|retriever|rexx;|rigor|rss\\b|scrape|server|sogou|sparkler/|speedcurve|spider|splash|statuscake|supercleaner|synapse|synthetic|tools|torrent|transcoder|url|validator|virtuoso|wappalyzer|webglance|webkit2png|whatcms/|xtate/";
|
|
2
|
+
var naivePattern = /bot|crawl|http|lighthouse|scan|search|spider/i;
|
|
3
|
+
var pattern;
|
|
4
|
+
function getPattern() {
|
|
5
|
+
if (pattern instanceof RegExp) {
|
|
6
|
+
return pattern;
|
|
7
|
+
}
|
|
8
|
+
try {
|
|
9
|
+
pattern = new RegExp(fullPattern, "i");
|
|
10
|
+
} catch (error) {
|
|
11
|
+
pattern = naivePattern;
|
|
12
|
+
}
|
|
13
|
+
return pattern;
|
|
14
|
+
}
|
|
15
|
+
var isNonEmptyString = (value) => typeof value === "string" && value !== "";
|
|
16
|
+
function isbot(userAgent) {
|
|
17
|
+
return isNonEmptyString(userAgent) && getPattern().test(userAgent);
|
|
18
|
+
}
|
|
19
|
+
export {
|
|
20
|
+
isbot as i
|
|
21
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
function longestStreak(value, substring) {
|
|
2
|
+
const source = String(value);
|
|
3
|
+
let index = source.indexOf(substring);
|
|
4
|
+
let expected = index;
|
|
5
|
+
let count = 0;
|
|
6
|
+
let max = 0;
|
|
7
|
+
if (typeof substring !== "string") {
|
|
8
|
+
throw new TypeError("Expected substring");
|
|
9
|
+
}
|
|
10
|
+
while (index !== -1) {
|
|
11
|
+
if (index === expected) {
|
|
12
|
+
if (++count > max) {
|
|
13
|
+
max = count;
|
|
14
|
+
}
|
|
15
|
+
} else {
|
|
16
|
+
count = 1;
|
|
17
|
+
}
|
|
18
|
+
expected = index + substring.length;
|
|
19
|
+
index = source.indexOf(substring, expected);
|
|
20
|
+
}
|
|
21
|
+
return max;
|
|
22
|
+
}
|
|
23
|
+
export {
|
|
24
|
+
longestStreak as l
|
|
25
|
+
};
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
import { L as yaml, K as xml, J as wasm, I as vbnet, G as typescript, F as swift, E as sql, D as shell, C as scss, B as rust, A as ruby, z as r, y as pythonRepl, x as python, w as plaintext, v as phpTemplate, u as php, t as perl, s as objectivec, r as markdown, q as makefile, p as lua, o as less, n as kotlin, m as json, l as javascript, k as java, j as ini, i as graphql, h as go, g as diff, f as css, e as csharp, d as cpp, c, b as bash, a as arduino, H as HighlightJS } from "./highlight.js.mjs";
|
|
2
|
+
const grammars = {
|
|
3
|
+
arduino,
|
|
4
|
+
bash,
|
|
5
|
+
c,
|
|
6
|
+
cpp,
|
|
7
|
+
csharp,
|
|
8
|
+
css,
|
|
9
|
+
diff,
|
|
10
|
+
go,
|
|
11
|
+
graphql,
|
|
12
|
+
ini,
|
|
13
|
+
java,
|
|
14
|
+
javascript,
|
|
15
|
+
json,
|
|
16
|
+
kotlin,
|
|
17
|
+
less,
|
|
18
|
+
lua,
|
|
19
|
+
makefile,
|
|
20
|
+
markdown,
|
|
21
|
+
objectivec,
|
|
22
|
+
perl,
|
|
23
|
+
php,
|
|
24
|
+
"php-template": phpTemplate,
|
|
25
|
+
plaintext,
|
|
26
|
+
python,
|
|
27
|
+
"python-repl": pythonRepl,
|
|
28
|
+
r,
|
|
29
|
+
ruby,
|
|
30
|
+
rust,
|
|
31
|
+
scss,
|
|
32
|
+
shell,
|
|
33
|
+
sql,
|
|
34
|
+
swift,
|
|
35
|
+
typescript,
|
|
36
|
+
vbnet,
|
|
37
|
+
wasm,
|
|
38
|
+
xml,
|
|
39
|
+
yaml
|
|
40
|
+
};
|
|
41
|
+
const emptyOptions = {};
|
|
42
|
+
const defaultPrefix = "hljs-";
|
|
43
|
+
function createLowlight(grammars2) {
|
|
44
|
+
const high = HighlightJS.newInstance();
|
|
45
|
+
if (grammars2) {
|
|
46
|
+
register(grammars2);
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
highlight,
|
|
50
|
+
highlightAuto,
|
|
51
|
+
listLanguages,
|
|
52
|
+
register,
|
|
53
|
+
registerAlias,
|
|
54
|
+
registered
|
|
55
|
+
};
|
|
56
|
+
function highlight(language, value, options) {
|
|
57
|
+
const settings = options || emptyOptions;
|
|
58
|
+
const prefix = typeof settings.prefix === "string" ? settings.prefix : defaultPrefix;
|
|
59
|
+
if (!high.getLanguage(language)) {
|
|
60
|
+
throw new Error("Unknown language: `" + language + "` is not registered");
|
|
61
|
+
}
|
|
62
|
+
high.configure({ __emitter: HastEmitter, classPrefix: prefix });
|
|
63
|
+
const result = (
|
|
64
|
+
/** @type {HighlightResult & {_emitter: HastEmitter}} */
|
|
65
|
+
high.highlight(value, { ignoreIllegals: true, language })
|
|
66
|
+
);
|
|
67
|
+
if (result.errorRaised) {
|
|
68
|
+
throw new Error("Could not highlight with `Highlight.js`", {
|
|
69
|
+
cause: result.errorRaised
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
const root = result._emitter.root;
|
|
73
|
+
const data = (
|
|
74
|
+
/** @type {RootData} */
|
|
75
|
+
root.data
|
|
76
|
+
);
|
|
77
|
+
data.language = result.language;
|
|
78
|
+
data.relevance = result.relevance;
|
|
79
|
+
return root;
|
|
80
|
+
}
|
|
81
|
+
function highlightAuto(value, options) {
|
|
82
|
+
const settings = options || emptyOptions;
|
|
83
|
+
const subset = settings.subset || listLanguages();
|
|
84
|
+
let index = -1;
|
|
85
|
+
let relevance = 0;
|
|
86
|
+
let result;
|
|
87
|
+
while (++index < subset.length) {
|
|
88
|
+
const name = subset[index];
|
|
89
|
+
if (!high.getLanguage(name)) continue;
|
|
90
|
+
const current = highlight(name, value, options);
|
|
91
|
+
if (current.data && current.data.relevance !== void 0 && current.data.relevance > relevance) {
|
|
92
|
+
relevance = current.data.relevance;
|
|
93
|
+
result = current;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return result || {
|
|
97
|
+
type: "root",
|
|
98
|
+
children: [],
|
|
99
|
+
data: { language: void 0, relevance }
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
function listLanguages() {
|
|
103
|
+
return high.listLanguages();
|
|
104
|
+
}
|
|
105
|
+
function register(grammarsOrName, grammar) {
|
|
106
|
+
if (typeof grammarsOrName === "string") {
|
|
107
|
+
high.registerLanguage(grammarsOrName, grammar);
|
|
108
|
+
} else {
|
|
109
|
+
let name;
|
|
110
|
+
for (name in grammarsOrName) {
|
|
111
|
+
if (Object.hasOwn(grammarsOrName, name)) {
|
|
112
|
+
high.registerLanguage(name, grammarsOrName[name]);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
function registerAlias(aliasesOrName, alias) {
|
|
118
|
+
if (typeof aliasesOrName === "string") {
|
|
119
|
+
high.registerAliases(
|
|
120
|
+
// Note: copy needed because hljs doesn’t accept readonly arrays yet.
|
|
121
|
+
typeof alias === "string" ? alias : [...alias],
|
|
122
|
+
{ languageName: aliasesOrName }
|
|
123
|
+
);
|
|
124
|
+
} else {
|
|
125
|
+
let key;
|
|
126
|
+
for (key in aliasesOrName) {
|
|
127
|
+
if (Object.hasOwn(aliasesOrName, key)) {
|
|
128
|
+
const aliases = aliasesOrName[key];
|
|
129
|
+
high.registerAliases(
|
|
130
|
+
// Note: copy needed because hljs doesn’t accept readonly arrays yet.
|
|
131
|
+
typeof aliases === "string" ? aliases : [...aliases],
|
|
132
|
+
{ languageName: key }
|
|
133
|
+
);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
function registered(aliasOrName) {
|
|
139
|
+
return Boolean(high.getLanguage(aliasOrName));
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
class HastEmitter {
|
|
143
|
+
/**
|
|
144
|
+
* @param {Readonly<HljsOptions>} options
|
|
145
|
+
* Configuration.
|
|
146
|
+
* @returns
|
|
147
|
+
* Instance.
|
|
148
|
+
*/
|
|
149
|
+
constructor(options) {
|
|
150
|
+
this.options = options;
|
|
151
|
+
this.root = {
|
|
152
|
+
type: "root",
|
|
153
|
+
children: [],
|
|
154
|
+
data: { language: void 0, relevance: 0 }
|
|
155
|
+
};
|
|
156
|
+
this.stack = [this.root];
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* @param {string} value
|
|
160
|
+
* Text to add.
|
|
161
|
+
* @returns {undefined}
|
|
162
|
+
* Nothing.
|
|
163
|
+
*
|
|
164
|
+
*/
|
|
165
|
+
addText(value) {
|
|
166
|
+
if (value === "") return;
|
|
167
|
+
const current = this.stack[this.stack.length - 1];
|
|
168
|
+
const tail = current.children[current.children.length - 1];
|
|
169
|
+
if (tail && tail.type === "text") {
|
|
170
|
+
tail.value += value;
|
|
171
|
+
} else {
|
|
172
|
+
current.children.push({ type: "text", value });
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
*
|
|
177
|
+
* @param {unknown} rawName
|
|
178
|
+
* Name to add.
|
|
179
|
+
* @returns {undefined}
|
|
180
|
+
* Nothing.
|
|
181
|
+
*/
|
|
182
|
+
startScope(rawName) {
|
|
183
|
+
this.openNode(String(rawName));
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* @returns {undefined}
|
|
187
|
+
* Nothing.
|
|
188
|
+
*/
|
|
189
|
+
endScope() {
|
|
190
|
+
this.closeNode();
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* @param {HastEmitter} other
|
|
194
|
+
* Other emitter.
|
|
195
|
+
* @param {string} name
|
|
196
|
+
* Name of the sublanguage.
|
|
197
|
+
* @returns {undefined}
|
|
198
|
+
* Nothing.
|
|
199
|
+
*/
|
|
200
|
+
__addSublanguage(other, name) {
|
|
201
|
+
const current = this.stack[this.stack.length - 1];
|
|
202
|
+
const results = (
|
|
203
|
+
/** @type {Array<ElementContent>} */
|
|
204
|
+
other.root.children
|
|
205
|
+
);
|
|
206
|
+
if (name) {
|
|
207
|
+
current.children.push({
|
|
208
|
+
type: "element",
|
|
209
|
+
tagName: "span",
|
|
210
|
+
properties: { className: [name] },
|
|
211
|
+
children: results
|
|
212
|
+
});
|
|
213
|
+
} else {
|
|
214
|
+
current.children.push(...results);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* @param {string} name
|
|
219
|
+
* Name to add.
|
|
220
|
+
* @returns {undefined}
|
|
221
|
+
* Nothing.
|
|
222
|
+
*/
|
|
223
|
+
openNode(name) {
|
|
224
|
+
const self = this;
|
|
225
|
+
const className = name.split(".").map(function(d, i) {
|
|
226
|
+
return i ? d + "_".repeat(i) : self.options.classPrefix + d;
|
|
227
|
+
});
|
|
228
|
+
const current = this.stack[this.stack.length - 1];
|
|
229
|
+
const child = {
|
|
230
|
+
type: "element",
|
|
231
|
+
tagName: "span",
|
|
232
|
+
properties: { className },
|
|
233
|
+
children: []
|
|
234
|
+
};
|
|
235
|
+
current.children.push(child);
|
|
236
|
+
this.stack.push(child);
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* @returns {undefined}
|
|
240
|
+
* Nothing.
|
|
241
|
+
*/
|
|
242
|
+
closeNode() {
|
|
243
|
+
this.stack.pop();
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* @returns {undefined}
|
|
247
|
+
* Nothing.
|
|
248
|
+
*/
|
|
249
|
+
finalize() {
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* @returns {string}
|
|
253
|
+
* Nothing.
|
|
254
|
+
*/
|
|
255
|
+
toHTML() {
|
|
256
|
+
return "";
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
export {
|
|
260
|
+
createLowlight as c,
|
|
261
|
+
grammars as g
|
|
262
|
+
};
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
function defaultStringLength(value) {
|
|
2
|
+
return value.length;
|
|
3
|
+
}
|
|
4
|
+
function markdownTable(table, options) {
|
|
5
|
+
const settings = options || {};
|
|
6
|
+
const align = (settings.align || []).concat();
|
|
7
|
+
const stringLength = settings.stringLength || defaultStringLength;
|
|
8
|
+
const alignments = [];
|
|
9
|
+
const cellMatrix = [];
|
|
10
|
+
const sizeMatrix = [];
|
|
11
|
+
const longestCellByColumn = [];
|
|
12
|
+
let mostCellsPerRow = 0;
|
|
13
|
+
let rowIndex = -1;
|
|
14
|
+
while (++rowIndex < table.length) {
|
|
15
|
+
const row2 = [];
|
|
16
|
+
const sizes2 = [];
|
|
17
|
+
let columnIndex2 = -1;
|
|
18
|
+
if (table[rowIndex].length > mostCellsPerRow) {
|
|
19
|
+
mostCellsPerRow = table[rowIndex].length;
|
|
20
|
+
}
|
|
21
|
+
while (++columnIndex2 < table[rowIndex].length) {
|
|
22
|
+
const cell = serialize(table[rowIndex][columnIndex2]);
|
|
23
|
+
if (settings.alignDelimiters !== false) {
|
|
24
|
+
const size = stringLength(cell);
|
|
25
|
+
sizes2[columnIndex2] = size;
|
|
26
|
+
if (longestCellByColumn[columnIndex2] === void 0 || size > longestCellByColumn[columnIndex2]) {
|
|
27
|
+
longestCellByColumn[columnIndex2] = size;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
row2.push(cell);
|
|
31
|
+
}
|
|
32
|
+
cellMatrix[rowIndex] = row2;
|
|
33
|
+
sizeMatrix[rowIndex] = sizes2;
|
|
34
|
+
}
|
|
35
|
+
let columnIndex = -1;
|
|
36
|
+
if (typeof align === "object" && "length" in align) {
|
|
37
|
+
while (++columnIndex < mostCellsPerRow) {
|
|
38
|
+
alignments[columnIndex] = toAlignment(align[columnIndex]);
|
|
39
|
+
}
|
|
40
|
+
} else {
|
|
41
|
+
const code = toAlignment(align);
|
|
42
|
+
while (++columnIndex < mostCellsPerRow) {
|
|
43
|
+
alignments[columnIndex] = code;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
columnIndex = -1;
|
|
47
|
+
const row = [];
|
|
48
|
+
const sizes = [];
|
|
49
|
+
while (++columnIndex < mostCellsPerRow) {
|
|
50
|
+
const code = alignments[columnIndex];
|
|
51
|
+
let before = "";
|
|
52
|
+
let after = "";
|
|
53
|
+
if (code === 99) {
|
|
54
|
+
before = ":";
|
|
55
|
+
after = ":";
|
|
56
|
+
} else if (code === 108) {
|
|
57
|
+
before = ":";
|
|
58
|
+
} else if (code === 114) {
|
|
59
|
+
after = ":";
|
|
60
|
+
}
|
|
61
|
+
let size = settings.alignDelimiters === false ? 1 : Math.max(
|
|
62
|
+
1,
|
|
63
|
+
longestCellByColumn[columnIndex] - before.length - after.length
|
|
64
|
+
);
|
|
65
|
+
const cell = before + "-".repeat(size) + after;
|
|
66
|
+
if (settings.alignDelimiters !== false) {
|
|
67
|
+
size = before.length + size + after.length;
|
|
68
|
+
if (size > longestCellByColumn[columnIndex]) {
|
|
69
|
+
longestCellByColumn[columnIndex] = size;
|
|
70
|
+
}
|
|
71
|
+
sizes[columnIndex] = size;
|
|
72
|
+
}
|
|
73
|
+
row[columnIndex] = cell;
|
|
74
|
+
}
|
|
75
|
+
cellMatrix.splice(1, 0, row);
|
|
76
|
+
sizeMatrix.splice(1, 0, sizes);
|
|
77
|
+
rowIndex = -1;
|
|
78
|
+
const lines = [];
|
|
79
|
+
while (++rowIndex < cellMatrix.length) {
|
|
80
|
+
const row2 = cellMatrix[rowIndex];
|
|
81
|
+
const sizes2 = sizeMatrix[rowIndex];
|
|
82
|
+
columnIndex = -1;
|
|
83
|
+
const line = [];
|
|
84
|
+
while (++columnIndex < mostCellsPerRow) {
|
|
85
|
+
const cell = row2[columnIndex] || "";
|
|
86
|
+
let before = "";
|
|
87
|
+
let after = "";
|
|
88
|
+
if (settings.alignDelimiters !== false) {
|
|
89
|
+
const size = longestCellByColumn[columnIndex] - (sizes2[columnIndex] || 0);
|
|
90
|
+
const code = alignments[columnIndex];
|
|
91
|
+
if (code === 114) {
|
|
92
|
+
before = " ".repeat(size);
|
|
93
|
+
} else if (code === 99) {
|
|
94
|
+
if (size % 2) {
|
|
95
|
+
before = " ".repeat(size / 2 + 0.5);
|
|
96
|
+
after = " ".repeat(size / 2 - 0.5);
|
|
97
|
+
} else {
|
|
98
|
+
before = " ".repeat(size / 2);
|
|
99
|
+
after = before;
|
|
100
|
+
}
|
|
101
|
+
} else {
|
|
102
|
+
after = " ".repeat(size);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
if (settings.delimiterStart !== false && !columnIndex) {
|
|
106
|
+
line.push("|");
|
|
107
|
+
}
|
|
108
|
+
if (settings.padding !== false && // Don’t add the opening space if we’re not aligning and the cell is
|
|
109
|
+
// empty: there will be a closing space.
|
|
110
|
+
!(settings.alignDelimiters === false && cell === "") && (settings.delimiterStart !== false || columnIndex)) {
|
|
111
|
+
line.push(" ");
|
|
112
|
+
}
|
|
113
|
+
if (settings.alignDelimiters !== false) {
|
|
114
|
+
line.push(before);
|
|
115
|
+
}
|
|
116
|
+
line.push(cell);
|
|
117
|
+
if (settings.alignDelimiters !== false) {
|
|
118
|
+
line.push(after);
|
|
119
|
+
}
|
|
120
|
+
if (settings.padding !== false) {
|
|
121
|
+
line.push(" ");
|
|
122
|
+
}
|
|
123
|
+
if (settings.delimiterEnd !== false || columnIndex !== mostCellsPerRow - 1) {
|
|
124
|
+
line.push("|");
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
lines.push(
|
|
128
|
+
settings.delimiterEnd === false ? line.join("").replace(/ +$/, "") : line.join("")
|
|
129
|
+
);
|
|
130
|
+
}
|
|
131
|
+
return lines.join("\n");
|
|
132
|
+
}
|
|
133
|
+
function serialize(value) {
|
|
134
|
+
return value === null || value === void 0 ? "" : String(value);
|
|
135
|
+
}
|
|
136
|
+
function toAlignment(value) {
|
|
137
|
+
const code = typeof value === "string" ? value.codePointAt(0) : 0;
|
|
138
|
+
return code === 67 || code === 99 ? 99 : code === 76 || code === 108 ? 108 : code === 82 || code === 114 ? 114 : 0;
|
|
139
|
+
}
|
|
140
|
+
export {
|
|
141
|
+
markdownTable as m
|
|
142
|
+
};
|