【发布时间】:2014-10-08 17:50:37
【问题描述】:
我正在将我现有的博客Code Insider 转换为 Jekyll。目前它是一个简单的静态站点,由 flask + freezeflask 支持,具有一些自定义功能,并且 Jekyll 似乎有一个很好的社区,所以我想我不妨开始使用它,而不是我现有的半垃圾自定义设置。
有趣的是,博客内容不平凡且高度结构化。每篇文章(codeinsider.us/i/5.html)中都有三个“对话”,它们有一个名称、描述、img 头像和一组附加的 QA。还有关于问题本身的元数据(名称、介绍、时间戳、等)
基本上我现在正在做的是将每个问答字符串对分配给一个元组,将其推入一个列表,将列表分配给一个对话字典,将每个对话推入一个列表。对话列表以及元数据是我博客的全部内容。
将其转换为 Jekyll 有点有趣。 Jekyll 在其前端内容或页面内容对象方面做得不好。
我基本上已经确定了一个利用 Jekyll 前线的“黑客”——在每个与对话对应的 Jekyll 帖子中,我正在创建一个字典列表
name: "Interview with Vincent"
intro: "Hello this is the intro"
title: "CoderPad interview"
conversations:
-name: "Vincent"
qas:
-question: "First question"
answer: "First answer"
-name: "John"
qas:
-question: "Second question"
answer: "Second answer"
-question: "Third question"
answer: "Third answer"
等等。在 Jekyll 中有更好的方法吗?请记住,这些问题/答案可能非常长。
这是我正在尝试实现的父模板中的核心循环,并将数据传递给。 conversations 对象当前是大 YAML blob 中的内容。
{% for conversation in conversations %}
<img src="{{ conversation.headshot_img }}"/>
{% for qas in conversation.qas %}
{{ qas.question }}
{{ qas.answer }}
{% endfor %}
{% endfor %}
【问题讨论】:
-
上次我做类似(疯狂?)的事情 (github.com/D-side/geekparty4) 我在 GitHub 的 YAML 可视化工具中发现了一个错误,他们已经修复了它。我想这不是 Jekyll 的目的,它旨在简单。他们最近添加了支持 JSON 的
_data文件(使用 Jekyll 2),这可能会有所帮助。