From b63712e40312f85846da3ca34b52d3f1ac5db580 Mon Sep 17 00:00:00 2001 From: Jordon Bedwell Date: Sat, 5 Dec 2015 04:48:51 -0600 Subject: [PATCH] Fix an edge where file is sometimes not returned properly. --- lib/jekyll/commands/serve/servlet.rb | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/lib/jekyll/commands/serve/servlet.rb b/lib/jekyll/commands/serve/servlet.rb index 4b11ad0d..cc6d958f 100644 --- a/lib/jekyll/commands/serve/servlet.rb +++ b/lib/jekyll/commands/serve/servlet.rb @@ -18,24 +18,26 @@ module Jekyll return super end - # --------------------------------------------------------------------- # file > file/index.html > file.html > directory -> Having a directory - # with the same name as a file will result in the file being served the - # way that Nginx behaves (probably not exactly...) For browsing. - # --------------------------------------------------------------------- + # with the same name as a file will result in the file being served the way + # that Nginx behaves (probably not exactly...) For browsing. def search_file(req, res, basename) - return file if (file = super) || (file = super req, res, "#{basename}.html") + file = super || super(req, res, "#{basename}.html") + return file if file file = "#{req.path.gsub(/\/\Z/, "")}.html" if file && File.file?(File.join(@config[:DocumentRoot], file)) return ".html" end - nil + + nil end def extract_headers(opts) - @headers = add_defaults(opts.fetch("webrick", {}).fetch("headers", {})) + @headers = add_defaults(opts.fetch("webrick", {}).fetch("headers", { + # Nothing. + })) end def add_defaults(opts)