1

我正在使用 harp 版本 0.21.0 和 Jade 支持在 Windows 7 上开发静态站点。下面的 harp 文档链接显示了使用 _layout.ejs 进行嵌套布局的示例以及如何创建博客文章列表:

https://harpjs.com/docs/development/layout

https://harpjs.com/recipes/blog-posts-list

仅当当前页面位于包含多于一篇文章的组文件夹中时,我想将文章的链接放在侧面容器中,如下所示。

_layout.jade
index.jade
+ group1
    article1
+ group2
  _data.json
  article1
  article2

_layout.jade

head
  title= title
  meta(name='description', content='#{ description }')
body
  #wrap
    #side
      p(align='center')
      img(src=sideimg, width='259', height='387', alt=imgtag)
      != partial("_toc.jade")
    #main
      != yield
    #footer

_data.json

 {
 "article1": {
   "pagetitle": "Article 1 Title",
   "sideimg"  : "/img/freebird.png",
   "imgtag"   : "bird flying under Sun"
 },
 "article2": {
   "pagetitle": "Article 2 Title",
   "sideimg"  : "/img/freebird.png",
   "imgtag"   : "bird flying under Sun"
 }
 }

_toc.jade 伪代码(什么是正确的玉语法?)

if current page is in group1 folder then 
  do nothing
if current page is in group2 folder then
  for each article in group2 folder
    ul
      li
         insert #{ pagetitle } as link in side container

我有两个问题。

  1. 如果这可以使用玉部分来完成,那么 _toc.jade 中玉代码的语法是什么?

  2. 如果这可以使用玉中的块和扩展来完成,那么该方法中的代码是什么?

4

1 回答 1

1

harp 文档包含带有线索的食谱,我使用 _toc.jade 方法解决了我自己的问题。

_toc.jade(此代码适用于原始问题的上下文)

if current.path[0] == 'group2'
  for group2, pagetitle in public.group2._data
    a(href="/group2/#{ pagetitle }") 
      p.i= group2.pagetitle
于 2017-03-08T18:50:47.253 回答