如何使用自定义输出格式在 hugo 中创建打印友好的模板

How to use custom output formats to create a printer-friendly template in hugo

我希望能够定义一个针对打印进行了优化的 HTML 模板。 Hugo 自定义输出格式似乎正是我所需要的,但我正在努力了解如何使其工作。

这是定义新格式的 config.yaml 文件的摘录:


outputFormats:
  printFormat:
    name: print
    mediaType: text/html
    isHTML: true
    path: print

outputs:
  page:
    - HTML
    - print
  home:
    - HTML
    - RSS
  section:
    - HTML
    - RSS
  taxonomy:
    - HTML
    - RSS
  term:
    - HTML
    - RSS

我还创建了 <theme>/layouts/_default/baseof.print.html<theme>/layouts/_default/single.print.html

我在尝试构建时没有收到任何错误,但是我也没有看到生成的任何打印模板。

我也不完全理解 url 结构以资源为目标会是什么样子。这是我试过的

https://<domain-name>/posts/<post-name>.print
https://<domain-name>/posts/<post-name>.print.html
https://<domain-name>/posts/print/<post-name>
https://<domain-name>/posts/<post-name>/print/index.html

有人可以帮助我了解我在配置中做错了什么以及 URL 访问自定义输出会是什么样子吗?

我能够解决这个问题。这是对 config.yaml 的更改,使其起作用 ...

outputFormats:
  printFormat:
    name: print
    mediaType: text/html
    baseName: print
    isPlainText: false
    rel: alternate
    isHTML: false
    noUgly: true
    permalinkable: false

进行此更改后,url 现在将允许我访问“printer-friendly”模板:

https://<domain-name>/posts/<post-name>/print.html