hancock_cms_seo 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +9 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/.travis.yml +4 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +86 -0
- data/Rakefile +1 -0
- data/app/assets/javascripts/hancock/rails_admin/plugins/seo.coffee +4 -0
- data/app/assets/javascripts/hancock/rails_admin/plugins/seo/custom/ui.coffee +0 -0
- data/app/assets/stylesheets/hancock/rails_admin/plugins/seo.sass +3 -0
- data/app/assets/stylesheets/hancock/rails_admin/plugins/seo/custom/theming.sass +0 -0
- data/app/assets/stylesheets/hancock/rails_admin/plugins/seo/footer_nav_links.sass +16 -0
- data/app/controllers/concerns/hancock/seo/x_frame_options.rb +42 -0
- data/app/helpers/hancock/seo/seo_helper.rb +60 -0
- data/app/models/concerns/hancock/seo/decorators/seo.rb +60 -0
- data/app/models/concerns/hancock/seo/decorators/sitemap_data.rb +35 -0
- data/app/models/concerns/hancock/seo/seoable.rb +71 -0
- data/app/models/concerns/hancock/seo/sitemap_data_field.rb +37 -0
- data/app/models/concerns/hancock/seo/sitemapable.rb +7 -0
- data/app/models/hancock/seo/seo.rb +16 -0
- data/app/models/hancock/seo/sitemap_data.rb +16 -0
- data/app/views/blocks/_seo_block.html.slim +25 -0
- data/app/views/blocks/_seo_block_with_obj.html.slim +18 -0
- data/app/views/hancock/seo/blocks/_ga.html.slim +8 -0
- data/app/views/hancock/seo/blocks/_ym.html.slim +31 -0
- data/app/views/shared/_meta.html.slim +28 -0
- data/app/views/shared/_obj_with_seo.html.slim +38 -0
- data/app/views/shared/_og.html.slim +4 -0
- data/bin/console +14 -0
- data/bin/setup +7 -0
- data/config/initializers/hancock_seo.rb +7 -0
- data/config/locales/ru.hancock.seo.yml +37 -0
- data/hancock_cms_seo.gemspec +40 -0
- data/lib/generators/hancock/seo/config/config_generator.rb +13 -0
- data/lib/generators/hancock/seo/config/templates/hancock_seo.erb +10 -0
- data/lib/generators/hancock/seo/migrations/migrations_generator.rb +18 -0
- data/lib/generators/hancock/seo/migrations/templates/migration_seos.rb +48 -0
- data/lib/generators/hancock/seo/models/decorators_generator.rb +24 -0
- data/lib/generators/hancock/seo/models/seo_generator.rb +39 -0
- data/lib/generators/hancock/seo/models/sitemap_data_generator.rb +39 -0
- data/lib/generators/hancock/seo/models/templates/seo.erb +57 -0
- data/lib/generators/hancock/seo/models/templates/sitemap_data.erb +31 -0
- data/lib/generators/hancock/seo/sitemap/sitemap_generator.rb +27 -0
- data/lib/generators/hancock/seo/sitemap/templates/sitemap.erb +31 -0
- data/lib/hancock/seo/admin.rb +24 -0
- data/lib/hancock/seo/admin/seo.rb +69 -0
- data/lib/hancock/seo/admin/sitemap_data.rb +47 -0
- data/lib/hancock/seo/configuration.rb +29 -0
- data/lib/hancock/seo/engine.rb +44 -0
- data/lib/hancock/seo/models/active_record/seo.rb +14 -0
- data/lib/hancock/seo/models/active_record/sitemap_data.rb +11 -0
- data/lib/hancock/seo/models/mongoid/seo.rb +25 -0
- data/lib/hancock/seo/models/mongoid/sitemap_data.rb +24 -0
- data/lib/hancock/seo/models/seo.rb +114 -0
- data/lib/hancock/seo/models/sitemap_data.rb +79 -0
- data/lib/hancock/seo/version.rb +5 -0
- data/lib/hancock_cms_seo.rb +43 -0
- data/release.sh +6 -0
- metadata +193 -0
@@ -0,0 +1,14 @@
|
|
1
|
+
module Hancock::Seo
|
2
|
+
module Models
|
3
|
+
module ActiveRecord
|
4
|
+
module Seo
|
5
|
+
extend ActiveSupport::Concern
|
6
|
+
included do
|
7
|
+
if Hancock::Seo.config.localize
|
8
|
+
translates :h1, :title, :keywords, :description, :og_title, :author
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Hancock::Seo
|
2
|
+
module Models
|
3
|
+
module Mongoid
|
4
|
+
module Seo
|
5
|
+
extend ActiveSupport::Concern
|
6
|
+
included do
|
7
|
+
index({seoable_id: 1, seoable_type: 1}, {background: true})
|
8
|
+
index({enabled: 1}, {background: true})
|
9
|
+
|
10
|
+
|
11
|
+
# field :name, type: String, localize: Hancock::Seo.config.localize
|
12
|
+
field :h1, type: String, localize: Hancock::Seo.config.localize
|
13
|
+
|
14
|
+
field :title, type: String, localize: Hancock::Seo.config.localize
|
15
|
+
field :author, type: String, localize: Hancock::Seo.config.localize
|
16
|
+
field :keywords, type: String, localize: Hancock::Seo.config.localize
|
17
|
+
field :description, type: String, localize: Hancock::Seo.config.localize
|
18
|
+
field :robots, type: String, localize: Hancock::Seo.config.localize
|
19
|
+
|
20
|
+
field :og_title, type: String, localize: Hancock::Seo.config.localize
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Hancock::Seo
|
2
|
+
module Models
|
3
|
+
module Mongoid
|
4
|
+
module SitemapData
|
5
|
+
extend ActiveSupport::Concern
|
6
|
+
|
7
|
+
included do
|
8
|
+
index({sitemap_data_field_id: 1, sitemap_data_field_type: 1}, {background: true})
|
9
|
+
index({enabled: 1, sitemap_show: 1}, {background: true})
|
10
|
+
|
11
|
+
field :sitemap_show, type: Boolean, default: true
|
12
|
+
field :sitemap_lastmod, type: DateTime
|
13
|
+
field :sitemap_changefreq, type: String, default: 'daily'
|
14
|
+
field :sitemap_priority, type: Float
|
15
|
+
|
16
|
+
scope :sitemap_show, -> { where(sitemap_show: true) }
|
17
|
+
scope :for_sitemap, -> { sitemap_show }
|
18
|
+
scope :show_in_sitemap, -> { sitemap_show }
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,114 @@
|
|
1
|
+
module Hancock::Seo
|
2
|
+
module Models
|
3
|
+
module Seo
|
4
|
+
extend ActiveSupport::Concern
|
5
|
+
include Hancock::Model
|
6
|
+
include Hancock::Enableable
|
7
|
+
if Hancock::Seo.config.gallery_support
|
8
|
+
include Hancock::Gallery::Paperclipable
|
9
|
+
end
|
10
|
+
|
11
|
+
if Hancock::Gallery.config.cache_support
|
12
|
+
include Hancock::Cache::Cacheable
|
13
|
+
end
|
14
|
+
|
15
|
+
include Hancock::Seo.orm_specific('Seo')
|
16
|
+
|
17
|
+
included do
|
18
|
+
|
19
|
+
if Hancock.rails4?
|
20
|
+
belongs_to :seoable, polymorphic: true, touch: true
|
21
|
+
else
|
22
|
+
belongs_to :seoable, polymorphic: true, optional: true, touch: true
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.goto_hancock
|
26
|
+
self.where(seoable_type: /^Enjoy/).all.map { |s|
|
27
|
+
unless s.seoable.blank?
|
28
|
+
s.seoable_type = s.seoable_type.sub("Enjoy", "Hancock")
|
29
|
+
s.seoable_type = "Hancock::Pages::Page" if s.seoable_type == "Hancock::Page"
|
30
|
+
s.seoable_type = "Hancock::Catalog::Category" if s.seoable_type == "Hancock::Catalog::ItemCategory"
|
31
|
+
s.seoable_type = "Hancock::News::Category" if s.seoable_type == "Hancock::News::NewsCategory"
|
32
|
+
end
|
33
|
+
s.save
|
34
|
+
}
|
35
|
+
end
|
36
|
+
|
37
|
+
if Hancock::Seo.config.gallery_support
|
38
|
+
set_default_auto_crop_params_for(:og_image)
|
39
|
+
hancock_cms_attached_file(:og_image)
|
40
|
+
end
|
41
|
+
|
42
|
+
before_create do
|
43
|
+
set_default_seo
|
44
|
+
end
|
45
|
+
|
46
|
+
before_save do
|
47
|
+
self.seoable and self.seoable.touch
|
48
|
+
end
|
49
|
+
|
50
|
+
|
51
|
+
# def self.admin_can_default_actions
|
52
|
+
# [:show, :read, :edit, :update].freeze
|
53
|
+
# end
|
54
|
+
# def self.manager_can_default_actions
|
55
|
+
# [:show, :read, :edit, :update].freeze
|
56
|
+
# end
|
57
|
+
def self.admin_cannot_actions
|
58
|
+
[:new, :create].freeze
|
59
|
+
end
|
60
|
+
def self.manager_cannot_actions
|
61
|
+
[:new, :create].freeze
|
62
|
+
end
|
63
|
+
|
64
|
+
def self.manager_can_add_actions
|
65
|
+
ret = [:robots_txt_for_model]
|
66
|
+
# ret += [:multiple_file_upload, :sort_embedded] if Hancock::Seo.mongoid?
|
67
|
+
ret << :model_settings if Hancock::Seo.config.model_settings_support
|
68
|
+
# ret << :model_accesses if Hancock::Seo.config.user_abilities_support
|
69
|
+
ret += [:comments, :model_comments] if Hancock::Seo.config.ra_comments_support
|
70
|
+
ret.freeze
|
71
|
+
end
|
72
|
+
def self.rails_admin_add_visible_actions
|
73
|
+
ret = [:robots_txt_for_model]
|
74
|
+
# ret += [:multiple_file_upload, :sort_embedded] if Hancock::Seo.mongoid?
|
75
|
+
ret << :model_settings if Hancock::Seo.config.model_settings_support
|
76
|
+
ret << :model_accesses if Hancock::Seo.config.user_abilities_support
|
77
|
+
ret += [:comments, :model_comments] if Hancock::Seo.config.ra_comments_support
|
78
|
+
ret.freeze
|
79
|
+
end
|
80
|
+
|
81
|
+
def self.clear_empty_objects
|
82
|
+
Hancock::Seo::Seo.where(:id.in => with_empty_objects).delete_all
|
83
|
+
end
|
84
|
+
|
85
|
+
def self.with_empty_objects
|
86
|
+
Hancock::Seo::Seo.all.select { |s|
|
87
|
+
!s.seoable.nil? rescue true
|
88
|
+
}.map(&:id)
|
89
|
+
end
|
90
|
+
|
91
|
+
end
|
92
|
+
|
93
|
+
def set_default_seo
|
94
|
+
_obj = self.seoable
|
95
|
+
if _obj and _obj.set_default_seo?
|
96
|
+
self.h1 = _obj.default_seo_h1 if self.h1.blank?
|
97
|
+
self.title = _obj.default_seo_title if self.title.blank?
|
98
|
+
self.keywords = _obj.default_seo_keywords if self.keywords.blank?
|
99
|
+
self.description = _obj.default_seo_description if self.description.blank?
|
100
|
+
self.title = _obj.default_seo_og_title if self.title.blank?
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
def og_image_styles
|
105
|
+
{thumb: "160x120>", standard: "800x600>"}
|
106
|
+
end
|
107
|
+
|
108
|
+
def og_image_jcrop_options
|
109
|
+
{}
|
110
|
+
end
|
111
|
+
|
112
|
+
end
|
113
|
+
end
|
114
|
+
end
|
@@ -0,0 +1,79 @@
|
|
1
|
+
module Hancock::Seo
|
2
|
+
module Models
|
3
|
+
module SitemapData
|
4
|
+
extend ActiveSupport::Concern
|
5
|
+
include Hancock::Model
|
6
|
+
include Hancock::Enableable
|
7
|
+
|
8
|
+
include Hancock::Seo.orm_specific('SitemapData')
|
9
|
+
|
10
|
+
SITEMAP_CHANGEFREQ_ARRAY = %w(always hourly daily weekly monthly yearly never).freeze
|
11
|
+
|
12
|
+
included do
|
13
|
+
|
14
|
+
if Hancock.rails4?
|
15
|
+
belongs_to :sitemap_data_field, polymorphic: true, touch: true
|
16
|
+
else
|
17
|
+
belongs_to :sitemap_data_field, polymorphic: true, optional: true, touch: true
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.rails_admin_name
|
21
|
+
self.name.gsub("::", "~").underscore
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.goto_hancock
|
25
|
+
self.where(sitemap_data_field_type: /^Enjoy/).all.map { |s|
|
26
|
+
unless s.sitemap_data_field.blank?
|
27
|
+
s.sitemap_data_field_type = s.sitemap_data_field_type.sub("Enjoy", "Hancock");
|
28
|
+
s.sitemap_data_field_type = "Hancock::Pages::Page" if s.sitemap_data_field_type == "Hancock::Page"
|
29
|
+
s.sitemap_data_field_type = "Hancock::Catalog::Category" if s.sitemap_data_field_type == "Hancock::Catalog::ItemCategory"
|
30
|
+
s.sitemap_data_field_type = "Hancock::News::Category" if s.sitemap_data_field_type == "Hancock::News::NewsCategory"
|
31
|
+
end
|
32
|
+
s.save
|
33
|
+
}
|
34
|
+
end
|
35
|
+
|
36
|
+
# def self.admin_can_default_actions
|
37
|
+
# [:show, :read, :edit, :update].freeze
|
38
|
+
# end
|
39
|
+
# def self.manager_can_default_actions
|
40
|
+
# [:show, :read, :edit, :update].freeze
|
41
|
+
# end
|
42
|
+
def self.admin_cannot_add_actions
|
43
|
+
[:new, :create].freeze
|
44
|
+
end
|
45
|
+
def self.manager_cannot_add_actions
|
46
|
+
[:new, :create].freeze
|
47
|
+
end
|
48
|
+
|
49
|
+
def self.manager_can_add_actions
|
50
|
+
ret = [:sitemap_for_model]
|
51
|
+
# ret += [:multiple_file_upload, :sort_embedded] if Hancock::Seo.mongoid?
|
52
|
+
ret << :model_settings if Hancock::Seo.config.model_settings_support
|
53
|
+
# ret << :model_accesses if Hancock::Seo.config.user_abilities_support
|
54
|
+
ret += [:comments, :model_comments] if Hancock::Seo.config.ra_comments_support
|
55
|
+
ret.freeze
|
56
|
+
end
|
57
|
+
def self.rails_admin_add_visible_actions
|
58
|
+
ret = [:sitemap_for_model]
|
59
|
+
# ret += [:multiple_file_upload, :sort_embedded] if Hancock::Seo.mongoid?
|
60
|
+
ret << :model_settings if Hancock::Seo.config.model_settings_support
|
61
|
+
ret << :model_accesses if Hancock::Seo.config.user_abilities_support
|
62
|
+
ret += [:comments, :model_comments] if Hancock::Seo.config.ra_comments_support
|
63
|
+
ret.freeze
|
64
|
+
end
|
65
|
+
|
66
|
+
def self.clear_empty_objects
|
67
|
+
Hancock::Seo::SitemapData.where(:id.in => with_empty_objects).delete_all
|
68
|
+
end
|
69
|
+
|
70
|
+
def self.with_empty_objects
|
71
|
+
Hancock::Seo::SitemapData.all.select { |s|
|
72
|
+
!s.sitemap_data_field.nil? rescue true
|
73
|
+
}.map(&:id)
|
74
|
+
end
|
75
|
+
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require "hancock/seo/version"
|
2
|
+
|
3
|
+
require 'sitemap_generator'
|
4
|
+
require 'rails_admin_sitemap'
|
5
|
+
require 'rails_admin_robots_txt'
|
6
|
+
|
7
|
+
require 'hancock/seo/configuration'
|
8
|
+
require 'hancock/seo/engine'
|
9
|
+
|
10
|
+
|
11
|
+
module Hancock::Seo
|
12
|
+
include Hancock::Plugin
|
13
|
+
|
14
|
+
class << self
|
15
|
+
def clear_empty_objects
|
16
|
+
[Hancock::Seo::Seo, Hancock::Seo::SitemapData].map { |model|
|
17
|
+
model.clear_empty_objects
|
18
|
+
}
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
autoload :Admin, 'hancock/seo/admin'
|
23
|
+
module Admin
|
24
|
+
autoload :SitemapData, 'hancock/seo/admin/sitemap_data'
|
25
|
+
autoload :Seo, 'hancock/seo/admin/seo'
|
26
|
+
end
|
27
|
+
|
28
|
+
module Models
|
29
|
+
autoload :SitemapData, 'hancock/seo/models/sitemap_data'
|
30
|
+
autoload :Seo, 'hancock/seo/models/seo'
|
31
|
+
|
32
|
+
module Mongoid
|
33
|
+
autoload :SitemapData, 'hancock/seo/models/mongoid/sitemap_data'
|
34
|
+
autoload :Seo, 'hancock/seo/models/mongoid/seo'
|
35
|
+
end
|
36
|
+
|
37
|
+
module ActiveRecord
|
38
|
+
autoload :SitemapData, 'hancock/seo/models/active_record/sitemap_data'
|
39
|
+
autoload :Seo, 'hancock/seo/models/active_record/seo'
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
data/release.sh
ADDED
metadata
ADDED
@@ -0,0 +1,193 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: hancock_cms_seo
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Alexander Kiseliev
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-04-01 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.10'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.10'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: hancock_cms
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 1.0.2
|
48
|
+
- - "<"
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: 2.1.x
|
51
|
+
type: :runtime
|
52
|
+
prerelease: false
|
53
|
+
version_requirements: !ruby/object:Gem::Requirement
|
54
|
+
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: 1.0.2
|
58
|
+
- - "<"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: 2.1.x
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: sitemap_generator
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - "~>"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: 5.3.1
|
68
|
+
type: :runtime
|
69
|
+
prerelease: false
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - "~>"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: 5.3.1
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: rails_admin_sitemap
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - "~>"
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: 0.3.0
|
82
|
+
type: :runtime
|
83
|
+
prerelease: false
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - "~>"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: 0.3.0
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: rails_admin_robots_txt
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - "~>"
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: 0.1.0
|
96
|
+
type: :runtime
|
97
|
+
prerelease: false
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - "~>"
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: 0.1.0
|
103
|
+
description: 'hancock_cms_seo '
|
104
|
+
email:
|
105
|
+
- dev@redrocks.pro
|
106
|
+
executables: []
|
107
|
+
extensions: []
|
108
|
+
extra_rdoc_files: []
|
109
|
+
files:
|
110
|
+
- ".gitignore"
|
111
|
+
- ".ruby-gemset"
|
112
|
+
- ".ruby-version"
|
113
|
+
- ".travis.yml"
|
114
|
+
- Gemfile
|
115
|
+
- LICENSE.txt
|
116
|
+
- README.md
|
117
|
+
- Rakefile
|
118
|
+
- app/assets/javascripts/hancock/rails_admin/plugins/seo.coffee
|
119
|
+
- app/assets/javascripts/hancock/rails_admin/plugins/seo/custom/ui.coffee
|
120
|
+
- app/assets/stylesheets/hancock/rails_admin/plugins/seo.sass
|
121
|
+
- app/assets/stylesheets/hancock/rails_admin/plugins/seo/custom/theming.sass
|
122
|
+
- app/assets/stylesheets/hancock/rails_admin/plugins/seo/footer_nav_links.sass
|
123
|
+
- app/controllers/concerns/hancock/seo/x_frame_options.rb
|
124
|
+
- app/helpers/hancock/seo/seo_helper.rb
|
125
|
+
- app/models/concerns/hancock/seo/decorators/seo.rb
|
126
|
+
- app/models/concerns/hancock/seo/decorators/sitemap_data.rb
|
127
|
+
- app/models/concerns/hancock/seo/seoable.rb
|
128
|
+
- app/models/concerns/hancock/seo/sitemap_data_field.rb
|
129
|
+
- app/models/concerns/hancock/seo/sitemapable.rb
|
130
|
+
- app/models/hancock/seo/seo.rb
|
131
|
+
- app/models/hancock/seo/sitemap_data.rb
|
132
|
+
- app/views/blocks/_seo_block.html.slim
|
133
|
+
- app/views/blocks/_seo_block_with_obj.html.slim
|
134
|
+
- app/views/hancock/seo/blocks/_ga.html.slim
|
135
|
+
- app/views/hancock/seo/blocks/_ym.html.slim
|
136
|
+
- app/views/shared/_meta.html.slim
|
137
|
+
- app/views/shared/_obj_with_seo.html.slim
|
138
|
+
- app/views/shared/_og.html.slim
|
139
|
+
- bin/console
|
140
|
+
- bin/setup
|
141
|
+
- config/initializers/hancock_seo.rb
|
142
|
+
- config/locales/ru.hancock.seo.yml
|
143
|
+
- hancock_cms_seo.gemspec
|
144
|
+
- lib/generators/hancock/seo/config/config_generator.rb
|
145
|
+
- lib/generators/hancock/seo/config/templates/hancock_seo.erb
|
146
|
+
- lib/generators/hancock/seo/migrations/migrations_generator.rb
|
147
|
+
- lib/generators/hancock/seo/migrations/templates/migration_seos.rb
|
148
|
+
- lib/generators/hancock/seo/models/decorators_generator.rb
|
149
|
+
- lib/generators/hancock/seo/models/seo_generator.rb
|
150
|
+
- lib/generators/hancock/seo/models/sitemap_data_generator.rb
|
151
|
+
- lib/generators/hancock/seo/models/templates/seo.erb
|
152
|
+
- lib/generators/hancock/seo/models/templates/sitemap_data.erb
|
153
|
+
- lib/generators/hancock/seo/sitemap/sitemap_generator.rb
|
154
|
+
- lib/generators/hancock/seo/sitemap/templates/sitemap.erb
|
155
|
+
- lib/hancock/seo/admin.rb
|
156
|
+
- lib/hancock/seo/admin/seo.rb
|
157
|
+
- lib/hancock/seo/admin/sitemap_data.rb
|
158
|
+
- lib/hancock/seo/configuration.rb
|
159
|
+
- lib/hancock/seo/engine.rb
|
160
|
+
- lib/hancock/seo/models/active_record/seo.rb
|
161
|
+
- lib/hancock/seo/models/active_record/sitemap_data.rb
|
162
|
+
- lib/hancock/seo/models/mongoid/seo.rb
|
163
|
+
- lib/hancock/seo/models/mongoid/sitemap_data.rb
|
164
|
+
- lib/hancock/seo/models/seo.rb
|
165
|
+
- lib/hancock/seo/models/sitemap_data.rb
|
166
|
+
- lib/hancock/seo/version.rb
|
167
|
+
- lib/hancock_cms_seo.rb
|
168
|
+
- release.sh
|
169
|
+
homepage: https://github.com/red-rocks/hancock_cms_seo
|
170
|
+
licenses:
|
171
|
+
- MIT
|
172
|
+
metadata: {}
|
173
|
+
post_install_message:
|
174
|
+
rdoc_options: []
|
175
|
+
require_paths:
|
176
|
+
- lib
|
177
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
178
|
+
requirements:
|
179
|
+
- - ">="
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
version: '0'
|
182
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
183
|
+
requirements:
|
184
|
+
- - ">="
|
185
|
+
- !ruby/object:Gem::Version
|
186
|
+
version: '0'
|
187
|
+
requirements: []
|
188
|
+
rubyforge_project:
|
189
|
+
rubygems_version: 2.5.1
|
190
|
+
signing_key:
|
191
|
+
specification_version: 4
|
192
|
+
summary: hancock_cms_seo
|
193
|
+
test_files: []
|