first commit
This commit is contained in:
131
node_modules/vitepress/dist/node/index.js
generated
vendored
Normal file
131
node_modules/vitepress/dist/node/index.js
generated
vendored
Normal file
@@ -0,0 +1,131 @@
|
||||
import { normalizePath } from 'vite';
|
||||
export { loadEnv } from 'vite';
|
||||
import { n as normalizeGlob, g as glob, c as createMarkdownRenderer, p as pMap, f as fs, m as matter, s as selectorParser } from './chunk-BssBsV50.js';
|
||||
export { S as ScaffoldThemeType, b as build, z as cacheAllGitTimestamps, y as createServer, h as defineAdditionalConfig, e as defineConfig, i as defineConfigWithTheme, a as defineLoader, d as defineRoutes, w as disposeMdItInstance, A as getGitTimestamp, u as init, j as isAdditionalConfigFile, l as mergeConfig, r as resolveConfig, q as resolvePages, o as resolveSiteData, t as resolveSiteDataByRoute, k as resolveUserConfig, v as scaffold, x as serve } from './chunk-BssBsV50.js';
|
||||
import path from 'node:path';
|
||||
import 'tty';
|
||||
import 'util';
|
||||
import 'node:crypto';
|
||||
import 'node:module';
|
||||
import 'node:url';
|
||||
import 'node:process';
|
||||
import 'node:fs/promises';
|
||||
import 'node:fs';
|
||||
import 'fs';
|
||||
import 'node:events';
|
||||
import 'node:stream';
|
||||
import 'node:string_decoder';
|
||||
import 'path';
|
||||
import 'fs/promises';
|
||||
import 'timers/promises';
|
||||
import 'os';
|
||||
import 'node:readline';
|
||||
import 'node:child_process';
|
||||
import 'string_decoder';
|
||||
import 'node:zlib';
|
||||
import 'node:stream/promises';
|
||||
import '@vue/shared';
|
||||
import 'node:tty';
|
||||
import 'node:util';
|
||||
import 'node:http';
|
||||
import 'node:timers';
|
||||
import 'node:querystring';
|
||||
import 'constants';
|
||||
import 'stream';
|
||||
import 'assert';
|
||||
import 'url';
|
||||
import 'module';
|
||||
import '@shikijs/transformers';
|
||||
import 'shiki';
|
||||
import 'child_process';
|
||||
import 'minisearch';
|
||||
|
||||
function createContentLoader(watch, options = {}) {
|
||||
const config = global.VITEPRESS_CONFIG;
|
||||
if (!config) {
|
||||
throw new Error(
|
||||
"content loader invoked without an active vitepress process, or before vitepress config is resolved."
|
||||
);
|
||||
}
|
||||
const cache = /* @__PURE__ */ new Map();
|
||||
watch = normalizeGlob(watch, config.srcDir);
|
||||
return {
|
||||
watch,
|
||||
options: { globOptions: options.globOptions },
|
||||
async load(files) {
|
||||
files ??= await glob(watch, {
|
||||
absolute: true,
|
||||
...options.globOptions
|
||||
});
|
||||
const md = await createMarkdownRenderer(
|
||||
config.srcDir,
|
||||
config.markdown,
|
||||
config.site.base,
|
||||
config.logger
|
||||
);
|
||||
const raw = await pMap(
|
||||
files,
|
||||
async (file) => {
|
||||
if (!file.endsWith(".md")) return null;
|
||||
const timestamp = fs.statSync(file).mtimeMs;
|
||||
const cached = cache.get(file);
|
||||
if (cached && timestamp === cached.timestamp) return cached.data;
|
||||
const src = fs.readFileSync(file, "utf-8");
|
||||
const renderExcerpt = options.excerpt;
|
||||
const { data: frontmatter, excerpt } = matter(
|
||||
src,
|
||||
typeof renderExcerpt === "string" ? { excerpt_separator: renderExcerpt } : { excerpt: renderExcerpt }
|
||||
// gray-matter types are wrong
|
||||
);
|
||||
const url = "/" + normalizePath(path.relative(config.srcDir, file)).replace(/(^|\/)index\.md$/, "$1").replace(/\.md$/, config.cleanUrls ? "" : ".html");
|
||||
const html = options.render ? await md.renderAsync(src) : void 0;
|
||||
const renderedExcerpt = renderExcerpt ? excerpt && await md.renderAsync(excerpt) : void 0;
|
||||
const data = {
|
||||
src: options.includeSrc ? src : void 0,
|
||||
html,
|
||||
frontmatter,
|
||||
excerpt: renderedExcerpt,
|
||||
url
|
||||
};
|
||||
cache.set(file, { data, timestamp });
|
||||
return data;
|
||||
},
|
||||
{ concurrency: config.buildConcurrency }
|
||||
);
|
||||
const filtered = raw.filter((i) => i !== null);
|
||||
return options.transform?.(filtered) ?? filtered;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function postcssIsolateStyles({
|
||||
includeFiles = [/vp-doc\.css/, /base\.css/],
|
||||
ignoreFiles,
|
||||
prefix = ":not(:where(.vp-raw, .vp-raw *))"
|
||||
} = {}) {
|
||||
const prefixNodes = selectorParser().astSync(prefix).first.nodes;
|
||||
return (
|
||||
/* prettier-ignore */
|
||||
{
|
||||
postcssPlugin: "postcss-isolate-styles",
|
||||
Once(root) {
|
||||
const file = root.source?.input.file;
|
||||
if (file && includeFiles?.length && !includeFiles.some((re) => re.test(file))) return;
|
||||
if (file && ignoreFiles?.length && ignoreFiles.some((re) => re.test(file))) return;
|
||||
root.walkRules((rule) => {
|
||||
if (!rule.selector || rule.selector.includes(prefix)) return;
|
||||
if (rule.parent?.type === "atrule" && /\bkeyframes$/i.test(rule.parent.name)) return;
|
||||
rule.selector = selectorParser((selectors) => {
|
||||
selectors.each((sel) => {
|
||||
if (!sel.nodes.length) return;
|
||||
const insertionIndex = sel.nodes.findLastIndex((n) => n.type !== "pseudo") + 1;
|
||||
sel.nodes.splice(insertionIndex, 0, ...prefixNodes.map((n) => n.clone()));
|
||||
});
|
||||
}).processSync(rule.selector);
|
||||
});
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
export { createContentLoader, createMarkdownRenderer, postcssIsolateStyles };
|
||||
Reference in New Issue
Block a user