在 Jekyll 中,如何更改将文件名转换为博客文章标题的大小写规则?

joe*_*lom 4 jekyll

我正在尝试更改 Jekyll 中博客文章标题的大小写,而不必每次都在 yaml 标题字段中键入它。默认情况下,jekyll 转换文件2016-02-22-my-blog-title为标题“我的博客标题”,我希望它是“我的博客标题”。

我注意到我可以通过修改_layouts/post.html和更改行来实现此行为

<a class="post-link" href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a>
Run Code Online (Sandbox Code Playgroud)

<a class="post-link" href="{{ post.url | prepend: site.baseurl }}">{{ post.title | downcase | capitalize}}</a>
Run Code Online (Sandbox Code Playgroud)

但是,这使得无法在需要时通过向 yaml 字段添加自定义标题来覆盖大小写规则。例如,不可能将不是标题第一个单词的专有名词大写。是否可以更改从文件名生成默认标题的方式,同时在 yaml 中指定标题时仍然允许覆盖它?

Dav*_*uel 5

您必须使用一个插件来覆盖 Jekyll 生成帖子标题的方式。

这可以通过覆盖 Jekyll Utils 模块来完成。

创建一个_plugins/titleize_overrride.rb文件,其中包含:

module Jekyll
  module Utils
    def titleize_slug(slug)
      slug.split(/[_-]/).join(' ').capitalize
    end
  end
end
Run Code Online (Sandbox Code Playgroud)