在我的_config.yml
文件中,我定义了永久链接,如permalink: /posts/:title/
(注意结束斜杠)。
对于_posts/my_first_post/2017-05-06-my_first_post.markdown
中的帖子,生成的文件为_site/posts/my_first_post/index.html
。
如何将文件名从index.html
更改为something.htm
之类的任意内容?
编辑1:
不想这样做,但我最终不得不看看Jekyll的源代码:
在lib/jekyll/page.rb
中有这样的:
def destination(dest)
path = site.in_dest_dir(dest, URL.unescape_path(url))
path = File.join(path, "index") if url.end_with?("/")
path << output_ext unless path.end_with? output_ext
path
end
在lib/jekyll/document.rb
中有这样的:
def destination(base_directory)
dest = site.in_dest_dir(base_directory)
path = site.in_dest_dir(dest, URL.unescape_path(url))
if url.end_with? "/"
path = File.join(path, "index.html")
else
path << output_ext unless path.end_with? output_ext
end
path
end
因此 index.html 部分是硬编码的。这个问题无法回答......除非有一个插件能够满足我的需求。
答案 0 :(得分:1)
您可以根据具体要求调整Jekyll的代码。
在jekyll文件夹中打开lib\jekyll\Page.rb
并更新目标方法:
module Jekyll
class Page
def destination(dest)
path = site.in_dest_dir(dest, URL.unescape_path(url))
path = File.join(path, "index") if url.end_with?("/")
path << output_ext unless path.end_with? output_ext
# replace index with title
path.sub! 'index', data['title'] if data['title']
path
end
end
end
在返回destination
lib\jekyll\Document.rb
中的path
方法
答案 1 :(得分:0)
您可以在permalink: /posts/:title/something:output_ext
或前置事项
_config.yml