按用户定义的属性排序

时间:2016-02-11 12:53:48

标签: hugo go-html-template

我正在使用hugo v0.15 我试图在自定义属性上对页面进行排序。

我将子页面定义如下:

+++
title= "bla bla bla"
parent = "parent"
index = 0 # each page is assigned a unique index
+++

在我的父模板中如下:

{{ range sort .Site.Pages ".Params.index" }}
    <a href="{{.RelPermalink}}">
          {{.Title}} {{.Params.index}}
    </a>
{{end}}

这在编译时没有失败,但列表呈现为空。 我错过了什么?

2 个答案:

答案 0 :(得分:1)

好吧,我走错了方向。 我发现有一个默认参数只是用于排序,&#34;重量&#34;

所以,修复是:

use "weight" instead of "index"

并使用重量

{{ range sort .Site.Pages ".Weight" }}

这解决了我的问题,但使用用户定义的属性进行排序仍然存在问题。

答案 1 :(得分:1)

  

但使用用户定义的属性进行排序仍然存在问题。

在页面前端内容中创建自定义的用户自定义参数,例如&#34; my-param&#34;下面:

class SocketWrapper {
    let sock: Int32

    init() throws {
        try sock = SocketWrapper.createSocket()
    }

    deinit {
        close(sock)
    }
}

在您的模板中,添加如下内容:

+++
title = "The page title"
date = 2017-08-24T22:14:52-07:00
author = "Me"
banner = "img/default.jpg"
my-param = "100"
+++