修复 Hugo 中的 'Invalid Filename' 部署错误
Fixing 'Invalid Filename' Deploy Error in Hugo
我已经使用 Netlify 部署了我的 Hugo 网站,但在我最近的更改之后,我不断收到如下相同的错误:
Failed during stage 'deploying site': Invalid filename 'tags/c#/page/1/index.html'. Deployed filenames cannot contain # or ? characters
我在我的存储库中找不到包含此类路径的任何文件,而且我的 index.html 也不包含任何这些无效字符。我已尝试还原更改,但仍然收到相同的部署错误。
我应该在我的回购文件中的什么地方查找来诊断这个问题?
这是指向一个自动生成的文件,该文件列出了那些在前面的内容中将 'C#' 作为标记的页面。因此,寻找具有以下内容的页面:
tags: [ 'C#']
在里面。
为了修复,您需要将标签更改为 'c-sharp' 或类似内容。
或者 - 检查 preserveTaxonomyNames
不在您的 site.yml 中(或设置为 false)。
当我们在 post/markdown 中使用 C# 标签或其他包含 #
的标签时会发生此错误,因为 Hugo 会根据 [=] 等标签在 public 文件夹中生成静态文件14=].
我们当然可以替换为其他标签,如 C-Sharp 或类似标签,但如果我们仍想在我们的 post 中看到 C# 标签,则有一个解决方法。
例如用 C-Sharp
替换标签后。
tags: ["C-Sharp"]
我们需要覆盖 html 将出现此新标签的文件,然后替换以下代码
<a href="{{ "/tags/" | relLangURL }}{{ . | urlize }}/">{{ . }}</a>
和
<a href="{{ "/tags/" | relLangURL }}{{ . | urlize }}/">{{ replace . "-Sharp" "#" }}</a>
请注意,我们将 -Sharp
替换为 #
,这样 C#
仍会出现在我们的 post 中,但 url 将是 [your-site]/tags/c-sharp/
并且 Hugo 不会在 public 文件夹中生成 tags/c#/index.xml
。因此,我们可以避免错误。
这是从here.
中总结的
我已经使用 Netlify 部署了我的 Hugo 网站,但在我最近的更改之后,我不断收到如下相同的错误:
Failed during stage 'deploying site': Invalid filename 'tags/c#/page/1/index.html'. Deployed filenames cannot contain # or ? characters
我在我的存储库中找不到包含此类路径的任何文件,而且我的 index.html 也不包含任何这些无效字符。我已尝试还原更改,但仍然收到相同的部署错误。
我应该在我的回购文件中的什么地方查找来诊断这个问题?
这是指向一个自动生成的文件,该文件列出了那些在前面的内容中将 'C#' 作为标记的页面。因此,寻找具有以下内容的页面:
tags: [ 'C#']
在里面。
为了修复,您需要将标签更改为 'c-sharp' 或类似内容。
或者 - 检查 preserveTaxonomyNames
不在您的 site.yml 中(或设置为 false)。
当我们在 post/markdown 中使用 C# 标签或其他包含 #
的标签时会发生此错误,因为 Hugo 会根据 [=] 等标签在 public 文件夹中生成静态文件14=].
我们当然可以替换为其他标签,如 C-Sharp 或类似标签,但如果我们仍想在我们的 post 中看到 C# 标签,则有一个解决方法。
例如用 C-Sharp
替换标签后。
tags: ["C-Sharp"]
我们需要覆盖 html 将出现此新标签的文件,然后替换以下代码
<a href="{{ "/tags/" | relLangURL }}{{ . | urlize }}/">{{ . }}</a>
和
<a href="{{ "/tags/" | relLangURL }}{{ . | urlize }}/">{{ replace . "-Sharp" "#" }}</a>
请注意,我们将 -Sharp
替换为 #
,这样 C#
仍会出现在我们的 post 中,但 url 将是 [your-site]/tags/c-sharp/
并且 Hugo 不会在 public 文件夹中生成 tags/c#/index.xml
。因此,我们可以避免错误。
这是从here.
中总结的