我正在将我的网站转移到Jekyll,因为Wordpress太过臃肿,而且很容易用于简单的博客+投资组合。然后我面临一个问题,我无法解决文档(甚至是示例,因为它们非常简单)。
我希望网站的目标网页位于/
(确定),目录/blog/
上的博客和/blog/post-title/
的帖子(好吧,我认为)和我的工作在/portfolio/
,/portfolio/job-title/
处有工作,但我无法创建最后一个目录。
我尝试在_jobs
目录中创建portfolio
目录,然后使用
{% for job in site.jobs %}
...html...
{% endfor %}
由于博客示例使用相同的语法,但使用posts
而不是jobs
。我该怎么做才能访问这个portfolio/_jobs
目录并循环浏览文件?
Jekyll文件夹的树如下:
.
├── blog
│ ├── index.html
│ └── _posts
│ ├── 2013-02-19-hello-world.markdown
│ └── 2014-03-01-welcome-to-jekyll.markdown
├── _config.yml
├── css
│ ├── main.css
│ └── syntax.css
├── _includes
│ ├── footer.html
│ ├── header.html
│ └── sidebar.html
├── _layouts
│ ├── default.html
│ ├── job.html
│ └── post.html
├── portfolio
│ ├── index.html
│ └── _jobs
│ └── jekyll-portfolio.markdown
答案 0 :(得分:2)
Jekyll不像你的例子那样简单地支持这个,it is coming in 2.0 however。
您可以将一个键/值对添加到子页面的YAML标题中,以表示它应该出现在主组合索引页面上。我有一个类似的设置,我用它来定义哪些页面应该出现在我的网站的主导航中。
投资组合页面的URL自定义只能通过使用每个子页面的YAML标题中的permalink
设置来实现。
---
group: jobs
---
<ul>
{% for node in site.pages %}
{% if 'jobs' == node.group %}
<li><a href="{{node.url}}">{{node.title}}</a></li>
{% endif %}
{% endfor %}
</ul>
如果您更改if条件以对URL进行子字符串匹配,则可以避免要求group属性,但此解决方案更容易理解。