You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用单独Jekyll配置仅渲染docs集合为modal布局至modals目录

实现Jekyll同一集合双布局输出到不同目录的方案

没问题,这个需求完全可以通过单独配置文件+定向构建来实现,下面一步步给你讲清楚怎么做:

1. 创建专属的模态弹窗构建配置文件

在你的Jekyll根目录下新建一个名为_config.modal.yml的配置文件,专门用来生成模态版本的docs内容。配置内容如下:

# _config.modal.yml
# 指定输出目录为根目录下的modals文件夹
destination: modals

# 配置集合:只启用docs并设置模态布局
collections:
  # 如果你的站点有posts等其他集合,禁用它们的输出
  posts:
    output: false
  # 确保docs集合正常输出,permalink可以根据你的需求调整
  docs:
    output: true
    permalink: /:path/

# 给docs集合设置默认布局为modal
defaults:
  - scope:
      path: ""
      type: docs
    values:
      layout: modal

# 排除所有非docs相关的文件,避免生成多余内容
exclude:
  - index.html
  - 404.html
  - search.html
  - _posts/**
  - # 这里可以继续添加你不想包含的其他文件/目录,比如其他页面、布局文件等

2. 准备modal布局文件

确保你已经创建了_layouts/modal.html,这个布局要只输出文档的主体内容,不要包含完整的HTML结构,示例如下:

---
---
{{ content }}

这样生成的HTML文件就是纯内容片段,刚好适合嵌入模态弹窗使用。

3. 运行定向构建命令

现在你有两种构建方式:

  • 正常构建完整站点(包括/docs目录下的完整docs页面):
    jekyll build
    
  • 单独构建模态版本的docs到/modals目录:
    jekyll build --config _config.yml,_config.modal.yml
    

这里用--config参数加载两个配置文件,后面的_config.modal.yml会覆盖主配置_config.yml中的对应项(比如输出目录、docs的默认布局),同时保留主配置里的基础设置(比如baseurl、插件等)。

可选:添加npm脚本简化命令

如果觉得每次敲长命令麻烦,可以在根目录的package.json里添加脚本:

{
  "scripts": {
    "build": "jekyll build",
    "build:modals": "jekyll build --config _config.yml,_config.modal.yml"
  }
}

之后只需运行npm run build:modals就能快速生成模态版本的内容了。

原理说明

Jekyll允许通过多配置文件的方式覆盖部分设置,我们利用这一点:

  • 主配置负责生成完整站点,包括/docs目录下用doc布局的完整HTML
  • 模态配置专门负责生成/docs集合的精简版本,输出到/modals目录,同时排除所有其他内容,确保只生成需要的模态片段

这样就完美实现了同一集合用两种布局输出到不同目录的需求。

内容的提问来源于stack exchange,提问作者Dan Tappin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 12:37:29