diff --git a/assets/js/vertex-search.js b/assets/js/vertex-search.js
index 3bf4944c..e2ad69ae 100644
--- a/assets/js/vertex-search.js
+++ b/assets/js/vertex-search.js
@@ -1,6 +1,14 @@
+import { marked } from 'marked';
+import DOMPurify from 'dompurify';
+
(function () {
'use strict';
+ marked.setOptions({
+ gfm: true,
+ breaks: true
+ });
+
// Only run on the search results page
const config = document.getElementById('vertex-search-config');
if (!config) return;
@@ -29,6 +37,23 @@
.replace(/"/g, '"');
}
+ function renderSummaryMarkdown(summaryText, citationCount) {
+ const linkedMarkdown = (summaryText || '').replace(/\[(\d+)\]/g, (_, num) => {
+ const index = Number(num);
+ if (!Number.isInteger(index) || index < 1 || index > citationCount) return `[${num}]`;
+ return `[${num}](#source-row-${index})`;
+ });
+
+ const html = marked.parse(linkedMarkdown);
+ return DOMPurify.sanitize(html, {
+ ALLOWED_TAGS: [
+ 'a', 'p', 'ul', 'ol', 'li', 'strong', 'em', 'code', 'pre',
+ 'blockquote', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'br'
+ ],
+ ALLOWED_ATTR: ['href', 'title', 'target', 'rel', 'id', 'class']
+ });
+ }
+
async function doSearch(q) {
if (!q) {
statusEl.textContent = 'Enter a search query above.';
@@ -62,16 +87,26 @@
// Show AI summary if available
if (data.summary?.summaryText) {
- summaryTxt.textContent = data.summary.summaryText;
- summaryEl.style.display = 'block';
-
- // Render numbered citation list
const refs = data.summary?.citations || [];
const validRefs = refs.filter(r => r.title || r.uri);
-
+
+ summaryTxt.innerHTML = renderSummaryMarkdown(data.summary.summaryText, validRefs.length);
+
+ const inlineRefs = summaryTxt.querySelectorAll('a[href^="#source-row-"]');
+ inlineRefs.forEach((el) => {
+ el.classList.add('summary-inline-citation');
+ el.setAttribute('aria-label', `Jump to source ${el.textContent}`);
+ });
+
+ summaryEl.style.display = 'block';
+
+ // Remove stale source rows before rendering the latest list.
+ const previousCitations = summaryEl.querySelector('.search-citations');
+ if (previousCitations) previousCitations.remove();
+
if (validRefs.length > 0) {
const citationHtml = validRefs.map((ref, i) => `
-
+
`).join('');
-
+
const citationsDiv = document.createElement('div');
citationsDiv.className = 'search-citations mt-3';
citationsDiv.innerHTML = '
Sources
' + citationHtml;
summaryEl.querySelector('.ai-summary').appendChild(citationsDiv);
}
+ } else {
+ summaryTxt.innerHTML = '';
+ summaryEl.style.display = 'none';
}
// Show results
diff --git a/assets/scss/_styles_project.scss b/assets/scss/_styles_project.scss
index 2e23b2fd..cce782c7 100644
--- a/assets/scss/_styles_project.scss
+++ b/assets/scss/_styles_project.scss
@@ -112,7 +112,51 @@
margin-bottom: 0.5rem;
}
- p { margin: 0; }
+ p { margin: 0 0 0.75rem; }
+
+ p:last-child {
+ margin-bottom: 0;
+ }
+
+ ul,
+ ol {
+ margin: 0.5rem 0 0.75rem 1.25rem;
+ }
+
+ li {
+ margin-bottom: 0.35rem;
+ }
+
+ h1,
+ h2,
+ h3,
+ h4,
+ h5,
+ h6 {
+ margin: 0.9rem 0 0.5rem;
+ font-size: 1rem;
+ font-weight: 700;
+ color: #124fa8;
+ }
+
+ code {
+ color: #0b4aa2;
+ background: rgba(26, 115, 232, 0.1);
+ border-radius: 3px;
+ padding: 0 0.2rem;
+ }
+}
+
+.summary-inline-citation {
+ margin-left: 0.1rem;
+ text-decoration: none;
+ font-weight: 600;
+ color: #1a73e8;
+
+ &:hover,
+ &:focus {
+ text-decoration: underline;
+ }
}
.td-search-hit {
diff --git a/layouts/search.html b/layouts/search.html
index 4d917ab1..8739b3d1 100644
--- a/layouts/search.html
+++ b/layouts/search.html
@@ -17,7 +17,7 @@
Search Results
AI Summary
-
+
diff --git a/package-lock.json b/package-lock.json
index ed749d0f..fa05e504 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,1762 +1,3632 @@
{
- "name": "Interlisp.github.io",
+
+ "name": "InterlispDraft.github.io",
+
"lockfileVersion": 2,
+
"requires": true,
+
"packages": {
+
"": {
+
+ "name": "InterlispDraft.github.io",
+
"dependencies": {
+
+ "dompurify": "^3.3.1",
+
"jquery": "^3.7.1",
+
+ "marked": "^15.0.12",
+
"tabpanel": "^0.2.0"
+
},
+
"devDependencies": {
+
"autoprefixer": "^10.4.8",
+
"hugo-extended": "^0.155.3",
+
"postcss": "^8.5.13",
+
"postcss-cli": "^10.0.0"
+
}
+
},
+
"node_modules/@isaacs/fs-minipass": {
+
"version": "4.0.1",
+
"resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz",
+
"integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==",
+
"dev": true,
+
"dependencies": {
+
"minipass": "^7.0.4"
+
},
+
"engines": {
+
"node": ">=18.0.0"
+
}
+
},
+
"node_modules/@nodelib/fs.scandir": {
+
"version": "2.1.5",
+
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+
"integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+
"dev": true,
+
"dependencies": {
+
"@nodelib/fs.stat": "2.0.5",
+
"run-parallel": "^1.1.9"
+
},
+
"engines": {
+
"node": ">= 8"
+
}
+
},
+
"node_modules/@nodelib/fs.stat": {
+
"version": "2.0.5",
+
"resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+
"integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+
"dev": true,
+
"engines": {
+
"node": ">= 8"
+
}
+
},
+
"node_modules/@nodelib/fs.walk": {
+
"version": "1.2.8",
+
"resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+
"integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+
"dev": true,
+
"dependencies": {
+
"@nodelib/fs.scandir": "2.1.5",
+
"fastq": "^1.6.0"
+
},
+
"engines": {
+
"node": ">= 8"
- }
+
+ }
+
+ },
+
+ "node_modules/@types/trusted-types": {
+
+ "version": "2.0.7",
+
+ "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz",
+
+ "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==",
+
+ "license": "MIT",
+
+ "optional": true
+
},
+
"node_modules/adm-zip": {
+
"version": "0.5.16",
+
"resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.16.tgz",
+
"integrity": "sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==",
+
"dev": true,
+
"engines": {
+
"node": ">=12.0"
+
}
+
},
+
"node_modules/ansi-regex": {
+
"version": "5.0.1",
+
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+
"dev": true,
+
"engines": {
+
"node": ">=8"
+
}
+
},
+
"node_modules/ansi-styles": {
+
"version": "4.3.0",
+
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+
"dev": true,
+
"dependencies": {
+
"color-convert": "^2.0.1"
+
},
+
"engines": {
+
"node": ">=8"
+
},
+
"funding": {
+
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
+
}
+
},
+
"node_modules/anymatch": {
+
"version": "3.1.2",
+
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
+
"integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
+
"dev": true,
+
"dependencies": {
+
"normalize-path": "^3.0.0",
+
"picomatch": "^2.0.4"
+
},
+
"engines": {
+
"node": ">= 8"
+
}
+
},
+
"node_modules/autoprefixer": {
+
"version": "10.4.8",
+
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.8.tgz",
+
"integrity": "sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw==",
+
"dev": true,
+
"funding": [
+
{
+
"type": "opencollective",
+
"url": "https://opencollective.com/postcss/"
+
},
+
{
+
"type": "tidelift",
+
"url": "https://tidelift.com/funding/github/npm/autoprefixer"
+
}
+
],
+
"dependencies": {
+
"browserslist": "^4.21.3",
+
"caniuse-lite": "^1.0.30001373",
+
"fraction.js": "^4.2.0",
+
"normalize-range": "^0.1.2",
+
"picocolors": "^1.0.0",
+
"postcss-value-parser": "^4.2.0"
+
},
+
"bin": {
+
"autoprefixer": "bin/autoprefixer"
+
},
+
"engines": {
+
"node": "^10 || ^12 || >=14"
+
},
+
"peerDependencies": {
+
"postcss": "^8.1.0"
+
}
+
},
+
"node_modules/binary-extensions": {
+
"version": "2.2.0",
+
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
+
"dev": true,
+
"engines": {
+
"node": ">=8"
+
}
+
},
+
"node_modules/braces": {
+
"version": "3.0.3",
+
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+
"dev": true,
+
"dependencies": {
+
"fill-range": "^7.1.1"
+
},
+
"engines": {
+
"node": ">=8"
+
}
+
},
+
"node_modules/browserslist": {
+
"version": "4.21.3",
+
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz",
+
"integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==",
+
"dev": true,
+
"funding": [
+
{
+
"type": "opencollective",
+
"url": "https://opencollective.com/browserslist"
+
},
+
{
+
"type": "tidelift",
+
"url": "https://tidelift.com/funding/github/npm/browserslist"
+
}
+
],
+
"dependencies": {
+
"caniuse-lite": "^1.0.30001370",
+
"electron-to-chromium": "^1.4.202",
+
"node-releases": "^2.0.6",
+
"update-browserslist-db": "^1.0.5"
+
},
+
"bin": {
+
"browserslist": "cli.js"
+
},
+
"engines": {
+
"node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+
}
+
},
+
"node_modules/caniuse-lite": {
+
"version": "1.0.30001378",
+
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001378.tgz",
+
"integrity": "sha512-JVQnfoO7FK7WvU4ZkBRbPjaot4+YqxogSDosHv0Hv5mWpUESmN+UubMU6L/hGz8QlQ2aY5U0vR6MOs6j/CXpNA==",
+
"dev": true,
+
"funding": [
+
{
+
"type": "opencollective",
+
"url": "https://opencollective.com/browserslist"
+
},
+
{
+
"type": "tidelift",
+
"url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+
}
+
]
+
},
+
"node_modules/chokidar": {
+
"version": "3.5.3",
+
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+
"integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+
"dev": true,
+
"funding": [
+
{
+
"type": "individual",
+
"url": "https://paulmillr.com/funding/"
+
}
+
],
+
"dependencies": {
+
"anymatch": "~3.1.2",
+
"braces": "~3.0.2",
+
"glob-parent": "~5.1.2",
+
"is-binary-path": "~2.1.0",
+
"is-glob": "~4.0.1",
+
"normalize-path": "~3.0.0",
+
"readdirp": "~3.6.0"
+
},
+
"engines": {
+
"node": ">= 8.10.0"
+
},
+
"optionalDependencies": {
+
"fsevents": "~2.3.2"
+
}
+
},
+
"node_modules/chownr": {
+
"version": "3.0.0",
+
"resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz",
+
"integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==",
+
"dev": true,
+
"engines": {
+
"node": ">=18"
+
}
+
},
+
"node_modules/cliui": {
+
"version": "7.0.4",
+
"resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+
"integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
+
"dev": true,
+
"dependencies": {
+
"string-width": "^4.2.0",
+
"strip-ansi": "^6.0.0",
+
"wrap-ansi": "^7.0.0"
+
}
+
},
+
"node_modules/color-convert": {
+
"version": "2.0.1",
+
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+
"dev": true,
+
"dependencies": {
+
"color-name": "~1.1.4"
+
},
+
"engines": {
+
"node": ">=7.0.0"
+
}
+
},
+
"node_modules/color-name": {
+
"version": "1.1.4",
+
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+
"dev": true
+
},
+
"node_modules/dependency-graph": {
+
"version": "0.11.0",
+
"resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz",
+
"integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==",
+
"dev": true,
+
"engines": {
+
"node": ">= 0.6.0"
+
}
+
},
+
"node_modules/dir-glob": {
+
"version": "3.0.1",
+
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+
"integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+
"dev": true,
+
"dependencies": {
+
"path-type": "^4.0.0"
+
},
+
"engines": {
+
"node": ">=8"
+
+ }
+
+ },
+
+ "node_modules/dompurify": {
+
+ "version": "3.4.3",
+
+ "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.4.3.tgz",
+
+ "integrity": "sha512-VVwJidIJcp1hpg2OMXML3ZVRPYSZiq4aX7qBh83BSIpOaRDqI+qxhXjjIWnpzkOXhmp0L81lnoME1mnCc9H48A==",
+
+ "license": "(MPL-2.0 OR Apache-2.0)",
+
+ "optionalDependencies": {
+
+ "@types/trusted-types": "^2.0.7"
+
}
+
},
+
"node_modules/electron-to-chromium": {
+
"version": "1.4.224",
+
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.224.tgz",
+
"integrity": "sha512-dOujC5Yzj0nOVE23iD5HKqrRSDj2SD7RazpZS/b/WX85MtO6/LzKDF4TlYZTBteB+7fvSg5JpWh0sN7fImNF8w==",
+
"dev": true
+
},
+
"node_modules/emoji-regex": {
+
"version": "8.0.0",
+
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+
"dev": true
+
},
+
"node_modules/escalade": {
+
"version": "3.1.1",
+
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+
"integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+
"dev": true,
+
"engines": {
+
"node": ">=6"
+
}
+
},
+
"node_modules/fast-glob": {
+
"version": "3.2.11",
+
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
+
"integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
+
"dev": true,
+
"dependencies": {
+
"@nodelib/fs.stat": "^2.0.2",
+
"@nodelib/fs.walk": "^1.2.3",
+
"glob-parent": "^5.1.2",
+
"merge2": "^1.3.0",
+
"micromatch": "^4.0.4"
+
},
+
"engines": {
+
"node": ">=8.6.0"
+
}
+
},
+
"node_modules/fastq": {
+
"version": "1.13.0",
+
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
+
"integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
+
"dev": true,
+
"dependencies": {
+
"reusify": "^1.0.4"
+
}
+
},
+
"node_modules/fill-range": {
+
"version": "7.1.1",
+
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+
"dev": true,
+
"dependencies": {
+
"to-regex-range": "^5.0.1"
+
},
+
"engines": {
+
"node": ">=8"
+
}
+
},
+
"node_modules/fraction.js": {
+
"version": "4.2.0",
+
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
+
"integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==",
+
"dev": true,
+
"engines": {
+
"node": "*"
+
},
+
"funding": {
+
"type": "patreon",
+
"url": "https://www.patreon.com/infusion"
+
}
+
},
+
"node_modules/fs-extra": {
+
"version": "10.1.0",
+
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
+
"integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
+
"dev": true,
+
"dependencies": {
+
"graceful-fs": "^4.2.0",
+
"jsonfile": "^6.0.1",
+
"universalify": "^2.0.0"
+
},
+
"engines": {
+
"node": ">=12"
+
}
+
},
+
"node_modules/fsevents": {
+
"version": "2.3.2",
+
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+
"dev": true,
+
"hasInstallScript": true,
+
"optional": true,
+
"os": [
+
"darwin"
+
],
+
"engines": {
+
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+
}
+
},
+
"node_modules/get-caller-file": {
+
"version": "2.0.5",
+
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+
"dev": true,
+
"engines": {
+
"node": "6.* || 8.* || >= 10.*"
+
}
+
},
+
"node_modules/get-stdin": {
+
"version": "9.0.0",
+
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz",
+
"integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==",
+
"dev": true,
+
"engines": {
+
"node": ">=12"
+
},
+
"funding": {
+
"url": "https://github.com/sponsors/sindresorhus"
+
}
+
},
+
"node_modules/glob-parent": {
+
"version": "5.1.2",
+
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+
"dev": true,
+
"dependencies": {
+
"is-glob": "^4.0.1"
+
},
+
"engines": {
+
"node": ">= 6"
+
}
+
},
+
"node_modules/globby": {
+
"version": "13.1.2",
+
"resolved": "https://registry.npmjs.org/globby/-/globby-13.1.2.tgz",
+
"integrity": "sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==",
+
"dev": true,
+
"dependencies": {
+
"dir-glob": "^3.0.1",
+
"fast-glob": "^3.2.11",
+
"ignore": "^5.2.0",
+
"merge2": "^1.4.1",
+
"slash": "^4.0.0"
+
},
+
"engines": {
+
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+
},
+
"funding": {
+
"url": "https://github.com/sponsors/sindresorhus"
+
}
+
},
+
"node_modules/graceful-fs": {
+
"version": "4.2.10",
+
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
+
"integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
+
"dev": true
+
},
+
"node_modules/hugo-extended": {
+
"version": "0.155.3",
+
"resolved": "https://registry.npmjs.org/hugo-extended/-/hugo-extended-0.155.3.tgz",
+
"integrity": "sha512-nzGmsgnOdeOGDgtpPHEPZ1PVizDHPU3240UdRmxu0b9vT+A7iB9toaUGcUQXQ/PVURq6y8lIuoTFsI4xfDoLLA==",
+
"dev": true,
+
"hasInstallScript": true,
+
"dependencies": {
+
"adm-zip": "^0.5.16",
+
"tar": "^7.5.7"
+
},
+
"bin": {
+
"hugo": "dist/cli.mjs",
+
"hugo-extended": "dist/cli.mjs"
+
},
+
"engines": {
+
"node": ">=18.17"
+
}
+
},
+
"node_modules/ignore": {
+
"version": "5.2.0",
+
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
+
"integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
+
"dev": true,
+
"engines": {
+
"node": ">= 4"
+
}
+
},
+
"node_modules/is-binary-path": {
+
"version": "2.1.0",
+
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+
"dev": true,
+
"dependencies": {
+
"binary-extensions": "^2.0.0"
+
},
+
"engines": {
+
"node": ">=8"
+
}
+
},
+
"node_modules/is-extglob": {
+
"version": "2.1.1",
+
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+
"dev": true,
+
"engines": {
+
"node": ">=0.10.0"
+
}
+
},
+
"node_modules/is-fullwidth-code-point": {
+
"version": "3.0.0",
+
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+
"dev": true,
+
"engines": {
+
"node": ">=8"
+
}
+
},
+
"node_modules/is-glob": {
+
"version": "4.0.3",
+
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+
"dev": true,
+
"dependencies": {
+
"is-extglob": "^2.1.1"
+
},
+
"engines": {
+
"node": ">=0.10.0"
+
}
+
},
+
"node_modules/is-number": {
+
"version": "7.0.0",
+
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+
"dev": true,
+
"engines": {
+
"node": ">=0.12.0"
+
}
+
},
+
"node_modules/jquery": {
+
"version": "3.7.1",
+
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz",
+
"integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg=="
+
},
+
"node_modules/jsonfile": {
+
"version": "6.1.0",
+
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+
"integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+
"dev": true,
+
"dependencies": {
+
"universalify": "^2.0.0"
+
},
+
"optionalDependencies": {
+
"graceful-fs": "^4.1.6"
+
}
+
},
+
"node_modules/lilconfig": {
+
"version": "2.0.6",
+
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz",
+
"integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==",
+
"dev": true,
+
"engines": {
+
"node": ">=10"
+
+ }
+
+ },
+
+ "node_modules/marked": {
+
+ "version": "15.0.12",
+
+ "resolved": "https://registry.npmjs.org/marked/-/marked-15.0.12.tgz",
+
+ "integrity": "sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==",
+
+ "license": "MIT",
+
+ "bin": {
+
+ "marked": "bin/marked.js"
+
+ },
+
+ "engines": {
+
+ "node": ">= 18"
+
}
+
},
+
"node_modules/merge2": {
+
"version": "1.4.1",
+
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+
"integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+
"dev": true,
+
"engines": {
+
"node": ">= 8"
+
}
+
},
+
"node_modules/micromatch": {
+
"version": "4.0.8",
+
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+
"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+
"dev": true,
+
"dependencies": {
+
"braces": "^3.0.3",
+
"picomatch": "^2.3.1"
+
},
+
"engines": {
+
"node": ">=8.6"
+
}
+
},
+
"node_modules/minipass": {
+
"version": "7.1.2",
+
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+
"integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+
"dev": true,
+
"engines": {
+
"node": ">=16 || 14 >=14.17"
+
}
+
},
+
"node_modules/minizlib": {
+
"version": "3.1.0",
+
"resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz",
+
"integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==",
+
"dev": true,
+
"dependencies": {
+
"minipass": "^7.1.2"
+
},
+
"engines": {
+
"node": ">= 18"
+
}
+
},
+
"node_modules/nanoid": {
+
"version": "3.3.11",
+
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
+
"integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
+
"dev": true,
+
"funding": [
+
{
+
"type": "github",
+
"url": "https://github.com/sponsors/ai"
+
}
+
],
+
"bin": {
+
"nanoid": "bin/nanoid.cjs"
+
},
+
"engines": {
+
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+
}
+
},
+
"node_modules/node-releases": {
+
"version": "2.0.6",
+
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
+
"integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==",
+
"dev": true
+
},
+
"node_modules/normalize-path": {
+
"version": "3.0.0",
+
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+
"dev": true,
+
"engines": {
+
"node": ">=0.10.0"
+
}
+
},
+
"node_modules/normalize-range": {
+
"version": "0.1.2",
+
"resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+
"integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
+
"dev": true,
+
"engines": {
+
"node": ">=0.10.0"
+
}
+
},
+
"node_modules/path-type": {
+
"version": "4.0.0",
+
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+
"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+
"dev": true,
+
"engines": {
+
"node": ">=8"
+
}
+
},
+
"node_modules/picocolors": {
+
"version": "1.1.1",
+
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+
"integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+
"dev": true
+
},
+
"node_modules/picomatch": {
+
"version": "2.3.2",
+
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz",
+
"integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
+
"dev": true,
+
+ "license": "MIT",
+
"engines": {
+
"node": ">=8.6"
+
},
+
"funding": {
+
"url": "https://github.com/sponsors/jonschlinkert"
+
}
+
},
+
"node_modules/pify": {
+
"version": "2.3.0",
+
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+
"integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
+
"dev": true,
+
"engines": {
+
"node": ">=0.10.0"
+
}
+
},
+
"node_modules/postcss": {
- "version": "8.5.13",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.13.tgz",
- "integrity": "sha512-qif0+jGGZoLWdHey3UFHHWP0H7Gbmsk8T5VEqyYFbWqPr1XqvLGBbk/sl8V5exGmcYJklJOhOQq1pV9IcsiFag==",
- "dev": true,
+
+ "version": "8.5.14",
+
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.14.tgz",
+
+ "integrity": "sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==",
+
+ "dev": true,
+
"funding": [
+
{
+
"type": "opencollective",
+
"url": "https://opencollective.com/postcss/"
+
},
+
{
+
"type": "tidelift",
+
"url": "https://tidelift.com/funding/github/npm/postcss"
+
},
+
{
+
"type": "github",
+
"url": "https://github.com/sponsors/ai"
+
}
+
],
+
+ "license": "MIT",
+
"dependencies": {
+
"nanoid": "^3.3.11",
+
"picocolors": "^1.1.1",
+
"source-map-js": "^1.2.1"
+
},
+
"engines": {
+
"node": "^10 || ^12 || >=14"
+
}
+
},
+
"node_modules/postcss-cli": {
+
"version": "10.0.0",
+
"resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-10.0.0.tgz",
+
"integrity": "sha512-Wjy/00wBBEgQqnSToznxLWDnATznokFGXsHtF/3G8glRZpz5KYlfHcBW/VMJmWAeF2x49zjgy4izjM3/Wx1dKA==",
+
"dev": true,
+
"dependencies": {
+
"chokidar": "^3.3.0",
+
"dependency-graph": "^0.11.0",
+
"fs-extra": "^10.0.0",
+
"get-stdin": "^9.0.0",
+
"globby": "^13.0.0",
+
"picocolors": "^1.0.0",
+
"postcss-load-config": "^4.0.0",
+
"postcss-reporter": "^7.0.0",
+
"pretty-hrtime": "^1.0.3",
+
"read-cache": "^1.0.0",
+
"slash": "^4.0.0",
+
"yargs": "^17.0.0"
+
},
+
"bin": {
+
"postcss": "index.js"
+
},
+
"engines": {
+
"node": ">=14"
+
},
+
"peerDependencies": {
+
"postcss": "^8.0.0"
+
}
+
},
+
"node_modules/postcss-load-config": {
+
"version": "4.0.1",
+
"resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz",
+
"integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==",
+
"dev": true,
+
"dependencies": {
+
"lilconfig": "^2.0.5",
+
"yaml": "^2.1.1"
+
},
+
"engines": {
+
"node": ">= 14"
+
},
+
"funding": {
+
"type": "opencollective",
+
"url": "https://opencollective.com/postcss/"
+
},
+
"peerDependencies": {
+
"postcss": ">=8.0.9",
+
"ts-node": ">=9.0.0"
+
},
+
"peerDependenciesMeta": {
+
"postcss": {
+
"optional": true
+
},
+
"ts-node": {
+
"optional": true
+
}
+
}
+
},
+
"node_modules/postcss-reporter": {
+
"version": "7.0.5",
+
"resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.0.5.tgz",
+
"integrity": "sha512-glWg7VZBilooZGOFPhN9msJ3FQs19Hie7l5a/eE6WglzYqVeH3ong3ShFcp9kDWJT1g2Y/wd59cocf9XxBtkWA==",
+
"dev": true,
+
"dependencies": {
+
"picocolors": "^1.0.0",
+
"thenby": "^1.3.4"
+
},
+
"engines": {
+
"node": ">=10"
+
},
+
"funding": {
+
"type": "opencollective",
+
"url": "https://opencollective.com/postcss/"
+
},
+
"peerDependencies": {
+
"postcss": "^8.1.0"
+
}
+
},
+
"node_modules/postcss-value-parser": {
+
"version": "4.2.0",
+
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+
"integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
+
"dev": true
+
},
+
"node_modules/pretty-hrtime": {
+
"version": "1.0.3",
+
"resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
+
"integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==",
+
"dev": true,
+
"engines": {
+
"node": ">= 0.8"
+
}
+
},
+
"node_modules/queue-microtask": {
+
"version": "1.2.3",
+
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+
"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+
"dev": true,
+
"funding": [
+
{
+
"type": "github",
+
"url": "https://github.com/sponsors/feross"
+
},
+
{
+
"type": "patreon",
+
"url": "https://www.patreon.com/feross"
+
},
+
{
+
"type": "consulting",
+
"url": "https://feross.org/support"
+
}
+
]
+
},
+
"node_modules/read-cache": {
+
"version": "1.0.0",
+
"resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
+
"integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
+
"dev": true,
+
"dependencies": {
+
"pify": "^2.3.0"
+
}
+
},
+
"node_modules/readdirp": {
+
"version": "3.6.0",
+
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+
"dev": true,
+
"dependencies": {
+
"picomatch": "^2.2.1"
+
},
+
"engines": {
+
"node": ">=8.10.0"
+
}
+
},
+
"node_modules/require-directory": {
+
"version": "2.1.1",
+
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+
"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+
"dev": true,
+
"engines": {
+
"node": ">=0.10.0"
+
}
+
},
+
"node_modules/reusify": {
+
"version": "1.0.4",
+
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+
"integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+
"dev": true,
+
"engines": {
+
"iojs": ">=1.0.0",
+
"node": ">=0.10.0"
+
}
+
},
+
"node_modules/run-parallel": {
+
"version": "1.2.0",
+
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+
"integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+
"dev": true,
+
"funding": [
+
{
+
"type": "github",
+
"url": "https://github.com/sponsors/feross"
+
},
+
{
+
"type": "patreon",
+
"url": "https://www.patreon.com/feross"
+
},
+
{
+
"type": "consulting",
+
"url": "https://feross.org/support"
+
}
+
],
+
"dependencies": {
+
"queue-microtask": "^1.2.2"
+
}
+
},
+
"node_modules/slash": {
+
"version": "4.0.0",
+
"resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
+
"integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
+
"dev": true,
+
"engines": {
+
"node": ">=12"
+
},
+
"funding": {
+
"url": "https://github.com/sponsors/sindresorhus"
+
}
+
},
+
"node_modules/source-map-js": {
+
"version": "1.2.1",
+
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+
"integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+
"dev": true,
+
"engines": {
+
"node": ">=0.10.0"
+
}
+
},
+
"node_modules/string-width": {
+
"version": "4.2.3",
+
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+
"dev": true,
+
"dependencies": {
+
"emoji-regex": "^8.0.0",
+
"is-fullwidth-code-point": "^3.0.0",
+
"strip-ansi": "^6.0.1"
+
},
+
"engines": {
+
"node": ">=8"
+
}
+
},
+
"node_modules/strip-ansi": {
+
"version": "6.0.1",
+
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+
"dev": true,
+
"dependencies": {
+
"ansi-regex": "^5.0.1"
+
},
+
"engines": {
+
"node": ">=8"
+
}
+
},
+
"node_modules/tabpanel": {
+
"version": "0.2.0",
+
"resolved": "https://registry.npmjs.org/tabpanel/-/tabpanel-0.2.0.tgz",
+
"integrity": "sha512-tS6UG1L/QfZZ0GdqMKkPXSYtErQNE0qDxNpo0xJh0XZT9TYjZ0lLHwIJUhhyV+u01h1iSswrw6vCNYqwD/R+EQ=="
+
},
+
"node_modules/tar": {
- "version": "7.5.13",
- "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.13.tgz",
- "integrity": "sha512-tOG/7GyXpFevhXVh8jOPJrmtRpOTsYqUIkVdVooZYJS/z8WhfQUX8RJILmeuJNinGAMSu1veBr4asSHFt5/hng==",
- "dev": true,
+
+ "version": "7.5.15",
+
+ "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.15.tgz",
+
+ "integrity": "sha512-dzGK0boVlC4W5QFuQN1EFSl3bIDYsk7Tj40U6eIBnK2k/8ml7TZ5agbI5j5+qnoVcAA+rNtBml8SEiLxZpNqRQ==",
+
+ "dev": true,
+
+ "license": "BlueOak-1.0.0",
+
"dependencies": {
+
"@isaacs/fs-minipass": "^4.0.0",
+
"chownr": "^3.0.0",
+
"minipass": "^7.1.2",
+
"minizlib": "^3.1.0",
+
"yallist": "^5.0.0"
+
},
+
"engines": {
+
"node": ">=18"
+
}
+
},
+
"node_modules/thenby": {
+
"version": "1.3.4",
+
"resolved": "https://registry.npmjs.org/thenby/-/thenby-1.3.4.tgz",
+
"integrity": "sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==",
+
"dev": true
+
},
+
"node_modules/to-regex-range": {
+
"version": "5.0.1",
+
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+
"dev": true,
+
"dependencies": {
+
"is-number": "^7.0.0"
+
},
+
"engines": {
+
"node": ">=8.0"
+
}
+
},
+
"node_modules/universalify": {
+
"version": "2.0.0",
+
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+
"integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+
"dev": true,
+
"engines": {
+
"node": ">= 10.0.0"
+
}
+
},
+
"node_modules/update-browserslist-db": {
+
"version": "1.0.5",
+
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz",
+
"integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==",
+
"dev": true,
+
"funding": [
+
{
+
"type": "opencollective",
+
"url": "https://opencollective.com/browserslist"
+
},
+
{
+
"type": "tidelift",
+
"url": "https://tidelift.com/funding/github/npm/browserslist"
+
}
+
],
+
"dependencies": {
+
"escalade": "^3.1.1",
+
"picocolors": "^1.0.0"
+
},
+
"bin": {
+
"browserslist-lint": "cli.js"
+
},
+
"peerDependencies": {
+
"browserslist": ">= 4.21.0"
+
}
+
},
+
"node_modules/wrap-ansi": {
+
"version": "7.0.0",
+
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+
"dev": true,
+
"dependencies": {
+
"ansi-styles": "^4.0.0",
+
"string-width": "^4.1.0",
+
"strip-ansi": "^6.0.0"
+
},
+
"engines": {
+
"node": ">=10"
+
},
+
"funding": {
+
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+
}
+
},
+
"node_modules/y18n": {
+
"version": "5.0.8",
+
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+
"integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+
"dev": true,
+
"engines": {
+
"node": ">=10"
+
}
+
},
+
"node_modules/yallist": {
+
"version": "5.0.0",
+
"resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz",
+
"integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==",
+
"dev": true,
+
"engines": {
+
"node": ">=18"
+
}
+
},
+
"node_modules/yaml": {
- "version": "2.8.2",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz",
- "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==",
- "dev": true,
+
+ "version": "2.9.0",
+
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz",
+
+ "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==",
+
+ "dev": true,
+
+ "license": "ISC",
+
"bin": {
+
"yaml": "bin.mjs"
+
},
+
"engines": {
+
"node": ">= 14.6"
+
},
+
"funding": {
+
"url": "https://github.com/sponsors/eemeli"
+
}
+
},
+
"node_modules/yargs": {
+
"version": "17.5.1",
+
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz",
+
"integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==",
+
"dev": true,
+
"dependencies": {
+
"cliui": "^7.0.2",
+
"escalade": "^3.1.1",
+
"get-caller-file": "^2.0.5",
+
"require-directory": "^2.1.1",
+
"string-width": "^4.2.3",
+
"y18n": "^5.0.5",
+
"yargs-parser": "^21.0.0"
+
},
+
"engines": {
+
"node": ">=12"
+
}
+
},
+
"node_modules/yargs-parser": {
+
"version": "21.1.1",
+
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+
"integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+
"dev": true,
+
"engines": {
+
"node": ">=12"
+
}
+
}
+
},
+
"dependencies": {
+
"@isaacs/fs-minipass": {
+
"version": "4.0.1",
+
"resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz",
+
"integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==",
+
"dev": true,
+
"requires": {
+
"minipass": "^7.0.4"
+
}
+
},
+
"@nodelib/fs.scandir": {
+
"version": "2.1.5",
+
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+
"integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+
"dev": true,
+
"requires": {
+
"@nodelib/fs.stat": "2.0.5",
+
"run-parallel": "^1.1.9"
+
}
+
},
+
"@nodelib/fs.stat": {
+
"version": "2.0.5",
+
"resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+
"integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+
"dev": true
+
},
+
"@nodelib/fs.walk": {
+
"version": "1.2.8",
+
"resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+
"integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+
"dev": true,
+
"requires": {
+
"@nodelib/fs.scandir": "2.1.5",
+
"fastq": "^1.6.0"
- }
+
+ }
+
+ },
+
+ "@types/trusted-types": {
+
+ "version": "2.0.7",
+
+ "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz",
+
+ "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==",
+
+ "optional": true
+
},
+
"adm-zip": {
+
"version": "0.5.16",
+
"resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.16.tgz",
+
"integrity": "sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==",
+
"dev": true
+
},
+
"ansi-regex": {
+
"version": "5.0.1",
+
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+
"dev": true
+
},
+
"ansi-styles": {
+
"version": "4.3.0",
+
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+
"dev": true,
+
"requires": {
+
"color-convert": "^2.0.1"
+
}
+
},
+
"anymatch": {
+
"version": "3.1.2",
+
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
+
"integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
+
"dev": true,
+
"requires": {
+
"normalize-path": "^3.0.0",
+
"picomatch": "^2.0.4"
+
}
+
},
+
"autoprefixer": {
+
"version": "10.4.8",
+
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.8.tgz",
+
"integrity": "sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw==",
+
"dev": true,
+
"requires": {
+
"browserslist": "^4.21.3",
+
"caniuse-lite": "^1.0.30001373",
+
"fraction.js": "^4.2.0",
+
"normalize-range": "^0.1.2",
+
"picocolors": "^1.0.0",
+
"postcss-value-parser": "^4.2.0"
+
}
+
},
+
"binary-extensions": {
+
"version": "2.2.0",
+
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
+
"dev": true
+
},
+
"braces": {
+
"version": "3.0.3",
+
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+
"dev": true,
+
"requires": {
+
"fill-range": "^7.1.1"
+
}
+
},
+
"browserslist": {
+
"version": "4.21.3",
+
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz",
+
"integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==",
+
"dev": true,
+
"requires": {
+
"caniuse-lite": "^1.0.30001370",
+
"electron-to-chromium": "^1.4.202",
+
"node-releases": "^2.0.6",
+
"update-browserslist-db": "^1.0.5"
+
}
+
},
+
"caniuse-lite": {
+
"version": "1.0.30001378",
+
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001378.tgz",
+
"integrity": "sha512-JVQnfoO7FK7WvU4ZkBRbPjaot4+YqxogSDosHv0Hv5mWpUESmN+UubMU6L/hGz8QlQ2aY5U0vR6MOs6j/CXpNA==",
+
"dev": true
+
},
+
"chokidar": {
+
"version": "3.5.3",
+
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+
"integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+
"dev": true,
+
"requires": {
+
"anymatch": "~3.1.2",
+
"braces": "~3.0.2",
+
"fsevents": "~2.3.2",
+
"glob-parent": "~5.1.2",
+
"is-binary-path": "~2.1.0",
+
"is-glob": "~4.0.1",
+
"normalize-path": "~3.0.0",
+
"readdirp": "~3.6.0"
+
}
+
},
+
"chownr": {
+
"version": "3.0.0",
+
"resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz",
+
"integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==",
+
"dev": true
+
},
+
"cliui": {
+
"version": "7.0.4",
+
"resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+
"integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
+
"dev": true,
+
"requires": {
+
"string-width": "^4.2.0",
+
"strip-ansi": "^6.0.0",
+
"wrap-ansi": "^7.0.0"
+
}
+
},
+
"color-convert": {
+
"version": "2.0.1",
+
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+
"dev": true,
+
"requires": {
+
"color-name": "~1.1.4"
+
}
+
},
+
"color-name": {
+
"version": "1.1.4",
+
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+
"dev": true
+
},
+
"dependency-graph": {
+
"version": "0.11.0",
+
"resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz",
+
"integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==",
+
"dev": true
+
},
+
"dir-glob": {
+
"version": "3.0.1",
+
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+
"integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+
"dev": true,
+
"requires": {
+
"path-type": "^4.0.0"
+
+ }
+
+ },
+
+ "dompurify": {
+
+ "version": "3.4.3",
+
+ "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.4.3.tgz",
+
+ "integrity": "sha512-VVwJidIJcp1hpg2OMXML3ZVRPYSZiq4aX7qBh83BSIpOaRDqI+qxhXjjIWnpzkOXhmp0L81lnoME1mnCc9H48A==",
+
+ "requires": {
+
+ "@types/trusted-types": "^2.0.7"
+
}
+
},
+
"electron-to-chromium": {
+
"version": "1.4.224",
+
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.224.tgz",
+
"integrity": "sha512-dOujC5Yzj0nOVE23iD5HKqrRSDj2SD7RazpZS/b/WX85MtO6/LzKDF4TlYZTBteB+7fvSg5JpWh0sN7fImNF8w==",
+
"dev": true
+
},
+
"emoji-regex": {
+
"version": "8.0.0",
+
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+
"dev": true
+
},
+
"escalade": {
+
"version": "3.1.1",
+
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+
"integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+
"dev": true
+
},
+
"fast-glob": {
+
"version": "3.2.11",
+
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
+
"integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
+
"dev": true,
+
"requires": {
+
"@nodelib/fs.stat": "^2.0.2",
+
"@nodelib/fs.walk": "^1.2.3",
+
"glob-parent": "^5.1.2",
+
"merge2": "^1.3.0",
+
"micromatch": "^4.0.4"
+
}
+
},
+
"fastq": {
+
"version": "1.13.0",
+
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
+
"integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
+
"dev": true,
+
"requires": {
+
"reusify": "^1.0.4"
+
}
+
},
+
"fill-range": {
+
"version": "7.1.1",
+
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+
"dev": true,
+
"requires": {
+
"to-regex-range": "^5.0.1"
+
}
+
},
+
"fraction.js": {
+
"version": "4.2.0",
+
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
+
"integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==",
+
"dev": true
+
},
+
"fs-extra": {
+
"version": "10.1.0",
+
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
+
"integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
+
"dev": true,
+
"requires": {
+
"graceful-fs": "^4.2.0",
+
"jsonfile": "^6.0.1",
+
"universalify": "^2.0.0"
+
}
+
},
+
"fsevents": {
+
"version": "2.3.2",
+
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+
"dev": true,
+
"optional": true
+
},
+
"get-caller-file": {
+
"version": "2.0.5",
+
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+
"dev": true
+
},
+
"get-stdin": {
+
"version": "9.0.0",
+
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz",
+
"integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==",
+
"dev": true
+
},
+
"glob-parent": {
+
"version": "5.1.2",
+
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+
"dev": true,
+
"requires": {
+
"is-glob": "^4.0.1"
+
}
+
},
+
"globby": {
+
"version": "13.1.2",
+
"resolved": "https://registry.npmjs.org/globby/-/globby-13.1.2.tgz",
+
"integrity": "sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==",
+
"dev": true,
+
"requires": {
+
"dir-glob": "^3.0.1",
+
"fast-glob": "^3.2.11",
+
"ignore": "^5.2.0",
+
"merge2": "^1.4.1",
+
"slash": "^4.0.0"
+
}
+
},
+
"graceful-fs": {
+
"version": "4.2.10",
+
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
+
"integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
+
"dev": true
+
},
+
"hugo-extended": {
+
"version": "0.155.3",
+
"resolved": "https://registry.npmjs.org/hugo-extended/-/hugo-extended-0.155.3.tgz",
+
"integrity": "sha512-nzGmsgnOdeOGDgtpPHEPZ1PVizDHPU3240UdRmxu0b9vT+A7iB9toaUGcUQXQ/PVURq6y8lIuoTFsI4xfDoLLA==",
+
"dev": true,
+
"requires": {
+
"adm-zip": "^0.5.16",
+
"tar": "^7.5.7"
+
}
+
},
+
"ignore": {
+
"version": "5.2.0",
+
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
+
"integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
+
"dev": true
+
},
+
"is-binary-path": {
+
"version": "2.1.0",
+
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+
"dev": true,
+
"requires": {
+
"binary-extensions": "^2.0.0"
+
}
+
},
+
"is-extglob": {
+
"version": "2.1.1",
+
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+
"dev": true
+
},
+
"is-fullwidth-code-point": {
+
"version": "3.0.0",
+
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+
"dev": true
+
},
+
"is-glob": {
+
"version": "4.0.3",
+
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+
"dev": true,
+
"requires": {
+
"is-extglob": "^2.1.1"
+
}
+
},
+
"is-number": {
+
"version": "7.0.0",
+
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+
"dev": true
+
},
+
"jquery": {
+
"version": "3.7.1",
+
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz",
+
"integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg=="
+
},
+
"jsonfile": {
+
"version": "6.1.0",
+
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+
"integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+
"dev": true,
+
"requires": {
+
"graceful-fs": "^4.1.6",
+
"universalify": "^2.0.0"
+
}
+
},
+
"lilconfig": {
+
"version": "2.0.6",
+
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz",
+
"integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==",
+
"dev": true
- },
+
+ },
+
+ "marked": {
+
+ "version": "15.0.12",
+
+ "resolved": "https://registry.npmjs.org/marked/-/marked-15.0.12.tgz",
+
+ "integrity": "sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA=="
+
+ },
+
"merge2": {
+
"version": "1.4.1",
+
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+
"integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+
"dev": true
+
},
+
"micromatch": {
+
"version": "4.0.8",
+
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+
"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+
"dev": true,
+
"requires": {
+
"braces": "^3.0.3",
+
"picomatch": "^2.3.1"
+
}
+
},
+
"minipass": {
+
"version": "7.1.2",
+
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+
"integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+
"dev": true
+
},
+
"minizlib": {
+
"version": "3.1.0",
+
"resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz",
+
"integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==",
+
"dev": true,
+
"requires": {
+
"minipass": "^7.1.2"
+
}
+
},
+
"nanoid": {
+
"version": "3.3.11",
+
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
+
"integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
+
"dev": true
+
},
+
"node-releases": {
+
"version": "2.0.6",
+
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
+
"integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==",
+
"dev": true
+
},
+
"normalize-path": {
+
"version": "3.0.0",
+
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+
"dev": true
+
},
+
"normalize-range": {
+
"version": "0.1.2",
+
"resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+
"integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
+
"dev": true
+
},
+
"path-type": {
+
"version": "4.0.0",
+
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+
"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+
"dev": true
+
},
+
"picocolors": {
+
"version": "1.1.1",
+
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+
"integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+
"dev": true
+
},
+
"picomatch": {
+
"version": "2.3.2",
+
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz",
+
"integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
+
"dev": true
+
},
+
"pify": {
+
"version": "2.3.0",
+
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+
"integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
+
"dev": true
+
},
+
"postcss": {
- "version": "8.5.13",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.13.tgz",
- "integrity": "sha512-qif0+jGGZoLWdHey3UFHHWP0H7Gbmsk8T5VEqyYFbWqPr1XqvLGBbk/sl8V5exGmcYJklJOhOQq1pV9IcsiFag==",
- "dev": true,
+
+ "version": "8.5.14",
+
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.14.tgz",
+
+ "integrity": "sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==",
+
+ "dev": true,
+
"requires": {
+
"nanoid": "^3.3.11",
+
"picocolors": "^1.1.1",
+
"source-map-js": "^1.2.1"
+
}
+
},
+
"postcss-cli": {
+
"version": "10.0.0",
+
"resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-10.0.0.tgz",
+
"integrity": "sha512-Wjy/00wBBEgQqnSToznxLWDnATznokFGXsHtF/3G8glRZpz5KYlfHcBW/VMJmWAeF2x49zjgy4izjM3/Wx1dKA==",
+
"dev": true,
+
"requires": {
+
"chokidar": "^3.3.0",
+
"dependency-graph": "^0.11.0",
+
"fs-extra": "^10.0.0",
+
"get-stdin": "^9.0.0",
+
"globby": "^13.0.0",
+
"picocolors": "^1.0.0",
+
"postcss-load-config": "^4.0.0",
+
"postcss-reporter": "^7.0.0",
+
"pretty-hrtime": "^1.0.3",
+
"read-cache": "^1.0.0",
+
"slash": "^4.0.0",
+
"yargs": "^17.0.0"
+
}
+
},
+
"postcss-load-config": {
+
"version": "4.0.1",
+
"resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz",
+
"integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==",
+
"dev": true,
+
"requires": {
+
"lilconfig": "^2.0.5",
+
"yaml": "^2.1.1"
+
}
+
},
+
"postcss-reporter": {
+
"version": "7.0.5",
+
"resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.0.5.tgz",
+
"integrity": "sha512-glWg7VZBilooZGOFPhN9msJ3FQs19Hie7l5a/eE6WglzYqVeH3ong3ShFcp9kDWJT1g2Y/wd59cocf9XxBtkWA==",
+
"dev": true,
+
"requires": {
+
"picocolors": "^1.0.0",
+
"thenby": "^1.3.4"
+
}
+
},
+
"postcss-value-parser": {
+
"version": "4.2.0",
+
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+
"integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
+
"dev": true
+
},
+
"pretty-hrtime": {
+
"version": "1.0.3",
+
"resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
+
"integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==",
+
"dev": true
+
},
+
"queue-microtask": {
+
"version": "1.2.3",
+
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+
"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+
"dev": true
+
},
+
"read-cache": {
+
"version": "1.0.0",
+
"resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
+
"integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
+
"dev": true,
+
"requires": {
+
"pify": "^2.3.0"
+
}
+
},
+
"readdirp": {
+
"version": "3.6.0",
+
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+
"dev": true,
+
"requires": {
+
"picomatch": "^2.2.1"
+
}
+
},
+
"require-directory": {
+
"version": "2.1.1",
+
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+
"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+
"dev": true
+
},
+
"reusify": {
+
"version": "1.0.4",
+
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+
"integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+
"dev": true
+
},
+
"run-parallel": {
+
"version": "1.2.0",
+
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+
"integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+
"dev": true,
+
"requires": {
+
"queue-microtask": "^1.2.2"
+
}
+
},
+
"slash": {
+
"version": "4.0.0",
+
"resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
+
"integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
+
"dev": true
+
},
+
"source-map-js": {
+
"version": "1.2.1",
+
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+
"integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+
"dev": true
+
},
+
"string-width": {
+
"version": "4.2.3",
+
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+
"dev": true,
+
"requires": {
+
"emoji-regex": "^8.0.0",
+
"is-fullwidth-code-point": "^3.0.0",
+
"strip-ansi": "^6.0.1"
+
}
+
},
+
"strip-ansi": {
+
"version": "6.0.1",
+
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+
"dev": true,
+
"requires": {
+
"ansi-regex": "^5.0.1"
+
}
+
},
+
"tabpanel": {
+
"version": "0.2.0",
+
"resolved": "https://registry.npmjs.org/tabpanel/-/tabpanel-0.2.0.tgz",
+
"integrity": "sha512-tS6UG1L/QfZZ0GdqMKkPXSYtErQNE0qDxNpo0xJh0XZT9TYjZ0lLHwIJUhhyV+u01h1iSswrw6vCNYqwD/R+EQ=="
+
},
+
"tar": {
- "version": "7.5.13",
- "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.13.tgz",
- "integrity": "sha512-tOG/7GyXpFevhXVh8jOPJrmtRpOTsYqUIkVdVooZYJS/z8WhfQUX8RJILmeuJNinGAMSu1veBr4asSHFt5/hng==",
- "dev": true,
+
+ "version": "7.5.15",
+
+ "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.15.tgz",
+
+ "integrity": "sha512-dzGK0boVlC4W5QFuQN1EFSl3bIDYsk7Tj40U6eIBnK2k/8ml7TZ5agbI5j5+qnoVcAA+rNtBml8SEiLxZpNqRQ==",
+
+ "dev": true,
+
"requires": {
+
"@isaacs/fs-minipass": "^4.0.0",
+
"chownr": "^3.0.0",
+
"minipass": "^7.1.2",
+
"minizlib": "^3.1.0",
+
"yallist": "^5.0.0"
+
}
+
},
+
"thenby": {
+
"version": "1.3.4",
+
"resolved": "https://registry.npmjs.org/thenby/-/thenby-1.3.4.tgz",
+
"integrity": "sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==",
+
"dev": true
+
},
+
"to-regex-range": {
+
"version": "5.0.1",
+
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+
"dev": true,
+
"requires": {
+
"is-number": "^7.0.0"
+
}
+
},
+
"universalify": {
+
"version": "2.0.0",
+
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+
"integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+
"dev": true
+
},
+
"update-browserslist-db": {
+
"version": "1.0.5",
+
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz",
+
"integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==",
+
"dev": true,
+
"requires": {
+
"escalade": "^3.1.1",
+
"picocolors": "^1.0.0"
+
}
+
},
+
"wrap-ansi": {
+
"version": "7.0.0",
+
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+
"dev": true,
+
"requires": {
+
"ansi-styles": "^4.0.0",
+
"string-width": "^4.1.0",
+
"strip-ansi": "^6.0.0"
+
}
+
},
+
"y18n": {
+
"version": "5.0.8",
+
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+
"integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+
"dev": true
+
},
+
"yallist": {
+
"version": "5.0.0",
+
"resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz",
+
"integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==",
+
"dev": true
+
},
+
"yaml": {
- "version": "2.8.2",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz",
- "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==",
+
+ "version": "2.9.0",
+
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz",
+
+ "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==",
+
"dev": true
+
},
+
"yargs": {
+
"version": "17.5.1",
+
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz",
+
"integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==",
+
"dev": true,
+
"requires": {
+
"cliui": "^7.0.2",
+
"escalade": "^3.1.1",
+
"get-caller-file": "^2.0.5",
+
"require-directory": "^2.1.1",
+
"string-width": "^4.2.3",
+
"y18n": "^5.0.5",
+
"yargs-parser": "^21.0.0"
+
}
+
},
+
"yargs-parser": {
+
"version": "21.1.1",
+
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+
"integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+
"dev": true
+
}
+
}
+
}
+
diff --git a/package.json b/package.json
index a5347d31..1e4ae057 100644
--- a/package.json
+++ b/package.json
@@ -14,8 +14,12 @@
"dependencies": {
+ "dompurify": "^3.3.1",
+
"jquery": "^3.7.1",
+ "marked": "^15.0.12",
+
"tabpanel": "^0.2.0"
}
diff --git a/search-function/index.js b/search-function/index.js
index 5d0c90ae..31133575 100644
--- a/search-function/index.js
+++ b/search-function/index.js
@@ -153,8 +153,14 @@ exports.search = async (req, res) => {
function buildPreamble(context) {
const base = `You are a search assistant for the Interlisp documentation site.
-Answer questions clearly and concisely. Always cite the sources you used.
-If no relevant results exist, say so directly rather than guessing.`;
+Answer in strict Markdown only.
+Use this structure exactly when applicable:
+- One short opening paragraph.
+- "## Key Points" followed by bullet points.
+- "## Details" for additional context.
+- "## Caveats" only when needed.
+Always cite the sources you used using numeric markers like [1], [2], [3].
+Do not emit HTML. If no relevant results exist, say so directly rather than guessing.`;
if (context) {
return `${base}\nThe user is currently browsing the "${context}" section — prioritize results from that section where relevant.`;