Files
yinxue 9e1b8bdc9d
Some checks failed
CI Pipeline / build (push) Failing after 3m23s
first-commit
2025-08-27 14:05:33 +08:00

122 lines
3.8 KiB
JavaScript

import { normalizePath } from 'vite';
export { loadEnv } from 'vite';
import { g as glob, c as createMarkdownRenderer, f as fs, m as matter, p as postcssPrefixSelector } from './chunk-Zsoi3j4v.js';
export { S as ScaffoldThemeType, b as build, q as createServer, a as defineConfig, e as defineConfigWithTheme, d as defineLoader, n as disposeMdItInstance, l as init, i as mergeConfig, r as resolveConfig, k as resolvePages, j as resolveSiteData, h as resolveUserConfig, s as scaffold, o as serve } from './chunk-Zsoi3j4v.js';
import path from 'node:path';
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 'util';
import 'os';
import 'stream';
import 'readline';
import 'url';
import 'child_process';
import 'string_decoder';
import 'zlib';
import '@vue/shared';
import 'node:util';
import 'node:readline';
import 'node:tty';
import 'node:zlib';
import 'node:http';
import 'node:timers';
import 'node:querystring';
import 'tty';
import 'constants';
import 'assert';
import '@shikijs/transformers';
import 'shiki';
import './chunk-C-d2RJOW.js';
import 'node:worker_threads';
import 'minisearch';
function createContentLoader(pattern, {
includeSrc,
render,
excerpt: renderExcerpt,
transform,
globOptions
} = {}) {
const config = global.VITEPRESS_CONFIG;
if (!config) {
throw new Error(
"content loader invoked without an active vitepress process, or before vitepress config is resolved."
);
}
if (typeof pattern === "string") pattern = [pattern];
pattern = pattern.map((p) => normalizePath(path.join(config.srcDir, p)));
const cache = /* @__PURE__ */ new Map();
return {
watch: pattern,
async load(files) {
if (!files) {
files = (await glob(pattern, {
ignore: ["**/node_modules/**", "**/dist/**"],
expandDirectories: false,
...globOptions
})).sort();
}
const md = await createMarkdownRenderer(
config.srcDir,
config.markdown,
config.site.base,
config.logger
);
const raw = [];
for (const file of files) {
if (!file.endsWith(".md")) {
continue;
}
const timestamp = fs.statSync(file).mtimeMs;
const cached = cache.get(file);
if (cached && timestamp === cached.timestamp) {
raw.push(cached.data);
} else {
const src = fs.readFileSync(file, "utf-8");
const { data: frontmatter, excerpt } = matter(
src,
// @ts-expect-error gray-matter types are wrong
typeof renderExcerpt === "string" ? { excerpt_separator: renderExcerpt } : { excerpt: renderExcerpt }
);
const url = "/" + normalizePath(path.relative(config.srcDir, file)).replace(/(^|\/)index\.md$/, "$1").replace(/\.md$/, config.cleanUrls ? "" : ".html");
const html = render ? md.render(src) : undefined;
const renderedExcerpt = renderExcerpt ? excerpt && md.render(excerpt) : undefined;
const data = {
src: includeSrc ? src : undefined,
html,
frontmatter,
excerpt: renderedExcerpt,
url
};
cache.set(file, { data, timestamp });
raw.push(data);
}
}
return transform ? transform(raw) : raw;
}
};
}
function postcssIsolateStyles(options = {}) {
return postcssPrefixSelector({
prefix: ":not(:where(.vp-raw, .vp-raw *))",
includeFiles: [/base\.css/],
transform(prefix, _selector) {
const [selector, pseudo = ""] = _selector.split(/(:\S*)$/);
return selector + prefix + pseudo;
},
...options
});
}
export { createContentLoader, createMarkdownRenderer, postcssIsolateStyles };