bugfix for permalinks
Signed-off-by: Nick Quaranto <nick@quaran.to>
This commit is contained in:
parent
f1c8e388e4
commit
176c047ff1
|
@ -26,11 +26,13 @@ Feature: Fancy permalinks
|
||||||
Scenario: Use pretty permalink schema for pages
|
Scenario: Use pretty permalink schema for pages
|
||||||
Given I have an "index.html" page that contains "Totally index"
|
Given I have an "index.html" page that contains "Totally index"
|
||||||
And I have an "awesome.html" page that contains "Totally awesome"
|
And I have an "awesome.html" page that contains "Totally awesome"
|
||||||
|
And I have an "sitemap.xml" page that contains "Totally uhm, sitemap"
|
||||||
And I have a configuration file with "permalink" set to "pretty"
|
And I have a configuration file with "permalink" set to "pretty"
|
||||||
When I run jekyll
|
When I run jekyll
|
||||||
Then the _site directory should exist
|
Then the _site directory should exist
|
||||||
And I should see "Totally index" in "_site/index.html"
|
And I should see "Totally index" in "_site/index.html"
|
||||||
And I should see "Totally awesome" in "_site/awesome/index.html"
|
And I should see "Totally awesome" in "_site/awesome/index.html"
|
||||||
|
And I should see "Totally uhm, sitemap" in "_site/sitemap.xml"
|
||||||
|
|
||||||
Scenario: Use custom permalink schema with prefix
|
Scenario: Use custom permalink schema with prefix
|
||||||
Given I have a _posts directory
|
Given I have a _posts directory
|
||||||
|
|
|
@ -57,7 +57,7 @@ module Jekyll
|
||||||
def url
|
def url
|
||||||
return permalink if permalink
|
return permalink if permalink
|
||||||
|
|
||||||
@url ||= template.gsub(':name', basename)
|
@url ||= (ext == '.html') ? template.gsub(':name', basename) : "/#{name}"
|
||||||
end
|
end
|
||||||
|
|
||||||
# Extract information from the page filename
|
# Extract information from the page filename
|
||||||
|
@ -91,7 +91,7 @@ module Jekyll
|
||||||
|
|
||||||
# The url needs to be unescaped in order to preserve the correct filename
|
# The url needs to be unescaped in order to preserve the correct filename
|
||||||
path = File.join(dest, CGI.unescape(self.url))
|
path = File.join(dest, CGI.unescape(self.url))
|
||||||
if self.url[/\.html$/].nil?
|
if self.ext == '.html' && self.url[/\.html$/].nil?
|
||||||
FileUtils.mkdir_p(path)
|
FileUtils.mkdir_p(path)
|
||||||
path = File.join(path, "index.html")
|
path = File.join(path, "index.html")
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
---
|
||||||
|
layout: nil
|
||||||
|
---
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<urlset
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>http://example.com</loc>
|
||||||
|
<lastmod>{{ site.time | date_to_xmlschema }}</lastmod>
|
||||||
|
<changefreq>daily</changefreq>
|
||||||
|
<priority>1.0</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
{% for post in site.posts %}
|
||||||
|
<url>
|
||||||
|
<loc>http://example.com/{{ post.url }}/</loc>
|
||||||
|
<lastmod>{{ site.time }}</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.2</priority>
|
||||||
|
</url>
|
||||||
|
{% endfor %}
|
||||||
|
</urlset>
|
|
@ -81,6 +81,17 @@ class TestPage < Test::Unit::TestCase
|
||||||
assert File.exists?(File.join(dest_dir, 'contacts', 'index.html'))
|
assert File.exists?(File.join(dest_dir, 'contacts', 'index.html'))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
should "write properly with extension different from html" do
|
||||||
|
page = setup_page("sitemap.xml")
|
||||||
|
page.site.permalink_style = :pretty
|
||||||
|
do_render(page)
|
||||||
|
page.write(dest_dir)
|
||||||
|
|
||||||
|
assert_equal("/sitemap.xml", page.url)
|
||||||
|
assert_nil(page.url[/\.html$/])
|
||||||
|
assert File.directory?(dest_dir)
|
||||||
|
assert File.exists?(File.join(dest_dir,'sitemap.xml'))
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue