cama_meta_tag 1.7.2 → 1.7.3
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/README.md +31 -0
- data/Rakefile +6 -21
- data/app/controllers/plugins/cama_meta_tag/admin_controller.rb +4 -0
- data/app/helpers/plugins/cama_meta_tag/main_helper.rb +53 -53
- data/app/views/plugins/cama_meta_tag/admin/_meta_tag_fields.html.erb +0 -1
- data/config/camaleon_plugin.json +2 -5
- data/config/initializers/custom_models.rb +4 -2
- data/config/routes.rb +11 -9
- data/lib/cama_meta_tag/engine.rb +2 -0
- data/lib/cama_meta_tag/version.rb +3 -1
- data/lib/cama_meta_tag.rb +5 -1
- data/lib/tasks/cama_meta_tag_tasks.rake +2 -0
- metadata +11 -99
- data/test/cama_meta_tag_test.rb +0 -7
- data/test/dummy/README.rdoc +0 -28
- data/test/dummy/Rakefile +0 -6
- data/test/dummy/app/assets/javascripts/application.js +0 -13
- data/test/dummy/app/assets/stylesheets/application.css +0 -15
- data/test/dummy/app/controllers/application_controller.rb +0 -5
- data/test/dummy/app/helpers/application_helper.rb +0 -2
- data/test/dummy/app/views/layouts/application.html.erb +0 -14
- data/test/dummy/bin/bundle +0 -3
- data/test/dummy/bin/rails +0 -4
- data/test/dummy/bin/rake +0 -4
- data/test/dummy/bin/setup +0 -29
- data/test/dummy/config/application.rb +0 -26
- data/test/dummy/config/boot.rb +0 -5
- data/test/dummy/config/database.yml +0 -25
- data/test/dummy/config/environment.rb +0 -5
- data/test/dummy/config/environments/development.rb +0 -41
- data/test/dummy/config/environments/production.rb +0 -79
- data/test/dummy/config/environments/test.rb +0 -42
- data/test/dummy/config/initializers/assets.rb +0 -11
- data/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
- data/test/dummy/config/initializers/cookies_serializer.rb +0 -3
- data/test/dummy/config/initializers/filter_parameter_logging.rb +0 -4
- data/test/dummy/config/initializers/inflections.rb +0 -16
- data/test/dummy/config/initializers/mime_types.rb +0 -4
- data/test/dummy/config/initializers/session_store.rb +0 -3
- data/test/dummy/config/initializers/wrap_parameters.rb +0 -14
- data/test/dummy/config/locales/en.yml +0 -23
- data/test/dummy/config/routes.rb +0 -56
- data/test/dummy/config/secrets.yml +0 -22
- data/test/dummy/config.ru +0 -4
- data/test/dummy/public/404.html +0 -67
- data/test/dummy/public/422.html +0 -67
- data/test/dummy/public/500.html +0 -66
- data/test/dummy/public/favicon.ico +0 -0
- data/test/integration/navigation_test.rb +0 -8
- data/test/test_helper.rb +0 -20
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9de91d1a13ed3f14bce219ab7f843d9bc11a7126dbfaf9cb475ade2a293381e5
|
|
4
|
+
data.tar.gz: 99ec370351b9fe5a167fba07058420cbb877dc5c7088769d2ec79d66b273337b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 70d9d4a672e694f44e8a48fcc21f4b136a9261b3dbfec818b5cfb68d788cc5966bc281064926e6543643f08fdcbe4a680448808e5f9dd29bfb1a91de21f75736
|
|
7
|
+
data.tar.gz: 9a9960ea97a7ee74d1e250796a2e954e67bbed160b467da4d63b296a72294e0c9ff9ada4f31596fe4ee9d3c2e5734778d2548395c65fa9db05e5278e7c0b2e1e
|
data/README.md
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Seo For Camaleon CMS
|
|
2
|
+
Permit to manage the seo attributes for each page of Camaleon CMS.
|
|
3
|
+

|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
- Go to admin -> plugins and activate the plugin
|
|
7
|
+
- Edit your Post Types "Content Types" settings to enable or disable SEO
|
|
8
|
+
|
|
9
|
+
## Development
|
|
10
|
+
|
|
11
|
+
The suite runs against a camaleon_cms-backed dummy Rails app under `spec/` (the Ruby version comes
|
|
12
|
+
from `.tool-versions`):
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
bundle install
|
|
16
|
+
(cd spec/dummy && RAILS_ENV=test bin/rails db:test:prepare)
|
|
17
|
+
bin/rspec
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Lint with the same configuration CI enforces:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
bin/rubocop
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Releasing
|
|
27
|
+
|
|
28
|
+
Bump `lib/cama_meta_tag/version.rb`, cut a `## <version>` section in `CHANGELOG.md`, merge, then
|
|
29
|
+
run the **Release** workflow from the Actions tab on `master`, typing that same version. The
|
|
30
|
+
workflow refuses to run without a green CI run for the released commit, publishes the gem to
|
|
31
|
+
RubyGems, and creates the tag and GitHub release.
|
data/Rakefile
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
begin
|
|
2
4
|
require 'bundler/setup'
|
|
3
5
|
rescue LoadError
|
|
@@ -10,28 +12,11 @@ RDoc::Task.new(:rdoc) do |rdoc|
|
|
|
10
12
|
rdoc.rdoc_dir = 'rdoc'
|
|
11
13
|
rdoc.title = 'CamaMetaTag'
|
|
12
14
|
rdoc.options << '--line-numbers'
|
|
13
|
-
rdoc.rdoc_files.include('README.
|
|
15
|
+
rdoc.rdoc_files.include('README.md')
|
|
14
16
|
rdoc.rdoc_files.include('lib/**/*.rb')
|
|
15
17
|
end
|
|
16
18
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
load 'rails/tasks/statistics.rake'
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
# The suite is run with bin/rspec against the camaleon_cms-backed dummy app under spec/dummy, so the
|
|
20
|
+
# dummy-app engine tasks and the default `test` task are intentionally absent.
|
|
21
|
+
# `Bundler::GemHelper.install_tasks` still provides build/install/release.
|
|
25
22
|
Bundler::GemHelper.install_tasks
|
|
26
|
-
|
|
27
|
-
require 'rake/testtask'
|
|
28
|
-
|
|
29
|
-
Rake::TestTask.new(:test) do |t|
|
|
30
|
-
t.libs << 'lib'
|
|
31
|
-
t.libs << 'test'
|
|
32
|
-
t.pattern = 'test/**/*_test.rb'
|
|
33
|
-
t.verbose = false
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
task default: :test
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# The plugin's admin settings page, which stores the post types selected for the SEO fields.
|
|
1
4
|
class Plugins::CamaMetaTag::AdminController < CamaleonCms::Apps::PluginsAdminController
|
|
2
5
|
include Plugins::CamaMetaTag::MainHelper
|
|
6
|
+
|
|
3
7
|
def settings
|
|
4
8
|
# actions for admin panel
|
|
5
9
|
end
|
|
@@ -1,83 +1,83 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Hook handlers for the cama_meta_tag plugin, named in config/camaleon_plugin.json. They add the SEO
|
|
4
|
+
# fields to the admin post, category and post type forms, store the ones submitted for a category or
|
|
5
|
+
# a post type (camaleon_cms stores a post's own), and override the frontend meta tags with the options
|
|
6
|
+
# saved on the visited object.
|
|
1
7
|
module Plugins::CamaMetaTag::MainHelper
|
|
8
|
+
# The SEO attributes the plugin manages, keyed by meta tag, with the option each is stored under.
|
|
9
|
+
META_TAG_OPTIONS = { title: 'seo_title', keywords: 'keywords', description: 'seo_description',
|
|
10
|
+
author: 'seo_author', image: 'seo_image', canonical: 'seo_canonical' }.freeze
|
|
2
11
|
|
|
3
12
|
# here all actions on going to active
|
|
4
13
|
# you can run sql commands like this:
|
|
5
14
|
# results = ActiveRecord::Base.connection.execute(query);
|
|
6
15
|
# plugin: plugin model
|
|
7
|
-
def cama_meta_tag_on_active(plugin)
|
|
8
|
-
end
|
|
16
|
+
def cama_meta_tag_on_active(plugin); end
|
|
9
17
|
|
|
10
18
|
# here all actions on going to inactive
|
|
11
19
|
# plugin: plugin model
|
|
12
|
-
def cama_meta_tag_on_inactive(plugin)
|
|
13
|
-
end
|
|
20
|
+
def cama_meta_tag_on_inactive(plugin); end
|
|
14
21
|
|
|
22
|
+
# Overrides camaleon_cms's default meta tags on a visited post, post type or category with the SEO
|
|
23
|
+
# options saved on it.
|
|
15
24
|
def cama_meta_tag_on_seo(args)
|
|
16
|
-
|
|
17
|
-
page = args[:object].present? ? args[:object] : @cama_visited_post
|
|
18
|
-
tmp = {
|
|
19
|
-
title: page.get_option('seo_title').to_s.translate,
|
|
20
|
-
keywords: page.get_option('keywords').to_s.translate,
|
|
21
|
-
descr: page.get_option('seo_description').to_s.translate,
|
|
22
|
-
author: page.get_option('seo_author').to_s.translate,
|
|
23
|
-
image: page.get_option('seo_image').to_s.translate,
|
|
24
|
-
canonical: page.get_option('seo_canonical').to_s.translate
|
|
25
|
-
}
|
|
26
|
-
args[:seo_data][:keywords] = tmp[:keywords] if tmp[:keywords].present?
|
|
27
|
-
args[:seo_data][:author] = tmp[:author] if tmp[:author].present?
|
|
28
|
-
args[:seo_data][:canonical] = tmp[:canonical] if tmp[:canonical].present?
|
|
29
|
-
if tmp[:title].present?
|
|
30
|
-
args[:seo_data][:title] = tmp[:title]
|
|
31
|
-
args[:seo_data][:og][:title] = tmp[:title]
|
|
32
|
-
args[:seo_data][:twitter][:title] = tmp[:title]
|
|
33
|
-
end
|
|
34
|
-
if tmp[:descr].present?
|
|
35
|
-
args[:seo_data][:description] = tmp[:descr]
|
|
36
|
-
args[:seo_data][:og][:description] = tmp[:descr]
|
|
37
|
-
args[:seo_data][:twitter][:description] = tmp[:descr]
|
|
38
|
-
end
|
|
39
|
-
if tmp[:image].present?
|
|
40
|
-
args[:seo_data][:image] = tmp[:image]
|
|
41
|
-
args[:seo_data][:twitter][:image] = tmp[:image]
|
|
42
|
-
args[:seo_data][:og][:image] = tmp[:image]
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
# fix for old versions of camaleon cms
|
|
48
|
-
def cama_meta_tag_post_saved(args)
|
|
49
|
-
if cama_meta_tag_post_is_for_old_version?(args[:post])
|
|
50
|
-
args[:post].set_multiple_options(params[:options].permit!.to_h)
|
|
51
|
-
end
|
|
52
|
-
end
|
|
25
|
+
return unless is_page? || is_category? || is_post_type?
|
|
53
26
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
27
|
+
# camaleon_cms passes the visited object; the controller ivar is the fallback when it does not.
|
|
28
|
+
page = args[:object].presence || @cama_visited_post # rubocop:disable Rails/HelperInstanceVariable
|
|
29
|
+
seo = META_TAG_OPTIONS.transform_values { |option| page.get_option(option).to_s.translate }
|
|
30
|
+
cama_meta_tag_apply_seo(args[:seo_data], seo)
|
|
57
31
|
end
|
|
58
32
|
|
|
59
33
|
def cama_meta_tag_post_type_saved(args)
|
|
60
|
-
args[:post_type].set_multiple_options(
|
|
34
|
+
args[:post_type].set_multiple_options(cama_meta_tag_submitted_options)
|
|
61
35
|
end
|
|
62
36
|
|
|
63
37
|
def cama_meta_tag_category_saved(args)
|
|
64
|
-
args[:category].set_multiple_options(
|
|
38
|
+
args[:category].set_multiple_options(cama_meta_tag_submitted_options)
|
|
65
39
|
end
|
|
66
40
|
|
|
67
41
|
def cama_meta_tag_post_type_form_custom_html(args)
|
|
68
|
-
args[:html] << render(partial: plugin_view('admin/meta_tag_fields', 'cama_meta_tag'),
|
|
42
|
+
args[:html] << render(partial: plugin_view('admin/meta_tag_fields', 'cama_meta_tag'),
|
|
43
|
+
locals: { post: args[:post_type] })
|
|
69
44
|
end
|
|
70
45
|
|
|
71
46
|
def cama_meta_tag_category_form_custom_html(args)
|
|
72
|
-
args[:html] << render(partial: plugin_view('admin/meta_tag_fields', 'cama_meta_tag'),
|
|
47
|
+
args[:html] << render(partial: plugin_view('admin/meta_tag_fields', 'cama_meta_tag'),
|
|
48
|
+
locals: { post: args[:category],
|
|
49
|
+
post_type: args[:category].post_type })
|
|
73
50
|
end
|
|
74
51
|
|
|
75
52
|
def cama_meta_tag_post_form_custom_html(args)
|
|
76
|
-
unless
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
53
|
+
return unless args[:post].manage_seo?
|
|
54
|
+
|
|
55
|
+
args[:html] << render(partial: plugin_view('admin/meta_tag_fields'),
|
|
56
|
+
locals: { post: args[:post],
|
|
57
|
+
post_type: args[:post_type] })
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
private
|
|
61
|
+
|
|
62
|
+
# Writes each non-blank SEO value over its default; the title, description and image also replace
|
|
63
|
+
# their Open Graph and Twitter copies.
|
|
64
|
+
def cama_meta_tag_apply_seo(seo_data, seo)
|
|
65
|
+
%i[keywords author canonical].each { |key| seo_data[key] = seo[key] if seo[key].present? }
|
|
66
|
+
%i[title description image].each do |key|
|
|
67
|
+
next if seo[key].blank?
|
|
68
|
+
|
|
69
|
+
[seo_data, seo_data[:og], seo_data[:twitter]].each { |data| data[key] = seo[key] }
|
|
80
70
|
end
|
|
81
|
-
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
# The submitted SEO fields, as text values. Nothing else under `options` is stored: on a post type
|
|
74
|
+
# it would bypass camaleon_cms's own allowlist of post type options. The values are picked directly
|
|
75
|
+
# rather than through `permit`, which reports a nested value under an SEO key as unpermitted and,
|
|
76
|
+
# on a host that raises for those, would fail the save after the record was stored.
|
|
77
|
+
def cama_meta_tag_submitted_options
|
|
78
|
+
options = params[:options]
|
|
79
|
+
return {} unless options.is_a?(ActionController::Parameters)
|
|
80
|
+
|
|
81
|
+
options.to_unsafe_h.slice(*META_TAG_OPTIONS.values).select { |_key, value| value.is_a?(String) }
|
|
82
82
|
end
|
|
83
83
|
end
|
|
@@ -36,6 +36,5 @@
|
|
|
36
36
|
<script type="application/javascript">
|
|
37
37
|
jQuery(function(){
|
|
38
38
|
$("#options_seo_image").input_upload({label: '', title: '<%= t('.seo_image', default: t('.seo_image', locale: :en)) %>', type: 'image'});
|
|
39
|
-
<% if cama_meta_tag_post_is_for_old_version?(post) %> $('#post_keywords').closest('.form-group').remove(); <% end %>
|
|
40
39
|
})
|
|
41
40
|
</script>
|
data/config/camaleon_plugin.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"title": "Cama Meta Tags",
|
|
3
3
|
"descr": "",
|
|
4
|
-
"key": "cama_meta_tag",
|
|
4
|
+
"key": "cama_meta_tag",
|
|
5
5
|
"helpers": [
|
|
6
6
|
"Plugins::CamaMetaTag::MainHelper"
|
|
7
7
|
],
|
|
@@ -16,12 +16,9 @@
|
|
|
16
16
|
"post_form_custom_html": ["cama_meta_tag_post_form_custom_html"],
|
|
17
17
|
"created_post_type": ["cama_meta_tag_post_type_saved"],
|
|
18
18
|
"updated_post_type": ["cama_meta_tag_post_type_saved"],
|
|
19
|
-
"created_post": ["cama_meta_tag_post_saved"],
|
|
20
|
-
"updated_post": ["cama_meta_tag_post_saved"],
|
|
21
19
|
"category_form": ["cama_meta_tag_category_form_custom_html"],
|
|
22
20
|
"created_category": ["cama_meta_tag_category_saved"],
|
|
23
21
|
"updated_category": ["cama_meta_tag_category_saved"],
|
|
24
22
|
"post_type_settings_form": ["cama_meta_tag_post_type_form_custom_html"]
|
|
25
|
-
//here you can add all your hooks (read documentation)
|
|
26
23
|
}
|
|
27
|
-
}
|
|
24
|
+
}
|
data/config/routes.rb
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
Rails.application.routes.draw do
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
end
|
|
4
|
+
scope PluginRoutes.system_info['relative_url_root'] do
|
|
5
|
+
# Admin Panel
|
|
6
|
+
scope :admin, as: 'admin', path: PluginRoutes.system_info['admin_path_name'] do
|
|
7
|
+
namespace 'plugins' do
|
|
8
|
+
namespace 'cama_meta_tag' do
|
|
9
|
+
controller :admin do
|
|
10
|
+
get :settings
|
|
11
|
+
post :save_settings
|
|
11
12
|
end
|
|
12
13
|
end
|
|
13
14
|
end
|
|
14
15
|
end
|
|
15
16
|
end
|
|
17
|
+
end
|
data/lib/cama_meta_tag/engine.rb
CHANGED
data/lib/cama_meta_tag.rb
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require 'cama_meta_tag/engine'
|
|
4
|
+
|
|
5
|
+
# SEO meta tags plugin for Camaleon CMS. The engine puts the plugin's app/ and config/ on the host
|
|
6
|
+
# application's paths, where camaleon_cms discovers it through config/camaleon_plugin.json.
|
|
3
7
|
module CamaMetaTag
|
|
4
8
|
end
|
metadata
CHANGED
|
@@ -1,44 +1,31 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cama_meta_tag
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.7.
|
|
4
|
+
version: 1.7.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Owen Peredo
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: rails
|
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
|
16
|
-
requirements:
|
|
17
|
-
- - ">="
|
|
18
|
-
- !ruby/object:Gem::Version
|
|
19
|
-
version: 4.1.0
|
|
20
|
-
type: :runtime
|
|
21
|
-
prerelease: false
|
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
-
requirements:
|
|
24
|
-
- - ">="
|
|
25
|
-
- !ruby/object:Gem::Version
|
|
26
|
-
version: 4.1.0
|
|
27
|
-
- !ruby/object:Gem::Dependency
|
|
28
|
-
name: sqlite3
|
|
29
14
|
requirement: !ruby/object:Gem::Requirement
|
|
30
15
|
requirements:
|
|
31
16
|
- - ">="
|
|
32
17
|
- !ruby/object:Gem::Version
|
|
33
18
|
version: '0'
|
|
34
|
-
type: :
|
|
19
|
+
type: :runtime
|
|
35
20
|
prerelease: false
|
|
36
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
22
|
requirements:
|
|
38
23
|
- - ">="
|
|
39
24
|
- !ruby/object:Gem::Version
|
|
40
25
|
version: '0'
|
|
41
|
-
description:
|
|
26
|
+
description: Manage the SEO attributes (title, keywords, description, author, image
|
|
27
|
+
and canonical link) of Camaleon CMS posts, categories and post types, rendered as
|
|
28
|
+
meta tags on the frontend.
|
|
42
29
|
email:
|
|
43
30
|
- owenperedo@gmail.com
|
|
44
31
|
executables: []
|
|
@@ -46,6 +33,7 @@ extensions: []
|
|
|
46
33
|
extra_rdoc_files: []
|
|
47
34
|
files:
|
|
48
35
|
- MIT-LICENSE
|
|
36
|
+
- README.md
|
|
49
37
|
- Rakefile
|
|
50
38
|
- app/controllers/plugins/cama_meta_tag/admin_controller.rb
|
|
51
39
|
- app/helpers/plugins/cama_meta_tag/main_helper.rb
|
|
@@ -59,48 +47,10 @@ files:
|
|
|
59
47
|
- lib/cama_meta_tag/engine.rb
|
|
60
48
|
- lib/cama_meta_tag/version.rb
|
|
61
49
|
- lib/tasks/cama_meta_tag_tasks.rake
|
|
62
|
-
- test/cama_meta_tag_test.rb
|
|
63
|
-
- test/dummy/README.rdoc
|
|
64
|
-
- test/dummy/Rakefile
|
|
65
|
-
- test/dummy/app/assets/javascripts/application.js
|
|
66
|
-
- test/dummy/app/assets/stylesheets/application.css
|
|
67
|
-
- test/dummy/app/controllers/application_controller.rb
|
|
68
|
-
- test/dummy/app/helpers/application_helper.rb
|
|
69
|
-
- test/dummy/app/views/layouts/application.html.erb
|
|
70
|
-
- test/dummy/bin/bundle
|
|
71
|
-
- test/dummy/bin/rails
|
|
72
|
-
- test/dummy/bin/rake
|
|
73
|
-
- test/dummy/bin/setup
|
|
74
|
-
- test/dummy/config.ru
|
|
75
|
-
- test/dummy/config/application.rb
|
|
76
|
-
- test/dummy/config/boot.rb
|
|
77
|
-
- test/dummy/config/database.yml
|
|
78
|
-
- test/dummy/config/environment.rb
|
|
79
|
-
- test/dummy/config/environments/development.rb
|
|
80
|
-
- test/dummy/config/environments/production.rb
|
|
81
|
-
- test/dummy/config/environments/test.rb
|
|
82
|
-
- test/dummy/config/initializers/assets.rb
|
|
83
|
-
- test/dummy/config/initializers/backtrace_silencers.rb
|
|
84
|
-
- test/dummy/config/initializers/cookies_serializer.rb
|
|
85
|
-
- test/dummy/config/initializers/filter_parameter_logging.rb
|
|
86
|
-
- test/dummy/config/initializers/inflections.rb
|
|
87
|
-
- test/dummy/config/initializers/mime_types.rb
|
|
88
|
-
- test/dummy/config/initializers/session_store.rb
|
|
89
|
-
- test/dummy/config/initializers/wrap_parameters.rb
|
|
90
|
-
- test/dummy/config/locales/en.yml
|
|
91
|
-
- test/dummy/config/routes.rb
|
|
92
|
-
- test/dummy/config/secrets.yml
|
|
93
|
-
- test/dummy/public/404.html
|
|
94
|
-
- test/dummy/public/422.html
|
|
95
|
-
- test/dummy/public/500.html
|
|
96
|
-
- test/dummy/public/favicon.ico
|
|
97
|
-
- test/integration/navigation_test.rb
|
|
98
|
-
- test/test_helper.rb
|
|
99
50
|
homepage: https://github.com/owen2345/camaleon-cms-seo
|
|
100
51
|
licenses:
|
|
101
52
|
- MIT
|
|
102
53
|
metadata: {}
|
|
103
|
-
post_install_message:
|
|
104
54
|
rdoc_options: []
|
|
105
55
|
require_paths:
|
|
106
56
|
- lib
|
|
@@ -108,52 +58,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
108
58
|
requirements:
|
|
109
59
|
- - ">="
|
|
110
60
|
- !ruby/object:Gem::Version
|
|
111
|
-
version: '0'
|
|
61
|
+
version: '3.0'
|
|
112
62
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
113
63
|
requirements:
|
|
114
64
|
- - ">="
|
|
115
65
|
- !ruby/object:Gem::Version
|
|
116
66
|
version: '0'
|
|
117
67
|
requirements: []
|
|
118
|
-
rubygems_version:
|
|
119
|
-
signing_key:
|
|
68
|
+
rubygems_version: 4.0.19
|
|
120
69
|
specification_version: 4
|
|
121
|
-
summary:
|
|
122
|
-
test_files:
|
|
123
|
-
- test/dummy/app/controllers/application_controller.rb
|
|
124
|
-
- test/dummy/app/views/layouts/application.html.erb
|
|
125
|
-
- test/dummy/app/assets/javascripts/application.js
|
|
126
|
-
- test/dummy/app/assets/stylesheets/application.css
|
|
127
|
-
- test/dummy/app/helpers/application_helper.rb
|
|
128
|
-
- test/dummy/bin/rake
|
|
129
|
-
- test/dummy/bin/setup
|
|
130
|
-
- test/dummy/bin/bundle
|
|
131
|
-
- test/dummy/bin/rails
|
|
132
|
-
- test/dummy/config/secrets.yml
|
|
133
|
-
- test/dummy/config/routes.rb
|
|
134
|
-
- test/dummy/config/locales/en.yml
|
|
135
|
-
- test/dummy/config/environments/production.rb
|
|
136
|
-
- test/dummy/config/environments/development.rb
|
|
137
|
-
- test/dummy/config/environments/test.rb
|
|
138
|
-
- test/dummy/config/environment.rb
|
|
139
|
-
- test/dummy/config/application.rb
|
|
140
|
-
- test/dummy/config/database.yml
|
|
141
|
-
- test/dummy/config/boot.rb
|
|
142
|
-
- test/dummy/config/initializers/backtrace_silencers.rb
|
|
143
|
-
- test/dummy/config/initializers/mime_types.rb
|
|
144
|
-
- test/dummy/config/initializers/filter_parameter_logging.rb
|
|
145
|
-
- test/dummy/config/initializers/session_store.rb
|
|
146
|
-
- test/dummy/config/initializers/wrap_parameters.rb
|
|
147
|
-
- test/dummy/config/initializers/assets.rb
|
|
148
|
-
- test/dummy/config/initializers/cookies_serializer.rb
|
|
149
|
-
- test/dummy/config/initializers/inflections.rb
|
|
150
|
-
- test/dummy/config.ru
|
|
151
|
-
- test/dummy/Rakefile
|
|
152
|
-
- test/dummy/public/favicon.ico
|
|
153
|
-
- test/dummy/public/422.html
|
|
154
|
-
- test/dummy/public/500.html
|
|
155
|
-
- test/dummy/public/404.html
|
|
156
|
-
- test/dummy/README.rdoc
|
|
157
|
-
- test/cama_meta_tag_test.rb
|
|
158
|
-
- test/integration/navigation_test.rb
|
|
159
|
-
- test/test_helper.rb
|
|
70
|
+
summary: SEO meta tags plugin for Camaleon CMS
|
|
71
|
+
test_files: []
|
data/test/cama_meta_tag_test.rb
DELETED
data/test/dummy/README.rdoc
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
== README
|
|
2
|
-
|
|
3
|
-
This README would normally document whatever steps are necessary to get the
|
|
4
|
-
application up and running.
|
|
5
|
-
|
|
6
|
-
Things you may want to cover:
|
|
7
|
-
|
|
8
|
-
* Ruby version
|
|
9
|
-
|
|
10
|
-
* System dependencies
|
|
11
|
-
|
|
12
|
-
* Configuration
|
|
13
|
-
|
|
14
|
-
* Database creation
|
|
15
|
-
|
|
16
|
-
* Database initialization
|
|
17
|
-
|
|
18
|
-
* How to run the test suite
|
|
19
|
-
|
|
20
|
-
* Services (job queues, cache servers, search engines, etc.)
|
|
21
|
-
|
|
22
|
-
* Deployment instructions
|
|
23
|
-
|
|
24
|
-
* ...
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
Please feel free to use a different markup language if you do not plan to run
|
|
28
|
-
<tt>rake doc:app</tt>.
|
data/test/dummy/Rakefile
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
// This is a manifest file that'll be compiled into application.js, which will include all the files
|
|
2
|
-
// listed below.
|
|
3
|
-
//
|
|
4
|
-
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
|
|
5
|
-
// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
|
|
6
|
-
//
|
|
7
|
-
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
|
8
|
-
// compiled file.
|
|
9
|
-
//
|
|
10
|
-
// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
|
|
11
|
-
// about supported directives.
|
|
12
|
-
//
|
|
13
|
-
//= require_tree .
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* This is a manifest file that'll be compiled into application.css, which will include all the files
|
|
3
|
-
* listed below.
|
|
4
|
-
*
|
|
5
|
-
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
|
|
6
|
-
* or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
|
|
7
|
-
*
|
|
8
|
-
* You're free to add application-wide styles to this file and they'll appear at the bottom of the
|
|
9
|
-
* compiled file so the styles you add here take precedence over styles defined in any styles
|
|
10
|
-
* defined in the other CSS/SCSS files in this directory. It is generally better to create a new
|
|
11
|
-
* file per style scope.
|
|
12
|
-
*
|
|
13
|
-
*= require_tree .
|
|
14
|
-
*= require_self
|
|
15
|
-
*/
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<title>Dummy</title>
|
|
5
|
-
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
|
|
6
|
-
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
|
|
7
|
-
<%= csrf_meta_tags %>
|
|
8
|
-
</head>
|
|
9
|
-
<body>
|
|
10
|
-
|
|
11
|
-
<%= yield %>
|
|
12
|
-
|
|
13
|
-
</body>
|
|
14
|
-
</html>
|
data/test/dummy/bin/bundle
DELETED
data/test/dummy/bin/rails
DELETED
data/test/dummy/bin/rake
DELETED
data/test/dummy/bin/setup
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env ruby
|
|
2
|
-
require 'pathname'
|
|
3
|
-
|
|
4
|
-
# path to your application root.
|
|
5
|
-
APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
|
|
6
|
-
|
|
7
|
-
Dir.chdir APP_ROOT do
|
|
8
|
-
# This script is a starting point to setup your application.
|
|
9
|
-
# Add necessary setup steps to this file:
|
|
10
|
-
|
|
11
|
-
puts "== Installing dependencies =="
|
|
12
|
-
system "gem install bundler --conservative"
|
|
13
|
-
system "bundle check || bundle install"
|
|
14
|
-
|
|
15
|
-
# puts "\n== Copying sample files =="
|
|
16
|
-
# unless File.exist?("config/database.yml")
|
|
17
|
-
# system "cp config/database.yml.sample config/database.yml"
|
|
18
|
-
# end
|
|
19
|
-
|
|
20
|
-
puts "\n== Preparing database =="
|
|
21
|
-
system "bin/rake db:setup"
|
|
22
|
-
|
|
23
|
-
puts "\n== Removing old logs and tempfiles =="
|
|
24
|
-
system "rm -f log/*"
|
|
25
|
-
system "rm -rf tmp/cache"
|
|
26
|
-
|
|
27
|
-
puts "\n== Restarting application server =="
|
|
28
|
-
system "touch tmp/restart.txt"
|
|
29
|
-
end
|