sitemap_generator 4.0.1 → 4.1.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.
- data/Gemfile.lock +1 -1
- data/README.md +77 -23
- data/VERSION +1 -1
- data/lib/sitemap_generator/builder/sitemap_file.rb +1 -0
- data/lib/sitemap_generator/builder/sitemap_url.rb +17 -2
- data/lib/sitemap_generator/utilities.rb +12 -0
- data/spec/sitemap_generator/pagemap_sitemap_spec.rb +50 -0
- data/spec/sitemap_generator/utilities_spec.rb +19 -0
- data/spec/support/schemas/sitemap-pagemap.xsd +97 -0
- metadata +16 -12
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -7,7 +7,7 @@ Sitemaps adhere to the [Sitemap 0.9 protocol][sitemap_protocol] specification.
|
|
7
7
|
## Features
|
8
8
|
|
9
9
|
* Framework agnostic
|
10
|
-
* Supports [News sitemaps][sitemap_news], [Video sitemaps][sitemap_video], [Image sitemaps][sitemap_images], [Geo sitemaps][sitemap_geo], [Mobile sitemaps][sitemap_mobile] and [Alternate Links][alternate_links]
|
10
|
+
* Supports [News sitemaps][sitemap_news], [Video sitemaps][sitemap_video], [Image sitemaps][sitemap_images], [Geo sitemaps][sitemap_geo], [Mobile sitemaps][sitemap_mobile], [PageMap sitemaps][sitemap_pagemap] and [Alternate Links][alternate_links]
|
11
11
|
* Supports read-only filesystems like Heroku via uploading to a remote host like Amazon S3
|
12
12
|
* Compatible with Rails 2 & 3 and tested with Ruby REE, 1.9.2 & 1.9.3
|
13
13
|
* Adheres to the [Sitemap 0.9 protocol][sitemap_protocol]
|
@@ -103,6 +103,7 @@ That's it! Welcome to the future!
|
|
103
103
|
|
104
104
|
## Changelog
|
105
105
|
|
106
|
+
* v4.1.0: [PageMap sitemap][using_pagemaps] support.
|
106
107
|
* v4.0.1: Add a post install message regarding the naming convention change.
|
107
108
|
* **v4.0: NEW, NON-BACKWARDS COMPATIBLE CHANGES.** See above for more info. `create_index` defaults to `:auto`. Define `SitemapGenerator::SimpleNamer` class for simpler custom namers compatible with the new naming conventions. Deprecate `sitemaps_namer`, `sitemap_index_namer` and their respective namer classes. It's more just that their usage is discouraged. Support `nofollow` option on alternate links. Fix formatting of `publication_date` in News sitemaps.
|
108
109
|
* v3.4: Support [alternate links][alternate_links] for urls; Support configurable options in the `SitemapGenerator::S3Adapter`
|
@@ -827,15 +828,15 @@ end
|
|
827
828
|
|
828
829
|
#### Supported options
|
829
830
|
|
830
|
-
* `:
|
831
|
-
* `:
|
832
|
-
* `:
|
833
|
-
* `:
|
834
|
-
* `:
|
835
|
-
* `:
|
836
|
-
* `:
|
837
|
-
* `:
|
838
|
-
|
831
|
+
* `:news` - Hash
|
832
|
+
* `:publication_name`
|
833
|
+
* `:publication_language`
|
834
|
+
* `:publication_date`
|
835
|
+
* `:genres`
|
836
|
+
* `:access`
|
837
|
+
* `:title`
|
838
|
+
* `:keywords`
|
839
|
+
* `:stock_tickers`
|
839
840
|
|
840
841
|
### Image Sitemaps
|
841
842
|
|
@@ -854,12 +855,12 @@ end
|
|
854
855
|
|
855
856
|
#### Supported options
|
856
857
|
|
857
|
-
* `:
|
858
|
-
* `:
|
859
|
-
* `:
|
860
|
-
* `:
|
861
|
-
* `:
|
862
|
-
|
858
|
+
* `:images` - Array of hashes
|
859
|
+
* `:loc` Required, location of the image
|
860
|
+
* `:caption`
|
861
|
+
* `:geo_location`
|
862
|
+
* `:title`
|
863
|
+
* `:license`
|
863
864
|
|
864
865
|
### Video Sitemaps
|
865
866
|
|
@@ -885,9 +886,27 @@ end
|
|
885
886
|
|
886
887
|
#### Supported options
|
887
888
|
|
888
|
-
* `:
|
889
|
-
|
890
|
-
|
889
|
+
* `:video`/`:videos` - Hash or array of hashes, respectively
|
890
|
+
* `:thumbnail_loc` - String, URL of the thumbnail image.
|
891
|
+
* `:title` - String, title of the video.
|
892
|
+
* `:description` - String, description of the video.
|
893
|
+
* `:content_loc` - String, URL. One of content_loc or player_loc must be present.
|
894
|
+
* `:player_loc` - String, URL. One of content_loc or player_loc must be present.
|
895
|
+
* `:allow_embed` - Boolean, attribute of player_loc.
|
896
|
+
* `:autoplay` - Boolean, default true. Attribute of player_loc.
|
897
|
+
* `:duration` - Integer or string. Duration in seconds.
|
898
|
+
* `:expiration_date`
|
899
|
+
* `:rating`
|
900
|
+
* `:view_count` - Integer or string.
|
901
|
+
* `:publication_date`
|
902
|
+
* `:tags` - Array of string tags.
|
903
|
+
* `:tag` - String, single tag.
|
904
|
+
* `:category`
|
905
|
+
* `:family_friendly`- Boolean
|
906
|
+
* `:gallery_loc` - String, URL.
|
907
|
+
* `:gallery_title` - Title attribute of the gallery location element
|
908
|
+
* `:uploader`
|
909
|
+
* `:uploader_info` - Info attribute of uploader element
|
891
910
|
|
892
911
|
### Geo Sitemaps
|
893
912
|
|
@@ -904,8 +923,40 @@ end
|
|
904
923
|
|
905
924
|
#### Supported options
|
906
925
|
|
907
|
-
* `:
|
926
|
+
* `:geo` - Hash
|
927
|
+
* `:format` - Required, string, either `'kml'` or `'georss'`
|
928
|
+
|
929
|
+
### PageMap Sitemaps
|
930
|
+
|
931
|
+
Pagemaps can be added by passing a `:pagemap` hash to `add`. The hash must contain a `:dataobjects` key with an array of dataobject hashes. Each dataobject hash contains a `:type` and `:id`, and an optional array of `:attributes`. Each attribute hash can contain two keys: `:name` and `:value`, with string values. For more information consult the [official documentation on PageMaps][using_pagemaps].
|
932
|
+
|
933
|
+
#### Supported options
|
934
|
+
|
935
|
+
* `:pagemap` - Hash
|
936
|
+
* `:dataobjects` - Required, array of hashes
|
937
|
+
* `:type` - Required, string, type of the object
|
938
|
+
* `:id` - String, ID of the object
|
939
|
+
* `:attributes` - Array of hashes
|
940
|
+
* `:name` - Required, string, name of the attribute.
|
941
|
+
* `:value` - String, value of the attribute.
|
908
942
|
|
943
|
+
#### Example:
|
944
|
+
|
945
|
+
```ruby
|
946
|
+
SitemapGenerator::Sitemap.default_host = "http://www.example.com"
|
947
|
+
SitemapGenerator::Sitemap.create do
|
948
|
+
add('/blog/post', :pagemap => {
|
949
|
+
:dataobjects => [{
|
950
|
+
:type => 'document',
|
951
|
+
:id => 'hibachi',
|
952
|
+
:attributes => [
|
953
|
+
{ :name => 'name', :value => 'Dragon' },
|
954
|
+
{ :name => 'review', :value => '3.5' },
|
955
|
+
]
|
956
|
+
}]
|
957
|
+
})
|
958
|
+
end
|
959
|
+
```
|
909
960
|
|
910
961
|
### Alternate Links
|
911
962
|
|
@@ -930,9 +981,10 @@ end
|
|
930
981
|
|
931
982
|
#### Supported options
|
932
983
|
|
933
|
-
* `:
|
934
|
-
* `:
|
935
|
-
* `:
|
984
|
+
* `:alternate`/`:alternates` - Hash or array of hashes, respectively
|
985
|
+
* `:href` - Required, string.
|
986
|
+
* `:lang` - Required, string.
|
987
|
+
* `:nofollow` - Optional, boolean. Used to mark link as "nofollow".
|
936
988
|
|
937
989
|
## Raison d'être
|
938
990
|
|
@@ -1010,6 +1062,7 @@ Copyright (c) 2009 Karl Varga released under the MIT license
|
|
1010
1062
|
[sitemap_news]:http://www.google.com/support/webmasters/bin/topic.py?hl=en&topic=10078
|
1011
1063
|
[sitemap_geo]:http://www.google.com/support/webmasters/bin/topic.py?hl=en&topic=14688
|
1012
1064
|
[sitemap_mobile]:http://support.google.com/webmasters/bin/answer.py?hl=en&answer=34648
|
1065
|
+
[sitemap_pagemap]:https://developers.google.com/custom-search/docs/structured_data#addtositemap
|
1013
1066
|
[sitemap_protocol]:http://sitemaps.org/protocol.php
|
1014
1067
|
[video_tags]:http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=80472#4
|
1015
1068
|
[image_tags]:http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=178636
|
@@ -1019,3 +1072,4 @@ Copyright (c) 2009 Karl Varga released under the MIT license
|
|
1019
1072
|
[include_index_change]:https://github.com/kjvarga/sitemap_generator/issues/70
|
1020
1073
|
[ehoch]:https://github.com/ehoch
|
1021
1074
|
[alternate_links]:http://support.google.com/webmasters/bin/answer.py?hl=en&answer=2620865
|
1075
|
+
[using_pagemaps]:https://developers.google.com/custom-search/docs/structured_data#pagemaps
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
4.0
|
1
|
+
4.1.0
|
@@ -36,6 +36,7 @@ module SitemapGenerator
|
|
36
36
|
xmlns:geo="http://www.google.com/geo/schemas/sitemap/1.0"
|
37
37
|
xmlns:news="http://www.google.com/schemas/sitemap-news/0.9"
|
38
38
|
xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0"
|
39
|
+
xmlns:pagemap="http://www.google.com/schemas/sitemap-pagemap/1.0"
|
39
40
|
xmlns:xhtml="http://www.w3.org/1999/xhtml"
|
40
41
|
>
|
41
42
|
HTML
|
@@ -29,6 +29,7 @@ module SitemapGenerator
|
|
29
29
|
# * +news+
|
30
30
|
# * +mobile+
|
31
31
|
# * +alternate+/+alternates+
|
32
|
+
# * +pagemap+
|
32
33
|
def initialize(path, options={})
|
33
34
|
options = options.dup
|
34
35
|
if sitemap = path.is_a?(SitemapGenerator::Builder::SitemapFile) && path
|
@@ -36,9 +37,10 @@ module SitemapGenerator
|
|
36
37
|
path = sitemap.location.path_in_public
|
37
38
|
end
|
38
39
|
|
39
|
-
SitemapGenerator::Utilities.assert_valid_keys(options, :priority, :changefreq, :lastmod, :host, :images, :video, :geo, :news, :videos, :mobile, :alternate, :alternates)
|
40
|
+
SitemapGenerator::Utilities.assert_valid_keys(options, :priority, :changefreq, :lastmod, :host, :images, :video, :geo, :news, :videos, :mobile, :alternate, :alternates, :pagemap)
|
40
41
|
SitemapGenerator::Utilities.reverse_merge!(options, :priority => 0.5, :changefreq => 'weekly', :lastmod => Time.now, :images => [], :news => {}, :videos => [], :mobile => false, :alternates => [])
|
41
42
|
raise "Cannot generate a url without a host" unless SitemapGenerator::Utilities.present?(options[:host])
|
43
|
+
|
42
44
|
if video = options.delete(:video)
|
43
45
|
options[:videos] = video.is_a?(Array) ? options[:videos].concat(video) : options[:videos] << video
|
44
46
|
end
|
@@ -59,7 +61,8 @@ module SitemapGenerator
|
|
59
61
|
:videos => options[:videos],
|
60
62
|
:geo => options[:geo],
|
61
63
|
:mobile => options[:mobile],
|
62
|
-
:alternates => options[:alternates]
|
64
|
+
:alternates => options[:alternates],
|
65
|
+
:pagemap => options[:pagemap]
|
63
66
|
)
|
64
67
|
end
|
65
68
|
|
@@ -141,6 +144,18 @@ module SitemapGenerator
|
|
141
144
|
unless SitemapGenerator::Utilities.blank?(self[:mobile])
|
142
145
|
builder.mobile :mobile
|
143
146
|
end
|
147
|
+
|
148
|
+
unless SitemapGenerator::Utilities.blank?(self[:pagemap])
|
149
|
+
builder.pagemap :PageMap do
|
150
|
+
SitemapGenerator::Utilities.as_array(self[:pagemap][:dataobjects]).each do |dataobject|
|
151
|
+
builder.pagemap :DataObject, :type => dataobject[:type], :id => dataobject[:id] do
|
152
|
+
SitemapGenerator::Utilities.as_array(dataobject[:attributes]).each do |attribute|
|
153
|
+
builder.pagemap :Attribute, attribute[:value], :name => attribute[:name]
|
154
|
+
end
|
155
|
+
end
|
156
|
+
end
|
157
|
+
end
|
158
|
+
end
|
144
159
|
end
|
145
160
|
builder << '' # Force to string
|
146
161
|
end
|
@@ -49,6 +49,18 @@ module SitemapGenerator
|
|
49
49
|
hash
|
50
50
|
end
|
51
51
|
|
52
|
+
# Make a list of `value` if it is not a list already. If `value` is
|
53
|
+
# nil, an empty list is returned. If `value` is already a list, return it unchanged.
|
54
|
+
def as_array(value)
|
55
|
+
if value.nil?
|
56
|
+
[]
|
57
|
+
elsif value.is_a?(Array)
|
58
|
+
value
|
59
|
+
else
|
60
|
+
[value]
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
52
64
|
# Rounds the float with the specified precision.
|
53
65
|
#
|
54
66
|
# x = 1.337
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe "SitemapGenerator" do
|
4
|
+
|
5
|
+
it "should add the pagemap sitemap element" do
|
6
|
+
pagemap_xml_fragment = SitemapGenerator::Builder::SitemapUrl.new('my_page.html', {
|
7
|
+
:host => 'http://www.example.com',
|
8
|
+
|
9
|
+
:pagemap => {
|
10
|
+
:dataobjects => [
|
11
|
+
{
|
12
|
+
type: 'document',
|
13
|
+
id: 'hibachi',
|
14
|
+
attributes: [
|
15
|
+
{name: 'name', value: 'Dragon'},
|
16
|
+
{name: 'review', value: 3.5},
|
17
|
+
]
|
18
|
+
},
|
19
|
+
{
|
20
|
+
type: 'stats',
|
21
|
+
attributes: [
|
22
|
+
{name: 'installs', value: 2000},
|
23
|
+
{name: 'comments', value: 200},
|
24
|
+
]
|
25
|
+
}
|
26
|
+
]
|
27
|
+
}
|
28
|
+
}).to_xml
|
29
|
+
|
30
|
+
doc = Nokogiri::XML.parse(pagemap_xml_fragment)
|
31
|
+
|
32
|
+
url = doc.at_xpath("//url")
|
33
|
+
loc = url.at_xpath("loc")
|
34
|
+
loc.text.should == 'http://www.example.com/my_page.html'
|
35
|
+
|
36
|
+
pagemap = doc.at_xpath("//PageMap")
|
37
|
+
pagemap.children.count.should == 2
|
38
|
+
pagemap.at_xpath('//DataObject').attributes['type'].value.should == 'document'
|
39
|
+
pagemap.at_xpath('//DataObject').attributes['id'].value.should == 'hibachi'
|
40
|
+
pagemap.at_xpath('//DataObject').children.count.should == 2
|
41
|
+
first_attribute = pagemap.at_xpath('//DataObject').children.first
|
42
|
+
second_attribute = pagemap.at_xpath('//DataObject').children.last
|
43
|
+
first_attribute.text.should == 'Dragon'
|
44
|
+
first_attribute.attributes['name'].value.should == 'name'
|
45
|
+
second_attribute.text.should == '3.5'
|
46
|
+
second_attribute.attributes['name'].value.should == 'review'
|
47
|
+
|
48
|
+
xml_fragment_should_validate_against_schema(pagemap, 'http://www.google.com/schemas/sitemap-pagemap/1.0', 'sitemap-pagemap')
|
49
|
+
end
|
50
|
+
end
|
@@ -47,4 +47,23 @@ describe SitemapGenerator::Utilities do
|
|
47
47
|
SitemapGenerator::Utilities.falsy?(nil).should be_false
|
48
48
|
end
|
49
49
|
end
|
50
|
+
|
51
|
+
describe "as_array" do
|
52
|
+
it "should return an array unchanged" do
|
53
|
+
SitemapGenerator::Utilities.as_array([]).should == []
|
54
|
+
SitemapGenerator::Utilities.as_array([1]).should == [1]
|
55
|
+
SitemapGenerator::Utilities.as_array([1,2,3]).should == [1,2,3]
|
56
|
+
end
|
57
|
+
|
58
|
+
it "should return empty array on nil" do
|
59
|
+
SitemapGenerator::Utilities.as_array(nil).should == []
|
60
|
+
end
|
61
|
+
|
62
|
+
it "should make array of item otherwise" do
|
63
|
+
SitemapGenerator::Utilities.as_array('').should == ['']
|
64
|
+
SitemapGenerator::Utilities.as_array(1).should == [1]
|
65
|
+
SitemapGenerator::Utilities.as_array('hello').should == ['hello']
|
66
|
+
SitemapGenerator::Utilities.as_array({}).should == [{}]
|
67
|
+
end
|
68
|
+
end
|
50
69
|
end
|
@@ -0,0 +1,97 @@
|
|
1
|
+
|
2
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
3
|
+
<xsd:schema
|
4
|
+
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
5
|
+
targetNamespace="http://www.google.com/schemas/sitemap-pagemap/1.0"
|
6
|
+
xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"
|
7
|
+
elementFormDefault="qualified">
|
8
|
+
|
9
|
+
<xsd:annotation>
|
10
|
+
<xsd:documentation>
|
11
|
+
XML Schema for the PageMap Sitemap extension. This schema defines the
|
12
|
+
PageMap-specific elements only; the core Sitemap elements are defined
|
13
|
+
separately.
|
14
|
+
|
15
|
+
Copyright 2011 Google Inc. All Rights Reserved.
|
16
|
+
</xsd:documentation>
|
17
|
+
</xsd:annotation>
|
18
|
+
|
19
|
+
<xsd:element name="PageMap">
|
20
|
+
<xsd:complexType>
|
21
|
+
<xsd:sequence>
|
22
|
+
<xsd:element name="Template" minOccurs="0">
|
23
|
+
<xsd:annotation>
|
24
|
+
<xsd:documentation>
|
25
|
+
Template file specification. Can be used for overriding the
|
26
|
+
default rendering of search results delivered via
|
27
|
+
Google Custom Search Engine.
|
28
|
+
</xsd:documentation>
|
29
|
+
</xsd:annotation>
|
30
|
+
<xsd:complexType>
|
31
|
+
<xsd:attribute name="src" type="xsd:anyURI" use="required">
|
32
|
+
<xsd:annotation>
|
33
|
+
<xsd:documentation>
|
34
|
+
Reference to a template file. A template file contains a set of
|
35
|
+
ResultSpecs, which, given DataObjects of appropriate types on
|
36
|
+
the page, renders a search result based on the key-value pairs
|
37
|
+
found in those DataObjects. If the template file is not
|
38
|
+
specified, Google will use the default predefined set of
|
39
|
+
templates tailored to popular content.
|
40
|
+
</xsd:documentation>
|
41
|
+
</xsd:annotation>
|
42
|
+
</xsd:attribute>
|
43
|
+
</xsd:complexType>
|
44
|
+
</xsd:element>
|
45
|
+
<xsd:element name="DataObject" minOccurs="0" maxOccurs="unbounded">
|
46
|
+
<xsd:complexType>
|
47
|
+
<xsd:sequence>
|
48
|
+
<xsd:element name="Attribute" minOccurs="0" maxOccurs="unbounded">
|
49
|
+
<xsd:annotation>
|
50
|
+
<xsd:documentation>
|
51
|
+
Either 'value' attribute or text content must be set, but
|
52
|
+
not both.
|
53
|
+
</xsd:documentation>
|
54
|
+
</xsd:annotation>
|
55
|
+
<xsd:complexType>
|
56
|
+
<xsd:simpleContent>
|
57
|
+
<xsd:extension base="xsd:string">
|
58
|
+
<xsd:attribute name="name" type="xsd:string" use="required">
|
59
|
+
<xsd:annotation>
|
60
|
+
<xsd:documentation>
|
61
|
+
Name of the attribute.
|
62
|
+
</xsd:documentation>
|
63
|
+
</xsd:annotation>
|
64
|
+
</xsd:attribute>
|
65
|
+
<xsd:attribute name="value" type="xsd:string">
|
66
|
+
<xsd:annotation>
|
67
|
+
<xsd:documentation>
|
68
|
+
Value of the attribute.
|
69
|
+
</xsd:documentation>
|
70
|
+
</xsd:annotation>
|
71
|
+
</xsd:attribute>
|
72
|
+
</xsd:extension>
|
73
|
+
</xsd:simpleContent>
|
74
|
+
</xsd:complexType>
|
75
|
+
</xsd:element>
|
76
|
+
</xsd:sequence>
|
77
|
+
<xsd:attribute name="type" type="xsd:string" use="required">
|
78
|
+
<xsd:annotation>
|
79
|
+
<xsd:documentation>
|
80
|
+
Type of the object.
|
81
|
+
</xsd:documentation>
|
82
|
+
</xsd:annotation>
|
83
|
+
</xsd:attribute>
|
84
|
+
<xsd:attribute name="id" type="xsd:string">
|
85
|
+
<xsd:annotation>
|
86
|
+
<xsd:documentation>
|
87
|
+
ID of the object.
|
88
|
+
</xsd:documentation>
|
89
|
+
</xsd:annotation>
|
90
|
+
</xsd:attribute>
|
91
|
+
</xsd:complexType>
|
92
|
+
</xsd:element>
|
93
|
+
</xsd:sequence>
|
94
|
+
</xsd:complexType>
|
95
|
+
</xsd:element>
|
96
|
+
|
97
|
+
</xsd:schema>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sitemap_generator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0
|
4
|
+
version: 4.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-
|
13
|
+
date: 2013-06-03 00:00:00.000000000Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: mocha
|
17
|
-
requirement: &
|
17
|
+
requirement: &70338921097240 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: '0'
|
23
23
|
type: :development
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *70338921097240
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: nokogiri
|
28
|
-
requirement: &
|
28
|
+
requirement: &70338921096640 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *70338921096640
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: rspec
|
39
|
-
requirement: &
|
39
|
+
requirement: &70338921096180 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ! '>='
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: '0'
|
45
45
|
type: :development
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *70338921096180
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: builder
|
50
|
-
requirement: &
|
50
|
+
requirement: &70338921095700 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ! '>='
|
@@ -55,7 +55,7 @@ dependencies:
|
|
55
55
|
version: '0'
|
56
56
|
type: :runtime
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *70338921095700
|
59
59
|
description: SitemapGenerator is an XML Sitemap generator written in Ruby with automatic
|
60
60
|
Rails integration. It supports Video, News, Image and Geo sitemaps and includes
|
61
61
|
Rake tasks for managing your sitemaps.
|
@@ -115,6 +115,7 @@ files:
|
|
115
115
|
- spec/sitemap_generator/link_set_spec.rb
|
116
116
|
- spec/sitemap_generator/mobile_sitemap_spec.rb
|
117
117
|
- spec/sitemap_generator/news_sitemap_spec.rb
|
118
|
+
- spec/sitemap_generator/pagemap_sitemap_spec.rb
|
118
119
|
- spec/sitemap_generator/sitemap_generator_spec.rb
|
119
120
|
- spec/sitemap_generator/sitemap_groups_spec.rb
|
120
121
|
- spec/sitemap_generator/sitemap_location_spec.rb
|
@@ -131,6 +132,7 @@ files:
|
|
131
132
|
- spec/support/schemas/sitemap-geo.xsd
|
132
133
|
- spec/support/schemas/sitemap-mobile.xsd
|
133
134
|
- spec/support/schemas/sitemap-news.xsd
|
135
|
+
- spec/support/schemas/sitemap-pagemap.xsd
|
134
136
|
- spec/support/schemas/sitemap-video.xsd
|
135
137
|
- spec/support/schemas/sitemap.xsd
|
136
138
|
- spec/support/xml_macros.rb
|
@@ -161,7 +163,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
161
163
|
version: '0'
|
162
164
|
segments:
|
163
165
|
- 0
|
164
|
-
hash:
|
166
|
+
hash: -1019294574066130331
|
165
167
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
166
168
|
none: false
|
167
169
|
requirements:
|
@@ -170,7 +172,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
170
172
|
version: '0'
|
171
173
|
segments:
|
172
174
|
- 0
|
173
|
-
hash:
|
175
|
+
hash: -1019294574066130331
|
174
176
|
requirements: []
|
175
177
|
rubyforge_project:
|
176
178
|
rubygems_version: 1.8.10
|
@@ -196,6 +198,7 @@ test_files:
|
|
196
198
|
- spec/sitemap_generator/link_set_spec.rb
|
197
199
|
- spec/sitemap_generator/mobile_sitemap_spec.rb
|
198
200
|
- spec/sitemap_generator/news_sitemap_spec.rb
|
201
|
+
- spec/sitemap_generator/pagemap_sitemap_spec.rb
|
199
202
|
- spec/sitemap_generator/sitemap_generator_spec.rb
|
200
203
|
- spec/sitemap_generator/sitemap_groups_spec.rb
|
201
204
|
- spec/sitemap_generator/sitemap_location_spec.rb
|
@@ -212,6 +215,7 @@ test_files:
|
|
212
215
|
- spec/support/schemas/sitemap-geo.xsd
|
213
216
|
- spec/support/schemas/sitemap-mobile.xsd
|
214
217
|
- spec/support/schemas/sitemap-news.xsd
|
218
|
+
- spec/support/schemas/sitemap-pagemap.xsd
|
215
219
|
- spec/support/schemas/sitemap-video.xsd
|
216
220
|
- spec/support/schemas/sitemap.xsd
|
217
221
|
- spec/support/xml_macros.rb
|