避免从 blogdown::serve_site() 渲染特定的 .md 文件

Avoid rendering of specific .md files from blogdown::serve_site()

我有一个文件位于

content/post/data_for_posts/my_file.md

我把它放在那里是因为它很容易 htmltools::includeMarkdown("data_for_posts/my_file.md") 并在不同的帖子中回收此文件。

我的问题是,当我 serve_site() 这会创建一个 public/post/data_for_posts/index.html,这意味着它会发布到我的网站(0001 年 1 月 1 日)。我想我可以将日期更改为 10000 年,但我宁愿按照我处理 .Rmd 和其他文件的方式来处理它,按照建议 here

我已经尝试修改我的 config.toml 但未能解决问题。

ignoreFiles = ["\.Rmd$", "\.Rmarkdown$", "_files$", "_cache$", "content/post/data_for_posts/my_file.md"]

以下是我用来执行此操作的一些技巧:

  1. 重命名 data_for_posts/my_file.md,使其使用 hugo 不会解释为已知标记语言的文件扩展名,例如将 .md 更改为 .markdmdn。[ *]
  2. 重命名 data_for_posts/my_file.md,使其包含您永远不会在实际内容文件中使用的字符串,例如 data_for_posts-UNPUBLISHED/my_file.md。然后将该字符串(UNPUBLISHED 或其他)添加到您的配置 ignoreFiles 列表中。[**]

[*] 在 content/ 目录中,具有以下文件扩展名之一的文件将被 hugo 解释为包含已知标记语言:.ad、.adoc、.asciidoc、.htm、 .html、.markdown、.md、.mdown、.mmark、.pdc、.pandoc、.org 或 .rst(这是我写的 something 的摘录)。

[**] ignoreFiles 中列出的字符串似乎是区分大小写的,所以我喜欢在我忽略的文件名中使用全部大写字符(因为我在实际中从不使用大写字符内容文件名)。另请注意,无需指定路径,我的经验是路径定界符(/\)会导致问题。