jekyll-sitemap 0.8.0 → 0.8.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/History.markdown +5 -0
- data/README.md +1 -1
- data/jekyll-sitemap.gemspec +2 -1
- data/lib/jekyll-sitemap.rb +2 -1
- data/lib/sitemap.xml +6 -2
- data/script/cibuild +1 -0
- data/spec/fixtures/_config.yml +3 -1
- data/spec/fixtures/_posts/2015-01-18-jekyll-last-modified-at.md +4 -0
- data/spec/fixtures/jekyll-last-modified-at/page.html +4 -0
- data/spec/jekyll-sitemap_spec.rb +5 -0
- data/spec/test_jekyll-last-modified-at.rb +34 -0
- metadata +22 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bbd83b460e4d33dd73021c31e3f8fa37d22aca7a
|
4
|
+
data.tar.gz: a49f5dcd79358e134a530dadb29ccee683f66960
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b859857ceda6fde59bd558cbb15f4f29e6340caa3a2ff1ee47f60fe4678dfafffa988bfedec4b2cde4a99e0f23972111174cd24902478b3add82117dadf50c1c
|
7
|
+
data.tar.gz: 8456e32b951ce0735cfeee995b215bab90c81e2fbed109d8dbd40dff54cedd5a2c88883557ad30a9891b8a51c952b181a73fceeccb4256c92bf9b287c1ceab3a
|
data/History.markdown
CHANGED
data/README.md
CHANGED
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.8.
|
6
|
+
spec.version = "0.8.1"
|
7
7
|
spec.authors = ["GitHub, Inc."]
|
8
8
|
spec.email = "support@github.com"
|
9
9
|
spec.homepage = "https://github.com/jekyll/jekyll-sitemap"
|
@@ -15,6 +15,7 @@ Gem::Specification.new do |spec|
|
|
15
15
|
spec.require_paths = ["lib"]
|
16
16
|
|
17
17
|
spec.add_development_dependency "jekyll", "~> 2.0"
|
18
|
+
spec.add_development_dependency "jekyll-last-modified-at", "0.3.4"
|
18
19
|
spec.add_development_dependency "rspec", "~> 3.0"
|
19
20
|
spec.add_development_dependency "rake"
|
20
21
|
spec.add_development_dependency "bundler", "~> 1.6"
|
data/lib/jekyll-sitemap.rb
CHANGED
@@ -9,6 +9,7 @@ module Jekyll
|
|
9
9
|
|
10
10
|
class JekyllSitemap < Jekyll::Generator
|
11
11
|
safe true
|
12
|
+
priority :lowest
|
12
13
|
|
13
14
|
# Main plugin action, called by Jekyll-core
|
14
15
|
def generate(site)
|
@@ -52,7 +53,7 @@ module Jekyll
|
|
52
53
|
site_map.content = File.read(source_path)
|
53
54
|
site_map.data["layout"] = nil
|
54
55
|
site_map.render(Hash.new, @site.site_payload)
|
55
|
-
site_map.output.gsub(
|
56
|
+
site_map.output.gsub(/\s*\n+/, "\n")
|
56
57
|
end
|
57
58
|
|
58
59
|
# Checks if a sitemap already exists in the site source
|
data/lib/sitemap.xml
CHANGED
@@ -14,14 +14,18 @@
|
|
14
14
|
{% for page in site.html_pages %}{% unless page.sitemap == false %}
|
15
15
|
<url>
|
16
16
|
<loc>{{ page.url | replace:'/index.html','/' | prepend: site_url }}</loc>
|
17
|
-
|
17
|
+
{% if page.last_modified_at %}
|
18
|
+
<lastmod>{{ page.last_modified_at | date_to_xmlschema }}</lastmod>
|
19
|
+
{% endif %}
|
18
20
|
</url>
|
19
21
|
{% endunless %}{% endfor %}
|
20
22
|
{% for collection in site.collections %}{% unless collection.last.output == false %}
|
21
23
|
{% for doc in collection.last.docs %}{% unless doc.sitemap == false %}
|
22
24
|
<url>
|
23
25
|
<loc>{{ doc.url | replace:'/index.html','/' | prepend: site_url }}</loc>
|
24
|
-
|
26
|
+
{% if doc.last_modified_at %}
|
27
|
+
<lastmod>{{ doc.last_modified_at | date_to_xmlschema }}</lastmod>
|
28
|
+
{% endif %}
|
25
29
|
</url>
|
26
30
|
{% endunless %}{% endfor %}
|
27
31
|
{% endunless %}{% endfor %}
|
data/script/cibuild
CHANGED
data/spec/fixtures/_config.yml
CHANGED
data/spec/jekyll-sitemap_spec.rb
CHANGED
@@ -29,6 +29,11 @@ describe(Jekyll::JekyllSitemap) do
|
|
29
29
|
expect(File.exist?(dest_dir("sitemap.xml"))).to be_truthy
|
30
30
|
end
|
31
31
|
|
32
|
+
it "doesn't have multiple new lines or trailing whitespace" do
|
33
|
+
expect(contents).to_not match /\s+\n/
|
34
|
+
expect(contents).to_not match /\n{2,}/
|
35
|
+
end
|
36
|
+
|
32
37
|
it "puts all the pages in the sitemap.xml file" do
|
33
38
|
expect(contents).to match /<loc>http:\/\/example\.org\/<\/loc>/
|
34
39
|
expect(contents).to match /<loc>http:\/\/example\.org\/some-subfolder\/this-is-a-subpage\.html<\/loc>/
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'jekyll-last-modified-at'
|
3
|
+
|
4
|
+
describe(Jekyll::JekyllSitemap) do
|
5
|
+
let(:overrides) do
|
6
|
+
{
|
7
|
+
"source" => source_dir,
|
8
|
+
"destination" => dest_dir,
|
9
|
+
"url" => "http://example.org",
|
10
|
+
"collections" => {
|
11
|
+
"my_collection" => { "output" => true },
|
12
|
+
"other_things" => { "output" => false }
|
13
|
+
}
|
14
|
+
}
|
15
|
+
end
|
16
|
+
let(:config) do
|
17
|
+
Jekyll.configuration(overrides)
|
18
|
+
end
|
19
|
+
let(:site) { Jekyll::Site.new(config) }
|
20
|
+
let(:contents) { File.read(dest_dir("sitemap.xml")) }
|
21
|
+
before(:each) do
|
22
|
+
site.process
|
23
|
+
end
|
24
|
+
|
25
|
+
context "with jekyll-last-modified-at" do
|
26
|
+
it "correctly adds the modified time to the posts" do
|
27
|
+
expect(contents).to match /<loc>http:\/\/example.org\/2015\/01\/18\/jekyll-last-modified-at.html<\/loc>\s+<lastmod>2015-01-19T07:03:38\+00:00<\/lastmod>/
|
28
|
+
end
|
29
|
+
|
30
|
+
it "correctly adds the modified time to the pages" do
|
31
|
+
expect(contents).to match /<loc>http:\/\/example.org\/jekyll-last-modified-at\/page.html<\/loc>\s+<lastmod>2015-01-19T07:03:38\+00:00<\/lastmod>/
|
32
|
+
end
|
33
|
+
end
|
34
|
+
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.8.
|
4
|
+
version: 0.8.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GitHub, Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-03-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '2.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: jekyll-last-modified-at
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.3.4
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 0.3.4
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: rspec
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -97,15 +111,18 @@ files:
|
|
97
111
|
- spec/fixtures/_posts/2014-03-02-march-the-second.md
|
98
112
|
- spec/fixtures/_posts/2014-03-04-march-the-fourth.md
|
99
113
|
- spec/fixtures/_posts/2014-05-11-exclude-this-post.md
|
114
|
+
- spec/fixtures/_posts/2015-01-18-jekyll-last-modified-at.md
|
100
115
|
- spec/fixtures/feeds/atom.xml
|
101
116
|
- spec/fixtures/images/hubot.png
|
102
117
|
- spec/fixtures/index.html
|
118
|
+
- spec/fixtures/jekyll-last-modified-at/page.html
|
103
119
|
- spec/fixtures/some-subfolder/exclude-this-page.html
|
104
120
|
- spec/fixtures/some-subfolder/test_index.html
|
105
121
|
- spec/fixtures/some-subfolder/this-is-a-subfile.html
|
106
122
|
- spec/fixtures/some-subfolder/this-is-a-subpage.html
|
107
123
|
- spec/jekyll-sitemap_spec.rb
|
108
124
|
- spec/spec_helper.rb
|
125
|
+
- spec/test_jekyll-last-modified-at.rb
|
109
126
|
homepage: https://github.com/jekyll/jekyll-sitemap
|
110
127
|
licenses:
|
111
128
|
- MIT
|
@@ -141,12 +158,15 @@ test_files:
|
|
141
158
|
- spec/fixtures/_posts/2014-03-02-march-the-second.md
|
142
159
|
- spec/fixtures/_posts/2014-03-04-march-the-fourth.md
|
143
160
|
- spec/fixtures/_posts/2014-05-11-exclude-this-post.md
|
161
|
+
- spec/fixtures/_posts/2015-01-18-jekyll-last-modified-at.md
|
144
162
|
- spec/fixtures/feeds/atom.xml
|
145
163
|
- spec/fixtures/images/hubot.png
|
146
164
|
- spec/fixtures/index.html
|
165
|
+
- spec/fixtures/jekyll-last-modified-at/page.html
|
147
166
|
- spec/fixtures/some-subfolder/exclude-this-page.html
|
148
167
|
- spec/fixtures/some-subfolder/test_index.html
|
149
168
|
- spec/fixtures/some-subfolder/this-is-a-subfile.html
|
150
169
|
- spec/fixtures/some-subfolder/this-is-a-subpage.html
|
151
170
|
- spec/jekyll-sitemap_spec.rb
|
152
171
|
- spec/spec_helper.rb
|
172
|
+
- spec/test_jekyll-last-modified-at.rb
|