如何修剪Hugo模板中的字符串

时间:2018-06-04 21:10:36

标签: substring hugo go-templates

我总是使用以" 0001 - "," 0002 - "等开头的文件名创建我的帖子。我想要删除它的默认标题

themes/Hugo-Octopress/./archetypes/post.md文件中,我更改了:

---
title: "{{ replace .TranslationBaseName "-" " " | title }}"

---
title: "{{ replace .TranslationBaseName "-" " " | substr 6 | title }}"

我认为这会通过" substr 6"这将删除文件中的前5个字符。

然而,我得到的错误信息是:

Error: Failed to process archetype file "[redacted]/themes/Hugo-Octopress/archetypes/post.md": template: post:2:50: executing "post" at <substr 6>: error calling substr: start argument must be integer

如何在模板管道中去掉字符串的前5个字符?

2 个答案:

答案 0 :(得分:0)

据我所知,Hugo通常不会处理* .md文件中的任何功能,因此您必须使用&#34; Shortcodes&#34; - 请参阅这两个以获取更多信息:

我非常确定,虽然我在某个地方读过这些不在前面工作的东西,即&#34; title&#34;参数。

对于我的帖子,也是编号,我已经使用了&#34; slug&#34;参数:

  

001-post-title.md

+++
title = "post title"
weight = "-999"
slug = "post title"
image = "fancy.jpg"
+++

使用此参数,永久链接在我的情况下如下所示:

http://localhost:1313/post/post-title/

我知道这意味着手动输入,也可能是错误的来源,但这是解决这个问题的最简单方法,当我需要解决方案时,我可以找到这个问题。如果你在雨果论坛上提出同样的问题,也许会有更好的答案。

答案 1 :(得分:0)

解决方案是将chmod -R 777 /vendor/drush 包裹在括号中,然后将其作为replace的参数,如下所示:

substr

我已经对其进行了测试,并且对我有用。

(来源:https://discourse.gohugo.io/t/how-to-trim-and-truncate-a-url/2639/3