@doxbrix/doxloop 0.1.1 → 0.1.2
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/CHANGELOG.md +7 -0
- package/assets/doxbrix-preview.css +190 -0
- package/dist/agents.js +1 -1
- package/dist/agents.js.map +1 -1
- package/dist/author.js +1 -1
- package/dist/author.js.map +1 -1
- package/dist/doxbrix-markdown.js +33 -2
- package/dist/doxbrix-markdown.js.map +1 -1
- package/dist/preview.d.ts.map +1 -1
- package/dist/preview.js +224 -3
- package/dist/preview.js.map +1 -1
- package/dist/validation.d.ts.map +1 -1
- package/dist/validation.js +151 -8
- package/dist/validation.js.map +1 -1
- package/package.json +3 -1
- package/skills/doxloop-doxbrix/SKILL.md +3 -1
- package/skills/doxloop-doxbrix/references/api-endpoints.md +8 -36
package/dist/preview.js
CHANGED
|
@@ -80,6 +80,19 @@ async function startDoxbrixPreview(options, project) {
|
|
|
80
80
|
loadSiteConfig(options.root, project),
|
|
81
81
|
]);
|
|
82
82
|
const pagesById = new Map(pages.map((path) => [pageId(contentRoot, path), path]));
|
|
83
|
+
if (url.pathname === '/__doxloop/search-index') {
|
|
84
|
+
const entries = await Promise.all([...pagesById].map(async ([id, path]) => {
|
|
85
|
+
const page = await readPage(path);
|
|
86
|
+
return {
|
|
87
|
+
title: page.title || labelFromId(id),
|
|
88
|
+
description: page.description ?? '',
|
|
89
|
+
href: `/${id}`,
|
|
90
|
+
text: markdownSearchText(page.body),
|
|
91
|
+
};
|
|
92
|
+
}));
|
|
93
|
+
send(response, 200, 'application/json; charset=utf-8', JSON.stringify(entries));
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
83
96
|
const requested = requestedPage(url.pathname, site, pagesById);
|
|
84
97
|
if (requested === undefined || !pagesById.has(requested)) {
|
|
85
98
|
send(response, 404, 'text/html; charset=utf-8', errorPage(requested ?? '', site));
|
|
@@ -235,8 +248,15 @@ export function doxbrixDocument(input) {
|
|
|
235
248
|
<div class="dxb-atlas-header-main"><div class="dxb-atlas-header-inner">
|
|
236
249
|
<a class="dp-topnav-logo" href="${escapeAttr(logoHref)}">${logo}</a>
|
|
237
250
|
<div class="dxb-atlas-search-cluster">
|
|
238
|
-
<button class="dp-topnav-search" type="button" aria-
|
|
239
|
-
<
|
|
251
|
+
<button class="dp-topnav-search" type="button" aria-label="Search documentation" aria-haspopup="dialog" data-preview-search>${icon('search', 17)}<span>Search...</span><kbd>⌘K</kbd></button>
|
|
252
|
+
<div class="dxb-atlas-assistant-wrap">
|
|
253
|
+
<button class="dxb-atlas-assistant" type="button" aria-disabled="true" aria-expanded="false" data-preview-assistant>${icon('sparkle', 16)}<span>Ask Assistant</span></button>
|
|
254
|
+
<div class="dxb-preview-notice" role="status" aria-live="polite" data-preview-notice hidden>
|
|
255
|
+
<strong>Ask Assistant isn’t available in preview.</strong>
|
|
256
|
+
<span>Run <code>doxloop deploy</code> to use it on your deployed site — deployment is free.</span>
|
|
257
|
+
<button type="button" aria-label="Dismiss notice" data-preview-notice-dismiss>×</button>
|
|
258
|
+
</div>
|
|
259
|
+
</div>
|
|
240
260
|
</div>
|
|
241
261
|
<div class="dxb-atlas-header-actions">
|
|
242
262
|
<button class="dp-theme-toggle" type="button" aria-label="Switch color theme" aria-pressed="${resolvedMode === 'dark'}" data-theme-toggle>${icon(resolvedMode === 'dark' ? 'sun' : 'moon', 17)}</button>
|
|
@@ -255,6 +275,18 @@ export function doxbrixDocument(input) {
|
|
|
255
275
|
</div></main>
|
|
256
276
|
${toc}
|
|
257
277
|
</div>
|
|
278
|
+
<div class="dxb-preview-search" role="dialog" aria-modal="true" aria-label="Search documentation" data-preview-search-dialog hidden>
|
|
279
|
+
<div class="dxb-preview-search-panel">
|
|
280
|
+
<div class="dxb-preview-search-input-wrap">
|
|
281
|
+
${icon('search', 18)}
|
|
282
|
+
<input type="search" placeholder="Search documentation..." autocomplete="off" aria-label="Search documentation" data-preview-search-input>
|
|
283
|
+
<kbd>Esc</kbd>
|
|
284
|
+
</div>
|
|
285
|
+
<div class="dxb-preview-search-status" data-preview-search-status>Loading pages…</div>
|
|
286
|
+
<div class="dxb-preview-search-results" role="listbox" data-preview-search-results></div>
|
|
287
|
+
<div class="dxb-preview-search-help"><span><kbd>↑</kbd><kbd>↓</kbd> Navigate</span><span><kbd>↵</kbd> Open</span></div>
|
|
288
|
+
</div>
|
|
289
|
+
</div>
|
|
258
290
|
</div>
|
|
259
291
|
<script>
|
|
260
292
|
const root = document.querySelector('.dp-root--published');
|
|
@@ -276,9 +308,159 @@ export function doxbrixDocument(input) {
|
|
|
276
308
|
themeToggle.innerHTML = dark ? '${icon('sun', 17)}' : '${icon('moon', 17)}';
|
|
277
309
|
}
|
|
278
310
|
updateThemeToggle();
|
|
311
|
+
const tocLinks = Array.from(document.querySelectorAll('.dp-toc-entry'));
|
|
312
|
+
const tocHeadings = tocLinks
|
|
313
|
+
.map((link) => {
|
|
314
|
+
const id = decodeURIComponent(link.hash.slice(1));
|
|
315
|
+
const heading = document.getElementById(id);
|
|
316
|
+
return heading ? { link, heading } : null;
|
|
317
|
+
})
|
|
318
|
+
.filter(Boolean);
|
|
319
|
+
let tocFrame = 0;
|
|
320
|
+
function updateActiveToc() {
|
|
321
|
+
tocFrame = 0;
|
|
322
|
+
if (!tocHeadings.length) return;
|
|
323
|
+
const header = document.querySelector('.dxb-atlas-header');
|
|
324
|
+
const activationLine = (header?.getBoundingClientRect().bottom || 0) + 32;
|
|
325
|
+
let activeIndex = 0;
|
|
326
|
+
for (let index = 0; index < tocHeadings.length; index += 1) {
|
|
327
|
+
if (tocHeadings[index].heading.getBoundingClientRect().top <= activationLine) {
|
|
328
|
+
activeIndex = index;
|
|
329
|
+
} else {
|
|
330
|
+
break;
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
if (window.innerHeight + window.scrollY >= document.documentElement.scrollHeight - 2) {
|
|
334
|
+
activeIndex = tocHeadings.length - 1;
|
|
335
|
+
}
|
|
336
|
+
tocHeadings.forEach(({ link }, index) => {
|
|
337
|
+
const active = index === activeIndex;
|
|
338
|
+
link.classList.toggle('active', active);
|
|
339
|
+
if (active) link.setAttribute('aria-current', 'location');
|
|
340
|
+
else link.removeAttribute('aria-current');
|
|
341
|
+
});
|
|
342
|
+
}
|
|
343
|
+
function scheduleTocUpdate() {
|
|
344
|
+
if (!tocFrame) tocFrame = requestAnimationFrame(updateActiveToc);
|
|
345
|
+
}
|
|
346
|
+
updateActiveToc();
|
|
347
|
+
addEventListener('scroll', scheduleTocUpdate, { passive: true });
|
|
348
|
+
addEventListener('resize', scheduleTocUpdate);
|
|
279
349
|
const events = new EventSource('/__doxloop/events');
|
|
280
350
|
events.addEventListener('reload', () => location.reload());
|
|
351
|
+
const previewNotice = document.querySelector('[data-preview-notice]');
|
|
352
|
+
const previewAssistant = document.querySelector('[data-preview-assistant]');
|
|
353
|
+
let previewNoticeTimer;
|
|
354
|
+
function showPreviewNotice() {
|
|
355
|
+
if (!previewNotice) return;
|
|
356
|
+
previewNotice.hidden = false;
|
|
357
|
+
previewAssistant?.setAttribute('aria-expanded', 'true');
|
|
358
|
+
requestAnimationFrame(() => previewNotice.classList.add('visible'));
|
|
359
|
+
clearTimeout(previewNoticeTimer);
|
|
360
|
+
previewNoticeTimer = setTimeout(() => {
|
|
361
|
+
previewNotice.classList.remove('visible');
|
|
362
|
+
previewAssistant?.setAttribute('aria-expanded', 'false');
|
|
363
|
+
setTimeout(() => { previewNotice.hidden = true; }, 180);
|
|
364
|
+
}, 7000);
|
|
365
|
+
}
|
|
366
|
+
const searchButton = document.querySelector('[data-preview-search]');
|
|
367
|
+
const searchDialog = document.querySelector('[data-preview-search-dialog]');
|
|
368
|
+
const searchInput = document.querySelector('[data-preview-search-input]');
|
|
369
|
+
const searchResults = document.querySelector('[data-preview-search-results]');
|
|
370
|
+
const searchStatus = document.querySelector('[data-preview-search-status]');
|
|
371
|
+
let searchPages;
|
|
372
|
+
let activeSearchResult = 0;
|
|
373
|
+
function searchSnippet(page, query) {
|
|
374
|
+
const source = page.description || page.text;
|
|
375
|
+
if (!query) return source.slice(0, 150);
|
|
376
|
+
const index = source.toLocaleLowerCase().indexOf(query.toLocaleLowerCase());
|
|
377
|
+
const start = Math.max(0, index < 0 ? 0 : index - 55);
|
|
378
|
+
return (start > 0 ? '…' : '') + source.slice(start, start + 150) + (source.length > start + 150 ? '…' : '');
|
|
379
|
+
}
|
|
380
|
+
function selectSearchResult(index) {
|
|
381
|
+
const links = Array.from(searchResults?.querySelectorAll('.dxb-preview-search-result') || []);
|
|
382
|
+
if (!links.length) return;
|
|
383
|
+
activeSearchResult = (index + links.length) % links.length;
|
|
384
|
+
links.forEach((link, itemIndex) => {
|
|
385
|
+
const active = itemIndex === activeSearchResult;
|
|
386
|
+
link.classList.toggle('active', active);
|
|
387
|
+
link.setAttribute('aria-selected', String(active));
|
|
388
|
+
});
|
|
389
|
+
links[activeSearchResult]?.scrollIntoView({ block: 'nearest' });
|
|
390
|
+
}
|
|
391
|
+
function renderSearchResults() {
|
|
392
|
+
if (!searchResults || !searchStatus || !searchPages) return;
|
|
393
|
+
const query = searchInput?.value.trim() || '';
|
|
394
|
+
const tokens = query.toLocaleLowerCase().split(/\\s+/).filter(Boolean);
|
|
395
|
+
const matches = searchPages
|
|
396
|
+
.map((page) => {
|
|
397
|
+
const title = page.title.toLocaleLowerCase();
|
|
398
|
+
const description = page.description.toLocaleLowerCase();
|
|
399
|
+
const text = page.text.toLocaleLowerCase();
|
|
400
|
+
if (!tokens.every((token) => title.includes(token) || description.includes(token) || text.includes(token))) return null;
|
|
401
|
+
const score = tokens.reduce((total, token) => total + (title.includes(token) ? 6 : 0) + (description.includes(token) ? 3 : 0) + (text.includes(token) ? 1 : 0), 0);
|
|
402
|
+
return { page, score };
|
|
403
|
+
})
|
|
404
|
+
.filter(Boolean)
|
|
405
|
+
.sort((left, right) => right.score - left.score || left.page.title.localeCompare(right.page.title))
|
|
406
|
+
.slice(0, 10);
|
|
407
|
+
searchResults.replaceChildren();
|
|
408
|
+
searchStatus.textContent = matches.length
|
|
409
|
+
? (query ? matches.length + (matches.length === 1 ? ' result' : ' results') : 'Browse documentation')
|
|
410
|
+
: 'No matching pages';
|
|
411
|
+
matches.forEach(({ page }, index) => {
|
|
412
|
+
const link = document.createElement('a');
|
|
413
|
+
link.className = 'dxb-preview-search-result' + (index === 0 ? ' active' : '');
|
|
414
|
+
link.href = page.href;
|
|
415
|
+
link.setAttribute('role', 'option');
|
|
416
|
+
link.setAttribute('aria-selected', String(index === 0));
|
|
417
|
+
const title = document.createElement('strong');
|
|
418
|
+
title.textContent = page.title;
|
|
419
|
+
const snippet = document.createElement('span');
|
|
420
|
+
snippet.textContent = searchSnippet(page, query);
|
|
421
|
+
link.append(title, snippet);
|
|
422
|
+
searchResults.append(link);
|
|
423
|
+
});
|
|
424
|
+
activeSearchResult = 0;
|
|
425
|
+
}
|
|
426
|
+
async function loadSearchPages() {
|
|
427
|
+
if (searchPages) return;
|
|
428
|
+
searchStatus.textContent = 'Loading pages…';
|
|
429
|
+
try {
|
|
430
|
+
const response = await fetch('/__doxloop/search-index');
|
|
431
|
+
if (!response.ok) throw new Error('Search index request failed');
|
|
432
|
+
searchPages = await response.json();
|
|
433
|
+
renderSearchResults();
|
|
434
|
+
} catch {
|
|
435
|
+
searchStatus.textContent = 'Search is unavailable. Reload the preview and try again.';
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
function openSearch() {
|
|
439
|
+
if (!searchDialog) return;
|
|
440
|
+
searchDialog.hidden = false;
|
|
441
|
+
document.body.classList.add('dxb-search-open');
|
|
442
|
+
searchInput?.focus();
|
|
443
|
+
void loadSearchPages();
|
|
444
|
+
if (searchPages) renderSearchResults();
|
|
445
|
+
}
|
|
446
|
+
function closeSearch() {
|
|
447
|
+
if (!searchDialog) return;
|
|
448
|
+
searchDialog.hidden = true;
|
|
449
|
+
document.body.classList.remove('dxb-search-open');
|
|
450
|
+
searchButton?.focus();
|
|
451
|
+
}
|
|
281
452
|
document.addEventListener('click', (event) => {
|
|
453
|
+
if (event.target.closest('[data-preview-search]')) openSearch();
|
|
454
|
+
if (event.target === searchDialog) closeSearch();
|
|
455
|
+
if (event.target.closest('[data-preview-assistant]')) {
|
|
456
|
+
showPreviewNotice();
|
|
457
|
+
}
|
|
458
|
+
if (event.target.closest('[data-preview-notice-dismiss]') && previewNotice) {
|
|
459
|
+
clearTimeout(previewNoticeTimer);
|
|
460
|
+
previewNotice.classList.remove('visible');
|
|
461
|
+
previewNotice.hidden = true;
|
|
462
|
+
previewAssistant?.setAttribute('aria-expanded', 'false');
|
|
463
|
+
}
|
|
282
464
|
const toggle = event.target.closest('[data-theme-toggle]');
|
|
283
465
|
if (toggle && root) {
|
|
284
466
|
root.dataset.colorTheme = root.dataset.colorTheme === 'dark' ? 'light' : 'dark';
|
|
@@ -336,6 +518,31 @@ export function doxbrixDocument(input) {
|
|
|
336
518
|
}
|
|
337
519
|
}
|
|
338
520
|
});
|
|
521
|
+
searchInput?.addEventListener('input', renderSearchResults);
|
|
522
|
+
document.addEventListener('keydown', (event) => {
|
|
523
|
+
if ((event.metaKey || event.ctrlKey) && event.key.toLocaleLowerCase() === 'k') {
|
|
524
|
+
event.preventDefault();
|
|
525
|
+
searchDialog?.hidden ? openSearch() : closeSearch();
|
|
526
|
+
return;
|
|
527
|
+
}
|
|
528
|
+
if (searchDialog?.hidden) return;
|
|
529
|
+
if (event.key === 'Escape') {
|
|
530
|
+
event.preventDefault();
|
|
531
|
+
closeSearch();
|
|
532
|
+
} else if (event.key === 'ArrowDown') {
|
|
533
|
+
event.preventDefault();
|
|
534
|
+
selectSearchResult(activeSearchResult + 1);
|
|
535
|
+
} else if (event.key === 'ArrowUp') {
|
|
536
|
+
event.preventDefault();
|
|
537
|
+
selectSearchResult(activeSearchResult - 1);
|
|
538
|
+
} else if (event.key === 'Enter') {
|
|
539
|
+
const active = searchResults?.querySelector('.dxb-preview-search-result.active');
|
|
540
|
+
if (active) {
|
|
541
|
+
event.preventDefault();
|
|
542
|
+
location.href = active.href;
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
});
|
|
339
546
|
</script>
|
|
340
547
|
</body>
|
|
341
548
|
</html>`;
|
|
@@ -377,6 +584,18 @@ function tocHtml(entries) {
|
|
|
377
584
|
.map((entry, index) => `<a class="dp-toc-entry level-${entry.level}${index === 0 ? ' active' : ''}" href="#${escapeAttr(entry.id)}">${escapeHtml(entry.title)}</a>`)
|
|
378
585
|
.join('')}</aside>`;
|
|
379
586
|
}
|
|
587
|
+
function markdownSearchText(markdown) {
|
|
588
|
+
return markdown
|
|
589
|
+
.replace(/```[\s\S]*?```/g, ' ')
|
|
590
|
+
.replace(/`([^`]+)`/g, '$1')
|
|
591
|
+
.replace(/!\[[^\]]*\]\([^)]+\)/g, ' ')
|
|
592
|
+
.replace(/\[([^\]]+)\]\([^)]+\)/g, '$1')
|
|
593
|
+
.replace(/<[^>]+>/g, ' ')
|
|
594
|
+
.replace(/[#>*_~|=-]+/g, ' ')
|
|
595
|
+
.replace(/\s+/g, ' ')
|
|
596
|
+
.trim()
|
|
597
|
+
.slice(0, 12_000);
|
|
598
|
+
}
|
|
380
599
|
function firstPage(nodes) {
|
|
381
600
|
for (const node of nodes) {
|
|
382
601
|
if ('hidden' in node && node.hidden)
|
|
@@ -657,7 +876,9 @@ function errorPage(requested, site) {
|
|
|
657
876
|
function send(response, status, type, body) {
|
|
658
877
|
response.writeHead(status, {
|
|
659
878
|
'Content-Type': type,
|
|
660
|
-
'Cache-Control': type.startsWith('text/html')
|
|
879
|
+
'Cache-Control': type.startsWith('text/html') || type.startsWith('application/json')
|
|
880
|
+
? 'no-store'
|
|
881
|
+
: 'public, max-age=60',
|
|
661
882
|
});
|
|
662
883
|
response.end(body);
|
|
663
884
|
}
|
package/dist/preview.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview.js","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"preview.js","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"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"}
|
package/dist/validation.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAGV,gBAAgB,EACjB,MAAM,YAAY,CAAA;AAEnB,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAqE7E;
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAGV,gBAAgB,EACjB,MAAM,YAAY,CAAA;AAEnB,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAqE7E;AA41BD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CASjE"}
|
package/dist/validation.js
CHANGED
|
@@ -229,18 +229,161 @@ const DOXBRIX_CONTAINER_COMPONENTS = [
|
|
|
229
229
|
'ResponseExample',
|
|
230
230
|
];
|
|
231
231
|
function validateDoxbrixComponents(content, file) {
|
|
232
|
-
const
|
|
233
|
-
const
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
if (
|
|
238
|
-
|
|
232
|
+
const masked = maskDoxbrixCode(content);
|
|
233
|
+
const scanned = scanDoxbrixComponentTags(masked, file);
|
|
234
|
+
const issues = [...scanned.issues];
|
|
235
|
+
const stack = [];
|
|
236
|
+
for (const tag of scanned.tags) {
|
|
237
|
+
if (tag.kind === 'self-close')
|
|
238
|
+
continue;
|
|
239
|
+
if (tag.kind === 'open') {
|
|
240
|
+
stack.push(tag);
|
|
241
|
+
continue;
|
|
239
242
|
}
|
|
243
|
+
const opening = stack.at(-1);
|
|
244
|
+
if (!opening) {
|
|
245
|
+
issues.push(error('component-tag', `Line ${tag.line}: unexpected closing </${tag.name}> tag.`, file));
|
|
246
|
+
continue;
|
|
247
|
+
}
|
|
248
|
+
if (opening.name !== tag.name) {
|
|
249
|
+
issues.push(error('component-tag', `Line ${tag.line}: </${tag.name}> closes before <${opening.name}> opened on line ${opening.line}.`, file));
|
|
250
|
+
continue;
|
|
251
|
+
}
|
|
252
|
+
stack.pop();
|
|
253
|
+
}
|
|
254
|
+
for (const opening of stack) {
|
|
255
|
+
issues.push(error('component-tag', `Line ${opening.line}: <${opening.name}> does not have a matching closing tag.`, file));
|
|
256
|
+
}
|
|
257
|
+
if (issues.length === 0) {
|
|
258
|
+
issues.push(...validateDoxbrixApiEndpoints(masked, file));
|
|
240
259
|
}
|
|
241
|
-
issues.push(...validateDoxbrixApiEndpoints(withoutFences, file));
|
|
242
260
|
return issues;
|
|
243
261
|
}
|
|
262
|
+
function scanDoxbrixComponentTags(content, file) {
|
|
263
|
+
const names = new Set(DOXBRIX_CONTAINER_COMPONENTS);
|
|
264
|
+
const tags = [];
|
|
265
|
+
const issues = [];
|
|
266
|
+
let index = 0;
|
|
267
|
+
let line = 1;
|
|
268
|
+
while (index < content.length) {
|
|
269
|
+
if (content[index] === '\n') {
|
|
270
|
+
line += 1;
|
|
271
|
+
index += 1;
|
|
272
|
+
continue;
|
|
273
|
+
}
|
|
274
|
+
if (content[index] !== '<') {
|
|
275
|
+
index += 1;
|
|
276
|
+
continue;
|
|
277
|
+
}
|
|
278
|
+
const start = index;
|
|
279
|
+
const startLine = line;
|
|
280
|
+
const closing = content[index + 1] === '/';
|
|
281
|
+
const nameStart = index + (closing ? 2 : 1);
|
|
282
|
+
let nameEnd = nameStart;
|
|
283
|
+
while (/[A-Za-z0-9]/.test(content[nameEnd] ?? ''))
|
|
284
|
+
nameEnd += 1;
|
|
285
|
+
const name = content.slice(nameStart, nameEnd);
|
|
286
|
+
if (!names.has(name)) {
|
|
287
|
+
index += 1;
|
|
288
|
+
continue;
|
|
289
|
+
}
|
|
290
|
+
let quote = null;
|
|
291
|
+
let braces = 0;
|
|
292
|
+
let cursor = nameEnd;
|
|
293
|
+
let endLine = line;
|
|
294
|
+
let malformed = false;
|
|
295
|
+
for (; cursor < content.length; cursor += 1) {
|
|
296
|
+
const character = content[cursor];
|
|
297
|
+
if (character === '\n')
|
|
298
|
+
endLine += 1;
|
|
299
|
+
if (quote) {
|
|
300
|
+
if (character === quote && content[cursor - 1] !== '\\')
|
|
301
|
+
quote = null;
|
|
302
|
+
continue;
|
|
303
|
+
}
|
|
304
|
+
if (character === '"' || character === "'") {
|
|
305
|
+
quote = character;
|
|
306
|
+
}
|
|
307
|
+
else if (character === '{') {
|
|
308
|
+
braces += 1;
|
|
309
|
+
}
|
|
310
|
+
else if (character === '}') {
|
|
311
|
+
braces = Math.max(0, braces - 1);
|
|
312
|
+
}
|
|
313
|
+
else if (braces === 0 && character === '<') {
|
|
314
|
+
issues.push(error('component-tag', `Line ${startLine}: <${name}> opening tag is missing ">" before the component beginning on line ${endLine}.`, file));
|
|
315
|
+
malformed = true;
|
|
316
|
+
break;
|
|
317
|
+
}
|
|
318
|
+
else if (braces === 0 && character === '>') {
|
|
319
|
+
break;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
if (malformed) {
|
|
323
|
+
index = cursor;
|
|
324
|
+
line = endLine;
|
|
325
|
+
continue;
|
|
326
|
+
}
|
|
327
|
+
if (cursor >= content.length) {
|
|
328
|
+
issues.push(error('component-tag', `Line ${startLine}: <${name}> opening tag is missing ">".`, file));
|
|
329
|
+
break;
|
|
330
|
+
}
|
|
331
|
+
if (endLine !== startLine) {
|
|
332
|
+
issues.push(error('component-tag', `Line ${startLine}: <${name}> opening tag must end with ">" on the same line for Doxbrix ingestion.`, file));
|
|
333
|
+
}
|
|
334
|
+
const beforeClose = content.slice(start, cursor).trimEnd();
|
|
335
|
+
tags.push({
|
|
336
|
+
name: name,
|
|
337
|
+
kind: closing ? 'close' : beforeClose.endsWith('/') ? 'self-close' : 'open',
|
|
338
|
+
line: startLine,
|
|
339
|
+
endLine,
|
|
340
|
+
});
|
|
341
|
+
index = cursor + 1;
|
|
342
|
+
line = endLine;
|
|
343
|
+
}
|
|
344
|
+
return { tags, issues };
|
|
345
|
+
}
|
|
346
|
+
function maskDoxbrixCode(content) {
|
|
347
|
+
const lines = content.split('\n');
|
|
348
|
+
let fence;
|
|
349
|
+
const masked = lines.map((line) => {
|
|
350
|
+
const match = /^\s*(`{3,}|~{3,})/.exec(line);
|
|
351
|
+
if (match) {
|
|
352
|
+
const marker = match[1][0];
|
|
353
|
+
const length = match[1].length;
|
|
354
|
+
if (!fence)
|
|
355
|
+
fence = { marker, length };
|
|
356
|
+
else if (fence.marker === marker && length >= fence.length)
|
|
357
|
+
fence = undefined;
|
|
358
|
+
return ' '.repeat(line.length);
|
|
359
|
+
}
|
|
360
|
+
if (fence)
|
|
361
|
+
return ' '.repeat(line.length);
|
|
362
|
+
const characters = [...line];
|
|
363
|
+
let index = 0;
|
|
364
|
+
while (index < characters.length) {
|
|
365
|
+
if (characters[index] !== '`') {
|
|
366
|
+
index += 1;
|
|
367
|
+
continue;
|
|
368
|
+
}
|
|
369
|
+
let ticks = 1;
|
|
370
|
+
while (characters[index + ticks] === '`')
|
|
371
|
+
ticks += 1;
|
|
372
|
+
const closing = '`'.repeat(ticks);
|
|
373
|
+
const end = line.indexOf(closing, index + ticks);
|
|
374
|
+
if (end === -1) {
|
|
375
|
+
index += ticks;
|
|
376
|
+
continue;
|
|
377
|
+
}
|
|
378
|
+
for (let cursor = index; cursor < end + ticks; cursor += 1) {
|
|
379
|
+
characters[cursor] = ' ';
|
|
380
|
+
}
|
|
381
|
+
index = end + ticks;
|
|
382
|
+
}
|
|
383
|
+
return characters.join('');
|
|
384
|
+
});
|
|
385
|
+
return masked.join('\n');
|
|
386
|
+
}
|
|
244
387
|
function validateDoxbrixApiEndpoints(content, file) {
|
|
245
388
|
const issues = [];
|
|
246
389
|
for (const [index, match] of [
|