亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

非站點級變量/參數查詢的Hugo定義

非站點級變量/參數查詢的Hugo定義

Go
犯罪嫌疑人X 2023-03-21 17:29:45
我正在使用 Hugo 通用主題。我是靜態站點生成器的新手。這個問題是為熟悉 hugo 模板的人準備的。在layouts/partials/features.html我們可以看到在哪里$element.name渲染$element.name.description:{{ if isset .Site.Params "features" }}{{ if .Site.Params.features.enable }}{{ if gt (len .Site.Data.features) 0 }}<section class="bar background-white">    <div class="container">        {{ range $index, $element := sort .Site.Data.features "weight" }}        {{ if eq (mod $index 3) 0 }}        <div class="col-md-12">            <div class="row">        {{ end }}                <div class="col-md-4">                    <div class="box-simple">                        <div class="icon">                            <i class="{{ .icon }}"></i>                        </div>                        <h3>{{ $element.name }}</h3>                        <p>{{ $element.description | markdownify }}</p>                    </div>                </div>        {{ if or (eq (mod $index 3) 2) (eq $index (sub (len $.Site.Data.features) 1 )) }}            </div>        </div>        {{ end }}        {{ end }}    </div></section>{{ end }}{{ end }}{{ end }}本例中需要渲染的數據定義如下data/features/consulting.yaml:weight: 4name: "Consulting"icon: "fa fa-lightbulb-o"description: "Fifth abundantly made Give sixth hath..." 我應該怎么做才能將新變量添加到文件中yaml,以便稍后html在 hugo 編譯站點時通過文件呈現。我試圖簡單地添加另一個參數param1,然后在 html 文件中插入相應的行,<p>{{ $element.param1 | markdownify }}</p>如下描述段落但出現錯誤錯誤 2018/08/23 10:42:42 在“”中呈現“主頁”時出錯:模板:index.html:22:11:在<部分“features.ht ...> 處執行“index.html”:錯誤調用部分:模板:partials/features.html:18:56:在以下位置執行“partials/features.html”:markdownify 的參數數量錯誤:想要 1 得到 0顯然我似乎無法正確定義變量,但我應該在哪里做呢?我可以向 中添加另一個站點變量config.toml,但我想了解如何制作可在yaml/frontmatter類型條目中定義的頁面特定變量。我嘗試閱讀有關 hugo 變量的內容,但在什么是變量和什么是短代碼方面陷入困境。非常感謝您對此示例的幫助。去雨果雨果簡碼
查看完整描述

1 回答

?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

好吧,我找到了一個有效的答案,但我仍然不完全理解它如何適應 Hugo 變量系統,因此非常歡迎更好的答案和/或評論。


看起來很簡單。我必須url在文件中定義變量yaml:


name: "History"

position: "Hx"

url: "/blog/2018/08/23/01-history/"

然后html 像這樣在文件中使用:


{{ if .url }} 

    <a href="{{ .url }}"> 

    <h5>{{ .name }}</h5>

    </a>

{{ else }}

    <h5>{{ .name }}</h5>

{{ end }}

它所做的是將 .name 放在鏈接標記中,如果 .url 是在 .yaml 中定義的。如果給出絕對 URL,這也有效。因此,頁面變量似乎被稱為.myVariable. $element.name如上所述,模板作者在另一個地方使用,這讓我感到困惑。


我也可以將 frontmatter 中定義的參數稱為.Params.name


我在https://github.com/devcows/hugo-universal-theme/pull/166找到了指針并測試了調整模板;它運作良好。


查看完整回答
反對 回復 2023-03-21
  • 1 回答
  • 0 關注
  • 154 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號