基础配置

配置说明

为了便于配置,Valaxy 将配置分为了三种。

valaxy.config.ts 是配置的主入口,它包含了以下配置。

  • siteConfig: 站点信息配置,这部分内容面向站点展示,且在不同主题中也是通用的格式
  • themeConfig: 主题配置,这部分内容仅在特定主题生效
  • runtimeConfig: 运行时的配置(由 Valaxy 自动生成),用户无需配置
  • 其他 Valaxy 通用配置内容(如需要在 Node 端处理的配置 unocss/addons

譬如:

valaxy.config.ts
ts[object Promise]

站点配置

更多详细配置可参见 types/config.ts

packages/valaxy/types/config.ts SiteConfig
config.ts
ts[object Promise]

站点信息配置,这部分内容面向站点展示且在任何主题也是通用的格式。

你也可以将其写在 site.config.ts 中。

譬如:

site.config.ts
ts[object Promise]

作者信息

更多字段可参考上文类型或直接在编辑器提示中查看。

site.config.ts
ts[object Promise]

时区

如果你使用 CI/CD 构建部署,远程机器可能处于其他时区,你可以设置时区。

此时将会默认使用该时区格式化时间,并设置 process.env.TZ 变量。

如果你托管于其他平台,你可能需要在对应平台添加环境变量。

site.config.ts
ts[object Promise]

文章排序

设置 siteConfig.orderBy 可控制文章列表的排序方式。

  • date: 按照文章的日期排序(默认)
  • updated: 按照文章的最后更新时间排序

lastUpdated 开启时,将会为未设置 updated 的文章自动注入文件的最后更新时间。

site.config.ts
ts[object Promise]

Default Frontmatter

为所有文章设置默认的 Frontmatter。

譬如:

设置 time_warning: false,则所有文章都不会显示阅读时间警告。

site.config.ts
ts[object Promise]

社交图标

ts[object Promise]

示例:

site.config.ts
ts[object Promise]

在每篇文章末尾,展示赞助(打赏)信息。

site.config.ts
ts[object Promise]

你可以通过 sponsor 属性控制全局是否开启。

ts[object Promise]

或为某篇文章的 Front Matter 单独设置:

md[object Promise]

阅读统计

开启阅读统计,将会在每篇文章开头展示阅读统计信息。

需要主题进行适配,即展示 frontmatter 中的 wordCountreadingTime 字段。

  • wordCount:字数统计
  • readingTime:阅读时长(分钟)
    • 可以设置不同语言的阅读速度,默认 cn 为 300 字/分钟,en 为 200 字/分钟。
site.config.ts
ts[object Promise]

代码块高度限制

你可以为每篇文章设置代码块高度限制。

譬如设置 codeHeightLimit: 300,则文章中所有代码块高度都不会超过 300px,并自动折叠。

ts[object Promise]

你也可以在文章的 Front Matter 中单独设置:

md[object Promise]

示例可参见 代码块高度限制

内容加密

首先在 site.config.ts 中开启加密

ts[object Promise]
  • 加密整篇文章

在文章的 Front Matter 中设置 password

md[object Promise]
  • 加密部分内容

提示

如果在文章的 Front Matter 中设置了 password,文章中的部分加密将被忽略。

将待加密的内容包裹在 <!-- valaxy-encrypt-start:your_password --><!-- valaxy-encrypt-end --> 中。

示例可参见 部分内容加密

客户端重定向

ts[object Promise]

示例:

site.config.ts
ts[object Promise]

/foo, /bar, /v1/about 这些路由会被重定向到 /about

你也可以在 Front Matter 中配置:

md[object Promise]
md[object Promise]

/redirect/old1, /redirect/old2, /v1/redirect 这些路由会被重定向到 /posts/redirect

提示

在 SSG 构建时,如果 useVueRouter 为 false,则会为每一个源路由生成一个 html 文件

图片预览(Medium Zoom)

Valaxy 内置了 medium-zoom 进行图片预览,默认关闭。

Medium Zoom Demo

  • mediumZoom

譬如开启 Medium Zoom:

site.config.ts
ts[object Promise]

除此之外,你也可以单独控制是否在某篇文章中开启。

md[object Promise]

懒加载 Vanilla Lazyload

Valaxy 内置了 vanilla-lazyload

vanillaLazyload 默认不开启。 因为 Valaxy 本身会为所有的图片添加 loading="lazy",它是浏览器的特性,但如果你希望得到更广泛的兼容,你可以手动开启 vanillaLazyload

ts[object Promise]

更多配置

更多详细配置可参见 types/config.ts

packages/valaxy/types/config.ts SiteConfig
config.ts
ts[object Promise]

主题配置

参照 使用主题 及您所使用的主题文档进行配置。

扩展配置

更多高阶配置请参见 扩展配置


To Be Continued.

贡献者