我已经使用Octopress一段时间了,但是我还没有长时间推动上游变化。我刚刚建立了一个新的本地分支,并且合并非常轻松,但我遇到的一个问题是我的类别名称现在到处都是低级的。这没有用,这对我来说是一个问题,因为我根据每个帖子的类别对链接进行不同着色,使用以下内容:
{% capture category_class %}
{% for category in post.categories %}
{{ category | prepend:'category-' }}
{% endfor %}
{% endcapture %}
# ...
<div class="{{ category_class | strip_newlines }}">
这里,category_class最终类似于&#34;类别编码&#34;即使类别在帖子源中指定为Coding,也有大写字母C.现在,我可以只是改变我的SASS以使用类的小写类别名称...但是我的类别名称会其他地方仍然是小写的,我不喜欢它们。
所以我想在Octopress中删除这个类别名称的下划线。但我不能为我的生活找出它实际发生的地方。 (对我不熟悉Ruby可能没什么帮助。)
答案 0 :(得分:1)
Jekyll的downcase
电话会产生小写类别:
https://github.com/jekyll/jekyll/blob/v2.5.3/lib/jekyll/post.rb#L83
def populate_categories
categories_from_data =
Utils.pluralized_array_from_hash(data, 'category', 'categories')
self.categories = (Array(categories) +
categories_from_data).map {|c| c.to_s.downcase}.flatten.uniq
end
似乎没有任何其他方式来访问帖子中的类别数组。您需要自己修改或猴子修补Jekyll,或者只是使用Javascript或CSS(text-transform
)重新大写。
似乎Octopress也支持插件,如果你想做一些自定义的Ruby黑客攻击,这可能是另一个解决方案。即创建一个大写的类别插件。