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

如何在Hugo中将文章像书籍一样拆分为多页并实现分页

在Hugo中拆分长文章为分页页面的解决方案

方法1:利用内置分页器拆分单篇内容

适合直接拆分单篇长文,无需分割文件:

  • 在Markdown文章里,用自定义分隔符(比如---split---)把内容切成多个段落块。
  • 对应模板中,用Hugo的split函数分割内容,结合分页器渲染:
    {{ $contentParts := split .Content "---split---" }}
    {{ $paginator := .Paginate $contentParts }}
    {{ range $paginator.Pages }}
      <div class="post-section">
        {{ .Content }}
      </div>
    {{ end }}
    <!-- 加载内置分页导航 -->
    {{ template "_internal/pagination.html" . }}
    
  • 访问文章时,Hugo会自动生成分页URL(如/post/long-post/page/2/),展示对应段落块。

方法2:用页面捆绑(Page Bundles)实现章节式分页

适合结构化长文(如书籍、教程),每个章节独立管理:

  • 创建页面捆绑目录:在content下新建文件夹(比如content/guides/long-guide/),把长文拆成part1.md、part2.md等文件,再添加index.md作为入口,在其前置元数据中设置headless: true(标记为无头捆绑,不单独生成页面)。
  • 在模板中遍历捆绑内的章节页面,结合分页器渲染:
    {{ $bundle := .Site.GetPage "section" "guides/long-guide" }}
    {{ $chapters := sort $bundle.Pages "Weight" }}
    {{ $paginator := .Paginate $chapters }}
    {{ range $paginator.Pages }}
      <h2>{{ .Title }}</h2>
      <div class="chapter-content">
        {{ .Content }}
      </div>
    {{ end }}
    {{ template "_internal/pagination.html" . }}
    
  • 每个章节可单独设置标题、权重(控制顺序)和元数据,管理更灵活。

方法3:自定义分页导航样式

如果默认分页样式不符合需求:

  • 复制Hugo内置的分页模板_internal/pagination.html到主题模板目录(layouts/partials/pagination.html)。
  • 修改模板中的HTML结构和CSS类,添加自定义样式(比如上一页/下一页按钮、页码高亮、跳转输入框等)。

内容的提问来源于stack exchange,提问作者Nedjma Média

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 17:52:15