Merge branch 'custom-layout-directory' of https://github.com/tombell/jekyll into tombell-custom-layout-directory
Conflicts: lib/jekyll/site.rb
This commit is contained in:
commit
202894c196
|
@ -143,3 +143,24 @@ Feature: Site configuration
|
||||||
Then the _site directory should exist
|
Then the _site directory should exist
|
||||||
And I should see ".DS_Store" in "_site/.gitignore"
|
And I should see ".DS_Store" in "_site/.gitignore"
|
||||||
And the "_site/.htaccess" file should not exist
|
And the "_site/.htaccess" file should not exist
|
||||||
|
|
||||||
|
Scenario: Using a different layouts directory
|
||||||
|
Given I have a _theme directory
|
||||||
|
And I have a page theme that contains "Page Layout: {{ site.posts.size }} on {{ site.time | date: "%Y-%m-%d" }}"
|
||||||
|
And I have a post theme that contains "Post Layout: {{ content }}"
|
||||||
|
And I have an "index.html" page with layout "page" that contains "site index page"
|
||||||
|
And I have a configuration file with:
|
||||||
|
| key | value |
|
||||||
|
| time | 2010-01-01 |
|
||||||
|
| future | true |
|
||||||
|
| layouts | _theme |
|
||||||
|
And I have a _posts directory
|
||||||
|
And I have the following posts:
|
||||||
|
| title | date | layout | content |
|
||||||
|
| entry1 | 12/31/2007 | post | content for entry1. |
|
||||||
|
| entry2 | 01/31/2020 | post | content for entry2. |
|
||||||
|
When I run jekyll
|
||||||
|
Then the _site directory should exist
|
||||||
|
And I should see "Page Layout: 2 on 2010-01-01" in "_site/index.html"
|
||||||
|
And I should see "Post Layout: <p>content for entry1.</p>" in "_site/2007/12/31/entry1.html"
|
||||||
|
And I should see "Post Layout: <p>content for entry2.</p>" in "_site/2020/01/31/entry2.html"
|
||||||
|
|
|
@ -39,6 +39,13 @@ Given /^I have a (.*) layout that contains "(.*)"$/ do |layout, text|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Given /^I have a (.*) theme that contains "(.*)"$/ do |layout, text|
|
||||||
|
File.open(File.join('_theme', layout + '.html'), 'w') do |f|
|
||||||
|
f.write(text)
|
||||||
|
f.close
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
Given /^I have an? (.*) directory$/ do |dir|
|
Given /^I have an? (.*) directory$/ do |dir|
|
||||||
FileUtils.mkdir_p(dir)
|
FileUtils.mkdir_p(dir)
|
||||||
end
|
end
|
||||||
|
|
|
@ -59,6 +59,7 @@ module Jekyll
|
||||||
'source' => Dir.pwd,
|
'source' => Dir.pwd,
|
||||||
'destination' => File.join(Dir.pwd, '_site'),
|
'destination' => File.join(Dir.pwd, '_site'),
|
||||||
'plugins' => File.join(Dir.pwd, '_plugins'),
|
'plugins' => File.join(Dir.pwd, '_plugins'),
|
||||||
|
'layouts' => '_layouts',
|
||||||
|
|
||||||
'future' => true,
|
'future' => true,
|
||||||
'lsi' => false,
|
'lsi' => false,
|
||||||
|
|
|
@ -101,12 +101,12 @@ module Jekyll
|
||||||
self.read_directories
|
self.read_directories
|
||||||
end
|
end
|
||||||
|
|
||||||
# Read all the files in <source>/_layouts and create a new Layout object
|
# Read all the files in <source>/<layouts> and create a new Layout object
|
||||||
# with each one.
|
# with each one.
|
||||||
#
|
#
|
||||||
# Returns nothing.
|
# Returns nothing.
|
||||||
def read_layouts
|
def read_layouts
|
||||||
base = File.join(self.source, "_layouts")
|
base = File.join(self.source, self.config['layouts'])
|
||||||
return unless File.exists?(base)
|
return unless File.exists?(base)
|
||||||
entries = []
|
entries = []
|
||||||
Dir.chdir(base) { entries = filter_entries(Dir['*.*']) }
|
Dir.chdir(base) { entries = filter_entries(Dir['*.*']) }
|
||||||
|
|
Loading…
Reference in New Issue