diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 6931bc99..3a30de90 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -14,5 +14,4 @@ Layout/SpaceAroundOperators: Exclude: - 'lib/jekyll/commands/build.rb' - 'lib/jekyll/site.rb' - - 'lib/jekyll/tags/include.rb' - 'test/test_configuration.rb' diff --git a/lib/jekyll/tags/include.rb b/lib/jekyll/tags/include.rb index a00e0c23..5483fc13 100644 --- a/lib/jekyll/tags/include.rb +++ b/lib/jekyll/tags/include.rb @@ -253,20 +253,18 @@ module Jekyll end def page_path(context) - if context.registers[:page].nil? - context.registers[:site].source - else - site = context.registers[:site] - page_payload = context.registers[:page] - resource_path = \ - if page_payload["collection"].nil? - page_payload["path"] - else - File.join(site.config["collections_dir"], page_payload["path"]) - end - resource_path.sub!(%r!/#excerpt\z!, "") - site.in_source_dir File.dirname(resource_path) - end + page, site = context.registers.values_at(:page, :site) + return site.source unless page + + site.in_source_dir File.dirname(resource_path(page, site)) + end + + private + + def resource_path(page, site) + path = page["path"] + path = File.join(site.config["collections_dir"], path) if page["collection"] + path.sub(%r!/#excerpt\z!, "") end end end