search-engine-optimization 1.1.1 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/README.md +3 -0
- data/app/views/mozaic/seo/schema/types/_offer.html.erb +42 -0
- data/app/views/mozaic/seo/schema/types/_product.html.erb +34 -0
- data/app/views/mozaic/seo/schema/types/_service.html.erb +22 -0
- data/lib/search_engine_optimization/railtie.rb +3 -0
- data/lib/search_engine_optimization/version.rb +1 -1
- metadata +4 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ac4d989eb56c8de2d1345028bfb53e09dd561bf56508f67a5a1dfb3562e9ca3f
|
4
|
+
data.tar.gz: 6e1b9ad8c69dfbdfc2754069528f651fdb6523dd41eb5c13cb095239e30ed628
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 85ed0b6104b15df399662fc356068eb97e9094adfeae51582dadf63e3add61ef3d244250690a1189ad72f018d96cd6ee710377febeeb50f7b5c5212f7647fa74
|
7
|
+
data.tar.gz: 8d73bea932caa6af14e16f42655ac2b30dd6c6a51fa26c9a795e58d9ec21cb6c75ff4712c16afd1d2c3d0bac17059b5c7899eb14b3beb40581cc70d44a21f8b7
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -68,9 +68,12 @@ Here is a list of available types:
|
|
68
68
|
* [Brand](components/schema/types/brand.md)
|
69
69
|
* [CreativeWork](components/schema/types/creative_work.md)
|
70
70
|
* [Intangible](components/schema/types/intangible.md)
|
71
|
+
* [Offer](components/schema/types/offer.md)
|
71
72
|
* [Organization](components/schema/types/organization.md)
|
72
73
|
* [Person](components/schema/types/person.md)
|
74
|
+
* [Product](components/schema/types/product.md)
|
73
75
|
* [Rating](components/schema/types/rating.md)
|
76
|
+
* [Service](components/schema/types/service.md)
|
74
77
|
* [Thing](components/schema/types/thing.md)
|
75
78
|
|
76
79
|
#### Nested types
|
@@ -0,0 +1,42 @@
|
|
1
|
+
<%= component 'seo/schema/property', property: 'acceptedPaymentMethod', value: options.delete(:accepted_payment_method) if options[:accepted_payment_method] %>
|
2
|
+
<%= component 'seo/schema/property', property: 'addOn', value: options.delete(:add_on) if options[:add_on] %>
|
3
|
+
<%= component 'seo/schema/property', property: 'advancedBookingRequirement', value: options.delete(:advanced_booking_requirement) if options[:advanced_booking_requirement] %>
|
4
|
+
<%= component 'seo/schema/property', property: 'aggregateRating', value: options.delete(:aggregate_rating) if options[:aggregate_rating] %>
|
5
|
+
<%= component 'seo/schema/property', property: 'areaServed', value: options.delete(:area_served) if options[:area_served] %>
|
6
|
+
<%= component 'seo/schema/property', property: 'availability', value: options.delete(:availability) if options[:availability] %>
|
7
|
+
<%= component 'seo/schema/property', property: 'availabilityEnds', value: options.delete(:availability_ends) if options[:availability_ends] %>
|
8
|
+
<%= component 'seo/schema/property', property: 'availabilityStarts', value: options.delete(:availability_starts) if options[:availability_starts] %>
|
9
|
+
<%= component 'seo/schema/property', property: 'availableAtOrFrom', value: options.delete(:available_at_or_from) if options[:available_at_or_from] %>
|
10
|
+
<%= component 'seo/schema/property', property: 'availableDeliveryMethod', value: options.delete(:available_delivery_method) if options[:available_delivery_method] %>
|
11
|
+
<%= component 'seo/schema/property', property: 'businessFunction', value: options.delete(:business_function) if options[:business_function] %>
|
12
|
+
<%= component 'seo/schema/property', property: 'category', value: options.delete(:category) if options[:category] %>
|
13
|
+
<%= component 'seo/schema/property', property: 'deliveryLeadTime', value: options.delete(:delivery_lead_time) if options[:delivery_lead_time] %>
|
14
|
+
<%= component 'seo/schema/property', property: 'eligibleCustomerType', value: options.delete(:eligible_customer_type) if options[:eligible_customer_type] %>
|
15
|
+
<%= component 'seo/schema/property', property: 'eligibleDuration', value: options.delete(:eligible_duration) if options[:eligible_duration] %>
|
16
|
+
<%= component 'seo/schema/property', property: 'eligibleQuantity', value: options.delete(:eligible_quantity) if options[:eligible_quantity] %>
|
17
|
+
<%= component 'seo/schema/property', property: 'eligibleRegion', value: options.delete(:eligible_region) if options[:eligible_region] %>
|
18
|
+
<%= component 'seo/schema/property', property: 'eligibleTransactionVolume', value: options.delete(:eligible_transaction_volume) if options[:eligible_transaction_volume] %>
|
19
|
+
<%= component 'seo/schema/property', property: 'gtin12', value: options.delete(:gtin12) if options[:gtin12] %>
|
20
|
+
<%= component 'seo/schema/property', property: 'gtin13', value: options.delete(:gtin13) if options[:gtin13] %>
|
21
|
+
<%= component 'seo/schema/property', property: 'gtin14', value: options.delete(:gtin14) if options[:gtin14] %>
|
22
|
+
<%= component 'seo/schema/property', property: 'gtin8', value: options.delete(:gtin8) if options[:gtin8] %>
|
23
|
+
<%= component 'seo/schema/property', property: 'includesObject', value: options.delete(:includes_object) if options[:includes_object] %>
|
24
|
+
<%= component 'seo/schema/property', property: 'inavailableRegion', value: options.delete(:inavailable_region) if options[:inavailable_region] %>
|
25
|
+
<%= component 'seo/schema/property', property: 'inventoryLevel', value: options.delete(:inventory_level) if options[:inventory_level] %>
|
26
|
+
<%= component 'seo/schema/property', property: 'itemCondition', value: options.delete(:item_condition) if options[:item_condition] %>
|
27
|
+
<%= component 'seo/schema/property', property: 'itemOffered', value: options.delete(:item_offered) if options[:item_offered] %>
|
28
|
+
<%= component 'seo/schema/property', property: 'mpn', value: options.delete(:mpn) if options[:mpn] %>
|
29
|
+
<%= component 'seo/schema/property', property: 'offeredBy', value: options.delete(:offered_by) if options[:offered_by] %>
|
30
|
+
<%= component 'seo/schema/property', property: 'price', value: options.delete(:price) if options[:price] %>
|
31
|
+
<%= component 'seo/schema/property', property: 'priceCurrency', value: options.delete(:price_currency) if options[:price_currency] %>
|
32
|
+
<%= component 'seo/schema/property', property: 'priceSpecification', value: options.delete(:price_specification) if options[:price_specification] %>
|
33
|
+
<%= component 'seo/schema/property', property: 'priceValidUntil', value: options.delete(:price_valid_until) if options[:price_valid_until] %>
|
34
|
+
<%= component 'seo/schema/property', property: 'review', value: options.delete(:review) if options[:review] %>
|
35
|
+
<%= component 'seo/schema/property', property: 'seller', value: options.delete(:seller) if options[:seller] %>
|
36
|
+
<%= component 'seo/schema/property', property: 'serialNumber', value: options.delete(:serial_number) if options[:serial_number] %>
|
37
|
+
<%= component 'seo/schema/property', property: 'sku', value: options.delete(:sku) if options[:sku] %>
|
38
|
+
<%= component 'seo/schema/property', property: 'validFrom', value: options.delete(:valid_from) if options[:valid_from] %>
|
39
|
+
<%= component 'seo/schema/property', property: 'validThrough', value: options.delete(:valid_through) if options[:valid_through] %>
|
40
|
+
<%= component 'seo/schema/property', property: 'warranty', value: options.delete(:warranty) if options[:warranty] %>
|
41
|
+
|
42
|
+
<%= component 'seo/schema/types/intangible', options if options.length > 0 %>
|
@@ -0,0 +1,34 @@
|
|
1
|
+
<%= component 'seo/schema/property', property: 'additionalProperty', value: options.delete(:additional_property) if options[:additional_property] %>
|
2
|
+
<%= component 'seo/schema/property', property: 'aggregateRating', value: options.delete(:aggregate_rating) if options[:aggregate_rating] %>
|
3
|
+
<%= component 'seo/schema/property', property: 'audience', value: options.delete(:audience) if options[:audience] %>
|
4
|
+
<%= component 'seo/schema/property', property: 'award', value: options.delete(:award) if options[:award] %>
|
5
|
+
<%= component 'seo/schema/property', property: 'brand', value: options.delete(:brand) if options[:brand] %>
|
6
|
+
<%= component 'seo/schema/property', property: 'category', value: options.delete(:category) if options[:category] %>
|
7
|
+
<%= component 'seo/schema/property', property: 'color', value: options.delete(:color) if options[:color] %>
|
8
|
+
<%= component 'seo/schema/property', property: 'depth', value: options.delete(:depth) if options[:depth] %>
|
9
|
+
<%= component 'seo/schema/property', property: 'gtin12', value: options.delete(:gtin12) if options[:gtin12] %>
|
10
|
+
<%= component 'seo/schema/property', property: 'gtin13', value: options.delete(:gtin13) if options[:gtin13] %>
|
11
|
+
<%= component 'seo/schema/property', property: 'gtin14', value: options.delete(:gtin14) if options[:gtin14] %>
|
12
|
+
<%= component 'seo/schema/property', property: 'gtin8', value: options.delete(:gtin8) if options[:gtin8] %>
|
13
|
+
<%= component 'seo/schema/property', property: 'height', value: options.delete(:height) if options[:height] %>
|
14
|
+
<%= component 'seo/schema/property', property: 'isAccessoryOrSparePartFor', value: options.delete(:is_accessory_or_spare_part_for) if options[:is_accessory_or_spare_part_for] %>
|
15
|
+
<%= component 'seo/schema/property', property: 'isConsumableFor', value: options.delete(:is_consumable_for) if options[:is_consumable_for] %>
|
16
|
+
<%= component 'seo/schema/property', property: 'isRelatedTo', value: options.delete(:is_related_to) if options[:is_related_to] %>
|
17
|
+
<%= component 'seo/schema/property', property: 'isSimilarTo', value: options.delete(:is_similar_to) if options[:is_similar_to] %>
|
18
|
+
<%= component 'seo/schema/property', property: 'itemCondition', value: options.delete(:item_condition) if options[:item_condition] %>
|
19
|
+
<%= component 'seo/schema/property', property: 'logo', value: options.delete(:logo) if options[:logo] %>
|
20
|
+
<%= component 'seo/schema/property', property: 'manufacturer', value: options.delete(:manufacturer) if options[:manufacturer] %>
|
21
|
+
<%= component 'seo/schema/property', property: 'material', value: options.delete(:material) if options[:material] %>
|
22
|
+
<%= component 'seo/schema/property', property: 'model', value: options.delete(:model) if options[:model] %>
|
23
|
+
<%= component 'seo/schema/property', property: 'mpn', value: options.delete(:mpn) if options[:mpn] %>
|
24
|
+
<%= component 'seo/schema/property', property: 'offers', value: options.delete(:offers) if options[:offers] %>
|
25
|
+
<%= component 'seo/schema/property', property: 'productID', value: options.delete(:product_id) if options[:product_id] %>
|
26
|
+
<%= component 'seo/schema/property', property: 'productionDate', value: options.delete(:production_date) if options[:production_date] %>
|
27
|
+
<%= component 'seo/schema/property', property: 'purchaseDate', value: options.delete(:purchase_date) if options[:purchase_date] %>
|
28
|
+
<%= component 'seo/schema/property', property: 'releaseDate', value: options.delete(:release_date) if options[:release_date] %>
|
29
|
+
<%= component 'seo/schema/property', property: 'review', value: options.delete(:review) if options[:review] %>
|
30
|
+
<%= component 'seo/schema/property', property: 'sku', value: options.delete(:sku) if options[:sku] %>
|
31
|
+
<%= component 'seo/schema/property', property: 'weight', value: options.delete(:weight) if options[:weight] %>
|
32
|
+
<%= component 'seo/schema/property', property: 'width', value: options.delete(:width) if options[:width] %>
|
33
|
+
|
34
|
+
<%= component 'seo/schema/types/thing', options if options.length > 0 %>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<%= component 'seo/schema/property', property: 'aggregateRating', value: options.delete(:aggregate_rating) if options[:aggregate_rating] %>
|
2
|
+
<%= component 'seo/schema/property', property: 'areaServed', value: options.delete(:area_served) if options[:area_served] %>
|
3
|
+
<%= component 'seo/schema/property', property: 'audience', value: options.delete(:audience) if options[:audience] %>
|
4
|
+
<%= component 'seo/schema/property', property: 'availableChannel', value: options.delete(:available_channel) if options[:available_channel] %>
|
5
|
+
<%= component 'seo/schema/property', property: 'award', value: options.delete(:award) if options[:award] %>
|
6
|
+
<%= component 'seo/schema/property', property: 'brand', value: options.delete(:brand) if options[:brand] %>
|
7
|
+
<%= component 'seo/schema/property', property: 'broker', value: options.delete(:broker) if options[:broker] %>
|
8
|
+
<%= component 'seo/schema/property', property: 'category', value: options.delete(:category) if options[:category] %>
|
9
|
+
<%= component 'seo/schema/property', property: 'hasOfferCatalog', value: options.delete(:has_offer_catalog) if options[:has_offer_catalog] %>
|
10
|
+
<%= component 'seo/schema/property', property: 'hoursAvailable', value: options.delete(:hours_available) if options[:hours_available] %>
|
11
|
+
<%= component 'seo/schema/property', property: 'isRelatedTo', value: options.delete(:is_related_to) if options[:is_related_to] %>
|
12
|
+
<%= component 'seo/schema/property', property: 'isSimilarTo', value: options.delete(:is_similar_to) if options[:is_similar_to] %>
|
13
|
+
<%= component 'seo/schema/property', property: 'logo', value: options.delete(:logo) if options[:logo] %>
|
14
|
+
<%= component 'seo/schema/property', property: 'offers', value: options.delete(:offers) if options[:offers] %>
|
15
|
+
<%= component 'seo/schema/property', property: 'provider', value: options.delete(:provider) if options[:provider] %>
|
16
|
+
<%= component 'seo/schema/property', property: 'providerMobility', value: options.delete(:provider_mobility) if options[:provider_mobility] %>
|
17
|
+
<%= component 'seo/schema/property', property: 'review', value: options.delete(:review) if options[:review] %>
|
18
|
+
<%= component 'seo/schema/property', property: 'serviceOutput', value: options.delete(:service_output) if options[:service_output] %>
|
19
|
+
<%= component 'seo/schema/property', property: 'serviceType', value: options.delete(:service_type) if options[:service_type] %>
|
20
|
+
<%= component 'seo/schema/property', property: 'termsOfService', value: options.delete(:terms_of_service) if options[:terms_of_service] %>
|
21
|
+
|
22
|
+
<%= component 'seo/schema/types/intangible', options if options.length > 0 %>
|
@@ -21,9 +21,12 @@ module SearchEngineOptimization
|
|
21
21
|
config.define_component 'seo/schema/types/brand'
|
22
22
|
config.define_component 'seo/schema/types/creative_work'
|
23
23
|
config.define_component 'seo/schema/types/intangible'
|
24
|
+
config.define_component 'seo/schema/types/offer'
|
24
25
|
config.define_component 'seo/schema/types/organization'
|
25
26
|
config.define_component 'seo/schema/types/person'
|
27
|
+
config.define_component 'seo/schema/types/product'
|
26
28
|
config.define_component 'seo/schema/types/rating'
|
29
|
+
config.define_component 'seo/schema/types/service'
|
27
30
|
config.define_component 'seo/schema/types/thing'
|
28
31
|
|
29
32
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: search-engine-optimization
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jonas Hübotter
|
@@ -83,9 +83,12 @@ files:
|
|
83
83
|
- app/views/mozaic/seo/schema/types/_brand.html.erb
|
84
84
|
- app/views/mozaic/seo/schema/types/_creative_work.html.erb
|
85
85
|
- app/views/mozaic/seo/schema/types/_intangible.html.erb
|
86
|
+
- app/views/mozaic/seo/schema/types/_offer.html.erb
|
86
87
|
- app/views/mozaic/seo/schema/types/_organization.html.erb
|
87
88
|
- app/views/mozaic/seo/schema/types/_person.html.erb
|
89
|
+
- app/views/mozaic/seo/schema/types/_product.html.erb
|
88
90
|
- app/views/mozaic/seo/schema/types/_rating.html.erb
|
91
|
+
- app/views/mozaic/seo/schema/types/_service.html.erb
|
89
92
|
- app/views/mozaic/seo/schema/types/_thing.html.erb
|
90
93
|
- lib/search-engine-optimization.rb
|
91
94
|
- lib/search_engine_optimization/engine.rb
|