我希望能够在我的页面中定义一个前题变量book
:
book: book1
book1
将是这样的数据文件(book1.yml
):
page_list:
- cover
- frontis
- i
- ii
- 1
- 2
- 3
etc...
将有几个这样的数据文件:book2.yml
,book3.yml
等
然后在我的布局中,我要遍历页面,如下所示:
{{ range $page := .Site.Data.{{ .Params.book }}.page_list }}
{{ $page }}
{{ end }}
此语法无效。有没有办法在另一个变量中使用前物变量(在我的示例中为.Site.Data.MY_FRONT_MATTER_VARIABLE.page_list
)?
答案 0 :(得分:0)
我发现了一种使用局部变量的可能解决方案。基本上,我将所有HTML移到一个名为“ book_page”的部分中,并像这样传递数据:
{{部分“ book_page”(字典“ DATA” .Site.Data.book1“ previous_page” .Params.previous_page“ current_page” .Params.current_page“ next_page” .Params.next_page“深度”“”)}} < / p>
我正在使用字典,因为我还需要一些其他值。然后,在常规HTML中,我可以使用.DATA.page_list,.DATA.title,.DATA.author,.DATA.side_links等访问所有book1数据。我将这段代码保存在单个“ .html”文件中“(雨果称它们为“类型”),例如1.md:
类型:BookLayout1
上一页:xiv
当前页面:1
下一页:2