分类存放md
要在 Hugo 中分类存放 Markdown 文档,并保持正确的加载和渲染,你可以通过以下方式进行分类存放:
1. 使用 Hugo 自定义内容目录
在 content 目录下,你可以根据不同的分类创建子目录,并将相应的 Markdown 文件放在这些子目录中。例如,你可以按类别存放博客文章、项目文档等。
示例
假设你有两种类型的内容:“博客”和“项目文档”,你可以按以下结构分类存放:
|
|
每个子目录中的 Markdown 文件会根据目录结构自动生成相应的 URL。例如:
content/blog/my-blog-post.md->/blog/my-blog-post/content/projects/my-project-doc.md->/projects/my-project-doc/
2. 自定义内容分类和类型
Hugo 允许你为不同的目录设置不同的 内容类型(content types),这可以通过在 config.toml 中配置来实现。默认情况下,目录名会成为内容类型,但你也可以手动配置。
步骤
- 在
config.toml文件中指定不同内容类型的分类。例如:
|
|
- 在每个 Markdown 文件的前置元数据中,指定分类或类型:
|
|
这样 Hugo 会自动按分类生成 URL,并允许你在页面中按分类进行筛选。
3. 使用 mounts 挂载多个分类目录
如果你希望将分类的内容存放在 content 目录之外,你可以使用 mounts 配置将外部目录挂载到 Hugo 的 content。
步骤
- 在
config.toml中配置mounts,指定分类目录的位置:
|
|
- 将相应的内容文件存放在
custom_blog_content和custom_project_content目录中。
示例
如果你将博客文章存储在 custom_blog_content 目录中,而项目文档存储在 custom_project_content 目录中:
|
|
Hugo 会将 custom_blog_content 映射为 content/blog,而 custom_project_content 映射为 content/projects。
4. 为不同分类设置不同的布局
根据不同的分类或类型,Hugo 还允许你使用不同的布局模板。你可以在 layouts 目录中为每种类型的内容创建自定义模板。例如:
|
|
Hugo 会根据内容的分类或类型自动使用对应的布局模板进行渲染。
5. 示例:将 Markdown 按类别存放并加载
假设你想将 Markdown 文件分类存放到不同目录中:
content/blog/用于博客文章content/projects/用于项目文档
然后在 config.toml 中指定分类和标签系统:
|
|
每个文件的前置元数据可以包含分类和标签:
|
|
这样,Markdown 文件就可以按分类存放,并保持正常加载和渲染。如果你希望将它们放在 content 目录之外,还可以使用 mounts 挂载自定义目录。
总结
- 分类存放 Markdown 文件:将 Markdown 文件按分类存放在
content子目录中,例如blog和projects。 - 自定义 URL 结构和分类:通过
config.toml文件指定分类和标签系统。 - 挂载外部目录:使用
mounts可以将内容放在content之外的目录中。 - 自定义布局:为不同类型或分类的内容使用不同的布局模板,增强用户体验。
这种方式允许你将不同类型的 Markdown 文件有条理地分类存放,同时保持 Hugo 的灵活性。如果你有更多需求或问题,请告诉我!