在Hugo内容中使用变量

时间:2015-10-27 16:47:38

标签: hugo

我正在尝试在Hugo静态生成的网站的内容中使用变量。例如,内容如下所示:

  1. 转到您网站的网址({{.Site.BaseURL}})
  2. 输入您的凭据
  3. .....(等等等等)
  4. 当渲染时,{{....}}部分不会被处理......它与我上面的相同。我也试过前面的'$'。模板中的变量似乎工作得很好。我是否需要创建在内容页面中使用的短代码?

3 个答案:

答案 0 :(得分:12)

所以看起来短信是这样做的方法。为了它的价值,我将文档更改为如下所示:

  1. 转到您网站的网址({{< siteurl>}})
  2. layouts/shortcodes中,我创建了文件siteurl.html。它看起来如下:

    {{ .Page.Site.BaseURL }}
    

    我需要在那里添加.Page才能访问Site变量。有关详细信息,请参阅此Issue Report

答案 1 :(得分:1)

在Hugo中,当您想在markdown <.em>(。md)文件中使用变量时,您需要为此首先创建一个简码。

您可以按照以下步骤操作:-

创建简码

布局/shortcodes/siteurl.html

{{ .Page.Site.BaseURL }}

用法

content / post / myblogpost.md

---
# front-matter
---
1. Go to your site's url ({{< siteurl >}})
2. Enter your credentials
3. .....(blah blah blah)

结果

post / myblogpost.html

1. Go to your site's url (https://codingnconcepts.com)
2. Enter your credentials
3. .....(blah blah blah)

来源: https://codingnconcepts.com/hugo/custom-shortcode-hugo/

答案 2 :(得分:0)

我遇到了同样的问题,这篇文章对我有所帮助。

我想在网站内容中显示网站参数,但是发现您不能在内容文件中使用常规模板。

最后,我创建了一个短代码来加载请求的站点参数。谁知道此信息可能会帮助某人。

/config.yml

params:
  appName: My app

/content/about.html

<p>My app's name is {{< param "appName" >}}</p>

/layouts/shortcodes/param.html

{{/* Usage: {{< param "siteParamName" }} */}}
{{ index .Site.Params (.Get 0) }}

结果

<p>My app's name is My app</p>