simple_sitemap_generator 0.1.0 → 0.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3a3cc4108d39a8f1bf68c5d66b4bb74240c931b0
4
- data.tar.gz: 92c492af10be056a71c8f6b5bd816c13010f504f
3
+ metadata.gz: 5323e2b99f39639cd561858feb085f1026c193a5
4
+ data.tar.gz: e9f6f2bfaeba71a74f3251bb2af8e948975151c6
5
5
  SHA512:
6
- metadata.gz: 2b72caf6b9b8f73362e007dcfedac82a677c556dc29728b5dd8e37dc9084964ae3c35d1fa152acadd585372d7e3344632a85f0e97b0516599cac54287ab65580
7
- data.tar.gz: 56cc055f0e6466fe8418abfde11092c2250772734fd1c04b70561a9afe93f3246998ee4ee16c75a88da1017c6e9fee237df49a24e19d4e80b93e8467190ff35e
6
+ metadata.gz: 3845bda32bf2528e89047ae93b444562b73f6467bb75f3a787038234b02e0a57a6c73e38dfac8858e29f857df3889d7f51c2afe8879efc89534ca71799e085f6
7
+ data.tar.gz: d044fd399ee7279b0a4deaded581354529e5cb10f984404f54278139ffcb2bfd5e81f6ad778dc10c1dd36b233235c83377a63d13080da5c4962ef8e965033e78
data/README.md CHANGED
@@ -1,8 +1,11 @@
1
1
  # SimpleSitemapGenerator
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/simple_sitemap_generator`. To experiment with that code, run `bin/console` for an interactive prompt.
3
+ SimpleSitemapGenerator is a gem for Ruby on Rails to generate sitemap.xml.
4
4
 
5
- TODO: Delete this and the text above, and describe your gem
5
+ ## Features
6
+
7
+ * Generates `sitemap.xml` **dynamically** by using `config/routes.rb`.
8
+ * Enable to respond **without static file** (eg. `public/sitemap.xml`).
6
9
 
7
10
  ## Installation
8
11
 
@@ -21,8 +24,55 @@ Or install it yourself as:
21
24
  $ gem install simple_sitemap_generator
22
25
 
23
26
  ## Usage
27
+ All you have to do is following.
28
+
29
+ ##### config/routes.rb
30
+ ```ruby
31
+ get '/sitemap.xml', action: :sitemap, controller: :sitemap
32
+ ```
33
+
34
+ ##### app/controllers/sitemap_controller.rb
35
+ ```ruby
36
+ class SitemapController < BaseController
37
+ def sitemap
38
+ send_data(SimpleSitemapGenerator::Sitemap.generate_xml, type: 'text/xml')
39
+ end
40
+ end
41
+ ```
42
+
43
+ ##### config/initializers/sitemap.rb
44
+ ```ruby
45
+ # Set the host name for URL creation
46
+ SimpleSitemapGenerator::Sitemap.host = 'https://www.example.com'
47
+
48
+ # [optional] Set default parameter
49
+ SimpleSitemapGenerator::Sitemap.default_lastmod = Time.current
50
+ SimpleSitemapGenerator::Sitemap.default_priority = 0.5
51
+ SimpleSitemapGenerator::Sitemap.default_changefreq = 'daily'
52
+
53
+ # [optional] Set additional_paths
54
+ # NOTE: Output includes only static url (eg. '/users'), does not include dynamic url (eg. '/users/123').
55
+ # You should specify url if you want.
56
+ SimpleSitemapGenerator::Sitemap.additional_paths = [
57
+ '/users/123',
58
+ *Article.published.map{ |a| "/articles/#{a.id}"},
59
+ ]
60
+
61
+ # [optional] Set inappropriate paths for sitemap.xml by regular expression
62
+ SimpleSitemapGenerator::Sitemap.inappropriate_paths += [
63
+ /^\/admin/,
64
+ /^\/mypage/,
65
+ ]
66
+
67
+ # [optional] Set parameter to specific path if you want
68
+ SimpleSitemapGenerator::Sitemap.options = {
69
+ '/': {
70
+ priority: 1.0,
71
+ changefreq: 'daily',
72
+ },
73
+ }
74
+ ```
24
75
 
25
- TODO: Write usage instructions here
26
76
 
27
77
  ## Development
28
78
 
@@ -32,7 +82,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
32
82
 
33
83
  ## Contributing
34
84
 
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/simple_sitemap_generator. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
85
+ Bug reports and pull requests are welcome on GitHub at https://github.com/nullnull/simple_sitemap_generator. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
36
86
 
37
87
  ## License
38
88
 
@@ -1,8 +1,8 @@
1
1
  module SimpleSitemapGenerator
2
- VERSION = '0.1.0'.freeze
2
+ VERSION = '0.2.0'.freeze
3
3
 
4
4
  class Generator
5
- attr_accessor :host, :default_lastmod, :default_changefreq, :default_priority, :inappropriate_paths, :options
5
+ attr_accessor :host, :default_lastmod, :default_changefreq, :default_priority, :inappropriate_paths, :options, :additional_paths
6
6
 
7
7
  def generate_xml
8
8
  paths.map { |path| {
@@ -25,6 +25,7 @@ module SimpleSitemapGenerator
25
25
  ]
26
26
  @host = ''
27
27
  @options = {}
28
+ @additional_paths = []
28
29
  end
29
30
 
30
31
  private
@@ -42,11 +43,12 @@ module SimpleSitemapGenerator
42
43
  end
43
44
 
44
45
  def paths
45
- routes.select{ |route| route.verb == 'GET' }
46
+ paths = routes.select{ |route| route.verb == 'GET' }
46
47
  .reject{ |route| redirect_path?(route) }
47
48
  .map { |route| route.path.spec.to_s.gsub('(.:format)', '') }
48
49
  .reject{ |path| inappropriate_path?(path) }
49
50
  .uniq
51
+ paths + additional_paths
50
52
  end
51
53
 
52
54
  def redirect_path?(route)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple_sitemap_generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Katsuma Narisawa
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-09-30 00:00:00.000000000 Z
11
+ date: 2017-10-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -82,6 +82,7 @@ files:
82
82
  - bin/console
83
83
  - bin/setup
84
84
  - lib/simple_sitemap_generator.rb
85
+ - pkg/simple_sitemap_generator-0.1.0.gem
85
86
  - simple_sitemap_generator.gemspec
86
87
  homepage: https://github.com/nullnull/simple_sitemap_generator
87
88
  licenses: