commit 7988eb4033fe48e6e29590611ea4b259b496597a Author: shwetha729 Date: Tue Aug 15 19:32:53 2023 +0000 Initial commit Created from https://vercel.com/new diff --git a/.eleventy.js b/.eleventy.js new file mode 100644 index 0000000..4040be9 --- /dev/null +++ b/.eleventy.js @@ -0,0 +1,500 @@ +const slugify = require("@sindresorhus/slugify"); +const markdownIt = require("markdown-it"); +const fs = require("fs"); +const matter = require("gray-matter"); +const faviconsPlugin = require("eleventy-plugin-gen-favicons"); +const tocPlugin = require("eleventy-plugin-nesting-toc"); +const { parse } = require("node-html-parser"); +const htmlMinifier = require("html-minifier"); +const pluginRss = require("@11ty/eleventy-plugin-rss"); + +const { headerToId, namedHeadingsFilter } = require("./src/helpers/utils"); +const { + userMarkdownSetup, + userEleventySetup, +} = require("./src/helpers/userSetup"); + +const Image = require("@11ty/eleventy-img"); +function transformImage(src, cls, alt, sizes, widths = ["500", "700", "auto"]) { + let options = { + widths: widths, + formats: ["webp", "jpeg"], + outputDir: "./dist/img/optimized", + urlPath: "/img/optimized", + }; + + // generate images, while this is async we don’t wait + Image(src, options); + let metadata = Image.statsSync(src, options); + return metadata; +} + +const tagRegex = /(^|\s|\>)(#[^\s!@#$%^&*()=+\.,\[{\]};:'"?><]+)(?!([^<]*>))/g; + +module.exports = function (eleventyConfig) { + eleventyConfig.setLiquidOptions({ + dynamicPartials: true, + }); + let markdownLib = markdownIt({ + breaks: true, + html: true, + linkify: true, + }) + .use(require("markdown-it-anchor"), { + slugify: headerToId, + }) + .use(require("markdown-it-mark")) + .use(require("markdown-it-footnote")) + .use(function (md) { + md.renderer.rules.hashtag_open = function (tokens, idx) { + return ''; + }; + }) + .use(require("markdown-it-mathjax3"), { + tex: { + inlineMath: [["$", "$"]], + }, + options: { + skipHtmlTags: { "[-]": ["pre"] }, + }, + }) + .use(require("markdown-it-attrs")) + .use(require("markdown-it-task-checkbox"), { + disabled: true, + divWrap: false, + divClass: "checkbox", + idPrefix: "cbx_", + ulClass: "task-list", + liClass: "task-list-item", + }) + .use(require("markdown-it-plantuml"), { + openMarker: "```plantuml", + closeMarker: "```", + }) + .use(namedHeadingsFilter) + .use(function (md) { + //https://github.com/DCsunset/markdown-it-mermaid-plugin + const origFenceRule = + md.renderer.rules.fence || + function (tokens, idx, options, env, self) { + return self.renderToken(tokens, idx, options, env, self); + }; + md.renderer.rules.fence = (tokens, idx, options, env, slf) => { + const token = tokens[idx]; + if (token.info === "mermaid") { + const code = token.content.trim(); + return `
${code}
`; + } + if (token.info === "transclusion") { + const code = token.content.trim(); + return `
${md.render(code)}
`; + } + if (token.info.startsWith("ad-")) { + const code = token.content.trim(); + const parts = code.split("\n") + let titleLine; + let collapse; + let collapsible = false + let collapsed = true + let icon; + let color; + let nbLinesToSkip = 0 + for (let i = 0; i<4; i++) { + if (parts[i] && parts[i].trim()) { + let line = parts[i] && parts[i].trim().toLowerCase() + if (line.startsWith("title:")) { + titleLine = line.substring(6); + nbLinesToSkip ++; + } else if (line.startsWith("icon:")) { + icon = line.substring(5); + nbLinesToSkip ++; + } else if (line.startsWith("collapse:")) { + collapsible = true + collapse = line.substring(9); + if (collapse && collapse.trim().toLowerCase() == 'open') { + collapsed = false + } + nbLinesToSkip ++; + } else if (line.startsWith("color:")) { + color = line.substring(6); + nbLinesToSkip ++; + } + } + } + const foldDiv = collapsible ? `
+ + + +
` : ""; + const titleDiv = titleLine + ? `
${titleLine}
${foldDiv}
` + : ""; + let collapseClasses = titleLine && collapsible ? 'is-collapsible' : '' + if (collapsible && collapsed) { + collapseClasses += " is-collapsed" + } + + let res = `
${titleDiv}\n
${md.render( + parts.slice(nbLinesToSkip).join("\n") + )}
`; + return res + } + + // Other languages + return origFenceRule(tokens, idx, options, env, slf); + }; + + const defaultImageRule = + md.renderer.rules.image || + function (tokens, idx, options, env, self) { + return self.renderToken(tokens, idx, options, env, self); + }; + md.renderer.rules.image = (tokens, idx, options, env, self) => { + const imageName = tokens[idx].content; + const [fileName, width] = imageName.split("|"); + if (width) { + const widthIndex = tokens[idx].attrIndex("width"); + const widthAttr = `${width}px`; + if (widthIndex < 0) { + tokens[idx].attrPush(["width", widthAttr]); + } else { + tokens[idx].attrs[widthIndex][1] = widthAttr; + } + } + + return defaultImageRule(tokens, idx, options, env, self); + }; + + const defaultLinkRule = + md.renderer.rules.link_open || + function (tokens, idx, options, env, self) { + return self.renderToken(tokens, idx, options, env, self); + }; + md.renderer.rules.link_open = function (tokens, idx, options, env, self) { + const aIndex = tokens[idx].attrIndex("target"); + const classIndex = tokens[idx].attrIndex("class"); + + if (aIndex < 0) { + tokens[idx].attrPush(["target", "_blank"]); + } else { + tokens[idx].attrs[aIndex][1] = "_blank"; + } + + if (classIndex < 0) { + tokens[idx].attrPush(["class", "external-link"]); + } else { + tokens[idx].attrs[classIndex][1] = "external-link"; + } + + return defaultLinkRule(tokens, idx, options, env, self); + }; + }) + .use(userMarkdownSetup); + + eleventyConfig.setLibrary("md", markdownLib); + + eleventyConfig.addFilter("isoDate", function (date) { + return date && date.toISOString(); + }); + + + eleventyConfig.addFilter("link", function (str) { + return ( + str && + str.replace(/\[\[(.*?\|.*?)\]\]/g, function (match, p1) { + //Check if it is an embedded excalidraw drawing or mathjax javascript + if (p1.indexOf("],[") > -1 || p1.indexOf('"$"') > -1) { + return match; + } + const [fileLink, linkTitle] = p1.split("|"); + + let fileName = fileLink.replaceAll("&", "&"); + let header = ""; + let headerLinkPath = ""; + if (fileLink.includes("#")) { + [fileName, header] = fileLink.split("#"); + headerLinkPath = `#${headerToId(header)}`; + } + + let permalink = `/notes/${slugify(fileName)}`; + let noteIcon = process.env.NOTE_ICON_DEFAULT; + const title = linkTitle ? linkTitle : fileName; + let deadLink = false; + + try { + const startPath = "./src/site/notes/"; + const fullPath = fileName.endsWith(".md") + ? `${startPath}${fileName}` + : `${startPath}${fileName}.md`; + const file = fs.readFileSync(fullPath, "utf8"); + const frontMatter = matter(file); + if (frontMatter.data.permalink) { + permalink = frontMatter.data.permalink; + } + if ( + frontMatter.data.tags && + frontMatter.data.tags.indexOf("gardenEntry") != -1 + ) { + permalink = "/"; + } + if (frontMatter.data.noteIcon) { + noteIcon = frontMatter.data.noteIcon; + } + } catch { + deadLink = true; + } + + if(deadLink){ + return `
${title}`; + } + return `${title}`; + }) + ); + }); + + eleventyConfig.addFilter("taggify", function (str) { + return ( + str && + str.replace(tagRegex, function (match, precede, tag) { + return `${precede}${tag}`; + }) + ); + }); + + eleventyConfig.addFilter("searchableTags", function (str) { + let tags; + let match = str && str.match(tagRegex); + if (match) { + tags = match + .map((m) => { + return `"${m.split("#")[1]}"`; + }) + .join(", "); + } + if (tags) { + return `${tags},`; + } else { + return ""; + } + }); + + eleventyConfig.addFilter("hideDataview", function (str) { + return ( + str && + str.replace(/\(\S+\:\:(.*)\)/g, function (_, value) { + return value.trim(); + }) + ); + }); + + eleventyConfig.addTransform("callout-block", function (str) { + const parsed = parse(str); + + const transformCalloutBlocks = ( + blockquotes = parsed.querySelectorAll("blockquote") + ) => { + for (const blockquote of blockquotes) { + transformCalloutBlocks(blockquote.querySelectorAll("blockquote")); + + let content = blockquote.innerHTML; + + let titleDiv = ""; + let calloutType = ""; + let isCollapsable; + let isCollapsed; + const calloutMeta = /\[!([\w-]*)\](\+|\-){0,1}(\s?.*)/; + if (!content.match(calloutMeta)) { + continue; + } + + content = content.replace( + calloutMeta, + function (metaInfoMatch, callout, collapse, title) { + isCollapsable = Boolean(collapse); + isCollapsed = collapse === "-"; + const titleText = title.replace(/(<\/{0,1}\w+>)/, "") + ? title + : `${callout.charAt(0).toUpperCase()}${callout + .substring(1) + .toLowerCase()}`; + const fold = isCollapsable + ? `
` + : ``; + + calloutType = callout; + titleDiv = `
${titleText}
${fold}
`; + return ""; + } + ); + + blockquote.tagName = "div"; + blockquote.classList.add("callout"); + blockquote.classList.add(isCollapsable ? "is-collapsible" : ""); + blockquote.classList.add(isCollapsed ? "is-collapsed" : ""); + blockquote.setAttribute("data-callout", calloutType.toLowerCase()); + blockquote.innerHTML = `${titleDiv}\n
${content}
`; + } + }; + + transformCalloutBlocks(); + + return str && parsed.innerHTML; + }); + + function fillPictureSourceSets(src, cls, alt, meta, width, imageTag) { + imageTag.tagName = "picture"; + let html = ` + + ` + if (meta.webp && meta.webp[1] && meta.webp[1].url) { + html += `` + } + if (meta.jpeg && meta.jpeg[1] && meta.jpeg[1].url) { + html += `` + } + html += `${alt}`; + imageTag.innerHTML = html; + } + + + eleventyConfig.addTransform("picture", function (str) { + const parsed = parse(str); + for (const imageTag of parsed.querySelectorAll(".cm-s-obsidian img")) { + const src = imageTag.getAttribute("src"); + if (src && src.startsWith("/") && !src.endsWith(".svg")) { + const cls = imageTag.classList.value; + const alt = imageTag.getAttribute("alt"); + const width = imageTag.getAttribute("width") || ''; + + try { + const meta = transformImage( + "./src/site" + decodeURI(imageTag.getAttribute("src")), + cls.toString(), + alt, + ["(max-width: 480px)", "(max-width: 1024px)"] + ); + + if (meta) { + fillPictureSourceSets(src, cls, alt, meta, width, imageTag); + } + } catch { + // Make it fault tolarent. + } + } + } + return str && parsed.innerHTML; + }); + + eleventyConfig.addTransform("table", function (str) { + const parsed = parse(str); + for (const t of parsed.querySelectorAll(".cm-s-obsidian > table")) { + let inner = t.innerHTML; + t.tagName = "div"; + t.classList.add("table-wrapper"); + t.innerHTML = `${inner}
`; + } + + for (const t of parsed.querySelectorAll( + ".cm-s-obsidian > .block-language-dataview > table" + )) { + t.classList.add("dataview"); + t.classList.add("table-view-table"); + t.querySelector("thead")?.classList.add("table-view-thead"); + t.querySelector("tbody")?.classList.add("table-view-tbody"); + t.querySelectorAll("thead > tr")?.forEach((tr) => { + tr.classList.add("table-view-tr-header"); + }); + t.querySelectorAll("thead > tr > th")?.forEach((th) => { + th.classList.add("table-view-th"); + }); + } + return str && parsed.innerHTML; + }); + + eleventyConfig.addTransform("htmlMinifier", (content, outputPath) => { + if ( + process.env.NODE_ENV === "production" && + outputPath && + outputPath.endsWith(".html") + ) { + return htmlMinifier.minify(content, { + useShortDoctype: true, + removeComments: true, + collapseWhitespace: true, + minifyCSS: true, + minifyJS: true, + keepClosingSlash: true, + }); + } + return content; + }); + + eleventyConfig.addPassthroughCopy("src/site/img"); + eleventyConfig.addPassthroughCopy("src/site/scripts"); + eleventyConfig.addPassthroughCopy("src/site/styles/_theme.*.css"); + eleventyConfig.addPlugin(faviconsPlugin, { outputDir: "dist" }); + eleventyConfig.addPlugin(tocPlugin, { + ul: true, + tags: ["h1", "h2", "h3", "h4", "h5", "h6"], + }); + + + eleventyConfig.addFilter("dateToZulu", function (date) { + if (!date) return ""; + return new Date(date).toISOString("dd-MM-yyyyTHH:mm:ssZ"); + }); + eleventyConfig.addFilter("jsonify", function (variable) { + return JSON.stringify(variable) || '""'; + }); + + eleventyConfig.addFilter("validJson", function (variable) { + if (Array.isArray(variable)) { + return variable.map((x) => x.replaceAll("\\", "\\\\")).join(","); + } else if (typeof variable === "string") { + return variable.replaceAll("\\", "\\\\"); + } + return variable; + }); + + eleventyConfig.addPlugin(pluginRss, { + posthtmlRenderOptions: { + closingSingleTag: "slash", + singleTags: ["link"], + }, + }); + + userEleventySetup(eleventyConfig); + + return { + dir: { + input: "src/site", + output: "dist", + data: `_data`, + }, + templateFormats: ["njk", "md", "11ty.js"], + htmlTemplateEngine: "njk", + markdownTemplateEngine: "njk", + passthroughFileCopy: true, + }; +}; diff --git a/.eleventyignore b/.eleventyignore new file mode 100644 index 0000000..bbbafeb --- /dev/null +++ b/.eleventyignore @@ -0,0 +1 @@ +netlify/functions diff --git a/.env b/.env new file mode 100644 index 0000000..29713c1 --- /dev/null +++ b/.env @@ -0,0 +1,4 @@ +#THEME=https://raw.githubusercontent.com/colineckert/obsidian-things/main/obsidian.css +#THEME=https://github.com/kepano/obsidian-minimal/blob/master/obsidian.css +#BASE_THEME=light +dgHomeLink=true \ No newline at end of file diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..cd4988b --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,15 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: "npm" # See documentation for possible values + directory: "/" # Location of package manifests + schedule: + interval: "weekly" + ignore: + - dependency-name: "@sindresorhus/slugify" + # For slugify, ignore all updates. + \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..61227fc --- /dev/null +++ b/.gitignore @@ -0,0 +1,13 @@ +node_modules +dist +netlify/functions/search/data.json +netlify/functions/search/index.json +src/site/styles/theme.*.css +src/site/styles/_theme.*.css +# Local Netlify folder +.netlify +.idea/ +.vercel +.cache +_site/ +**/.DS_Store diff --git a/README.md b/README.md new file mode 100644 index 0000000..e402070 --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +# Digital Obsidian Garden +This is the template to be used together with the [Digital Garden Obsidian Plugin](https://github.com/oleeskild/Obsidian-Digital-Garden). +See the README in the plugin repo for information on how to set it up. + +[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/oleeskild/digitalgarden) + +--- +## Docs +Docs are available at [dg-docs.ole.dev](https://dg-docs.ole.dev/) diff --git a/netlify.toml b/netlify.toml new file mode 100644 index 0000000..6a5563a --- /dev/null +++ b/netlify.toml @@ -0,0 +1,14 @@ +[build] + publish = "dist" + command = "npm install && npm run build" + +[[redirects]] + from = "/api/*" + to = "/.netlify/functions/:splat" + status = 200 + +[[redirects]] + from = "/*" + to = "/404" + status = 404 + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..fac4d09 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,5360 @@ +{ + "name": "web", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "web", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "@11ty/eleventy-img": "^3.0.0", + "@sindresorhus/slugify": "^1.1.0", + "axios": "^1.2.2", + "dotenv": "^16.0.3", + "eleventy-plugin-gen-favicons": "^1.1.2", + "eleventy-plugin-nesting-toc": "^1.3.0", + "fs-file-tree": "^1.1.1", + "glob": "^10.2.1", + "gray-matter": "^4.0.3", + "markdown-it": "^13.0.1", + "markdown-it-anchor": "^8.6.7", + "markdown-it-attrs": "^4.1.6", + "markdown-it-footnote": "^3.0.3", + "markdown-it-mark": "^3.0.1", + "markdown-it-mathjax3": "^4.3.1", + "markdown-it-plantuml": "^1.4.1", + "markdown-it-task-checkbox": "^1.0.6", + "npm-run-all": "^4.1.5" + }, + "devDependencies": { + "@11ty/eleventy": "^2.0.1", + "@11ty/eleventy-plugin-rss": "^1.2.0", + "cross-env": "^7.0.3", + "html-minifier": "^4.0.0", + "node-html-parser": "^6.1.4", + "sass": "^1.49.9" + } + }, + "node_modules/@11ty/dependency-tree": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@11ty/dependency-tree/-/dependency-tree-2.0.1.tgz", + "integrity": "sha512-5R+DsT9LJ9tXiSQ4y+KLFppCkQyXhzAm1AIuBWE/sbU0hSXY5pkhoqQYEcPJQFg/nglL+wD55iv2j+7O96UAvg==", + "dev": true + }, + "node_modules/@11ty/eleventy": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@11ty/eleventy/-/eleventy-2.0.1.tgz", + "integrity": "sha512-t8XVUbCJByhVEa1RzO0zS2QzbL3wPY8ot1yUw9noqiSHxJWUwv6jiwm1/MZDPTYtkZH2ZHvdQIRQ5/SjG9XmLw==", + "dev": true, + "dependencies": { + "@11ty/dependency-tree": "^2.0.1", + "@11ty/eleventy-dev-server": "^1.0.4", + "@11ty/eleventy-utils": "^1.0.1", + "@11ty/lodash-custom": "^4.17.21", + "@iarna/toml": "^2.2.5", + "@sindresorhus/slugify": "^1.1.2", + "bcp-47-normalize": "^1.1.1", + "chokidar": "^3.5.3", + "cross-spawn": "^7.0.3", + "debug": "^4.3.4", + "dependency-graph": "^0.11.0", + "ejs": "^3.1.9", + "fast-glob": "^3.2.12", + "graceful-fs": "^4.2.11", + "gray-matter": "^4.0.3", + "hamljs": "^0.6.2", + "handlebars": "^4.7.7", + "is-glob": "^4.0.3", + "iso-639-1": "^2.1.15", + "kleur": "^4.1.5", + "liquidjs": "^10.7.0", + "luxon": "^3.3.0", + "markdown-it": "^13.0.1", + "micromatch": "^4.0.5", + "minimist": "^1.2.8", + "moo": "^0.5.2", + "multimatch": "^5.0.0", + "mustache": "^4.2.0", + "normalize-path": "^3.0.0", + "nunjucks": "^3.2.3", + "path-to-regexp": "^6.2.1", + "please-upgrade-node": "^3.2.0", + "posthtml": "^0.16.6", + "posthtml-urls": "^1.0.0", + "pug": "^3.0.2", + "recursive-copy": "^2.0.14", + "semver": "^7.3.8", + "slugify": "^1.6.6" + }, + "bin": { + "eleventy": "cmd.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/11ty" + } + }, + "node_modules/@11ty/eleventy-dev-server": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@11ty/eleventy-dev-server/-/eleventy-dev-server-1.0.4.tgz", + "integrity": "sha512-qVBmV2G1KF/0o5B/3fITlrrDHy4bONUI2YuN3/WJ3BNw4NU1d/we8XhKrlgq13nNvHoBx5czYp3LZt8qRG53Fg==", + "dev": true, + "dependencies": { + "@11ty/eleventy-utils": "^1.0.1", + "chokidar": "^3.5.3", + "debug": "^4.3.4", + "dev-ip": "^1.0.1", + "finalhandler": "^1.2.0", + "mime": "^3.0.0", + "minimist": "^1.2.8", + "morphdom": "^2.7.0", + "please-upgrade-node": "^3.2.0", + "ssri": "^8.0.1", + "ws": "^8.13.0" + }, + "bin": { + "eleventy-dev-server": "cmd.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/11ty" + } + }, + "node_modules/@11ty/eleventy-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@11ty/eleventy-fetch/-/eleventy-fetch-3.0.0.tgz", + "integrity": "sha512-qJvfb331rYQAmlCS71Ygg0/XHUdB4/qXBOLsG0DJ1m61WL5JNha52OtKVeQq34u2J2Nfzim+X4TIL/+QyesB7Q==", + "dependencies": { + "debug": "^4.3.3", + "flat-cache": "^3.0.4", + "node-fetch": "^2.6.7", + "p-queue": "^6.6.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/11ty" + } + }, + "node_modules/@11ty/eleventy-img": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@11ty/eleventy-img/-/eleventy-img-3.1.0.tgz", + "integrity": "sha512-c5RrAdEs7WdNu/Ss4IRSLBCEU8EZnay8vo49DPVSrtAQV+WeqBDq0SJkXj+p+nOJGRAtInn9WdsUqw6kNtEMnA==", + "dependencies": { + "@11ty/eleventy-fetch": "^3.0.0", + "debug": "^4.3.4", + "entities": "^4.4.0", + "image-size": "^1.0.2", + "p-queue": "^6.6.2", + "sharp": "^0.32.0" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/11ty" + } + }, + "node_modules/@11ty/eleventy-plugin-rss": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@11ty/eleventy-plugin-rss/-/eleventy-plugin-rss-1.2.0.tgz", + "integrity": "sha512-YzFnSH/5pObcFnqZ2sAQ782WmpOZHj1+xB9ydY/0j7BZ2jUNahn53VmwCB/sBRwXA/Fbwwj90q1MLo01Ru0UaQ==", + "dev": true, + "dependencies": { + "debug": "^4.3.4", + "posthtml": "^0.16.6", + "posthtml-urls": "1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/11ty" + } + }, + "node_modules/@11ty/eleventy-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@11ty/eleventy-utils/-/eleventy-utils-1.0.1.tgz", + "integrity": "sha512-HPpCTz4PzudcQU+i+x6GSNHVqgnvRhnVYg5dLKaAoRWLN966odAGsBxKSyhF8i1MdlOPtsytYb2AGWP7jISC5w==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/11ty" + } + }, + "node_modules/@11ty/lodash-custom": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@11ty/lodash-custom/-/lodash-custom-4.17.21.tgz", + "integrity": "sha512-Mqt6im1xpb1Ykn3nbcCovWXK3ggywRJa+IXIdoz4wIIK+cvozADH63lexcuPpGS/gJ6/m2JxyyXDyupkMr5DHw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/11ty" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz", + "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.21.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.9.tgz", + "integrity": "sha512-q5PNg/Bi1OpGgx5jYlvWZwAorZepEudDMCLtj967aeS7WMont7dUZI46M2XwcIQqvUlMxWfdLFu4S/qSxeUu5g==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz", + "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.21.5", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@iarna/toml": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", + "integrity": "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==", + "dev": true + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "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/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@sindresorhus/slugify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@sindresorhus/slugify/-/slugify-1.1.2.tgz", + "integrity": "sha512-V9nR/W0Xd9TSGXpZ4iFUcFGhuOJtZX82Fzxj1YISlbSgKvIiNa7eLEZrT0vAraPOt++KHauIVNYgGRgjc13dXA==", + "dependencies": { + "@sindresorhus/transliterate": "^0.1.1", + "escape-string-regexp": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@sindresorhus/transliterate": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@sindresorhus/transliterate/-/transliterate-0.1.2.tgz", + "integrity": "sha512-5/kmIOY9FF32nicXH+5yLNTX4NJ4atl7jRgqAJuIn/iyDFXBktOKDxCvyGE/EzmF4ngSUvjXxQUQlQiZ5lfw+w==", + "dependencies": { + "escape-string-regexp": "^2.0.0", + "lodash.deburr": "^4.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@sindresorhus/transliterate/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@types/linkify-it": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.2.tgz", + "integrity": "sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==", + "peer": true + }, + "node_modules/@types/markdown-it": { + "version": "12.2.3", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz", + "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==", + "peer": true, + "dependencies": { + "@types/linkify-it": "*", + "@types/mdurl": "*" + } + }, + "node_modules/@types/mdurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz", + "integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==", + "peer": true + }, + "node_modules/@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "17.0.45", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" + }, + "node_modules/a-sync-waterfall": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz", + "integrity": "sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==", + "dev": true + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "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==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-0.1.0.tgz", + "integrity": "sha512-lqzY9o+BbeGHRCOyxQkt/Tgvz0IZhTmQiA+LxQW8wSNpcTbj8K+0cZiSEvbpNZZP9/11Gy7dnLO3GNWUXO4d1g==", + "dev": true + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-differ": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", + "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true + }, + "node_modules/assert-never": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/assert-never/-/assert-never-1.2.1.tgz", + "integrity": "sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==", + "dev": true + }, + "node_modules/assured": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/assured/-/assured-1.0.15.tgz", + "integrity": "sha512-EVb4T+6m5VdlTJ6gbv4WjBM1rHfzXP2BspsQ6VLswcnIQSabjJy7A9YEuG4/KmfF+9OEuT5xhqVJ+V1tClD5ww==", + "dependencies": { + "noop6": "^1.0.1", + "sliced": "^1.0.1" + } + }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axios": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz", + "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==", + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/babel-walk": { + "version": "3.0.0-canary-5", + "resolved": "https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.0-canary-5.tgz", + "integrity": "sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.9.6" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "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/bcp-47": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/bcp-47/-/bcp-47-1.0.8.tgz", + "integrity": "sha512-Y9y1QNBBtYtv7hcmoX0tR+tUNSFZGZ6OL6vKPObq8BbOhkCoyayF6ogfLTgAli/KuAEbsYHYUNq2AQuY6IuLag==", + "dev": true, + "dependencies": { + "is-alphabetical": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/bcp-47-match": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/bcp-47-match/-/bcp-47-match-1.0.3.tgz", + "integrity": "sha512-LggQ4YTdjWQSKELZF5JwchnBa1u0pIQSZf5lSdOHEdbVP55h0qICA/FUp3+W99q0xqxYa1ZQizTUH87gecII5w==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/bcp-47-normalize": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/bcp-47-normalize/-/bcp-47-normalize-1.1.1.tgz", + "integrity": "sha512-jWZ1Jdu3cs0EZdfCkS0UE9Gg01PtxnChjEBySeB+Zo6nkqtFfnvtoQQgP1qU1Oo4qgJgxhTI6Sf9y/pZIhPs0A==", + "dev": true, + "dependencies": { + "bcp-47": "^1.0.0", + "bcp-47-match": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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/bindy": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/bindy/-/bindy-1.0.14.tgz", + "integrity": "sha512-sf8QQyUicGz5QVUn7eHw9QJhzQHyHaY0HhwDdXiSg095gp0zkvADCZ8Yf3F12MtPsj3XZUX4joXMh4iaTApDVA==", + "dependencies": { + "deffy": "^2.2.2", + "sliced": "^1.0.1" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "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": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==", + "dev": true, + "dependencies": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "node_modules/camelo": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelo/-/camelo-1.2.1.tgz", + "integrity": "sha512-5O6lYuw6JR8viGfxFQhJTaO7cPTsnEaJUK2Gj0JeZ0O+iO78kxfeF47ocx6Ml0K8KWbE/JgBbgi3zF6lcUkvGw==", + "dependencies": { + "regex-escape": "^3.4.10", + "uc-first-array": "^1.1.10" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/character-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz", + "integrity": "sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw==", + "dev": true, + "dependencies": { + "is-regex": "^1.0.3" + } + }, + "node_modules/cheerio": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz", + "integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==", + "dependencies": { + "cheerio-select": "^1.5.0", + "dom-serializer": "^1.3.2", + "domhandler": "^4.2.0", + "htmlparser2": "^6.1.0", + "parse5": "^6.0.1", + "parse5-htmlparser2-tree-adapter": "^6.0.1", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/cheerio-select": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.6.0.tgz", + "integrity": "sha512-eq0GdBvxVFbqWgmCm7M3XGs1I8oLy/nExUnh6oLqmBditPO9AqQJrkslDpMun/hZ0yyTs8L0m85OHp4ho6Qm9g==", + "dependencies": { + "css-select": "^4.3.0", + "css-what": "^6.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.3.1", + "domutils": "^2.8.0" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cheerio-select/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cheerio-select/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/cheerio-select/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/cheerio-select/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/cheerio-select/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/cheerio/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/cheerio/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/cheerio/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "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": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "node_modules/clean-css": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", + "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "dev": true, + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.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==", + "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==" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/constantinople": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-4.0.1.tgz", + "integrity": "sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.6.0", + "@babel/types": "^7.6.1" + } + }, + "node_modules/cross-env": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "bin": { + "cross-env": "src/bin/cross-env.js", + "cross-env-shell": "src/bin/cross-env-shell.js" + }, + "engines": { + "node": ">=10.14", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deffy": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/deffy/-/deffy-2.2.4.tgz", + "integrity": "sha512-pLc9lsbsWjr6RxmJ2OLyvm+9l4j1yK69h+TML/gUit/t3vTijpkNGh8LioaJYTGO7F25m6HZndADcUOo2PsiUg==", + "dependencies": { + "typpy": "^2.0.0" + } + }, + "node_modules/define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "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/detect-libc": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", + "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/dev-ip": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dev-ip/-/dev-ip-1.0.1.tgz", + "integrity": "sha512-LmVkry/oDShEgSZPNgqCIp2/TlqtExeGmymru3uCELnfyjY11IzpAproLYs+1X88fXO6DBoYP3ul2Xo2yz2j6A==", + "dev": true, + "bin": { + "dev-ip": "lib/dev-ip.js" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/doctypes": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", + "integrity": "sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ==", + "dev": true + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dotenv": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", + "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/ejs": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "dev": true, + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eleventy-plugin-gen-favicons": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/eleventy-plugin-gen-favicons/-/eleventy-plugin-gen-favicons-1.1.2.tgz", + "integrity": "sha512-DtxS3J+ujDVZ9oP5RTOTxwET2K7S7WEvQ7XE/S3TwM7uQR/NOqHibuZXyftutK22EU1UInQc2yP1JZ7mtnWJUQ==", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "png-to-ico": "^2.1.8", + "sharp": "^0.31.3" + } + }, + "node_modules/eleventy-plugin-gen-favicons/node_modules/node-addon-api": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz", + "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==" + }, + "node_modules/eleventy-plugin-gen-favicons/node_modules/sharp": { + "version": "0.31.3", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.31.3.tgz", + "integrity": "sha512-XcR4+FCLBFKw1bdB+GEhnUNXNXvnt0tDo4WsBsraKymuo/IAuPuCBVAL2wIkUw2r/dwFW5Q5+g66Kwl2dgDFVg==", + "hasInstallScript": true, + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.1", + "node-addon-api": "^5.0.0", + "prebuild-install": "^7.1.1", + "semver": "^7.3.8", + "simple-get": "^4.0.1", + "tar-fs": "^2.1.1", + "tunnel-agent": "^0.6.0" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/eleventy-plugin-nesting-toc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eleventy-plugin-nesting-toc/-/eleventy-plugin-nesting-toc-1.3.0.tgz", + "integrity": "sha512-WZzVkz28nw3A0DpJFQWXZzQxniyjvOZKxVix5x7WVAS0H1OD1hYJbR0go/Lr1kK2SrmxfbsUHUlekR+mQPvqMA==", + "dependencies": { + "cheerio": "^1.0.0-rc.3" + } + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-ex/node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "node_modules/es-abstract": { + "version": "1.21.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", + "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.2.0", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escape-goat": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-3.0.0.tgz", + "integrity": "sha512-w3PwNZJwRxlp47QGzhuEBldEqVHHhh8/tIPcl6ecf2Bou99cdAt0knihBV0Ecc7CGxYduXVBDheH1K2oADRlvw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "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.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dev": true, + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" + }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "node_modules/fs-file-tree": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/fs-file-tree/-/fs-file-tree-1.1.1.tgz", + "integrity": "sha512-v0helQXZOGxxq9rzEnmYR+Kd7uwupCiTo9PQMlsqZX6zDPoLBOertv53ttY1vAeEoe15pM9jGv9J7f/KFR/S5A==", + "dependencies": { + "assured": "^1.0.14", + "bindy": "^1.0.3", + "camelo": "^1.1.3", + "read-dir-and-stat": "^1.0.0", + "same-time": "^2.3.1" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "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/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/function.name": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/function.name/-/function.name-1.0.13.tgz", + "integrity": "sha512-mVrqdoy5npWZyoXl4DxCeuVF6delDcQjVS9aPdvLYlBxtMTZDR2B5GVEQEoM1jJyspCqg3C0v4ABkLE7tp9xFA==", + "dependencies": { + "noop6": "^1.0.1" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" + }, + "node_modules/glob": { + "version": "10.2.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.6.tgz", + "integrity": "sha512-U/rnDpXJGF414QQQZv5uVsabTVxMSwzS5CH0p3DRCIV6ownl4f7PzGnkGmvlum2wB+9RlJWJZ6ACU1INnBqiPA==", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2", + "path-scurry": "^1.7.0" + }, + "bin": { + "glob": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/hamljs": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/hamljs/-/hamljs-0.6.2.tgz", + "integrity": "sha512-/chXRp4WpL47I+HX1vCCdSbEXAljEG2FBMmgO7Am0bYsqgnEjreeWzUdX1onXqwZtcfgxbCg5WtEYYvuZ5muBg==", + "dev": true + }, + "node_modules/handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" + }, + "node_modules/html-minifier": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz", + "integrity": "sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==", + "dev": true, + "dependencies": { + "camel-case": "^3.0.0", + "clean-css": "^4.2.1", + "commander": "^2.19.0", + "he": "^1.2.0", + "param-case": "^2.1.1", + "relateurl": "^0.2.7", + "uglify-js": "^3.5.1" + }, + "bin": { + "html-minifier": "cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/htmlparser2/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/htmlparser2/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/htmlparser2/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/http-equiv-refresh": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/http-equiv-refresh/-/http-equiv-refresh-1.0.0.tgz", + "integrity": "sha512-TScO04soylRN9i/QdOdgZyhydXg9z6XdaGzEyOgDKycePeDeTT4KvigjBcI+tgfTlieLWauGORMq5F1eIDa+1w==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "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/image-size": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", + "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", + "dependencies": { + "queue": "6.0.2" + }, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/immutable": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", + "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==", + "dev": true + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "dev": true, + "dependencies": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-expression": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-4.0.0.tgz", + "integrity": "sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "object-assign": "^4.1.1" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "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-json": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz", + "integrity": "sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA==", + "dev": true + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", + "dev": true + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/iso-639-1": { + "version": "2.1.15", + "resolved": "https://registry.npmjs.org/iso-639-1/-/iso-639-1-2.1.15.tgz", + "integrity": "sha512-7c7mBznZu2ktfvyT582E2msM+Udc1EjOyhVRE/0ZsjD9LBtWSm23h3PtiRh2a35XoUsTQQjJXaJzuLjXsOdFDg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/jackspeak": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz", + "integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jake": { + "version": "10.8.6", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.6.tgz", + "integrity": "sha512-G43Ub9IYEFfu72sua6rzooi8V8Gz2lkfk48rW20vEWCGizeaEPlKB1Kh8JIA84yQbiAEfqlPmSpGgCKKxH3rDA==", + "dev": true, + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/jake/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/js-stringify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", + "integrity": "sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "node_modules/jstransformer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", + "integrity": "sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==", + "dev": true, + "dependencies": { + "is-promise": "^2.0.0", + "promise": "^7.0.1" + } + }, + "node_modules/juice": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/juice/-/juice-8.1.0.tgz", + "integrity": "sha512-FLzurJrx5Iv1e7CfBSZH68dC04EEvXvvVvPYB7Vx1WAuhCp1ZPIMtqxc+WTWxVkpTIC2Ach/GAv0rQbtGf6YMA==", + "dependencies": { + "cheerio": "1.0.0-rc.10", + "commander": "^6.1.0", + "mensch": "^0.3.4", + "slick": "^1.12.2", + "web-resource-inliner": "^6.0.1" + }, + "bin": { + "juice": "bin/juice" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/juice/node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/junk": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/junk/-/junk-1.0.3.tgz", + "integrity": "sha512-3KF80UaaSSxo8jVnRYtMKNGFOoVPBdkkVPsw+Ad0y4oxKXPduS6G6iHkrf69yJVff/VAaYXkV42rtZ7daJxU3w==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/linkify-it": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-4.0.1.tgz", + "integrity": "sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==", + "dependencies": { + "uc.micro": "^1.0.1" + } + }, + "node_modules/liquidjs": { + "version": "10.7.1", + "resolved": "https://registry.npmjs.org/liquidjs/-/liquidjs-10.7.1.tgz", + "integrity": "sha512-tl9nWBZrrKcC61yfih3lbtSjAn+k7e0HhwydPjQKI4+metLk927HYBfXfbf6yrCcYjnBnLzk8xMjUF83yknAQQ==", + "dev": true, + "dependencies": { + "commander": "^10.0.0" + }, + "bin": { + "liquid": "bin/liquid.js", + "liquidjs": "bin/liquid.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/liquidjs" + } + }, + "node_modules/liquidjs/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/list-to-array": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/list-to-array/-/list-to-array-1.1.0.tgz", + "integrity": "sha512-+dAZZ2mM+/m+vY9ezfoueVvrgnHIGi5FvgSymbIgJOFwiznWyA59mav95L+Mc6xPtL3s9gm5eNTlNtxJLbNM1g==", + "dev": true + }, + "node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/lodash.deburr": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/lodash.deburr/-/lodash.deburr-4.1.0.tgz", + "integrity": "sha512-m/M1U1f3ddMCs6Hq2tAsYThTBDaAKFDX3dwDo97GEYzamXi9SqUpjWi/Rrj/gf3X2n8ktwgZrlP1z6E3v/IExQ==" + }, + "node_modules/lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.1.tgz", + "integrity": "sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==", + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/luxon": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.3.0.tgz", + "integrity": "sha512-An0UCfG/rSiqtAIiBPO0Y9/zAnHUZxAMiCpTd5h2smgsj7GGmcenvrvww2cqNA8/4A5ZrD1gJpHN2mIHZQF+Mg==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/markdown-it": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-13.0.1.tgz", + "integrity": "sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==", + "dependencies": { + "argparse": "^2.0.1", + "entities": "~3.0.1", + "linkify-it": "^4.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/markdown-it-anchor": { + "version": "8.6.7", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz", + "integrity": "sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==", + "peerDependencies": { + "@types/markdown-it": "*", + "markdown-it": "*" + } + }, + "node_modules/markdown-it-attrs": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/markdown-it-attrs/-/markdown-it-attrs-4.1.6.tgz", + "integrity": "sha512-O7PDKZlN8RFMyDX13JnctQompwrrILuz2y43pW2GagcwpIIElkAdfeek+erHfxUOlXWPsjFeWmZ8ch1xtRLWpA==", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "markdown-it": ">= 9.0.0" + } + }, + "node_modules/markdown-it-footnote": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/markdown-it-footnote/-/markdown-it-footnote-3.0.3.tgz", + "integrity": "sha512-YZMSuCGVZAjzKMn+xqIco9d1cLGxbELHZ9do/TSYVzraooV8ypsppKNmUJ0fVH5ljkCInQAtFpm8Rb3eXSrt5w==" + }, + "node_modules/markdown-it-mark": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/markdown-it-mark/-/markdown-it-mark-3.0.1.tgz", + "integrity": "sha512-HyxjAu6BRsdt6Xcv6TKVQnkz/E70TdGXEFHRYBGLncRE9lBFwDNLVtFojKxjJWgJ+5XxUwLaHXy+2sGBbDn+4A==" + }, + "node_modules/markdown-it-mathjax3": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/markdown-it-mathjax3/-/markdown-it-mathjax3-4.3.2.tgz", + "integrity": "sha512-TX3GW5NjmupgFtMJGRauioMbbkGsOXAAt1DZ/rzzYmTHqzkO1rNAdiMD4NiruurToPApn2kYy76x02QN26qr2w==", + "dependencies": { + "juice": "^8.0.0", + "mathjax-full": "^3.2.0" + } + }, + "node_modules/markdown-it-plantuml": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/markdown-it-plantuml/-/markdown-it-plantuml-1.4.1.tgz", + "integrity": "sha512-13KgnZaGYTHBp4iUmGofzZSBz+Zj6cyqfR0SXUIc9wgWTto5Xhn7NjaXYxY0z7uBeTUMlc9LMQq5uP4OM5xCHg==" + }, + "node_modules/markdown-it-task-checkbox": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/markdown-it-task-checkbox/-/markdown-it-task-checkbox-1.0.6.tgz", + "integrity": "sha512-7pxkHuvqTOu3iwVGmDPeYjQg+AIS9VQxzyLP9JCg9lBjgPAJXGEkChK6A2iFuj3tS0GV3HG2u5AMNhcQqwxpJw==" + }, + "node_modules/markdown-it/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/markdown-it/node_modules/entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/mathjax-full": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/mathjax-full/-/mathjax-full-3.2.2.tgz", + "integrity": "sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w==", + "dependencies": { + "esm": "^3.2.25", + "mhchemparser": "^4.1.0", + "mj-context-menu": "^0.6.1", + "speech-rule-engine": "^4.0.6" + } + }, + "node_modules/maximatch": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/maximatch/-/maximatch-0.1.0.tgz", + "integrity": "sha512-9ORVtDUFk4u/NFfo0vG/ND/z7UQCVZBL539YW0+U1I7H1BkZwizcPx5foFv7LCPcBnm2U6RjFnQOsIvN4/Vm2A==", + "dev": true, + "dependencies": { + "array-differ": "^1.0.0", + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "minimatch": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/maximatch/node_modules/array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha512-LeZY+DZDRnvP7eMuQ6LHfCzUGxAAIViUBliK24P3hWXL6y4SortgR6Nim6xrkfSLlmH0+k+9NYNwVC2s53ZrYQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/maximatch/node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dev": true, + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/maximatch/node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/maximatch/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/maximatch/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" + }, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/mensch": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/mensch/-/mensch-0.3.4.tgz", + "integrity": "sha512-IAeFvcOnV9V0Yk+bFhYR07O3yNina9ANIN5MoXBKYJ/RLYPurd2d0yw14MDhpr9/momp0WofT1bPUh3hkzdi/g==" + }, + "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/mhchemparser": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/mhchemparser/-/mhchemparser-4.2.1.tgz", + "integrity": "sha512-kYmyrCirqJf3zZ9t/0wGgRZ4/ZJw//VwaRVGA75C4nhE60vtnIzhl9J9ndkX/h6hxSN7pjg/cE0VxbnNM+bnDQ==" + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", + "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mj-context-menu": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/mj-context-menu/-/mj-context-menu-0.6.1.tgz", + "integrity": "sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==" + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + }, + "node_modules/moo": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.2.tgz", + "integrity": "sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==", + "dev": true + }, + "node_modules/morphdom": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/morphdom/-/morphdom-2.7.0.tgz", + "integrity": "sha512-8L8DwbdjjWwM/aNqj7BSoSn4G7SQLNiDcxCnMWbf506jojR6lNQ5YOmQqXEIE8u3C492UlkN4d0hQwz97+M1oQ==", + "dev": true + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/multimatch": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz", + "integrity": "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==", + "dev": true, + "dependencies": { + "@types/minimatch": "^3.0.3", + "array-differ": "^3.0.0", + "array-union": "^2.1.0", + "arrify": "^2.0.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/multimatch/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/multimatch/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mustache": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", + "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", + "dev": true, + "bin": { + "mustache": "bin/mustache" + } + }, + "node_modules/napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "node_modules/no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "dependencies": { + "lower-case": "^1.1.1" + } + }, + "node_modules/node-abi": { + "version": "3.40.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.40.0.tgz", + "integrity": "sha512-zNy02qivjjRosswoYmPi8hIKJRr8MpQyeKT6qlcq/OnOgA3Rhoae+IYOqsM9V5+JnHWmxKnWOT2GxvtqdtOCXA==", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==" + }, + "node_modules/node-fetch": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz", + "integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-html-parser": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-6.1.5.tgz", + "integrity": "sha512-fAaM511feX++/Chnhe475a0NHD8M7AxDInsqQpz6x63GRF7xYNdS8Vo5dKsIVPgsOvG7eioRRTZQnWBrhDHBSg==", + "dev": true, + "dependencies": { + "css-select": "^5.1.0", + "he": "1.2.0" + } + }, + "node_modules/noop6": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/noop6/-/noop6-1.0.9.tgz", + "integrity": "sha512-DB3Hwyd89dPr5HqEPg3YHjzvwh/mCqizC1zZ8vyofqc+TQRyPDnT4wgXXbLGF4z9YAzwwTLi8pNLhGqcbSjgkA==" + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "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/npm-run-all": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", + "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "memorystream": "^0.3.1", + "minimatch": "^3.0.4", + "pidtree": "^0.3.0", + "read-pkg": "^3.0.0", + "shell-quote": "^1.6.1", + "string.prototype.padend": "^3.0.0" + }, + "bin": { + "npm-run-all": "bin/npm-run-all/index.js", + "run-p": "bin/run-p/index.js", + "run-s": "bin/run-s/index.js" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/npm-run-all/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-all/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/npm-run-all/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-all/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/npm-run-all/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/npm-run-all/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/npm-run-all/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/npm-run-all/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-all/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/npm-run-all/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-all/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/npm-run-all/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-all/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-all/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-all/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nunjucks": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.4.tgz", + "integrity": "sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==", + "dev": true, + "dependencies": { + "a-sync-waterfall": "^1.0.0", + "asap": "^2.0.3", + "commander": "^5.1.0" + }, + "bin": { + "nunjucks-precompile": "bin/precompile" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "chokidar": "^3.3.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/nunjucks/node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-queue": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", + "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", + "dependencies": { + "eventemitter3": "^4.0.4", + "p-timeout": "^3.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "dependencies": { + "p-finally": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==", + "dev": true, + "dependencies": { + "no-case": "^2.2.0" + } + }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parse-srcset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz", + "integrity": "sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q==", + "dev": true + }, + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dependencies": { + "parse5": "^6.0.1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-scurry": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.9.2.tgz", + "integrity": "sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg==", + "dependencies": { + "lru-cache": "^9.1.1", + "minipass": "^5.0.0 || ^6.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-to-regexp": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", + "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==", + "dev": true + }, + "node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-type/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", + "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "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/please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", + "dev": true, + "dependencies": { + "semver-compare": "^1.0.0" + } + }, + "node_modules/png-to-ico": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/png-to-ico/-/png-to-ico-2.1.8.tgz", + "integrity": "sha512-Nf+IIn/cZ/DIZVdGveJp86NG5uNib1ZXMiDd/8x32HCTeKSvgpyg6D/6tUBn1QO/zybzoMK0/mc3QRgAyXdv9w==", + "dependencies": { + "@types/node": "^17.0.36", + "minimist": "^1.2.6", + "pngjs": "^6.0.0" + }, + "bin": { + "png-to-ico": "bin/cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pngjs": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", + "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", + "engines": { + "node": ">=12.13.0" + } + }, + "node_modules/posthtml": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz", + "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", + "dev": true, + "dependencies": { + "posthtml-parser": "^0.11.0", + "posthtml-render": "^3.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/posthtml-parser": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz", + "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==", + "dev": true, + "dependencies": { + "htmlparser2": "^7.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/posthtml-parser/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/posthtml-parser/node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/posthtml-parser/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/posthtml-parser/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/posthtml-parser/node_modules/entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/posthtml-parser/node_modules/htmlparser2": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", + "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.2", + "domutils": "^2.8.0", + "entities": "^3.0.1" + } + }, + "node_modules/posthtml-render": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz", + "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==", + "dev": true, + "dependencies": { + "is-json": "^2.0.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/posthtml-urls": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/posthtml-urls/-/posthtml-urls-1.0.0.tgz", + "integrity": "sha512-CMJ0L009sGQVUuYM/g6WJdscsq6ooAwhUuF6CDlYPMLxKp2rmCYVebEU+wZGxnQstGJhZPMvXsRhtqekILd5/w==", + "dev": true, + "dependencies": { + "http-equiv-refresh": "^1.0.0", + "list-to-array": "^1.1.0", + "parse-srcset": "^1.0.2", + "promise-each": "^2.2.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/prebuild-install": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", + "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true, + "dependencies": { + "asap": "~2.0.3" + } + }, + "node_modules/promise-each": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/promise-each/-/promise-each-2.2.0.tgz", + "integrity": "sha512-67roqt1k3QDA41DZ8xi0V+rF3GoaMiX7QilbXu0vXimut+9RcKBNZ/t60xCRgcsihmNUsEjh48xLfNqOrKblUg==", + "dev": true, + "dependencies": { + "any-promise": "^0.1.0" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true + }, + "node_modules/pug": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.2.tgz", + "integrity": "sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==", + "dev": true, + "dependencies": { + "pug-code-gen": "^3.0.2", + "pug-filters": "^4.0.0", + "pug-lexer": "^5.0.1", + "pug-linker": "^4.0.0", + "pug-load": "^3.0.0", + "pug-parser": "^6.0.0", + "pug-runtime": "^3.0.1", + "pug-strip-comments": "^2.0.0" + } + }, + "node_modules/pug-attrs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-3.0.0.tgz", + "integrity": "sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==", + "dev": true, + "dependencies": { + "constantinople": "^4.0.1", + "js-stringify": "^1.0.2", + "pug-runtime": "^3.0.0" + } + }, + "node_modules/pug-code-gen": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.2.tgz", + "integrity": "sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg==", + "dev": true, + "dependencies": { + "constantinople": "^4.0.1", + "doctypes": "^1.1.0", + "js-stringify": "^1.0.2", + "pug-attrs": "^3.0.0", + "pug-error": "^2.0.0", + "pug-runtime": "^3.0.0", + "void-elements": "^3.1.0", + "with": "^7.0.0" + } + }, + "node_modules/pug-error": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-2.0.0.tgz", + "integrity": "sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==", + "dev": true + }, + "node_modules/pug-filters": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-4.0.0.tgz", + "integrity": "sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==", + "dev": true, + "dependencies": { + "constantinople": "^4.0.1", + "jstransformer": "1.0.0", + "pug-error": "^2.0.0", + "pug-walk": "^2.0.0", + "resolve": "^1.15.1" + } + }, + "node_modules/pug-lexer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-5.0.1.tgz", + "integrity": "sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==", + "dev": true, + "dependencies": { + "character-parser": "^2.2.0", + "is-expression": "^4.0.0", + "pug-error": "^2.0.0" + } + }, + "node_modules/pug-linker": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-4.0.0.tgz", + "integrity": "sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==", + "dev": true, + "dependencies": { + "pug-error": "^2.0.0", + "pug-walk": "^2.0.0" + } + }, + "node_modules/pug-load": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-3.0.0.tgz", + "integrity": "sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==", + "dev": true, + "dependencies": { + "object-assign": "^4.1.1", + "pug-walk": "^2.0.0" + } + }, + "node_modules/pug-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-6.0.0.tgz", + "integrity": "sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==", + "dev": true, + "dependencies": { + "pug-error": "^2.0.0", + "token-stream": "1.0.0" + } + }, + "node_modules/pug-runtime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-3.0.1.tgz", + "integrity": "sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==", + "dev": true + }, + "node_modules/pug-strip-comments": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz", + "integrity": "sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==", + "dev": true, + "dependencies": { + "pug-error": "^2.0.0" + } + }, + "node_modules/pug-walk": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-2.0.0.tgz", + "integrity": "sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "dependencies": { + "inherits": "~2.0.3" + } + }, + "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/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/read-dir-and-stat": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/read-dir-and-stat/-/read-dir-and-stat-1.0.8.tgz", + "integrity": "sha512-0iutmJymQddW2MTdPQdQPC+g6HlFGx6EwKd1P1VewhBYnJK8On7PQEkblm0XsVDECPBKn63pdyaBIS/COtFg0Q==", + "dependencies": { + "bindy": "^1.0.3", + "same-time": "^2.3.1" + } + }, + "node_modules/read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", + "dependencies": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "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/recursive-copy": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/recursive-copy/-/recursive-copy-2.0.14.tgz", + "integrity": "sha512-K8WNY8f8naTpfbA+RaXmkaQuD1IeW9EgNEfyGxSqqTQukpVtoOKros9jUqbpEsSw59YOmpd8nCBgtqJZy5nvog==", + "dev": true, + "dependencies": { + "errno": "^0.1.2", + "graceful-fs": "^4.1.4", + "junk": "^1.0.1", + "maximatch": "^0.1.0", + "mkdirp": "^0.5.1", + "pify": "^2.3.0", + "promise": "^7.0.1", + "rimraf": "^2.7.1", + "slash": "^1.0.0" + } + }, + "node_modules/recursive-copy/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/recursive-copy/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/recursive-copy/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/recursive-copy/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/regex-escape": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/regex-escape/-/regex-escape-3.4.10.tgz", + "integrity": "sha512-qEqf7uzW+iYcKNLMDFnMkghhQBnGdivT6KqVQyKsyjSWnoFyooXVnxrw9dtv3AFLnD6VBGXxtZGAQNFGFTnCqA==" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "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/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "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/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/same-time": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/same-time/-/same-time-2.3.5.tgz", + "integrity": "sha512-SnVw4CihgrwwcZs38vqW1890OwilOQPnath+kQCX7Un+PfcjR52rThxPfuNpNEd3UrphL22/SleM7hcbiaJu1A==", + "dependencies": { + "deffy": "2.0.0" + } + }, + "node_modules/same-time/node_modules/deffy": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/deffy/-/deffy-2.0.0.tgz", + "integrity": "sha512-Gcn10MX982lqx8XmJES2JvN8Im7h0lFwRanyQfkQG2wXko4SouD0pSGUlK6Do165Itfidhpssn6NqlRkKp/4ig==", + "dependencies": { + "typpy": "^2.0.0" + } + }, + "node_modules/sass": { + "version": "1.62.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.62.1.tgz", + "integrity": "sha512-NHpxIzN29MXvWiuswfc1W3I0N8SXBd8UR26WntmDlRYf0bSADnwnOjsyMZ3lMezSlArD33Vs3YFhp7dWvL770A==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "dev": true + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sharp": { + "version": "0.32.1", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.1.tgz", + "integrity": "sha512-kQTFtj7ldpUqSe8kDxoGLZc1rnMFU0AO2pqbX6pLy3b7Oj8ivJIdoKNwxHVQG2HN6XpHPJqCSM2nsma2gOXvOg==", + "hasInstallScript": true, + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.1", + "node-addon-api": "^6.1.0", + "prebuild-install": "^7.1.1", + "semver": "^7.5.0", + "simple-get": "^4.0.1", + "tar-fs": "^2.1.1", + "tunnel-agent": "^0.6.0" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz", + "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "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/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "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": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sliced": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz", + "integrity": "sha512-VZBmZP8WU3sMOZm1bdgTadsQbcscK0UM8oKxKVBs4XAhUo2Xxzm/OFMGBkPusxw9xL3Uy8LrzEqGqJhclsr0yA==" + }, + "node_modules/slick": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/slick/-/slick-1.12.2.tgz", + "integrity": "sha512-4qdtOGcBjral6YIBCWJ0ljFSKNLz9KkhbWtuGvUyRowl1kxfuE1x/Z/aJcaiilpb3do9bl5K7/1h9XC5wWpY/A==", + "engines": { + "node": "*" + } + }, + "node_modules/slugify": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.6.tgz", + "integrity": "sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", + "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==" + }, + "node_modules/speech-rule-engine": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.7.tgz", + "integrity": "sha512-sJrL3/wHzNwJRLBdf6CjJWIlxC04iYKkyXvYSVsWVOiC2DSkHmxsqOhEeMsBA9XK+CHuNcsdkbFDnoUfAsmp9g==", + "dependencies": { + "commander": "9.2.0", + "wicked-good-xpath": "1.3.0", + "xmldom-sre": "0.1.31" + }, + "bin": { + "sre": "bin/sre" + } + }, + "node_modules/speech-rule-engine/node_modules/commander": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.2.0.tgz", + "integrity": "sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==", + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dev": true, + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/ssri/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "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==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/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==" + }, + "node_modules/string-width-cjs/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==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.padend": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.4.tgz", + "integrity": "sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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/token-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-1.0.0.tgz", + "integrity": "sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg==", + "dev": true + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/tslib": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typpy": { + "version": "2.3.13", + "resolved": "https://registry.npmjs.org/typpy/-/typpy-2.3.13.tgz", + "integrity": "sha512-vOxIcQz9sxHi+rT09SJ5aDgVgrPppQjwnnayTrMye1ODaU8gIZTDM19t9TxmEElbMihx2Nq/0/b/MtyKfayRqA==", + "dependencies": { + "function.name": "^1.0.3" + } + }, + "node_modules/uc-first-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/uc-first-array/-/uc-first-array-1.1.10.tgz", + "integrity": "sha512-tX2PJLrqtexTxVN9hTTY+K5gPnF2gyj7SfjPF4Q2Xhbi1fSNiO12I/G+AoMzxJLwr9R50CmVn8iAhWCvZlJm3A==", + "dependencies": { + "ucfirst": "^1.0.0" + } + }, + "node_modules/uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" + }, + "node_modules/ucfirst": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ucfirst/-/ucfirst-1.0.0.tgz", + "integrity": "sha512-xbB/CQ0GdkxqH4IElZqenn/dL/tnyx7DCDASWJPE92ePbFM21kKemXI2LBeYtEvblf1Ol98hyJJS43Wu5JMQSQ==" + }, + "node_modules/uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "dev": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==", + "dev": true + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/valid-data-url": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/valid-data-url/-/valid-data-url-3.0.1.tgz", + "integrity": "sha512-jOWVmzVceKlVVdwjNSenT4PbGghU0SBIizAev8ofZVgivk/TVHXSbNL8LP6M3spZvkR9/QolkyJavGSX5Cs0UA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/void-elements": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", + "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/web-resource-inliner": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/web-resource-inliner/-/web-resource-inliner-6.0.1.tgz", + "integrity": "sha512-kfqDxt5dTB1JhqsCUQVFDj0rmY+4HLwGQIsLPbyrsN9y9WV/1oFDSx3BQ4GfCv9X+jVeQ7rouTqwK53rA/7t8A==", + "dependencies": { + "ansi-colors": "^4.1.1", + "escape-goat": "^3.0.0", + "htmlparser2": "^5.0.0", + "mime": "^2.4.6", + "node-fetch": "^2.6.0", + "valid-data-url": "^3.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/web-resource-inliner/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/web-resource-inliner/node_modules/dom-serializer/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/web-resource-inliner/node_modules/domhandler": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz", + "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==", + "dependencies": { + "domelementtype": "^2.0.1" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/web-resource-inliner/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/web-resource-inliner/node_modules/domutils/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/web-resource-inliner/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/web-resource-inliner/node_modules/htmlparser2": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-5.0.1.tgz", + "integrity": "sha512-vKZZra6CSe9qsJzh0BjBGXo8dvzNsq/oGvsjfRdOrrryfeD9UOBEEQdeoqCRmKZchF5h2zOBMQ6YuQ0uRUmdbQ==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^3.3.0", + "domutils": "^2.4.2", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/fb55/htmlparser2?sponsor=1" + } + }, + "node_modules/web-resource-inliner/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wicked-good-xpath": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/wicked-good-xpath/-/wicked-good-xpath-1.3.0.tgz", + "integrity": "sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw==" + }, + "node_modules/with": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/with/-/with-7.0.2.tgz", + "integrity": "sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.9.6", + "@babel/types": "^7.9.6", + "assert-never": "^1.2.1", + "babel-walk": "3.0.0-canary-5" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "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==", + "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/wrap-ansi-cjs/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/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==" + }, + "node_modules/wrap-ansi-cjs/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==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/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==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/ws": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", + "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xmldom-sre": { + "version": "0.1.31", + "resolved": "https://registry.npmjs.org/xmldom-sre/-/xmldom-sre-0.1.31.tgz", + "integrity": "sha512-f9s+fUkX04BxQf+7mMWAp5zk61pciie+fFLC9hX9UVvCeJQfNHRHXpeo5MPcR0EUf57PYLdt+ZO4f3Ipk2oZUw==", + "engines": { + "node": ">=0.1" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..c291680 --- /dev/null +++ b/package.json @@ -0,0 +1,46 @@ +{ + "name": "web", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "start": "npm-run-all get-theme build:sass --parallel watch:*", + "watch:sass": "sass --watch src/site/styles:dist/styles", + "watch:eleventy": "cross-env ELEVENTY_ENV=dev eleventy --serve", + "build:eleventy": "cross-env ELEVENTY_ENV=prod NODE_OPTIONS=--max-old-space-size=4096 eleventy", + "build:sass": "sass src/site/styles:dist/styles --style compressed", + "get-theme": "node src/site/get-theme.js", + "build": "npm-run-all get-theme build:*" + }, + "keywords": [], + "author": "", + "license": "ISC", + "devDependencies": { + "@11ty/eleventy": "^2.0.1", + "@11ty/eleventy-plugin-rss": "^1.2.0", + "cross-env": "^7.0.3", + "html-minifier": "^4.0.0", + "node-html-parser": "^6.1.4", + "sass": "^1.49.9" + }, + "dependencies": { + "@11ty/eleventy-img": "^3.0.0", + "@sindresorhus/slugify": "^1.1.0", + "axios": "^1.2.2", + "dotenv": "^16.0.3", + "eleventy-plugin-gen-favicons": "^1.1.2", + "eleventy-plugin-nesting-toc": "^1.3.0", + "fs-file-tree": "^1.1.1", + "glob": "^10.2.1", + "gray-matter": "^4.0.3", + "markdown-it": "^13.0.1", + "markdown-it-anchor": "^8.6.7", + "markdown-it-attrs": "^4.1.6", + "markdown-it-footnote": "^3.0.3", + "markdown-it-mark": "^3.0.1", + "markdown-it-mathjax3": "^4.3.1", + "markdown-it-plantuml": "^1.4.1", + "markdown-it-task-checkbox": "^1.0.6", + "npm-run-all": "^4.1.5" + } +} diff --git a/plugin-info.json b/plugin-info.json new file mode 100644 index 0000000..6be8b21 --- /dev/null +++ b/plugin-info.json @@ -0,0 +1,72 @@ +{ + "filesToDelete": [ + "src/site/styles/style.css", + "src/site/index.njk", + "src/site/index.11tydata.js", + "src/site/_data/filetree.js", + "api/search.js", + "netlify/functions/search/search.js", + "src/site/versionednote.njk", + "src/site/_includes/layouts/versionednote.njk", + "src/site/lunr-index.js", + "src/site/_data/versionednotes.js", + "src/site/lunr.njk" + + ], + "filesToAdd": [ + "src/site/styles/custom-style.scss", + ".env", + "src/site/favicon.svg", + "src/site/img/default-note-icon.svg", + "src/site/img/tree-1.svg", + "src/site/img/tree-2.svg", + "src/site/img/tree-3.svg", + "src/helpers/userUtils.js", + "src/helpers/userSetup.js", + "vercel.json", + "netlify.toml" + ], + "filesToModify": [ + ".eleventy.js", + ".eleventyignore", + "README.md", + "package-lock.json", + "package.json", + "src/site/404.njk", + "src/site/sitemap.njk", + "src/site/feed.njk", + "src/site/styles/style.scss", + "src/site/styles/digital-garden-base.scss", + "src/site/styles/obsidian-base.scss", + "src/site/notes/notes.json", + "src/site/notes/notes.11tydata.js", + "src/site/_includes/layouts/note.njk", + "src/site/_includes/layouts/index.njk", + "src/site/_includes/components/notegrowthhistory.njk", + "src/site/_includes/components/pageheader.njk", + "src/site/_includes/components/linkPreview.njk", + "src/site/_includes/components/references.njk", + "src/site/_includes/components/sidebar.njk", + "src/site/_includes/components/graphScript.njk", + "src/site/_includes/components/filetree.njk", + "src/site/_includes/components/filetreeNavbar.njk", + "src/site/_includes/components/navbar.njk", + "src/site/_includes/components/searchButton.njk", + "src/site/_includes/components/searchContainer.njk", + "src/site/_includes/components/searchScript.njk", + "src/site/_includes/components/calloutScript.njk", + "src/site/_includes/components/lucideIcons.njk", + "src/site/_includes/components/timestamps.njk", + "src/site/_data/meta.js", + "src/site/_data/dynamics.js", + "src/site/img/outgoing.svg", + "src/helpers/constants.js", + "src/helpers/utils.js", + "src/helpers/filetreeUtils.js", + "src/helpers/linkUtils.js", + "src/site/get-theme.js", + "src/site/_data/eleventyComputed.js", + "src/site/graph.njk", + "src/site/search-index.njk" + ] +} \ No newline at end of file diff --git a/src/helpers/constants.js b/src/helpers/constants.js new file mode 100644 index 0000000..e7cea58 --- /dev/null +++ b/src/helpers/constants.js @@ -0,0 +1,12 @@ +exports.ALL_NOTE_SETTINGS= [ + "dgHomeLink", + "dgPassFrontmatter", + "dgShowBacklinks", + "dgShowLocalGraph", + "dgShowInlineTitle", + "dgShowFileTree", + "dgEnableSearch", + "dgShowToc", + "dgLinkPreview", + "dgShowTags" +]; \ No newline at end of file diff --git a/src/helpers/filetreeUtils.js b/src/helpers/filetreeUtils.js new file mode 100644 index 0000000..a771aa7 --- /dev/null +++ b/src/helpers/filetreeUtils.js @@ -0,0 +1,114 @@ +const sortTree = (unsorted) => { + //Sort by folder before file, then by name + const orderedTree = Object.keys(unsorted) + .sort((a, b) => { + + let a_pinned = unsorted[a].pinned || false; + let b_pinned = unsorted[b].pinned || false; + if (a_pinned != b_pinned) { + if (a_pinned) { + return -1; + } else { + return 1; + } + } + + const a_is_note = a.indexOf(".md") > -1; + const b_is_note = b.indexOf(".md") > -1; + + if (a_is_note && !b_is_note) { + return 1; + } + + if (!a_is_note && b_is_note) { + return -1; + } + + if (a.toLowerCase() > b.toLowerCase()) { + return 1; + } + + return -1; + }) + .reduce((obj, key) => { + obj[key] = unsorted[key]; + + return obj; + }, {}); + + for (const key of Object.keys(orderedTree)) { + if (orderedTree[key].isFolder) { + orderedTree[key] = sortTree(orderedTree[key]); + } + } + + return orderedTree; +}; + +function getPermalinkMeta(note, key) { + let permalink = "/"; + let parts = note.filePathStem.split("/"); + let name = parts[parts.length - 1]; + let noteIcon = process.env.NOTE_ICON_DEFAULT; + let hide = false; + let pinned = false; + let folders = null; + try { + if (note.data.permalink) { + permalink = note.data.permalink; + } + if (note.data.tags && note.data.tags.indexOf("gardenEntry") != -1) { + permalink = "/"; + } + if (note.data.title) { + name = note.data.title; + } + if (note.data.noteIcon) { + noteIcon = note.data.noteIcon; + } + // Reason for adding the hide flag instead of removing completely from file tree is to + // allow users to use the filetree data elsewhere without the fear of losing any data. + if (note.data.hide) { + hide = note.data.hide; + } + if (note.data.pinned) { + pinned = note.data.pinned; + } + if (note.data["dg-path"]) { + folders = note.data["dg-path"].split("/"); + } else { + folders = note.filePathStem + .split("notes/")[1] + .split("/"); + } + folders[folders.length - 1]+= ".md"; + } catch { + //ignore + } + + return [{ permalink, name, noteIcon, hide, pinned }, folders]; +} + +function assignNested(obj, keyPath, value) { + lastKeyIndex = keyPath.length - 1; + for (var i = 0; i < lastKeyIndex; ++i) { + key = keyPath[i]; + if (!(key in obj)) { + obj[key] = { isFolder: true }; + } + obj = obj[key]; + } + obj[keyPath[lastKeyIndex]] = value; +} + +function getFileTree(data) { + const tree = {}; + (data.collections.note || []).forEach((note) => { + const [meta, folders] = getPermalinkMeta(note); + assignNested(tree, folders, { isNote: true, ...meta }); + }); + const fileTree = sortTree(tree); + return fileTree; +} + +exports.getFileTree = getFileTree; diff --git a/src/helpers/linkUtils.js b/src/helpers/linkUtils.js new file mode 100644 index 0000000..189de0c --- /dev/null +++ b/src/helpers/linkUtils.js @@ -0,0 +1,100 @@ +const wikiLinkRegex = /\[\[(.*?\|.*?)\]\]/g; +const internalLinkRegex = /href="\/(.*?)"/g; + +function caselessCompare(a, b) { + return a.toLowerCase() === b.toLowerCase(); +} + +function extractLinks(content) { + return [ + ...(content.match(wikiLinkRegex) || []).map( + (link) => + link + .slice(2, -2) + .split("|")[0] + .replace(/.(md|markdown)\s?$/i, "") + .replace("\\", "") + .trim() + .split("#")[0] + ), + ...(content.match(internalLinkRegex) || []).map( + (link) => + link + .slice(6, -1) + .split("|")[0] + .replace(/.(md|markdown)\s?$/i, "") + .replace("\\", "") + .trim() + .split("#")[0] + ), + ]; +} + +function getGraph(data) { + let nodes = {}; + let links = []; + let stemURLs = {}; + let homeAlias = "/"; + (data.collections.note || []).forEach((v, idx) => { + let fpath = v.filePathStem.replace("/notes/", ""); + let parts = fpath.split("/"); + let group = "none"; + if (parts.length >= 3) { + group = parts[parts.length - 2]; + } + nodes[v.url] = { + id: idx, + title: v.data.title || v.fileSlug, + url: v.url, + group, + home: + v.data["dg-home"] || + (v.data.tags && v.data.tags.indexOf("gardenEntry") > -1) || + false, + outBound: extractLinks(v.template.frontMatter.content), + neighbors: new Set(), + backLinks: new Set(), + noteIcon: v.data.noteIcon || process.env.NOTE_ICON_DEFAULT, + hide: v.data.hideInGraph || false, + }; + stemURLs[fpath] = v.url; + if ( + v.data["dg-home"] || + (v.data.tags && v.data.tags.indexOf("gardenEntry") > -1) + ) { + homeAlias = v.url; + } + }); + Object.values(nodes).forEach((node) => { + let outBound = new Set(); + node.outBound.forEach((olink) => { + let link = (stemURLs[olink] || olink).split("#")[0]; + outBound.add(link); + }); + node.outBound = Array.from(outBound); + node.outBound.forEach((link) => { + let n = nodes[link]; + if (n) { + n.neighbors.add(node.url); + n.backLinks.add(node.url); + node.neighbors.add(n.url); + links.push({ source: node.id, target: n.id }); + } + }); + }); + Object.keys(nodes).map((k) => { + nodes[k].neighbors = Array.from(nodes[k].neighbors); + nodes[k].backLinks = Array.from(nodes[k].backLinks); + nodes[k].size = nodes[k].neighbors.length; + }); + return { + homeAlias, + nodes, + links, + }; +} + +exports.wikiLinkRegex = wikiLinkRegex; +exports.internalLinkRegex = internalLinkRegex; +exports.extractLinks = extractLinks; +exports.getGraph = getGraph; diff --git a/src/helpers/userSetup.js b/src/helpers/userSetup.js new file mode 100644 index 0000000..ade7c3c --- /dev/null +++ b/src/helpers/userSetup.js @@ -0,0 +1,10 @@ +function userMarkdownSetup(md) { + // The md parameter stands for the markdown-it instance used throughout the site generator. + // Feel free to add any plugin you want here instead of /.eleventy.js +} +function userEleventySetup(eleventyConfig) { + // The eleventyConfig parameter stands for the the config instantiated in /.eleventy.js. + // Feel free to add any plugin you want here instead of /.eleventy.js +} +exports.userMarkdownSetup = userMarkdownSetup; +exports.userEleventySetup = userEleventySetup; diff --git a/src/helpers/userUtils.js b/src/helpers/userUtils.js new file mode 100644 index 0000000..dc59edd --- /dev/null +++ b/src/helpers/userUtils.js @@ -0,0 +1,7 @@ +// Put your computations here. + +function userComputed(data) { + return {}; +} + +exports.userComputed = userComputed; diff --git a/src/helpers/utils.js b/src/helpers/utils.js new file mode 100644 index 0000000..50de97a --- /dev/null +++ b/src/helpers/utils.js @@ -0,0 +1,51 @@ +const slugify = require("@sindresorhus/slugify"); + +function headerToId(heading) { + var slugifiedHeader = slugify(heading); + if(!slugifiedHeader){ + return heading; + } + return slugifiedHeader; +} + +function namedHeadings(md, state) { + + var ids = {} + + state.tokens.forEach(function(token, i) { + if (token.type === 'heading_open') { + var text = md.renderer.render(state.tokens[i + 1].children, md.options) + var id = headerToId(text); + var uniqId = uncollide(ids, id) + ids[uniqId] = true + setAttr(token, 'id', uniqId) + } + }) +} + +function uncollide(ids, id) { + if (!ids[id]) return id + var i = 1 + while (ids[id + '-' + i]) { i++ } + return id + '-' + i +} + +function setAttr(token, attr, value, options) { + var idx = token.attrIndex(attr) + + if (idx === -1) { + token.attrPush([attr, value]) + } else if (options && options.append) { + token.attrs[idx][1] = + token.attrs[idx][1] + ' ' + value + } else { + token.attrs[idx][1] = value + } +} + +//https://github.com/rstacruz/markdown-it-named-headings/blob/master/index.js +exports.namedHeadingsFilter = function (md, options) { + md.core.ruler.push('named_headings', namedHeadings.bind(null, md)); +} + +exports.headerToId = headerToId; \ No newline at end of file diff --git a/src/site/404.njk b/src/site/404.njk new file mode 100644 index 0000000..467b7fd --- /dev/null +++ b/src/site/404.njk @@ -0,0 +1,28 @@ + + + + + Nothing here + + {%-if meta.themeStyle%} + + + {% else %} + + {%endif%} + + + + + +
+ + {%-if not meta.themeStyle%} +
😎
+ {%endif%} +

There is nothing here

+

If you got here from a link, this note is probably not made public

+ Go back home +
+ + diff --git a/src/site/_data/dynamics.js b/src/site/_data/dynamics.js new file mode 100644 index 0000000..13128c9 --- /dev/null +++ b/src/site/_data/dynamics.js @@ -0,0 +1,60 @@ +const fsFileTree = require("fs-file-tree"); + +const BASE_PATH = "src/site/_includes/components/user"; +const STYLE_PATH = "src/site/styles/user"; +const NAMESPACES = ["index", "notes", "common"]; +const SLOTS = ["head", "header", "beforeContent", "afterContent", "footer"]; +const FILE_TREE_NAMESPACE = "filetree"; +const FILE_TREE_SLOTS = ["beforeTitle", "afterTitle"]; +const SIDEBAR_NAMESPACE = "sidebar"; +const SIDEBAR_SLOTS = ["top", "bottom"]; +const STYLES_NAMESPACE = "styles"; + +const generateComponentPaths = async (namespace, slots) => { + const data = {}; + for (let index = 0; index < slots.length; index++) { + const slot = slots[index]; + try { + const tree = await fsFileTree(`${BASE_PATH}/${namespace}/${slot}`); + let comps = Object.keys(tree) + .filter((p) => p.indexOf(".njk") != -1) + .map((p) => `components/user/${namespace}/${slot}/${p}`); + comps.sort(); + data[slot] = comps; + } catch { + data[slot] = []; + } + } + return data; +}; + +const generateStylesPaths = async () => { + try { + const tree = await fsFileTree(`${STYLE_PATH}`); + let comps = Object.keys(tree).map((p) => + `/styles/user/${p}`.replace(".scss", ".css") + ); + comps.sort(); + return comps; + } catch { + return []; + } +}; + +module.exports = async () => { + const data = {}; + for (let index = 0; index < NAMESPACES.length; index++) { + const ns = NAMESPACES[index]; + data[ns] = await generateComponentPaths(ns, SLOTS); + } + data[FILE_TREE_NAMESPACE] = await generateComponentPaths( + FILE_TREE_NAMESPACE, + FILE_TREE_SLOTS + ); + data[SIDEBAR_NAMESPACE] = await generateComponentPaths( + SIDEBAR_NAMESPACE, + SIDEBAR_SLOTS + ); + data[STYLES_NAMESPACE] = await generateStylesPaths(); + return data; +}; diff --git a/src/site/_data/eleventyComputed.js b/src/site/_data/eleventyComputed.js new file mode 100644 index 0000000..d23f2b5 --- /dev/null +++ b/src/site/_data/eleventyComputed.js @@ -0,0 +1,9 @@ +const { getGraph } = require("../../helpers/linkUtils"); +const { getFileTree } = require("../../helpers/filetreeUtils"); +const { userComputed } = require("../../helpers/userUtils"); + +module.exports = { + graph: (data) => getGraph(data), + filetree: (data) => getFileTree(data), + userComputed: (data) => userComputed(data) +}; diff --git a/src/site/_data/meta.js b/src/site/_data/meta.js new file mode 100644 index 0000000..d36143b --- /dev/null +++ b/src/site/_data/meta.js @@ -0,0 +1,75 @@ +require("dotenv").config(); +const axios = require("axios"); +const fs = require("fs"); +const crypto = require("crypto"); +const { globSync } = require("glob"); + +module.exports = async (data) => { + let baseUrl = process.env.SITE_BASE_URL || ""; + if (baseUrl && !baseUrl.startsWith("http")) { + baseUrl = "https://" + baseUrl; + } + let themeStyle = globSync("src/site/styles/_theme.*.css")[0] || ""; + if (themeStyle) { + themeStyle = themeStyle.split("site")[1]; + } + let bodyClasses = []; + let noteIconsSettings = { + filetree: false, + links: false, + title: false, + default: process.env.NOTE_ICON_DEFAULT, + }; + + const styleSettingsCss = process.env.STYLE_SETTINGS_CSS || ""; + + if (process.env.NOTE_ICON_TITLE && process.env.NOTE_ICON_TITLE == "true") { + bodyClasses.push("title-note-icon"); + noteIconsSettings.title = true; + } + if ( + process.env.NOTE_ICON_FILETREE && + process.env.NOTE_ICON_FILETREE == "true" + ) { + bodyClasses.push("filetree-note-icon"); + noteIconsSettings.filetree = true; + } + if ( + process.env.NOTE_ICON_INTERNAL_LINKS && + process.env.NOTE_ICON_INTERNAL_LINKS == "true" + ) { + bodyClasses.push("links-note-icon"); + noteIconsSettings.links = true; + } + if ( + process.env.NOTE_ICON_BACK_LINKS && + process.env.NOTE_ICON_BACK_LINKS == "true" + ) { + bodyClasses.push("backlinks-note-icon"); + noteIconsSettings.backlinks = true; + } + if(styleSettingsCss){ + bodyClasses.push("css-settings-manager"); + } + + let timestampSettings = { + timestampFormat: process.env.TIMESTAMP_FORMAT || "MMM dd, yyyy h:mm a", + showCreated: process.env.SHOW_CREATED_TIMESTAMP == "true", + showUpdated: process.env.SHOW_UPDATED_TIMESTAMP == "true", + }; + const meta = { + env: process.env.ELEVENTY_ENV, + theme: process.env.THEME, + themeStyle, + bodyClasses: bodyClasses.join(" "), + noteIconsSettings, + timestampSettings, + baseTheme: process.env.BASE_THEME || "dark", + siteName: process.env.SITE_NAME_HEADER || "Digital Garden", + siteBaseUrl: baseUrl, + styleSettingsCss, + buildDate: new Date(), + }; + + return meta; +}; diff --git a/src/site/_includes/components/calloutScript.njk b/src/site/_includes/components/calloutScript.njk new file mode 100644 index 0000000..b62c18f --- /dev/null +++ b/src/site/_includes/components/calloutScript.njk @@ -0,0 +1,37 @@ + + diff --git a/src/site/_includes/components/filetree.njk b/src/site/_includes/components/filetree.njk new file mode 100644 index 0000000..639558c --- /dev/null +++ b/src/site/_includes/components/filetree.njk @@ -0,0 +1,56 @@ +{% macro menuItem(fileOrFolderName, fileOrFolder, step, currentPath) %} + {%if fileOrFolder.isNote or fileOrFolder.isFolder%} + + {%endif%} + {% endmacro %} + +
+ +
+ {%include "components/filetreeNavbar.njk"%} +
+ + + + +
diff --git a/src/site/_includes/components/filetreeNavbar.njk b/src/site/_includes/components/filetreeNavbar.njk new file mode 100644 index 0000000..342f7a1 --- /dev/null +++ b/src/site/_includes/components/filetreeNavbar.njk @@ -0,0 +1,18 @@ + \ No newline at end of file diff --git a/src/site/_includes/components/graphScript.njk b/src/site/_includes/components/graphScript.njk new file mode 100644 index 0000000..c0dbff5 --- /dev/null +++ b/src/site/_includes/components/graphScript.njk @@ -0,0 +1,214 @@ + +
+
+
Connected Pages
+
+
+ +
+ + + + + + +
+ +
+
+ + +
+
+
+ + +
\ No newline at end of file diff --git a/src/site/_includes/components/linkPreview.njk b/src/site/_includes/components/linkPreview.njk new file mode 100644 index 0000000..b34c81c --- /dev/null +++ b/src/site/_includes/components/linkPreview.njk @@ -0,0 +1,156 @@ + + + + + + + diff --git a/src/site/_includes/components/lucideIcons.njk b/src/site/_includes/components/lucideIcons.njk new file mode 100644 index 0000000..6244601 --- /dev/null +++ b/src/site/_includes/components/lucideIcons.njk @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/src/site/_includes/components/navbar.njk b/src/site/_includes/components/navbar.njk new file mode 100644 index 0000000..715b2af --- /dev/null +++ b/src/site/_includes/components/navbar.njk @@ -0,0 +1,18 @@ +{%if settings.dgHomeLink === true%} + + {%else%} +
+ {% if settings.dgEnableSearch === true%} + {% include "components/searchButton.njk" %} + {%endif%} +
+{%endif%} \ No newline at end of file diff --git a/src/site/_includes/components/notegrowthhistory.njk b/src/site/_includes/components/notegrowthhistory.njk new file mode 100644 index 0000000..61014d6 --- /dev/null +++ b/src/site/_includes/components/notegrowthhistory.njk @@ -0,0 +1,16 @@ +{%- if collections.versionednote.length > 0 -%} +
+ +

Notegrowth

+ +
+ {%-endif-%} \ No newline at end of file diff --git a/src/site/_includes/components/pageheader.njk b/src/site/_includes/components/pageheader.njk new file mode 100644 index 0000000..5833132 --- /dev/null +++ b/src/site/_includes/components/pageheader.njk @@ -0,0 +1,49 @@ + + + + + + +{%include "components/calloutScript.njk"%} + + + + + + + + + + + +{%-if meta.themeStyle%} + + +{% else %} + +{%endif%} + + +{%- for style in dynamics.styles -%} + +{%- endfor -%} + +{% favicons './src/site/favicon.svg', appleIconBgColor='#123' %} + +{% if metatags %} + {% for name, content in metatags %} + + {% endfor %} +{% endif %} + +{% if meta.styleSettingsCss %} + +{% endif %} + \ No newline at end of file diff --git a/src/site/_includes/components/references.njk b/src/site/_includes/components/references.njk new file mode 100644 index 0000000..cb0c4ac --- /dev/null +++ b/src/site/_includes/components/references.njk @@ -0,0 +1,26 @@ + \ No newline at end of file diff --git a/src/site/_includes/components/searchButton.njk b/src/site/_includes/components/searchButton.njk new file mode 100644 index 0000000..5805361 --- /dev/null +++ b/src/site/_includes/components/searchButton.njk @@ -0,0 +1,11 @@ +
+ + + + + Search + + CTRL + K + + +
\ No newline at end of file diff --git a/src/site/_includes/components/searchContainer.njk b/src/site/_includes/components/searchContainer.njk new file mode 100644 index 0000000..fc5deed --- /dev/null +++ b/src/site/_includes/components/searchContainer.njk @@ -0,0 +1,23 @@ +
+ +
+{%include "components/searchScript.njk"%} \ No newline at end of file diff --git a/src/site/_includes/components/searchScript.njk b/src/site/_includes/components/searchScript.njk new file mode 100644 index 0000000..903eb19 --- /dev/null +++ b/src/site/_includes/components/searchScript.njk @@ -0,0 +1,380 @@ + + \ No newline at end of file diff --git a/src/site/_includes/components/sidebar.njk b/src/site/_includes/components/sidebar.njk new file mode 100644 index 0000000..277ae8b --- /dev/null +++ b/src/site/_includes/components/sidebar.njk @@ -0,0 +1,69 @@ + \ No newline at end of file diff --git a/src/site/_includes/components/timestamps.njk b/src/site/_includes/components/timestamps.njk new file mode 100644 index 0000000..20cc51e --- /dev/null +++ b/src/site/_includes/components/timestamps.njk @@ -0,0 +1,7 @@ + + \ No newline at end of file diff --git a/src/site/_includes/layouts/index.njk b/src/site/_includes/layouts/index.njk new file mode 100644 index 0000000..6935b02 --- /dev/null +++ b/src/site/_includes/layouts/index.njk @@ -0,0 +1,79 @@ + + + + {% if title %}{{ title }}{% else %}{{ page.fileSlug }}{% endif %} + {%include "components/pageheader.njk"%} + {% for imp in dynamics.common.head %} + {% include imp %} + {% endfor %} + {% for imp in dynamics.index.head %} + {% include imp %} + {% endfor %} + + + {%include "components/notegrowthhistory.njk"%} + {% if settings.dgShowFileTree !== true %} + {%include "components/navbar.njk"%} + {%else%} + {%include "components/filetree.njk"%} + {% endif %} + {% if settings.dgEnableSearch === true %} + {%include "components/searchContainer.njk"%} + {% endif %} +
+
+ {% if settings.dgShowInlineTitle === true %} +

{{ noteTitle }}

+ {% endif %} + +
+ {% if settings.dgShowTags === true and tags %} +
+ {% for tag in tags %} + {% if tag != 'gardenEntry' and tag !='note' %} + + #{{tag}} + + {% endif %} + {% endfor %} +
+ {% endif %} +
+ {% for imp in dynamics.common.header %} + {% include imp %} + {% endfor %} + {% for imp in dynamics.index.header %} + {% include imp %} + {% endfor %} +
+ {% for imp in dynamics.common.beforeContent %} + {% include imp %} + {% endfor %} + {% for imp in dynamics.index.beforeContent %} + {% include imp %} + {% endfor %} + {{ content | hideDataview | link | taggify | safe}} + {% for imp in dynamics.common.afterContent %} + {% include imp %} + {% endfor %} + {% for imp in dynamics.index.afterContent %} + {% include imp %} + {% endfor %} +
+ + {% if settings.dgShowBacklinks === true or settings.dgShowLocalGraph === true or settings.dgShowToc === true%} + {%include "components/sidebar.njk" %} + {%endif%} + + {% if settings.dgLinkPreview === true %} + {%include "components/linkPreview.njk"%} + {% endif %} + {% for imp in dynamics.common.footer %} + {% include imp %} + {% endfor %} + {% for imp in dynamics.index.footer %} + {% include imp %} + {% endfor %} + {%include "components/lucideIcons.njk"%} + + diff --git a/src/site/_includes/layouts/note.njk b/src/site/_includes/layouts/note.njk new file mode 100644 index 0000000..fc2a254 --- /dev/null +++ b/src/site/_includes/layouts/note.njk @@ -0,0 +1,96 @@ +--- +permalink: "notes/{{ page.fileSlug | slugify }}/" +--- + + + + {% if title %}{{ title }}{% else %}{{ page.fileSlug }}{% endif %} + {%include "components/pageheader.njk"%} + {% for imp in dynamics.common.head %} + {% include imp %} + {% endfor %} + {% for imp in dynamics.notes.head %} + {% include imp %} + {% endfor %} + + + {%include "components/notegrowthhistory.njk"%} + + {% if settings.dgShowFileTree !== true %} + {%include "components/navbar.njk"%} + {%else%} + {%include "components/filetree.njk"%} + {% endif %} + + {% if settings.dgEnableSearch === true %} + {%include "components/searchContainer.njk"%} + {% endif %} + +
+
+ {% if settings.dgShowInlineTitle === true %} +

{% if title %}{{ title }}{% else %}{{ page.fileSlug }}{% endif %}

+ {% endif %} +
+ {% if settings.dgShowTags === true and tags %} +
+ {% for tag in tags %} + {% if tag != 'gardenEntry' and tag !='note' %} + + #{{tag}} + + {% endif %} + {% endfor %} +
+ {% endif %} + {%- if meta.timestampSettings.showCreated or meta.timestampSettings.showUpdated -%} +
+ {%- if meta.timestampSettings.showCreated and created -%} +
+ {%- endif -%} + {%- if meta.timestampSettings.showUpdated and updated -%} +
+ {%- endif -%} +
+ {%- endif -%} +
+ {% for imp in dynamics.common.header %} + {% include imp %} + {% endfor %} + {% for imp in dynamics.notes.header %} + {% include imp %} + {% endfor %} +
+ {% for imp in dynamics.common.beforeContent %} + {% include imp %} + {% endfor %} + {% for imp in dynamics.notes.beforeContent %} + {% include imp %} + {% endfor %} + {{ content | hideDataview | link | taggify | safe}} + {% for imp in dynamics.common.afterContent %} + {% include imp %} + {% endfor %} + {% for imp in dynamics.notes.afterContent %} + {% include imp %} + {% endfor %} +
+ + {% if settings.dgShowBacklinks === true or settings.dgShowLocalGraph === true or settings.dgShowToc === true%} + {%include "components/sidebar.njk"%} + {% endif %} + + {% if settings.dgLinkPreview === true %} + {%include "components/linkPreview.njk"%} + {% endif %} + {% include "components/references.njk" %} + {% include "components/timestamps.njk" %} + {% for imp in dynamics.common.footer %} + {% include imp %} + {% endfor %} + {% for imp in dynamics.notes.footer %} + {% include imp %} + {% endfor %} + {%include "components/lucideIcons.njk"%} + + diff --git a/src/site/favicon.svg b/src/site/favicon.svg new file mode 100644 index 0000000..afafd88 --- /dev/null +++ b/src/site/favicon.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/site/feed.njk b/src/site/feed.njk new file mode 100644 index 0000000..bcf89e2 --- /dev/null +++ b/src/site/feed.njk @@ -0,0 +1,30 @@ +---json +{ + "permalink": "/feed.xml", + "eleventyExcludeFromCollections": true +} +--- +{%if meta.siteBaseUrl %} + + {{ meta.siteName}} + + + {{ collections.notes | getNewestCollectionItemDate | dateToRfc3339 }} + {{ meta.siteBaseUrl }} + {%- for note in collections.note | reverse %} + + + {% if note.title %}{{ note.title }} + {% else %}{{ note.fileSlug }} + {% endif %} + + {%if note.data.updated %}{{ note.data.updated | dateToZulu }}{%else%}{{ note.date | dateToRfc3339 }}{%endif%} + {{ meta.siteBaseUrl }}{{note.url | url }} + + {{ note.templateContent | hideDataview | link | taggify | htmlToAbsoluteUrls(meta.siteBaseUrl) }} + + + + {%- endfor %} + +{% endif %} \ No newline at end of file diff --git a/src/site/get-theme.js b/src/site/get-theme.js new file mode 100644 index 0000000..f8dcbdf --- /dev/null +++ b/src/site/get-theme.js @@ -0,0 +1,47 @@ +require("dotenv").config(); +const axios = require("axios"); +const fs = require("fs"); +const crypto = require("crypto"); +const {globSync} = require("glob"); + +const themeCommentRegex = /\/\*[\s\S]*?\*\//g; + +async function getTheme() { + let themeUrl = process.env.THEME; + if (themeUrl) { + //https://forum.obsidian.md/t/1-0-theme-migration-guide/42537 + //Not all themes with no legacy mark have a theme.css file, so we need to check for it + try { + await axios.get(themeUrl); + } catch { + if (themeUrl.indexOf("theme.css") > -1) { + themeUrl = themeUrl.replace("theme.css", "obsidian.css"); + } else if (themeUrl.indexOf("obsidian.css") > -1) { + themeUrl = themeUrl.replace("obsidian.css", "theme.css"); + } + } + + const res = await axios.get(themeUrl); + try { + const existing = globSync("src/site/styles/_theme.*.css"); + existing.forEach((file) => { + fs.rmSync(file); + }); + } catch {} + let skippedFirstComment = false; + const data = res.data.replace(themeCommentRegex, (match) => { + if (skippedFirstComment) { + return ""; + } else { + skippedFirstComment = true; + return match; + } + }); + const hashSum = crypto.createHash("sha256"); + hashSum.update(data); + const hex = hashSum.digest("hex"); + fs.writeFileSync(`src/site/styles/_theme.${hex.substring(0, 8)}.css`, data); + } +} + +getTheme(); diff --git a/src/site/graph.njk b/src/site/graph.njk new file mode 100644 index 0000000..eb7abd0 --- /dev/null +++ b/src/site/graph.njk @@ -0,0 +1,5 @@ +--- +permalink: /graph.json +eleventyExcludeFromCollections: true +--- +{{ graph | jsonify | safe }} \ No newline at end of file diff --git a/src/site/img/default-note-icon.svg b/src/site/img/default-note-icon.svg new file mode 100644 index 0000000..3c1d1aa --- /dev/null +++ b/src/site/img/default-note-icon.svg @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file diff --git a/src/site/img/outgoing.svg b/src/site/img/outgoing.svg new file mode 100644 index 0000000..db5d5a6 --- /dev/null +++ b/src/site/img/outgoing.svg @@ -0,0 +1,2 @@ + + diff --git a/src/site/img/tree-1.svg b/src/site/img/tree-1.svg new file mode 100644 index 0000000..ad43a8a --- /dev/null +++ b/src/site/img/tree-1.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/site/img/tree-2.svg b/src/site/img/tree-2.svg new file mode 100644 index 0000000..62f088a --- /dev/null +++ b/src/site/img/tree-2.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/site/img/tree-3.svg b/src/site/img/tree-3.svg new file mode 100644 index 0000000..7a5239b --- /dev/null +++ b/src/site/img/tree-3.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/site/notes/notes.11tydata.js b/src/site/notes/notes.11tydata.js new file mode 100644 index 0000000..4c8985f --- /dev/null +++ b/src/site/notes/notes.11tydata.js @@ -0,0 +1,33 @@ +require("dotenv").config(); +const settings = require("../../helpers/constants"); + +const allSettings = settings.ALL_NOTE_SETTINGS; + +module.exports = { + eleventyComputed: { + layout: (data) => { + if (data.tags.indexOf("gardenEntry") != -1) { + return "layouts/index.njk"; + } + return "layouts/note.njk"; + }, + permalink: (data) => { + if (data.tags.indexOf("gardenEntry") != -1) { + return "/"; + } + return data.permalink || undefined; + }, + settings: (data) => { + const noteSettings = {}; + allSettings.forEach((setting) => { + let noteSetting = data[setting]; + let globalSetting = process.env[setting]; + + let settingValue = + noteSetting || (globalSetting === "true" && noteSetting !== false); + noteSettings[setting] = settingValue; + }); + return noteSettings; + }, + }, +}; diff --git a/src/site/notes/notes.json b/src/site/notes/notes.json new file mode 100644 index 0000000..dd1976e --- /dev/null +++ b/src/site/notes/notes.json @@ -0,0 +1,4 @@ +{ + "tags": "note", + "templateEngineOverride": "njk,md" +} \ No newline at end of file diff --git a/src/site/search-index.njk b/src/site/search-index.njk new file mode 100644 index 0000000..c587a5d --- /dev/null +++ b/src/site/search-index.njk @@ -0,0 +1,13 @@ +--- +permalink: /searchIndex.json +eleventyExcludeFromCollections: true +--- +[{% for post in collections.note %} +{ + "title": {% if post.data.title %}{{post.data.title | jsonify | safe }}{% else %}{{post.fileSlug | jsonify | safe }}{% endif %}, + "date":"{{ post.date }}", + "url":"{{ post.url }}", + "content": {{ post.templateContent | striptags(true) | link | jsonify | safe }}, + "tags": [{{post.templateContent | link | searchableTags | safe }} {% if post.data.tags %}{% for tag in post.data.tags %}"{{tag|validJson}}"{% if not loop.last %},{% endif %}{% endfor %}{% endif %}] +}{% if not loop.last %},{% endif %} +{% endfor %}] \ No newline at end of file diff --git a/src/site/sitemap.njk b/src/site/sitemap.njk new file mode 100644 index 0000000..949bc06 --- /dev/null +++ b/src/site/sitemap.njk @@ -0,0 +1,13 @@ +--- +permalink: /sitemap.xml +eleventyExcludeFromCollections: true +--- + + + {% for page in collections.all %} + + {{ meta.siteBaseUrl }}{{ page.url | url }} + {{ page.date.toISOString() }} + + {% endfor %} + \ No newline at end of file diff --git a/src/site/styles/custom-style.scss b/src/site/styles/custom-style.scss new file mode 100644 index 0000000..3ec785c --- /dev/null +++ b/src/site/styles/custom-style.scss @@ -0,0 +1,13 @@ +body { + /*** + ADD YOUR CUSTOM STYLIING HERE. (INSIDE THE body {...} section.) + IT WILL TAKE PRECEDENCE OVER THE STYLING IN THE STYLE.CSS FILE. + ***/ + // background-color: white; + // .content { + // font-size: 14px; + // } + // h1 { + // color: black; + // } +} \ No newline at end of file diff --git a/src/site/styles/digital-garden-base.scss b/src/site/styles/digital-garden-base.scss new file mode 100644 index 0000000..d32fca8 --- /dev/null +++ b/src/site/styles/digital-garden-base.scss @@ -0,0 +1,753 @@ +/*** +* DO NOT ADD/MODIFY STYLING HERE. IT WILL BE OVERWRITTEN IF YOU UPDATE THE TEMPLATE VERSION. +* MODIFY THE custom-style.scss FILE INSTEAD. +***/ + +body { + overflow-x: hidden; + --note-icon-1: url(/img/tree-1.svg); + --note-icon-2: url(/img/tree-2.svg); + --note-icon-3: url(/img/tree-3.svg); + --note-icon-fallback: url(/img/default-note-icon.svg); + --graph-main: var(--text-accent); + --graph-muted: var(--text-muted); +} + +.content { + max-width: 700px; + margin: auto; + font-size: 18px; + line-height: 1.5; + margin-top: 90px; + position: relative; + + @media (max-width: 800px) { + margin-top: 75px; + } +} + +.external-link { + background-position: center right; + background-repeat: no-repeat; + background-image: linear-gradient(transparent, transparent), url("/img/outgoing.svg"); + background-size: 13px; + padding-right: 16px; + background-position-y: 4px; + cursor: pointer; +} + +.markdown-preview-view pre.mermaid { + background: white; + border-radius: 25px; + padding: 10px; +} + +div.transclusion { + position: relative; + padding: 8px; + .markdown-embed-link { + z-index: 99; + display: block; + width: auto !important; + } +} + +ul.task-list { + list-style: none; + padding-left: 15px; +} + +.sidebar { + position: fixed; + top: 75px; + right: 0; + height: 100%; + min-width: 25px; + display: flex; + z-index: 3; + max-width: 350px; + + .graph { + width: 320px; + min-height: 320px; + + #link-graph { + width: 320px; + height: 320px; + } + + #graph-fs-btn { + margin-right: 10px; + } + } + .graph-fs { + position: fixed; + top: 50%; + left: 50%; + height: calc(100vmin - 100px); + width: calc(100vmin - 100px); + min-height: 350px; + min-width: 350px; + transform: translate(-50%, -50%); + z-index: 9999; + display: block; + background-color: var(--background-secondary); + border: 1px solid var(--text-accent); + border-radius: 5px; + padding-top: 5px; + + #link-graph { + width: 100%; + height: 100%; + } + + #graph-controls { + margin-top: 10px; + } + + .graph-title { + display: none; + } + } +} + +.expand-line { + display: flex; + flex-direction: column; + justify-content: center; +} + +.sidebar-container { + padding-right: 20px; + width: 100%; + overflow-y: auto; + display: flex; + flex-direction: column; + justify-content: flex-start; + height: 87%; +} + +.toc { + padding-right: 5px; + background-color: var(--background-primary); + padding: 10px; + border-radius: 10px; + + ol { + list-style: none; + padding-left: 10px; + border-left: 2px solid var(--background-secondary); + } + + & > ol { + padding-left: 0; + border-left: none; + } +} + +.toc-container { + font-size: 1rem; + max-height: 220px; + overflow-y: auto; + margin-bottom: 10px; + border-left: 1px solid var(--text-accent); + ul { + list-style-type: none; + padding-inline-start: 15px !important; + margin-top: 0; + margin-bottom: 0; + } + ul:not(:first-child) { + margin-bottom: 3px; + } + + li { + padding-top: 4px; + &::before { + content: "# " !important; + color: var(--text-accent); + font-size: 0.8rem; + } + a { + text-decoration: none; + &:hover { + text-decoration: underline; + } + } + } +} + +.toc-title-container { + display: flex; + justify-content: flex-start; + .toc-title { + font-size: 1.2rem !important; + color: var(--h6-color); + width: fit-content; + padding: 3px 7px 3px 0; + border-radius: 10px 10px 0 0; + } +} + +.backlinks { + flex: 1; + margin-top: 10px; + background-color: var(--background-primary); + border-radius: 10px; + padding: 10px; + + .backlink-title { + margin: 4px 0; + font-size: 18px !important; + color: var(--h6-color); + } +} + +.backlink-list { + border-left: 1px solid var(--text-accent); + max-height: 200px; + overflow-y: auto; + overflow-x: hidden; +} + +.backlink-card { + padding-bottom: 8px; + border-radius: 4px; + width: 100%; + font-size: 1rem; + margin-left: 10px; + color: var(--text-accent); + i { + font-size: 0.8rem; + } + + .backlink { + margin-left: 5px; + } +} + +.no-backlinks-message { + font-size: 0.8rem; + color: var(--text-normal); +} + +.graph { + .graph-title-container { + display: flex; + justify-content: flex-end; + width: 100%; + } + + .graph-title { + width: fit-content; + background-color: var(--background-secondary); + margin: 10px 0 0 0; + padding: 3px 7px; + font-size: 1.2rem !important; + border-radius: 10px 10px 0 0; + color: var(--h6-color); + } +} + +#link-graph { + background-color: var(--background-secondary); + margin-bottom: 20px; + border-radius: 10px 0 10px 10px; + width: fit-content; +} + +@media (max-width: 1400px) { + #link-graph { + border-radius: 0 10px 10px 10px; + } + .sidebar { + position: relative; + transform: none; + border-radius: 4px; + margin-top: 50px; + max-width: 700px; + margin: auto; + border-radius: 0; + border-top: 2px solid var(--background-secondary); + justify-content: space-between; + } + + .sidebar-container { + display: flex; + flex-direction: row; + justify-content: space-between; + } + + .graph { + flex: 1; + .graph-title-container { + justify-content: flex-start; + } + } + + .toc { + display: none; + } +} +@media (max-width: 800px) { + .sidebar-container { + display: flex; + flex-direction: column-reverse; + } +} + +.filetree-sidebar { + margin: 0; + z-index: 10; + padding: 10px; + top: 0px; + left: 0; + position: fixed; + height: 100%; + background-color: var(--background-secondary); + color: var(--text-muted); + overflow-y: auto; + width: 250px; + h1 { + font-size: 32px !important; + } + @media (max-width: 800px) { + h1 { + display: none; + } + + .search-button { + width: 100%; + margin: 2px; + } + } +} + +.empty-navbar { + display: flex; + justify-content: flex-end; + margin-bottom: -60px; + + @media (max-width: 800px) { + justify-content: center; + } + + .search-button { + margin: 10px 65px 10px 65px; + } +} + +.navbar { + background-color: var(--background-secondary); + position: absolute; + width: 100%; + top: 0; + left: 0; + right: 0; + z-index: 3; + padding-left: var(--file-margins); + display: flex; + justify-content: space-between; + align-items: center; + @media (max-width: 1400px) { + position: fixed; + } + + @media (max-width: 800px) { + h1 { + font-size: 18px !important; + } + } + + .navbar-inner { + display: flex; + align-items: center; + cursor: pointer; + } + + .search-button { + @media (max-width: 800px) { + min-width: 36px; + margin: 10px 25px 10px 25px; + } + } + + .search-text { + display: flex; + justify-content: center; + @media (max-width: 800px) { + display: none; + } + } +} + +.notelink { + padding: 5px 0 5px 25px; + display: flex; + align-items: center; + a { + &:hover { + text-decoration: underline !important; + } + } + svg { + flex-shrink: 0; + } +} + +.foldername-wrapper { + cursor: pointer; + margin: 4px 0 4px 2px; +} + +.inner-folder { + padding: 3px 0 3px 10px; +} + +.filename { + margin-left: 5px; +} + +.notelink.active-note { + a { + color: var(--text-accent); + } + + color: var(--text-accent); + background-color: var(--background-primary); + transform: translateX(10px); +} + +.fullpage-overlay { + background-color: rgba(0, 0, 0, 0.5); + position: absolute; + top: 0; + right: 0; + left: 0; + bottom: 0; + z-index: 5; +} + +.search-container { + background-color: rgba(0, 0, 0, 0.5); + position: fixed; + top: 0; + right: 0; + left: 0; + bottom: 0; + z-index: 15; + height: 100%; + justify-content: center; + display: none; +} + +.search-container.active { + display: flex; +} + +.search-box { + transform: translateY(100px); + background-color: var(--background-primary); + max-width: 80%; + width: 900px; + border-radius: 15px; + padding: 10px; + height: fit-content; +} + +.search-box input { + width: 100%; + padding: 10px; + border: none; + border-radius: 5px; + font-size: 2rem; + background-color: var(--background-primary); + color: var(--text-primary); +} + +.search-box input:focus { + outline: none; +} + +#search-results { + margin-top: 20px; + overflow-y: auto; + padding: 20px; + display: flex; + justify-content: center; + max-height: 50vh; +} + +#search-results .searchresult { + margin-bottom: 15px; + list-style: none; + background-color: var(--background-secondary); + padding: 10px; + border-radius: 10px; + font-size: 1.2rem; + cursor: pointer; + + &.active { + border: 2px solid var(--text-accent); + } +} + +.search-box-footer { + display: flex; + justify-content: flex-end; + margin-top: 10px; +} + +.navigation-hint { + font-size: 1rem; + color: var(--text-secondary); + margin-right: 20px; +} + +.search-link { + display: block; + margin-bottom: 4px; + font-size: 1.4rem; +} + +.search-button { + background-color: var(--background-primary); + border-radius: 20px; + height: 2em; + display: flex; + align-items: center; + min-width: 150px; + margin: 10px 40px; + border: 1px solid var(--text-normal); + cursor: pointer; + + > i { + margin-left: 10px; + } + + &:hover { + border: 1px solid var(--text-accent); + } + + .search-icon { + display: flex; + } +} + +.search-keys { + @media (max-width: 800px) { + display: none; + } +} + +.callout-title-inner, +.callout-title-inner p, +.callout-icon, +.callout-fold, +.callout-content { + margin: 0; + padding: 0; +} + +.callout-fold { + cursor: pointer; +} + +.callout-title { + margin-top: 0; + align-items: center; +} + +.callout { + font-family: var(--font-default); + word-wrap: break-word; + display: block; + font-size: 1rem; +} + +.callout.is-collapsed { + .callout-content { + display: none; + } + + .callout-fold .lucide { + transform: rotate(-90deg); + } +} + +.callout-fold .lucide { + transition: transform 100ms ease-in-out; +} + +.referred { + border: 1px dashed; + border-color: var(--text-accent); + padding: 10px; + margin-left: -10px; + margin-right: -10px; +} + +// Graph Controls +.graph-title-container { + position: relative; +} + +#full-graph { + position: fixed; + top: 50%; + left: 50%; + height: calc(100vmin - 100px); + width: calc(100vmin - 100px); + min-height: 350px; + min-width: 350px; + transform: translate(-50%, -50%); + z-index: 9999; + display: none; + background-color: var(--background-secondary); + border: 1px solid var(--text-accent); + border-radius: 5px; + + #full-graph-container { + width: 100%; + height: 100%; + } + + #full-graph-close { + position: absolute; + top: 10px; + right: 10px; + cursor: pointer; + z-index: 9; + } +} + +#graph-full-btn { + margin-right: 10px; +} + +#full-graph.show { + display: block; +} + +#graph-controls { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; + gap: 5px; + position: absolute; + top: 115%; + cursor: pointer; + right: 0px; + left: 10px; + color: var(--text-accent); + z-index: 9; + + i { + cursor: pointer; + padding-right: 10px; + } + + .depth-control { + display: flex; + flex-direction: row; + align-items: flex-start; + gap: 7px; + + .slider { + datalist { + display: flex; + flex-direction: row; + justify-content: space-between; + font-size: 0.6rem; + // padding: 2px 0px; + // width: 200px; + } + + option { + padding: 0; + } + } + + #depth-display { + background-color: var(--text-accent); + color: white; + width: 1.3rem; + height: 1.3rem; + font-size: 0.8rem; + display: flex; + justify-content: center; + align-items: center; + margin-top: 0.3rem; + border-radius: 50%; + } + } +} + +input[type="range"]::-webkit-slider-thumb { + -webkit-appearance: none; + margin-top: -10px; +} + +body.title-note-icon .cm-s-obsidian > header > h1[data-note-icon]::before, +body.filetree-note-icon .filename[data-note-icon]::before, +body.links-note-icon .internal-link[data-note-icon]::before, +body.backlinks-note-icon .backlink[data-note-icon]::before { + content: " "; + display: inline-block; + width: 0.9em; + height: 1em; + background-size: contain; + background-repeat: no-repeat; + background-position: bottom; + background-image: var(--note-icon-fallback); +} + +body.title-note-icon .cm-s-obsidian > header > h1[data-note-icon="1"]::before, +body.filetree-note-icon .filename[data-note-icon="1"]::before, +body.links-note-icon .internal-link[data-note-icon="1"]::before, +body.backlinks-note-icon .backlink[data-note-icon="1"]::before { + background-image: var(--note-icon-1); +} + +body.title-note-icon .cm-s-obsidian > header > h1[data-note-icon="2"]::before, +body.filetree-note-icon .filename[data-note-icon="2"]::before, +body.links-note-icon .internal-link[data-note-icon="2"]::before, +body.backlinks-note-icon .backlink[data-note-icon="2"]::before { + background-image: var(--note-icon-2); +} + +body.title-note-icon .cm-s-obsidian > header > h1[data-note-icon="3"]::before, +body.filetree-note-icon .filename[data-note-icon="3"]::before, +body.links-note-icon .internal-link[data-note-icon="3"]::before, +body.backlinks-note-icon .backlink[data-note-icon="3"]::before { + background-image: var(--note-icon-3); +} + +.timestamps { + display: flex; + flex-direction: row; + font-size: 0.8em; + color: var(--text-muted); + gap: 10px; + margin-top: 20px; + + div { + display: flex; + flex-direction: row; + gap: 3px; + align-items: center; + } +} + +.align-icon { + display: inline-flex; + align-items: center; + justify-content: space-evenly; +} + +.cm-s-obsidian { + .table-wrapper { + overflow-x: auto; + } +} diff --git a/src/site/styles/obsidian-base.scss b/src/site/styles/obsidian-base.scss new file mode 100644 index 0000000..0db6129 --- /dev/null +++ b/src/site/styles/obsidian-base.scss @@ -0,0 +1,10629 @@ +/*** +* DO NOT ADD/MODIFY STYLING HERE. IT WILL BE OVERWRITTEN IF YOU UPDATE THE TEMPLATE VERSION. +* MODIFY THE custom-style.scss FILE INSTEAD. +***/ + +body { + /* Animations */ + --anim-duration-none: 0; + --anim-duration-superfast: 70ms; + --anim-duration-fast: 140ms; + --anim-duration-moderate: 300ms; + --anim-duration-slow: 560ms; + --anim-motion-smooth: cubic-bezier(0.45, 0.05, 0.55, 0.95); + --anim-motion-delay: cubic-bezier(0.65, 0.05, 0.36, 1); + --anim-motion-jumpy: cubic-bezier(0.68, -0.55, 0.27, 1.55); + --anim-motion-swing: cubic-bezier(0, 0.55, 0.45, 1); + /* Blockquotes */ + --blockquote-border-thickness: 2px; + --blockquote-border-color: var(--interactive-accent); + --blockquote-font-style: normal; + --blockquote-color: inherit; + --blockquote-background-color: transparent; + /* Bold */ + --bold-weight: var(--font-semibold); + --bold-color: inherit; + /* Borders */ + --border-width: 1px; + /* Buttons */ + --button-radius: var(--input-radius); + /* Callouts */ + --callout-border-width: 0px; + --callout-border-opacity: 0.25; + --callout-padding: var(--size-4-3) var(--size-4-3) var(--size-4-3) var(--size-4-6); + --callout-radius: var(--radius-s); + --callout-blend-mode: var(--highlight-mix-blend-mode); + --callout-title-padding: 0; + --callout-title-size: inherit; + --callout-content-padding: 0; + /* Checkboxes */ + --checkbox-radius: var(--radius-s); + --checkbox-size: 15px; + --checkbox-marker-color: var(--background-primary); + --checkbox-color: var(--interactive-accent); + --checkbox-color-hover: var(--interactive-accent-hover); + --checkbox-border-color: var(--text-faint); + --checkbox-border-color-hover: var(--text-muted); + --checklist-done-decoration: line-through; + --checklist-done-color: var(--text-muted); + /* Code */ + --code-size: var(--font-smaller); + --code-background: var(--background-primary-alt); + --code-normal: var(--text-muted); + --code-comment: var(--text-faint); + --code-function: var(--color-yellow); + --code-important: var(--color-orange); + --code-keyword: var(--color-pink); + --code-property: var(--color-cyan); + --code-punctuation: var(--text-muted); + --code-string: var(--color-green); + --code-tag: var(--color-red); + --code-value: var(--color-purple); + /* Collapse icons */ + --collapse-icon-color: var(--text-faint); + --collapse-icon-color-collapsed: var(--text-accent); + /* Cursor */ + --cursor: default; + --cursor-link: pointer; + /* Dialogs - e.g. small modals, confirmations */ + --dialog-width: 560px; + --dialog-max-width: 80vw; + --dialog-max-height: 85vh; + /* Dividers — between panes */ + --divider-color: var(--background-modifier-border); + --divider-color-hover: var(--interactive-accent); + --divider-width: 1px; + --divider-width-hover: 3px; + --divider-vertical-height: calc(100% - var(--header-height)); + /* Dragging */ + --drag-ghost-background: rgba(0, 0, 0, 0.85); + --drag-ghost-text-color: #fff; + /* Embeds */ + --embed-background: inherit; + --embed-border-left: 2px solid var(--interactive-accent); + --embed-border-right: none; + --embed-border-top: none; + --embed-border-bottom: none; + --embed-padding: 0 0 0 var(--size-4-6); + --embed-font-style: inherit; + /* Blocks */ + --embed-block-shadow-hover: 0 0 0 1px var(--background-modifier-border), + inset 0 0 0 1px var(--background-modifier-border); + /* File layout */ + --file-line-width: 700px; + --file-folding-offset: 24px; + --file-margins: var(--size-4-8); + --file-header-font-size: var(--font-ui-small); + --file-header-font-weight: 400; + --file-header-border: var(--border-width) solid transparent; + --file-header-justify: center; + /* Relative font sizes */ + --font-smallest: 0.8em; + --font-smaller: 0.875em; + --font-small: 0.933em; + /* UI font sizes */ + --font-ui-smaller: 12px; + --font-ui-small: 13px; + --font-ui-medium: 15px; + --font-ui-large: 20px; + /* Font weights */ + --font-thin: 100; + --font-extralight: 200; + --font-light: 300; + --font-normal: 400; + --font-medium: 500; + --font-semibold: 600; + --font-bold: 700; + --font-extrabold: 800; + --font-black: 900; + /* Footnotes */ + --footnote-size: var(--font-smaller); + /* Graphs */ + --graph-controls-width: 240px; + --graph-text: var(--text-normal); + --graph-line: var(--color-base-35, var(--background-modifier-border-focus)); + --graph-node: var(--text-muted); + --graph-node-unresolved: var(--text-faint); + --graph-node-focused: var(--text-accent); + --graph-node-tag: var(--color-green); + --graph-node-attachment: var(--color-yellow); + /* Headings */ + --heading-formatting: var(--text-faint); + --h1-color: inherit; + --h2-color: inherit; + --h3-color: inherit; + --h4-color: inherit; + --h5-color: inherit; + --h6-color: inherit; + --h1-font: inherit; + --h2-font: inherit; + --h3-font: inherit; + --h4-font: inherit; + --h5-font: inherit; + --h6-font: inherit; + --h1-line-height: 1.2; + --h2-line-height: 1.2; + --h3-line-height: 1.3; + --h4-line-height: 1.4; + --h5-line-height: var(--line-height-normal); + --h6-line-height: var(--line-height-normal); + --h1-size: 2em; + --h2-size: 1.6em; + --h3-size: 1.37em; + --h4-size: 1.25em; + --h5-size: 1.12em; + --h6-size: 1.12em; + --h1-style: normal; + --h2-style: normal; + --h3-style: normal; + --h4-style: normal; + --h5-style: normal; + --h6-style: normal; + --h1-variant: normal; + --h2-variant: normal; + --h3-variant: normal; + --h4-variant: normal; + --h5-variant: normal; + --h6-variant: normal; + --h1-weight: 700; + --h2-weight: 600; + --h3-weight: 600; + --h4-weight: 600; + --h5-weight: 600; + --h6-weight: 600; + /* View header */ + --header-height: 40px; + /* Horizontal rules */ + --hr-color: var(--background-modifier-border); + --hr-thickness: 2px; + /* Icons */ + --icon-size: var(--icon-m); + --icon-stroke: var(--icon-m-stroke-width); + --icon-xs: 14px; + --icon-s: 16px; + --icon-m: 18px; + --icon-l: 18px; + --icon-xs-stroke-width: 2px; + --icon-s-stroke-width: 2px; + --icon-m-stroke-width: 1.75px; + --icon-l-stroke-width: 1.75px; + --icon-color: var(--text-muted); + --icon-color-hover: var(--text-muted); + --icon-color-active: var(--text-accent); + --icon-color-focused: var(--text-normal); + --icon-opacity: 0.85; + --icon-opacity-hover: 1; + --icon-opacity-active: 1; + --clickable-icon-radius: var(--radius-s); + /* Indentation guide */ + --indentation-guide-width: 1px; + --indentation-guide-color: rgba(var(--mono-rgb-100), 0.12); + --indentation-guide-color-active: rgba(var(--mono-rgb-100), 0.3); + /* Inline title */ + --inline-title-color: var(--h1-color); + --inline-title-font: var(--h1-font); + --inline-title-line-height: var(--h1-line-height); + --inline-title-size: var(--h1-size); + --inline-title-style: var(--h1-style); + --inline-title-variant: var(--h1-variant); + --inline-title-weight: var(--h1-weight); + /* Inputs */ + --input-height: 30px; + --input-radius: 5px; + --input-font-weight: var(--font-normal); + --input-border-width: 1px; + /* Italic */ + --italic-color: inherit; + /* Z-index */ + --layer-cover: 5; + --layer-sidedock: 10; + --layer-status-bar: 15; + --layer-popover: 30; + --layer-slides: 45; + --layer-modal: 50; + --layer-notice: 60; + --layer-menu: 65; + --layer-tooltip: 70; + --layer-dragged-item: 80; + /* Line heights */ + --line-height-normal: 1.5; + --line-height-tight: 1.3; + /* Links */ + --link-color: var(--text-accent); + --link-color-hover: var(--text-accent-hover); + --link-decoration: underline; + --link-decoration-hover: underline; + --link-decoration-thickness: auto; + --link-external-color: var(--text-accent); + --link-external-color-hover: var(--text-accent-hover); + --link-external-decoration: underline; + --link-external-decoration-hover: underline; + --link-external-filter: none; + --link-unresolved-color: var(--text-accent); + --link-unresolved-opacity: 0.7; + --link-unresolved-filter: none; + --link-unresolved-decoration-style: solid; + --link-unresolved-decoration-color: hsla(var(--interactive-accent-hsl), 0.3); + /* Lists */ + --list-indent: 2em; + --list-spacing: 0.075em; + --list-marker-color: var(--text-faint); + --list-marker-color-hover: var(--text-muted); + --list-marker-color-collapsed: var(--text-accent); + --list-bullet-border: none; + --list-bullet-radius: 50%; + --list-bullet-size: 5px; + --list-bullet-transform: none; + /* File navigator */ + --nav-item-size: var(--font-ui-small); + --nav-item-color: var(--text-muted); + --nav-item-color-hover: var(--text-normal); + --nav-item-color-active: var(--text-normal); + --nav-item-color-selected: var(--text-normal); + --nav-item-color-highlighted: var(--text-accent-hover); + --nav-item-background-hover: var(--background-modifier-hover); + --nav-item-background-active: var(--background-modifier-hover); + --nav-item-background-selected: hsla(var(--color-accent-hsl), 0.2); + --nav-item-padding: var(--size-4-1) var(--size-4-2); + --nav-item-weight: inherit; + --nav-item-weight-hover: inherit; + --nav-item-weight-active: inherit; + --nav-item-white-space: nowrap; + --nav-indentation-guide-width: var(--indentation-guide-width); + --nav-indentation-guide-color: var(--indentation-guide-color); + --nav-collapse-icon-color: var(--collapse-icon-color); + --nav-collapse-icon-color-collapsed: var(--text-faint); + /* Modals - e.g. settings, community themes, community plugins */ + --modal-background: var(--background-primary); + --modal-width: 90vw; + --modal-height: 85vh; + --modal-max-width: 1100px; + --modal-max-height: 1000px; + --modal-max-width-narrow: 800px; + --modal-border-width: var(--border-width); + --modal-border-color: var(--color-base-40, var(--background-modifier-border-focus)); + --modal-radius: var(--radius-l); + --modal-community-sidebar-width: 280px; + /* Popovers - file previews */ + --popover-width: 450px; + --popover-height: 400px; + --popover-max-height: 70vh; + --popover-pdf-width: 600px; + --popover-pdf-height: 800px; + --popover-font-size: var(--font-text-size); + /* Prompts - e.g. quick switcher, command palette */ + --prompt-width: 700px; + --prompt-max-width: 80vw; + --prompt-max-height: 70vh; + --prompt-border-width: var(--border-width); + --prompt-border-color: var(--color-base-40, var(--background-modifier-border-focus)); + /* Radiuses */ + --radius-s: 4px; + --radius-m: 8px; + --radius-l: 10px; + --radius-xl: 16px; + /* Ribbon */ + --ribbon-background: var(--background-secondary); + --ribbon-background-collapsed: var(--background-primary); + --ribbon-width: 44px; + --ribbon-padding: var(--size-4-2) var(--size-4-1) var(--size-4-3); + /* Scrollbars */ + --scrollbar-active-thumb-bg: rgba(var(--mono-rgb-100), 0.2); + --scrollbar-bg: rgba(var(--mono-rgb-100), 0.05); + --scrollbar-thumb-bg: rgba(var(--mono-rgb-100), 0.1); + /* Search */ + --search-clear-button-color: var(--text-muted); + --search-clear-button-size: 13px; + --search-icon-color: var(--text-muted); + --search-icon-size: 18px; + --search-result-background: var(--background-primary); + /* Layout sizing - for padding and margins */ + --size-2-1: 2px; + --size-2-2: 4px; + --size-2-3: 6px; + --size-4-1: 4px; + --size-4-2: 8px; + --size-4-3: 12px; + --size-4-4: 16px; + --size-4-5: 20px; + --size-4-6: 24px; + --size-4-8: 32px; + --size-4-9: 36px; + --size-4-12: 48px; + --size-4-16: 64px; + --size-4-18: 72px; + /* Sidebar */ + --sidebar-markdown-font-size: calc(var(--font-text-size) * 0.9); + --sidebar-tab-text-display: none; + /* Sliders */ + --slider-thumb-border-width: 1px; + --slider-thumb-border-color: var(--background-modifier-border-hover); + --slider-thumb-height: 18px; + --slider-thumb-width: 18px; + --slider-thumb-y: -6px; + --slider-thumb-radius: 50%; + --slider-s-thumb-size: 15px; + --slider-s-thumb-position: -5px; + --slider-track-background: var(--background-modifier-border); + --slider-track-height: 3px; + /* Status bar */ + --status-bar-background: var(--background-secondary); + --status-bar-border-color: var(--divider-color); + --status-bar-border-width: 1px 0 0 1px; + --status-bar-font-size: var(--font-ui-smaller); + --status-bar-text-color: var(--text-muted); + --status-bar-position: fixed; + --status-bar-radius: var(--radius-m) 0 0 0; + /* Swatch for color inputs */ + --swatch-radius: 14px; + --swatch-height: 24px; + --swatch-width: 24px; + --swatch-shadow: inset 0 0 0 1px rgba(var(--mono-rgb-100), 0.15); + /* Tabs */ + --tab-background-active: var(--background-primary); + --tab-text-color: var(--text-faint); + --tab-text-color-focused: var(--text-muted); + --tab-text-color-focused-active: var(--text-normal); + --tab-font-size: var(--font-ui-small); + --tab-font-weight: inherit; + --tab-container-background: var(--background-secondary); + --tab-divider-color: var(--background-modifier-border-hover); + --tab-outline-color: var(--divider-color); + --tab-outline-width: 1px; + --tab-curve: 6px; + --tab-radius: var(--radius-s); + --tab-radius-active: 6px 6px 0 0; + --tab-width: 200px; + --tab-max-width: 320px; + /* Stacked tabs */ + --tab-stacked-pane-width: 700px; + --tab-stacked-header-width: var(--header-height); + --tab-stacked-font-size: var(--font-ui-small); + --tab-stacked-font-weight: 400; + --tab-stacked-text-align: left; + --tab-stacked-text-transform: rotate(0deg); + --tab-stacked-text-writing-mode: vertical-lr; + --tab-stacked-shadow: -8px 0 8px 0 rgba(0, 0, 0, 0.05); + /* Tables */ + --table-background: transparent; + --table-border-width: 1px; + --table-border-color: var(--background-modifier-border); + --table-white-space: normal; + --table-header-background: var(--table-background); + --table-header-background-hover: inherit; + --table-header-border-width: var(--table-border-width); + --table-header-border-color: var(--table-border-color); + --table-header-font: inherit; + --table-header-size: var(--font-smaller); + --table-header-weight: var(--font-normal); + --table-header-color: var(--text-muted); + --table-text-size: inherit; + --table-text-color: inherit; + --table-column-max-width: none; + --table-column-alt-background: var(--table-background); + --table-column-first-border-width: var(--table-border-width); + --table-column-last-border-width: var(--table-border-width); + --table-row-background-hover: var(--table-background); + --table-row-alt-background: var(--table-background); + --table-row-last-border-width: var(--table-border-width); + /* Tags */ + --tag-size: var(--font-smaller); + --tag-color: var(--text-accent); + --tag-color-hover: var(--text-accent); + --tag-decoration: none; + --tag-decoration-hover: none; + --tag-background: hsla(var(--interactive-accent-hsl), 0.1); + --tag-background-hover: hsla(var(--interactive-accent-hsl), 0.2); + --tag-border-color: hsla(var(--interactive-accent-hsl), 0.15); + --tag-border-color-hover: hsla(var(--interactive-accent-hsl), 0.15); + --tag-border-width: 0px; + --tag-padding-x: 0.65em; + --tag-padding-y: 0.25em; + --tag-radius: 2em; + /* Window frame */ + --titlebar-background: var(--background-secondary); + --titlebar-background-focused: var(--background-secondary-alt); + --titlebar-border-width: 0px; + --titlebar-border-color: var(--background-modifier-border); + --titlebar-text-color: var(--text-muted); + --titlebar-text-color-focused: var(--text-normal); + --titlebar-text-color-highlighted: var(--text-accent-hover); + --titlebar-text-weight: var(--font-bold); + /* Toggles */ + --toggle-border-width: 2px; + --toggle-width: 40px; + --toggle-radius: 18px; + --toggle-thumb-color: white; + --toggle-thumb-radius: 18px; + --toggle-thumb-height: 18px; + --toggle-thumb-width: 18px; + --toggle-s-border-width: 2px; + --toggle-s-width: 34px; + --toggle-s-thumb-height: 15px; + --toggle-s-thumb-width: 15px; + /* Vault name */ + --vault-name-font-size: var(--font-ui-small); + --vault-name-font-weight: var(--font-medium); + --vault-name-color: var(--text-normal); + /* Workspace */ + --workspace-background-translucent: rgba(var(--mono-rgb-0), 0.6); + /* Color mappings ------------------------ */ + /* Accent HSL values */ + --accent-h: 254; + --accent-s: 80%; + --accent-l: 68%; + /* Backgrounds */ + --background-primary: var(--color-base-00); + --background-primary-alt: var(--color-base-10); + --background-secondary: var(--color-base-20); + --background-modifier-hover: rgba(var(--mono-rgb-100), 0.075); + --background-modifier-active-hover: hsla(var(--interactive-accent-hsl), 0.15); + --background-modifier-border: var(--color-base-30); + --background-modifier-border-hover: var(--color-base-35); + --background-modifier-border-focus: var(--color-base-40); + --background-modifier-error-rgb: var(--color-red-rgb); + --background-modifier-error: var(--color-red); + --background-modifier-error-hover: var(--color-red); + --background-modifier-success-rgb: var(--color-green-rgb); + --background-modifier-success: var(--color-green); + --background-modifier-message: rgba(0, 0, 0, 0.9); + /* Inputs */ + --background-modifier-form-field: var(--color-base-00); + /* Text */ + --text-normal: var(--color-base-100); + --text-muted: var(--color-base-70); + --text-faint: var(--color-base-50); + --text-on-accent: white; + --text-error: var(--color-red); + --text-success: var(--color-green); + --text-selection: hsla(var(--color-accent-hsl), 0.2); + --text-accent: var(--color-accent); + --text-accent-hover: var(--color-accent-2); + --interactive-normal: var(--color-base-00); + --interactive-hover: var(--color-base-10); + --interactive-accent-hsl: var(--color-accent-hsl); + --interactive-accent: var(--color-accent-1); + --interactive-accent-hover: var(--color-accent-2); + } + .theme-light { + color-scheme: light; + --highlight-mix-blend-mode: darken; + --mono-rgb-0: 255, 255, 255; + --mono-rgb-100: 0, 0, 0; + --color-red-rgb: 228, 55, 75; + --color-red: #E4374B; + --color-green-rgb: 12, 181, 79; + --color-green: #0cb54f; + --color-orange: #d96c00; + --color-yellow: #BD8E37; + --color-cyan: #2db7b5; + --color-blue: #086DDD; + --color-purple: #876be0; + --color-pink: #C32B74; + --color-base-00: #ffffff; + --color-base-05: #fcfcfc; + --color-base-10: #fafafa; + --color-base-20: #f6f6f6; + --color-base-25: #e3e3e3; + --color-base-30: #e0e0e0; + --color-base-35: #d4d4d4; + --color-base-40: #bdbdbd; + --color-base-50: #ababab; + --color-base-60: #707070; + --color-base-70: #5a5a5a; + --color-base-100: #222222; + --color-accent-hsl: var(--accent-h), + var(--accent-s), + var(--accent-l); + --color-accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l)); + --color-accent-1: hsl(var(--accent-h), var(--accent-s), calc(var(--accent-l) + 2.5%)); + --color-accent-2: hsl(var(--accent-h), var(--accent-s), calc(var(--accent-l) + 5%)); + --background-secondary-alt: var(--color-base-05); + --background-modifier-box-shadow: rgba(0, 0, 0, 0.1); + --background-modifier-cover: rgba(220, 220, 220, 0.4); + --text-highlight-bg: rgba(255, 208, 0, 0.4); + --text-highlight-bg-active: rgba(255, 128, 0, 0.4); + --input-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.12), + 0 2px 3px 0 rgba(0,0,0,.05), + 0 1px 1.5px 0 rgba(0,0,0,.03), + 0 1px 2px 0 rgba(0,0,0,.04), + 0 0 0 0 transparent; + --input-shadow-hover: inset 0 0 0 1px rgba(0, 0, 0, 0.17), + 0 2px 3px 0 rgba(0,0,0,.1), + 0 1px 1.5px 0 rgba(0,0,0,.03), + 0 1px 2px 0 rgba(0,0,0,.04), + 0 0 0 0 transparent; + --shadow-s: 0px 1px 2px rgba(0, 0, 0, 0.028), + 0px 3.4px 6.7px rgba(0, 0, 0, .042), + 0px 15px 30px rgba(0, 0, 0, .07); + --shadow-l: 0px 1.8px 7.3px rgba(0, 0, 0, 0.071), + 0px 6.3px 24.7px rgba(0, 0, 0, 0.112), + 0px 30px 90px rgba(0, 0, 0, 0.2); + } + .theme-dark { + color-scheme: dark; + --highlight-mix-blend-mode: lighten; + --mono-rgb-0: 0, 0, 0; + --mono-rgb-100: 255, 255, 255; + --color-red-rgb: 251, 70, 76; + --color-red: #fb464c; + --color-green-rgb: 68, 207, 110; + --color-green: #44CF6E; + --color-orange: #E9973F; + --color-yellow: #E0DE71; + --color-cyan: #53DFDD; + --color-blue: #027aff; + --color-purple: #a882ff; + --color-pink: #FA99CD; + --color-base-00: #1e1e1e; + --color-base-10: #242424; + --color-base-20: #262626; + --color-base-25: #2a2a2a; + --color-base-30: #363636; + --color-base-35: #3F3F3F; + --color-base-40: #555; + --color-base-50: #666; + --color-base-60: #999; + --color-base-70: #bababa; + --color-base-100: #dadada; + --color-accent-hsl: var(--accent-h), + var(--accent-s), + var(--accent-l); + --color-accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l)); + --color-accent-1: hsl(var(--accent-h), var(--accent-s), calc(var(--accent-l) - 3.8%)); + --color-accent-2: hsl(var(--accent-h), var(--accent-s), calc(var(--accent-l) + 3.8%)); + --background-modifier-form-field: var(--color-base-25); + --background-secondary-alt: var(--color-base-30); + --interactive-normal: var(--color-base-30); + --interactive-hover: var(--color-base-35); + --background-modifier-box-shadow: rgba(0, 0, 0, 0.3); + --background-modifier-cover: rgba(10, 10, 10, 0.4); + --text-highlight-bg: rgba(255, 208, 0, 0.4); + --text-highlight-bg-active: rgba(255, 128, 0, 0.4); + --text-selection: hsla(var(--interactive-accent-hsl), 0.25); + --input-shadow: inset 0 0.5px 0.5px 0.5px rgba(255, 255, 255, 0.09), + 0 2px 4px 0 rgba(0,0,0,.15), + 0 1px 1.5px 0 rgba(0,0,0,.1), + 0 1px 2px 0 rgba(0,0,0,.2), + 0 0 0 0 transparent; + --input-shadow-hover: inset 0 0.5px 1px 0.5px rgba(255, 255, 255, 0.16), + 0 2px 3px 0 rgba(0,0,0,.3), + 0 1px 1.5px 0 rgba(0,0,0,.2), + 0 1px 2px 0 rgba(0,0,0,.4), + 0 0 0 0 transparent; + --shadow-s: 0px 1px 2px rgba(0, 0, 0, 0.121), + 0px 3.4px 6.7px rgba(0, 0, 0, 0.179), + 0px 15px 30px rgba(0, 0, 0, 0.3); + --shadow-l: 0px 1.8px 7.3px rgba(0, 0, 0, 0.071), + 0px 6.3px 24.7px rgba(0, 0, 0, 0.112), + 0px 30px 90px rgba(0, 0, 0, 0.2); + } + iframe { + color-scheme: normal; + } + @media print { + .theme-dark { + --highlight-mix-blend-mode: darken; + } + } + + body { + --font-default: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + ; + --font-monospace-default: Menlo, SFMono-Regular, Consolas, "Roboto Mono", 'Source Code Pro', monospace; + --font-interface-override: '??'; + --font-interface-theme: '??'; + --font-interface: var(--font-interface-override), var(--font-interface-theme), var(--default-font, '??'), var(--font-default); + --font-text-override: '??'; + --font-text-theme: '??'; + --font-text: var(--font-text-override), var(--font-text-theme), var(--font-interface); + --font-monospace-override: '??'; + --font-monospace-theme: '??'; + --font-monospace: var(--font-monospace-override), var(--font-monospace-theme), var(--font-monospace-default); + --font-text-size: 16px; + --font-mermaid: var(--font-text); + } + @media print { + html, + body { + padding-top: 0 !important; + overflow: auto !important; + height: auto !important; + } + iframe, + .titlebar, + .app-container, + .progress-bar, + .popover, + .markdown-embed-link { + display: none !important; + } + body > :not(.print) { + display: none !important; + } + .print .markdown-preview-view { + -webkit-print-color-adjust: exact; + color: initial; + } + .print .markdown-preview-view mark { + color: initial; + } + .print .markdown-preview-view .frontmatter-container { + display: none; + } + .print .markdown-preview-view .markdown-embed-content { + max-height: none; + overflow: visible; + } + .print .markdown-preview-view .callout-content { + display: inherit !important; + } + .print .external-link { + background: none; + padding-right: 0; + } + * { + text-shadow: none !important; + } + webview { + display: none; + } + } + * { + box-sizing: border-box; + } + html, + body { + margin: 0; + padding: 0; + height: 100%; + width: 100%; + overflow: hidden; + } + body { + text-rendering: optimizeLegibility; + font-family: var(--font-interface); + line-height: var(--line-height-tight); + font-size: var(--font-ui-medium); + background-color: var(--background-primary); + color: var(--text-normal); + -webkit-tap-highlight-color: rgba(255, 255, 255, 0); + } + body.is-translucent { + background-color: transparent; + } + body { + user-select: none; + -webkit-user-select: none; + overflow: hidden; + } + body [contenteditable="true"], + body [contenteditable=""] { + user-select: text; + -webkit-user-select: text; + } + body.is-grabbing, + body.is-grabbing *:not(.workspace-leaf-resize-handle) { + cursor: -moz-grabbing !important; + cursor: -webkit-grabbing !important; + cursor: grabbing !important; + } + body.is-grabbing iframe, + body.is-grabbing webview { + pointer-events: none; + } + .app-container { + display: flex; + height: 100%; + width: 100%; + position: relative; + flex-direction: column; + } + .app-container.no-transition * { + transition: none !important; + } + .horizontal-main-container { + width: 100%; + display: flex; + overflow: hidden; + flex: 1 0 0; + } + :focus { + outline: none; + } + /* START OF ORIGINAL FILE, DO NOT MODIFY */ + /* BASICS */ + .CodeMirror { + /* Set height, width, borders, and global font properties here */ + font-family: monospace; + height: 300px; + color: black; + direction: ltr; + } + /* PADDING */ + .CodeMirror-lines { + padding: 4px 0; + /* Vertical padding around content */ + } + .CodeMirror .CodeMirror-line, + .CodeMirror .CodeMirror-line-like { + padding: 0 4px; + /* Horizontal padding of content */ + } + .CodeMirror-scrollbar-filler, + .CodeMirror-gutter-filler { + background-color: white; + /* The little square between H and V scrollbars */ + } + /* GUTTER */ + .CodeMirror-gutters { + border-right: 1px solid #ddd; + background-color: #f7f7f7; + white-space: nowrap; + } + .CodeMirror-linenumber { + padding: 0 3px 0 5px; + min-width: 20px; + text-align: right; + color: #999; + white-space: nowrap; + } + .CodeMirror-guttermarker { + color: black; + } + .CodeMirror-guttermarker-subtle { + color: #999; + } + /* CURSOR */ + .CodeMirror-cursor { + border-left: 1px solid black; + border-right: none; + width: 0; + } + /* Shown when moving in bi-directional text */ + .CodeMirror div.CodeMirror-secondarycursor { + border-left: 1px solid silver; + } + .cm-fat-cursor .CodeMirror-cursor { + width: auto; + border: 0 !important; + background: var(--interactive-accent); + color: var(--text-on-accent); + } + .cm-fat-cursor div.CodeMirror-cursors { + z-index: 1; + } + .cm-fat-cursor-mark { + background-color: rgba(20, 255, 20, 0.5); + -webkit-animation: blink 1.06s steps(1) infinite; + -moz-animation: blink 1.06s steps(1) infinite; + animation: blink 1.06s steps(1) infinite; + } + .cm-animate-fat-cursor { + width: auto; + border: 0; + -webkit-animation: blink 1.06s steps(1) infinite; + -moz-animation: blink 1.06s steps(1) infinite; + animation: blink 1.06s steps(1) infinite; + background: var(--interactive-accent); + color: var(--text-on-accent); + } + @-moz-keyframes blink { + 50% { + background-color: transparent; + } + } + @-webkit-keyframes blink { + 50% { + background-color: transparent; + } + } + @keyframes blink { + 50% { + background-color: transparent; + } + } + /* Can style cursor different in overwrite (non-insert) mode */ + .cm-tab { + display: inline-block; + text-decoration: inherit; + } + .CodeMirror-rulers { + position: absolute; + left: 0; + right: 0; + top: -50px; + bottom: 0; + overflow: hidden; + } + .CodeMirror-ruler { + border-left: 1px solid #ccc; + top: 0; + bottom: 0; + position: absolute; + } + /* DEFAULT THEME */ + .cm-negative { + color: var(--text-error); + } + .cm-positive { + color: var(--text-success); + } + .cm-strikethrough { + text-decoration: line-through; + } + .cm-invalidchar { + color: var(--text-error); + } + .CodeMirror-composing { + border-bottom: 2px solid; + } + /* Default styles for common addons */ + div.CodeMirror span.CodeMirror-matchingbracket { + color: #0b0; + } + div.CodeMirror span.CodeMirror-nonmatchingbracket { + color: #a22; + } + .CodeMirror-matchingtag { + background: rgba(255, 150, 0, 0.3); + } + .CodeMirror-activeline-background { + background: #e8f2ff; + } + /* STOP */ + /* The rest of this file contains styles related to the mechanics of + the editor. You probably shouldn't touch them. */ + .CodeMirror { + position: relative; + overflow: hidden; + background: white; + } + .CodeMirror-scroll { + overflow: scroll !important; + /* Things will break if this is overridden */ + /* 50px is the magic margin used to hide the element's real scrollbars */ + /* See overflow: hidden in .CodeMirror */ + margin-bottom: -50px; + margin-right: -50px; + padding-bottom: 50px; + height: 100%; + outline: none; + /* Prevent dragging from highlighting the element */ + position: relative; + } + .CodeMirror-sizer { + position: relative; + border-right: 50px solid transparent; + } + /* The fake, visible scrollbars. Used to force redraw during scrolling + before actual scrolling happens, thus preventing shaking and + flickering artifacts. */ + .CodeMirror-vscrollbar, + .CodeMirror-hscrollbar, + .CodeMirror-scrollbar-filler, + .CodeMirror-gutter-filler { + position: absolute; + z-index: 6; + display: none; + outline: none; + } + .CodeMirror-vscrollbar { + right: 0; + top: 0; + overflow-x: hidden; + overflow-y: scroll; + } + .CodeMirror-hscrollbar { + bottom: 0; + left: 0; + overflow-y: hidden; + overflow-x: scroll; + } + .CodeMirror-scrollbar-filler { + right: 0; + bottom: 0; + } + .CodeMirror-gutter-filler { + left: 0; + bottom: 0; + } + .CodeMirror-gutters { + position: absolute; + left: 0; + top: 0; + min-height: 100%; + z-index: 3; + } + .CodeMirror-gutter { + white-space: normal; + height: 100%; + display: inline-block; + vertical-align: top; + margin-bottom: -50px; + } + .CodeMirror-gutter-wrapper { + position: absolute; + z-index: 4; + background: none !important; + border: none !important; + } + .CodeMirror-gutter-background { + position: absolute; + top: 0; + bottom: 0; + z-index: 4; + } + .CodeMirror-gutter-elt { + position: absolute; + cursor: default; + z-index: 4; + } + .CodeMirror-gutter-wrapper ::selection { + background-color: transparent; + } + .CodeMirror-gutter-wrapper ::-moz-selection { + background-color: transparent; + } + .CodeMirror-lines { + cursor: text; + min-height: 1px; + /* prevents collapsing before first draw */ + } + .CodeMirror .CodeMirror-line, + .CodeMirror .CodeMirror-line-like { + /* Reset some styles that the rest of the page might have set */ + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + border-width: 0; + background: transparent; + font-family: inherit; + margin: 0; + white-space: pre; + word-wrap: normal; + line-height: inherit; + color: inherit; + z-index: 2; + position: relative; + overflow: visible; + -webkit-tap-highlight-color: transparent; + -webkit-font-variant-ligatures: contextual; + font-variant-ligatures: contextual; + } + .CodeMirror-wrap .CodeMirror-line, + .CodeMirror-wrap .CodeMirror-line-like { + word-wrap: break-word; + white-space: pre-wrap; + word-break: normal; + } + .CodeMirror-linebackground { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + z-index: 0; + } + .CodeMirror-linewidget { + position: relative; + z-index: 2; + padding: 0.1px; + /* Force widget margins to stay inside of the container */ + } + .CodeMirror-rtl pre { + direction: rtl; + } + .CodeMirror-code { + outline: none; + } + /* Force content-box sizing for the elements where we expect it */ + .CodeMirror-scroll, + .CodeMirror-sizer, + .CodeMirror-gutter, + .CodeMirror-gutters, + .CodeMirror-linenumber { + -moz-box-sizing: content-box; + box-sizing: content-box; + } + .CodeMirror-measure { + position: absolute; + width: 100%; + height: 0; + overflow: hidden; + visibility: hidden; + } + .CodeMirror-cursor { + position: absolute; + pointer-events: none; + } + .CodeMirror-measure pre { + position: static; + } + div.CodeMirror-cursors { + visibility: hidden; + position: relative; + z-index: 3; + } + div.CodeMirror-dragcursors { + visibility: visible; + } + .CodeMirror-focused div.CodeMirror-cursors { + visibility: visible; + } + .CodeMirror-selected { + background: #d9d9d9; + } + .CodeMirror-focused .CodeMirror-selected { + background: #d7d4f0; + } + .CodeMirror-crosshair { + cursor: crosshair; + } + .CodeMirror-line::selection, + .CodeMirror-line > span::selection, + .CodeMirror-line > span > span::selection { + background: #d7d4f0; + } + .CodeMirror-line::-moz-selection, + .CodeMirror-line > span::-moz-selection, + .CodeMirror-line > span > span::-moz-selection { + background: #d7d4f0; + } + .cm-searching { + background-color: #ffa; + background-color: rgba(255, 255, 0, 0.4); + } + /* Used to force a border model for a node */ + .cm-force-border { + padding-right: 0.1px; + } + @media print { + /* Hide the cursor when printing */ + .CodeMirror div.CodeMirror-cursors { + visibility: hidden; + } + } + /* See issue #2901 */ + .cm-tab-wrap-hack:after { + content: ''; + } + /* Help users use markselection to safely style text background */ + span.CodeMirror-selectedtext { + background: none; + } + /* END OF ORIGINAL FILE, DO NOT MODIFY */ + /* START OF CUSTOM DEFINED STYLES FOR OBSIDIAN */ + .markdown-source-view { + font-size: var(--font-text-size); + font-family: var(--font-text); + } + .markdown-source-view.mod-cm5 { + height: 100%; + } + .workspace-leaf-content.is-read-mode .markdown-source-view { + z-index: 0; + } + .CodeMirror { + height: 100%; + font-family: unset; + color: unset; + } + .markdown-source-view.is-readable-line-width .CodeMirror { + max-width: var(--file-line-width); + margin-left: auto; + margin-right: auto; + } + .CodeMirror-lines { + padding: 20px 0; + } + .CodeMirror-scrollbar-filler, + .CodeMirror-gutter-filler { + background-color: transparent; + } + .CodeMirror-gutters { + border-right: unset; + background-color: unset; + } + .CodeMirror-guttermarker-subtle { + color: var(--text-faint); + } + .CodeMirror-cursor { + border-left: 1px solid var(--text-normal); + } + .CodeMirror-cursor, + .cm-s-obsidian .cm-cursor, + .cm-s-obsidian .cm-dropCursor { + border-left-color: var(--text-normal); + } + .cm-tab { + display: unset; + } + .CodeMirror-activeline-background { + background: transparent; + } + .CodeMirror { + background: unset; + } + .CodeMirror-vscrollbar, + .CodeMirror-hscrollbar, + .CodeMirror-scrollbar-filler, + .CodeMirror-gutter-filler { + z-index: unset; + outline: unset; + } + .CodeMirror-vscrollbar { + outline: 0; + } + .CodeMirror-hscrollbar { + outline: 0; + z-index: 3; + } + .CodeMirror-gutter { + margin-bottom: -30px; + } + .CodeMirror-selected { + background-color: var(--text-selection); + } + .CodeMirror-focused .CodeMirror-selected { + background-color: var(--text-selection); + } + .CodeMirror-line::selection, + .CodeMirror-line > span::selection, + .CodeMirror-line > span > span::selection { + background-color: var(--text-selection); + } + .CodeMirror-line::-moz-selection, + .CodeMirror-line > span::-moz-selection, + .CodeMirror-line > span > span::-moz-selection { + background-color: var(--text-selection); + } + .CodeMirror-foldmarker { + color: var(--text-accent); + cursor: var(--cursor); + display: inline-block; + margin-left: 8px; + } + .CodeMirror-foldgutter { + width: 0.7em; + } + .CodeMirror-foldgutter-open, + .CodeMirror-foldgutter-folded { + cursor: var(--cursor); + font-size: 18px; + } + .CodeMirror-foldgutter-open:after { + content: "\25BE"; + } + .CodeMirror-foldgutter-folded:after { + content: "\25B8"; + } + .CodeMirror-dialog { + position: absolute; + left: 0; + right: 0; + background: inherit; + z-index: 15; + padding: 0.1em 0.8em; + overflow: hidden; + color: inherit; + display: flex; + align-items: center; + background-color: var(--background-primary); + } + .CodeMirror-dialog span:first-child { + flex-grow: 1; + } + .CodeMirror-dialog-top { + border-bottom: 1px solid var(--background-modifier-border); + top: 0; + } + .CodeMirror-dialog-bottom { + border-top: 1px solid var(--background-modifier-border); + bottom: 0; + } + .CodeMirror-dialog input { + border: none; + outline: none; + background: transparent; + width: 20em; + color: inherit; + font-family: var(--font-monospace); + } + .CodeMirror-dialog button { + font-size: 70%; + } + .CodeMirror .cm-spell-error { + background-image: url(public/images/7877465e5f8197b19e8e.gif); + background-position: bottom; + background-repeat: repeat-x; + } + .CodeMirror textarea { + border: 0; + border-radius: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; + } + .CodeMirror-gutter.CodeMirror-linenumbers, + .CodeMirror-gutter.CodeMirror-foldgutter { + background-color: var(--background-primary); + } + .drag-ghost { + position: fixed; + font-size: var(--font-ui-small); + color: var(--drag-ghost-text-color); + padding: var(--size-2-3) var(--size-4-2); + border-radius: var(--radius-s); + background-color: var(--drag-ghost-background); + box-shadow: 0 2px 8px var(--background-modifier-box-shadow); + z-index: var(--layer-dragged-item); + max-width: 300px; + font-weight: var(--font-medium); + pointer-events: none; + } + .drag-ghost.mod-leaf { + display: flex; + z-index: var(--layer-tooltip); + } + .drag-ghost-icon { + margin-right: var(--size-2-3); + position: relative; + } + .drag-reorder-ghost { + opacity: 0.7; + color: var(--drag-ghost-text-color); + } + .drag-ghost-self { + display: flex; + } + .drag-ghost-self > .svg-icon { + --icon-size: var(--icon-xs); + --icon-stroke: var(--icon-xs-stroke-width); + opacity: 0.7; + vertical-align: middle; + align-self: center; + margin-right: var(--size-2-2); + flex-shrink: 0; + } + .drag-ghost-self span { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } + .drag-ghost-action { + padding: var(--size-2-1) 0 0 0; + font-size: var(--font-ui-smaller); + opacity: 0.7; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } + .drag-ghost-hidden { + visibility: hidden; + position: relative; + } + .drag-ghost-hidden:before { + content: ' '; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + visibility: visible; + border-radius: 5px; + background-color: hsla(var(--interactive-accent-hsl), 0.3); + } + /* Remove the native selection to avoid stacking + selection styles with CM6 + + .markdown-source-view.mod-cm6 { + ::selection { + background-color: transparent; + } + + .inline-title::selection, + .cm-inline-code::selection { + background-color: var(--text-selection); + } + + .HyperMD-codeblock { + ::selection { + background-color: var(--text-selection); + } + } + } + */ + /* V2 — 2022-08-14 using the opposite method seems to work better */ + .markdown-source-view.mod-cm6 ::selection { + background-color: var(--text-selection); + } + .markdown-source-view.mod-cm6 .cm-line .cm-selection, + .markdown-source-view.mod-cm6 .cm-line .cm-inline-code .cm-selection { + background-color: var(--text-selection); + } + .markdown-source-view.mod-cm6 .cm-selectionBackground { + background-color: transparent !important; + } + .markdown-source-view.mod-cm6 { + height: 100%; + display: flex; + flex-direction: column; + } + .markdown-source-view.mod-cm6.is-readable-line-width .cm-sizer { + max-width: var(--file-line-width); + margin-left: auto; + margin-right: auto; + } + .markdown-source-view.mod-cm6.is-readable-line-width .cm-content { + max-width: var(--file-line-width); + } + .markdown-source-view.mod-cm6.is-readable-line-width .cm-line { + max-width: var(--file-line-width); + } + .markdown-source-view.mod-cm6.is-readable-line-width .cm-line.HyperMD-table-row { + max-width: 100%; + } + .markdown-source-view.mod-cm6 .cm-editor { + flex: 1 1 0; + min-height: 0; + } + .markdown-source-view.mod-cm6 .cm-editor.cm-focused { + outline: none; + } + .markdown-source-view.mod-cm6 .cm-editor .cm-selectionBackground { + background: var(--text-selection); + } + .markdown-source-view.mod-cm6 .cm-scroller { + font-family: var(--font-text); + line-height: var(--line-height-normal); + padding: var(--file-margins); + } + .markdown-source-view.mod-cm6 .cm-sizer { + display: flex; + flex-direction: column; + align-items: stretch; + width: 100%; + } + .markdown-source-view.mod-cm6 .cm-contentContainer { + display: flex; + align-items: flex-start; + overflow-x: visible; + } + .markdown-source-view.mod-cm6 .cm-content { + flex-basis: unset !important; + width: 0; + caret-color: var(--text-normal); + -webkit-user-modify: read-write-plaintext-only; + min-height: unset; + } + .markdown-source-view.mod-cm6 .cm-content > * { + margin: 0 !important; + display: block; + } + .markdown-source-view.mod-cm6 .cm-content > [contenteditable=false] { + contain: paint !important; + } + .markdown-source-view.mod-cm6 .cm-gutters { + flex: 0 0 auto; + background-color: transparent; + color: var(--text-faint) !important; + border-right: none !important; + padding-right: var(--file-folding-offset); + margin-left: calc(0px - var(--file-folding-offset) - 6px); + font-size: var(--font-ui-smaller); + pointer-events: none; + font-variant: tabular-nums; + } + .markdown-source-view.mod-cm6 .cm-line > * { + text-indent: 0; + } + .markdown-source-view.mod-cm6 .cm-transparent { + color: transparent; + } + .markdown-source-view.mod-cm6 .cm-html-embed, + .markdown-source-view.mod-cm6 .cm-callout, + .markdown-source-view.mod-cm6 .cm-table-widget { + white-space: normal; + overflow-wrap: normal; + word-break: normal; + } + .markdown-source-view.mod-cm6 .cm-line { + position: relative; + padding: 0; + } + .markdown-source-view.mod-cm6 .edit-block-button { + padding: var(--size-2-2) var(--size-2-3); + position: absolute; + top: var(--size-2-2); + right: var(--size-2-2); + display: flex; + opacity: 0; + color: var(--text-muted); + border-radius: var(--radius-s); + cursor: var(--cursor); + } + @media (hover: hover) { + .markdown-source-view.mod-cm6 .edit-block-button:hover { + background-color: var(--background-modifier-hover); + } + } + .markdown-source-view.mod-cm6 .cm-panels { + background-color: inherit; + color: inherit; + } + .markdown-source-view.mod-cm6 img.cm-widgetBuffer { + display: inline !important; + width: 0 !important; + border: 0 !important; + margin: 0 !important; + padding: 0 !important; + } + .empty-state { + position: absolute; + height: 100%; + width: 100%; + top: 0; + left: 0; + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + } + .empty-state-container { + max-width: 480px; + max-height: 280px; + margin: 20px; + text-align: center; + } + .empty-state-title { + margin: 20px 0; + font-weight: var(--h2-weight); + font-size: var(--h2-size); + line-height: var(--line-height-tight); + position: relative; + } + .empty-state-action-list { + font-size: var(--font-text-size); + line-height: var(--line-height-tight); + color: var(--text-muted); + margin-top: 20px; + } + .empty-state-action { + cursor: var(--cursor-link); + line-height: 36px; + color: var(--text-accent); + } + @media (hover: hover) { + .empty-state-action:hover { + color: var(--text-accent-hover); + } + } + /* Can be removed since it is redundant with Close link */ + .empty-state-close-button { + display: none; + } + /* + + OS-dependent rules to make space for traffic lights buttons, + window buttons and sidebar toggles. + + --- + + Scenarios to account for: + + Window frame styles + - Hidden + - Custom + - Native + - Full screen + + Sidebar states + - Left sidebar open + - Left sidebar closed + - Right sidebar open + - Right sidebar closed + - Pop-out (no sidebars) + + */ + body { + --zoom-factor: 1; + --titlebar-height: 30px; + } + .mod-macos { + --frame-left-space: calc(80px - var(--ribbon-width)); + --frame-right-space: 0px; + } + .mod-macos.is-popout-window { + --frame-left-space: 80px; + } + .mod-windows, + .mod-linux { + --frame-left-space: 0px; + --frame-right-space: 126px; + } + body.is-frameless:not(.is-hidden-frameless) { + padding-top: calc(var(--titlebar-height) / var(--zoom-factor)); + } + body.is-frameless:not(.is-hidden-frameless) .titlebar { + height: var(--titlebar-height); + zoom: calc(1 / var(--zoom-factor)); + } + body.is-frameless:not(.is-hidden-frameless):not(.is-maximized) .titlebar { + padding-top: 2px; + } + body.is-frameless.is-hidden-frameless .titlebar { + height: calc(var(--header-height) - 1px); + } + body.is-frameless.is-hidden-frameless.starter .titlebar { + height: var(--titlebar-height); + } + .is-fullscreen .titlebar { + display: none; + } + .sidebar-toggle-button, + .workspace-tabs.mod-top { + --tab-container-background: var(--titlebar-background); + } + body.is-focused .titlebar, + body.is-focused .workspace-ribbon.mod-left { + --titlebar-background: var(--titlebar-background-focused); + } + body.is-focused .sidebar-toggle-button, + body.is-focused .workspace-tabs.mod-top { + --tab-container-background: var(--titlebar-background-focused); + } + .is-hidden-frameless { + --divider-vertical-height: 100%; + } + .workspace-ribbon .sidebar-toggle-button { + position: absolute; + top: 0; + left: 0; + width: var(--ribbon-width); + justify-content: center; + } + .titlebar-button.mod-logo { + width: var(--ribbon-width); + justify-content: center; + } + .is-hidden-frameless:not(.starter) .titlebar { + -webkit-app-region: no-drag; + } + .is-hidden-frameless .titlebar-button.mod-logo { + display: none; + } + .is-hidden-frameless:not(.is-fullscreen) .workspace-tab-header-container { + transition: padding-left 275ms var(--anim-motion-swing), padding-right 275ms var(--anim-motion-swing); + } + .is-hidden-frameless:not(.is-fullscreen) .workspace-tabs.mod-top-left-space .workspace-tab-header-container { + padding-left: var(--frame-left-space); + } + .is-hidden-frameless:not(.is-fullscreen) .workspace-tabs.mod-top-left-space .workspace-tab-header-container:before { + -webkit-app-region: no-drag; + content: ''; + height: 100%; + left: 0; + top: 0; + position: absolute; + width: var(--frame-left-space); + } + .is-hidden-frameless:not(.is-fullscreen) .workspace-tabs.mod-top-right-space .workspace-tab-header-container { + padding-right: var(--frame-right-space); + } + .is-hidden-frameless:not(.is-fullscreen) .workspace-tabs.mod-top-right-space .workspace-tab-header-container:after { + -webkit-app-region: no-drag; + content: ''; + height: 100%; + right: 0; + top: 0; + position: absolute; + width: var(--frame-right-space); + } + .is-hidden-frameless:not(.is-fullscreen) .titlebar-button-container.mod-right { + background-color: var(--titlebar-background); + } + .is-hidden-frameless:not(.is-fullscreen).is-focused .titlebar-button-container.mod-right { + background-color: var(--titlebar-background-focused); + } + .titlebar-button.mod-logo:hover .logo-wireframe, + .titlebar-button.mod-logo:not(:hover) .logo-full { + display: none; + } + body.is-frameless:not(.mod-macos) > .app-container ~ * { + -webkit-app-region: no-drag; + } + body.is-frameless:not(.mod-macos) .modal-container, + body.is-frameless:not(.mod-macos) .suggestion-bg { + -webkit-app-region: initial; + } + body.is-frameless:not(.mod-macos) .modal { + -webkit-app-region: no-drag; + } + .loader-cube { + width: 40px; + height: 40px; + margin: 100px auto; + } + .loader-cube .sk-cube { + width: 33%; + height: 33%; + background-color: var(--interactive-accent); + float: left; + -webkit-animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out; + animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out; + } + .loader-cube .sk-cube1 { + -webkit-animation-delay: 0.2s; + animation-delay: 0.2s; + } + .loader-cube .sk-cube2 { + -webkit-animation-delay: 0.3s; + animation-delay: 0.3s; + } + .loader-cube .sk-cube3 { + -webkit-animation-delay: 0.4s; + animation-delay: 0.4s; + } + .loader-cube .sk-cube4 { + -webkit-animation-delay: 0.1s; + animation-delay: 0.1s; + } + .loader-cube .sk-cube5 { + -webkit-animation-delay: 0.2s; + animation-delay: 0.2s; + } + .loader-cube .sk-cube6 { + -webkit-animation-delay: 0.3s; + animation-delay: 0.3s; + } + .loader-cube .sk-cube7 { + -webkit-animation-delay: 0s; + animation-delay: 0s; + } + .loader-cube .sk-cube8 { + -webkit-animation-delay: 0.1s; + animation-delay: 0.1s; + } + .loader-cube .sk-cube9 { + -webkit-animation-delay: 0.2s; + animation-delay: 0.2s; + } + @-webkit-keyframes sk-cubeGridScaleDelay { + 0%, + 70%, + 100% { + -webkit-transform: scale3D(1, 1, 1); + transform: scale3D(1, 1, 1); + } + 35% { + -webkit-transform: scale3D(0, 0, 1); + transform: scale3D(0, 0, 1); + } + } + @keyframes sk-cubeGridScaleDelay { + 0%, + 70%, + 100% { + -webkit-transform: scale3D(1, 1, 1); + transform: scale3D(1, 1, 1); + } + 35% { + -webkit-transform: scale3D(0, 0, 1); + transform: scale3D(0, 0, 1); + } + } + .is-loading { + position: relative; + } + .is-loading:before { + content: ' '; + position: absolute; + top: 0; + width: 0; + height: 3px; + background-color: var(--interactive-accent); + animation: 1000ms ease-in-out 300ms infinite progress-bar; + } + .pane-empty { + color: var(--text-faint); + font-size: var(--font-ui-small); + margin: var(--size-4-2) auto; + text-align: center; + } + .view-header { + height: var(--header-height); + display: none; + border-bottom: var(--file-header-border); + background-color: var(--background-primary); + z-index: 1; + position: relative; + gap: var(--size-4-2); + margin: 0 var(--size-4-3); + } + body.is-phone .view-header, + .show-view-header .view-header { + display: flex; + } + .is-focused .workspace-leaf.mod-active .view-header { + background-color: var(--background-primary); + } + .workspace-split.mod-left-split .view-header, + .workspace-split.mod-right-split .view-header, + .workspace-fake-target-overlay.is-in-sidebar .view-header { + display: none; + } + .view-header.is-highlighted:after { + content: ' '; + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + background-color: hsla(var(--interactive-accent-hsl), 0.5); + } + .view-header .view-header-icon { + display: none; + padding: var(--size-2-2); + margin-right: var(--size-2-3); + color: var(--text-muted); + align-self: center; + cursor: grab; + } + .view-header .view-header-icon:active { + cursor: grabbing; + } + .view-header-title { + font-size: var(--file-header-font-size); + font-weight: var(--file-header-font-weight); + flex: 1 1 0; + max-width: max-content; + overflow: auto; + padding: 0 var(--size-4-1); + white-space: pre; + word-wrap: normal; + color: var(--text-muted); + scroll-padding-inline-end: 20px; + } + .is-focused .workspace-leaf.mod-active .view-header-title { + color: var(--text-normal); + } + .view-header-title::-webkit-scrollbar { + display: none; + } + .view-header-title-container { + flex-grow: 1; + overflow: hidden; + position: relative; + justify-content: var(--file-header-justify); + display: flex; + align-items: center; + gap: 0; + white-space: nowrap; + } + .view-header-title-container:not(.mod-at-start):before { + content: ' '; + position: absolute; + top: 0; + left: 0; + width: 30px; + height: 100%; + background: linear-gradient(to right, var(--background-primary), transparent); + } + .view-header-title-container:not(.mod-at-end):after { + content: ' '; + position: absolute; + top: 0; + right: 0; + width: 30px; + height: 100%; + background: linear-gradient(to right, transparent, var(--background-primary)); + } + .view-header-title-parent { + font-size: var(--file-header-font-size); + color: var(--text-muted); + min-width: 0; + display: flex; + gap: 0; + overflow: hidden; + } + .view-header-title-parent .view-header-breadcrumb { + padding: 2px 4px; + border-radius: var(--radius-s); + } + @media (hover: hover) { + .view-header-title-parent .view-header-breadcrumb:hover { + background-color: var(--background-modifier-hover); + color: var(--text-normal); + } + } + .view-header-title-parent .view-header-breadcrumb-separator { + padding: 2px 1px; + color: var(--text-faint); + } + .view-content { + width: 100%; + height: calc(100% - var(--header-height)); + } + .workspace-split.mod-root .view-content { + background-color: var(--background-primary); + } + .workspace-split.mod-root .workspace-fake-target-overlay .view-content { + background-color: transparent; + } + .workspace-split.mod-left-split .view-content, + .workspace-split.mod-right-split .view-content { + height: 100%; + overflow: auto; + } + .inline-title { + font-weight: var(--inline-title-weight); + font-size: var(--inline-title-size); + line-height: var(--inline-title-line-height); + font-style: var(--inline-title-style); + font-variant: var(--inline-title-variant); + font-family: var(--inline-title-font); + padding-bottom: 0.5em; + letter-spacing: -0.015em; + color: var(--inline-title-color); + } + body:not(.show-inline-title) .inline-title { + display: none; + } + ::selection { + background-color: var(--text-selection); + } + .markdown-reading-view { + display: flex; + flex-direction: column; + } + .markdown-preview-view { + font-size: var(--font-text-size); + font-family: var(--font-text); + line-height: var(--line-height-normal); + width: 100%; + height: 100%; + padding: var(--file-margins); + position: relative; + overflow-y: auto; + overflow-wrap: break-word; + color: var(--text-normal); + user-select: text; + -webkit-user-select: text; + } + .workspace-leaf-content.is-read-mode .markdown-preview-view { + width: 100%; + left: 0; + background-color: var(--background-primary); + } + .markdown-preview-view.is-readable-line-width .markdown-preview-sizer { + max-width: var(--file-line-width); + margin-left: auto; + margin-right: auto; + } + .markdown-rendered.rtl { + direction: rtl; + } + .published-container { + width: 100%; + height: 100%; + } + .release-notes-view { + padding: var(--file-margins); + } + .release-notes-view .markdown-preview-view { + overflow: visible; + } + .release-notes-view .is-readable-line-width { + max-width: var(--file-line-width); + margin-left: auto; + margin-right: auto; + } + /* Ribbon */ + /* Add background to top left corner space above ribbon */ + .workspace-ribbon.mod-left { + margin-top: var(--header-height); + /* Add the tab background in the top left corner */ + } + .workspace-ribbon.mod-left:before { + position: absolute; + left: 0; + top: 0; + background-color: var(--titlebar-background); + content: " "; + border-bottom: var(--tab-outline-width) solid var(--tab-outline-color); + height: calc(var(--header-height) - var(--tab-outline-width)); + width: var(--ribbon-width); + } + .workspace-ribbon { + width: var(--ribbon-width); + flex: 0 0 var(--ribbon-width); + display: flex; + flex-direction: column; + overflow: hidden; + background-color: var(--ribbon-background); + z-index: var(--layer-sidedock); + color: var(--text-muted); + padding: var(--ribbon-padding); + gap: var(--size-4-1); + border-right: var(--divider-width) solid var(--divider-color); + } + .workspace-ribbon.mod-left.is-collapsed { + transition: background-color 250ms 95ms ease-in-out; + background-color: var(--ribbon-background-collapsed); + border-right-color: var(--divider-color); + } + .workspace-ribbon.mod-right { + display: none; + } + .workspace-ribbon.is-hidden { + display: none; + } + .workspace-ribbon.is-collapsed { + background-color: var(--background-secondary); + } + .side-dock-settings, + .side-dock-actions { + flex-direction: column; + } + .side-dock-settings .side-dock-ribbon-action, + .side-dock-actions .side-dock-ribbon-action { + margin: 0 auto; + } + .side-dock-settings { + margin-top: auto; + } + .setting { + display: flex; + align-items: center; + } + .setting-text { + flex-grow: 1; + } + .setting-title { + font-size: var(--font-ui-large); + line-height: var(--line-height-normal); + } + .setting-explanation { + color: var(--text-muted); + } + .modal.mod-new-editor { + max-width: 600px; + } + .modal.mod-trust-folder { + max-width: 700px; + } + .modal.mod-settings .vertical-tab-header { + flex: 0 0 25%; + min-width: 180px; + max-width: 250px; + overflow: auto; + border-right: 1px solid var(--divider-color); + } + .modal.mod-settings .modal-content { + margin-top: 0; + overflow: hidden; + } + .modal.mod-plugin-options .modal-content { + margin: var(--size-4-6) 0; + } + .setting-item { + display: flex; + align-items: center; + padding: 0.75em 0; + border-top: 1px solid var(--background-modifier-border); + /* Add extra space for setting heading if it starts a new section */ + } + .setting-item + .setting-item-heading { + margin-top: 0.75em; + } + .setting-item:first-child { + padding-top: 0; + border-top: none; + } + .setting-item > *:first-child { + margin-right: var(--size-4-4); + } + .setting-item > *:last-child { + margin-right: 0; + } + .setting-item.mod-cta { + justify-content: center; + } + .setting-item-heading { + font-weight: var(--font-semibold); + border-top: none; + } + .setting-item-heading .setting-item-info { + flex-grow: 0; + margin-right: 0; + } + .setting-item-heading .setting-item-description { + font-weight: var(--font-normal); + } + .setting-item-info { + flex: 1 1 auto; + } + .setting-item-description { + color: var(--text-muted); + font-size: var(--font-ui-smaller); + padding-top: var(--size-4-1); + line-height: var(--line-height-tight); + } + .setting-item-description:empty { + display: none; + } + .setting-item-description code { + font-family: var(--font-monospace); + font-size: var(--font-smaller); + border-radius: var(--radius-s); + padding: 0 3px 2px 3px; + position: relative; + bottom: 1px; + } + .setting-item-description ul { + margin: var(--size-4-1) 0; + padding-left: var(--size-4-6); + } + .setting-item-name { + color: var(--text-normal); + font-size: var(--font-ui-medium); + line-height: var(--line-height-tight); + } + .setting-item-control { + flex: 1 1 auto; + text-align: right; + display: flex; + justify-content: flex-end; + align-items: center; + gap: var(--size-4-2); + } + .setting-item-control.mod-vertical { + flex-direction: column; + } + .setting-item-control.mod-vertical > *:not(:last-child) { + margin-bottom: 10px; + margin-right: 0; + } + .setting-item-control.mod-hotkey { + padding-top: 0; + cursor: default; + } + .setting-item-control.mod-hotkey input { + font-family: var(--font-monospace); + font-size: var(--font-smaller); + } + .setting-item-control.mod-hotkey input:focus { + background-color: var(--interactive-accent); + color: var(--text-on-accent); + } + .setting-item-control select { + width: inherit; + max-width: 400px; + } + .setting-command-hotkeys { + display: flex; + flex-direction: column; + } + .setting-hotkey { + font-family: -apple-system, BlinkMacSystemFont, var(--font-monospace); + font-size: var(--font-ui-small); + background-color: var(--background-modifier-hover); + border-radius: 4px; + padding: 2px 4px 2px 8px; + align-self: flex-end; + white-space: nowrap; + display: flex; + align-items: center; + gap: 4px; + } + .theme-dark .setting-hotkey.has-conflict, + .theme-light .setting-hotkey.has-conflict { + background-color: var(--background-modifier-error); + color: var(--text-on-accent); + } + .setting-hotkey.mod-active { + background-color: var(--interactive-accent); + color: var(--text-on-accent); + } + .setting-hotkey.mod-empty { + padding-right: var(--size-4-2); + } + .setting-hotkey:not(:first-child) { + margin-top: var(--size-4-2); + } + .setting-hotkey-icon { + display: flex; + align-items: center; + cursor: var(--cursor); + border-radius: 50%; + line-height: 1; + text-align: center; + } + .setting-hotkey-icon .svg-icon { + width: 16px; + height: 16px; + stroke-width: 2px; + opacity: 0.6; + } + @media (hover: hover) { + .setting-hotkey-icon:hover .svg-icon { + opacity: 1; + } + } + @media (hover: hover) { + .setting-delete-hotkey:hover { + background-color: var(--background-modifier-error); + color: var(--text-on-accent); + } + } + .setting-add-hotkey-button, + .setting-restore-hotkey-button { + padding: var(--size-2-2); + border-radius: var(--radius-s); + color: var(--text-faint); + cursor: var(--cursor); + height: calc(var(--icon-l) + var(--size-2-2) + var(--size-2-2)); + } + .setting-add-hotkey-button.mod-active, + .setting-restore-hotkey-button.mod-active { + color: var(--text-accent); + } + @media (hover: hover) { + .setting-add-hotkey-button:hover, + .setting-restore-hotkey-button:hover { + background-color: var(--background-modifier-hover); + color: var(--text-normal); + } + } + .setting-editor-extra-setting-button { + line-height: 0; + } + .setting-message { + font-size: var(--font-ui-small); + } + .setting-font-list { + margin: 1.5em 0 0.75em 0; + } + .hotkey-settings-container { + display: flex; + flex-direction: column; + } + .hotkey-settings-container .setting-item-description { + padding-top: 0; + } + .hotkey-settings-container hr { + margin: 20px 0 10px 0; + } + .hotkey-list-container { + overflow: auto; + } + .hotkey-search-container { + padding-bottom: 20px; + display: flex; + flex-wrap: wrap; + } + .modal.mod-image-lightbox { + max-width: 90vw; + max-height: 90vh; + padding: 0; + } + .modal.mod-image-lightbox .modal-content { + padding: var(--size-4-12) var(--size-4-3) var(--size-4-2) var(--size-4-3); + text-align: center; + } + .login-field { + max-width: 500px; + margin: 1em auto; + } + .spellchecker-dictionary-container { + max-height: 60vh; + overflow: auto; + } + .spellchecker-dictionary-item { + display: flex; + margin-bottom: 10px; + } + .spellchecker-dictionary-word { + flex-grow: 1; + } + .spellchecker-dictionary-remove-button { + cursor: var(--cursor); + color: var(--text-muted); + margin-right: 10px; + } + @media (hover: hover) { + .spellchecker-dictionary-remove-button:hover { + color: var(--text-normal); + } + } + .modal.mod-new-editor .card, + .modal.mod-restricted-mode .card { + flex: 1 0 0; + } + .mod-macos .community-modal-controls { + -webkit-app-region: drag; + } + .community-modal-sidebar { + background-color: var(--background-secondary); + flex: 1 1 var(--modal-community-sidebar-width); + min-width: var(--modal-community-sidebar-width); + padding: var(--size-4-3) 0 0 0; + display: flex; + flex-direction: column; + } + .community-modal-sidebar .setting-item { + max-width: var(--modal-community-sidebar-width); + padding: 0 var(--size-4-3) var(--size-4-1); + border: none; + gap: var(--size-4-2); + } + .community-modal-sidebar .setting-item:first-child { + max-width: 500px; + gap: 0; + margin-bottom: var(--size-4-2); + } + .community-modal-sidebar .setting-item-name { + font-size: var(--font-ui-small); + padding-left: var(--size-4-1); + } + .community-modal-sidebar .setting-item-info { + margin: 0; + flex-grow: 0; + } + .community-modal-sidebar .search-input-container { + width: 100%; + } + .community-modal-sidebar button.clickable-icon { + padding: 6px 10px; + display: flex; + align-items: center; + color: var(--text-normal); + } + .community-modal-details-empty-state { + padding: 0; + text-align: center; + } + .community-modal-search-summary { + font-size: var(--font-ui-small); + padding: var(--size-4-1) var(--size-4-3) var(--size-4-3) var(--size-4-4); + } + .community-modal-search-results-wrapper { + flex: 1 0 auto; + overflow: auto; + border-top: var(--border-width) solid var(--divider-color); + scroll-padding: var(--size-4-3); + /* This helps with performance of the app */ + contain: strict; + } + .community-modal-search-results { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); + gap: var(--size-4-3); + padding: var(--size-4-3); + } + .community-item { + position: relative; + background-color: var(--background-primary); + padding: var(--size-4-3); + cursor: var(--cursor); + border-radius: var(--radius-m); + border: 1px solid var(--background-modifier-border); + display: flex; + flex-direction: column; + gap: var(--size-2-1); + } + .community-item:last-child { + margin-bottom: 0; + } + .community-item .suggestion-highlight { + background-color: var(--text-highlight-bg); + } + .community-item.is-selected, + .community-item.is-selected:hover { + border-color: var(--interactive-accent); + background-color: var(--interactive-accent); + color: var(--text-on-accent); + } + .community-item.is-selected .community-item-author, + .community-item.is-selected:hover .community-item-author, + .community-item.is-selected .community-item-repo, + .community-item.is-selected:hover .community-item-repo, + .community-item.is-selected .community-item-downloads, + .community-item.is-selected:hover .community-item-downloads { + color: var(--text-on-accent); + opacity: 0.8; + } + .community-item.is-selected .flair, + .community-item.is-selected:hover .flair { + color: var(--text-on-accent); + background-color: transparent; + } + @media (hover: hover) { + .community-item:hover { + border-color: var(--background-modifier-border-hover); + } + } + .is-mobile .community-item { + max-width: 500px; + } + .community-item .flair { + margin-left: var(--size-4-1); + background-color: var(--tag-background); + color: var(--tag-color); + vertical-align: middle; + top: -1px; + } + .community-item-name { + font-size: var(--font-ui-medium); + line-height: var(--line-height-tight); + font-weight: var(--font-medium); + } + .community-item-author { + font-size: var(--font-ui-smaller); + line-height: var(--line-height-tight); + color: var(--text-muted); + } + .community-item-downloads { + font-size: var(--font-ui-smaller); + color: var(--text-muted); + --icon-color: var(--text-faint); + --icon-size: var(--icon-xs); + --icon-stroke: var(--icon-xs-stroke-width); + margin-bottom: var(--size-4-2); + } + .community-item-downloads svg { + vertical-align: text-bottom; + } + .community-item-downloads-text { + margin-left: var(--size-2-2); + } + .community-item-desc { + font-size: var(--font-ui-small); + line-height: var(--line-height-tight); + margin-top: 4px; + } + .community-item-badge.mod-update { + --icon-size: var(--icon-xs); + --icon-stroke: var(--icon-xs-stroke-width); + color: var(--interactive-accent); + position: absolute; + top: var(--size-4-3); + right: var(--size-4-3); + } + .community-item-screenshot { + max-width: 100%; + margin-top: auto; + object-fit: cover; + border-radius: var(--radius-s); + aspect-ratio: 16/9; + image-rendering: -webkit-optimize-contrast; + } + .community-item-screenshot.mod-unavailable { + text-align: center; + color: var(--text-muted); + } + .community-item-screenshot .placeholder-icon { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + } + .community-item-screenshot .placeholder-icon .svg-icon { + color: var(--text-faint); + width: var(--size-4-8); + height: var(--size-4-8); + } + .community-modal-info-name { + font-size: var(--h2-size); + font-weight: var(--font-semibold); + line-height: var(--line-height-tight); + margin-bottom: var(--size-4-6); + } + .community-modal-info-author, + .community-modal-info-repo, + .community-modal-info-version { + font-size: var(--font-ui-small); + line-height: var(--line-height-tight); + color: var(--text-muted); + } + .community-modal-info-desc { + font-size: var(--font-ui-small); + line-height: var(--line-height-tight); + margin-top: 4px; + } + .community-modal-details { + flex: 1 1 calc(var(--modal-max-width) - var(--modal-community-sidebar-width)); + overflow: auto; + display: flex; + flex-direction: column; + border-left: 1px solid var(--divider-color); + } + .community-modal-info { + flex: 1 1 0; + overflow-y: auto; + padding: var(--size-4-8) var(--size-4-16); + scroll-padding: var(--size-4-4); + } + .community-readme { + overflow-y: visible; + height: auto; + padding: var(--size-4-4) 0; + } + .community-readme video, + .community-readme img { + max-width: 100%; + } + .community-modal-info-desc { + font-size: var(--font-ui-medium); + line-height: var(--line-height-tight); + margin-top: var(--size-4-2); + } + .community-modal-button-container { + margin: 1.5em 0; + } + .community-modal-button-container button { + margin-right: var(--size-4-2); + } + .community-modal-info-downloads { + color: var(--text-muted); + margin-top: var(--size-4-1); + display: inline-block; + --icon-size: var(--icon-xs); + --icon-stroke: var(--icon-xs-stroke-width); + } + .community-modal-info-downloads-text { + margin-left: var(--size-4-1); + position: relative; + top: -1px; + } + .community-modal-readme { + font-size: var(--font-text-size); + font-family: var(--font-text); + line-height: var(--line-height-normal); + overflow-wrap: break-word; + color: var(--text-normal); + user-select: text; + -webkit-user-select: text; + } + .installed-plugins-container { + padding-top: var(--size-4-4); + border-top: 1px solid var(--background-modifier-border); + } + .community-modal-grid-button-container { + position: absolute; + top: var(--size-4-4); + right: var(--size-4-12); + display: flex; + gap: var(--size-4-2); + } + .status-bar { + position: var(--status-bar-position); + width: auto; + bottom: 0; + right: 0; + border-radius: var(--status-bar-radius); + border-style: solid; + border-width: var(--status-bar-border-width); + border-color: var(--status-bar-border-color); + background-color: var(--status-bar-background); + color: var(--status-bar-text-color); + display: flex; + font-size: var(--status-bar-font-size); + justify-content: flex-end; + min-height: 18px; + padding: var(--size-2-2) var(--size-2-2) var(--size-2-2); + gap: var(--size-2-1); + user-select: none; + z-index: var(--layer-status-bar); + font-variant-numeric: tabular-nums; + } + .status-bar-item { + border-radius: var(--radius-s); + display: inline-flex; + align-items: center; + padding: 3px var(--size-2-2); + line-height: 1; + } + .status-bar-item.mod-clickable { + cursor: var(--cursor); + } + @media (hover: hover) { + .status-bar-item.mod-clickable:hover { + background-color: var(--background-modifier-hover); + color: var(--text-normal); + } + } + .status-bar-item.plugin-editor-status, + .status-bar-item.plugin-sync { + padding: 0 var(--size-2-2); + } + @media (hover: hover) { + .status-bar-item.plugin-editor-status:hover, + .status-bar-item.plugin-sync:hover { + background-color: var(--background-modifier-hover); + } + } + .status-bar-item-icon { + vertical-align: middle; + display: flex; + align-items: center; + } + .status-bar-item-segment { + margin-right: var(--size-4-2); + } + .status-bar-item-segment:last-child { + margin-right: 0; + } + .titlebar { + -webkit-app-region: drag; + position: fixed; + top: 0; + left: 0; + right: 0; + display: flex; + background-color: var(--titlebar-background); + border-bottom: var(--titlebar-border-width) solid var(--titlebar-border-color); + } + .titlebar-inner { + color: var(--titlebar-text-color); + font-weight: var(--titlebar-text-weight); + width: 100%; + display: flex; + } + .is-focused .titlebar-inner { + color: var(--titlebar-text-color-focused); + } + .titlebar-text { + opacity: 0.85; + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + flex-grow: 1; + font-size: var(--font-ui-small); + text-align: center; + display: flex; + justify-content: center; + align-items: center; + padding: 0 125px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } + .titlebar-button-container { + display: flex; + position: absolute; + top: 0; + } + .mod-macos .titlebar-button-container { + top: 8px; + } + .titlebar-button-container.mod-left { + left: 0; + } + .mod-macos .titlebar-button-container.mod-left { + left: calc(80px / var(--zoom-factor)); + } + .titlebar-button-container .mod-back, + .titlebar-button-container .mod-forward { + color: var(--icon-color); + } + .titlebar-button-container .mod-back .svg-icon, + .titlebar-button-container .mod-forward .svg-icon { + width: 14px; + height: 14px; + stroke-width: 2.25px; + } + @media (hover: hover) { + .titlebar-button-container .mod-back:hover, + .titlebar-button-container .mod-forward:hover { + color: var(--icon-color-hover); + } + } + .titlebar-button-container.mod-right { + right: 0; + } + .titlebar-button { + -webkit-app-region: no-drag; + padding: var(--size-2-2) var(--size-2-3); + cursor: var(--cursor); + display: inline-flex; + align-items: center; + } + @media (hover: hover) { + .titlebar-button:hover { + opacity: 1; + background-color: var(--background-modifier-hover); + } + .titlebar-button.mod-close:hover { + background-color: var(--background-modifier-error); + } + } + .mod-macos .titlebar-button { + border-radius: var(--radius-s); + } + /* Hidden titlebar interferes with mouse */ + body.is-frameless.is-hidden-frameless { + padding-top: 0 !important; + } + .is-hidden-frameless.mod-macos .titlebar { + display: none; + } + .is-hidden-frameless.mod-windows .titlebar, + .is-hidden-frameless.mod-linux .titlebar { + background: transparent; + border: none; + z-index: var(--layer-popover); + pointer-events: none; + } + .is-hidden-frameless.mod-windows .titlebar-button.mod-back, + .is-hidden-frameless.mod-linux .titlebar-button.mod-back, + .is-hidden-frameless.mod-windows .titlebar-button.mod-forward, + .is-hidden-frameless.mod-linux .titlebar-button.mod-forward, + .is-hidden-frameless.mod-windows .titlebar-text, + .is-hidden-frameless.mod-linux .titlebar-text { + display: none; + } + .is-hidden-frameless.mod-windows .titlebar-button-container, + .is-hidden-frameless.mod-linux .titlebar-button-container { + pointer-events: auto; + } + .mod-linux .titlebar-button-container, + .mod-windows .titlebar-button-container { + height: 100%; + } + .mod-linux .titlebar-button, + .mod-windows .titlebar-button { + padding: 0 16px; + display: flex; + align-items: center; + } + .mod-linux .titlebar-button.mod-logo, + .mod-windows .titlebar-button.mod-logo { + padding: 4px 8px; + } + @media (hover: hover) { + .mod-linux .titlebar-button.mod-close:hover, + .mod-windows .titlebar-button.mod-close:hover { + background-color: var(--background-modifier-error); + } + .mod-linux .titlebar-button.mod-close:hover .svg-icon, + .mod-windows .titlebar-button.mod-close:hover .svg-icon { + fill: white; + stroke: white; + } + } + @media screen and (max-width: 300px) { + .titlebar-text { + display: none; + } + } + .is-translucent:not(.is-fullscreen) { + --nav-collapse-icon-color: rgba(var(--mono-rgb-100), 0.3); + --nav-collapse-icon-color-collapsed: rgba(var(--mono-rgb-100), 0.3); + --divider-color: rgba(0, 0, 0, 0.15); + } + .is-translucent:not(.is-fullscreen) .titlebar, + .is-translucent:not(.is-fullscreen) .app-container { + background-color: var(--workspace-background-translucent); + } + .is-translucent:not(.is-fullscreen) .workspace-ribbon.mod-left, + .is-translucent:not(.is-fullscreen) .workspace-tabs, + .is-translucent:not(.is-fullscreen) .mod-left-split .workspace-tab-header-container, + .is-translucent:not(.is-fullscreen) .mod-right-split .workspace-tab-header-container, + .is-translucent:not(.is-fullscreen) .mod-top .workspace-tab-header-container, + .is-translucent:not(.is-fullscreen) .workspace-tabs .workspace-leaf, + .is-translucent:not(.is-fullscreen) .workspace-ribbon.mod-left:before { + background-color: transparent; + } + .workspace { + background-color: var(--background-primary); + display: flex; + flex: 1 0 0; + transition: padding-left 100ms ease-in; + overflow: hidden; + height: 100%; + } + .is-translucent .workspace { + background-color: transparent; + } + .workspace-split { + display: flex; + position: relative; + } + .workspace-split.mod-vertical > .workspace-split:last-child { + padding-right: 0; + } + .workspace-split:last-child:not(.mod-right-split) > .workspace-leaf-resize-handle { + display: none; + } + .workspace-split.mod-vertical { + flex-direction: row; + } + .workspace-split.mod-horizontal { + flex-direction: column; + } + .workspace-split.mod-root { + background-color: var(--background-primary); + } + .workspace-leaf { + display: flex; + flex-direction: column; + position: relative; + contain: strict !important; + } + .workspace-split.mod-root .workspace-leaf:last-child .workspace-leaf-resize-handle { + display: none; + } + .workspace-leaf.is-highlighted:before { + content: ' '; + position: absolute; + height: 100%; + width: 100%; + top: 0; + left: 0; + background-color: hsla(var(--interactive-accent-hsl), 0.25); + z-index: var(--layer-popover); + pointer-events: none; + } + .workspace > .workspace-leaf, + .workspace > .workspace-split { + height: 100%; + width: 100%; + } + /* Resize handles */ + .workspace-split.mod-root > .workspace-leaf-resize-handle { + display: none; + } + .workspace-leaf-resize-handle { + -webkit-app-region: no-drag; + position: absolute; + z-index: var(--layer-cover); + background-color: transparent; + transition: background-color 200ms ease-in-out, border-color 200ms ease-in-out, opacity 200ms ease-in-out; + border-color: var(--divider-color); + border-top: 0; + border-width: var(--divider-width); + margin: 0; + } + @media (hover: hover) { + .workspace-leaf-resize-handle:hover { + background-color: var(--divider-color-hover); + border-color: var(--divider-color-hover); + } + .is-translucent .workspace-leaf-resize-handle:hover { + background-color: var(--divider-color-hover); + border-color: var(--divider-color-hover); + } + } + .workspace-split.mod-horizontal > * > .workspace-leaf-resize-handle { + bottom: 0; + left: 0; + border-bottom-style: solid; + border-bottom-width: var(--divider-width); + height: var(--divider-width-hover); + width: 100%; + cursor: row-resize; + } + .workspace-split.mod-vertical > * > .workspace-leaf-resize-handle, + .workspace-split.mod-left-split > .workspace-leaf-resize-handle, + .workspace-split.mod-right-split > .workspace-leaf-resize-handle { + right: 0; + bottom: 0; + width: var(--divider-width-hover); + height: var(--divider-vertical-height); + cursor: col-resize; + } + .workspace-split.mod-right-split > .workspace-leaf-resize-handle { + border-left-style: solid; + border-left-width: var(--divider-width); + } + .workspace-split.mod-vertical > * > .workspace-leaf-resize-handle, + .workspace-split.mod-left-split > .workspace-leaf-resize-handle { + border-right-style: solid; + border-right-width: var(--divider-width); + } + .workspace-split.mod-right-split > .workspace-leaf-resize-handle { + right: unset; + left: 0; + } + .workspace-split.mod-vertical > * { + height: 100%; + flex: 1 0 0; + width: 0; + } + .workspace-split.mod-horizontal > * { + width: 100%; + flex: 1 0 0; + height: 0; + } + .workspace-split.mod-left-split, + .workspace-split.mod-right-split { + flex: 0 0 auto; + } + .is-translucent .workspace-split.mod-left-split.is-sidedock-collapsed .workspace-tabs, + .is-translucent .workspace-split.mod-right-split.is-sidedock-collapsed .workspace-tabs { + visibility: hidden; + } + .workspace-split.mod-left-split > .workspace-leaf-resize-handle, + .workspace-split.mod-right-split > .workspace-leaf-resize-handle { + z-index: var(--layer-status-bar); + height: var(--divider-vertical-height); + top: unset; + bottom: 0; + } + .view-header-nav-buttons { + --icon-size: var(--icon-s); + align-items: center; + display: flex; + margin-right: var(--size-4-1); + } + body.is-phone .view-header-nav-buttons { + display: none; + } + .workspace-leaf-content { + width: 100%; + height: 100%; + overflow: hidden; + position: relative; + display: flex; + flex-direction: column; + } + .workspace-leaf-content .view-content { + padding: var(--size-4-4); + overflow: auto; + } + .workspace-leaf-content[data-type='markdown'] .view-content { + padding: 0; + overflow: hidden; + } + .workspace-leaf-content[data-type='backlink'] .view-content, + .workspace-leaf-content[data-type='outgoing-link'] .view-content { + padding: 0; + overflow: hidden; + display: flex; + flex-direction: column; + } + .workspace-leaf-content .image-container, + .workspace-leaf-content .audio-container, + .workspace-leaf-content .video-container { + text-align: center; + } + .workspace-leaf-content img:not([width]), + .workspace-leaf-content audio, + .workspace-leaf-content video { + max-width: 100%; + } + .workspace-fake-target-overlay, + .workspace-drop-overlay { + will-change: transform, width, height; + position: fixed; + left: 0; + top: 0; + width: 0; + height: 0; + transform: translate(0, 0); + transition: all 100ms ease-in-out; + z-index: var(--layer-cover); + pointer-events: none; + } + .workspace-drop-overlay:before { + content: ' '; + position: absolute; + width: calc(100% - 6px); + height: calc(100% - 6px); + top: 0; + left: 0; + bottom: 0; + right: 0; + margin: auto; + background-color: var(--interactive-accent); + border-radius: var(--radius-m); + opacity: 0.5; + } + .workspace-fake-target-container { + visibility: hidden; + position: absolute; + pointer-events: none; + top: 0; + left: 0; + } + .workspace-fake-target-overlay { + visibility: visible; + overflow: hidden; + background-color: var(--background-primary); + /* + &.is-in-sidebar { + background-color: var(--background-secondary); + .workspace-leaf { + background-color: var(--background-secondary); + } + }*/ + } + .workspace-fake-target-overlay > * { + width: 100%; + height: 100%; + } + .workspace-tabs { + overflow: hidden; + display: flex; + flex-direction: column; + position: relative; + } + .workspace-tabs > * { + flex: 1 0 0; + } + .workspace-tabs .workspace-leaf { + height: 100%; + } + .workspace-split.mod-right-split .workspace-tabs { + padding-right: 0; + } + .workspace-tabs:last-child .workspace-leaf-resize-handle { + display: none; + } + .workspace-fake-target-overlay:not(.is-in-sidebar) .workspace-tabs .workspace-leaf, + .mod-root .workspace-tabs .workspace-leaf { + background-color: var(--background-primary); + } + .workspace-tabs .workspace-leaf { + background-color: var(--background-secondary); + } + .workspace-tabs .workspace-leaf .view-content { + height: 100%; + } + .workspace-tab-header-container { + display: flex; + background-color: var(--tab-container-background); + height: var(--header-height); + border-bottom: var(--tab-outline-width) solid var(--tab-outline-color); + flex: 0 0 auto; + padding-left: 0; + padding-right: var(--size-4-2); + position: relative; + } + .is-phone .workspace-tab-header-container { + display: none; + } + .workspace-tab-header-container-inner { + display: flex; + flex: 0 1 auto; + overflow: auto; + margin: 6px -5px calc(var(--tab-outline-width) * -1); + padding: 1px 15px 0; + } + .mod-root .workspace-tab-header-container-inner { + padding: 1px 15px 0; + } + .workspace-tab-header-container-inner::-webkit-scrollbar, + .workspace-tab-header-container-inner::-webkit-scrollbar-thumb { + display: none; + } + .workspace-tab-header-inner-icon { + flex: 0 0 auto; + display: flex; + } + /* Hide tab icon if it's a note */ + .mod-root .workspace-tab-header[data-type="markdown"] .workspace-tab-header-inner-icon, + .mod-root .workspace-tab-header[data-type="empty"] .workspace-tab-header-inner-icon { + display: none; + } + .is-focused .mod-active .workspace-tab-header.is-active .workspace-tab-header-inner-icon, + .is-focused .mod-active .workspace-tab-header.is-active .workspace-tab-header-inner-title { + color: var(--titlebar-text-color-focused); + } + .is-focused .mod-active .workspace-tab-header.is-active.is-highlighted .workspace-tab-header-inner-icon, + .is-focused .mod-active .workspace-tab-header.is-active.is-highlighted .workspace-tab-header-inner-title { + color: var(--titlebar-text-color-highlighted); + } + .is-focused .workspace-tab-header.active.is-highlighted .workspace-tab-header-inner-icon, + .is-focused .workspace-tab-header.is-highlighted .workspace-tab-header-inner-icon, + .is-focused .workspace-tab-header.active.is-highlighted .workspace-tab-header-inner-title, + .is-focused .workspace-tab-header.is-highlighted .workspace-tab-header-inner-title { + color: var(--titlebar-text-color-highlighted); + } + .workspace-tab-header { + -webkit-app-region: no-drag; + color: var(--tab-text-color); + display: flex; + position: relative; + padding: 1px 4px 3.5px; + scroll-margin-inline-start: var(--size-2-3); + scroll-margin-inline-end: var(--size-4-1); + text-align: center; + border-radius: var(--tab-radius-active); + /* Decorative curves */ + } + body.is-focused .workspace-tab-header .workspace-tab-header-inner-title { + color: var(--tab-text-color-focused); + } + body.is-focused .workspace-tab-header .workspace-tab-header-inner-title.is-highlighted { + color: var(--text-accent); + } + .workspace-tab-header:not(.is-active):hover .workspace-tab-header-inner { + background-color: var(--background-modifier-hover); + } + .workspace-tab-header::before, + .workspace-tab-header::after { + position: absolute; + bottom: 0; + content: ''; + width: calc(var(--tab-curve) * 2); + height: calc(var(--tab-curve) * 2); + border-radius: 100%; + box-shadow: 0 0 0 calc(var(--tab-curve) * 3) transparent; + } + .workspace-tab-header::before { + left: calc(var(--tab-curve) * -2); + clip-path: inset(50% calc(var(--tab-curve) * -1) 0 50%); + } + .workspace-tab-header::after { + right: calc(var(--tab-curve) * -2); + clip-path: inset(50% 50% 0 calc(var(--tab-curve) * -1)); + } + .workspace-tab-header.is-active { + box-shadow: 0 0 0 var(--tab-outline-width) var(--tab-outline-color); + color: var(--text-muted); + background-color: var(--tab-background-active); + } + .workspace-split.mod-root .workspace-tab-header.is-active::before, + .workspace-split.mod-root .workspace-tab-header.is-active::after { + box-shadow: inset 0 0 0 var(--tab-outline-width) var(--tab-outline-color), 0 0 0 calc(var(--tab-curve) * 4) var(--tab-background-active); + } + .workspace-tab-header.is-active .workspace-tab-header-inner::after { + opacity: 0; + } + .workspace-tab-container { + display: flex; + } + .workspace-tab-container > * { + flex: 1 0 0; + } + .workspace-tab-header-inner { + align-items: center; + display: flex; + gap: var(--size-2-1); + height: 100%; + border-radius: var(--tab-radius); + overflow: hidden; + padding: 0 8px; + width: 100%; + } + .workspace-tab-header-inner .workspace-tab-header-inner-icon { + color: var(--icon-color); + opacity: var(--icon-opacity); + } + @media (hover: hover) { + .workspace-tab-header-inner:hover .workspace-tab-header-inner-icon { + color: var(--icon-color-hover); + opacity: var(--icon-opacity-hover); + } + } + .mod-root .workspace-tab-header-inner { + padding: 0 3px 0 6px; + } + .workspace-tab-header-inner-title { + flex: 1 1 auto; + font-size: var(--tab-font-size); + font-weight: var(--tab-font-weight); + overflow: hidden; + text-align: left; + text-overflow: ellipsis; + white-space: nowrap; + width: 100%; + } + .workspace-tab-header-status-container { + display: flex; + flex-shrink: 0; + gap: var(--size-2-1); + justify-content: center; + } + .workspace-tab-header-status-container:empty { + display: none; + } + .workspace-tab-header-status-icon, + .workspace-tab-header-inner-close-button { + cursor: var(--cursor); + padding: var(--size-2-1); + border-radius: var(--radius-s); + display: flex; + align-items: center; + --icon-size: var(--icon-xs); + --icon-stroke: var(--icon-xs-stroke-width); + } + @media (hover: hover) { + .workspace-tab-header.is-active .workspace-tab-header-status-icon:hover, + .workspace-tab-header.is-active .workspace-tab-header-inner-close-button:hover { + background-color: var(--background-modifier-hover); + } + .mod-root .workspace-tab-header.is-active .workspace-tab-header-status-icon.mod-linked:hover, + .mod-root .workspace-tab-header.is-active .workspace-tab-header-inner-close-button.mod-linked:hover, + .mod-root .workspace-tab-header.is-active .workspace-tab-header-status-icon.mod-pinned:hover, + .mod-root .workspace-tab-header.is-active .workspace-tab-header-inner-close-button.mod-pinned:hover { + background-color: var(--background-modifier-active-hover); + } + } + .workspace-tab-header.is-active .workspace-tab-header-status-icon::after, + .workspace-tab-header.is-active .workspace-tab-header-inner-close-button::after { + background-color: transparent; + } + @media (hover: hover) { + .workspace-tab-header-inner-close-button:hover { + color: var(--text-normal); + } + } + .workspace-tab-header:hover .workspace-tab-header-inner-close-button { + color: var(--text-muted); + } + @media (hover: hover) { + .workspace-tab-header:hover .workspace-tab-header-inner-close-button:hover { + color: var(--text-normal); + } + } + .workspace-tab-header.is-active .workspace-tab-header-inner-close-button { + color: var(--text-muted); + } + @media (hover: hover) { + .workspace-tab-header.is-active .workspace-tab-header-inner-close-button:hover { + color: var(--text-normal); + } + } + .workspace-sidedock-empty-state { + font-size: var(--font-ui-small); + padding: 20px 30px; + } + .workspace-tab-header.is-before-active .workspace-tab-header-inner { + border-bottom-right-radius: 10px; + } + .workspace-tab-header-spacer { + display: flex; + flex-grow: 1; + } + body:not(.is-grabbing):not(.is-fullscreen) .workspace-tabs.mod-top .workspace-tab-header-spacer { + -webkit-app-region: drag; + } + body:not(.is-grabbing):not(.is-fullscreen).is-hidden-frameless .mod-top .workspace-tab-header-container { + -webkit-app-region: drag; + } + .workspace-tab-header-tab-list, + .workspace-tab-header-new-tab { + -webkit-app-region: no-drag; + display: none; + z-index: 1; + align-items: center; + } + .titlebar .workspace-tab-header-tab-list, + .titlebar .workspace-tab-header-new-tab, + .mod-root .workspace-tab-header-tab-list, + .mod-root .workspace-tab-header-new-tab { + display: flex; + } + .workspace-tab-header-tab-list .clickable-icon, + .workspace-tab-header-new-tab .clickable-icon { + color: var(--icon-color); + padding: var(--size-2-2); + --icon-size: var(--icon-m); + --icon-stroke: var(--icon-m-stroke-width); + align-items: center; + } + .workspace-tab-header-new-tab { + padding: var(--size-4-2) 0 var(--size-2-3); + margin-right: var(--size-4-3); + margin-left: -4px; + } + .workspace-tab-header-tab-list { + margin-right: var(--size-4-1); + padding: var(--size-4-2) 0 var(--size-2-3); + } + /* Remove tab titles in sidebar */ + .workspace-fake-target-overlay.is-in-sidebar .workspace-tab-header-inner-title, + .mod-left-split .workspace-tab-header-inner-title, + .mod-right-split .workspace-tab-header-inner-title { + display: var(--sidebar-tab-text-display); + } + .workspace-fake-target-overlay.is-in-sidebar .workspace-tab-header-inner-close-button, + .mod-left-split .workspace-tab-header-inner-close-button, + .mod-right-split .workspace-tab-header-inner-close-button { + display: none; + } + body > .workspace-split { + height: 100%; + } + .mod-root .workspace-tabs > .workspace-leaf .view-header-title { + white-space: normal; + } + .mod-root .workspace-tab-header-status-icon { + color: var(--text-accent); + } + .mod-root .workspace-tab-header-status-icon, + .mod-root .workspace-tab-header-inner-icon { + --icon-size: var(--icon-xs); + --icon-stroke: var(--icon-xs-stroke-width); + } + .mod-root .mod-pinned, + .mod-root .workspace-tab-header-inner-close-button { + --icon-size: var(--icon-s); + --icon-stroke: var(--icon-s-stroke-width); + } + .mod-right-split .markdown-preview-view, + .mod-left-split .markdown-preview-view, + .mod-right-split .markdown-source-view.mod-cm6 .cm-scroller, + .mod-left-split .markdown-source-view.mod-cm6 .cm-scroller { + --file-margins: var(--size-4-5); + } + .mod-right-split .markdown-preview-view, + .mod-left-split .markdown-preview-view, + .mod-right-split .markdown-source-view, + .mod-left-split .markdown-source-view { + font-size: var(--sidebar-markdown-font-size); + } + /* Sidebar tabs */ + .mod-left-split .workspace-tab-header-container-inner, + .mod-right-split .workspace-tab-header-container-inner { + padding: 1px 8px 7px; + margin: 6px 0 0 0; + gap: 3px; + } + .mod-left-split .workspace-tab-header, + .mod-right-split .workspace-tab-header { + box-shadow: none; + background-color: transparent; + padding: 0; + margin: 0; + border-radius: var(--radius-s); + } + .mod-left-split .workspace-tab-header:before, + .mod-right-split .workspace-tab-header:before, + .mod-left-split .workspace-tab-header:after, + .mod-right-split .workspace-tab-header:after { + display: none; + } + .mod-left-split .workspace-tab-header:active .workspace-tab-header-inner-icon, + .mod-right-split .workspace-tab-header:active .workspace-tab-header-inner-icon { + color: var(--icon-color-focused); + } + .mod-left-split .workspace-tab-header.has-active-menu, + .mod-right-split .workspace-tab-header.has-active-menu, + .mod-left-split .workspace-tab-header.is-active, + .mod-right-split .workspace-tab-header.is-active { + background-color: var(--background-modifier-hover); + } + @media (hover: hover) { + .mod-left-split .workspace-tab-header.has-active-menu:hover, + .mod-right-split .workspace-tab-header.has-active-menu:hover, + .mod-left-split .workspace-tab-header.is-active:hover, + .mod-right-split .workspace-tab-header.is-active:hover { + background-color: var(--background-modifier-hover); + } + } + .mod-left-split .workspace-tab-header.has-active-menu .workspace-tab-header-inner-icon, + .mod-right-split .workspace-tab-header.has-active-menu .workspace-tab-header-inner-icon, + .mod-left-split .workspace-tab-header.is-active .workspace-tab-header-inner-icon, + .mod-right-split .workspace-tab-header.is-active .workspace-tab-header-inner-icon { + opacity: var(--icon-opacity-active); + color: var(--icon-color-focused); + } + .workspace .mod-root .workspace-tab-header { + -webkit-app-region: no-drag; + flex: 1 1 0; + width: var(--tab-width); + min-width: 0; + max-width: var(--tab-max-width); + padding: 1px 3px 3.5px; + } + .workspace .mod-root .workspace-tab-header .workspace-tab-header-status-container { + position: sticky; + right: 0; + } + .workspace .mod-root .workspace-tab-header .workspace-tab-header-inner-close-button { + position: sticky; + right: 0; + } + .workspace .mod-root .workspace-tab-header.is-active:hover .workspace-tab-header-inner-close-button, + .workspace .mod-root .workspace-tab-header.is-active .workspace-tab-header-inner-close-button { + pointer-events: all; + opacity: 1; + } + .workspace .mod-root .workspace-tab-header.is-active:hover .workspace-tab-header-inner-close-button svg, + .workspace .mod-root .workspace-tab-header.is-active .workspace-tab-header-inner-close-button svg { + opacity: 1; + } + .workspace .mod-root .workspace-tab-header.is-active .workspace-tab-header-inner-close-button::after { + background-color: transparent; + } + .workspace .mod-root .workspace-tab-header-inner::after { + position: absolute; + right: -0.5px; + width: 1px; + background-color: var(--tab-divider-color); + content: ''; + height: 20px; + } + .workspace .mod-root .workspace-tab-header-inner-icon { + display: flex; + padding-right: 4px; + } + .workspace .mod-root .workspace-tab-header[data-type="markdown"] .workspace-tab-header-inner-icon, + .workspace .mod-root .workspace-tab-header[data-type="empty"] .workspace-tab-header-inner-icon { + display: none; + } + .workspace .mod-root .workspace-tab-header-inner-title { + text-overflow: clip; + width: 100%; + -webkit-mask-image: linear-gradient(to left, rgba(0, 0, 0, 0) 0px, #000000 12px); + } + .workspace .mod-root .workspace-tab-header-status-container.mod-linked { + display: none; + } + .workspace .mod-root .workspace-tab-header-spacer { + flex-shrink: 1; + } + /* Stacked tabs */ + .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-header-container-inner { + padding: 0 0 0 var(--size-4-3); + margin: 0; + } + .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container { + overflow-x: auto; + overflow-y: hidden; + position: relative; + display: flex; + flex-direction: row; + } + .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container > * { + flex: 0 0 auto; + position: sticky; + } + .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header { + width: var(--tab-stacked-header-width); + writing-mode: var(--tab-stacked-text-writing-mode); + text-orientation: sideways; + background-color: var(--background-primary); + padding: 0; + border-radius: 0; + box-shadow: -1px 0 0 0 var(--tab-outline-color), var(--tab-stacked-shadow); + --no-tooltip: true; + } + .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header:before, + .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header:after { + display: none; + } + .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header:hover .workspace-tab-header-inner { + background-color: transparent; + } + .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header-inner { + padding: var(--size-4-2) var(--size-4-2) var(--size-4-4); + border-radius: 0; + } + .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header-inner:after { + display: none; + } + .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header-inner-title { + order: 3; + width: auto; + -webkit-mask-image: unset; + padding: var(--size-4-1) 0; + transform: var(--tab-stacked-text-transform); + text-align: var(--tab-stacked-text-align); + font-weight: var(--tab-stacked-font-weight); + font-size: var(--tab-stacked-font-size); + } + .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header-inner-icon { + order: 2; + cursor: grab; + display: flex; + padding: var(--size-2-2); + border-radius: var(--radius-s); + } + @media (hover: hover) { + .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header-inner-icon:hover { + background-color: var(--background-modifier-hover); + } + } + .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header-inner-icon:active { + cursor: grabbing; + } + .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header-inner-close-button { + color: var(--tab-text-color-focused); + } + @media (hover: hover) { + .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header-inner-close-button:hover { + background-color: var(--background-modifier-hover); + } + } + .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-leaf { + width: var(--tab-stacked-pane-width); + /* This is here for performance reasons - it helps the engine know + what's out of view and avoid rendering them */ + contain: strict; + } + .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-leaf.is-hidden > * { + display: none; + } + .sidebar-toggle-button { + height: calc(var(--header-height) - 1px); + display: flex; + justify-content: center; + padding: var(--size-4-2) 0 7px 0; + -webkit-app-region: no-drag; + --icon-size: var(--icon-l); + --icon-stroke: var(--icon-l-stroke-width); + } + /* Smoother animation for right sidebar button positioning during close */ + .mod-macos.is-hidden-frameless:not(.is-popout-window) .sidebar-toggle-button.mod-right { + background-color: var(--tab-container-background); + position: fixed; + top: 0; + right: 0; + padding-right: var(--size-4-2); + z-index: var(--layer-popover); + } + .mod-macos.is-hidden-frameless:not(.is-popout-window) .workspace .workspace-tabs.mod-top-right-space .workspace-tab-header-container { + padding-right: 38px; + } + .button-container { + margin-top: 20px; + } + button { + -webkit-app-region: no-drag; + display: inline-flex; + align-items: center; + justify-content: center; + color: var(--text-normal); + font-size: var(--font-ui-small); + border-radius: var(--button-radius); + border: 0; + padding: var(--size-4-1) var(--size-4-3); + height: var(--input-height); + font-weight: var(--input-font-weight); + cursor: var(--cursor); + font-family: inherit; + outline: none; + user-select: none; + white-space: nowrap; + } + button:not(.clickable-icon) { + background-color: var(--interactive-normal); + box-shadow: var(--input-shadow); + } + @media (hover: hover) { + button:hover { + background-color: var(--interactive-hover); + box-shadow: var(--input-shadow-hover); + } + } + button[aria-disabled='true'] { + background-color: var(--interactive-normal); + } + button:focus-visible { + box-shadow: 0 0 0 3px var(--background-modifier-border-focus); + } + button[disabled="true"] { + cursor: not-allowed; + } + button.mod-cta { + background-color: var(--interactive-accent); + color: var(--text-on-accent); + } + @media (hover: hover) { + button.mod-cta:hover { + background-color: var(--interactive-accent-hover); + } + } + button.mod-cta:focus-visible { + box-shadow: 0 0 0 3px var(--background-modifier-border-focus); + } + button.mod-muted { + background-color: var(--background-secondary); + color: var(--text-muted); + } + @media (hover: hover) { + button.mod-muted:hover { + background-color: var(--background-secondary); + } + } + button.mod-warning { + background-color: var(--background-modifier-error); + color: var(--text-on-accent); + } + @media (hover: hover) { + button.mod-warning:hover { + background-color: var(--background-modifier-error-hover); + } + } + .icon-button-group { + display: inline-block; + } + .icon-button { + display: inline-block; + color: var(--interactive-normal); + } + .rich-button { + width: auto; + padding-top: 5px; + } + .rich-button-icon { + position: relative; + top: 6px; + } + .horizontal-preference-group { + display: flex; + } + .horizontal-preference-group button { + border-radius: 0; + margin: 0 -1px; + } + .horizontal-preference-group button:first-child { + border-top-left-radius: var(--input-radius); + border-bottom-left-radius: var(--input-radius); + } + .horizontal-preference-group button:last-child { + border-top-right-radius: var(--input-radius); + border-bottom-right-radius: var(--input-radius); + } + .horizontal-preference-group button.is-selected { + background-color: var(--interactive-accent); + color: var(--text-on-accent); + } + @media (hover: hover) { + .horizontal-preference-group button.is-selected:hover { + background-color: var(--interactive-accent-hover); + } + } + .card-container { + display: flex; + } + .card-container.mod-horizontal { + flex-direction: column; + } + .card { + background-color: var(--background-secondary-alt); + border-radius: 4px; + border: 1px solid var(--background-modifier-border); + margin: 0 10px; + padding: 15px 30px; + display: flex; + flex-direction: column; + flex-grow: 1; + } + .card ul { + padding: 0; + } + .card .button-container { + margin: 10px 0; + } + .card-container.mod-horizontal .card { + margin: 10px 0; + } + .card-container.mod-horizontal .card ul { + padding-left: 24px; + } + .card li { + margin: 5px 0; + } + .card.u-clickable { + cursor: var(--cursor); + } + @media (hover: hover) { + .card.u-clickable:hover { + border: 1px solid var(--interactive-accent); + background-color: hsla(var(--interactive-accent-hsl), 0.1); + } + } + .card.is-selected { + border: 1px solid var(--interactive-accent); + background-color: hsla(var(--interactive-accent-hsl), 0.2); + } + .card-title { + text-align: center; + font-size: 20px; + line-height: 30px; + color: var(--text-muted); + margin-bottom: 8px; + } + .card-description { + color: var(--text-muted); + font-size: var(--font-ui-small); + line-height: 20px; + flex-grow: 1; + } + /* Only used in Format Converter so far */ + .changelog-item { + margin: var(--size-4-2) 0; + font-size: var(--font-ui-medium); + line-height: var(--line-height); + } + .changelog-item:before { + content: attr(data-label); + width: 50px; + border-radius: var(--radius-m); + font-size: var(--font-ui-small); + display: inline-block; + text-align: center; + margin-right: 14px; + text-transform: uppercase; + letter-spacing: 1px; + line-height: 22px; + } + .changelog-item.mod-success:before { + background-color: var(--background-modifier-success); + } + .changelog-item.mod-highlighted:before { + background-color: var(--interactive-accent); + } + .page-container { + width: 50vw; + max-width: 1000px; + margin: 0 auto; + padding: 50px 0; + background-color: var(--background-primary); + } + .page-title { + font-weight: var(--font-extrabold); + font-size: 46px; + } + [contenteditable] { + outline: none; + } + .rich-link { + color: var(--text-accent); + position: relative; + padding-left: 30px; + } + .rich-link-icon { + position: absolute; + left: 5px; + top: 3px; + } + .horizontal-link-group { + text-align: center; + } + .horizontal-link-group a, + .horizontal-link-group span { + margin: 0 10px; + } + .footer-link-group { + list-style: none; + display: inline-block; + margin: 0 30px; + padding: 0; + } + .footer-header { + font-size: 22px; + line-height: 30px; + margin-bottom: 10px; + } + .footer-link { + margin: 4px 0; + } + .components-container .menu { + position: relative; + display: inline-block; + } + .list-item { + display: flex; + padding: 0; + margin: 8px 0; + gap: var(--size-4-2); + align-items: center; + } + .list-item-part.mod-extended { + flex-grow: 1; + overflow-wrap: anywhere; + } + .list-item-part.clickable-icon { + display: flex; + align-items: center; + justify-content: center; + padding: var(--size-2-2); + cursor: var(--cursor); + border-radius: var(--radius-s); + color: var(--icon-color); + } + .list-item-part.clickable-icon:hover, + .list-item-part.clickable-icon:active { + color: var(--icon-color-hover); + background-color: var(--background-modifier-hover); + } + .lightbox { + display: none; + position: fixed; + z-index: 999; + width: 100%; + height: 100%; + text-align: center; + top: 0; + left: 0; + background: rgba(0, 0, 0, 0.8); + } + .lightbox img { + max-width: 90vw; + max-height: 90vh; + margin-top: 5vh; + } + .lightbox:target { + display: block; + } + .u-center-text { + text-align: center; + } + .u-faded-text { + color: var(--text-muted); + } + .u-pop { + color: var(--text-accent); + font-weight: var(--font-semibold); + } + .u-muted { + color: var(--text-muted); + } + .u-small { + font-size: 0.8em; + } + .u-clickable { + cursor: var(--cursor); + } + .u-pop-bg { + background-color: var(--interactive-accent); + color: var(--text-on-accent); + display: inline-block; + padding: 3px 16px; + border-radius: 20px; + opacity: 0.6; + cursor: default; + } + @media (hover: hover) { + .u-pop-bg:hover { + opacity: 1; + } + } + .components-container h3 { + font-weight: var(--font-semibold); + font-size: 30px; + margin: 60px 0 25px 0; + } + .components-container .vertical-tabs-container { + height: 300px; + } + .components-container .checkbox-demo { + margin: 10px 0; + } + .components-container .checkbox-demo label { + display: inline-block; + width: 300px; + } + .components-container .prompt { + position: static; + } + @keyframes node-inserted { + from { + outline-color: #fff; + } + to { + outline-color: #000; + } + } + .node-insert-event { + animation-duration: 0.01s; + animation-name: node-inserted; + } + /* In file recovery */ + .diff-view { + height: 100%; + overflow: auto; + user-select: text; + } + .diff-line { + padding: 0 var(--size-4-2); + } + .diff-line.mod-left { + background-color: rgba(var(--background-modifier-error-rgb), 0.2); + } + .diff-line.mod-left .diff-changed { + background-color: rgba(var(--background-modifier-error-rgb), 0.4); + } + .diff-line.mod-right { + background-color: rgba(var(--background-modifier-success-rgb), 0.2); + } + .diff-line.mod-right .diff-changed { + background-color: rgba(var(--background-modifier-success-rgb), 0.4); + } + .diff-collapsed { + text-align: center; + color: var(--text-muted); + cursor: pointer; + font-size: var(--font-ui-small); + margin: var(--size-4-2) 0; + } + .diff-collapsed:hover { + color: var(--text-accent); + } + /* Document search and replace */ + /* + Moves search to the top + #todo move this into DOM */ + .markdown-reading-view.is-searching, + .markdown-source-view.is-replacing, + .markdown-source-view.is-searching { + flex-direction: column-reverse; + } + /* Container for dcoument search/replace UI */ + .mod-active .document-search-container { + background-color: var(--background-primary); + } + .document-search-container { + display: flex; + flex-direction: column; + padding: var(--size-4-2) 0; + margin: 0 var(--size-4-4); + gap: var(--size-4-2); + z-index: var(--layer-popover); + } + .document-search, + .document-replace { + width: 100%; + max-width: var(--file-line-width); + margin: 0 auto; + display: flex; + padding: 0 var(--size-4-2); + gap: var(--size-4-2); + } + .document-replace { + display: none; + } + .document-search-container.mod-replace-mode .document-replace { + display: flex; + } + input.document-search-input, + input.document-replace-input { + flex-grow: 1; + } + input.document-search-input.mod-no-match, + input.document-replace-input.mod-no-match { + background-color: rgba(var(--background-modifier-error-rgb), 0.2); + } + @media (hover: hover) { + input.document-search-input.mod-no-match:hover, + input.document-replace-input.mod-no-match:hover { + background-color: rgba(var(--background-modifier-error-rgb), 0.2); + } + } + .document-replace-buttons, + .document-search-buttons { + display: flex; + gap: var(--size-4-2); + align-items: center; + } + .document-search-button { + font-size: var(--font-ui-small); + padding: 0 var(--size-4-2); + color: var(--text-muted); + } + .document-search-close-button { + cursor: var(--cursor); + position: relative; + top: 2px; + font-size: 24px; + line-height: 20px; + height: 24px; + width: 24px; + padding: 0 var(--size-2-2); + border-radius: var(--radius-s); + color: var(--text-muted); + } + .document-search-close-button:before { + font-family: Inter, sans-serif; + content: "\d7"; + font-weight: 300; + } + @media (hover: hover) { + .document-search-close-button:hover { + background-color: var(--background-modifier-hover); + color: var(--text-normal); + } + } + /* Read */ + .markdown-rendered .search-highlight > div { + position: absolute; + pointer-events: none; + box-shadow: 0 0 0px 2px var(--text-normal); + opacity: 0.3; + mix-blend-mode: var(--highlight-mix-blend-mode); + border-radius: 2px; + } + .markdown-rendered .search-highlight > div.is-active { + box-shadow: 0 0 0px 3px var(--text-accent); + opacity: 1; + } + .cm-s-obsidian span.obsidian-search-match-highlight { + box-shadow: 0 0 0px 3px var(--text-accent); + mix-blend-mode: var(--highlight-mix-blend-mode); + border-radius: 2px; + } + /* Edit */ + .markdown-source-view.mod-cm5 { + position: relative; + padding-left: 20px; + padding-right: 30px; + } + .workspace-leaf-content.is-read-mode .markdown-source-view.mod-cm5 { + z-index: 0; + } + .markdown-source-view.mod-cm5 .document-search-container { + position: absolute; + top: 0; + left: 0; + width: 100%; + z-index: 5; + } + .markdown-source-view.mod-cm6 .document-search-container { + flex: 0 0 auto; + } + .cm-s-obsidian span.cm-highlight.obsidian-search-match-highlight { + background-color: var(--text-selection); + } + .is-flashing { + transition: all 0.25s ease; + background-color: var(--text-highlight-bg); + color: var(--text-normal); + mix-blend-mode: var(--highlight-mix-blend-mode); + border-radius: var(--radius-s); + } + /* Support for rtl text, explicit support for Arabic and Hebrew */ + *[dir="rtl"] .dropdown, + :root:lang(ar) .dropdown, + :root:lang(iw) .dropdown { + background-position: left 0.7em top 50%, 0 0; + padding: 0.6em 0.8em 0.5em 1.4em; + } + /* class applies to select element itself, not a wrapper element */ + select, + .dropdown { + -webkit-app-region: no-drag; + height: var(--input-height); + font-size: var(--font-ui-small); + font-family: inherit; + font-weight: var(--input-font-weight); + color: var(--text-normal); + line-height: var(--line-height-tight); + padding: 0 1.9em 0 0.8em; + max-width: 100%; + /* useful when width is set to anything other than 100% */ + box-sizing: border-box; + margin: 0; + border: 0; + box-shadow: var(--input-shadow); + border-radius: var(--input-radius); + -webkit-appearance: none; + appearance: none; + background-color: var(--interactive-normal); + background-repeat: no-repeat, repeat; + /* arrow icon position (1em from the right, 50% vertical) , then gradient position*/ + background-position: right 0.7em top 50%, 0 0; + /* icon size, then gradient */ + background-size: 0.65em auto, 100%; + } + @media (hover: hover) { + select:hover, + .dropdown:hover { + box-shadow: var(--input-shadow-hover); + background-color: var(--interactive-hover); + } + } + select:focus, + .dropdown:focus { + box-shadow: 0 0 0px 3px var(--background-modifier-border-focus); + outline: none; + } + .dropdown { + background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="292.4" height="292.4"%3E%3Cpath fill="%23000" opacity="0.4" d="M287 69.4a17.6 17.6 0 0 0-13-5.4H18.4c-5 0-9.3 1.8-12.9 5.4A17.6 17.6 0 0 0 0 82.2c0 5 1.8 9.3 5.4 12.9l128 127.9c3.6 3.6 7.8 5.4 12.8 5.4s9.2-1.8 12.8-5.4L287 95c3.5-3.5 5.4-7.8 5.4-12.8 0-5-1.9-9.2-5.5-12.8z"/%3E%3C/svg%3E'); + } + .theme-dark .dropdown { + background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="292.4" height="292.4"%3E%3Cpath fill="%23FFF" opacity="0.4" d="M287 69.4a17.6 17.6 0 0 0-13-5.4H18.4c-5 0-9.3 1.8-12.9 5.4A17.6 17.6 0 0 0 0 82.2c0 5 1.8 9.3 5.4 12.9l128 127.9c3.6 3.6 7.8 5.4 12.8 5.4s9.2-1.8 12.8-5.4L287 95c3.5-3.5 5.4-7.8 5.4-12.8 0-5-1.9-9.2-5.5-12.8z"/%3E%3C/svg%3E'); + } + /* Set options to normal weight */ + .dropdown option { + font-weight: normal; + background-color: var(--background-primary); + } + .flair { + background-color: var(--interactive-normal); + border-radius: var(--radius-s); + color: var(--text-normal); + font-size: 10px; + letter-spacing: 0.05em; + margin-left: var(--size-4-2); + padding: var(--size-2-1) var(--size-2-2); + position: relative; + text-transform: uppercase; + white-space: nowrap; + vertical-align: middle; + } + .flair.mod-flat { + vertical-align: top; + } + .flair.mod-pop { + background-color: var(--interactive-accent); + color: var(--text-on-accent); + } + .markdown-preview-view:not(.allow-fold-lists) .list-collapse-indicator, + .markdown-preview-view:not(.allow-fold-headings) .heading-collapse-indicator { + display: none; + } + /* #todo Reduce specificity here */ + .cm-fold-indicator .collapse-indicator, + .cm-gutterElement .collapse-indicator, + .collapse-indicator, + .fold-gutter { + opacity: 0; + } + /* + .is-mobile & .cm-fold-indicator .collapse-indicator { + opacity: 1; + }*/ + h1:hover .collapse-indicator, + h2:hover .collapse-indicator, + h3:hover .collapse-indicator, + h4:hover .collapse-indicator, + h5:hover .collapse-indicator, + h6:hover .collapse-indicator, + .collapse-indicator:hover, + .is-collapsed .collapse-indicator, + .cm-fold-indicator.is-collapsed .collapse-indicator, + .cm-gutterElement:hover .collapse-indicator, + .cm-gutterElement .is-collapsed .collapse-indicator, + .cm-line:hover .cm-fold-indicator .collapse-indicator, + .fold-gutter.is-collapsed, + .fold-gutter:hover { + opacity: 1; + } + .view-content .list-collapse-indicator svg.svg-icon, + .view-content .collapse-indicator svg.svg-icon { + color: var(--collapse-icon-color); + } + .view-content .is-collapsed .list-collapse-indicator svg.svg-icon, + .view-content .is-collapsed .collapse-indicator svg.svg-icon { + color: var(--collapse-icon-color-collapsed); + } + .collapse-icon { + display: flex; + align-items: center; + } + .collapse-icon:before { + content: "\200B"; + } + .collapse-icon svg.svg-icon { + color: var(--nav-collapse-icon-color); + stroke-width: 4px; + width: 10px; + height: 10px; + transition: transform 100ms ease-in-out; + } + .is-collapsed .collapse-icon svg.svg-icon { + transform: rotate(-90deg); + color: var(--nav-collapse-icon-color-collapsed); + } + .rtl .is-collapsed .collapse-icon svg.svg-icon { + transform: rotate(90deg); + } + .markdown-preview-view .collapse-indicator { + float: left; + cursor: var(--cursor); + } + .markdown-preview-view .collapse-indicator .svg-icon { + vertical-align: middle; + } + .markdown-preview-view .list-collapse-indicator { + margin-left: -45px; + padding: 0 8px; + } + .markdown-preview-view li.is-collapsed > ul, + .markdown-preview-view li.is-collapsed > ol { + display: none; + } + .markdown-preview-view .heading-collapse-indicator { + margin-left: -22px; + padding: 0 6px; + } + .markdown-source-view.mod-cm6 .cm-fold-indicator .collapse-indicator { + opacity: 0; + } + .markdown-source-view.mod-cm6 .cm-line:hover .cm-fold-indicator .collapse-indicator, + .markdown-source-view.mod-cm6 .cm-fold-indicator.is-collapsed .collapse-indicator { + opacity: 1; + } + .markdown-source-view.mod-cm6 .cm-foldPlaceholder { + color: var(--text-faint); + background-color: transparent; + border: none; + margin-left: 8px; + } + .markdown-source-view.mod-cm6 .cm-fold-indicator { + display: inline-block; + position: relative; + } + .markdown-source-view.mod-cm6 .cm-fold-indicator .collapse-indicator { + position: absolute; + top: 0; + right: 0; + height: 100%; + cursor: var(--cursor); + padding-right: 5px; + } + /* Consistency for hover states across all icon buttons */ + svg.svg-icon { + height: var(--icon-size); + width: var(--icon-size); + stroke-width: var(--icon-stroke); + } + /* Parent container of button rows */ + .nav-buttons-container, + .view-actions, + .workspace-tab-header-inner, + .side-dock-settings, + .side-dock-actions { + display: flex; + justify-content: center; + } + .side-dock-settings, + .side-dock-actions { + gap: var(--size-2-3); + } + .view-actions { + gap: 0; + align-items: center; + --icon-size: var(--icon-s); + } + .nav-buttons-container { + flex-wrap: wrap; + gap: var(--size-2-1); + } + .nav-file-icon .svg-icon, + .suggestion-flair .svg-icon, + .menu-item-icon .svg-icon, + .status-bar-item .svg-icon { + --icon-size: var(--icon-s); + --icon-stroke: var(--icon-s-stroke-width); + } + .clickable-icon.side-dock-ribbon-action .svg-icon, + .mod-left-split .workspace-tab-header-inner-icon .svg-icon, + .mod-right-split .workspace-tab-header-inner-icon .svg-icon { + --icon-size: var(--icon-l); + --icon-stroke: var(--icon-l-stroke-width); + } + .clickable-icon.side-dock-ribbon-action:active, + .mod-left-split .workspace-tab-header-inner-icon:active, + .mod-right-split .workspace-tab-header-inner-icon:active { + color: var(--icon-color-focused); + } + /* Parent button containers for SVG button icons */ + .clickable-icon { + -webkit-app-region: no-drag; + background-color: transparent; + display: flex; + align-items: center; + justify-content: center; + padding: var(--size-2-2) var(--size-2-3); + cursor: var(--cursor); + border-radius: var(--clickable-icon-radius); + color: var(--icon-color); + opacity: var(--icon-opacity); + transition: opacity 0.15s ease-in-out; + height: auto; + } + @media (hover: hover) { + .clickable-icon:hover { + box-shadow: none; + opacity: var(--icon-opacity-hover); + color: var(--icon-color-hover); + background-color: var(--background-modifier-hover); + } + .clickable-icon.has-active-menu, + .clickable-icon:active { + opacity: var(--icon-opacity-hover); + color: var(--icon-color-focus); + background-color: var(--background-modifier-hover); + } + } + .clickable-icon.is-active { + opacity: var(--icon-opacity-hover); + color: var(--icon-color-active); + background-color: var(--background-modifier-active-hover); + } + @media (hover: hover) { + .clickable-icon.is-active:hover { + background-color: var(--background-modifier-active-hover); + } + } + .clickable-icon[aria-disabled='true'] { + background-color: unset; + color: var(--text-muted); + opacity: 0.4; + } + @media (hover: hover) { + .clickable-icon[aria-disabled='true']:hover { + background-color: unset; + } + } + .clickable-icon.mod-warning { + color: var(--text-error); + } + .setting-item-control .clickable-icon { + padding: var(--size-2-2); + } + .markdown-rendered.show-indentation-guide li > ul, + .markdown-rendered.show-indentation-guide li > ol { + position: relative; + } + .markdown-rendered.show-indentation-guide li > ul::before, + .markdown-rendered.show-indentation-guide li > ol::before { + content: "\200B"; + position: absolute; + display: block; + left: -15px; + top: 0; + bottom: 0; + border-right: var(--indentation-guide-width) solid var(--indentation-guide-color); + } + .markdown-rendered.show-indentation-guide li.task-list-item > ul::before, + .markdown-rendered.show-indentation-guide li.task-list-item > ol::before { + left: -14px; + } + .markdown-source-view.mod-cm6 .cm-indent { + display: inline-block; + } + .markdown-source-view.mod-cm6 .cm-indent::before { + content: "\200B"; + display: block; + width: 1px; + border-right: var(--indentation-guide-width) solid var(--indentation-guide-color); + color: transparent; + position: absolute; + top: 0; + bottom: 0; + transform: translateX(0.15em); + } + .markdown-source-view.mod-cm6 .cm-active-indent::before { + border-color: var(--indentation-guide-color-active); + } + .input-label { + display: inline-block; + width: 150px; + text-align: right; + margin-right: var(--size-4-2); + } + .input-button { + padding: 6px 14px; + margin-left: 14px; + color: var(--text-muted); + font-size: var(--font-ui-medium); + position: relative; + top: -1px; + } + @media (hover: hover) { + .input-button:hover { + color: var(--text-normal); + } + } + textarea, + input[type='text'], + input[type='search'], + input[type='email'], + input[type='password'], + input[type='number'] { + -webkit-app-region: no-drag; + background: var(--background-modifier-form-field); + border: var(--input-border-width) solid var(--background-modifier-border); + transition: box-shadow 0.15s ease-in-out, border 0.15s ease-in-out; + color: var(--text-normal); + font-family: inherit; + padding: var(--size-4-1) var(--size-4-2); + font-size: var(--font-ui-small); + border-radius: var(--input-radius); + outline: none; + } + @media (hover: hover) { + textarea:hover, + input[type='text']:hover, + input[type='search']:hover, + input[type='email']:hover, + input[type='password']:hover, + input[type='number']:hover { + border-color: var(--background-modifier-border-hover); + } + } + textarea:active, + input[type='text']:active, + input[type='search']:active, + input[type='email']:active, + input[type='password']:active, + input[type='number']:active, + textarea:focus, + input[type='text']:focus, + input[type='search']:focus, + input[type='email']:focus, + input[type='password']:focus, + input[type='number']:focus { + border-color: var(--background-modifier-border-focus); + } + textarea:active, + input[type='text']:active, + input[type='search']:active, + input[type='email']:active, + input[type='password']:active, + input[type='number']:active, + textarea:focus, + input[type='text']:focus, + input[type='search']:focus, + input[type='email']:focus, + input[type='password']:focus, + input[type='number']:focus, + textarea:focus-visible, + input[type='text']:focus-visible, + input[type='search']:focus-visible, + input[type='email']:focus-visible, + input[type='password']:focus-visible, + input[type='number']:focus-visible { + box-shadow: 0 0 0 2px var(--background-modifier-border-focus); + } + textarea::placeholder, + input[type='text']::placeholder, + input[type='search']::placeholder, + input[type='email']::placeholder, + input[type='password']::placeholder, + input[type='number']::placeholder { + color: var(--text-faint); + } + input[type='text'], + input[type='search'], + input[type='email'], + input[type='password'], + input[type='number'] { + height: var(--input-height); + } + /* Textarea */ + textarea { + line-height: var(--line-height-tight); + } + input[type="search"]::-webkit-search-decoration, + input[type="search"]::-webkit-search-cancel-button { + display: none; + pointer-events: none; + } + input[type=number]::-webkit-inner-spin-button { + -webkit-appearance: none; + } + /* Range slider */ + input[type='range'] { + width: 100px; + -webkit-appearance: none; + background-color: var(--slider-track-background); + border-radius: var(--slider-track-height); + height: var(--slider-track-height); + padding: 0; + } + body:not(.is-mobile) input[type=range]:focus { + box-shadow: none; + } + input[type='range']::-webkit-slider-runnable-track { + height: 6px; + -webkit-appearance: none; + } + input[type='range']::-webkit-slider-thumb { + -webkit-appearance: none; + height: var(--slider-thumb-height); + width: var(--slider-thumb-width); + border-radius: var(--slider-thumb-radius); + cursor: default; + background: #FFF; + border: var(--slider-thumb-border-width) solid var(--slider-thumb-border-color); + position: relative; + top: var(--slider-thumb-y); + transition: all 0.1s linear; + box-shadow: 0 1px 1px 0px rgba(0, 0, 0, 0.05), 0 2px 2px 0px rgba(0, 0, 0, 0.1); + } + input[type=range]::-webkit-slider-thumb:hover, + input[type=range]::-webkit-slider-thumb:active { + background: white; + border-color: var(--background-modifier-border-focus); + box-shadow: 0 1px 2px 0px rgba(0, 0, 0, 0.1), 0 2px 3px 0px rgba(0, 0, 0, 0.2); + transition: all 0.1s linear; + } + input[type='range'] { + outline: none; + } + body:not(.is-mobile) input[type=range]:focus::-webkit-slider-thumb { + box-shadow: 0 1px 2px 0px rgba(0, 0, 0, 0.05), 0 2px 3px 0px rgba(0, 0, 0, 0.2); + } + body:not(.is-mobile) input[type=range]:focus-visible::-webkit-slider-thumb { + border-color: var(--background-modifier-border-focus); + box-shadow: 0 1px 2px 0px rgba(0, 0, 0, 0.05), 0 2px 3px 0px rgba(0, 0, 0, 0.2), 0 0 0px 2px var(--background-modifier-border-focus); + } + /* Color inputs */ + input[type="color"] { + -webkit-appearance: none; + width: calc(var(--swatch-width) + 4px); + background-color: transparent; + border: none; + cursor: var(--cursor); + padding: 0; + } + input[type="color"]::-webkit-color-swatch-wrapper { + padding: 2px; + } + input[type="color"]::-webkit-color-swatch { + border: 0px; + box-shadow: var(--swatch-shadow); + border-radius: var(--swatch-radius); + height: var(--swatch-height); + width: var(--swatch-width); + align-self: center; + } + @media (hover: hover) { + input[type="color"]::-webkit-color-swatch:hover { + box-shadow: inset 0 0 0 1px rgba(var(--mono-rgb-100), 0.25), 0 0 0 3px var(--background-modifier-hover); + } + } + .notice-container { + z-index: var(--layer-notice); + position: fixed; + top: 22px; + right: 0; + padding: 10px; + overflow: hidden; + } + .notice { + background-color: var(--background-modifier-message); + border-radius: var(--radius-m); + box-shadow: 0 2px 8px var(--background-modifier-box-shadow); + color: #FAFAFA; + font-size: var(--font-ui-small); + line-height: var(--line-height-tight); + padding: 0.75em 1em 0.75em 1em; + max-width: 300px; + margin-bottom: 14px; + white-space: pre-wrap; + overflow-wrap: anywhere; + word-break: break-word; + cursor: var(--cursor); + } + .menu { + padding: var(--size-2-3); + border: 1px solid var(--background-modifier-border-hover); + background-color: var(--background-secondary); + border-radius: var(--radius-m); + box-shadow: var(--shadow-s); + position: fixed; + z-index: var(--layer-menu); + user-select: none; + max-height: calc(100% - var(--header-height)); + overflow: hidden; + } + .menu.mod-no-icon .menu-item-icon:first-child { + display: none; + } + .menu-separator { + height: 0; + margin: var(--size-2-3) calc(var(--size-2-3) * -1); + border-bottom: 1px solid var(--background-modifier-border); + } + .menu-separator:last-child, + .menu-separator:first-child { + display: none; + } + .menu-separator + .menu-separator { + display: none; + } + .menu-item { + display: flex; + align-items: center; + gap: var(--size-4-2); + padding: var(--size-4-1) var(--size-4-2); + cursor: var(--cursor); + font-size: var(--font-ui-small); + border-radius: var(--radius-s); + white-space: nowrap; + } + .menu-item.is-disabled { + cursor: default; + color: var(--text-faint); + } + .menu-item.is-warning.selected { + color: var(--text-error); + } + .menu-item.is-label { + cursor: default; + pointer-events: none; + font-size: var(--font-ui-medium); + color: var(--text-muted); + white-space: pre-wrap; + overflow-wrap: anywhere; + word-break: break-word; + } + @media (hover: hover) { + .menu-item.is-warning:hover { + color: var(--text-error); + } + .menu-item:hover:not(.is-disabled):not(.is-label) { + background-color: var(--background-modifier-hover); + } + } + .menu-item.selected:not(.is-disabled):not(.is-label) { + background-color: var(--background-modifier-hover); + } + .menu-item-icon { + flex: 0 1 auto; + display: flex; + color: var(--text-muted); + } + .menu-item.is-warning.selected .menu-item-icon, + .menu-item.is-warning:hover .menu-item-icon { + color: var(--text-error); + } + .menu-item-icon .mod-submenu { + color: var(--text-faint); + } + .menu-item-title { + flex: 1 0 0; + } + .menu.mod-tab-list .menu-item-title { + max-width: 300px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + vertical-align: bottom; + } + .debug-textarea { + width: 100%; + height: 50vh; + max-height: 80vh; + font-family: var(--font-monospace); + tab-size: 4; + resize: none; + } + .modal-container { + display: flex; + align-items: center; + justify-content: center; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: var(--layer-modal); + } + .modal-container.mod-dim .modal { + box-shadow: var(--shadow-l); + } + .modal-bg { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: var(--background-modifier-cover); + } + .modal { + background-color: var(--modal-background); + border-radius: var(--modal-radius); + border: var(--modal-border-width) solid var(--modal-border-color); + padding: var(--size-4-4); + position: relative; + min-height: 100px; + width: var(--dialog-width); + max-width: var(--dialog-max-width); + max-height: var(--dialog-max-height); + display: flex; + flex-direction: column; + overflow: auto; + } + .modal.mod-sidebar-layout { + padding: 0; + width: var(--modal-width); + height: var(--modal-height); + max-width: var(--modal-max-width); + max-height: var(--modal-max-height); + overflow: hidden; + display: flex; + flex-direction: column; + } + .modal.mod-sidebar-layout .modal-content { + display: flex; + } + body:not(.native-scrollbars) .modal-close-button { + right: 12px; + } + .modal-close-button { + cursor: var(--cursor); + position: absolute; + top: var(--size-2-3); + right: var(--size-2-3); + font-size: 24px; + line-height: 20px; + height: 24px; + width: 24px; + padding: 0 var(--size-2-2); + border-radius: var(--radius-s); + color: var(--text-muted); + } + @media (hover: hover) { + .modal-close-button:hover { + background-color: var(--background-modifier-hover); + color: var(--text-normal); + } + } + .modal-close-button:before { + font-family: Inter, sans-serif; + content: '\D7'; + font-weight: 300; + } + .modal-title { + font-size: 1.2em; + margin-bottom: 0.75em; + font-weight: var(--font-semibold); + text-align: left; + line-height: var(--line-height-tight); + } + .mod-sidebar-layout .modal-title { + display: none; + } + .modal-title:empty { + display: none; + } + .modal-content { + flex: 1 1 auto; + font-size: var(--font-ui-medium); + } + .modal-button-container { + margin-top: 1.5em; + display: flex; + justify-content: flex-end; + gap: var(--size-4-2); + flex-wrap: wrap; + } + .modal-checkbox-label { + cursor: var(--cursor); + margin-left: 10px; + user-select: none; + } + .message-container { + margin: var(--size-4-4) 0; + } + .message { + display: inline-block; + padding: 6px 12px 6px 12px; + border-radius: var(--radius-s); + } + .message.mod-success { + background-color: var(--background-modifier-success); + color: var(--text-on-accent); + } + .message.mod-success a { + color: var(--text-normal); + } + .message.mod-info { + background-color: var(--background-modifier-info); + } + .message.mod-error { + background-color: var(--background-modifier-error); + color: var(--text-on-accent); + } + .message.mod-error a { + color: var(--text-normal); + } + .mod-warning { + color: var(--text-error); + } + .mod-success { + color: var(--text-success); + } + .mod-file-rename .rename-textarea { + overflow: hidden; + padding: var(--size-2-3) var(--size-4-2); + resize: none; + width: 100%; + } + .modal-setting-back-button { + position: absolute; + top: var(--safe-area-inset-top); + left: 0; + padding: var(--size-4-3) var(--size-4-3); + height: var(--modal-header-height); + color: var(--text-normal); + font-weight: var(--font-semibold); + } + .modal-setting-back-button-icon { + display: flex; + align-items: center; + margin-right: 6px; + } + .modal-setting-nav-bar { + display: flex; + flex: 0 1 auto; + padding: var(--size-4-3); + border-bottom: 1px solid var(--background-modifier-border); + } + .popover { + background-color: var(--background-primary); + border: 1px solid var(--background-modifier-border); + box-shadow: var(--shadow-s); + border-radius: var(--radius-m); + padding: var(--size-4-5); + position: relative; + max-height: 95vh; + } + .popover-title { + font-weight: var(--font-extrabold); + } + .popover-content { + margin: var(--size-4-2) 0; + } + .components-container .popover { + width: 300px; + margin-top: var(--size-4-5); + } + .components-container .popover .popover-content { + font-size: var(--font-ui-medium); + } + .popover.hover-popover { + position: absolute; + z-index: var(--layer-popover); + max-width: 80vw; + min-height: 100px; + width: var(--popover-width); + padding: 0px; + overflow: hidden; + } + .popover.hover-popover .markdown-preview-view { + font-size: var(--popover-font-size); + } + .popover.hover-popover.mod-empty { + display: flex; + justify-content: center; + align-items: center; + padding: 20px; + font-size: var(--popover-font-size); + color: var(--text-muted); + } + .popover.hover-popover.media-embed { + min-height: 0; + line-height: 0; + border: none; + } + .popover.hover-popover.image-embed img { + max-height: 100%; + max-width: 100%; + height: auto; + } + .popover.hover-popover.pdf-embed { + width: var(--popover-pdf-width); + height: var(--popover-pdf-height); + max-height: var(--popover-max-height); + } + .popover.hover-popover > .markdown-embed { + height: var(--popover-height); + max-height: var(--popover-max-height); + border: 0; + padding: 0; + margin: 0; + } + .popover.hover-popover > .markdown-embed > .markdown-embed-content { + height: 100%; + overflow: auto; + } + .popover.hover-popover > .markdown-embed > .markdown-embed-content > .markdown-preview-view { + padding: var(--file-margins); + } + .follow-link-popover { + box-shadow: 0 2px 8px var(--background-modifier-box-shadow); + background-color: rgba(0, 0, 0, 0.9); + border-radius: var(--radius-m); + color: #ccc; + font-size: var(--font-ui-small); + line-height: 20px; + max-width: 300px; + padding: 5px 12px; + text-align: center; + z-index: var(--layer-tooltip); + white-space: pre-wrap; + top: calc(100%); + } + .follow-link-popover.mod-bottom { + top: 0; + } + @media (hover: hover) { + .follow-link-popover:hover { + background-color: #000000; + } + } + .follow-link-popover .popover-arrow { + position: absolute; + top: calc(100%); + left: 50%; + width: 0; + margin-left: -5px; + border-right: 5px solid transparent; + border-left: 5px solid transparent; + content: " "; + font-size: 0; + line-height: 0; + border-top: 5px solid rgba(0, 0, 0, 0.9); + border-bottom: 5px solid transparent; + } + .follow-link-popover.mod-bottom .popover-arrow { + border-bottom: 5px solid rgba(0, 0, 0, 0.9); + border-top: none; + top: -5px; + } + .markdown-preview-view progress, + .markdown-rendered progress, + .markdown-source-view.is-live-preview progress { + -webkit-writing-mode: horizontal-tb; + writing-mode: horizontal-tb; + appearance: none; + box-sizing: border-box; + display: inline-block; + height: 6px; + margin-bottom: 4px; + max-width: 100%; + overflow: hidden; + border-radius: 0px; + border: 0; + vertical-align: -0.2rem; + } + .markdown-preview-view progress[value]::-webkit-progress-bar, + .markdown-rendered progress[value]::-webkit-progress-bar, + .markdown-source-view.is-live-preview progress[value]::-webkit-progress-bar { + background-color: var(--background-secondary); + box-shadow: inset 0px 0px 0px 1px var(--background-modifier-border); + border-radius: 6px; + overflow: hidden; + } + .markdown-preview-view progress[value]::-webkit-progress-value, + .markdown-rendered progress[value]::-webkit-progress-value, + .markdown-source-view.is-live-preview progress[value]::-webkit-progress-value { + background-color: var(--interactive-accent); + overflow: hidden; + } + .progress-bar { + position: absolute; + height: 100vh; + width: 100vw; + top: 0; + left: 0; + background-color: var(--background-primary); + z-index: 10000; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + } + .progress-bar-message { + margin-bottom: var(--size-4-8); + opacity: 1; + color: var(--text-muted); + } + .progress-bar-indicator { + position: relative; + height: 8px; + margin: 0 10vw; + width: 90vw; + overflow-x: hidden; + border-radius: 3px; + } + .progress-bar-line { + position: absolute; + opacity: 0.4; + background-color: var(--interactive-accent); + width: 150%; + height: 8px; + } + .progress-bar-subline { + position: absolute; + background-color: var(--interactive-accent); + height: 8px; + } + .progress-bar-subline.mod-increase { + animation: increase 2s infinite; + } + .progress-bar-subline.mod-decrease { + animation: decrease 2s 0.5s infinite; + } + .progress-bar .progress-bar-subline { + transition: width 150ms ease-in-out; + } + @keyframes increase { + from { + left: -5%; + width: 5%; + } + to { + left: 130%; + width: 100%; + } + } + @keyframes decrease { + from { + left: -80%; + width: 80%; + } + to { + left: 110%; + width: 10%; + } + } + .prompt { + display: flex; + flex-direction: column; + border-radius: var(--radius-l); + background-color: var(--background-primary); + box-shadow: var(--shadow-l); + border: var(--prompt-border-width) solid var(--prompt-border-color); + z-index: 1; + position: absolute; + top: 80px; + width: var(--prompt-width); + max-width: var(--prompt-max-width); + max-height: var(--prompt-max-height); + overflow: hidden; + } + .prompt-input-container { + display: flex; + } + input.prompt-input { + width: 100%; + padding: var(--size-4-6); + background-color: var(--background-primary); + font-size: var(--font-ui-medium); + border: none; + height: 40px; + border-radius: 0; + border-bottom: 1px solid var(--background-secondary); + } + input.prompt-input:hover, + input.prompt-input:focus, + input.prompt-input:focus-visible { + border-bottom: 1px solid var(--background-secondary); + box-shadow: none; + } + .prompt-results { + list-style: none; + margin: 0; + padding: var(--size-4-3); + overflow-y: auto; + } + .prompt-instructions { + border-top: 1px solid var(--background-secondary); + user-select: none; + font-size: var(--font-ui-smaller); + color: var(--text-muted); + padding: var(--size-4-2); + text-align: center; + display: flex; + flex-wrap: wrap; + justify-content: center; + gap: var(--size-4-3); + } + .prompt-instruction { + display: inline-block; + } + .prompt-instruction-command { + font-weight: var(--bold-weight); + margin-right: var(--size-2-2); + } + body:not(.native-scrollbars) ::-webkit-scrollbar { + background-color: var(--scrollbar-bg); + width: 12px; + height: 12px; + -webkit-border-radius: var(--radius-l); + background-color: transparent; + } + body:not(.native-scrollbars) ::-webkit-scrollbar-track { + background-color: transparent; + } + body:not(.native-scrollbars) ::-webkit-scrollbar-thumb { + background-color: var(--scrollbar-thumb-bg); + -webkit-border-radius: var(--radius-l); + background-clip: padding-box; + border: 2px solid transparent; + border-width: 3px 3px 3px 2px; + min-height: 45px; + } + body:not(.native-scrollbars) ::-webkit-scrollbar-thumb:active { + -webkit-border-radius: var(--radius-l); + } + body:not(.native-scrollbars) ::-webkit-scrollbar-thumb:hover, + body:not(.native-scrollbars) ::-webkit-scrollbar-thumb:active { + background-color: var(--scrollbar-active-thumb-bg); + } + body:not(.native-scrollbars) ::-webkit-scrollbar-corner { + background: transparent; + } + body:not(.native-scrollbars) * { + scrollbar-width: thin; + scrollbar-color: var(--scrollbar-thumb-bg) var(--scrollbar-bg); + } + /* Scroll indicator for sidebar containers + body:not(.is-translucent):not(.is-mobile) .workspace-tabs { + .item-list, + .nav-files-container, + .search-result-container, + .tag-container, + .outgoing-link-pane, + .backlink-pane { + background: + linear-gradient( + var(--background-secondary) 10%, + rgba(0, 0, 0, 0) + ) + center top, + linear-gradient( + var(--background-modifier-border) 100%, + rgba(0, 0, 0, 0) + ) + center top; + background-repeat: no-repeat; + background-size: 100% 40px, 91% 1px; + background-attachment: local, scroll; + } + } + */ + .suggestion-container { + position: absolute; + background-color: var(--background-primary); + max-width: 500px; + border-radius: var(--radius-m); + border: 1px solid var(--background-modifier-border); + box-shadow: var(--shadow-s); + z-index: var(--layer-notice); + } + .suggestion { + max-height: 300px; + overflow-y: auto; + padding: var(--size-2-3); + } + .suggestion-item, + .suggestion-empty { + padding: var(--size-2-3) var(--size-4-3); + font-size: var(--font-ui-medium); + margin-bottom: 1px; + } + .suggestion-empty { + color: var(--text-muted); + text-align: center; + } + .suggestion-item { + cursor: var(--cursor); + padding-left: 12px; + white-space: pre-wrap; + border-radius: var(--radius-s); + } + .suggestion-item.is-selected { + background-color: var(--background-modifier-hover); + } + .suggestion-item.mod-downranked { + color: var(--text-muted); + } + .suggestion-item.mod-complex { + align-items: baseline; + display: flex; + justify-content: space-between; + } + .suggestion-item.mod-complex .suggestion-content { + display: flex; + flex-direction: column; + overflow: hidden; + text-overflow: ellipsis; + margin-right: auto; + } + .suggestion-item.mod-complex .suggestion-prefix:after { + content: ': '; + } + .suggestion-item.mod-complex .suggestion-highlight { + font-weight: bold; + } + .suggestion-item.mod-complex .suggestion-note { + font-size: 0.8em; + color: var(--text-muted); + width: 100%; + flex-basis: 100%; + } + .suggestion-item.mod-complex .suggestion-aux { + display: flex; + align-items: center; + align-self: center; + flex-shrink: 0; + } + .suggestion-item.mod-complex .suggestion-hotkey { + font-size: var(--font-ui-smaller); + font-family: var(--font-interface); + padding: 2px 6px; + } + .suggestion-item.mod-complex .suggestion-hotkey:not(:last-child) { + margin-left: 10px; + } + .suggestion-item.mod-complex .suggestion-flair { + color: var(--text-muted); + opacity: var(--icon-opacity); + margin: 0 4px 0 12px; + display: flex; + align-items: center; + } + .suggestion-item.mod-complex .suggestion-flair:not(:last-child) { + margin-left: 6px; + } + .suggestion-highlight { + font-weight: bold; + } + .suggestion-bg { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: var(--background-modifier-cover); + z-index: var(--layer-popover); + } + .horizontal-tab-header { + display: flex; + } + .horizontal-tab-nav-item, + .vertical-tab-nav-item { + padding: var(--size-4-1) var(--size-4-2); + user-select: none; + cursor: var(--cursor); + font-size: calc(var(--font-ui-small) + 1px); + border-radius: var(--radius-s); + } + .horizontal-tab-nav-item.is-active, + .vertical-tab-nav-item.is-active { + background-color: var(--interactive-accent); + color: var(--text-on-accent); + } + @media (hover: hover) { + .horizontal-tab-nav-item.is-active:hover, + .vertical-tab-nav-item.is-active:hover { + background-color: var(--interactive-accent); + } + } + @media (hover: hover) { + .horizontal-tab-nav-item:hover, + .vertical-tab-nav-item:hover { + background-color: var(--background-modifier-hover); + } + } + .vertical-tab-nav-item { + margin-bottom: var(--size-2-1); + } + .vertical-tab-nav-item-chevron { + display: none; + } + .horizontal-tab-content, + .vertical-tab-content { + background-color: var(--background-primary); + padding-left: var(--size-4-12); + padding-right: var(--size-4-12); + } + .vertical-tabs-container { + display: flex; + } + .vertical-tab-header { + padding: var(--size-4-3); + background-color: var(--background-secondary); + } + .vertical-tab-header-group-items { + display: flex; + flex-direction: column; + } + .vertical-tab-header-group-title { + font-size: var(--font-ui-smaller); + color: var(--text-faint); + font-weight: var(--font-semibold); + padding: var(--size-4-2); + user-select: none; + } + .vertical-tab-header-group { + padding: var(--size-4-3) 0; + } + .vertical-tab-content-container { + overflow: hidden; + flex-grow: 1; + } + .vertical-tab-content { + overflow-y: auto; + height: 100%; + padding-top: var(--size-4-8); + padding-bottom: var(--size-4-16); + } + .vertical-tab-content h2 { + font-size: var(--font-ui-medium); + font-weight: var(--font-semibold); + } + .checkbox-container { + -webkit-app-region: no-drag; + cursor: var(--cursor); + background-color: var(--background-modifier-border-hover); + border-radius: var(--toggle-radius); + display: inline-block; + flex-shrink: 0; + height: calc(var(--toggle-thumb-height) + var(--toggle-border-width) * 2); + position: relative; + user-select: none; + width: var(--toggle-width); + box-shadow: inset 0 4px 10px rgba(0, 0, 0, 0.07), inset 0 0 1px rgba(0, 0, 0, 0.21); + transition: box-shadow 0.15s ease-in-out, outline 0.15s ease-in-out, border 0.15s ease-in-out, opacity 0.15s ease-in-out; + outline: 0 solid var(--background-modifier-border-focus); + } + .checkbox-container input[type='checkbox'] { + position: absolute; + opacity: 0; + left: 0; + } + .checkbox-container:focus-within { + outline: var(--toggle-border-width) solid var(--background-modifier-border-focus); + } + @media (hover: hover) { + .checkbox-container:hover { + box-shadow: inset 0 6px 20px rgba(0, 0, 0, 0.14), inset 0 0 1px rgba(0, 0, 0, 0.28); + } + } + .checkbox-container.is-enabled { + background-color: var(--interactive-accent); + } + .checkbox-container.is-enabled:after { + transform: translate3d(calc(var(--toggle-width) - var(--toggle-thumb-width) - var(--toggle-border-width)), 0, 0); + } + .checkbox-container.is-enabled:active:after { + left: -4px; + } + .checkbox-container:before { + content: ''; + display: block; + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + opacity: 0; + } + .checkbox-container:after { + pointer-events: none; + content: ''; + display: block; + position: absolute; + background-color: var(--toggle-thumb-color); + width: var(--toggle-thumb-width); + height: var(--toggle-thumb-height); + margin: var(--toggle-border-width) 0 0 0; + border-radius: var(--toggle-thumb-radius); + transition: transform 0.15s ease-in-out, width 0.1s ease-in-out, left 0.1s ease-in-out; + left: 0; + transform: translate3d(2px, 0, 0); + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15); + } + .checkbox-container:active:after { + width: calc(var(--toggle-thumb-width) + var(--toggle-border-width)); + } + .checkbox-container.mod-small { + width: var(--toggle-s-width); + height: calc(var(--toggle-s-thumb-height) + var(--toggle-s-border-width) * 2); + } + .checkbox-container.mod-small:focus-within { + outline: var(--toggle-s-border-width) solid var(--background-modifier-border-focus); + } + .checkbox-container.mod-small:after { + width: var(--toggle-s-thumb-width); + height: var(--toggle-s-thumb-height); + margin: var(--toggle-s-border-width) 0 0 0; + } + .checkbox-container.mod-small.is-enabled:after { + transform: translate3d(calc(var(--toggle-s-width) - var(--toggle-s-thumb-width) - var(--toggle-s-border-width)), 0, 0); + } + .checkbox-container.mod-small:active:after { + width: calc(var(--toggle-s-thumb-width) + var(--toggle-s-border-width)); + } + /* Add this attribute to the element that needs a tooltip */ + .tooltip { + animation: pop-down 200ms forwards ease-in-out; + box-shadow: 0 2px 8px var(--background-modifier-box-shadow); + background-color: var(--background-modifier-message); + border-radius: var(--radius-s); + color: #FAFAFA; + font-size: var(--font-ui-smaller); + font-weight: var(--font-medium); + left: 50%; + line-height: var(--line-height-tight); + max-width: 300px; + padding: 4px 8px; + position: fixed; + text-align: center; + transform: translateX(-50%); + z-index: var(--layer-tooltip); + pointer-events: none; + white-space: pre-wrap; + word-break: normal; + overflow-wrap: anywhere; + } + .tooltip.mod-right { + animation: pop-right 200ms forwards ease-in-out; + transform: translateY(-50%); + } + .tooltip.mod-left { + animation: pop-right 200ms forwards ease-in-out; + transform: translateY(-50%); + } + .tooltip.mod-error { + width: 200px; + background-color: var(--background-modifier-error); + color: var(--text-on-accent); + } + .tooltip.mod-wide { + max-width: 450px; + width: 400px; + } + /* Triangle hack to make tooltip look like a speech bubble */ + .tooltip .tooltip-arrow { + position: absolute; + top: -5px; + left: 50%; + width: 0; + margin-left: -5px; + border-bottom: 5px solid var(--background-modifier-message); + border-right: 5px solid transparent; + border-left: 5px solid transparent; + content: " "; + font-size: 0; + line-height: 0; + } + .tooltip.mod-right .tooltip-arrow { + top: calc(50% - 5px); + left: -5px; + border-right: 5px solid var(--background-modifier-message); + border-top: 5px solid transparent; + border-bottom: 5px solid transparent; + } + .tooltip.mod-left .tooltip-arrow { + top: calc(50% - 5px); + left: calc(100% + 5px); + border-left: 5px solid var(--background-modifier-message); + border-top: 5px solid transparent; + border-bottom: 5px solid transparent; + } + .tooltip.mod-top .tooltip-arrow { + top: calc(100%); + border-top: 5px solid var(--background-modifier-message); + border-bottom: 5px solid transparent; + } + .tooltip.mod-error .tooltip-arrow { + border-bottom-color: var(--background-modifier-error); + } + .tooltip.mod-error.mod-right .tooltip-arrow { + border-right-color: var(--background-modifier-error); + border-bottom: 5px solid transparent; + } + .tooltip.mod-error.mod-left .tooltip-arrow { + border-left-color: var(--background-modifier-error); + border-bottom: 5px solid transparent; + } + [aria-label] .svg-icon { + pointer-events: none; + } + @keyframes pop-down { + 0% { + opacity: 0; + transform: translateX(-50%) scale(1); + } + 20% { + opacity: 0.7; + transform: translateX(-50%) scale(1.02); + } + 40% { + opacity: 1; + transform: translateX(-50%) scale(1.05); + } + 100% { + opacity: 1; + transform: translateX(-50%) scale(1); + } + } + @keyframes pop-right { + 0% { + opacity: 0; + transform: translateY(-50%) scale(1); + } + 20% { + opacity: 0.7; + transform: translateY(-50%) scale(1.02); + } + 40% { + opacity: 1; + transform: translateY(-50%) scale(1.05); + } + 100% { + opacity: 1; + transform: translateY(-50%) scale(1); + } + } + .tree-item { + /* First level */ + /* Second level and beyond */ + } + .tree-item .tree-item-self { + padding-right: var(--size-4-3); + padding-left: var(--size-4-3); + } + .tree-item .tree-item-self .tree-item-icon { + margin-left: calc(var(--size-4-1) * -1); + } + .tree-item > .tree-item .tree-item-self { + padding: var(--nav-item-padding); + } + .tree-item-self { + padding: var(--nav-item-padding); + margin-bottom: 1px; + display: flex; + align-items: baseline; + border-radius: var(--radius-s); + font-size: var(--nav-item-size); + font-weight: var(--nav-item-weight); + color: var(--nav-item-color); + } + .tree-item-self.is-clickable { + cursor: var(--cursor); + } + @media (hover: hover) { + .tree-item-self.is-clickable:hover { + background-color: var(--nav-item-background-hover); + color: var(--nav-item-color-hover); + font-weight: var(--nav-item-weight-hover); + } + } + .tree-item-self .tree-item-icon { + display: flex; + align-items: center; + padding-inline-end: var(--size-2-3); + opacity: var(--icon-opacity); + color: var(--icon-color); + flex: 0 0 auto; + } + .tree-item-self .tree-item-icon .svg-icon:not(.right-triangle) { + --icon-size: var(--icon-s); + --icon-stroke: var(--icon-s-stroke-width); + } + .tree-item-flair-outer { + flex: 0 0 auto; + margin-left: var(--size-4-1); + display: flex; + align-items: center; + } + .tree-item-flair { + font-size: var(--font-ui-smaller); + color: var(--text-faint); + line-height: 1; + border-radius: var(--radius-s); + } + .tree-item-self:hover .tree-item-flair { + color: var(--text-muted); + } + .tree-item-inner { + flex: 1 1 auto; + line-height: var(--line-height-tight); + } + .tree-item-inner-subtext { + color: var(--text-faint); + font-size: 85%; + } + .tree-item-children { + padding-left: var(--size-4-2); + margin-left: var(--size-4-3); + margin-bottom: 1px; + border-left: var(--nav-indentation-guide-width) solid var(--nav-indentation-guide-color); + } + .inline-block { + display: inline-block; + vertical-align: middle; + } + .hidden-token { + display: inline; + font-size: 1px !important; + letter-spacing: -1ch; + font-family: monospace; + color: transparent; + } + .cm-s-obsidian { + /* adding some CodeMirror-not-implemented styles' default style */ + /* tooltip for addon/hover */ + /* gutter for addon/click */ + /* addon/fold */ + /* addon/fold-emoji */ + } + .cm-s-obsidian span.hmd-hidden-token.cm-formatting-em, + .cm-s-obsidian span.hmd-hidden-token.cm-formatting-strong, + .cm-s-obsidian span.hmd-hidden-token.cm-formatting-strikethrough, + .cm-s-obsidian span.hmd-hidden-token.cm-formatting-code, + .cm-s-obsidian span.hmd-hidden-token.cm-formatting-link { + display: inline; + font-size: 1px !important; + letter-spacing: -1ch; + font-family: monospace; + color: transparent; + } + .cm-s-obsidian .cm-inline-code, + .cm-s-obsidian .cm-math { + color: var(--code-normal); + } + .cm-s-obsidian div.HyperMD-hover > .HyperMD-hover-content { + background-color: #fff; + color: #000; + border: 1px solid #000; + padding: 0.5em; + } + .cm-s-obsidian div.HyperMD-hover > .HyperMD-hover-content p { + margin: 0.2em 0; + } + .cm-s-obsidian .HyperMD-goback { + width: 1px; + } + .cm-s-obsidian div.HyperMD-goback-button { + background-color: #ddd; + color: #333; + text-align: center; + cursor: var(--cursor); + } + .cm-s-obsidian .hmd-link-icon:after { + content: "🔗»"; + color: #009; + text-shadow: 0 0 2px #69F; + } + .cm-s-obsidian img.hmd-emoji { + height: 1.2em; + vertical-align: middle; + } + .mod-cm5 .cm-s-obsidian .HyperMD-table-row > :last-child { + padding-right: 52px !important; + } + .cm-s-obsidian { + line-height: var(--line-height-normal); + } + .cm-s-obsidian .hmd-fold-html-stub, + .cm-s-obsidian .hmd-fold-code-stub, + .cm-s-obsidian.CodeMirror .HyperMD-hover > .HyperMD-hover-content code, + .cm-s-obsidian .cm-inline-code, + .cm-s-obsidian .HyperMD-codeblock, + .cm-s-obsidian .HyperMD-hr, + .cm-s-obsidian .cm-hmd-frontmatter, + .cm-s-obsidian .cm-hmd-orgmode-markup, + .cm-s-obsidian .cm-formatting-code, + .cm-s-obsidian .cm-math, + .cm-s-obsidian span.hmd-fold-math-placeholder, + .cm-s-obsidian .CodeMirror-linewidget kbd, + .cm-s-obsidian .hmd-fold-html kbd { + font-family: var(--font-monospace); + } + .cm-s-obsidian .CodeMirror-matchingbracket { + outline: 1px solid grey; + color: black !important; + } + .cm-s-obsidian .CodeMirror-linenumber { + color: var(--text-faint); + } + .cm-s-obsidian .CodeMirror-gutters { + padding-right: 5px; + } + .cm-s-obsidian .CodeMirror-line { + padding: 0 5px; + } + .cm-s-obsidian .CodeMirror-line * { + text-indent: 0; + } + .cm-s-obsidian .CodeMirror-code { + padding-right: 10px; + } + .cm-s-obsidian span.cm-hmd-toc { + font-size: 24pt; + color: #999; + } + .cm-s-obsidian .HyperMD-header-line { + color: var(--text-muted); + } + .cm-s-obsidian span.cm-hmd-escape-backslash { + color: #CAA; + } + .cm-s-obsidian span.cm-hmd-escape-char { + color: #666; + } + .cm-s-obsidian span.cm-footref, + .cm-s-obsidian span.cm-blockid { + display: inline-block; + font-size: var(--font-smallest); + vertical-align: text-top; + color: var(--text-muted); + margin-top: -0.2em; + } + .cm-s-obsidian .hmd-file-uploading { + outline: 2px dashed #CCC; + outline-offset: -2px; + animation: hmd-file-uploading-ani 1.5s linear infinite; + } + @keyframes hmd-file-uploading-ani { + 0%, + 100% { + opacity: 0.4; + } + 50% { + opacity: 0.7; + } + } + .cm-s-obsidian .hmd-file-uploaded { + outline: 2px solid #6C3; + outline-offset: -2px; + } + .cm-s-obsidian .HyperMD-goback { + width: 1px; + } + .cm-s-obsidian div.HyperMD-goback-button { + padding-right: 15px; + border-radius: 0 10px 10px 0; + display: inline-block; + text-align: center; + background-color: #8daed9; + color: #f7f7f7; + cursor: var(--cursor); + } + @media (hover: hover) { + .cm-s-obsidian div.HyperMD-goback-button:hover { + color: transparent; + text-align: left; + } + .cm-s-obsidian div.HyperMD-goback-button:hover:before { + position: absolute; + padding-left: 5px; + content: "Back"; + color: #f7f7f7; + } + } + .cm-s-obsidian.CodeMirror div.HyperMD-hover > .HyperMD-hover-content { + background-color: #000; + background-color: rgba(0, 0, 0, 0.7); + border: 0; + color: #fff; + border-radius: 5px; + padding: 5px 10px; + font-size: 95%; + min-width: 200px; + } + .cm-s-obsidian.CodeMirror div.HyperMD-hover > .HyperMD-hover-content a { + color: inherit; + } + .cm-s-obsidian.CodeMirror div.HyperMD-hover > .HyperMD-hover-content p { + margin: 0.2em 0; + } + .cm-s-obsidian.CodeMirror div.HyperMD-hover > .HyperMD-hover-indicator { + content: " "; + display: block; + width: 0px; + margin-bottom: -5px; + border: 5px solid transparent; + border-top-color: #000; + border-top-color: rgba(0, 0, 0, 0.7); + } + .cm-s-obsidian .hmd-fold-code-image { + text-align: center; + } + .cm-s-obsidian .HyperMD-header, + .cm-s-obsidian .HyperMD-footnote, + .cm-s-obsidian .HyperMD-codeblock, + .cm-s-obsidian .HyperMD-hr { + clear: left; + } + .cm-s-obsidian span.hmd-hidden-token.cm-formatting-task { + color: transparent !important; + } + .cm-s-obsidian .hmd-inactive-line span.cm-hmd-escape-backslash, + .cm-s-obsidian .hmd-inactive-line span.cm-formatting-header { + font-size: 0 !important; + display: inline; + } + .cm-s-obsidian .hmd-inactive-line span.cm-hmd-list-indent { + border-right: 0; + } + audio { + outline: none; + } + .markdown-rendered audio { + max-width: 100%; + outline: none; + } + audio { + width: 100%; + height: 42px; + } + audio::-webkit-media-controls-enclosure { + border-radius: calc(var(--radius-m) - 1px); + border: 1px solid var(--background-modifier-border); + background-color: var(--background-primary-alt); + } + audio::-webkit-media-controls-current-time-display, + audio::-webkit-media-controls-time-remaining-display { + font-family: var(--font-interface); + } + .markdown-rendered blockquote { + color: var(--blockquote-color); + font-style: var(--blockquote-font-style); + background-color: var(--blockquote-background-color); + border-left: var(--blockquote-border-thickness) solid var(--blockquote-border-color); + padding: 0 0 0 var(--size-4-6); + margin-inline-start: 0; + margin-inline-end: 0; + } + .markdown-rendered blockquote > :first-child { + margin-top: 0; + } + .markdown-rendered blockquote > :last-child { + margin-bottom: 0; + } + .cm-s-obsidian span.cm-quote { + color: var(--blockquote-color); + } + .cm-s-obsidian span.cm-formatting-quote { + color: var(--text-faint); + } + .cm-s-obsidian .hmd-inactive-line span.cm-formatting-quote { + color: transparent; + } + .markdown-source-view.mod-cm6.is-live-preview .HyperMD-quote:before, + .markdown-source-view.mod-cm6 .cm-blockquote-border:before { + content: "\200b"; + display: block; + width: 1px; + border-left: var(--blockquote-border-thickness) solid var(--blockquote-border-color); + color: transparent; + position: absolute; + top: 0; + bottom: 0; + } + .markdown-source-view.mod-cm6.is-live-preview .HyperMD-quote { + font-style: var(--blockquote-style); + background-color: var(--blockquote-background-color); + } + .markdown-source-view.mod-cm6.is-live-preview .HyperMD-quote:before { + left: 0; + } + .markdown-source-view.mod-cm6 .cm-blockquote-border { + display: inline-block; + } + .callout { + --callout-color: 68, 138, 255; + --callout-icon: lucide-pencil; + } + .callout[data-callout="abstract"], + .callout[data-callout="summary"], + .callout[data-callout="tldr"] { + --callout-color: 0, 176, 255; + --callout-icon: lucide-clipboard-list; + } + .callout[data-callout="info"], + .callout[data-callout="todo"] { + --callout-color: 0, 184, 212; + } + .callout[data-callout="info"] { + --callout-icon: lucide-info; + } + .callout[data-callout="todo"] { + --callout-icon: lucide-check-circle-2; + } + .callout[data-callout="tip"], + .callout[data-callout="hint"], + .callout[data-callout="important"] { + --callout-color: 0, 191, 165; + --callout-icon: lucide-flame; + } + .callout[data-callout="success"], + .callout[data-callout="check"], + .callout[data-callout="done"] { + --callout-color: 0, 200, 83; + --callout-icon: lucide-check; + } + .callout[data-callout="question"], + .callout[data-callout="help"], + .callout[data-callout="faq"] { + --callout-color: 100, 221, 23; + --callout-icon: help-circle; + } + .callout[data-callout="warning"], + .callout[data-callout="caution"], + .callout[data-callout="attention"] { + --callout-color: 255, 145, 0; + --callout-icon: lucide-alert-triangle; + } + .callout[data-callout="failure"], + .callout[data-callout="fail"], + .callout[data-callout="missing"] { + --callout-color: 255, 82, 82; + --callout-icon: lucide-x; + } + .callout[data-callout="danger"], + .callout[data-callout="error"] { + --callout-color: 255, 23, 68; + --callout-icon: lucide-zap; + } + .callout[data-callout="bug"] { + --callout-color: 245, 0, 87; + --callout-icon: lucide-bug; + } + .callout[data-callout="example"] { + --callout-color: 124, 77, 255; + --callout-icon: lucide-list; + } + .callout[data-callout="quote"], + .callout[data-callout="cite"] { + --callout-color: 158, 158, 158; + --callout-icon: lucide-quote; + } + .callout { + overflow: hidden; + border-style: solid; + border-color: rgba(var(--callout-color), var(--callout-border-opacity)); + border-width: var(--callout-border-width); + border-radius: var(--callout-radius); + margin: 1em 0; + mix-blend-mode: var(--callout-blend-mode); + background-color: rgba(var(--callout-color), 0.1); + padding: var(--callout-padding); + } + .callout.is-collapsible .callout-title { + cursor: var(--cursor); + } + .callout-title { + padding: var(--callout-title-padding); + display: flex; + gap: var(--size-4-1); + font-size: var(--callout-title-size); + color: rgb(var(--callout-color)); + line-height: var(--line-height-tight); + } + .callout-content { + overflow-x: auto; + padding: var(--callout-content-padding); + } + .callout-icon { + flex: 0 0 auto; + display: flex; + align-self: center; + } + .callout-icon .svg-icon { + color: rgb(var(--callout-color)); + } + .callout-title-inner { + font-weight: var(--bold-weight); + } + .callout-fold { + display: flex; + align-items: center; + padding-right: var(--size-4-2); + } + .callout-fold .svg-icon { + transition: transform 100ms ease-in-out; + } + .callout.is-collapsed .callout-fold .svg-icon { + transform: rotate(-90deg); + } + .markdown-source-view.mod-cm6 .callout { + margin: 0; + } + .markdown-rendered pre { + position: relative; + padding: var(--size-4-2) var(--size-4-4); + min-height: 38px; + background-color: var(--code-background); + border-radius: var(--radius-s); + white-space: pre-wrap; + } + .markdown-rendered pre code { + border: none; + padding: 0; + } + .markdown-rendered pre:not(:hover) > button.copy-code-button { + display: none; + } + .markdown-rendered button.copy-code-button { + margin: 6px; + padding: 6px 8px; + height: auto; + background-color: transparent; + box-shadow: none; + color: var(--text-muted); + font-size: var(--font-ui-smaller); + font-family: var(--font-interface); + position: absolute; + top: 0; + right: 0; + } + @media (hover: hover) { + .markdown-rendered button.copy-code-button:hover { + background-color: var(--background-secondary-alt); + } + } + .markdown-source-view.mod-cm6 .cm-preview-code-block pre { + margin: 0; + } + .markdown-source-view.mod-cm6 .code-block-flair { + position: absolute; + right: 6px; + top: 6px; + z-index: 1; + display: inline-block; + padding: var(--size-4-1) var(--size-4-2); + border-radius: var(--radius-s); + font-family: var(--font-interface); + font-size: var(--font-ui-smaller); + color: var(--text-muted); + cursor: var(--cursor); + } + @media (hover: hover) { + .markdown-source-view.mod-cm6 .code-block-flair:hover { + background-color: var(--background-secondary-alt); + } + } + .markdown-source-view.mod-cm6 .cm-line.HyperMD-codeblock { + padding-left: var(--size-4-4); + color: var(--code-normal); + } + .cm-s-obsidian .HyperMD-codeblock { + font-family: var(--font-monospace); + line-height: var(--line-height-tight); + font-size: var(--code-size); + } + .cm-s-obsidian .HyperMD-codeblock-begin, + .cm-s-obsidian .HyperMD-codeblock-end { + color: var(--code-normal); + } + .cm-s-obsidian .HyperMD-codeblock span.cm-inline-code { + background-color: inherit; + border: inherit; + padding: inherit; + font-size: inherit; + } + .cm-s-obsidian div.HyperMD-codeblock-bg { + left: 0; + right: 0; + background-color: var(--code-background); + } + .cm-s-obsidian div.HyperMD-codeblock-begin-bg { + border-top-left-radius: 4px; + border-top-right-radius: 4px; + } + .cm-s-obsidian div.HyperMD-codeblock-end-bg { + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + } + .cm-s-obsidian div.HyperMD-codeblock-begin-bg, + .cm-s-obsidian div.HyperMD-codeblock-end-bg { + background-color: var(--code-background); + } + code[class*="language-"], + pre[class*="language-"] { + color: var(--code-normal); + background: none; + word-wrap: break-word; + white-space: pre-wrap; + word-break: normal; + font-family: var(--font-monospace); + text-align: left; + word-spacing: normal; + line-height: var(--line-height-normal); + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + } + @media print { + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } + } + :not(pre) > code[class*="language-"], + pre[class*="language-"] { + background: var(--code-background); + } + /* Code blocks */ + pre[class*="language-"] { + overflow: hidden; + } + code[class*="language-"] { + display: block; + padding: 1em; + overflow: auto; + } + /* Inline code */ + :not(pre) > code[class*="language-"] { + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; + } + .token.important, + .token.bold { + font-weight: bold; + } + .token.italic { + font-style: italic; + } + .token.entity { + cursor: help; + } + /* Syntax highlighting */ + .token.comment, + .token.prolog, + .token.doctype, + .token.cdata, + .cm-comment, + .cm-meta { + color: var(--code-comment); + } + .token.namespace { + opacity: 0.7; + } + .token.tag, + .token.constant, + .token.symbol, + .token.deleted, + .cm-tag { + color: var(--code-tag); + } + .token.punctuation, + .cm-punctuation, + .cm-bracket, + .cm-hr { + color: var(--code-punctuation); + } + .token.boolean, + .token.number, + .cm-number { + color: var(--code-value); + } + .token.selector, + .token.attr-name, + .token.string, + .token.char, + .token.builtin, + .token.inserted, + .cm-qualifier, + .cm-string, + .cm-string-2 { + color: var(--code-string); + } + .token.entity, + .token.parameter, + .token.property, + .token.property-access, + .token.operator, + .token.url, + .language-css .token.string, + .style .token.string, + .token.variable, + .cm-operator, + .cm-link, + .cm-variable, + .cm-variable-2, + .cm-variable-3 { + color: var(--code-property); + } + .token.atrule, + .token.attr-value, + .token.function, + .token.class-name, + .cm-property, + .cm-attribute, + .cm-type { + color: var(--code-function); + } + .token.keyword, + .cm-keyword, + .cm-builtin { + color: var(--code-keyword); + } + .token.regex, + .token.important { + color: var(--code-important); + } + .markdown-rendered code { + color: var(--code-normal); + font-family: var(--font-monospace); + background-color: var(--code-background); + border-radius: var(--radius-s); + font-size: var(--code-size); + padding: 0.1em 0.25em; + } + .cm-s-obsidian span.cm-inline-code { + color: var(--code-normal); + font-size: var(--code-size); + background-color: var(--code-background); + vertical-align: baseline; + } + .cm-s-obsidian span.cm-inline-code.cm-hmd-indented-code { + background-color: transparent; + } + .cm-s-obsidian span.cm-inline-code:not(.cm-formatting):not(.cm-hmd-indented-code):not(.obsidian-search-match-highlight) { + background-color: var(--code-background); + vertical-align: baseline; + } + .cm-s-obsidian span.cm-inline-code.hmd-hidden-token { + font-size: 0; + } + .cm-s-obsidian.CodeMirror div.HyperMD-hover > .HyperMD-hover-content code { + display: inline-block; + font-size: var(--code-size); + border: 1px solid #999; + border-radius: 2px; + padding: 0px 4px; + } + .markdown-preview-view .markdown-embed .markdown-preview-view { + --file-folding-offset: 0px; + height: 100%; + padding: 0; + } + .markdown-preview-view .markdown-embed .markdown-preview-view .markdown-preview-pusher h1, + .markdown-preview-view .markdown-embed .markdown-preview-view .markdown-preview-pusher h2, + .markdown-preview-view .markdown-embed .markdown-preview-view .markdown-preview-pusher h3, + .markdown-preview-view .markdown-embed .markdown-preview-view .markdown-preview-pusher h4, + .markdown-preview-view .markdown-embed .markdown-preview-view .markdown-preview-pusher h5, + .markdown-preview-view .markdown-embed .markdown-preview-view .markdown-preview-pusher h6 { + margin-top: 0; + } + .pdf-embed, + .markdown-source-view .pdf-embed { + width: 100%; + height: 800px; + } + .markdown-embed, + .file-embed { + position: relative; + } + .markdown-embed-link, + .file-embed-link { + position: absolute; + top: 4px; + right: 4px; + color: var(--icon-color); + opacity: var(--icon-opacity); + cursor: var(--cursor-link); + padding: var(--size-2-2); + border-radius: var(--radius-s); + display: flex; + align-items: center; + --icon-size: var(--icon-s); + --icon-stroke: var(--icon-s-stroke-width); + } + @media (hover: hover) { + .markdown-embed-link:hover, + .file-embed-link:hover { + color: var(--icon-color-hover); + opacity: var(--icon-opacity-hover); + background: var(--background-modifier-hover); + } + } + .markdown-embed-title, + .file-embed-title { + font-size: var(--font-text-size); + top: 0; + left: 0; + right: 0; + width: 100%; + } + .file-embed-icon { + color: var(--text-muted); + vertical-align: middle; + } + .file-embed { + display: flex; + justify-content: center; + border-radius: var(--radius-m); + background-color: var(--background-primary-alt); + } + .file-embed.mod-empty { + cursor: var(--cursor-link); + padding: var(--size-4-2); + color: var(--text-muted); + text-align: center; + font-size: var(--font-smaller); + } + @media (hover: hover) { + .file-embed.mod-empty:hover { + color: var(--text-normal); + background-color: var(--background-secondary); + } + } + .markdown-embed-title { + font-weight: var(--bold-weight); + text-align: left; + text-overflow: ellipsis; + white-space: nowrap; + padding: 0 0 var(--size-4-2) 0; + } + .markdown-embed { + font-style: var(--embed-font-style); + background-color: var(--embed-background); + border-top: var(--embed-border-top); + border-right: var(--embed-border-right); + border-bottom: var(--embed-border-bottom); + border-left: var(--embed-border-left); + margin: 0; + padding: var(--embed-padding); + } + .markdown-embed .markdown-preview-view { + padding: 0; + } + .internal-embed:not(.image-embed) { + display: block; + } + .markdown-embed-content { + height: fit-content; + max-height: 4000px; + overflow: auto; + } + .markdown-embed-content p:first-child { + margin-top: 0; + } + .markdown-source-view.mod-cm6 .internal-embed { + white-space: normal; + } + .markdown-source-view.mod-cm6 .cm-embed-block { + position: relative; + white-space: normal; + overflow-wrap: normal; + word-break: normal; + } + @media (hover: hover) { + .markdown-source-view.mod-cm6 .cm-embed-block:hover { + box-shadow: var(--embed-block-shadow-hover); + border-radius: var(--radius-s); + overflow: hidden; + cursor: text; + } + .markdown-source-view.mod-cm6 .cm-embed-block:hover .edit-block-button { + opacity: 1; + } + .markdown-source-view.mod-cm6 .cm-embed-block:hover .edit-block-button:hover { + background-color: var(--background-modifier-hover); + } + } + .markdown-source-view.mod-cm6 .cm-embed-block pre { + margin: 0; + } + .footnote-link { + text-decoration: none; + } + .footnotes { + font-size: var(--footnote-size); + } + .footnote-ref { + vertical-align: top; + } + .footnote-backref { + color: var(--text-faint); + text-decoration: none; + } + @media (hover: hover) { + .footnote-backref:hover { + color: var(--text-accent); + } + } + .cm-s-obsidian .cm-line.HyperMD-footnote { + font-size: var(--footnote-size); + padding-left: 8px; + } + .cm-s-obsidian .cm-line.HyperMD-footnote span.cm-hmd-footnote { + color: var(--text-faint); + cursor: text; + } + .cm-s-obsidian .cm-line.HyperMD-footnote span.cm-hmd-footnote .cm-underline { + text-decoration: none; + } + @media (hover: hover) { + .cm-s-obsidian .cm-line.HyperMD-footnote span.cm-hmd-footnote:hover { + color: var(--text-accent); + } + } + .markdown-preview-view:not(.show-frontmatter) .frontmatter { + display: none; + } + .markdown-rendered .frontmatter.mod-failed { + position: relative; + } + .markdown-rendered .frontmatter.mod-failed .mod-error { + color: var(--text-error); + font-size: var(--font-smaller); + } + .markdown-rendered .frontmatter.mod-failed:after { + content: ''; + position: absolute; + top: 0; + right: 0; + width: 100%; + height: 100%; + background-color: var(--background-modifier-error); + opacity: 0.3; + mix-blend-mode: var(--highlight-mix-blend-mode); + } + .frontmatter-container { + padding: var(--size-4-2) 0 var(--size-4-4); + color: var(--text-muted); + position: relative; + /*.tag, + .frontmatter-alias { + text-decoration: none; + background-color: var(--background-secondary); + border-radius: 30px; + color: var(--text-muted); + padding: var(--size-2-2) var(--size-4-2); + line-height: 1; + white-space: nowrap; + } + */ + } + .markdown-embed-content .frontmatter-container { + display: none; + } + .frontmatter-container.is-collapsed .frontmatter-section { + display: none; + } + .frontmatter-container .frontmatter-collapse-indicator { + margin-right: 6px; + align-self: center; + display: none; + } + .frontmatter-container .frontmatter-container-header { + color: var(--text-normal); + font-size: var(--font-smaller); + user-select: none; + -webkit-user-select: none; + cursor: var(--cursor); + font-weight: var(--font-medium); + display: flex; + content: 'Metadata'; + border-bottom: 1px solid var(--background-modifier-border); + padding-bottom: var(--size-4-2); + margin-bottom: var(--size-4-2); + } + .frontmatter-container.is-collapsed .frontmatter-container-header { + color: var(--text-faint); + } + @media (hover: hover) { + .frontmatter-container.is-collapsed .frontmatter-container-header:hover { + color: var(--text-muted); + } + } + .frontmatter-container .frontmatter-section-label { + padding-right: 0.5em; + flex-basis: 4em; + flex-shrink: 0; + font-size: var(--font-smaller); + } + .frontmatter-container .frontmatter-alias { + font-size: var(--font-smaller); + color: var(--text-normal); + cursor: default; + display: inline-flex; + align-items: center; + line-height: 1; + white-space: nowrap; + padding-right: 4px; + } + .frontmatter-container .frontmatter-alias-icon { + margin-right: var(--size-2-1); + color: var(--text-accent); + display: flex; + align-items: center; + } + .frontmatter-container .frontmatter-alias-icon .svg-icon { + width: 12px; + height: 12px; + stroke-width: 2.5px; + } + .frontmatter-container .frontmatter-section { + display: flex; + align-items: center; + margin-bottom: var(--size-2-3); + } + .frontmatter-container .frontmatter-section:last-child { + margin-bottom: 0; + } + .frontmatter-container .frontmatter-section-aliases, + .frontmatter-container .frontmatter-section-tags { + display: inline-flex; + flex-wrap: wrap; + align-items: center; + gap: var(--size-2-2); + } + /* Edit mode */ + .cm-hmd-frontmatter { + font-size: var(--font-smaller); + color: var(--text-muted); + } + .cm-hmd-frontmatter.cm-hmd-frontmatter.cm-def { + color: var(--text-muted); + } + .cm-s-obsidian .HyperMD-header { + padding-bottom: 0.25em; + } + .markdown-rendered h1, + .markdown-rendered h2, + .markdown-rendered h3, + .markdown-rendered h4, + .markdown-rendered h5, + .markdown-rendered h6 { + margin: 15px 0; + } + .markdown-rendered li h1, + .markdown-rendered li h2, + .markdown-rendered li h3, + .markdown-rendered li h4, + .markdown-rendered li h5 { + margin-top: 0; + margin-bottom: 0; + } + .cm-formatting-header { + color: var(--heading-formatting); + } + h1, + .markdown-rendered h1, + .HyperMD-header-1, + .HyperMD-list-line .cm-header-1 { + font-variant: var(--h1-variant); + letter-spacing: -0.015em; + line-height: var(--h1-line-height); + font-size: var(--h1-size); + color: var(--h1-color); + font-weight: var(--h1-weight); + font-style: var(--h1-style); + font-family: var(--h1-font); + } + h1 a, + .markdown-rendered h1 a, + .HyperMD-header-1 a, + .HyperMD-list-line .cm-header-1 a { + font-weight: inherit; + } + h2, + .markdown-rendered h2, + .HyperMD-header-2, + .HyperMD-list-line .cm-header-2 { + font-variant: var(--h2-variant); + letter-spacing: -0.015em; + line-height: var(--h2-line-height); + font-size: var(--h2-size); + color: var(--h2-color); + font-weight: var(--h2-weight); + font-style: var(--h2-style); + font-family: var(--h2-font); + } + h2 a, + .markdown-rendered h2 a, + .HyperMD-header-2 a, + .HyperMD-list-line .cm-header-2 a { + font-weight: inherit; + } + h3, + .markdown-rendered h3, + .HyperMD-header-3, + .HyperMD-list-line .cm-header-3 { + font-variant: var(--h3-variant); + letter-spacing: -0.015em; + line-height: var(--h3-line-height); + font-size: var(--h3-size); + color: var(--h3-color); + font-weight: var(--h3-weight); + font-style: var(--h3-style); + font-family: var(--h3-font); + } + h3 a, + .markdown-rendered h3 a, + .HyperMD-header-3 a, + .HyperMD-list-line .cm-header-3 a { + font-weight: inherit; + } + h4, + .markdown-rendered h4, + .HyperMD-header-4, + .HyperMD-list-line .cm-header-4 { + font-variant: var(--h4-variant); + letter-spacing: 0.015em; + line-height: var(--h4-line-height); + font-size: var(--h4-size); + color: var(--h4-color); + font-weight: var(--h4-weight); + font-style: var(--h4-style); + font-family: var(--h4-font); + } + h4 a, + .markdown-rendered h4 a, + .HyperMD-header-4 a, + .HyperMD-list-line .cm-header-4 a { + font-weight: inherit; + } + h5, + .markdown-rendered h5, + .HyperMD-header-5, + .HyperMD-list-line .cm-header-5 { + font-variant: var(--h5-variant); + letter-spacing: 0.015em; + font-size: var(--h5-size); + line-height: var(--h5-line-height); + color: var(--h5-color); + font-weight: var(--h5-weight); + font-style: var(--h5-style); + font-family: var(--h5-font); + } + h5 a, + .markdown-rendered h5 a, + .HyperMD-header-5 a, + .HyperMD-list-line .cm-header-5 a { + font-weight: inherit; + } + h6, + .markdown-rendered h6, + .HyperMD-header-6, + .HyperMD-list-line .cm-header-6 { + font-variant: var(--h6-variant); + letter-spacing: 0.015em; + font-size: var(--h6-size); + line-height: var(--h6-line-height); + color: var(--h6-color); + font-weight: var(--h6-weight); + font-style: var(--h6-style); + font-family: var(--h6-font); + } + h6 a, + .markdown-rendered h6 a, + .HyperMD-header-6 a, + .HyperMD-list-line .cm-header-6 a { + font-weight: inherit; + } + .HyperMD-header .cm-header-1, + .HyperMD-header .cm-header-2, + .HyperMD-header .cm-header-3, + .HyperMD-header .cm-header-4, + .HyperMD-header .cm-header-5, + .HyperMD-header .cm-header-6 { + font-size: inherit !important; + } + hr { + border: none; + border-top: var(--hr-thickness) solid; + border-color: var(--hr-color); + margin: 1.5em 0; + } + .markdown-rendered hr { + border: none; + border-top: var(--hr-thickness) solid; + border-color: var(--hr-color); + } + .cm-s-obsidian .hmd-inactive-line.HyperMD-hr { + color: transparent; + background-color: transparent; + } + .markdown-source-view.mod-cm6 .hr { + display: flex; + align-items: center; + } + .markdown-source-view.mod-cm6 hr { + margin: 0; + flex: 1 0 0; + } + .cm-s-obsidian .hmd-fold-html-stub, + .cm-s-obsidian .hmd-fold-code-stub { + display: inline-block; + font-size: 67%; + color: #999; + vertical-align: middle; + border: 1px solid #999; + padding: 0 0.2em; + border-radius: 5px; + margin: 0 0.5em; + background-color: var(--background-primary-alt); + cursor: var(--cursor); + } + .cm-s-obsidian .hmd-fold-html-stub.omittable, + .cm-s-obsidian .omittable.hmd-fold-code-stub { + display: none; + } + .cm-s-obsidian .hmd-fold-html-stub:hover, + .cm-s-obsidian .hmd-fold-code-stub:hover, + .cm-s-obsidian .hmd-fold-html-stub.highlight, + .cm-s-obsidian .highlight.hmd-fold-code-stub { + color: #FFF; + border-color: #C30; + background: #F40; + } + .cm-s-obsidian .hmd-fold-html { + position: relative; + border: 1px solid #FFF; + } + @media (hover: hover) { + .cm-s-obsidian .hmd-fold-html:hover { + border: 1px dashed #999; + } + } + .cm-s-obsidian .hmd-fold-html:hover .hmd-fold-html-stub.omittable, + .cm-s-obsidian .hmd-fold-html:hover .omittable.hmd-fold-code-stub { + display: block; + right: 0; + bottom: 100%; + margin: 0; + position: absolute; + z-index: 100; + } + iframe { + border: 0; + } + .markdown-preview-view img, + .markdown-rendered img { + -webkit-touch-callout: default; + image-rendering: -webkit-optimize-contrast; + } + .markdown-preview-view img:not([width]), + .markdown-rendered img:not([width]) { + max-width: 100%; + outline: none; + } + .cm-s-obsidian .CodeMirror-linewidget a > img, + .cm-s-obsidian .hmd-fold-html a > img { + border: 0; + } + .cm-s-obsidian img.hmd-image { + vertical-align: middle; + width: auto; + max-width: 100%; + height: auto; + } + .cm-s-obsidian img.hmd-image.hmd-image-loading, + .cm-s-obsidian img.hmd-image.hmd-image-error { + min-width: 24px; + min-height: 24px; + } + .markdown-source-view.mod-cm6 .cm-line .internal-embed.image-embed { + display: inline; + } + .internal-query { + margin: 0; + border-top: 1px solid var(--background-modifier-border); + } + .internal-query .search-result-container { + padding: var(--size-4-2); + max-height: 800px; + overflow: auto; + border: 1px solid var(--background-modifier-border); + background-color: var(--background-secondary); + border-radius: var(--radius-m); + } + .internal-query .internal-query-header { + text-align: center; + padding: var(--size-4-3) 0 var(--size-4-3) var(--size-4-1); + color: var(--text-normal); + display: flex; + justify-content: flex-start; + align-items: center; + } + .internal-query .internal-query-header-icon { + color: var(--text-faint); + margin-right: var(--size-4-1); + display: flex; + } + .internal-query .internal-query-header-title { + font-weight: var(--font-medium); + } + .internal-query .internal-query-header-title:before, + .internal-query .internal-query-header-title:after { + content: '"'; + } + kbd { + color: var(--code-normal); + font-family: var(--font-monospace); + background-color: var(--code-background); + border-radius: var(--radius-s); + font-size: var(--code-size); + padding: 0.1em 0.25em; + } + a { + color: var(--link-color); + outline: none; + text-decoration-line: var(--link-decoration); + text-decoration-thickness: var(--link-decoration-thickness); + cursor: var(--cursor-link); + } + @media (hover: hover) { + a:hover { + color: var(--link-color-hover); + text-decoration-line: var(--link-decoration-hover); + } + } + .external-link { + color: var(--link-external-color); + text-decoration-line: var(--link-external-decoration); + background-position: center right; + background-repeat: no-repeat; + background-image: linear-gradient(transparent, transparent), url('/img/outgoing.svg'); + background-size: 13px; + padding-right: 16px; + background-position-y: 4px; + cursor: var(--cursor-link); + filter: var(--link-external-filter); + } + @media (hover: hover) { + .external-link:hover { + color: var(--link-external-color-hover); + text-decoration-line: var(--link-external-decoration-hover); + } + } + .markdown-rendered .internal-link { + cursor: var(--cursor-link); + text-decoration-line: var(--link-decoration); + } + @media (hover: hover) { + .markdown-rendered .internal-link:hover { + text-decoration-line: var(--link-decoration-hover); + } + } + .markdown-rendered .internal-link.is-unresolved { + color: var(--link-unresolved-color); + opacity: var(--link-unresolved-opacity); + filter: var(--link-unresolved-filter); + text-decoration-style: var(--link-unresolved-decoration-style); + text-decoration-color: var(--link-unresolved-decoration-color); + } + @media (hover: hover) { + .markdown-rendered .internal-link.is-unresolved:hover { + opacity: 1; + color: var(--link-color-hover); + text-decoration-color: var(--link-color-hover); + text-decoration-line: var(--link-decoration-hover); + } + } + body.is-mobile .markdown-rendered { + user-select: none; + } + .cm-s-obsidian span.cm-hmd-internal-link { + color: var(--link-color); + } + .cm-s-obsidian span.cm-hmd-internal-link:hover { + text-decoration-line: var(--link-decoration-hover); + color: var(--link-color-hover); + } + .cm-s-obsidian span.cm-link { + color: var(--link-external-color); + word-break: break-word; + } + @media (hover: hover) { + .cm-s-obsidian span.cm-link:hover { + color: var(--link-external-color-hover); + text-decoration-line: var(--link-external-decoration-hover); + } + } + .cm-s-obsidian span.cm-url { + color: var(--link-external-color); + text-decoration-line: var(--link-external-decoration); + filter: var(--link-external-filter); + word-break: break-all; + } + @media (hover: hover) { + .cm-s-obsidian span.cm-url:hover { + color: var(--link-external-color-hover); + text-decoration-line: var(--link-external-decoration-hover); + } + } + .cm-s-obsidian span.cm-formatting-link { + color: var(--text-faint); + } + .cm-s-obsidian span.hmd-link-icon { + width: 20px; + height: 16px; + display: inline-block; + vertical-align: middle; + opacity: 0.4; + } + @media (hover: hover) { + .cm-s-obsidian span.hmd-link-icon:hover { + opacity: 1; + } + } + .cm-s-obsidian span.hmd-link-icon:after { + content: ""; + } + .markdown-source-view.mod-cm6 .is-unresolved { + color: var(--link-unresolved-color); + opacity: var(--link-unresolved-opacity); + filter: var(--link-unresolved-filter); + } + @media (hover: hover) { + .markdown-source-view.mod-cm6 .is-unresolved:hover { + opacity: 1; + color: var(--link-color-hover); + text-decoration-color: var(--link-color-hover); + } + } + .markdown-source-view.mod-cm6 .is-unresolved .cm-underline { + text-decoration-line: underline; + text-decoration-style: var(--link-unresolved-decoration-style); + text-decoration-color: var(--link-unresolved-decoration-color); + } + .markdown-source-view.mod-cm6 .cm-underline { + text-decoration-line: var(--link-decoration); + text-decoration-thickness: var(--link-decoration-thickness); + } + body.is-mobile .markdown-source-view.mod-cm6 .cm-underline { + -webkit-user-select: text; + } + .markdown-source-view.mod-cm6.is-live-preview .cm-hashtag.cm-meta, + .markdown-source-view.mod-cm6 .cm-hmd-internal-link .cm-underline, + .markdown-source-view.mod-cm6 .cm-link .cm-underline, + .markdown-source-view.mod-cm6 .cm-url .cm-underline { + cursor: var(--cursor-link); + } + @media (hover: hover) { + .markdown-source-view.mod-cm6 .cm-hmd-internal-link .cm-underline:hover { + text-decoration-line: var(--link-decoration-hover); + } + } + .markdown-source-view.mod-cm6 .cm-link .cm-underline, + .markdown-source-view.mod-cm6 .cm-url .cm-underline { + text-decoration-line: var(--link-external-decoration); + } + @media (hover: hover) { + .markdown-source-view.mod-cm6 .cm-link .cm-underline:hover, + .markdown-source-view.mod-cm6 .cm-url .cm-underline:hover { + color: var(--link-external-color-hover); + text-decoration-line: var(--link-external-decoration-hover); + } + } + .cm-s-obsidian.HyperMD-with-alt span.cm-url, + .cm-s-obsidian.HyperMD-with-alt span.cm-link, + .cm-s-obsidian.HyperMD-with-alt .cm-link + .CodeMirror-widget, + .cm-s-obsidian.HyperMD-with-alt span.cm-hashtag, + .cm-s-obsidian.HyperMD-with-ctrl span.cm-url, + .cm-s-obsidian.HyperMD-with-ctrl span.cm-link, + .cm-s-obsidian.HyperMD-with-ctrl .cm-link + .CodeMirror-widget, + .cm-s-obsidian.HyperMD-with-ctrl span.cm-hashtag { + cursor: var(--cursor-link); + } + /* Default markers */ + ul ul, + ol ul, + ol ol ul, + ol ul ul, + ul ol ul, + ul ul ul { + list-style-type: disc; + } + .cm-formatting-list-ol { + font-variant-numeric: tabular-nums; + } + ol > li::marker, + ul > li::marker, + .cm-s-obsidian .cm-formatting-list { + color: var(--list-marker-color); + } + ol > li.is-collapsed::marker, + ul > li.is-collapsed::marker, + .cm-s-obsidian .is-collapsed ~ .cm-formatting-list { + color: var(--list-marker-color-collapsed); + } + /* Indent depth + Consistency in horizontal positioning of lists + */ + .markdown-rendered ul, + .markdown-rendered ol { + padding-inline-start: var(--list-indent); + } + .cm-line.HyperMD-list-line { + tab-size: var(--list-indent); + } + .markdown-source-view.mod-cm6 .cm-content > .cm-line.HyperMD-list-line { + margin-left: 0.5em; + } + /* Space between list items */ + .markdown-source-view ol > li, + .markdown-source-view ul > li, + .markdown-preview-view ol > li, + .markdown-preview-view ul > li, + .markdown-rendered ul > li, + .mod-cm6 .HyperMD-list-line.cm-line { + padding-top: var(--list-spacing); + padding-bottom: var(--list-spacing); + } + /* Allow clicking on the bullet to collapse */ + /* #todo move this into folding.less */ + .markdown-rendered .list-collapse-indicator { + margin-left: -45px; + padding-right: 18px; + } + .markdown-rendered .list-bullet { + float: left; + margin-left: -12px; + } + .markdown-rendered .task-list-item > .list-bullet { + display: none; + } + .markdown-source-view.mod-cm6 { + /* only allow this if line is not active, so that it's still editable */ + } + .markdown-source-view.mod-cm6 .cm-fold-indicator .collapse-indicator { + padding-right: 6px; + } + .markdown-source-view.mod-cm6 .cm-line:not(.cm-active):not(.HyperMD-header):not(.HyperMD-task-line) .cm-fold-indicator .collapse-indicator { + padding-right: 18px; + right: -10px; + } + /* Remove default bullets so we can replace them */ + .markdown-rendered ul.has-list-bullet { + list-style-type: none; + } + .markdown-rendered ul.has-list-bullet li p:first-of-type { + margin-block-start: 0; + } + .list-bullet { + /* hide bullet when editing the marker */ + visibility: hidden; + position: relative; + display: inline-flex; + justify-content: center; + align-items: center; + } + .list-bullet:before { + content: '\200B'; + } + .list-bullet:after { + visibility: visible; + position: absolute; + content: '\200B'; + pointer-events: none; + border-radius: var(--list-bullet-radius); + width: var(--list-bullet-size); + height: var(--list-bullet-size); + border: var(--list-bullet-border); + transform: var(--list-bullet-transform); + background-color: var(--list-marker-color); + transition: transform 0.15s, box-shadow 0.15s; + } + @media (hover: hover) { + .list-collapse-indicator:hover ~ .list-bullet:after, + .cm-fold-indicator:hover ~ .list-bullet:after, + .list-collapse-indicator:hover ~ .cm-formatting-list .list-bullet:after, + .cm-fold-indicator:hover ~ .cm-formatting-list .list-bullet:after { + background-color: var(--list-marker-color-hover); + box-shadow: 0 0 0 4px var(--background-modifier-hover); + } + li.is-collapsed .list-collapse-indicator:hover ~ .list-bullet:after, + li.is-collapsed .cm-fold-indicator:hover ~ .list-bullet:after, + .list-collapse-indicator:hover.is-collapsed ~ .list-bullet:after, + .cm-fold-indicator:hover.is-collapsed ~ .list-bullet:after, + li.is-collapsed .list-collapse-indicator:hover ~ .cm-formatting-list .list-bullet:after, + li.is-collapsed .cm-fold-indicator:hover ~ .cm-formatting-list .list-bullet:after, + .list-collapse-indicator:hover.is-collapsed ~ .cm-formatting-list .list-bullet:after, + .cm-fold-indicator:hover.is-collapsed ~ .cm-formatting-list .list-bullet:after { + background-color: var(--list-marker-color-collapsed); + box-shadow: 0 0 0 4px var(--background-modifier-active-hover); + } + } + li.is-collapsed .list-bullet:after, + .is-collapsed ~ .cm-formatting-list .list-bullet:after { + background-color: var(--list-marker-color-collapsed); + box-shadow: 0 0 0 4px var(--background-modifier-active-hover); + } + .cm-s-obsidian .HyperMD-list-line.HyperMD-list-line-nobullet { + padding-top: initial; + } + .markdown-source-view.mod-cm6 .cm-hmd-list-indent { + display: inline-block; + } + .markdown-source-view.mod-cm6 .cm-formatting-list-ul, + .markdown-source-view.mod-cm6 .cm-formatting-list-ol { + white-space: pre; + } + mjx-container { + outline: none; + } + .cm-s-obsidian { + /* addon/fold-math */ + } + .cm-s-obsidian .hmd-fold-math { + display: inline-block; + vertical-align: middle; + } + .cm-s-obsidian .hmd-fold-math.hmd-fold-math.math-2 { + width: 100%; + } + .cm-s-obsidian span.cm-math, + .cm-s-obsidian span.hmd-fold-math-placeholder { + font-style: italic; + } + .cm-s-obsidian span.cm-formatting-math { + color: var(--text-accent); + font-weight: inherit; + } + .cm-s-obsidian span.cm-math-2 { + font-size: 13.2pt; + } + .markdown-source-view.mod-cm6 .math-block > mjx-container { + margin: 0; + padding: 1em 0; + overflow-x: auto; + } + .workspace-leaf-content[data-type=pdf] .view-content { + padding: 0; + overflow: hidden; + } + .pdf-container { + height: 100%; + padding: 0 10px; + position: relative; + } + .pdf-scroll-container { + overflow-y: auto; + height: 100%; + } + .pdf-canvas { + width: 100%; + margin: 6px 0; + } + .pdf-controls { + position: absolute; + top: 30px; + left: calc(50% - 50px); + height: 30px; + background-color: var(--background-secondary); + opacity: 0; + border-radius: 6px; + box-shadow: inset 8px 0 8px -10px var(--background-modifier-box-shadow); + transition: opacity 200ms ease-in-out; + text-align: center; + font-size: var(--font-ui-medium); + line-height: 30px; + padding: 0 30px; + } + .pdf-controls.mod-visible { + opacity: 0.75; + } + @media (hover: hover) { + .pdf-container:hover .pdf-controls { + opacity: 0.75; + } + .pdf-container:hover .pdf-controls:hover { + opacity: 0.9; + } + } + .pdf-controls-pager { + position: absolute; + top: 3px; + cursor: var(--cursor); + } + .pdf-controls-pager.mod-previous { + left: 8px; + } + .pdf-controls-pager.mod-next { + right: 8px; + } + /* Tables */ + /* Reading */ + .markdown-rendered table { + border-collapse: collapse; + margin-bottom: 20px; + } + .markdown-rendered td, + .markdown-rendered th { + padding: var(--size-2-2) var(--size-4-2); + border: var(--table-border-width) solid var(--table-border-color); + max-width: var(--table-column-max-width); + } + .markdown-rendered td { + font-size: var(--table-text-size); + color: var(--table-text-color); + } + .markdown-rendered th { + font-size: var(--table-header-size); + font-weight: var(--table-header-weight); + color: var(--table-header-color); + font-family: var(--table-header-font); + text-align: left; + } + .markdown-rendered th[align="center"] { + text-align: center; + } + .markdown-rendered th[align="right"] { + text-align: right; + } + .markdown-rendered thead > tr > th, + .markdown-rendered tbody > tr > td { + white-space: var(--table-white-space); + text-overflow: ellipsis; + overflow: hidden; + } + .markdown-rendered tbody tr { + background-color: var(--table-background); + } + @media (hover: hover) { + .markdown-rendered tbody tr:hover { + background-color: var(--table-row-background-hover); + } + } + .markdown-rendered tbody tr:nth-child(odd) { + background-color: var(--table-row-alt-background); + } + @media (hover: hover) { + .markdown-rendered tbody tr:nth-child(odd):hover { + background-color: var(--table-row-background-hover); + } + } + .markdown-rendered tbody tr > td:nth-child(2n+2) { + background-color: var(--table-column-alt-background); + } + .markdown-rendered tbody tr:last-child > td { + border-bottom-width: var(--table-row-last-border-width); + } + .markdown-rendered tbody tr > td:first-child { + border-left-width: var(--table-column-first-border-width); + } + .markdown-rendered tbody tr > td:last-child { + border-right-width: var(--table-column-last-border-width); + } + .markdown-rendered thead tr { + background-color: var(--table-header-background); + } + @media (hover: hover) { + .markdown-rendered thead tr:hover { + background-color: var(--table-header-background-hover); + } + } + .markdown-rendered thead tr > th { + border-width: var(--table-header-border-width); + border-color: var(--table-header-border-color); + } + .markdown-rendered thead tr > th:nth-child(2n+2) { + background-color: var(--table-column-alt-background); + } + .markdown-rendered thead tr > th:first-child { + border-left-width: var(--table-column-first-border-width); + } + .markdown-rendered thead tr > th:last-child { + border-right-width: var(--table-column-last-border-width); + } + /* Editing */ + .cm-s-obsidian { + /* addon/table-align */ + } + .cm-s-obsidian .HyperMD-table-row { + white-space: pre; + word-break: normal; + overflow-wrap: normal; + font-size: 0.95em; + font-family: var(--font-monospace); + } + .cm-s-obsidian .HyperMD-table-row .hmd-table-column, + .cm-s-obsidian .HyperMD-table-row .hmd-table-column-content { + display: inline-block; + } + .cm-s-obsidian .HyperMD-table-row .hmd-table-column-left { + text-align: left; + } + .cm-s-obsidian .HyperMD-table-row .hmd-table-column-center { + text-align: center; + } + .cm-s-obsidian .HyperMD-table-row .hmd-table-column-right { + text-align: right; + } + .cm-s-obsidian .HyperMD-table-row span.cm-hmd-table-sep, + .cm-s-obsidian .HyperMD-table-row-1 { + color: var(--text-faint); + } + .cm-s-obsidian .HyperMD-table-row-0 { + color: var(--table-header-color); + } + .cm-s-obsidian .CodeMirror-linewidget table, + .cm-s-obsidian .hmd-fold-html table { + border-collapse: collapse; + } + .cm-s-obsidian .CodeMirror-linewidget table td, + .cm-s-obsidian .CodeMirror-linewidget table th, + .cm-s-obsidian .hmd-fold-html table td, + .cm-s-obsidian .hmd-fold-html table th { + padding: 10px; + border: 1px solid #ccc; + } + .cm-s-obsidian .hmd-inactive-line.HyperMD-table-row-1 { + color: transparent; + text-shadow: none; + } + .cm-s-obsidian .hmd-inactive-line.HyperMD-table-row-1 > span { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAQAAAAziH6sAAAADklEQVR42mOc+Z9x5n8ACTkDM4ikM1IAAAAASUVORK5CYII=) repeat-x 0px center; + } + .cm-s-obsidian .hmd-inactive-line.HyperMD-table-row span.cm-hmd-table-sep { + color: transparent; + } + .markdown-source-view.mod-cm6 .cm-line.HyperMD-table-row { + min-width: max-content; + } + .markdown-source-view.mod-cm6 .cm-table-widget table { + margin-bottom: 0; + } + a.tag, + .editor .cl-hashtag { + background-color: var(--tag-background); + border: var(--tag-border-width) solid var(--tag-border-color); + border-radius: var(--tag-radius); + color: var(--tag-color); + font-size: var(--tag-size); + text-decoration: var(--tag-decoration); + padding: var(--tag-padding-y) var(--tag-padding-x); + line-height: 1; + } + @media (hover: hover) { + a.tag:hover, + .editor .cl-hashtag:hover { + background-color: var(--tag-background-hover); + border: var(--tag-border-width) solid var(--tag-border-color-hover); + color: var(--tag-color-hover); + text-decoration: var(--tag-decoration-hover); + } + } + .cm-hashtag { + color: var(--tag-color); + background-color: var(--tag-background); + border: var(--tag-border-width) solid var(--tag-border-color); + font-size: var(--tag-size); + vertical-align: bottom; + border-left: none; + border-right: none; + padding-top: var(--tag-padding-y); + padding-bottom: var(--tag-padding-y); + } + .cm-hashtag.cm-hashtag-begin { + border-top-left-radius: var(--tag-radius); + border-bottom-left-radius: var(--tag-radius); + border-right: none; + border-left: var(--tag-border-width) solid var(--tag-border-color); + padding-left: var(--tag-padding-x); + } + .cm-hashtag.cm-hashtag-end { + border-top-right-radius: var(--tag-radius); + border-bottom-right-radius: var(--tag-radius); + border-left: none; + border-right: var(--tag-border-width) solid var(--tag-border-color); + padding-right: var(--tag-padding-x); + } + .cm-s-obsidian span.cm-hashtag.cm-hmd-escape-backslash { + color: #FCC; + } + input[type=checkbox] { + -webkit-appearance: none; + appearance: none; + border-radius: var(--checkbox-radius); + border: 1px solid var(--checkbox-border-color); + flex-shrink: 0; + padding: 0; + margin: 0 6px 0 0; + width: var(--checkbox-size); + height: var(--checkbox-size); + position: relative; + transition: box-shadow 0.15s ease-in-out; + } + input[type=checkbox]:hover, + input[type=checkbox]:active, + input[type=checkbox]:focus { + outline: 0; + border-color: var(--checkbox-border-color-hover); + } + input[type=checkbox]:focus-visible { + box-shadow: 0 0 0 2px var(--background-modifier-border-focus); + } + input[type=checkbox]:checked:after { + content: ""; + top: -1px; + left: -1px; + position: absolute; + width: var(--checkbox-size); + height: var(--checkbox-size); + display: block; + background-color: var(--checkbox-marker-color); + -webkit-mask-position: 52% 52%; + -webkit-mask-size: 65%; + -webkit-mask-repeat: no-repeat; + -webkit-mask-image: url('data:image/svg+xml; utf8, '); + } + input[type=checkbox]:checked { + background-color: var(--checkbox-color); + border-color: var(--checkbox-color); + } + @media (hover: hover) { + input[type=checkbox]:checked:hover { + background-color: var(--checkbox-color-hover); + border-color: var(--checkbox-color-hover); + } + } + .task-list-item-checkbox { + width: var(--checkbox-size); + height: var(--checkbox-size); + } + .markdown-preview-view .task-list-item-checkbox { + position: relative; + top: 3px; + margin-right: 6px; + } + ul > li.task-list-item { + list-style: none; + } + ul > li.task-list-item .task-list-item-checkbox { + margin-inline-start: -21px; + } + ul > li.task-list-item[data-task="x"], + ul > li.task-list-item[data-task="X"] { + text-decoration: var(--checklist-done-decoration); + color: var(--checklist-done-color); + } + .cm-s-obsidian span.cm-formatting-task { + white-space: pre; + height: 1em; + line-height: 1em; + min-width: 1em; + text-align: center; + color: var(--text-muted); + background-size: 1em; + font-family: var(--font-monospace); + } + .cm-s-obsidian span.hmd-hidden-token.cm-formatting-task { + color: transparent !important; + } + .markdown-source-view.mod-cm6 .task-list-label { + padding: 0; + margin-left: -3px; + } + .markdown-source-view.mod-cm6 .task-list-item-checkbox { + vertical-align: middle; + } + .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task="x"], + .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task="X"] { + text-decoration: var(--checklist-done-decoration); + color: var(--checklist-done-color); + } + /* Highlights */ + .markdown-rendered mark { + background-color: var(--text-highlight-bg); + color: var(--text-normal); + } + .markdown-rendered mark .internal-link { + color: var(--text-normal); + } + .cm-s-obsidian span.cm-formatting-highlight, + .cm-s-obsidian span.cm-highlight { + background-color: var(--text-highlight-bg); + color: var(--text-normal); + } + strong, + .cm-strong { + font-weight: var(--bold-weight); + color: var(--bold-color); + } + em, + .cm-em { + font-style: italic; + color: var(--italic-color); + } + .cm-s-obsidian span.cm-comment { + color: var(--text-faint); + } + .cm-s-obsidian span.cm-error { + color: #f00; + } + .markdown-rendered video { + max-width: 100%; + outline: none; + } + /* Backlinks in Preview */ + .embedded-backlinks { + border-top: 1px solid var(--background-modifier-border); + } + .markdown-preview-view .embedded-backlinks { + margin-top: 3em; + } + .embedded-backlinks .backlink-pane { + padding: var(--size-4-3) 0 0 0; + } + .embedded-backlinks .backlink-pane .search-empty-state, + .embedded-backlinks .backlink-pane .tree-item-self { + /* Use quotes because Less overrides CSS math */ + font-size: max(var(--font-ui-small),var(--font-smaller)); + align-items: center; + } + .embedded-backlinks .backlink-pane > .tree-item-self { + font-size: max(var(--font-ui-small),1em); + gap: var(--size-2-3); + width: fit-content; + } + .embedded-backlinks .backlink-pane .tree-item-flair { + font-size: max(var(--font-ui-small),var(--font-smallest)); + } + .embedded-backlinks .nav-header { + padding: 0; + position: relative; + } + .embedded-backlinks .nav-header ~ .search-input-container { + width: calc(100% - 150px); + margin: var(--size-4-3) 0 0 0; + } + .embedded-backlinks .nav-buttons-container { + position: absolute; + right: 0; + top: 14px; + z-index: 1; + } + .nav-header { + padding: var(--size-4-2); + } + .nav-buttons-container.has-separator { + border-bottom: 1px solid var(--background-modifier-border); + padding-bottom: var(--size-2-3); + margin-bottom: var(--size-4-2); + } + .nav-files-container { + flex-grow: 1; + overflow-y: auto; + overflow-x: hidden; + padding: 0 var(--size-4-3) var(--size-4-6) var(--size-4-3); + scroll-padding-block: var(--size-4-2); + } + /* Vault name */ + .nav-folder.mod-root > .nav-folder-title { + font-size: var(--vault-name-font-size); + color: var(--vault-name-color); + font-weight: var(--vault-name-font-weight); + cursor: default; + } + @media (hover: hover) { + .nav-folder.mod-root > .nav-folder-title:hover { + background-color: inherit; + font-weight: var(--vault-name-font-weight); + } + } + .nav-folder.mod-root > .nav-folder-title.is-being-dragged-over { + background-color: hsla(var(--interactive-accent-hsl), 0.2); + } + .nav-folder.mod-root > .nav-folder-title .nav-folder-collapse-indicator { + display: none; + } + /* Style children + The first level of folders and files + needs slightly different styling */ + .nav-folder.mod-root > .nav-folder-children > .nav-file .nav-file-title { + padding-left: var(--size-4-3); + } + .nav-folder.mod-root .nav-folder > .nav-folder-children { + padding-left: var(--size-4-2); + margin: 0 0 0 var(--size-4-3); + border-left: var(--nav-indentation-guide-width) solid var(--nav-indentation-guide-color); + } + .nav-file { + border-radius: var(--radius-s); + } + /* Folders and files */ + .nav-file-title, + .nav-folder-title { + margin-bottom: var(--size-2-1); + display: flex; + border-radius: var(--radius-s); + cursor: var(--cursor); + color: var(--nav-item-color); + font-size: var(--nav-item-size); + font-weight: var(--nav-item-weight); + line-height: var(--line-height-tight); + padding: var(--nav-item-padding); + } + @media (hover: hover) { + body:not(.is-grabbing) .nav-file-title:hover, + body:not(.is-grabbing) .nav-folder-title:hover { + background-color: var(--nav-item-background-hover); + color: var(--nav-item-color-hover); + font-weight: var(--nav-item-weight-hover); + } + } + body:not(.is-grabbing) .nav-file-title.is-active:hover, + body:not(.is-grabbing) .nav-folder-title.is-active:hover, + .nav-file-title.is-active, + .nav-folder-title.is-active { + color: var(--nav-item-color-active); + background-color: var(--nav-item-background-active); + font-weight: var(--nav-item-weight-active); + } + body:not(.is-grabbing) .nav-file-title.is-selected:hover, + body:not(.is-grabbing) .nav-folder-title.is-selected:hover, + .nav-file-title.is-selected, + .nav-folder-title.is-selected { + color: var(--nav-item-color-selected); + background-color: var(--nav-item-background-selected); + } + body:not(.is-grabbing) .nav-file-title.is-being-dragged, + body:not(.is-grabbing) .nav-folder-title.is-being-dragged, + .nav-file-title.is-being-dragged, + .nav-folder-title.is-being-dragged { + background-color: var(--interactive-accent); + color: var(--text-on-accent); + } + body:not(.is-grabbing) .nav-file-title.is-being-dragged .nav-folder-collapse-indicator, + body:not(.is-grabbing) .nav-folder-title.is-being-dragged .nav-folder-collapse-indicator, + .nav-file-title.is-being-dragged .nav-folder-collapse-indicator, + .nav-folder-title.is-being-dragged .nav-folder-collapse-indicator { + color: var(--text-on-accent); + } + body:not(.is-grabbing) .nav-file-title.is-being-dragged .nav-file-tag, + body:not(.is-grabbing) .nav-folder-title.is-being-dragged .nav-file-tag, + .nav-file-title.is-being-dragged .nav-file-tag, + .nav-folder-title.is-being-dragged .nav-file-tag { + color: var(--text-normal); + } + .workspace-leaf.mod-active .nav-folder.has-focus > .nav-folder-title, + .workspace-leaf.mod-active .nav-file.has-focus > .nav-file-title { + border-radius: var(--radius-s); + box-shadow: 0 0 0 2px var(--background-modifier-border-focus); + } + .workspace-leaf.mod-active .nav-folder.has-focus > .nav-folder-title:focus-within, + .workspace-leaf.mod-active .nav-file.has-focus > .nav-file-title:focus-within { + box-shadow: 0 0 0 2px var(--interactive-accent); + } + .nav-folder-collapse-indicator { + width: 16px; + flex-shrink: 0; + } + .nav-file-tag { + background-color: var(--background-modifier-hover); + border-radius: var(--radius-s); + font-size: 9px; + font-weight: var(--font-semibold); + letter-spacing: 0.05em; + line-height: var(--line-height-normal); + margin-left: var(--size-2-3); + padding: 0 var(--size-4-1); + text-transform: uppercase; + align-self: center; + } + .nav-file-icon { + display: inline-flex; + align-items: center; + margin-right: var(--size-2-3); + position: relative; + color: var(--icon-color); + opacity: var(--icon-opacity); + } + .nav-files-container:not(.show-unsupported) .is-unsupported { + display: none; + } + .nav-file-title-content, + .nav-folder-title-content { + display: inline-block; + overflow-wrap: anywhere; + overflow: hidden; + white-space: var(--nav-item-white-space); + text-overflow: ellipsis; + } + .nav-file-title-content.is-being-renamed, + .nav-folder-title-content.is-being-renamed { + flex-grow: 1; + white-space: normal; + cursor: text; + } + .nav-folder-title.is-being-dragged-over { + border-radius: var(--radius-s); + color: var(--nav-item-color-highlighted); + background: hsla(var(--interactive-accent-hsl), 0.1); + } + .nav-folder-title.is-being-dragged-over .collapse-icon { + color: var(--nav-item-color-highlighted); + } + .item-list { + flex-grow: 1; + padding: 0 var(--size-4-3) var(--size-4-6) var(--size-4-3); + overflow-y: auto; + } + .drop-indicator { + position: absolute; + left: 0; + width: 100%; + height: 0; + border: 2px solid var(--interactive-accent); + pointer-events: none; + } + .drop-indicator:not(.is-active) { + display: none; + } + /* 2022-07 Only used for Publish AFAIK */ + .file-tree-item-checkbox, + .file-tree-item-icon { + flex-shrink: 0; + } + .file-tree-item-title { + flex-grow: 1; + word-break: break-word; + } + .file-tree-item-icon { + --icon-size: var(--icon-s); + --icon-stroke: var(--icon-s-stroke-width); + margin-right: var(--size-4-1); + color: var(--icon-color); + position: relative; + top: var(--size-2-1); + } + .file-tree .tree-item-inner { + display: flex; + align-items: center; + position: relative; + } + .file-tree .tree-item-flair { + line-height: 1; + padding: var(--size-2-1) var(--size-2-3); + color: var(--text-on-accent); + } + .file-tree .is-selected { + color: var(--text-normal); + } + .file-tree .mod-changed.is-selected { + background-color: hsla(var(--interactive-accent-hsl), 0.2); + } + .file-tree .mod-changed .tree-item-flair { + color: var(--text-accent-hover); + } + .file-tree .mod-new.is-selected { + background-color: rgba(var(--background-modifier-success-rgb), 0.2); + } + .file-tree .mod-new .tree-item-flair { + color: var(--text-success); + } + .file-tree .mod-deleted.is-selected, + .file-tree .mod-to-delete.is-selected { + background-color: rgba(var(--background-modifier-error-rgb), 0.2); + } + .file-tree .mod-deleted .tree-item-flair, + .file-tree .mod-to-delete .tree-item-flair { + color: var(--text-error); + } + .file-tree .mod-to-delete .tree-item-flair { + display: none; + } + .file-tree .mod-to-delete.is-selected .tree-item-flair { + display: block; + } + .file-tree .clickable-icon { + display: flex; + --icon-size: var(--icon-s); + --icon-stroke: var(--icon-s-stroke-width); + } + .graph-view.color-fill { + color: var(--graph-node); + } + .graph-view.color-fill-focused { + color: var(--graph-node-focused); + } + .graph-view.color-fill-tag { + color: var(--graph-node-tag); + } + .graph-view.color-fill-attachment { + color: var(--graph-node-attachment); + } + .graph-view.color-fill-unresolved { + color: var(--graph-node-unresolved); + opacity: 0.5; + } + .graph-view.color-fill-1 { + color: var(--text-muted); + } + .graph-view.color-fill-2 { + color: var(--text-muted); + } + .graph-view.color-fill-3 { + color: var(--text-muted); + } + .graph-view.color-fill-4 { + color: var(--text-muted); + } + .graph-view.color-fill-5 { + color: var(--text-muted); + } + .graph-view.color-fill-6 { + color: var(--text-muted); + } + .graph-view.color-arrow { + color: var(--text-normal); + opacity: 0.5; + } + .graph-view.color-circle { + color: var(--graph-node-focused); + } + .graph-view.color-line { + color: var(--graph-line); + } + .graph-view.color-text { + color: var(--graph-text); + } + .graph-view.color-fill-highlight { + color: var(--interactive-accent); + } + .graph-view.color-line-highlight { + color: var(--interactive-accent); + } + .graph-controls { + border-radius: var(--radius-m); + position: absolute; + right: var(--size-4-3); + top: var(--size-4-3); + padding: 0; + background-color: var(--background-primary); + width: var(--graph-controls-width); + overflow: auto; + } + .graph-controls:not(.is-close) { + max-height: calc(100% - var(--size-4-4)); + border: 1px solid var(--background-modifier-border); + box-shadow: var(--shadow-s); + } + .graph-controls.is-close { + min-width: inherit; + width: auto; + background-color: var(--background-primary); + border: 1px solid transparent; + padding: var(--size-2-3); + } + .graph-controls.is-close > .graph-control-section { + display: none; + } + .workspace-split:not(.mod-root) .graph-controls.is-close { + background-color: var(--background-secondary); + } + .graph-controls input[type='text'], + .graph-controls input[type='range'] { + width: 100%; + font-size: var(--font-ui-small); + } + .graph-controls .mod-cta { + margin-top: var(--size-2-3); + width: 100%; + } + .graph-controls .setting-item { + padding: var(--size-2-3) 0; + border: none; + } + .graph-controls .setting-item .setting-item-info { + display: flex; + align-items: center; + } + .graph-controls .setting-item:first-of-type { + border-top: none; + } + .graph-controls .setting-item.mod-slider { + flex-direction: column; + } + .graph-controls .setting-item.mod-slider > * { + width: 100%; + } + .graph-controls .setting-item.mod-slider .setting-item-info { + margin-right: 0; + } + .graph-controls .setting-item.mod-slider .setting-item-control { + padding-top: var(--size-4-3); + } + .graph-controls .setting-item.mod-toggle .setting-item-control { + padding-top: 0; + } + .graph-controls .setting-item.mod-search-setting .setting-item-info { + margin-right: 0; + } + .graph-controls .setting-item-name { + font-size: var(--font-ui-small); + } + .graph-controls::-webkit-scrollbar, + .graph-controls::-webkit-scrollbar-thumb { + display: none; + } + .graph-color-group { + --swatch-height: 18px; + --swatch-width: 18px; + position: relative; + display: flex; + align-items: center; + padding: 0 0 6px 0; + transition: top 200ms ease-in-out; + } + .graph-color-group input[type="color"] { + margin: 0 2px 0 6px; + } + .graph-color-group .clickable-icon { + padding: var(--size-2-2); + } + .graph-color-button-container { + text-align: center; + margin-bottom: 10px; + } + .graph-color-button-container button { + margin: 0; + width: 100%; + } + .graph-color-group.drag-ghost { + position: fixed; + display: flex; + max-width: unset; + border: none; + box-shadow: none; + background-color: var(--background-primary-alt); + padding: 0; + transition: none; + pointer-events: none; + } + .graph-color-group.drag-ghost input[type='text'] { + width: 100%; + } + .graph-color-group.drag-ghost input[type='color'] { + margin-left: 6px; + } + .graph-control-section.mod-color-groups .tree-item-children.is-grabbing .graph-color-groups-container { + padding-bottom: 40px; + } + .graph-controls-button { + display: none; + z-index: 1; + } + .graph-controls-button.mod-close, + .graph-controls-button.mod-reset { + position: absolute; + top: var(--size-4-2); + right: var(--size-4-2); + padding: var(--size-2-2); + } + .graph-controls:not(.is-close) .graph-controls-button.mod-close, + .graph-controls:not(.is-close) .graph-controls-button.mod-reset { + display: flex; + } + .graph-controls-button.mod-reset { + right: 36px; + } + .graph-controls.is-close .graph-controls-button.mod-open { + display: flex; + } + .graph-controls-button.mod-animate { + margin-top: var(--size-4-2); + } + .graph-controls.is-close .graph-controls-button.mod-animate { + display: flex; + } + .setting-item.mod-search-setting .setting-item-info { + display: none; + } + .setting-item.mod-search-setting .setting-item-control .search-input-container { + position: relative; + flex-grow: 1; + margin: 0; + } + .setting-item.mod-search-setting .setting-item-control .search-input-container:before { + content: ' '; + position: absolute; + bottom: -6px; + width: 0; + height: 3px; + } + .setting-item.mod-search-setting.is-loading .setting-item-control:before { + background-color: var(--interactive-accent); + animation: 1000ms ease-in-out 300ms infinite progress-bar; + } + .graph-control-section-header { + font-weight: var(--font-semibold); + font-size: var(--font-ui-small); + color: var(--text-normal); + } + .graph-control-section { + padding: var(--size-2-3) var(--size-4-3); + border-bottom: 1px solid var(--background-modifier-border); + } + .graph-control-section:last-child { + border-bottom: none; + } + .graph-control-section:last-child .tree-item-children { + padding-bottom: var(--size-4-4); + } + .graph-control-section > .tree-item-self { + padding-left: var(--size-4-1); + } + .graph-control-section .tree-item-children { + margin: 0; + padding: var(--size-4-1) 0; + border-left: none; + } + .graph-control-section.mod-display .setting-item:not(.mod-slider):last-child .setting-item-info { + display: none; + } + + + .workspace-leaf-content[data-type='outline'] .view-content { + padding: 0; + } + .outline { + padding: var(--size-4-3) var(--size-4-3) var(--size-4-8); + } + .modal.mod-publish { + height: var(--modal-height); + width: var(--modal-width); + max-width: var(--modal-max-width-narrow); + padding: var(--size-4-4) 0 0 0; + position: relative; + overflow: hidden; + } + .modal.mod-publish .modal-title { + padding: 0 var(--size-4-4); + } + .modal.mod-publish .modal-content { + overflow: auto; + padding: 0 var(--size-4-4) var(--size-4-4); + margin-bottom: calc(var(--input-height) + var(--size-4-8)); + border-top: var(--border-width) solid var(--background-modifier-border); + } + .modal.mod-publish .modal-button-container { + margin: 0 0 0 calc(var(--size-4-4) * -1); + padding: var(--size-4-4); + gap: var(--size-4-2); + position: absolute; + bottom: 0; + background-color: var(--background-primary); + border-top: var(--border-width) solid var(--background-modifier-border); + width: 100%; + } + .publish-section { + margin-bottom: var(--size-4-1); + } + .publish-change-list { + padding: var(--size-4-2) 0 var(--size-4-2) 0; + } + .site-list-site-id-setting { + margin-top: var(--size-4-4); + } + .publish-section-header-text, + .publish-section-header-toggle-collapsed-button, + .publish-section-header-action { + cursor: var(--cursor); + } + @media (hover: hover) { + .publish-section-header-text:hover, + .publish-section-header-toggle-collapsed-button:hover, + .publish-section-header-action:hover { + color: var(--text-accent-hover); + } + } + .publish-section-header { + border-bottom: 1px solid var(--background-modifier-border); + font-size: var(--font-ui-small); + line-height: 1.1; + color: var(--text-muted); + display: flex; + padding: var(--size-4-2) 0; + align-items: center; + } + .publish-section-header-text { + flex-grow: 1; + font-size: var(--font-ui-medium); + color: var(--text-normal); + line-height: var(--line-height-tight); + font-weight: var(--font-medium); + } + .publish-changes-switch-site { + margin-left: var(--size-4-2); + display: flex; + flex-direction: row; + flex-grow: 1; + font-size: var(--font-ui-small); + position: relative; + gap: var(--size-2-1); + top: 2px; + } + .publish-changes-switch-site .clickable-icon { + --icon-size: var(--icon-s); + --icon-stroke: var(--icon-s-stroke-width); + padding: var(--size-2-2); + } + .upload-progress-container { + max-height: 60vh; + overflow: auto; + } + .upload-progress-container.is-finished { + max-height: calc(60vh - 200px); + } + .publish-changes-current-site-name { + margin-left: var(--size-2-3); + text-decoration: underline; + } + .publish-changes-info { + display: flex; + align-items: center; + margin-bottom: 20px; + } + .publish-changes-info button { + margin-right: 0; + margin-left: var(--size-4-2); + } + .publish-changes-info .search-input-container { + margin: 0; + width: 0; + flex: 1 0 auto; + } + .publish-section-header-toggle-collapsed-button { + margin-right: var(--size-4-1); + color: var(--text-faint); + width: 9px; + height: 9px; + } + .publish-section-header-action { + color: var(--text-faint); + margin-left: var(--size-4-3); + } + .publish-upload-item-title { + word-break: break-word; + font-size: var(--nav-item-size); + line-height: var(--line-height-tight); + } + .publish-changes-buttons { + text-align: right; + padding-bottom: var(--size-4-4); + } + .publish-upload-item { + position: relative; + padding: var(--size-4-1) var(--size-4-2); + } + .publish-upload-item .flair { + background-color: transparent; + text-transform: unset; + letter-spacing: normal; + font-size: var(--font-ui-smaller); + } + .publish-upload-item .list-item-part { + --icon-size: var(--icon-s); + --icon-stroke: var(--icon-s-stroke-width); + display: flex; + align-items: center; + } + .publish-upload-item:before { + content: ' '; + position: absolute; + top: 0; + left: 0; + width: 0; + height: 100%; + transition: width 150ms ease-in-out; + background-color: rgba(var(--background-modifier-success-rgb), 0.2); + z-index: 0; + border-radius: var(--radius-s); + } + .publish-upload-item.mod-failed { + color: var(--text-error); + } + .publish-upload-item.mod-failed:before { + background-color: rgba(var(--background-modifier-error-rgb), 0.2); + } + .publish-upload-item.mod-completed { + color: var(--text-success); + } + .publish-upload-item.mod-completed > * { + position: relative; + } + .publish-upload-item.mod-completed:before { + width: 100%; + } + .site-list-container { + border-top: 1px solid var(--background-modifier-border); + margin-bottom: var(--size-4-4); + } + .site-list-container .list-item:last-child { + padding-top: var(--size-4-4); + } + .site-list-item-name { + flex-grow: 1; + } + .slug-input { + text-transform: lowercase; + } + .passwords-container { + margin-bottom: var(--size-4-4); + } + .password-item { + border-radius: var(--radius-s); + padding: var(--size-4-2) var(--size-4-4); + margin: var(--size-4-1) 0; + } + @media (hover: hover) { + .password-item:hover { + background-color: var(--background-primary); + } + } + .nav-header ~ .search-input-container { + padding: 0; + width: calc(100% - var(--size-4-8)); + margin: 4px auto; + } + .search-input-container { + margin: 0; + position: relative; + } + .search-input-container:before { + top: calc((var(--input-height) - var(--search-icon-size))/2); + left: 8px; + position: absolute; + content: ''; + height: var(--search-icon-size); + width: var(--search-icon-size); + display: block; + background-color: var(--search-icon-color); + -webkit-mask-image: url("data:image/svg+xml,"); + -webkit-mask-repeat: no-repeat; + } + .search-input-container input { + display: block; + width: 100%; + padding-right: 28px; + padding-left: 36px; + } + .search-input-clear-button { + position: absolute; + background: transparent; + border-radius: 50%; + color: var(--search-clear-button-color); + cursor: var(--cursor); + top: 0px; + right: 2px; + bottom: 0px; + line-height: 0; + height: var(--input-height); + width: 28px; + margin: auto; + padding: 0 0; + text-align: center; + display: flex; + justify-content: center; + align-items: center; + transition: color 0.15s ease-in-out; + } + .search-input-clear-button:after { + content: ''; + height: var(--search-clear-button-size); + width: var(--search-clear-button-size); + display: block; + background-color: currentColor; + -webkit-mask-image: url("data:image/svg+xml,"); + -webkit-mask-repeat: no-repeat; + } + .search-input-clear-button:hover, + .search-input-clear-button:active { + color: var(--text-normal); + transition: color 0.15s ease-in-out; + } + .search-input-suggest-button { + position: absolute; + left: 0; + top: 0; + color: var(--text-faint); + cursor: var(--cursor); + padding: var(--size-4-1) var(--size-4-2); + opacity: 0; + z-index: 10; + } + @media (hover: hover) { + .search-input-suggest-button:hover { + color: var(--text-muted); + } + } + .backlink-pane, + .outgoing-link-pane { + overflow-y: auto; + padding: var(--size-4-3) var(--size-4-3) var(--size-4-8); + flex: 1 0 0; + /* #todo This should be removed and make the DOM changes instead + Section headers for linked/unlinked mentions + */ + } + .backlink-pane .search-result-container, + .outgoing-link-pane .search-result-container { + padding: var(--size-4-1) 1px var(--size-4-4); + } + .backlink-pane > .tree-item-self, + .outgoing-link-pane > .tree-item-self { + color: var(--text-normal); + } + .backlink-pane > .tree-item-self .tree-item-inner, + .outgoing-link-pane > .tree-item-self .tree-item-inner { + font-weight: var(--font-medium); + } + .backlink-pane > .tree-item-self.is-collapsed, + .outgoing-link-pane > .tree-item-self.is-collapsed { + color: var(--text-faint); + } + @media (hover: hover) { + .backlink-pane > .tree-item-self.is-collapsed:hover, + .outgoing-link-pane > .tree-item-self.is-collapsed:hover { + color: var(--text-muted); + } + } + .backlink-pane > .tree-item-self .collapse-icon, + .outgoing-link-pane > .tree-item-self .collapse-icon { + display: none; + } + .search-result-container { + padding: var(--size-4-3) var(--size-4-3) var(--size-4-4); + position: relative; + flex: 1 0 0; + } + .search-result-container.mod-global-search { + overflow-y: auto; + } + .search-result-container:before { + content: ' '; + position: absolute; + top: 0; + width: 0; + height: 3px; + } + .search-result-container.is-loading:before { + background-color: var(--interactive-accent); + animation: 1000ms ease-in-out 300ms infinite progress-bar; + } + .search-suggest-info-text { + color: var(--text-muted); + margin-left: 4px; + } + .search-suggest-icon { + padding: 4px; + border-radius: var(--radius-s); + } + @media (hover: hover) { + .search-suggest-icon:hover { + background-color: var(--background-modifier-hover); + } + } + .suggestion-container.mod-search-suggestion { + max-width: unset; + background-color: var(--background-secondary); + border-color: var(--prompt-border-color); + } + .suggestion-container.mod-search-suggestion .suggestion { + max-height: 600px; + padding: var(--size-2-3); + background-color: var(--background-secondary); + border-radius: var(--radius-m); + } + .search-suggest-icon { + align-items: center; + display: flex; + } + .search-suggest-item { + padding: var(--size-4-1) var(--size-4-2); + border-radius: var(--radius-s); + } + .search-suggest-item.suggestion-item { + font-size: var(--font-ui-small); + } + .search-suggest-item.mod-group { + align-items: center; + margin: 0; + color: var(--text-muted); + padding: 0 0 0 var(--size-4-2); + cursor: default; + font-weight: var(--font-semibold); + font-size: var(--font-ui-smaller); + border-radius: 0; + } + .search-suggest-item.mod-group:not(:first-child) { + border-top: 1px solid var(--background-modifier-border); + margin-top: 6px; + padding: 6px 6px 0px 14px; + margin-left: -6px; + margin-right: -6px; + } + .search-suggest-item.mod-group:hover, + .search-suggest-item.mod-group.is-selected { + background-color: initial; + } + @keyframes progress-bar { + 0% { + width: 0; + left: 0; + } + 5% { + width: 0; + left: 0; + } + 50% { + width: 100%; + right: 0; + } + 95% { + width: 0; + right: 0; + } + 100% { + width: 0; + right: 0; + } + } + .search-empty-state { + color: var(--text-faint); + font-size: var(--font-ui-small); + margin: 0 0 var(--size-4-3); + padding-left: var(--size-4-2); + } + .search-result { + word-break: break-word; + } + .search-result:not(.is-collapsed) .search-result-file-title { + color: var(--nav-item-color-active); + } + .search-result-file-matches { + font-size: var(--font-ui-smaller); + line-height: var(--line-height-tight); + background-color: var(--search-result-background); + border-radius: var(--radius-s); + overflow: hidden; + margin: var(--size-4-1) 0 var(--size-4-2); + color: var(--text-muted); + box-shadow: 0 0 0 1px var(--background-modifier-border); + } + .search-info-more-matches { + color: var(--text-faint); + } + .search-result-file-match { + cursor: var(--cursor); + position: relative; + padding: var(--size-4-2) var(--size-4-5) var(--size-4-2) var(--size-4-3); + white-space: pre-wrap; + width: 100%; + border-bottom: 1px solid var(--background-modifier-border); + } + .search-result-file-match:last-child { + border-bottom: none; + } + @media (hover: hover) { + .search-result-file-match:hover { + color: var(--text-normal); + background-color: var(--text-selection); + } + } + .search-result-file-match:hover .search-result-file-match-replace-button { + display: block; + } + .search-result-file-match-replace-button { + display: none; + position: absolute; + height: auto; + bottom: 5px; + right: 24px; + padding: var(--size-4-1) var(--size-4-2); + color: var(--text-muted); + font-size: var(--font-ui-smaller); + } + @media (hover: hover) { + .search-result-file-match-replace-button:hover { + color: var(--text-normal); + } + } + .search-result-hover-button { + position: absolute; + display: flex; + right: 2px; + border-radius: var(--radius-s); + color: var(--text-faint); + padding: 1px 3px; + } + @media (hover: hover) { + .search-result-hover-button:hover { + opacity: 1; + background-color: var(--background-modifier-hover); + } + } + .search-result-hover-button.mod-top { + top: 2px; + } + .search-result-hover-button.mod-bottom { + bottom: 2px; + } + .search-result-file-matched-text { + color: var(--text-normal); + background-color: var(--text-highlight-bg); + } + .search-info-container { + color: var(--text-muted); + padding: var(--size-4-1) var(--size-4-4) var(--size-4-1); + font-size: var(--font-ui-smaller); + } + .search-info-children { + padding-left: 20px; + border-left: 1px solid var(--background-modifier-border); + margin: 1px 0; + } + .copy-search-result-container { + display: flex; + flex-direction: column; + } + .copy-search-result-textarea { + height: 300px; + max-height: 20vh; + resize: none; + } + .copy-search-result-textarea + .setting-item { + border-top: none; + } + .search-result-file-match-destination-file-container { + margin-top: var(--size-2-3); + } + .search-result-file-match-destination-file { + display: inline-flex; + background-color: var(--interactive-normal); + border-radius: var(--radius-s); + box-shadow: var(--input-shadow); + color: var(--text-muted); + padding: var(--size-2-2) var(--size-2-3); + margin-bottom: var(--size-2-1); + } + @media (hover: hover) { + .search-result-file-match:hover .search-result-file-match-destination-file { + background-color: var(--background-secondary); + } + .search-result-file-match:hover .search-result-file-match-destination-file:hover { + background-color: var(--interactive-hover); + box-shadow: var(--input-shadow-hover); + color: var(--text-normal); + } + } + .search-result-file-match-destination-file-icon { + --icon-size: var(--icon-xs); + --icon-stroke: var(--icon-xs-stroke-width); + margin-right: var(--size-4-1); + display: flex; + color: var(--text-faint); + } + .search-result-file-match-destination-file-icon .svg-icon { + align-self: center; + } + .search-result-file-match-destination-file-name { + white-space: pre-wrap; + word-break: break-all; + } + .workspace-leaf.mod-active .search-result.has-focus .tree-item-self, + .workspace-leaf.mod-active .search-result-file-match.has-focus { + border-radius: var(--radius-s); + box-shadow: inset 0 0 0 2px var(--background-modifier-border-focus); + } + .slides-container { + position: fixed; + top: 0; + left: 0; + height: 100vh; + width: 100vw; + transition: -webkit-transform 0.8s ease 0s; + background-color: #191919; + z-index: var(--layer-slides); + border: none; + } + .slides-container li .collapse-indicator { + display: none; + } + .slides-close-btn { + display: inline-block; + position: absolute; + top: var(--size-4-2); + right: var(--size-4-2); + color: var(--text-faint); + cursor: var(--cursor); + z-index: 1; + } + @media (hover: hover) { + .slides-close-btn:hover { + color: var(--text-muted); + } + } + .reveal input[type='checkbox'] { + width: 24px; + height: 24px; + } + .reveal .task-list-item, + .reveal .footnote-item { + list-style: none; + } + .reveal .task-list-item { + margin-left: -1.5em; + } + .vault-list-item { + margin: 6px 0; + display: flex; + } + .vault-list-item.is-connected .vault-list-item-title { + color: var(--text-normal); + } + .vault-list-item-icon { + color: var(--text-muted); + position: relative; + top: 1px; + } + .vault-list-item-title { + color: var(--text-muted); + user-select: none; + } + .vault-list-item-creation-time { + color: var(--text-faint); + font-size: var(--font-ui-small); + } + .sync-status-icon { + display: flex; + align-items: center; + cursor: var(--cursor); + } + .sync-status-icon.mod-success { + color: var(--text-success); + } + .sync-status-icon.mod-working { + color: var(--interactive-accent); + } + .sync-status-icon.mod-error { + color: var(--text-error); + } + .modal.mod-sync-history { + padding: 0; + background-color: var(--background-secondary); + width: var(--modal-width); + height: var(--modal-height); + max-width: var(--modal-max-width); + } + .modal.mod-sync-history .modal-content { + display: flex; + overflow: hidden; + margin-top: 0; + } + .sync-history-list-container { + display: flex; + flex-direction: column; + flex-basis: 250px; + flex-shrink: 0; + border-right: 1px solid var(--background-modifier-border); + } + .sync-history-list { + overflow: auto; + padding: var(--size-4-3); + flex-grow: 1; + display: flex; + flex-direction: column; + } + .sync-history-list .search-input-container { + width: 100%; + } + .sync-history-list-item-container { + overflow: auto; + flex: 1 1 0; + } + .sync-history-list-item { + padding: var(--size-4-2) var(--size-4-3); + margin-bottom: var(--size-4-2); + cursor: var(--cursor); + font-size: var(--font-ui-small); + border-radius: var(--radius-s); + transition: background-color 200ms ease-in-out, color 200ms ease-in-out; + } + .sync-history-list-item:last-child { + margin-bottom: 0; + } + .sync-history-list-item.is-active, + .sync-history-list-item.is-active:hover { + background-color: var(--interactive-accent); + color: var(--text-on-accent); + } + .sync-history-list-item.is-active .u-muted, + .sync-history-list-item.is-active:hover .u-muted { + color: var(--text-on-accent); + opacity: 0.8; + } + @media (hover: hover) { + .sync-history-list-item:hover { + background-color: var(--background-modifier-hover); + } + } + .sync-history-content-container { + background-color: var(--background-primary); + padding: 0; + height: auto; + display: flex; + flex-direction: column; + width: 0; + flex: 1 1 auto; + } + .sync-history-content-container .modal-button-container { + border-top: 1px solid var(--background-modifier-border); + margin: 0; + padding: 12px; + justify-content: center; + } + .sync-history-content-container textarea { + resize: none; + border: none; + box-shadow: none; + } + .sync-history-content-container textarea:hover, + .sync-history-content-container textarea:active, + .sync-history-content-container textarea:focus { + border: none; + box-shadow: none; + } + .sync-history-content-empty { + display: none; + } + .sync-history-content-container.mod-empty .sync-history-content-empty { + display: block; + text-align: center; + padding: 24px; + } + .sync-history-content { + display: flex; + flex-direction: column; + flex-grow: 1; + overflow: hidden; + padding: 0; + } + .sync-history-content .setting-item:first-child { + padding: var(--size-4-4) var(--size-4-6) var(--size-4-4); + border-bottom: 1px solid var(--background-modifier-border); + } + .sync-history-content .setting-item-info { + flex-grow: 0; + font-weight: var(--bold-weight); + } + .sync-history-content .setting-item-control { + justify-content: flex-start; + } + .sync-history-text, + .sync-history-diff { + flex: 1 0 auto; + padding: var(--size-4-6); + } + .sync-history-content-other { + flex-grow: 1; + padding: var(--size-4-6); + text-align: center; + } + .sync-history-content-other img { + max-width: 100%; + } + .sync-history-content-container.mod-empty .sync-history-content, + .sync-history-content-container.mod-empty .sync-history-content-buttons { + display: none; + } + .sync-history-content-buttons { + border-top: 1px solid var(--background-modifier-border); + margin: 0; + padding: var(--size-4-3); + } + .mod-selectable { + cursor: var(--cursor); + padding: var(--size-4-2) var(--size-4-4); + border-radius: var(--radius-m); + } + @media (hover: hover) { + .mod-selectable:hover { + background-color: var(--background-modifier-hover); + } + } + .sync-history-load-more-button { + height: 38px; + text-align: center; + line-height: 38px; + cursor: var(--cursor); + color: var(--text-muted); + } + @media (hover: hover) { + .sync-history-load-more-button:hover { + color: var(--text-normal); + } + } + /* Sync log */ + .modal.mod-sync-log { + height: var(--modal-height); + width: var(--modal-width); + max-width: var(--modal-max-width-narrow); + padding: var(--size-4-4) 0 0 0; + } + .modal.mod-sync-log .modal-title { + padding: 0 var(--size-4-4); + } + .modal.mod-sync-log .modal-content { + display: flex; + flex-direction: column; + overflow: hidden; + } + .modal.mod-sync-log .modal-button-container { + margin: 0; + padding: var(--size-4-4); + } + .modal.mod-sync-log .setting-item.mod-toggle { + padding: 0 var(--size-4-4) var(--size-4-4); + } + .modal.mod-sync-log .sync-log-container { + overflow: auto; + flex-grow: 1; + font-family: var(--font-monospace); + font-size: var(--font-ui-smaller); + color: var(--text-muted); + border-top: 1px solid var(--background-modifier-border); + border-bottom: 1px solid var(--background-modifier-border); + padding: var(--size-4-4); + background-color: var(--background-secondary); + } + .modal.mod-sync-log .sync-log-container .list-item { + line-height: var(--line-height-normal); + margin: 0; + } + .modal.mod-sync-log .sync-log-container .list-item.mod-error { + color: var(--text-error); + } + .sync-file-tree-container { + max-height: calc(90vh - 250px); + overflow: auto; + } + .sync-exclude-folder { + display: flex; + margin: var(--size-4-3) 0; + } + .sync-exclude-folder > * { + align-self: center; + display: flex; + } + .sync-exclude-folder-name { + flex-grow: 1; + } + .sync-exclude-folder-remove { + visibility: hidden; + margin-right: 6px; + } + .sync-exclude-folder:hover .sync-exclude-folder-remove { + visibility: visible; + } + .tag-pane-tag.is-active { + background-color: var(--interactive-accent); + color: var(--text-on-accent); + } + .tag-pane-tag.is-active .tag-pane-tag-count { + background-color: var(--background-modifier-hover); + color: var(--text-normal); + } + @media (hover: hover) { + .tag-pane-tag.is-active:hover { + background-color: var(--interactive-accent); + color: var(--text-on-accent); + } + } + .tag-pane-tag-text, + .tag-pane-tag-count { + display: inline-block; + } + .tag-pane-tag-text { + word-break: break-word; + flex-grow: 1; + } + .tag-container { + font-size: var(--font-ui-small); + padding: var(--size-4-3) var(--size-4-3) var(--size-4-8); + overflow: auto; + } + .tree-item-children .tag-pane-tag .tag-pane-tag-parent { + display: none; + } + .workspace-leaf.mod-active .tree-item.has-focus > .tag-pane-tag { + border-radius: var(--radius-s); + box-shadow: 0 0 0 2px var(--background-modifier-border-focus); + } + .mod-macos.starter { + -webkit-app-region: drag; + } + .starter { + -webkit-user-select: none; + padding-top: 0! important; + } + .starter .titlebar { + background-color: transparent; + border: none; + } + .starter .titlebar-inner .titlebar-text { + display: none; + } + .starter-screen { + display: flex; + flex-direction: column; + background-color: var(--background-primary); + width: 100%; + height: 100%; + } + .starter-screen-inner { + flex-grow: 1; + display: flex; + height: calc(100% - 24px); + } + .splash { + align-items: center; + background-color: var(--background-primary); + display: flex; + flex-direction: column; + justify-content: center; + flex: 1 1 auto; + text-align: center; + padding: 36px 0 0; + } + .splash-brand { + flex: 0 0 content; + padding: 20px; + } + .splash-brand-name { + margin-top: 20px; + flex-grow: 1; + font-size: 30px; + text-transform: uppercase; + font-family: 'Avenir Next', sans-serif; + letter-spacing: 2px; + line-height: 26px; + } + .splash-brand-version { + color: var(--text-muted); + margin-top: 6px; + font-size: var(--font-ui-small); + } + .help-options-container { + flex: 1 0 0; + overflow: auto; + width: 100%; + max-width: 82%; + text-align: left; + padding: var(--size-4-6) 0; + } + .help-options-container::-webkit-scrollbar { + display: none; + } + .help-options-container .setting-item-description { + max-width: 30em; + padding-right: 12px; + } + .help-options-container .setting-icon .svg-icon { + stroke-width: 1px; + --icon-size: 48px; + color: var(--text-faint); + } + .open-vault-options-container { + flex: 1 0 0; + overflow: auto; + width: 100%; + position: relative; + } + .open-vault-options-container::-webkit-scrollbar { + display: none; + } + .open-vault-options { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + padding: 12px 36px; + text-align: left; + overflow-y: auto; + display: flex; + flex-direction: column; + } + .open-vault-options input[type='text'] { + width: 150px; + } + .open-vault-options .setting-item-control button { + width: 100px; + } + .open-vault-options .back-button { + display: flex; + align-items: center; + -webkit-app-region: no-drag; + color: var(--text-muted); + user-select: none; + cursor: var(--cursor); + } + @media (hover: hover) { + .open-vault-options .back-button:hover { + color: var(--text-normal); + } + } + .open-vault-options .setting-item-description { + display: -webkit-box; + -webkit-line-clamp: 3; + -webkit-box-orient: vertical; + overflow: hidden; + } + .open-vault-options.mod-login { + justify-content: flex-start; + } + .open-vault-options.mod-login input[type='text'] { + width: 250px; + } + .quick-start-container { + margin-bottom: 10px; + } + .quick-start-container button { + font-size: var(--font-ui-medium); + padding: 8px 60px; + } + .quick-start-container + .setting-item { + border-top: none; + } + .open-folder-input[type='text'] { + font-size: var(--font-ui-small); + width: 200px; + height: 28px; + } + .browse-folder-button { + margin-left: 10px; + } + .open-folder-button { + margin-top: 14px; + padding: 6px 36px; + } + .starter .notice { + top: 38px; + } + .setting-item.mod-change-language { + -webkit-app-region: no-drag; + } + .setting-item.mod-change-language .setting-item-info { + flex-grow: 0; + } + .setting-item.mod-change-language .setting-item-control { + flex-grow: 1; + justify-content: flex-start; + } + .setting-item.mod-change-language select { + width: 100%; + max-width: 100%; + } + .setting-item.mod-change-language .setting-item-name { + color: var(--text-faint); + position: relative; + top: 3px; + cursor: var(--cursor); + } + @media (hover: hover) { + .setting-item.mod-change-language .setting-item-name:hover { + color: var(--text-muted); + } + } + .setting-icon { + display: flex; + color: var(--text-muted); + margin-right: 24px; + } + .choose-vault-clickable-area { + text-align: center; + padding: 40px 60px; + border: 5px dashed var(--interactive-accent); + border-radius: 10px; + cursor: var(--cursor); + } + @media (hover: hover) { + .choose-vault-clickable-area:hover { + background-color: hsla(var(--interactive-accent-hsl), 0.4); + border: 5px solid hsla(var(--interactive-accent-hsl), 0.4); + } + } + .choose-vault-label-welcome { + line-height: 46px; + color: var(--text-muted); + } + .choose-vault-label-choose { + font-weight: var(--font-extrabold); + font-size: 32px; + } + .recent-vaults { + background-color: var(--background-secondary); + border-right: 1px solid var(--background-modifier-border); + padding: var(--size-4-8) var(--size-4-3) var(--size-4-2) var(--size-4-3); + flex-shrink: 0; + width: 280px; + overflow-y: hidden; + height: 100%; + } + .recent-vaults-header { + height: 30px; + line-height: 30px; + font-size: 18px; + color: var(--text-muted); + } + .recent-vaults-list { + overflow-y: auto; + height: 100%; + } + .recent-vaults-list-item { + -webkit-app-region: no-drag; + border-radius: var(--radius-s); + margin-bottom: var(--size-4-1); + padding: var(--size-4-2) var(--size-4-6) var(--size-4-2) var(--size-4-3); + cursor: var(--cursor); + position: relative; + } + @media (hover: hover) { + .recent-vaults-list-item:hover { + background-color: var(--background-modifier-hover); + color: var(--text-on-accent); + } + } + .recent-vaults-list-item-name, + .recent-vaults-list-item-path { + word-break: break-all; + } + .recent-vaults-list-item-name { + border-radius: 2px; + border: 1px solid transparent; + } + .recent-vaults-list-item-name[contenteditable] { + cursor: text; + border-color: var(--interactive-accent); + background-color: var(--background-modifier-hover); + font-size: 0.9em; + padding: 0 var(--size-4-1); + } + .recent-vaults-list-item-path { + font-size: var(--font-ui-smaller); + color: var(--text-muted); + line-height: 16px; + } + .recent-vaults-list-item-option-button { + position: absolute; + top: var(--size-4-3); + right: var(--size-4-1); + color: var(--text-faint); + width: 30px; + height: 30px; + line-height: 36px; + text-align: center; + transition: background-color 200ms ease-in-out; + } + .recent-vaults-list-item-option-button:hover { + color: var(--text-normal); + } + :root { + --safe-area-inset-top: env(safe-area-inset-top); + --safe-area-inset-bottom: env(safe-area-inset-bottom); + --safe-area-inset-left: env(safe-area-inset-left); + --safe-area-inset-right: env(safe-area-inset-right); + } + .is-mobile { + --ribbon-width: 58px; + --view-header-height: 50px; + --mobile-toolbar-height: 40px; + --caret-color: var(--text-accent); + --font-ui-smaller: calc(var(--font-text-size) * 0.8); + --font-ui-small: calc(var(--font-text-size) * 0.937); + --font-ui-medium: var(--font-text-size); + --font-ui-large: calc(var(--font-text-size) * 1.2); + --icon-s: 18px; + --icon-m: 20px; + --icon-l: 24px; + --icon-l-stroke-width: 1.8px; + --icon-opacity: 1; + --input-height: 40px; + --input-shadow: none; + --input-shadow-hover: none; + --input-font-weight: var(--font-medium); + --input-border-width: 0px; + --interactive-normal: var(--background-secondary); + --mobile-sidebar-width: 340px; + --mobile-sidebar-max-width: 500px; + --nav-item-padding: var(--size-2-3) var(--size-4-2); + --nav-item-color: var(--text-normal); + --search-clear-button-size: 16px; + --search-icon-size: 20px; + --settings-home-background: var(--background-secondary); + --slider-thumb-border-width: 0px; + --slider-thumb-height: 24px; + --slider-thumb-width: 24px; + --slider-thumb-y: -9px; + --slider-track-height: 6px; + --swatch-shadow: none; + --swatch-height: 40px; + --swatch-width: 40px; + --swatch-radius: 40px; + --toggle-width: 48px; + --toggle-radius: 26px; + --toggle-thumb-radius: 26px; + --toggle-thumb-height: 26px; + --toggle-thumb-width: 26px; + --file-margins: var(--size-4-2) var(--size-4-5); + --background-modifier-cover: rgba(0, 0, 0, 0.25); + --background-modifier-form-field: var(--background-secondary); + --keyboard-background: var(--background-primary); + --checkbox-size: 17px; + } + .is-mobile.theme-dark { + --color-base-00: #000; + --color-base-10: #111; + --color-base-20: #1e1e1e; + --tag-background: hsla(var(--interactive-accent-hsl), 0.2); + --modal-background: var(--background-secondary); + --search-result-background: var(--background-secondary); + --background-modifier-form-field: var(--background-modifier-border); + --background-modifier-cover: rgba(0, 0, 0, 0.5); + --background-modifier-hover: rgba(var(--mono-rgb-100), 0.15); + --settings-home-background: var(--background-primary); + } + .is-tablet { + --nav-item-padding: var(--size-2-3) var(--size-4-3); + --tab-font-size: var(--font-ui-smaller); + } + .is-tablet.theme-dark { + --titlebar-background: var(--background-primary); + --titlebar-background-focused: var(--background-primary); + --interactive-normal: var(--background-modifier-border); + } + .is-phone { + --border-width: 0.5pt; + --divider-width: 0.5pt; + --tab-outline-width: 0.5pt; + --modal-header-height: 44px; + --modal-community-sidebar-width: 100%; + --nav-item-size: var(--font-ui-medium); + } + body.is-mobile { + height: 100vh; + width: 100vw; + caret-color: var(--caret-color); + padding-bottom: 50px; + } + .is-mobile .markdown-source-view.mod-cm6 .cm-content, + .is-mobile .mod-cm6 .cm-line { + caret-color: var(--caret-color); + } + .is-mobile .markdown-source-view.mod-cm6 .cm-gutters { + margin-left: -18px; + } + .is-mobilebody, + .is-mobile .app-container, + .is-mobile .horizontal-main-container { + background-color: red; + } + .is-mobile .workspace > .mod-root { + padding-left: var(--safe-area-inset-left); + } + body.is-mobile { + padding: var(--safe-area-inset-top) 0 0 0; + -webkit-text-size-adjust: 100%; + } + .is-mobile .workspace-split.mod-left-split, + .is-mobile .workspace-split.mod-right-split { + display: none; + } + .is-mobile .tree-item .tree-item-self { + padding-right: var(--size-4-2); + } + .is-mobile .input-label { + display: block; + text-align: left; + color: var(--text-muted); + margin-bottom: 8px; + } + .is-mobile input[type='text'] { + display: block; + width: 100%; + padding: 8px 12px; + height: auto; + } + .is-mobile .markdown-rendered pre:not(:hover) > button.copy-code-button { + display: block; + } + .is-mobile .markdown-rendered button.copy-code-button { + width: auto; + } + .is-mobile .empty-state-action-list { + margin-top: 40px; + } + .is-mobile .empty-state-action { + background-color: var(--background-primary-alt); + margin: 12px 0; + padding: 6px 30px; + border-radius: var(--button-radius); + text-align: center; + } + .is-mobile .login-field { + width: 100%; + margin: 0.5em 0 0.5em 0; + } + .is-mobile .login-field input { + width: 100%; + } + .is-mobile .markdown-rendered .frontmatter-container { + margin-top: 20px; + } + .is-mobile .markdown-rendered .heading-collapse-indicator { + margin-left: -20px; + } + .is-mobile .markdown-rendered ul, + .is-mobile .markdown-rendered ol { + padding-inline-start: 25px; + } + .is-mobile .message-container { + text-align: center; + margin: 8px 0; + } + .is-mobile .search-result-file-match-replace-button { + display: block; + position: relative; + padding: 6px 10px; + right: 0; + margin-top: 6px; + background-color: var(--background-secondary-alt); + } + .is-mobile .suggestion-flair { + position: relative; + margin-right: 6px; + left: 0; + top: 0; + } + .is-mobile .document-search-container { + height: auto; + margin-left: 0; + margin-right: 0; + padding: 0 var(--size-4-4) var(--size-4-2); + border-bottom: var(--border-width) solid var(--background-modifier-border); + } + .is-mobile .document-search-container.mod-replace-mode { + height: auto; + } + .is-mobile .document-search, + .is-mobile .document-replace { + height: auto; + padding: 0; + } + .is-mobile .document-search .document-search-button, + .is-mobile .document-replace .document-search-button { + height: auto; + padding: 6px 0; + background-color: transparent; + color: var(--text-accent); + } + .is-mobile .document-search input, + .is-mobile .document-replace input, + .is-mobile .document-search button, + .is-mobile .document-replace button { + width: auto; + flex-grow: 1; + } + .is-mobile .document-search .document-search-buttons, + .is-mobile .document-replace .document-search-buttons, + .is-mobile .document-search .document-replace-buttons, + .is-mobile .document-replace .document-replace-buttons { + display: flex; + flex-grow: 1; + } + .is-mobile .document-search .document-search-close-button, + .is-mobile .document-replace .document-search-close-button { + height: 34px; + line-height: 34px; + top: 0; + } + .is-tablet .mod-left-split-toggle { + display: none; + } + .is-tablet button:not(.clickable-icon) { + padding: var(--size-4-1) var(--size-4-5); + } + .is-phone button { + width: 100%; + } + .is-phone .vault-list-item-creation-time { + display: none; + } + .is-phone .vault-list-item { + padding: 5px 0; + } + .is-phone .vault-list-item .flair { + display: none; + } + .is-phone .vault-list-item-title { + flex: 1 0 auto; + } + .is-phone .vault-list-item-button { + margin-right: 0; + } + .suggestion-bg { + display: none; + } + body.is-phone .suggestion-bg { + display: block; + } + @keyframes fadeIn { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } + } + @keyframes fadeOut { + 0% { + opacity: 1; + } + 100% { + opacity: 0; + } + } + .mobile-image-viewer { + position: absolute; + height: 100%; + width: 100%; + top: 0; + left: 0; + background-color: var(--background-modifier-cover); + display: flex; + justify-content: center; + overflow: hidden; + z-index: var(--layer-modal); + } + .mobile-image-viewer img { + align-self: center; + max-height: 100%; + max-width: 100%; + } + .mod-tappable { + transition: opacity 0.15s ease-in-out; + } + .mod-tappable.mod-tap { + opacity: 0.5; + } + .is-mobile .document-search-container { + height: auto; + margin-left: 0; + margin-right: 0; + padding: 0 var(--size-4-4) var(--size-4-2); + border-bottom: var(--border-width) solid var(--background-modifier-border); + } + .is-mobile .document-search-container.mod-replace-mode { + height: auto; + } + .is-mobile .document-search, + .is-mobile .document-replace { + height: auto; + padding: 0; + } + .is-mobile .document-search .document-search-button, + .is-mobile .document-replace .document-search-button { + height: auto; + padding: 6px 0; + background-color: transparent; + color: var(--text-accent); + } + .is-mobile .document-search input, + .is-mobile .document-replace input, + .is-mobile .document-search button, + .is-mobile .document-replace button { + width: auto; + flex-grow: 1; + } + .is-mobile .document-search .document-search-buttons, + .is-mobile .document-replace .document-search-buttons, + .is-mobile .document-search .document-replace-buttons, + .is-mobile .document-replace .document-replace-buttons { + display: flex; + flex-grow: 1; + } + .is-mobile .document-search .document-search-close-button, + .is-mobile .document-replace .document-search-close-button { + height: 34px; + line-height: 34px; + top: 0; + } + .is-mobile .view-header { + border-top: none; + height: var(--view-header-height); + } + .is-mobile .workspace-split.mod-root > .workspace-leaf:first-of-type .workspace-leaf-content, + .is-mobile .workspace-split.mod-root > .workspace-leaf:last-of-type .workspace-leaf-content { + border-radius: 0; + } + .is-mobile .view-header-title { + padding-right: 0px; + } + .is-mobile .view-header-title-container { + padding-left: 24px; + } + .is-mobile .view-header-title-container:after { + display: none; + } + .is-mobile .view-header-icon { + padding: 10px; + } + .is-mobile .inline-title { + padding-top: 0.25em; + } + .is-mobile .horizontal-main-container { + position: relative; + } + .is-mobile .view-header-title-container { + height: 50px; + } + .is-mobile .view-actions { + padding: var(--size-4-2) 0; + gap: var(--size-2-1); + } + .is-mobile .view-header-nav-buttons, + .is-mobile .view-header .view-action { + --icon-color: var(--interactive-accent); + --icon-color-hover: var(--interactive-accent); + --icon-color-active: var(--interactive-accent-hover); + --icon-color-focus: var(--interactive-accent-hover); + --icon-size: var(--icon-l); + --icon-stroke: var(--icon-l-stroke-width); + } + .is-mobile .view-action { + margin: auto 0; + width: auto; + } + .is-phone .view-header-title-parent, + .is-phone .view-header-title { + display: block; + text-overflow: ellipsis; + opacity: 0.7; + } + .is-phone .view-header-title-parent:focus-within, + .is-phone .view-header-title:focus-within { + text-overflow: unset; + opacity: 1; + } + .is-mobile .hotkey-list-container .setting-item { + flex-direction: column; + align-items: stretch; + } + .is-mobile .hotkey-list-container .setting-item-control { + margin-top: 10px; + align-items: flex-start; + } + .is-mobile .hotkey-list-container .setting-command-hotkeys { + flex: 1 0 auto; + } + .is-mobile .hotkey-list-container .setting-hotkey { + align-self: flex-start; + } + .is-tablet .horizontal-tab-nav-item, + .is-tablet .vertical-tab-nav-item { + padding: var(--size-4-2) var(--size-4-3); + } + .is-tablet .modal.mod-settings .vertical-tab-header { + max-width: none; + } + .is-tablet.theme-dark .community-item, + .is-tablet.theme-dark .vertical-tab-content { + background-color: var(--background-secondary); + } + .is-phone.theme-dark .modal.mod-settings { + background-color: var(--background-primary); + } + .is-phone.theme-dark .modal.mod-settings .vertical-tab-header { + background-color: var(--background-primary); + } + .is-phone.theme-dark .modal.mod-settings .vertical-tab-nav-item { + background-color: var(--background-secondary); + } + .is-phone.theme-dark .modal.mod-settings .vertical-tab-header-title { + background-color: var(--background-primary); + } + .is-phone .setting-item-heading { + margin-top: 1.5em; + } + .is-phone .vertical-tab-header-group { + margin: 0 auto; + width: calc(100% - var(--size-4-8)); + } + .is-phone .vertical-tab-header-group-title { + padding-bottom: 1em; + } + .is-phone .vertical-tab-header-group-title, + .is-phone .setting-item-heading .setting-item-name { + color: var(--text-normal); + font-weight: var(--font-bold); + font-size: var(--font-ui-large); + } + .is-phone .setting-item { + padding: 1em 0; + border-width: var(--border-width) 0 0 0; + gap: var(--size-4-1); + } + .is-phone .setting-item-name { + font-weight: var(--font-medium); + } + .is-phone .setting-item-info { + min-width: 0; + } + .is-phone .setting-item:not(.mod-toggle):not(.setting-item-heading) { + flex-direction: column; + align-items: flex-start; + } + .is-phone .setting-item:not(.mod-toggle):not(.setting-item-heading) .setting-item-control { + margin-top: 12px; + width: 100%; + } + .is-phone .setting-icon { + margin-right: 10px; + display: inline-flex; + vertical-align: middle; + } + .is-phone .setting-item-control select, + .is-phone .setting-item-control input, + .is-phone .setting-item-control button { + width: 100%; + margin: 0; + } + .is-phone .setting-item-control button { + padding: 10px; + } + .is-phone .setting-item-control select { + max-width: 100%; + } + .is-phone .modal.mod-settings { + background-color: var(--background-secondary); + } + .is-phone .modal.mod-settings .modal-title { + border-bottom: var(--border-width) solid var(--background-modifier-border); + } + .is-phone .modal.mod-settings .vertical-tabs-container { + display: block; + overflow-y: auto; + } + .is-phone .modal.mod-settings .vertical-tab-header { + background-color: var(--background-secondary); + border-right: none; + flex-grow: 1; + height: 100%; + min-width: 100%; + padding: var(--size-4-4); + width: 100%; + } + .is-phone .modal.mod-settings .vertical-tab-content { + background-color: var(--background-primary); + padding: var(--size-4-5) max(var(--size-4-5), var(--safe-area-inset-right)) 100px max(var(--size-4-5), var(--safe-area-inset-left)); + } + .is-phone .modal.mod-settings .vertical-tab-header-group-items { + border-radius: var(--radius-m); + overflow: hidden; + } + .is-phone .modal.mod-settings .vertical-tab-nav-item { + display: flex; + align-items: center; + height: 44px; + background-color: var(--background-primary); + padding: 0 var(--size-4-2) 0 var(--size-4-3); + margin: 0; + border-radius: 0; + border-bottom: var(--border-width) solid var(--background-modifier-border); + transition: background-color 200ms ease-in-out, color 200ms ease-in-out; + } + .is-phone .modal.mod-settings .vertical-tab-nav-item.is-active { + background-color: var(--interactive-accent); + } + .is-phone .modal.mod-settings .vertical-tab-nav-item:last-child { + border-bottom: none; + } + .is-phone .modal.mod-settings .vertical-tab-nav-item-chevron { + display: flex; + margin-left: auto; + color: var(--text-faint); + } + .is-phone .vertical-tab-header-title { + font-weight: var(--font-semibold); + } + .is-phone .community-modal { + width: 100%; + margin-bottom: 10px; + } + .is-phone .modal.mod-community-theme { + min-height: unset; + } + .is-phone .community-modal-sidebar { + background-color: var(--background-primary); + } + .is-phone .community-modal-controls { + background-color: transparent; + } + .is-phone .community-modal-controls .setting-item { + flex: 0 0 auto; + padding: 0.25em 0; + } + .is-phone .community-modal-controls .setting-item-control { + flex-direction: column; + align-items: flex-end; + } + .is-phone .community-modal-controls .search-input-container { + width: 100%; + } + .is-phone .community-modal-search-results { + gap: 0; + padding: 0; + } + .is-phone .community-modal-info { + padding: var(--size-4-4); + } + .is-phone .community-item { + border-width: 0 0 var(--border-width) 0; + border-radius: 0; + padding: var(--size-4-4); + } + .is-phone .community-item-info { + padding: 20px; + } + .is-phone .community-modal-details { + background-color: var(--background-primary); + border: none; + } + .is-phone .community-modal-readme { + padding: 20px 0; + } + .is-phone .community-modal-controls { + padding: 0 var(--size-4-4); + } + .is-phone .community-modal-search-summary { + padding: var(--size-4-1) var(--size-4-1) var(--size-4-4); + } + .is-phone .mod-community-theme .community-item { + display: grid; + grid-template-columns: 1fr 160px; + grid-auto-flow: column dense; + } + .is-phone .mod-community-theme .community-item .community-item-name { + grid-column: 1 / 2; + } + .is-phone .mod-community-theme .community-item .community-item-author { + grid-column: 1 / 2; + } + .is-phone .mod-community-theme .community-item .community-item-badge.mod-update { + position: static; + grid-row: 4; + } + .is-phone .mod-community-theme .community-item .community-item-downloads { + grid-column: 1 / 2; + } + .is-phone .mod-community-theme .community-item .community-item-screenshot { + grid-row: 1 / span 4; + height: 90px; + } + .is-phone .mod-community-plugin .community-item { + display: grid; + grid-template-columns: 3fr 1fr; + grid-auto-flow: column dense; + } + .is-phone .mod-community-plugin .community-item .community-item-name { + grid-column: 1 / 2; + } + .is-phone .mod-community-plugin .community-item .community-item-author { + grid-column: 1 / 2; + } + .is-phone .mod-community-plugin .community-item .community-item-badge.mod-update { + position: static; + grid-row: 4; + } + .is-phone .mod-community-plugin .community-item .community-item-downloads { + grid-column: 2 / 2; + text-align: right; + color: var(--text-faint); + } + .is-phone .mod-community-plugin .community-item .community-item-desc { + grid-column: 1 / span 2; + } + .is-phone .community-modal-button-container { + display: flex; + flex-direction: column; + gap: var(--size-4-2); + } + .mobile-option-setting-item { + font-size: var(--font-ui-medium); + display: flex; + align-items: center; + margin: 8px 0; + gap: var(--size-4-1); + transition: transform 1000ms ease-in-out; + color: var(--text-muted); + } + .mobile-option-setting-item:first-of-type:last-of-type .mobile-option-setting-drag-icon { + display: none; + } + .mobile-option-setting-item-name { + flex: 1 0 0; + color: var(--text-normal); + } + .drag-reorder-ghost .mobile-option-setting-item-name { + color: #fafafa; + } + .mobile-option-setting-item-option-icon { + display: flex; + align-items: center; + justify-content: center; + padding: 4px 4px; + cursor: var(--cursor); + border-radius: var(--radius-s); + } + :not(.is-mobile) .mobile-option-setting-item-option-icon:hover, + :not(.is-mobile) .mobile-option-setting-item-option-icon:active { + background-color: var(--background-modifier-hover); + } + .mobile-option-setting-item-option-icon.mobile-option-setting-drag-icon { + cursor: grab; + } + .mobile-option-setting-item-option-icon.mobile-option-setting-drag-icon:active { + cursor: grabbing; + } + .mobile-option-setting-item-remove-icon { + color: var(--text-error); + display: flex; + } + .mobile-option-setting-item-add-icon { + color: var(--text-success); + display: flex; + } + .is-mobile .status-bar { + display: none; + } + .workspace-drawer { + position: fixed; + top: 0; + bottom: 0; + display: flex; + overflow: hidden; + font-size: var(--font-ui-small); + min-width: var(--mobile-sidebar-width); + max-width: var(--mobile-sidebar-max-width); + width: 85vw; + z-index: var(--layer-popover); + margin: 0; + border-radius: 0; + padding-top: var(--safe-area-inset-top); + background-color: var(--background-primary); + } + .workspace-drawer .nav-folder.mod-root > .nav-folder-title { + display: none; + } + .workspace-drawer .nav-header { + margin-top: auto; + padding-bottom: max(var(--size-4-2), var(--safe-area-inset-bottom)); + order: 10; + } + .workspace-drawer .nav-header ~ .search-input-container { + width: calc(100% - var(--size-4-9)); + } + .workspace-drawer .workspace-leaf { + background-color: transparent; + } + .theme-dark .workspace-drawer { + background-color: var(--background-secondary); + } + .workspace-drawer.is-pinned { + height: 100%; + position: relative; + max-width: var(--mobile-sidebar-width); + z-index: var(--layer-cover); + border-radius: 0; + margin: 0; + box-shadow: none; + } + .workspace-drawer.mod-left { + left: 0; + padding-left: var(--safe-area-inset-left); + border-top-right-radius: var(--radius-xl); + border-bottom-right-radius: var(--radius-xl); + } + .workspace-drawer.mod-left.is-pinned { + border-right: var(--divider-width) solid var(--divider-color); + border-radius: 0; + } + body.is-tablet .workspace-drawer.mod-left .workspace-drawer-inner { + padding-left: var(--ribbon-width); + } + .workspace-drawer.mod-right { + right: 0; + padding-right: var(--safe-area-inset-right); + border-top-left-radius: var(--radius-xl); + border-bottom-left-radius: var(--radius-xl); + } + .workspace-drawer.mod-right.is-pinned { + border-left: var(--divider-width) solid var(--divider-color); + border-radius: 0; + } + .workspace-drawer.is-collapsed { + overflow: hidden; + } + .workspace-drawer .nav-buttons-container { + padding-left: var(--size-4-3); + padding-right: var(--size-4-3); + --icon-size: var(--icon-l); + --icon-stroke: var(--icon-l-stroke-width); + --icon-color: var(--interactive-accent); + --icon-color-hover: var(--interactive-accent); + --icon-color-active: var(--interactive-accent); + --icon-color-focus: var(--interactive-accent-hover); + } + .workspace-drawer .nav-buttons-container .nav-action-button { + flex-grow: 1; + } + .workspace-drawer .workspace-drawer-actions, + .workspace-drawer .nav-buttons-container { + overflow: auto; + flex-wrap: nowrap; + } + .workspace-drawer .workspace-drawer-actions::-webkit-scrollbar, + .workspace-drawer .nav-buttons-container::-webkit-scrollbar, + .workspace-drawer .workspace-drawer-actions::-webkit-scrollbar-thumb, + .workspace-drawer .nav-buttons-container::-webkit-scrollbar-thumb { + visibility: hidden; + } + .workspace-drawer .side-dock-settings { + margin-bottom: 0; + } + .workspace-drawer-inner { + flex: 1 1 auto; + overflow: hidden; + display: flex; + flex-direction: column; + background-color: var(--background-primary); + position: relative; + transition: width ease-out 150ms; + } + .theme-dark .workspace-drawer-inner { + background-color: var(--background-secondary); + } + .workspace-drawer.is-collapsed .workspace-drawer-inner { + padding: 0; + width: 0; + } + .workspace-drawer-backdrop { + display: block; + position: fixed; + z-index: var(--layer-cover); + width: 100%; + height: 100%; + background-color: var(--background-modifier-cover); + top: 0; + left: 0; + opacity: 1; + transition: opacity ease-out 150ms; + } + .workspace-drawer.is-collapsed .workspace-drawer-backdrop { + display: none; + opacity: 0; + } + .workspace-drawer-ribbon { + position: absolute; + left: 0; + top: 0; + height: 100%; + overflow: auto; + width: var(--ribbon-width); + padding: var(--size-4-1) 0 var(--safe-area-inset-bottom); + } + .workspace-drawer-ribbon::-webkit-scrollbar, + .workspace-drawer-ribbon::-webkit-scrollbar-thumb { + visibility: hidden; + width: 0; + } + .workspace-drawer-ribbon .side-dock-actions { + padding: var(--size-4-2) 0; + } + .workspace-drawer-ribbon .side-dock-actions, + .workspace-drawer-ribbon .side-dock-settings { + gap: var(--size-4-2); + } + .workspace-drawer-ribbon .side-dock-ribbon-action { + padding: var(--size-4-2); + } + .workspace-drawer-header { + padding: var(--size-4-2) var(--size-4-5) 0 var(--size-4-5); + display: flex; + align-items: flex-start; + } + .workspace-drawer.is-pinned .workspace-drawer-header { + padding-top: 0; + } + .workspace-drawer-header-left { + display: flex; + flex-direction: column; + flex: 1 1 auto; + overflow: hidden; + } + .workspace-drawer-header-name { + display: flex; + } + .workspace-drawer-header-switcher { + display: flex; + flex: 0 1 auto; + } + .workspace-drawer-header-name-text { + text-overflow: ellipsis; + overflow: hidden; + font-size: var(--font-ui-large); + font-weight: var(--font-semibold); + } + .workspace-drawer-header-name-chevron { + --icon-size: var(--icon-m); + --icon-stroke: 2.25px; + color: var(--text-faint); + display: flex; + align-items: center; + margin-left: var(--size-2-1); + } + .workspace-drawer-header-name-action-icon { + color: var(--text-muted); + margin-left: var(--size-4-2); + display: flex; + align-items: center; + } + .workspace-drawer-header-info { + color: var(--text-muted); + margin: var(--size-4-1) 0 var(--size-4-4) 0; + font-size: var(--font-ui-small); + } + .workspace-drawer-header-icon { + --icon-size: var(--icon-l); + --icon-stroke: var(--icon-l-stroke-width); + padding-top: var(--size-2-2); + color: var(--interactive-accent); + margin-left: var(--size-4-3); + } + .workspace-drawer-actions { + margin: var(--size-4-4) 0 var(--size-4-3) 0; + display: flex; + color: var(--text-muted); + } + .workspace-drawer-action-item { + flex: 0 0 70px; + display: flex; + flex-direction: column; + align-items: center; + overflow: hidden; + } + .workspace-drawer-action-icon { + color: var(--text-faint); + } + .workspace-drawer-action-short-name { + font-size: var(--font-ui-small); + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + max-width: 80px; + } + .workspace-drawer-separator { + margin: 0 0 12px 0; + } + .workspace-drawer-tab-option-item { + display: flex; + align-items: center; + margin: var(--size-4-5); + gap: var(--size-4-2); + } + .workspace-drawer-active-tab-icon, + .workspace-drawer-tab-option-item-icon { + --icon-size: var(--icon-l); + --icon-stroke: var(--icon-l-stroke-width); + color: var(--text-normal); + display: flex; + } + .workspace-drawer-active-tab-icon:last-child { + color: var(--interactive-accent); + order: 2; + } + .workspace-drawer-active-tab-back-icon { + --icon-size: var(--icon-l); + --icon-stroke: var(--icon-l-stroke-width); + display: flex; + color: var(--interactive-accent); + order: 1; + margin-right: var(--size-4-1); + } + .workspace-drawer-tab-option-item-title, + .workspace-drawer-active-tab-title { + color: var(--text-normal); + font-weight: var(--font-medium); + font-size: var(--font-ui-medium); + flex: 1 0 0; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } + .workspace-drawer-active-tab-header { + display: flex; + align-items: center; + padding: var(--size-4-3) var(--size-4-5) var(--size-4-4); + margin: 0; + gap: var(--size-4-2); + } + .workspace-drawer-tab-container { + overflow: hidden; + position: relative; + flex: 1 0 0; + } + .workspace-drawer-tab-container > * { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + } + .workspace-drawer-active-tab-icon.mod-exit-fullscreen { + display: none; + } + .workspace-drawer-active-tab-container { + display: flex; + flex-direction: column; + } + .theme-dark .workspace-drawer-active-tab-container.is-fullscreen { + background-color: var(--background-secondary); + } + .workspace-drawer-active-tab-container .workspace-drawer-active-tab-content .nav-files-container { + padding-top: var(--size-4-3); + } + .workspace-drawer-active-tab-container.is-fullscreen { + position: fixed; + width: 100%; + top: 0; + left: 0; + background-color: var(--background-primary); + margin: 0 env(safe-area-inset-right, 20px) 0 env(safe-area-inset-left, 20px); + padding: env(safe-area-inset-top, 20px) 0 0; + } + .workspace-drawer-active-tab-container.is-fullscreen .workspace-drawer-active-tab-back-icon { + display: none; + } + .workspace-drawer-active-tab-container.is-fullscreen .workspace-leaf { + width: 100%; + } + .workspace-drawer-active-tab-container.is-fullscreen .workspace-drawer-active-tab-header { + margin: 0 env(safe-area-inset-right, 20px) 0 env(safe-area-inset-left, 20px); + padding: var(--size-4-4) var(--size-4-6); + } + .workspace-drawer-active-tab-content { + flex: 1 0 0; + overflow: auto; + display: flex; + } + .workspace-drawer-active-tab-content > * { + flex: 1 0 0; + width: 100%; + height: 100%; + } + .workspace-drawer-active-tab-content .view-header { + display: none !important; + } + .workspace-drawer-active-tab-content .view-content { + padding-top: 4px; + height: 100%; + } + .workspace-drawer-active-tab-content .graph-controls { + display: none; + } + .workspace-drawer-active-tab-content .outline { + font-size: var(--font-ui-medium); + } + .is-phone .side-dock-ribbon { + display: none; + } + .is-phone .workspace-drawer .workspace-drawer-header-icon.mod-pin { + display: none; + } + .is-phone .mod-root .workspace-split:not(.mod-visible), + .is-phone .mod-root .workspace-tabs:not(.mod-visible) { + display: none; + } + .is-tablet .workspace-drawer .workspace-drawer-header-icon.mod-settings { + display: none; + } + body.is-tablet .sidebar-toggle-button { + padding-left: var(--size-4-2); + --icon-color: var(--interactive-accent); + --icon-color-hover: var(--interactive-accent); + --icon-color-active: var(--interactive-accent-hover); + --icon-color-focus: var(--interactive-accent-hover); + --icon-size: var(--icon-l); + --icon-stroke: var(--icon-l-stroke-width); + } + .is-mobile .menu { + border: none; + max-width: 100%; + } + .is-phone .menu { + background-color: var(--background-secondary); + max-height: 60vh; + width: calc(100% - var(--safe-area-inset-left) - var(--safe-area-inset-right)); + min-width: unset; + position: absolute; + padding-bottom: var(--safe-area-inset-bottom); + margin-left: var(--safe-area-inset-left); + margin-right: var(--safe-area-inset-right); + border-radius: var(--radius-l) var(--radius-l) 0 0; + bottom: 0; + left: 0; + right: 0; + margin: 0 auto; + top: unset !important; + overflow-y: auto; + } + .is-phone .menu-item { + padding: var(--size-4-3) var(--size-4-3); + height: unset; + line-height: unset; + } + .is-mobile .modal { + border: none; + } + .is-mobile .modal-button-container { + display: flex; + flex-direction: column; + } + .is-mobile .community-modal { + width: 100%; + margin-bottom: 10px; + } + .is-mobile .modal.mod-community-theme { + min-height: unset; + } + .is-mobile .mod-confirmation .modal-close-button { + display: none; + } + .is-phone .modal, + .is-phone .prompt, + .is-phone .suggestion-container { + border-radius: 0; + border: none; + max-height: 100vh; + width: 100vw; + max-width: 100vw; + min-width: unset; + position: absolute; + bottom: unset; + padding: 0; + left: 0; + right: 0; + } + .is-phone .modal { + margin-left: 12px; + margin-right: 12px; + width: calc(100% - 24px); + border-radius: var(--radius-m); + } + .is-phone .modal .modal-title { + font-size: var(--font-ui-medium); + padding-top: var(--size-4-3); + text-align: center; + } + .is-phone .modal-close-button { + top: calc(var(--safe-area-inset-top) + 10px); + right: var(--size-4-5); + } + .is-phone .modal { + display: flex; + flex-direction: column; + padding: 0; + overflow-wrap: anywhere; + word-break: break-word; + } + .is-phone .modal-content { + display: flex; + position: relative; + flex-direction: column; + margin-top: 0; + overflow: auto; + padding: var(--size-4-3); + } + .is-phone .modal-content > * { + flex: 1 0 auto; + } + .is-phone .modal-button-container { + width: 100%; + padding: var(--size-4-3); + margin-top: 0; + } + .is-phone .modal.mod-sidebar-layout { + bottom: 0; + top: 0; + border-radius: 0; + height: 100%; + max-height: 100%; + margin: 0; + padding: 0 var(--safe-area-inset-right) 0 var(--safe-area-inset-left); + width: 100vw; + } + .is-phone .modal.mod-sidebar-layout .search-input-container { + flex-grow: 1; + } + .is-phone .modal.mod-sidebar-layout .modal-title { + display: block; + padding-top: calc(env(safe-area-inset-top) + var(--size-4-3)); + padding-bottom: var(--size-4-3); + margin-bottom: 0; + } + .is-phone .modal.mod-sidebar-layout .modal-content > * { + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + right: 0; + padding: 0 var(--safe-area-inset-right) 0 var(--safe-area-inset-left); + } + .mobile-navbar { + background-color: var(--background-primary); + padding: 0 max(var(--safe-area-inset-right), var(--size-4-4)) 0 max(var(--safe-area-inset-left), var(--size-4-4)); + position: absolute; + left: 0; + right: 0; + bottom: 0; + } + body.is-tablet .mobile-navbar { + display: none; + } + .mobile-navbar-text { + font-size: var(--font-ui-small); + padding: var(--size-4-1) 0; + white-space: nowrap; + text-overflow: clip; + width: 100%; + -webkit-mask-image: linear-gradient(to left, rgba(0, 0, 0, 0) var(--size-4-4), #000000 var(--size-4-8)); + } + .mobile-navbar-actions { + --icon-size: var(--icon-l); + --icon-stroke: var(--icon-l-stroke-width); + --icon-color: var(--interactive-accent); + --icon-color-hover: var(--interactive-accent); + --icon-color-active: var(--interactive-accent-hover); + --icon-color-focus: var(--interactive-accent-hover); + display: flex; + align-items: center; + justify-content: space-between; + padding: var(--size-4-2) 0 max(var(--size-4-2), var(--safe-area-inset-bottom)) 0; + } + .mobile-navbar-tabs-action { + align-items: center; + border-radius: var(--clickable-icon-radius); + border: 2px solid var(--icon-color); + display: flex; + font-size: calc(var(--icon-size) * 0.6); + font-weight: var(--bold-weight); + justify-content: center; + height: 20px; + width: var(--icon-size); + } + .mobile-navbar-action.mod-swappable { + position: relative; + } + .mobile-navbar-action.mod-swappable .navbar-action-flair { + --icon-size: 12px; + --icon-stroke: 3px; + color: var(--interactive-accent); + position: absolute; + left: -6px; + top: 0; + height: 100%; + align-items: center; + display: flex; + } + .is-phone .notice-container { + padding: 0; + top: max(var(--size-4-1), var(--safe-area-inset-top)); + left: 0; + right: 0; + max-width: 96%; + margin: 0 auto; + } + .is-phone .notice { + background-color: var(--interactive-accent); + color: var(--text-on-accent); + margin: 0 auto; + text-align: center; + border-radius: 30px; + max-width: none; + box-shadow: none; + } + .is-mobile .prompt { + border: none; + } + .theme-dark.is-mobile .prompt { + background-color: var(--background-secondary); + } + .theme-dark.is-mobile .prompt input.prompt-input { + background-color: var(--background-secondary); + } + .is-mobile .prompt-input[type=text] { + padding: var(--size-4-4); + } + .is-phone .prompt { + position: relative; + margin: 0 auto; + width: calc(100% - var(--safe-area-inset-left) - var(--safe-area-inset-right)); + } + .is-phone .prompt .suggestion-hotkey { + display: none; + } + .is-phone .prompt { + --mobile-height: 100vh; + --prompt-bottom: 0px; + --prompt-top: calc(var(--safe-area-inset-top) + var(--header-height) + var(--size-4-2)); + border-radius: var(--radius-l) var(--radius-l) 0 0; + min-width: unset; + margin-bottom: var(--prompt-bottom); + margin-top: var(--prompt-top); + box-shadow: none; + top: 0; + height: calc(var(--mobile-height) - var(--prompt-top) - var(--prompt-bottom)); + } + .is-phone .prompt-input-container { + border-bottom: var(--border-width) solid var(--background-modifier-border); + } + .is-phone .prompt-input[type=text] { + border: none; + } + .is-phone .prompt-input-cta { + --icon-color: var(--interactive-accent); + display: flex; + align-items: center; + padding: 0 var(--size-4-3); + flex: 0 1 auto; + } + .is-phone .prompt-instructions { + display: none; + } + .pull-action { + position: absolute; + background-color: var(--background-secondary); + z-index: var(--layer-popover); + color: var(--text-muted); + font-size: 90%; + transition: background-color ease-in-out 150ms; + } + .pull-action.mod-activated { + background-color: var(--interactive-accent); + color: var(--text-on-accent); + } + .pull-down-action { + top: 0; + left: 0; + right: 0; + width: 96%; + max-width: 500px; + margin: var(--safe-area-inset-top) auto 0 auto; + padding: var(--size-4-3) var(--size-4-4); + text-align: center; + border-radius: 40px; + } + .pull-out-action { + top: 50%; + padding: var(--size-4-3) var(--size-4-4); + border-radius: 40px; + margin: 0 var(--size-4-4); + } + .mobile-toolbar { + -webkit-app-region: drag; + flex: 0 0 auto; + width: 100%; + overflow-y: hidden; + background-color: var(--background-primary); + bottom: 0; + z-index: var(--layer-menu); + } + .mobile-toolbar-options-container { + height: var(--mobile-toolbar-height); + display: flex; + overflow-x: auto; + overflow-y: hidden; + width: 100%; + padding: 0 10px; + scrollbar-width: none !important; + /* Firefox */ + -ms-overflow-style: none !important; + /* Internet Explorer 10+ */ + } + .mobile-toolbar-options-container::-webkit-scrollbar { + width: 0 !important; + height: 0 !important; + } + .mobile-toolbar-option { + display: flex; + font-size: var(--font-ui-medium); + color: var(--text-muted); + font-family: var(--font-monospace); + justify-content: center; + align-items: center; + min-width: 50px; + position: relative; + left: 0; + transition: left 200ms ease-in-out; + } + .mobile-toolbar-option.mod-ghost { + position: absolute; + transition: left 250ms ease-in-out; + } + .mobile-toolbar-option.mod-ghost:before { + content: ' '; + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + border-radius: 6px; + background-color: var(--interactive-accent); + } + .mobile-toolbar-done-button { + position: fixed; + margin-top: var(--size-4-2); + margin-right: var(--size-4-3); + top: env(safe-area-inset-top, 20px); + right: env(safe-area-inset-right, 20px); + z-index: var(--layer-status-bar); + } + .is-mobile .suggestion-item { + padding: var(--size-4-2) var(--size-4-3); + } + .is-tablet.theme-dark .suggestion-container { + background-color: var(--background-secondary); + } + .is-phone .suggestion-container { + margin: 0 auto; + padding-bottom: calc(var(--safe-area-inset-bottom) + var(--mobile-toolbar-height)); + width: calc(100% - var(--safe-area-inset-left) - var(--safe-area-inset-right)); + border-top: 1px solid var(--background-modifier-border); + background-color: var(--background-primary); + box-shadow: none; + border-radius: 0; + bottom: 0; + overflow: auto; + max-height: 35vh; + } + .is-phone .suggestion { + position: relative; + } + .is-phone .suggestion-item.mod-group { + border-radius: 0; + } + .is-mobile .modal.mod-publish { + background-color: var(--modal-background); + border-radius: 0; + height: 100%; + margin: 0; + padding-top: var(--safe-area-inset-top); + width: 100vw; + } + .is-mobile .publish-changes-info-publishing-to { + display: none; + } + .is-mobile .publish-changes-add-linked-btn { + width: auto; + } + .is-phone .modal.mod-publish .modal-button-container { + background-color: var(--modal-background); + position: fixed; + } + .is-phone .modal.mod-publish .modal-content { + display: unset; + } + .is-mobile .sync-history-list { + padding: 0; + } + .is-mobile .sync-history-list-item { + padding: 12px 16px; + } + .is-mobile .sync-history-content-container { + display: flex; + flex-direction: column; + max-width: unset; + } + .is-mobile .sync-history-content { + flex: 1 1 auto; + padding: 10px; + border-radius: 0; + border: none; + } + .is-phone .sync-log-container { + flex: 1 1 auto; + } + .is-phone .modal.mod-sync-history .search-input-container { + width: 100%; + margin-bottom: 0; + } + .mobile-vault-chooser { + width: 100%; + height: 100%; + background-color: var(--background-secondary); + position: relative; + } + .mobile-vault-chooser hr { + margin: 12px 0; + } + .mobile-vault-chooser-screen { + display: flex; + flex-direction: column; + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + } + .mobile-vault-chooser-header { + display: flex; + background-color: var(--background-secondary-alt); + border-bottom: 1px solid var(--background-primary); + color: var(--text-muted); + flex: 0 0 50px; + font-size: 18px; + align-items: center; + } + .mobile-vault-chooser-header-icon { + display: flex; + margin: 0 6px 0 10px; + } + .mobile-vault-chooser-content { + flex: 1 0 0; + padding: 20px; + height: 100%; + overflow-y: auto; + } + .mobile-vault-chooser-logo-container { + margin: 40px 0; + text-align: center; + color: var(--text-muted); + } + .mobile-vault-chooser-logo { + font-size: 32px; + text-transform: uppercase; + font-family: 'Avenir Next', sans-serif; + letter-spacing: 2px; + margin-bottom: 10px; + } + .mobile-vault-chooser-version { + font-size: var(--font-ui-small); + } + .mobile-vault-chooser-empty-state { + margin: 20px 0; + font-size: 17px; + color: var(--text-muted); + } + .mobile-vault-chooser-action-icon { + color: var(--text-muted); + display: flex; + padding: 10px; + margin: -10px 0; + } + .mobile-vault-chooser-action { + display: flex; + padding: 14px 0; + align-items: center; + font-size: 20px; + } + .mobile-vault-chooser-action-name { + flex: 1 0 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .mobile-vault-chooser-action-description { + color: var(--text-muted); + font-size: 17px; + overflow: hidden; + text-overflow: ellipsis; + max-width: calc(100vw - 110px); + white-space: nowrap; + } + .mobile-vault-chooser-field-name { + color: var(--text-muted); + margin: 20px 0 10px 0; + font-size: 18px; + } + input.mobile-vault-chooser-field-input { + width: 100%; + font-size: var(--font-ui-medium); + padding: 8px 12px; + height: auto; + } + .mobile-vault-chooser-button-container { + margin: 20px 0; + } + .mobile-vault-chooser-button-container button { + padding: 10px 20px; + font-size: var(--font-ui-medium); + width: 100%; + } + diff --git a/src/site/styles/style.scss b/src/site/styles/style.scss new file mode 100644 index 0000000..9817948 --- /dev/null +++ b/src/site/styles/style.scss @@ -0,0 +1,219 @@ +/*** +* DO NOT ADD/MODIFY STYLING HERE. IT WILL BE OVERWRITTEN IF YOU UPDATE THE TEMPLATE VERSION. +* MODIFY THE custom-style.scss FILE INSTEAD. +***/ + +:root { + --background-primary: rgb(32, 31, 31); + --background-secondary: rgb(57, 56, 56); + --text-normal: #dcddde; + --text-accent: rgb(97, 186, 245); + --file-margins: 32px; + + --callout-border-width: 0px; + --callout-border-opacity: 0.25; + --callout-padding: 12px 12px 12px 24px; + --callout-radius: 4px; + --callout-blend-mode: lighten; + --callout-title-padding: 0; + --callout-title-size: inherit; + --callout-content-padding: 0; +} + +h1 { + color: #ffef60; +} + +h2 { + color: #f06449; +} + +h3 { + color: #d4fcc3; +} + +h4 { + color: #72dcff; +} + +button { + border: none; + color: white; + padding: 5px 15px; +} + +.centered { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + text-align: center; +} + +.theme-dark { + background: var(--background-primary); + color: var(--text-normal); + font-family: var(--font-default); +} + +.theme-light { + background: white; + color: black; + font-family: var(--font-default); +} + +a.is-unresolved { + color: rgb(97 186 245 / 65%); +} +a { + text-decoration: underline; + color: var(--text-accent); +} + +.font-bg { + font-size: 92px; +} + +blockquote { + background: #ffffff17; + border-left: 10px solid #c1dbe3; + margin: 1.5em 10px; + padding: 0.5em 10px; + quotes: "\201C""\201D""\2018""\2019"; +} + +blockquote:before { + color: #ccc; + content: open-quote; + font-size: 4em; + line-height: 0.1em; + margin-right: 0.1em; + vertical-align: -0.4em; +} + +blockquote p { + display: inline; +} + +p > code { + //Inline code + color: #c7254e; + background-color: #1a1a1a; +} + +.callout { + --callout-color: 68, 138, 255; + --callout-icon: lucide-pencil; +} +.callout[data-callout="abstract"], +.callout[data-callout="summary"], +.callout[data-callout="tldr"] { + --callout-color: 0, 176, 255; + --callout-icon: lucide-clipboard-list; +} +.callout[data-callout="info"], +.callout[data-callout="todo"] { + --callout-color: 0, 184, 212; +} +.callout[data-callout="info"] { + --callout-icon: lucide-info; +} +.callout[data-callout="todo"] { + --callout-icon: lucide-check-circle-2; +} +.callout[data-callout="tip"], +.callout[data-callout="hint"], +.callout[data-callout="important"] { + --callout-color: 0, 191, 165; + --callout-icon: lucide-flame; +} +.callout[data-callout="success"], +.callout[data-callout="check"], +.callout[data-callout="done"] { + --callout-color: 0, 200, 83; + --callout-icon: lucide-check; +} +.callout[data-callout="question"], +.callout[data-callout="help"], +.callout[data-callout="faq"] { + --callout-color: 100, 221, 23; + --callout-icon: help-circle; +} +.callout[data-callout="warning"], +.callout[data-callout="caution"], +.callout[data-callout="attention"] { + --callout-color: 255, 145, 0; + --callout-icon: lucide-alert-triangle; +} +.callout[data-callout="failure"], +.callout[data-callout="fail"], +.callout[data-callout="missing"] { + --callout-color: 255, 82, 82; + --callout-icon: lucide-x; +} +.callout[data-callout="danger"], +.callout[data-callout="error"] { + --callout-color: 255, 23, 68; + --callout-icon: lucide-zap; +} +.callout[data-callout="bug"] { + --callout-color: 245, 0, 87; + --callout-icon: lucide-bug; +} +.callout[data-callout="example"] { + --callout-color: 124, 77, 255; + --callout-icon: lucide-list; +} +.callout[data-callout="quote"], +.callout[data-callout="cite"] { + --callout-color: 158, 158, 158; + --callout-icon: lucide-quote; +} +.callout { + overflow: hidden; + border-style: solid; + border-color: rgba(var(--callout-color), var(--callout-border-opacity)); + border-width: var(--callout-border-width); + border-radius: var(--callout-radius); + margin: 1em 0; + mix-blend-mode: var(--callout-blend-mode); + background-color: rgba(var(--callout-color), 0.1); + padding: var(--callout-padding); +} +.callout.is-collapsible .callout-title { + cursor: default; +} +.callout-title { + padding: var(--callout-title-padding); + display: flex; + gap: 4px; + font-size: var(--callout-title-size); + color: rgb(var(--callout-color)); + line-height: 1.3; +} +.callout-content { + overflow-x: auto; + padding: var(--callout-content-padding); +} +.callout-icon { + flex: 0 0 auto; + display: flex; + align-self: center; +} +.callout-icon .svg-icon { + color: rgb(var(--callout-color)); +} +.callout-title-inner { + font-weight: 600; +} +.callout-fold { + display: flex; + align-items: center; + padding-right: 8px; +} +.callout-fold .svg-icon { + transition: transform 100ms ease-in-out; +} +.callout.is-collapsed .callout-fold .svg-icon { + transform: rotate(-90deg); +} diff --git a/vercel.json b/vercel.json new file mode 100644 index 0000000..10e191a --- /dev/null +++ b/vercel.json @@ -0,0 +1,10 @@ +{ + "outputDirectory": "dist", + "installCommand": "npm install", + "buildCommand": "npm run build", + "devCommand": "npm run start", + "routes": [ + { "handle": "filesystem" }, + { "src": "/(.*)", "status": 404, "dest": "/404" } + ] +} \ No newline at end of file