para-seo_tools 0.4.3 → 0.4.6
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/app/models/para/seo_tools/page.rb +13 -1
- data/app/views/admin/para/seo_tools/pages/_filters.html.haml +17 -24
- data/app/views/admin/para/seo_tools/pages/_table.html.haml +2 -0
- data/config/locales/para-seo_tools.fr.yml +2 -0
- data/db/migrate/20150601085253_create_seo_tools_pages.rb +1 -1
- data/lib/generators/para/seo_tools/install/templates/initializer.rb +6 -0
- data/lib/para/seo_tools/helpers/page_helper.rb +2 -2
- data/lib/para/seo_tools/sitemap.rb +1 -1
- data/lib/para/seo_tools/version.rb +1 -1
- data/lib/para/seo_tools.rb +3 -0
- data/para-seo_tools.gemspec +1 -1
- metadata +6 -8
- data/bin/rails +0 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 963b8c1e96cb711ed75e3331dc352557be853672
|
4
|
+
data.tar.gz: b22ecd8d54cf19e155e598eaafded1204292e664
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ec6e122729a5b47932f5659c5a53e11b04360b97819efc6e93939216cab0b412b3bebd4c57aff4913cbfeb74a4c366c34198b9b8f7270fee69f51b5dbfac6bb4
|
7
|
+
data.tar.gz: 94f0d7408d3a93399a80e248d84d7947cb300f0cdc97f897a5a55f16b283e630f57b954e8d583ca16652ee5ac7ff3413ac1af8d94569d91a00195c6478c7820f
|
@@ -53,6 +53,12 @@ module Para
|
|
53
53
|
Arel::Nodes::SqlLiteral.new(expr.to_sql)
|
54
54
|
end
|
55
55
|
|
56
|
+
ransacker :subdomain do |parent|
|
57
|
+
expr = Arel::Nodes::InfixOperation.new('->>', parent.table[:config], Arel::Nodes.build_quoted('subdomain'))
|
58
|
+
|
59
|
+
Arel::Nodes::SqlLiteral.new(expr.to_sql)
|
60
|
+
end
|
61
|
+
|
56
62
|
def scope_attributes
|
57
63
|
scope.each_with_object({}) do |attribute, hash|
|
58
64
|
hash[attribute] = if self.class.column_names.include?(attribute.to_s)
|
@@ -84,7 +90,7 @@ module Para
|
|
84
90
|
host << Para::SeoTools.host
|
85
91
|
end
|
86
92
|
|
87
|
-
host.compact.join('.')
|
93
|
+
host = host.compact.join('.')
|
88
94
|
|
89
95
|
[Para::SeoTools.protocol, host].join('://')
|
90
96
|
end
|
@@ -112,6 +118,12 @@ module Para
|
|
112
118
|
end
|
113
119
|
end
|
114
120
|
|
121
|
+
def self.available_subdomains
|
122
|
+
select("DISTINCT(config->>'subdomain') AS subdomain").map do |page|
|
123
|
+
page.read_attribute(:subdomain)
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
115
127
|
def method_missing(method_name, *args, &block)
|
116
128
|
if config.key?(method_name.to_s)
|
117
129
|
config[method_name.to_s]
|
@@ -1,25 +1,18 @@
|
|
1
1
|
= search_form_for @q, builder: SimpleForm::FormBuilder, url: @component.path, html: { data: { :'filters-form' => true } } do |form|
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
.
|
9
|
-
%
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
%span.input-group-addon
|
20
|
-
%i.fa.fa-search
|
21
|
-
|
22
|
-
= form.input_field :identifier_or_path_or_title_or_description_or_keywords_or_canonical_cont, as: :string, placeholder: t('para.shared.search'), class: 'form-control'
|
23
|
-
|
24
|
-
%span.input-group-btn
|
25
|
-
= form.submit t('para.shared.search'), class: 'btn btn-default'
|
2
|
+
%table
|
3
|
+
%tbody
|
4
|
+
%tr
|
5
|
+
- if Para::SeoTools.handle_subdomain
|
6
|
+
%td{ width: '15%', style: 'padding-right: 10px;' }
|
7
|
+
= form.input_field :subdomain_eq, as: :selectize, collection: Para::SeoTools::Page.available_subdomains, class: 'form-control', placeholder: t('para.seo_tools.pages.subdomain')
|
8
|
+
- if @available_locales.length > 1
|
9
|
+
%td{ width: '15%', style: 'padding-right: 10px;' }
|
10
|
+
= form.input_field :locale_eq, as: :selectize, collection: @available_locales, class: 'form-control', placeholder: t('para.seo_tools.pages.choose_locale')
|
11
|
+
%td{ width: '80%' }
|
12
|
+
.col-sm-12
|
13
|
+
.input-group
|
14
|
+
%span.input-group-addon
|
15
|
+
%i.fa.fa-search
|
16
|
+
= form.input_field :identifier_or_path_or_title_or_description_or_keywords_or_canonical_cont, as: :string, placeholder: t('para.shared.search'), class: 'form-control'
|
17
|
+
%td{ width: '20%' }
|
18
|
+
= form.submit t('para.shared.search'), class: 'btn btn-default btn-block'
|
@@ -1,5 +1,6 @@
|
|
1
1
|
= resources_table(model: model, component: component, actions: false) do |table|
|
2
2
|
= table.header do
|
3
|
+
= table.header_for(:subdomain, sort: :subdomain) if Para::SeoTools.handle_subdomain
|
3
4
|
= table.header_for(:path)
|
4
5
|
= table.header_for(:title)
|
5
6
|
= table.header_for(:description)
|
@@ -7,6 +8,7 @@
|
|
7
8
|
%th
|
8
9
|
|
9
10
|
= table.rows(resources) do |resource|
|
11
|
+
= table.data_for(resource.subdomain) if Para::SeoTools.handle_subdomain
|
10
12
|
= table.data_for(resource, :path)
|
11
13
|
= table.data_for(resource.meta_tag(:title))
|
12
14
|
= table.data_for(resource.meta_tag(:description))
|
@@ -8,6 +8,7 @@ fr:
|
|
8
8
|
refresh_skeleton: "Mettre à jour"
|
9
9
|
ping_search_engines: "Envoyer le sitemap aux moteurs de recherche"
|
10
10
|
choose_locale: "Choisissez une langue"
|
11
|
+
subdomain: Sous-domaine
|
11
12
|
|
12
13
|
jobs:
|
13
14
|
para/seo_tools/skeleton/job:
|
@@ -33,4 +34,5 @@ fr:
|
|
33
34
|
image: "Image pour le partage sur les réseaux sociaux"
|
34
35
|
canonical: "URL canonique"
|
35
36
|
locale: "Langue"
|
37
|
+
subdomain: "Sous-domaine"
|
36
38
|
|
@@ -3,7 +3,7 @@ class CreateSeoToolsPages < ActiveRecord::Migration
|
|
3
3
|
create_table :seo_tools_pages do |t|
|
4
4
|
t.string :identifier
|
5
5
|
t.string :path
|
6
|
-
t.references :meta_tags_list, index: true
|
6
|
+
t.references :meta_tags_list, index: true
|
7
7
|
|
8
8
|
t.timestamps null: false
|
9
9
|
end
|
@@ -5,6 +5,12 @@ Para::SeoTools.configure do |config|
|
|
5
5
|
#
|
6
6
|
# config.host = ENV['APP_DOMAIN']
|
7
7
|
|
8
|
+
# Set a regexp to filter path from skeleton
|
9
|
+
#
|
10
|
+
# Defaults to '.*', matching all path
|
11
|
+
#
|
12
|
+
# config.sitemap_path_regexp = '.*'
|
13
|
+
|
8
14
|
# Default title methods to be checked for title
|
9
15
|
#
|
10
16
|
# config.title_methods = %w(title name)
|
@@ -18,7 +18,7 @@ module Para
|
|
18
18
|
|
19
19
|
def current_seo_tools_page
|
20
20
|
RequestStore.store['para.seo_tools.current_seo_tools_page'] ||=
|
21
|
-
seo_tools_page_for({ path: request.path }.
|
21
|
+
seo_tools_page_for({ path: request.path }.reverse_merge(seo_tools_scope_for(request)))
|
22
22
|
end
|
23
23
|
|
24
24
|
# Retrieve the first page that matches the given scope conditions
|
@@ -48,7 +48,7 @@ module Para
|
|
48
48
|
|
49
49
|
return Para::SeoTools::Page.none unless source_page
|
50
50
|
|
51
|
-
scope_hash = scope_hash.
|
51
|
+
scope_hash = scope_hash.reverse_merge(seo_tools_scope_for(request))
|
52
52
|
source_page.siblings.scope_with(scope_hash)
|
53
53
|
end
|
54
54
|
|
data/lib/para/seo_tools.rb
CHANGED
data/para-seo_tools.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.add_dependency 'rails', '>= 4.0', '<
|
21
|
+
spec.add_dependency 'rails', '>= 4.0', '< 6.0'
|
22
22
|
spec.add_dependency 'sitemap_generator'
|
23
23
|
spec.add_dependency 'request_store'
|
24
24
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: para-seo_tools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Valentin Ballestrino
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-02-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -19,7 +19,7 @@ dependencies:
|
|
19
19
|
version: '4.0'
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: '
|
22
|
+
version: '6.0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,7 +29,7 @@ dependencies:
|
|
29
29
|
version: '4.0'
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: '
|
32
|
+
version: '6.0'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: sitemap_generator
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -89,8 +89,7 @@ dependencies:
|
|
89
89
|
description: SEO tools for the Para CMS
|
90
90
|
email:
|
91
91
|
- vala@glyph.fr
|
92
|
-
executables:
|
93
|
-
- rails
|
92
|
+
executables: []
|
94
93
|
extensions: []
|
95
94
|
extra_rdoc_files: []
|
96
95
|
files:
|
@@ -114,7 +113,6 @@ files:
|
|
114
113
|
- app/views/admin/para/seo_tools/pages/_form.html.haml
|
115
114
|
- app/views/admin/para/seo_tools/pages/_table.html.haml
|
116
115
|
- app/views/admin/para/seo_tools/skeleton_resources/index.html.haml
|
117
|
-
- bin/rails
|
118
116
|
- config/locales/para-seo_tools.fr.yml
|
119
117
|
- db/migrate/20150601085253_create_seo_tools_pages.rb
|
120
118
|
- db/migrate/20160610094032_add_meta_tags_to_seo_tools_pages.rb
|
@@ -177,7 +175,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
177
175
|
version: '0'
|
178
176
|
requirements: []
|
179
177
|
rubyforge_project:
|
180
|
-
rubygems_version: 2.6.
|
178
|
+
rubygems_version: 2.6.8
|
181
179
|
signing_key:
|
182
180
|
specification_version: 4
|
183
181
|
summary: SEO tools for the Para CMS
|
data/bin/rails
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
# This command will automatically be run when you run "rails" with Rails 4 gems installed from the root of your application.
|
3
|
-
|
4
|
-
ENGINE_ROOT = File.expand_path('../..', __FILE__)
|
5
|
-
ENGINE_PATH = File.expand_path('../../lib/para/seo_tools/engine', __FILE__)
|
6
|
-
|
7
|
-
# Set up gems listed in the Gemfile.
|
8
|
-
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
|
9
|
-
require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE'])
|
10
|
-
|
11
|
-
require 'rails/all'
|
12
|
-
require 'rails/engine/commands'
|