gpt4 book ai didi

yaml - 使用 Assemble/Grunt,是否可以从 YAML 前端小写和连字符化变量

转载 作者:行者123 更新时间:2023-12-01 04:57:01 25 4
gpt4 key购买 nike

我已经在 github 上问过这个问题了, 但开发人员让我把它放在这里看看是否还有其他人有任何其他建议...

是否可以将 YAML 前置变量动态转换为小写并将空格替换为连字符?

我问的原因是我要将一个类添加到包含对当前页面的唯一引用的 div,在我的例子中是页面标题。我已经在 front matter 中设置了页面标题,所以如果我可以简单地重复使用它就太好了。

为了说明,如果你能做这样的事情就太好了:

---
title: My Page Title
---
<div class="{{ title.hyphenize }}">
<h1>{{ title }}</h1>
...
</div>

输出这个:

<div class="my-page-title">
<h1>My Page Title</h1>
...
</div>

我是 YAML Front Matter 的新手,不知道它有什么用处,所以如果有任何建议,我将不胜感激。

最佳答案

我是 assemble 的开发人员之一,我认为将它放在 stackoverflow 上以供引用会更好。这是我提供的答案:

我认为处理此问题的最佳方法是使用 Handlebars 助手或下划线模板。我们在 helper lib repo 中提供了几个 handlebars helpers,可以像下面这样使用...

---
title: My Page Title
---
<div class="{{hyphenate title}}">
<h1>{{ title }}</h1>
...
</div>

这将用连字符替换空格,但不会使其变为小写。

另一种方法是在 yaml header 中使用 lodash 模板:

---
title: My Page Title
class: <%= title.toLowerCase().split(" ").join("-") %>
---
<div class="{{class}}">
<h1>{{ title }}</h1>
...
</div>

此外,@jonschlinkert 补充说,您可以将这 2 种方法与类似的东西结合起来:

---
title: My Page Title
class: <%= title.toLowerCase() %>
---
<div class="{{hyphenate class}}">
<h1>{{ title }}</h1>
...
</div>

让我知道这是否适合您。

关于yaml - 使用 Assemble/Grunt,是否可以从 YAML 前端小写和连字符化变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16894629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com