基础配置
配置说明
为了便于配置,Valaxy 将配置分为了三种。
valaxy.config.ts 是配置的主入口,它包含了以下配置。
siteConfig: 站点信息配置,这部分内容面向站点展示,且在不同主题中也是通用的格式themeConfig: 主题配置,这部分内容仅在特定主题生效runtimeConfig: 运行时的配置(由 Valaxy 自动生成),用户无需配置- 其他 Valaxy 通用配置内容(如需要在 Node 端处理的配置
unocss/addons)
譬如:
站点配置
更多详细配置可参见 types/config.ts。
packages/valaxy/types/config.ts SiteConfig
站点信息配置,这部分内容面向站点展示且在任何主题也是通用的格式。
你也可以将其写在 site.config.ts 中。
譬如:
作者信息
更多字段可参考上文类型或直接在编辑器提示中查看。
时区
如果你使用 CI/CD 构建部署,远程机器可能处于其他时区,你可以设置时区。
此时将会默认使用该时区格式化时间,并设置 process.env.TZ 变量。
如果你托管于其他平台,你可能需要在对应平台添加环境变量。
文章排序
设置 siteConfig.orderBy 可控制文章列表的排序方式。
date: 按照文章的日期排序(默认)updated: 按照文章的最后更新时间排序
当 lastUpdated 开启时,将会为未设置 updated 的文章自动注入文件的最后更新时间。
Default Frontmatter
为所有文章设置默认的 Frontmatter。
譬如:
设置
time_warning: false,则所有文章都不会显示阅读时间警告。
社交图标
示例:
赞助
在每篇文章末尾,展示赞助(打赏)信息。
你可以通过 sponsor 属性控制全局是否开启。
或为某篇文章的 Front Matter 单独设置:
阅读统计
开启阅读统计,将会在每篇文章开头展示阅读统计信息。
需要主题进行适配,即展示
frontmatter中的wordCount和readingTime字段。
wordCount:字数统计readingTime:阅读时长(分钟)- 可以设置不同语言的阅读速度,默认
cn为 300 字/分钟,en为 200 字/分钟。
- 可以设置不同语言的阅读速度,默认
代码块高度限制
你可以为每篇文章设置代码块高度限制。
譬如设置 codeHeightLimit: 300,则文章中所有代码块高度都不会超过 300px,并自动折叠。
你也可以在文章的 Front Matter 中单独设置:
示例可参见 代码块高度限制。
内容加密
首先在 site.config.ts 中开启加密
- 加密整篇文章
在文章的 Front Matter 中设置 password:
- 加密部分内容
提示
如果在文章的 Front Matter 中设置了 password,文章中的部分加密将被忽略。
将待加密的内容包裹在 <!-- valaxy-encrypt-start:your_password --><!-- valaxy-encrypt-end --> 中。
示例可参见 部分内容加密。
客户端重定向
示例:
/foo, /bar, /v1/about 这些路由会被重定向到 /about。
你也可以在 Front Matter 中配置:
/redirect/old1, /redirect/old2, /v1/redirect 这些路由会被重定向到 /posts/redirect。
提示
在 SSG 构建时,如果 useVueRouter 为 false,则会为每一个源路由生成一个 html 文件
图片预览(Medium Zoom)
Valaxy 内置了 medium-zoom 进行图片预览,默认关闭。
- mediumZoom
enable: 是否开启selector: 可自定义传入选择器options: 与 options | medium-zoom 一致
譬如开启 Medium Zoom:
除此之外,你也可以单独控制是否在某篇文章中开启。
懒加载 Vanilla Lazyload
Valaxy 内置了 vanilla-lazyload。
vanillaLazyload 默认不开启。 因为 Valaxy 本身会为所有的图片添加 loading="lazy",它是浏览器的特性,但如果你希望得到更广泛的兼容,你可以手动开启 vanillaLazyload。
更多配置
更多详细配置可参见 types/config.ts。
packages/valaxy/types/config.ts SiteConfig
主题配置
参照 使用主题 及您所使用的主题文档进行配置。
扩展配置
更多高阶配置请参见 扩展配置。
To Be Continued.