middleman-sitemap-ping 0.2.0 → 1.0.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/README.md +1 -0
- data/lib/middleman-sitemap-ping.rb +2 -51
- data/lib/middleman-sitemap-ping/command.rb +8 -4
- data/lib/middleman-sitemap-ping/extension.rb +46 -0
- data/lib/middleman-sitemap-ping/version.rb +2 -2
- data/middleman-sitemap-ping.gemspec +2 -5
- metadata +9 -24
- data/Rakefile +0 -0
- data/lib/middleman_extension.rb +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e620a5d0d622a84dc197e19e165639864817ce48
|
4
|
+
data.tar.gz: 5496411bc7ca8353c18097dfe4e56239f13eba87
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5c234070b8509c950ff094a77f25c7894a967cdef6e788d78bf336061297769b15d48962b13de201968c72ce2ba6979c53bed88c7d5aa29e4a77da4bf7ba20d0
|
7
|
+
data.tar.gz: 68abbc7f6b1f09f4490e410b592ee678b0aaab9c413bb22a2e125f1a930714571527f4b208c10a3faf29d1c94343268f3847eb87ddb0b2dc6335b519f77f413e
|
data/README.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# Middleman Sitemap Ping
|
2
2
|
|
3
3
|
[](http://badge.fury.io/rb/middleman-sitemap-ping)
|
4
|
+
[](https://travis-ci.org/krautcomputing/middleman-sitemap-ping)
|
4
5
|
[](https://gemnasium.com/krautcomputing/middleman-sitemap-ping)
|
5
6
|
[](https://codeclimate.com/github/krautcomputing/middleman-sitemap-ping)
|
6
7
|
|
@@ -1,52 +1,3 @@
|
|
1
|
-
require 'middleman-core'
|
2
|
-
|
3
|
-
module Middleman
|
4
|
-
class SitemapPing < Extension
|
5
|
-
SERVICES = {
|
6
|
-
google: 'http://www.google.com/webmasters/tools/ping?sitemap=%SITEMAP_URL%',
|
7
|
-
bing: 'http://www.bing.com/ping?sitemap=%SITEMAP_URL%'
|
8
|
-
}
|
9
|
-
|
10
|
-
SERVICES.each_key do |service|
|
11
|
-
option "ping_#{service}".to_sym, true, "Ping #{service.capitalize}?"
|
12
|
-
end
|
13
|
-
option :after_build, true, 'Execute automatically after the site was built?'
|
14
|
-
option :host, nil, 'The host of your website'
|
15
|
-
option :sitemap_file, 'sitemap.xml', 'The name of your sitemap file'
|
16
|
-
|
17
|
-
def initialize(app, options_hash = {})
|
18
|
-
super
|
19
|
-
|
20
|
-
require 'open-uri'
|
21
|
-
end
|
22
|
-
|
23
|
-
def after_build(builder)
|
24
|
-
if options.after_build
|
25
|
-
self.do_ping builder
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
def do_ping(builder)
|
30
|
-
raise 'Please set the `host` option for the sitemap ping extension!' unless host = options.host
|
31
|
-
host = "http://#{host}" unless host =~ %r(\Ahttps?://)
|
32
|
-
sitemap_url = File.join(host, options.sitemap_file)
|
33
|
-
SERVICES.each do |service, url|
|
34
|
-
next unless options.send("ping_#{service}")
|
35
|
-
url.sub! /%SITEMAP_URL%\z/, CGI.escape(sitemap_url)
|
36
|
-
builder.say "Pinging #{url}"
|
37
|
-
open url do |f|
|
38
|
-
if f.status[0] == '200'
|
39
|
-
builder.say_status :success, 'SUCCESS!', :green
|
40
|
-
else
|
41
|
-
builder.say_status :error, "ERROR: #{f.status[0]}", :red
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
require_relative 'middleman-sitemap-ping/command'
|
50
1
|
require_relative 'middleman-sitemap-ping/version'
|
51
|
-
|
52
|
-
|
2
|
+
require_relative 'middleman-sitemap-ping/command'
|
3
|
+
require_relative 'middleman-sitemap-ping/extension'
|
@@ -1,8 +1,8 @@
|
|
1
|
-
require 'middleman-
|
1
|
+
require 'middleman-cli'
|
2
2
|
|
3
3
|
module Middleman
|
4
4
|
module Cli
|
5
|
-
class SitemapPing < Thor
|
5
|
+
class SitemapPing < Thor::Group
|
6
6
|
include Thor::Actions
|
7
7
|
|
8
8
|
check_unknown_options!
|
@@ -13,10 +13,14 @@ module Middleman
|
|
13
13
|
true
|
14
14
|
end
|
15
15
|
|
16
|
-
desc 'sitemap_ping', 'Ping sitemaps'
|
17
16
|
def sitemap_ping
|
18
|
-
Middleman::Application.
|
17
|
+
app = Middleman::Application.new do
|
18
|
+
config[:mode] = :build
|
19
|
+
end
|
20
|
+
app.extensions[:sitemap_ping].do_ping self
|
19
21
|
end
|
22
|
+
|
23
|
+
Base.register self, 'sitemap_ping', 'sitemap_ping [options]', 'Ping sitemaps'
|
20
24
|
end
|
21
25
|
end
|
22
26
|
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
require 'middleman-core'
|
2
|
+
|
3
|
+
module Middleman
|
4
|
+
module SitemapPing
|
5
|
+
class Extension < Middleman::Extension
|
6
|
+
SERVICES = {
|
7
|
+
google: 'http://www.google.com/webmasters/tools/ping?sitemap=%SITEMAP_URL%',
|
8
|
+
bing: 'http://www.bing.com/ping?sitemap=%SITEMAP_URL%'
|
9
|
+
}
|
10
|
+
|
11
|
+
SERVICES.each_key do |service|
|
12
|
+
option "ping_#{service}".to_sym, true, "Ping #{service.capitalize}?"
|
13
|
+
end
|
14
|
+
option :after_build, true, 'Execute automatically after the site was built?'
|
15
|
+
option :host, nil, 'The host of your website'
|
16
|
+
option :sitemap_file, 'sitemap.xml', 'The name of your sitemap file'
|
17
|
+
|
18
|
+
def after_build(builder)
|
19
|
+
if options.after_build
|
20
|
+
do_ping builder.thor
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def do_ping(thor)
|
25
|
+
raise 'Please set the `host` option for the sitemap ping extension!' unless host = options.host
|
26
|
+
require 'open-uri'
|
27
|
+
host = "http://#{host}" unless host =~ %r(\Ahttps?://)
|
28
|
+
sitemap_url = File.join(host, options.sitemap_file)
|
29
|
+
SERVICES.each do |service, url|
|
30
|
+
next unless options.send("ping_#{service}")
|
31
|
+
url.sub! /%SITEMAP_URL%\z/, CGI.escape(sitemap_url)
|
32
|
+
thor.say "Pinging #{url}"
|
33
|
+
open url do |f|
|
34
|
+
if f.status[0] == '200'
|
35
|
+
thor.say_status :success, 'SUCCESS!', :green
|
36
|
+
else
|
37
|
+
thor.say_status :error, "ERROR: #{f.status[0]}", :red
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
Middleman::Extensions.register :sitemap_ping, Middleman::SitemapPing::Extension
|
@@ -1,9 +1,7 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
1
|
lib = File.expand_path('../lib', __FILE__)
|
4
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
3
|
|
6
|
-
require 'middleman-sitemap-ping'
|
4
|
+
require 'middleman-sitemap-ping/version'
|
7
5
|
|
8
6
|
Gem::Specification.new do |gem|
|
9
7
|
gem.name = 'middleman-sitemap-ping'
|
@@ -21,6 +19,5 @@ Gem::Specification.new do |gem|
|
|
21
19
|
gem.test_files = gem.files.grep(%r(^(test|spec|features)/))
|
22
20
|
gem.require_paths = ['lib']
|
23
21
|
|
24
|
-
gem.
|
25
|
-
gem.add_runtime_dependency 'middleman-core', '~> 3.0'
|
22
|
+
gem.add_runtime_dependency 'middleman', '>= 3.1'
|
26
23
|
end
|
metadata
CHANGED
@@ -1,43 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: middleman-sitemap-ping
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Manuel Meurer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-11-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: middleman
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '10.0'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: middleman-core
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '3.0'
|
19
|
+
version: '3.1'
|
34
20
|
type: :runtime
|
35
21
|
prerelease: false
|
36
22
|
version_requirements: !ruby/object:Gem::Requirement
|
37
23
|
requirements:
|
38
|
-
- - "
|
24
|
+
- - ">="
|
39
25
|
- !ruby/object:Gem::Version
|
40
|
-
version: '3.
|
26
|
+
version: '3.1'
|
41
27
|
description: Middleman extension to ping search engines (Google and Bing) with a sitemap
|
42
28
|
URL
|
43
29
|
email: manuel@krautcomputing.com
|
@@ -50,11 +36,10 @@ files:
|
|
50
36
|
- Gemfile
|
51
37
|
- LICENSE.txt
|
52
38
|
- README.md
|
53
|
-
- Rakefile
|
54
39
|
- lib/middleman-sitemap-ping.rb
|
55
40
|
- lib/middleman-sitemap-ping/command.rb
|
41
|
+
- lib/middleman-sitemap-ping/extension.rb
|
56
42
|
- lib/middleman-sitemap-ping/version.rb
|
57
|
-
- lib/middleman_extension.rb
|
58
43
|
- middleman-sitemap-ping.gemspec
|
59
44
|
homepage: http://krautcomputing.github.io/middleman-sitemap-ping/
|
60
45
|
licenses:
|
@@ -76,7 +61,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
76
61
|
version: '0'
|
77
62
|
requirements: []
|
78
63
|
rubyforge_project:
|
79
|
-
rubygems_version: 2.
|
64
|
+
rubygems_version: 2.6.6
|
80
65
|
signing_key:
|
81
66
|
specification_version: 4
|
82
67
|
summary: Middleman extension to ping search engines (Google and Bing) with a sitemap
|
data/Rakefile
DELETED
File without changes
|
data/lib/middleman_extension.rb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
require 'middleman-sitemap-ping'
|