模板渲染优先级问题

需求:

我想实现两子站的功能,具体如下:

1、使用子目录的形式:domain.com/blog/ 和 domain.com/wiki/ 

2、有各自的主题模板

我的处理方式:

1、内容页

(1)模板文件夹根目录创建post.jade和wiki.jade。

(2)在meta中,给permalink带blog或wiki前缀,比如 permalink: blog/xxx.html 或 permalink: wiki/yyy.html ,同时指定layout为post或wiki

按这种策略,可以搞定内容页的渲染

2、子目录首页(列表页)

这里遇到问题:

我直接在模板文件夹根目录创建blog.jade文件,然后访问domain.com/blog/是列表页,但访问domain.com/blog/xxx.html也变成了列表页。看起来,在meta中直接指定layout的优先级比URL中指标模板的优先级低呀。

可以换模板名为bloglist.jade,然后用domain.com/bloglist/,这样子目录首页与文章内不冲突,但觉得别扭,不知有没有其它办法?

2018-11-28 18:05 from SKYue Hu
Comments
Write a Comment
  • 用了一个变通的方式:在模板目录创建 blog/home.jade 文件。然后

    domain.com/blog/home 是主页

    domain.com/blog/xxx.html 是文章页

    感觉还是不够理想,不知道有没有别的方式了。。。

    • Hepo reply

      @SKYue

      https://api.bitcron.com/read/template-route

      可以使用 site_routes.jade 做匹配。

      blog/index.jade 应该也有用的,就不用 home.jade 做中专了。

      • @Hepo site_routers.jade怎么用呢,wiki中没找到相关说明