sitemap_generator 4.0.1 → 4.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|