jekyll-make-sitemap 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cc834a187929e08532112c3848a7ebd82681cb91a8116c32d2408edccef635e8
4
- data.tar.gz: c4c9a7013d3005a4963631d0f09f06f1fc2529fbbeb5a1fb43dc93c838719de7
3
+ metadata.gz: 8f040a8c5737b7efc45e9e8ab37a40d1543cc16f10394e6d6cc4c92721fbbf98
4
+ data.tar.gz: 06d8e64bd564e9673d34143f564ff2735863fc17708e0a444006c4026baf6f03
5
5
  SHA512:
6
- metadata.gz: a8b538b1d859f9eb1716ebe0d25ceeb74b25e62ce67ee3e82fbaf67f9a2054d35f8ff4137d8207abcc6dd669c3a6318697f68749f8d722cc02425c62e2a9308c
7
- data.tar.gz: c67eca320106f61455adc6ef733dca69e4ab17bfdefa9ec7ff5c5273ce551475899add19a3aac356f9a85a0f08fdd21e61b588658298dd0dc9e8b7ebac4d30ac
6
+ metadata.gz: 83962694d35aa068db6b71c13a5e383a0cedafea095f90e73635edb5878fbfc5f1670295c8adee9129eaaf28d884e6cb7385493042b9a9e8a148f995c86f06e4
7
+ data.tar.gz: b7258225a86e8c0e5a1ca744b8bbc25e920955ff24e4a9ee092f5ed6db280b2c489196583ded522eeb506525374f342b97236b273931e27c6ab2ea0b898a80cd
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- jekyll-make-sitemap (1.0.0)
4
+ jekyll-make-sitemap (1.0.1)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/README.md CHANGED
@@ -21,6 +21,10 @@ end
21
21
  ## Configuration
22
22
  In `_config.yml`
23
23
  ``` yaml
24
+ ...
25
+ plugins:
26
+ - jekyll-make-sitemap
27
+ ...
24
28
  jekyll-make-sitemap:
25
29
  pages: true # Default: true
26
30
  posts: true # Default: true
@@ -28,6 +32,9 @@ jekyll-make-sitemap:
28
32
  - collection_1 # include items from collection_1 in sitemap
29
33
  ```
30
34
 
35
+ ## Exceptions
36
+ To exclude a page or post, assign it the `sitemap-exclude` tag
37
+
31
38
  ## License
32
39
 
33
40
  The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
@@ -1,8 +1,8 @@
1
- require_relative 'lib/jekyll/make-sitemap/version'
1
+ require_relative 'lib/jekyll/make/sitemap/version'
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "jekyll-make-sitemap"
5
- spec.version = Jekyll::MakeSitemap::VERSION
5
+ spec.version = Jekyll::Make::Sitemap::VERSION
6
6
  spec.authors = ["Sean Hofer"]
7
7
  spec.email = ["me@seanhofer.com"]
8
8
 
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  # Specify which files should be added to the gem when it is released.
19
19
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
20
20
  spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
21
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) or f.match(/^jekyll-make-sitemap-\d\.\d\.\d\.gem$/) }
21
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) or f.match(/^jekyll-make-sitemap-\d\.\d\.\d\.gem$/) }
22
22
  end
23
23
  spec.bindir = "exe"
24
24
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
@@ -0,0 +1,45 @@
1
+ require 'jekyll'
2
+
3
+ module Jekyll
4
+ module Make
5
+ class Sitemap
6
+ class Error < StandardError; end
7
+ class << self
8
+ def generate(site, payload)
9
+ if payload.jekyll.environment == "production"
10
+ default_config = { 'pages' => true, 'posts' => true }
11
+ file = File.open("sitemap.txt", "w+")
12
+ config = site.config.has_key?("jekyll-make-sitemap") ? site.config["jekyll-make-sitemap"] : default_config
13
+ baseurl = site.config["url"]
14
+ collections = config.has_key?("collections") ? ["collections"] : []
15
+
16
+ unless config.has_key?("pages") && config["pages"] == false
17
+ payload.site.pages.each do |page| process(file, page, baseurl) end
18
+ end
19
+ unless config.has_key?("posts") && config["posts"] == false
20
+ payload.site.posts.each do |post| process(file, post, baseurl) end
21
+ end
22
+ collections.each do |col|
23
+ site.collections[col].docs.each do |post| process(file, post, baseurl) end
24
+ end
25
+
26
+ file.close()
27
+ end
28
+ end
29
+ def process(file, doc, baseurl)
30
+ if !((doc.data.has_key?("tags") && doc.data["tags"].include?("sitemap-exclude")) || !doc.path.end_with?(".md"))
31
+ file.write "#{baseurl}#{doc.url}\n"
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+
39
+ Jekyll::Hooks.register :site, :after_init do |site|
40
+ File.new("sitemap.txt", "w")
41
+ end
42
+
43
+ Jekyll::Hooks.register :site, :pre_render do |site, payload|
44
+ Jekyll::Make::Sitemap.generate(site, payload)
45
+ end
@@ -0,0 +1,7 @@
1
+ module Jekyll
2
+ module Make
3
+ class Sitemap
4
+ VERSION = "1.0.1"
5
+ end
6
+ end
7
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-make-sitemap
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Hofer
@@ -28,8 +28,8 @@ files:
28
28
  - bin/console
29
29
  - bin/setup
30
30
  - jekyll-make-sitemap.gemspec
31
- - lib/jekyll/make-sitemap.rb
32
- - lib/jekyll/make-sitemap/version.rb
31
+ - lib/jekyll/make/sitemap.rb
32
+ - lib/jekyll/make/sitemap/version.rb
33
33
  homepage: https://github.com/hofers/jekyll-make-sitemap
34
34
  licenses:
35
35
  - MIT
@@ -1,42 +0,0 @@
1
- require "jekyll"
2
-
3
- module Jekyll
4
- class MakeSitemap
5
- class << self
6
- def generate(site, payload)
7
- if payload.jekyll.environment == "production"
8
- default_config = { 'pages' => true, 'posts' => true }
9
- file = File.open("sitemap.txt", "w+")
10
- config = site.config.has_key?("jekyll-make-sitemap") ? site.config["jekyll-make-sitemap"] : default_config
11
- baseurl = site.config["url"]
12
- collections = config.has_key?("collections") ? ["collections"] : []
13
-
14
- unless config.has_key?("pages") && config["pages"] == false
15
- payload.site.pages.each do |page| process(file, page, baseurl) end
16
- end
17
- unless config.has_key?("posts") && config["posts"] == false
18
- payload.site.posts.each do |post| process(file, post, baseurl) end
19
- end
20
- collections.each do |col|
21
- site.collections[col].docs.each do |post| process(file, post, baseurl) end
22
- end
23
-
24
- file.close()
25
- end
26
- end
27
- def process(file, doc, baseurl)
28
- if !((doc.data.has_key?("tags") && doc.data["tags"].include?("sitemap-exclude")) || !doc.path.end_with?(".md"))
29
- file.write "#{baseurl}#{doc.url}\n"
30
- end
31
- end
32
- end
33
- end
34
- end
35
-
36
- Jekyll::Hooks.register :site, :after_init do |site|
37
- File.new("sitemap.txt", "w")
38
- end
39
-
40
- Jekyll::Hooks.register :site, :pre_render do |site, payload|
41
- Jekyll::MakeSitemap.generate(site, payload)
42
- end
@@ -1,5 +0,0 @@
1
- module Jekyll
2
- class MakeSitemap
3
- VERSION = "1.0.0"
4
- end
5
- end