test/node_modules/@vuepress/plugin-sitemap/lib/typings/options.d.ts
2024-08-13 09:27:52 +08:00

97 lines
2.5 KiB
TypeScript

import type { GitData } from '@vuepress/plugin-git';
import type { App, Page } from 'vuepress/core';
import type { SitemapChangeFrequency } from '.';
export type PageModifyTimeGetter = <ExtraPageData extends Record<string, unknown> & {
git?: GitData;
} = {
git?: GitData;
}, ExtraPageFrontmatter extends Record<string, unknown> = Record<never, never>, ExtraPageFields extends Record<string, unknown> = Record<never, never>>(page: Page<ExtraPageData, ExtraPageFrontmatter, ExtraPageFields>, app: App) => string;
export interface SitemapPluginOptions {
/**
* domain which to be deployed to
*
* 部署的网站域名
*/
hostname: string;
/**
* Extra urls to be included
*
* 需要额外包含的网址
*/
extraUrls?: string[];
/**
* Page paths to be excluded
*
* 不被收录的页面路径
*/
excludePaths?: string[];
/**
* Output filename, relative to dest folder
*
* 输出的文件名,相对于输出目录
*
* @default "sitemap.xml"
*/
sitemapFilename?: string;
/**
* Output xsl filename, relative to dest folder
*
* 输出的 xsl 文件名,相对于输出目录
*
* @default "sitemap.xsl"
*/
sitemapXSLFilename?: string;
/**
* XSL file content used as template
*
* 用作模板的 XSL 文件内容
*
* @default Content of "@vuepress/plugin-sitemap/templates/sitemap.xsl"
*/
sitemapXSLTemplate?: string;
/**
* Page default update frequency
*
* 页面默认更新频率
*
* @default "daily"
*/
changefreq?: SitemapChangeFrequency;
/**
* Date format function
*
* 时间格式化器
*/
modifyTimeGetter?: PageModifyTimeGetter;
/**
* Whether enabled in devServer
*
* @description For performance reasons, we do not provide hot reload. Reboot your devServer to sync your changes.
*
* 是否在开发服务器中启用
*
* @description 由于性能原因,我们不提供热更新。重启开发服务器以同步你的变更。
*
* @default false
*/
devServer?: boolean;
/**
* Hostname to use in devServer
*
* 开发服务器使用的主机名
*
* @default 'http://localhost:${port}'
*/
devHostname?: string;
/**
* XML namespaces to turn on - all by default
*/
xmlNameSpace?: {
news: boolean;
video: boolean;
xhtml: boolean;
image: boolean;
custom?: string[];
};
}