jekyll-sitemap 0.5.1 → 0.6.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/History.markdown +13 -0
- data/README.md +8 -0
- data/jekyll-sitemap.gemspec +1 -1
- data/lib/sitemap.xml +14 -0
- data/spec/fixtures/_my_collection/custom_permalink.md +5 -0
- data/spec/fixtures/_my_collection/custom_permalink_2.md +5 -0
- data/spec/fixtures/_my_collection/test.html +4 -0
- data/spec/fixtures/_other_things/test2.html +4 -0
- data/spec/jekyll-sitemap_spec.rb +22 -1
- metadata +11 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1d60832fcf2200f1b281775fd70f65e6771ccc80
|
4
|
+
data.tar.gz: f7480fa2583546629192d7f30f65f065d8612be8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7b429f24897b934498d57a41cba03a712d4f7af0477e4e2e94690df1c5208e8e1ceac2ea15ef87d236caae4911f37866b463f1538491ebc2350beeff2b9e3038
|
7
|
+
data.tar.gz: 5bd5341beb212f978ca1d82c4928c5b19008de0321b4f031dd7f1c4e8903ae0ad2db3b44d8851477a01faa18a1632ffe2f1e9d9a193c8ca3a8f103c7b6898268
|
data/History.markdown
CHANGED
@@ -1,5 +1,18 @@
|
|
1
1
|
## HEAD
|
2
2
|
|
3
|
+
### Minor Enhancements
|
4
|
+
|
5
|
+
### Bug Fixes
|
6
|
+
|
7
|
+
## 0.6.0 / 2014-09-05
|
8
|
+
|
9
|
+
### Minor Enhancements
|
10
|
+
|
11
|
+
* Include custom collections in the sitemap. (#30)
|
12
|
+
* Use `post.last_modified_at` for post `<lastmod>` if available (#37)
|
13
|
+
|
14
|
+
## 0.5.1 / 2014-07-31
|
15
|
+
|
3
16
|
### Bug Fixes
|
4
17
|
|
5
18
|
* Explicitly set sitemap layout to `nil` to avoid warning (#32)
|
data/README.md
CHANGED
@@ -14,6 +14,14 @@ gems:
|
|
14
14
|
- jekyll-sitemap
|
15
15
|
```
|
16
16
|
|
17
|
+
If all gem plugins have the same `priority`, they will be executed in the
|
18
|
+
order they are required, generally. Thus, if you have other plugins which
|
19
|
+
generate content and store that content in `site.pages`, `site.posts`, or
|
20
|
+
`site.collections`, be sure to require `jekyll-sitemap` either *after*
|
21
|
+
those other gems if you *want* the sitemap to include the generated
|
22
|
+
content, or *before* those other gems if you *don't want* the sitemap to
|
23
|
+
include the generated content from the gems. (Programming is *hard*.)
|
24
|
+
|
17
25
|
## Developing locally
|
18
26
|
|
19
27
|
Use `script/bootstrap` to bootstrap your local development environment.
|
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.6.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/sitemap.xml
CHANGED
@@ -4,7 +4,11 @@
|
|
4
4
|
{% for post in site.posts %}{% unless post.sitemap == false %}
|
5
5
|
<url>
|
6
6
|
<loc>{{ site_url }}{{ post.url }}</loc>
|
7
|
+
{% if post.last_modified_at %}
|
8
|
+
<lastmod>{{ post.last_modified_at | date_to_xmlschema }}</lastmod>
|
9
|
+
{% else %}
|
7
10
|
<lastmod>{{ post.date | date_to_xmlschema }}</lastmod>
|
11
|
+
{% endif %}
|
8
12
|
<priority>0.8</priority>
|
9
13
|
</url>
|
10
14
|
{% endunless %}{% endfor %}
|
@@ -16,6 +20,16 @@
|
|
16
20
|
<priority>{% if post.url == "/" or post.url == "/index.html" %}1.0{% else %}0.7{% endif %}</priority>
|
17
21
|
</url>
|
18
22
|
{% endunless %}{% endfor %}
|
23
|
+
{% for collection in site.collections %}{% unless collection.last.output == false %}
|
24
|
+
{% for doc in collection.last.docs %}{% unless doc.sitemap == false %}
|
25
|
+
<url>
|
26
|
+
<loc>{{ site_url }}{{ doc.url | replace:'index.html','' }}</loc>
|
27
|
+
<lastmod>{{ site.time | date_to_xmlschema }}</lastmod>
|
28
|
+
<changefreq>weekly</changefreq>
|
29
|
+
<priority>{% if doc.url == "/" or doc.url == "/index.html" %}1.0{% else %}0.7{% endif %}</priority>
|
30
|
+
</url>
|
31
|
+
{% endunless %}{% endfor %}
|
32
|
+
{% endunless %}{% endfor %}
|
19
33
|
{% for file in site.html_files %}
|
20
34
|
<url>
|
21
35
|
<loc>{{ site_url }}{{ file.path }}</loc>
|
data/spec/jekyll-sitemap_spec.rb
CHANGED
@@ -5,7 +5,10 @@ describe(Jekyll::JekyllSitemap) do
|
|
5
5
|
Jekyll.configuration({
|
6
6
|
"source" => source_dir,
|
7
7
|
"destination" => dest_dir,
|
8
|
-
"url" => "http://example.org"
|
8
|
+
"url" => "http://example.org",
|
9
|
+
"collections" => { "my_collection" => { "output" => true },
|
10
|
+
"other_things" => { "output" => false }
|
11
|
+
}
|
9
12
|
})
|
10
13
|
end
|
11
14
|
let(:site) { Jekyll::Site.new(config) }
|
@@ -37,6 +40,24 @@ describe(Jekyll::JekyllSitemap) do
|
|
37
40
|
expect(contents).to match /<loc>http:\/\/example\.org\/2013\/12\/12\/dec-the-second\.html<\/loc>/
|
38
41
|
end
|
39
42
|
|
43
|
+
describe "collections" do
|
44
|
+
it "puts all the `output:true` into sitemap.xml" do
|
45
|
+
expect(contents).to match /<loc>http:\/\/example\.org\/my_collection\/test\.html<\/loc>/
|
46
|
+
end
|
47
|
+
|
48
|
+
it "doesn't put all the `output:false` into sitemap.xml" do
|
49
|
+
expect(contents).to_not match /<loc>http:\/\/example\.org\/other_things\/test2\.html<\/loc>/
|
50
|
+
end
|
51
|
+
|
52
|
+
it "remove 'index.html' for directory custom permalinks" do
|
53
|
+
expect(contents).to match /<loc>http:\/\/example\.org\/permalink\/<\/loc>/
|
54
|
+
end
|
55
|
+
|
56
|
+
it "doesn't remove filename for non-directory custom permalinks" do
|
57
|
+
expect(contents).to match /<loc>http:\/\/example\.org\/permalink\/unique_name\.html<\/loc>/
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
40
61
|
it "generates the correct date for each of the posts" do
|
41
62
|
expect(contents).to match /<lastmod>2014-03-04T00:00:00(-|\+)\d+:\d+<\/lastmod>/
|
42
63
|
expect(contents).to match /<lastmod>2014-03-02T00:00:00(-|\+)\d+:\d+<\/lastmod>/
|
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.6.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: 2014-
|
11
|
+
date: 2014-09-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -89,6 +89,10 @@ files:
|
|
89
89
|
- script/release
|
90
90
|
- spec/fixtures/_config.yml
|
91
91
|
- spec/fixtures/_layouts/some_default.html
|
92
|
+
- spec/fixtures/_my_collection/custom_permalink.md
|
93
|
+
- spec/fixtures/_my_collection/custom_permalink_2.md
|
94
|
+
- spec/fixtures/_my_collection/test.html
|
95
|
+
- spec/fixtures/_other_things/test2.html
|
92
96
|
- spec/fixtures/_posts/2013-12-12-dec-the-second.md
|
93
97
|
- spec/fixtures/_posts/2014-03-02-march-the-second.md
|
94
98
|
- spec/fixtures/_posts/2014-03-04-march-the-fourth.md
|
@@ -121,13 +125,17 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
121
125
|
version: '0'
|
122
126
|
requirements: []
|
123
127
|
rubyforge_project:
|
124
|
-
rubygems_version: 2.2.
|
128
|
+
rubygems_version: 2.2.0
|
125
129
|
signing_key:
|
126
130
|
specification_version: 4
|
127
131
|
summary: Automatically generate a sitemap.xml for your Jekyll site.
|
128
132
|
test_files:
|
129
133
|
- spec/fixtures/_config.yml
|
130
134
|
- spec/fixtures/_layouts/some_default.html
|
135
|
+
- spec/fixtures/_my_collection/custom_permalink.md
|
136
|
+
- spec/fixtures/_my_collection/custom_permalink_2.md
|
137
|
+
- spec/fixtures/_my_collection/test.html
|
138
|
+
- spec/fixtures/_other_things/test2.html
|
131
139
|
- spec/fixtures/_posts/2013-12-12-dec-the-second.md
|
132
140
|
- spec/fixtures/_posts/2014-03-02-march-the-second.md
|
133
141
|
- spec/fixtures/_posts/2014-03-04-march-the-fourth.md
|