配置文件

Halo 的主题模块使用 yaml 来对主题进行配置,theme.yaml 里面主要描述主题的名称,开发者的信息,开源地址等等。settings.yaml 包含了主题所有的配置选项,需要注意的是,这些选项仅仅是用于构建配置表单,并不起到对主题的配置作用。

theme.yaml

  1. id: 主题id,唯一,不能与其他主题一样。我们建议设置为 `作者名_主题名称`
  2. name: 主题名称
  3. author:
  4. name: 作者名称
  5. website: 作者网址
  6. description: 主题描述
  7. logo: 主题 Logo 地址
  8. website: 主题地址
  9. repo: 主题开源地址
  10. version: 版本号

theme.yaml 实例

  1. id: caicai_anatole
  2. name: Anatole
  3. author:
  4. name: Caicai
  5. website: https://www.caicai.me
  6. description: A other Halo theme
  7. logo: https://avatars1.githubusercontent.com/u/1811819?s=460&v=4
  8. website: https://github.com/halo-dev/halo-theme-anatole
  9. repo: https://github.com/halo-dev/halo-theme-anatole
  10. version: 1.0

settings.yaml

  1. # Tab 节点
  2. group1:
  3. label: 第一个 Tab 名称
  4. # 表单项
  5. items:
  6. # 省略
  7. group2:
  8. label: 第二个 Tab 名称
  9. # 表单项
  10. items:
  11. # 省略

settings.yaml#items

settings.yaml 的 items 下即为所有表单元素,所支持的表单元素如下

  1. items:
  2. # 普通文本框
  3. - name: item1 // (形式一)表单项的 name 属性,将存于数据库中,对应该表单元素的键。
  4. label: item1_label // 表单项的 label
  5. type: text // 表单项类型:普通文本框
  6. default: '' // 默认值
  7. placeholder: '' // 表单项的 placeholder,一般给用户提示
  8. # 多行文本框
  9. item2: // (形式二)表单的 name 属性,将存储于数据库中,对应该表单元素的键。
  10. label: item2_label // 同上
  11. type: textarea // 表单项类型:多行文本框
  12. default: '' // 同上
  13. placeholder: '' // 同上
  14. # 单选框
  15. - name: item3 // 同上
  16. label: item3_label // 同上
  17. type: radio // 表单项类型:单选框
  18. data-type: bool // 数据类型:bool,string,long,double
  19. default: value1 // 同上
  20. options: // 选项
  21. - value: value1 // 值
  22. label: label1 // 说明
  23. - value: value2
  24. label: label2
  25. # 下拉框
  26. - name: item4 // 同上
  27. label: item4_label // 同上
  28. type: select // 表单项类型:下拉框
  29. data-type: bool // 数据类型:bool,string,long,double
  30. default: value1 // 同上
  31. options: // 选项
  32. - value: value1 // 值
  33. label: label1 // 说明
  34. - value: value2
  35. label: label2

settings.yaml 实例:参考 https://github.com/halo-dev/halo-theme-material/blob/master/settings.yaml