jekyll-sitemap 0.9.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +28 -17
- data/Gemfile +1 -3
- data/History.markdown +8 -0
- data/jekyll-sitemap.gemspec +1 -1
- data/lib/jekyll-sitemap.rb +9 -3
- data/lib/sitemap.xml +6 -6
- data/script/bootstrap +1 -1
- data/script/cibuild +1 -1
- data/spec/fixtures/_my_collection/this-has-non-standard-chars.md +5 -0
- data/spec/fixtures/some-subfolder/htm.htm +1 -0
- data/spec/fixtures/some-subfolder/xhtml.xhtml +1 -0
- data/spec/jekyll-sitemap_spec.rb +31 -0
- metadata +9 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4f288537895b8ef8244472fe563468be566d1553
|
4
|
+
data.tar.gz: 13d121259146c8ee408b5d1357000f1991b4cd55
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 08b221f3b82a57229d71eeb1bbaaa73a8437de679a89170d794ba836d57766e2b5ff49b4219d61b7e3817923c702d01f607421ef098843e95de15714fd72ff66
|
7
|
+
data.tar.gz: 66012f77eb83fa20d36c34198a3b1b75fc34fd8ee13e1ab12ad4c2c84dbda160f8fceaf3e8af5b457578be742cfa4e26bc069df55194dcc2e0dad28fec87ab6d
|
data/.travis.yml
CHANGED
@@ -1,23 +1,34 @@
|
|
1
|
-
language: ruby
|
2
|
-
before_script: bundle update
|
3
|
-
script: "script/cibuild"
|
4
1
|
sudo: false
|
5
|
-
|
6
|
-
|
2
|
+
language: ruby
|
3
|
+
rvm:
|
4
|
+
- 2.0
|
5
|
+
- 2.1
|
6
|
+
- 2.2
|
7
7
|
matrix:
|
8
8
|
include:
|
9
9
|
- # GitHub Pages
|
10
10
|
rvm: 2.1.1
|
11
|
-
env:
|
12
|
-
-
|
13
|
-
|
14
|
-
env: JEKYLL_VERSION=2.0
|
15
|
-
|
16
|
-
rvm:
|
17
|
-
- 2.2
|
18
|
-
- 2.1
|
19
|
-
- 2.0
|
11
|
+
env: JEKYLL_VERSION=2.4.0
|
12
|
+
- rvm: 1.9.3
|
13
|
+
env: JEKYLL_VERSION=2.5
|
20
14
|
env:
|
21
|
-
|
22
|
-
|
23
|
-
|
15
|
+
matrix:
|
16
|
+
- JEKYLL_VERSION=2.5
|
17
|
+
- JEKYLL_VERSION=3.0
|
18
|
+
branches:
|
19
|
+
only:
|
20
|
+
- master
|
21
|
+
install:
|
22
|
+
- travis_retry script/bootstrap
|
23
|
+
script: script/cibuild
|
24
|
+
notifications:
|
25
|
+
irc:
|
26
|
+
on_success: change
|
27
|
+
on_failure: change
|
28
|
+
channels:
|
29
|
+
- irc.freenode.org#jekyll
|
30
|
+
template:
|
31
|
+
- '%{repository}#%{build_number} %{message} %{build_url}'
|
32
|
+
email:
|
33
|
+
on_success: never
|
34
|
+
on_failure: change
|
data/Gemfile
CHANGED
data/History.markdown
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
## 0.10.0 / 2016-01-05
|
2
|
+
|
3
|
+
* URI encode sitemap URLs (#85)
|
4
|
+
* Do not include 'posts' collection twice (#92)
|
5
|
+
* Fix GitHub Pages tests to test just the Jekyll version (#87)
|
6
|
+
* Allow HTML files to end with `.xhtml` or `.htm` (#93)
|
7
|
+
* Simplify whitespace regex for stripping whitespace (#96)
|
8
|
+
|
1
9
|
## 0.9.0 / 2015-09-21
|
2
10
|
|
3
11
|
* Test against Jekyll 2, 3, and the GitHub Pages version. (#83)
|
data/jekyll-sitemap.gemspec
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = "jekyll-sitemap"
|
5
5
|
spec.summary = "Automatically generate a sitemap.xml for your Jekyll site."
|
6
|
-
spec.version = "0.
|
6
|
+
spec.version = "0.10.0"
|
7
7
|
spec.authors = ["GitHub, Inc."]
|
8
8
|
spec.email = "support@github.com"
|
9
9
|
spec.homepage = "https://github.com/jekyll/jekyll-sitemap"
|
data/lib/jekyll-sitemap.rb
CHANGED
@@ -23,9 +23,15 @@ module Jekyll
|
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
26
|
+
HTML_EXTENSIONS = %W(
|
27
|
+
.html
|
28
|
+
.xhtml
|
29
|
+
.htm
|
30
|
+
)
|
31
|
+
|
26
32
|
# Array of all non-jekyll site files with an HTML extension
|
27
33
|
def html_files
|
28
|
-
@site.static_files.select { |file|
|
34
|
+
@site.static_files.select { |file| HTML_EXTENSIONS.include? file.extname }
|
29
35
|
end
|
30
36
|
|
31
37
|
# Path to sitemap.xml template file
|
@@ -52,8 +58,8 @@ module Jekyll
|
|
52
58
|
site_map = PageWithoutAFile.new(@site, File.dirname(__FILE__), "", "sitemap.xml")
|
53
59
|
site_map.content = File.read(source_path)
|
54
60
|
site_map.data["layout"] = nil
|
55
|
-
site_map.render(
|
56
|
-
site_map.output.gsub(/\s
|
61
|
+
site_map.render({}, @site.site_payload)
|
62
|
+
site_map.output.gsub(/\s{2,}/, "\n")
|
57
63
|
end
|
58
64
|
|
59
65
|
# Checks if a sitemap already exists in the site source
|
data/lib/sitemap.xml
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
{% capture site_url %}{% if site.url %}{{ site.url | append: site.baseurl }}{% else %}{{ site.github.url }}{% endif %}{% endcapture %}
|
4
4
|
{% for post in site.posts %}{% unless post.sitemap == false %}
|
5
5
|
<url>
|
6
|
-
<loc>{{ post.url | prepend: site_url }}</loc>
|
6
|
+
<loc>{{ post.url | prepend: site_url | uri_escape }}</loc>
|
7
7
|
{% if post.last_modified_at %}
|
8
8
|
<lastmod>{{ post.last_modified_at | date_to_xmlschema }}</lastmod>
|
9
9
|
{% else %}
|
@@ -13,16 +13,16 @@
|
|
13
13
|
{% endunless %}{% endfor %}
|
14
14
|
{% for page in site.html_pages %}{% unless page.sitemap == false %}
|
15
15
|
<url>
|
16
|
-
<loc>{{ page.url | replace:'/index.html','/' | prepend: site_url }}</loc>
|
16
|
+
<loc>{{ page.url | replace:'/index.html','/' | prepend: site_url | uri_escape }}</loc>
|
17
17
|
{% if page.last_modified_at %}
|
18
18
|
<lastmod>{{ page.last_modified_at | date_to_xmlschema }}</lastmod>
|
19
19
|
{% endif %}
|
20
20
|
</url>
|
21
21
|
{% endunless %}{% endfor %}
|
22
|
-
{% for collection in site.collections %}{% unless collection.last.output == false or collection.output == false %}
|
22
|
+
{% for collection in site.collections %}{% unless collection.last.output == false or collection.output == false or collection.label == 'posts' %}
|
23
23
|
{% for doc in collection.last.docs %}{% unless doc.sitemap == false %}
|
24
24
|
<url>
|
25
|
-
<loc>{{ doc.url | replace:'/index.html','/' | prepend: site_url }}</loc>
|
25
|
+
<loc>{{ doc.url | replace:'/index.html','/' | prepend: site_url | uri_escape }}</loc>
|
26
26
|
{% if doc.last_modified_at %}
|
27
27
|
<lastmod>{{ doc.last_modified_at | date_to_xmlschema }}</lastmod>
|
28
28
|
{% endif %}
|
@@ -30,7 +30,7 @@
|
|
30
30
|
{% endunless %}{% endfor %}
|
31
31
|
{% for doc in collection.docs %}{% unless doc.sitemap == false %}
|
32
32
|
<url>
|
33
|
-
<loc>{{ doc.url | replace:'/index.html','/' | prepend: site_url }}</loc>
|
33
|
+
<loc>{{ doc.url | replace:'/index.html','/' | prepend: site_url | uri_escape }}</loc>
|
34
34
|
{% if doc.last_modified_at %}
|
35
35
|
<lastmod>{{ doc.last_modified_at | date_to_xmlschema }}</lastmod>
|
36
36
|
{% endif %}
|
@@ -39,7 +39,7 @@
|
|
39
39
|
{% endunless %}{% endfor %}
|
40
40
|
{% for file in site.html_files %}
|
41
41
|
<url>
|
42
|
-
<loc>{{ file.path | prepend: site_url }}</loc>
|
42
|
+
<loc>{{ file.path | prepend: site_url | uri_escape }}</loc>
|
43
43
|
<lastmod>{{ file.modified_time | date_to_xmlschema }}</lastmod>
|
44
44
|
</url>
|
45
45
|
{% endfor %}
|
data/script/bootstrap
CHANGED
data/script/cibuild
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
This file has an .htm extension, and should be included in the sitemap
|
@@ -0,0 +1 @@
|
|
1
|
+
This file has an .xhtml extension, and should be included in the sitemap
|
data/spec/jekyll-sitemap_spec.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
1
3
|
require 'spec_helper'
|
2
4
|
|
3
5
|
describe(Jekyll::JekyllSitemap) do
|
@@ -65,6 +67,10 @@ describe(Jekyll::JekyllSitemap) do
|
|
65
67
|
it "doesn't remove filename for non-directory custom permalinks" do
|
66
68
|
expect(contents).to match /<loc>http:\/\/example\.org\/permalink\/unique_name\.html<\/loc>/
|
67
69
|
end
|
70
|
+
|
71
|
+
it "performs URI encoding of site paths" do
|
72
|
+
expect(contents).to match /<loc>http:\/\/example\.org\/this%20url%20has%20an%20%C3%BCmlaut<\/loc>/
|
73
|
+
end
|
68
74
|
end
|
69
75
|
|
70
76
|
it "generates the correct date for each of the posts" do
|
@@ -82,6 +88,11 @@ describe(Jekyll::JekyllSitemap) do
|
|
82
88
|
expect(contents).not_to match /<loc>http:\/\/example\.org\/feeds\/atom\.xml<\/loc>/
|
83
89
|
end
|
84
90
|
|
91
|
+
it "does include assets or any static files with .xhtml and .htm extensions" do
|
92
|
+
expect(contents).to match /\/some-subfolder\/xhtml\.xhtml/
|
93
|
+
expect(contents).to match /\/some-subfolder\/htm\.htm/
|
94
|
+
end
|
95
|
+
|
85
96
|
it "does not include posts that have set 'sitemap: false'" do
|
86
97
|
expect(contents).not_to match /\/exclude-this-post\.html<\/loc>/
|
87
98
|
end
|
@@ -94,6 +105,10 @@ describe(Jekyll::JekyllSitemap) do
|
|
94
105
|
expect(contents).to match /\/this-is-a-subfile\.html<\/loc>\s+<lastmod>\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(-|\+)\d{2}:\d{2}<\/lastmod>/
|
95
106
|
end
|
96
107
|
|
108
|
+
it "includes the correct number of items" do
|
109
|
+
expect(contents.scan(/(?=<url>)/).count).to eql 15
|
110
|
+
end
|
111
|
+
|
97
112
|
context "with a baseurl" do
|
98
113
|
let(:config) do
|
99
114
|
Jekyll.configuration(Jekyll::Utils.deep_merge_hashes(overrides, {"baseurl" => "/bass"}))
|
@@ -118,4 +133,20 @@ describe(Jekyll::JekyllSitemap) do
|
|
118
133
|
expect(contents).to match /<loc>http:\/\/example\.org\/bass\/2013\/12\/12\/dec-the-second\.html<\/loc>/
|
119
134
|
end
|
120
135
|
end
|
136
|
+
|
137
|
+
context "with site url that needs URI encoding" do
|
138
|
+
let(:config) do
|
139
|
+
Jekyll.configuration(Jekyll::Utils.deep_merge_hashes(overrides, {"url" => "http://has ümlaut.org"}))
|
140
|
+
end
|
141
|
+
|
142
|
+
it "performs URI encoding of site url" do
|
143
|
+
expect(contents).to match /<loc>http:\/\/has%20%C3%BCmlaut\.org\/<\/loc>/
|
144
|
+
expect(contents).to match /<loc>http:\/\/has%20%C3%BCmlaut\.org\/some-subfolder\/this-is-a-subpage\.html<\/loc>/
|
145
|
+
expect(contents).to match /<loc>http:\/\/has%20%C3%BCmlaut\.org\/2014\/03\/04\/march-the-fourth\.html<\/loc>/
|
146
|
+
end
|
147
|
+
|
148
|
+
it "does not double-escape site url" do
|
149
|
+
expect(contents).to_not match /%25/
|
150
|
+
end
|
151
|
+
end
|
121
152
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-sitemap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GitHub, Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-01-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -106,6 +106,7 @@ files:
|
|
106
106
|
- spec/fixtures/_my_collection/custom_permalink.md
|
107
107
|
- spec/fixtures/_my_collection/custom_permalink_2.md
|
108
108
|
- spec/fixtures/_my_collection/test.html
|
109
|
+
- spec/fixtures/_my_collection/this-has-non-standard-chars.md
|
109
110
|
- spec/fixtures/_other_things/test2.html
|
110
111
|
- spec/fixtures/_posts/2013-12-12-dec-the-second.md
|
111
112
|
- spec/fixtures/_posts/2014-03-02-march-the-second.md
|
@@ -117,9 +118,11 @@ files:
|
|
117
118
|
- spec/fixtures/index.html
|
118
119
|
- spec/fixtures/jekyll-last-modified-at/page.html
|
119
120
|
- spec/fixtures/some-subfolder/exclude-this-page.html
|
121
|
+
- spec/fixtures/some-subfolder/htm.htm
|
120
122
|
- spec/fixtures/some-subfolder/test_index.html
|
121
123
|
- spec/fixtures/some-subfolder/this-is-a-subfile.html
|
122
124
|
- spec/fixtures/some-subfolder/this-is-a-subpage.html
|
125
|
+
- spec/fixtures/some-subfolder/xhtml.xhtml
|
123
126
|
- spec/jekyll-sitemap_spec.rb
|
124
127
|
- spec/spec_helper.rb
|
125
128
|
- spec/test_jekyll-last-modified-at.rb
|
@@ -143,7 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
143
146
|
version: '0'
|
144
147
|
requirements: []
|
145
148
|
rubyforge_project:
|
146
|
-
rubygems_version: 2.
|
149
|
+
rubygems_version: 2.5.1
|
147
150
|
signing_key:
|
148
151
|
specification_version: 4
|
149
152
|
summary: Automatically generate a sitemap.xml for your Jekyll site.
|
@@ -153,6 +156,7 @@ test_files:
|
|
153
156
|
- spec/fixtures/_my_collection/custom_permalink.md
|
154
157
|
- spec/fixtures/_my_collection/custom_permalink_2.md
|
155
158
|
- spec/fixtures/_my_collection/test.html
|
159
|
+
- spec/fixtures/_my_collection/this-has-non-standard-chars.md
|
156
160
|
- spec/fixtures/_other_things/test2.html
|
157
161
|
- spec/fixtures/_posts/2013-12-12-dec-the-second.md
|
158
162
|
- spec/fixtures/_posts/2014-03-02-march-the-second.md
|
@@ -164,9 +168,11 @@ test_files:
|
|
164
168
|
- spec/fixtures/index.html
|
165
169
|
- spec/fixtures/jekyll-last-modified-at/page.html
|
166
170
|
- spec/fixtures/some-subfolder/exclude-this-page.html
|
171
|
+
- spec/fixtures/some-subfolder/htm.htm
|
167
172
|
- spec/fixtures/some-subfolder/test_index.html
|
168
173
|
- spec/fixtures/some-subfolder/this-is-a-subfile.html
|
169
174
|
- spec/fixtures/some-subfolder/this-is-a-subpage.html
|
175
|
+
- spec/fixtures/some-subfolder/xhtml.xhtml
|
170
176
|
- spec/jekyll-sitemap_spec.rb
|
171
177
|
- spec/spec_helper.rb
|
172
178
|
- spec/test_jekyll-last-modified-at.rb
|