Skip to content

Conversation

neveler
Copy link
Contributor

@neveler neveler commented Oct 3, 2025

支持多语言

预览 https://hmcl-docs.github.io

通过合并不同语言版本的产物实现多语言。

  • 使用 _config.yml 完成一次构建生成产物到 _site 文件夹中。
  • 依次使用符合 _config.*.yml 规则的配置构建并将产物覆盖到到 _site 文件夹中。
    • 使用 _config.{flag}.yml 完成构建会生成产物到 _site_{flag} 文件夹中。
    • 在 flag 不为 default 时构建脚本将使用指定 flag 版本的数据覆盖默认数据,即使用 src/data/*.{flag}.* 覆盖 src/data/*.* 以便于指定 flag 的内容可以读取指定 flag 版本的数据。
    • 在 flag 不为 default 时构建脚本将为不存在指定 flag 版本的内容填充默认内容以避免用户访问时显示内容不存在。
    • 使用指定 flag 完成构建后构建脚本将会把构建产物覆盖到 _site 文件夹并删除 _site_{flag} 文件夹。

改动

  • 重构项目结构
    • src: 用于存储文章相关的文件,可以避免根目录存在过多内容,分离非文章内容例如根目录的脚本文件夹、README 等。
    • src/_pages: 用于存储非集合内容页面,例如主页、404 等。
    • src/assets: 用于存储静态资源。
    • src/collections: 用于存储集合。
    • src/data: 用于存储数据。
    • src/includes: 用于存储页面片段文件,可以被其它页面引用。
    • src/layouts: 用于存储布局文件。
  • 添加站点 Logo hmcl.png 来自 HMCL 仓库。
  • 添加了部分文章的繁体中文、英语版本。
  • 优化 document 布局,新增页面属性 author contributors 用于表示页面创建者和贡献者。新增 default_language languages 属性,用于指定页面的默认语言及支持的语言列表。优化 note 属性,现已支持使用 markdown 作为属性值。
  • 添加 document-collection 布局,并为 src/_pages 下的文章默认启用。与 document 类似该布局支持 hits note author contributors 等。
  • 现在索引文件会自动生成,无需额外修改。

关联 ISSUES

@neveler

This comment was marked as resolved.

@zkitefly
Copy link
Member

zkitefly commented Oct 5, 2025

assets/img/hmcl/自动管理所有驱动器分页文件大小.webp
index.json

以上文件保留,其余可以删除

@neveler
Copy link
Contributor Author

neveler commented Oct 5, 2025

assets/img/hmcl/自动管理所有驱动器分页文件大小.webp
index.json

以上文件保留,其余可以删除

现在会自动获取所有可见集合中的内容生成 index.json 文件,但有一个问题当前会对集合中的所有文章生成索引数据,是否需要排除一些文章?生成索引的逻辑:获取所有布局为 document-collection 且指定了 collection 属性的页面,通过这些页面的 collection 属性获取指定集合的所有文章并提取文章的 title description url 属性进而生成 json 索引文件。

@neveler neveler marked this pull request as draft October 5, 2025 10:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants