# 打印支持

> 让整节文档更便于打印。

---

LLMS index: [llms.txt](/llms.txt)

---

大多数浏览器都能很好地打印单篇文档，因为页面样式会从打印输出中移除导航外壳。

有些站点适合启用“打印整节”功能（本用户指南就是如此）。选择后，系统会把当前顶层分区（本页所在的“内容与自定义”等）连同全部子页面和子分区渲染为适合打印的格式，并附上该分区的完整目录。

要启用此功能，请在站点的 `hugo.toml`、`hugo.yaml` 或 `hugo.json` 中，为
`section` 类型添加 `print` 输出格式：

<!-- markdownlint-disable no-shortcut-ref-link -->
<!-- prettier-ignore-start -->





<ul class="nav nav-tabs" id="tabs-0" role="tablist"><li class="nav-item"><button class="nav-link disabled" id="tabs-00-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-00" role="tab" aria-controls="tabs-00-00" aria-selected="false" disabled aria-disabled="true">配置文件：</button></li><li class="nav-item"><button class="nav-link active" id="tabs-00-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-01" role="tab" data-td-tp-persist="toml" aria-controls="tabs-00-01" aria-selected="true">hugo.toml</button></li><li class="nav-item"><button class="nav-link" id="tabs-00-02-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-02" role="tab" data-td-tp-persist="yaml" aria-controls="tabs-00-02" aria-selected="false">hugo.yaml</button></li><li class="nav-item"><button class="nav-link" id="tabs-00-03-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-03" role="tab" data-td-tp-persist="json" aria-controls="tabs-00-03" aria-selected="false">hugo.json</button></li></ul>

<div class="tab-content" id="tabs-0-content"><div class="tab-pane fade" id="tabs-00-00" role="tabpanel" aria-labelledby="tabs-00-00-tab" tabindex="0"><pre tabindex="0"><code></code></pre></div><div class="tab-pane fade show active" id="tabs-00-01" role="tabpanel" aria-labelledby="tabs-00-01-tab" tabindex="0"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-toml" data-lang="toml"><span class="line"><span class="cl"><span class="p">[</span><span class="nx">outputs</span><span class="p">]</span>
</span></span><span class="line"><span class="cl"><span class="nx">section</span> <span class="p">=</span> <span class="p">[</span> <span class="s2">&#34;HTML&#34;</span><span class="p">,</span> <span class="s2">&#34;RSS&#34;</span><span class="p">,</span> <span class="s2">&#34;print&#34;</span> <span class="p">]</span></span></span></code></pre></div></div><div class="tab-pane fade" id="tabs-00-02" role="tabpanel" aria-labelledby="tabs-00-02-tab" tabindex="0"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yaml" data-lang="yaml"><span class="line"><span class="cl"><span class="nt">outputs</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span><span class="nt">section</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span>- <span class="l">HTML</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span>- <span class="l">RSS</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span>- <span class="l">print</span></span></span></code></pre></div></div><div class="tab-pane fade" id="tabs-00-03" role="tabpanel" aria-labelledby="tabs-00-03-tab" tabindex="0"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;outputs&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;section&#34;</span><span class="p">:</span> <span class="p">[</span>
</span></span><span class="line"><span class="cl">      <span class="s2">&#34;HTML&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="s2">&#34;RSS&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="s2">&#34;print&#34;</span>
</span></span><span class="line"><span class="cl">    <span class="p">]</span>
</span></span><span class="line"><span class="cl">  <span class="p">}</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span></span></span></code></pre></div></div>
</div>

<!-- prettier-ignore-end -->
<!-- markdownlint-enable no-shortcut-ref-link -->

随后，站点右侧导航中会显示“打印整节”链接。

## 进一步自定义 {#further-customization}

### 禁用目录 {#disabling-the-toc}

如果不希望可打印视图显示目录，可以在页面 front matter，或者
`hugo.toml`、`hugo.yaml`、`hugo.json` 中将 `disable_toc` 参数设为 `true`：

<!-- markdownlint-disable -->
<!-- prettier-ignore-start -->





<ul class="nav nav-tabs" id="tabs-1" role="tablist"><li class="nav-item"><button class="nav-link disabled" id="tabs-01-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-01-00" role="tab" aria-controls="tabs-01-00" aria-selected="false" disabled aria-disabled="true">Front matter：</button></li><li class="nav-item"><button class="nav-link active" id="tabs-01-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-01-01" role="tab" data-td-tp-persist="toml" aria-controls="tabs-01-01" aria-selected="true">toml</button></li><li class="nav-item"><button class="nav-link" id="tabs-01-02-tab" data-bs-toggle="tab" data-bs-target="#tabs-01-02" role="tab" data-td-tp-persist="yaml" aria-controls="tabs-01-02" aria-selected="false">yaml</button></li><li class="nav-item"><button class="nav-link" id="tabs-01-03-tab" data-bs-toggle="tab" data-bs-target="#tabs-01-03" role="tab" data-td-tp-persist="json" aria-controls="tabs-01-03" aria-selected="false">json</button></li></ul>

<div class="tab-content" id="tabs-1-content"><div class="tab-pane fade" id="tabs-01-00" role="tabpanel" aria-labelledby="tabs-01-00-tab" tabindex="0"><pre tabindex="0"><code class="language-Front matter：" data-lang="Front matter："></code></pre></div><div class="tab-pane fade show active" id="tabs-01-01" role="tabpanel" aria-labelledby="tabs-01-01-tab" tabindex="0"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-toml" data-lang="toml"><span class="line"><span class="cl"><span class="err">+++</span>
</span></span><span class="line"><span class="cl"><span class="err">…</span>
</span></span><span class="line"><span class="cl"><span class="nx">disable_toc</span> <span class="p">=</span> <span class="kc">true</span>
</span></span><span class="line"><span class="cl"><span class="err">…</span>
</span></span><span class="line"><span class="cl"><span class="err">+++</span></span></span></code></pre></div></div><div class="tab-pane fade" id="tabs-01-02" role="tabpanel" aria-labelledby="tabs-01-02-tab" tabindex="0"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yaml" data-lang="yaml"><span class="line"><span class="cl"><span class="nn">---</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="l">…</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">disable_toc</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="l">…</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nn">---</span></span></span></code></pre></div></div><div class="tab-pane fade" id="tabs-01-03" role="tabpanel" aria-labelledby="tabs-01-03-tab" tabindex="0"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="cl">  <span class="err">…,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;disable_toc&#34;</span><span class="p">:</span> <span class="kc">true</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="err">…</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span></span></span></code></pre></div></div>
</div>

<!-- prettier-ignore-end -->

<!-- prettier-ignore-start -->





<ul class="nav nav-tabs" id="tabs-2" role="tablist"><li class="nav-item"><button class="nav-link disabled" id="tabs-02-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-02-00" role="tab" aria-controls="tabs-02-00" aria-selected="false" disabled aria-disabled="true">配置文件：</button></li><li class="nav-item"><button class="nav-link active" id="tabs-02-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-02-01" role="tab" data-td-tp-persist="toml" aria-controls="tabs-02-01" aria-selected="true">hugo.toml</button></li><li class="nav-item"><button class="nav-link" id="tabs-02-02-tab" data-bs-toggle="tab" data-bs-target="#tabs-02-02" role="tab" data-td-tp-persist="yaml" aria-controls="tabs-02-02" aria-selected="false">hugo.yaml</button></li><li class="nav-item"><button class="nav-link" id="tabs-02-03-tab" data-bs-toggle="tab" data-bs-target="#tabs-02-03" role="tab" data-td-tp-persist="json" aria-controls="tabs-02-03" aria-selected="false">hugo.json</button></li></ul>

<div class="tab-content" id="tabs-2-content"><div class="tab-pane fade" id="tabs-02-00" role="tabpanel" aria-labelledby="tabs-02-00-tab" tabindex="0"><pre tabindex="0"><code></code></pre></div><div class="tab-pane fade show active" id="tabs-02-01" role="tabpanel" aria-labelledby="tabs-02-01-tab" tabindex="0"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-toml" data-lang="toml"><span class="line"><span class="cl"><span class="p">[</span><span class="nx">params</span><span class="p">.</span><span class="nx">print</span><span class="p">]</span>
</span></span><span class="line"><span class="cl"><span class="nx">disable_toc</span> <span class="p">=</span> <span class="kc">true</span></span></span></code></pre></div></div><div class="tab-pane fade" id="tabs-02-02" role="tabpanel" aria-labelledby="tabs-02-02-tab" tabindex="0"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yaml" data-lang="yaml"><span class="line"><span class="cl"><span class="nt">params</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span><span class="nt">print</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">disable_toc</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span></span></span></code></pre></div></div><div class="tab-pane fade" id="tabs-02-03" role="tabpanel" aria-labelledby="tabs-02-03-tab" tabindex="0"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;params&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;print&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;disable_toc&#34;</span><span class="p">:</span> <span class="kc">true</span>
</span></span><span class="line"><span class="cl">    <span class="p">}</span>
</span></span><span class="line"><span class="cl">  <span class="p">}</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span></span></span></code></pre></div></div>
</div>

<!-- prettier-ignore-end -->
<!-- markdownlint-restore -->

## 布局钩子 {#layout-hooks}

主题定义了多种布局 partial 和钩子，可用来定制打印格式。这些文件位于
`layouts/_partials/print`。

钩子可以按内容类型定义。例如，如果希望 `blog` 页与 `docs`
页使用不同的标题布局，可以创建
`layouts/_partials/print/page-heading-<type>.html`，例如
`page-heading-blog.html`。默认实现使用页面标题和描述作为页首标题。

同理，可以通过创建 `layouts/_partials/print/content-<type>.html`
来定制每个页面的正文格式。
