occams 1.0.0 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/issue_template.md +2 -4
- data/.rubocop.yml +23 -40
- data/CHANGELOG.md +18 -3
- data/Gemfile +17 -17
- data/LICENSE +1 -1
- data/README.md +15 -19
- data/Rakefile +1 -1
- data/TODOS.md +6 -0
- data/app/controllers/application_controller.rb +0 -2
- data/app/controllers/concerns/occams/paginate.rb +0 -2
- data/app/controllers/concerns/occams/reorder_action.rb +0 -2
- data/app/controllers/occams/admin/base_controller.rb +1 -3
- data/app/controllers/occams/admin/cms/base_controller.rb +10 -11
- data/app/controllers/occams/admin/cms/categories_controller.rb +0 -2
- data/app/controllers/occams/admin/cms/files_controller.rb +21 -24
- data/app/controllers/occams/admin/cms/layouts_controller.rb +8 -9
- data/app/controllers/occams/admin/cms/pages_controller.rb +28 -29
- data/app/controllers/occams/admin/cms/revisions/base_controller.rb +5 -7
- data/app/controllers/occams/admin/cms/revisions/layout_controller.rb +1 -3
- data/app/controllers/occams/admin/cms/revisions/page_controller.rb +3 -5
- data/app/controllers/occams/admin/cms/revisions/snippet_controller.rb +1 -3
- data/app/controllers/occams/admin/cms/revisions/translation_controller.rb +3 -5
- data/app/controllers/occams/admin/cms/sites_controller.rb +7 -8
- data/app/controllers/occams/admin/cms/snippets_controller.rb +7 -8
- data/app/controllers/occams/admin/cms/translations_controller.rb +26 -28
- data/app/controllers/occams/cms/assets_controller.rb +5 -7
- data/app/controllers/occams/cms/base_controller.rb +7 -14
- data/app/controllers/occams/cms/content_controller.rb +19 -16
- data/app/helpers/occams/admin/cms_helper.rb +3 -5
- data/app/helpers/occams/cms_helper.rb +13 -10
- data/app/models/concerns/occams/cms/with_categories.rb +6 -8
- data/app/models/concerns/occams/cms/with_fragments.rb +6 -8
- data/app/models/occams/cms/categorization.rb +3 -5
- data/app/models/occams/cms/category.rb +5 -7
- data/app/models/occams/cms/file.rb +10 -10
- data/app/models/occams/cms/fragment.rb +5 -6
- data/app/models/occams/cms/layout.rb +11 -12
- data/app/models/occams/cms/page.rb +20 -17
- data/app/models/occams/cms/revision.rb +1 -3
- data/app/models/occams/cms/site.rb +16 -17
- data/app/models/occams/cms/snippet.rb +5 -7
- data/app/models/occams/cms/translation.rb +5 -6
- data/app/views/layouts/occams/admin/cms/_left.html.haml +5 -0
- data/app/views/occams/admin/cms/files/_file.html.haml +1 -1
- data/config/application.rb +4 -6
- data/config/boot.rb +4 -3
- data/config/environment.rb +1 -1
- data/config/environments/development.rb +2 -2
- data/config/environments/test.rb +1 -1
- data/config/initializers/occams.rb +2 -2
- data/config.ru +1 -1
- data/lib/generators/occams/cms/assets_generator.rb +3 -5
- data/lib/generators/occams/cms/cms_generator.rb +13 -15
- data/lib/generators/occams/cms/controllers_generator.rb +2 -4
- data/lib/generators/occams/cms/models_generator.rb +2 -4
- data/lib/generators/occams/cms/views_generator.rb +2 -4
- data/lib/generators/occams/scaffold/scaffold_generator.rb +19 -20
- data/lib/occams/access_control/admin_authentication.rb +0 -2
- data/lib/occams/access_control/admin_authorization.rb +0 -2
- data/lib/occams/access_control/public_authentication.rb +0 -2
- data/lib/occams/access_control/public_authorization.rb +0 -2
- data/lib/occams/configuration.rb +33 -35
- data/lib/occams/content/block.rb +0 -2
- data/lib/occams/content/params_parser.rb +12 -14
- data/lib/occams/content/renderer.rb +15 -18
- data/lib/occams/content/tag.rb +1 -3
- data/lib/occams/content/tags/asset.rb +13 -15
- data/lib/occams/content/tags/checkbox.rb +4 -6
- data/lib/occams/content/tags/date.rb +2 -4
- data/lib/occams/content/tags/datetime.rb +4 -6
- data/lib/occams/content/tags/file.rb +13 -15
- data/lib/occams/content/tags/file_link.rb +9 -10
- data/lib/occams/content/tags/files.rb +10 -12
- data/lib/occams/content/tags/fragment.rb +4 -6
- data/lib/occams/content/tags/helper.rb +6 -8
- data/lib/occams/content/tags/markdown.rb +2 -4
- data/lib/occams/content/tags/mixins/file_content.rb +4 -5
- data/lib/occams/content/tags/number.rb +1 -3
- data/lib/occams/content/tags/page_file_link.rb +9 -10
- data/lib/occams/content/tags/partial.rb +5 -7
- data/lib/occams/content/tags/snippet.rb +3 -5
- data/lib/occams/content/tags/template.rb +5 -7
- data/lib/occams/content/tags/text.rb +1 -3
- data/lib/occams/content/tags/textarea.rb +1 -3
- data/lib/occams/content/tags/wysiwyg.rb +1 -3
- data/lib/occams/content.rb +22 -22
- data/lib/occams/engine.rb +11 -13
- data/lib/occams/error.rb +0 -8
- data/lib/occams/extensions/acts_as_tree.rb +14 -20
- data/lib/occams/extensions/has_revisions.rb +7 -11
- data/lib/occams/form_builder.rb +5 -9
- data/lib/occams/render_methods.rb +11 -17
- data/lib/occams/routes/cms.rb +3 -5
- data/lib/occams/routes/cms_admin.rb +7 -9
- data/lib/occams/routing.rb +2 -4
- data/lib/occams/seeds/file/exporter.rb +7 -13
- data/lib/occams/seeds/file/importer.rb +13 -17
- data/lib/occams/seeds/layout/exporter.rb +9 -11
- data/lib/occams/seeds/layout/importer.rb +9 -11
- data/lib/occams/seeds/page/exporter.rb +19 -23
- data/lib/occams/seeds/page/importer.rb +17 -19
- data/lib/occams/seeds/snippet/exporter.rb +6 -8
- data/lib/occams/seeds/snippet/importer.rb +6 -8
- data/lib/occams/seeds.rb +6 -12
- data/lib/occams/version.rb +1 -3
- data/lib/occams/view_hooks.rb +1 -3
- data/lib/occams.rb +25 -29
- data/lib/tasks/cms_seeds.rake +4 -4
- data/occams.gemspec +22 -21
- metadata +65 -10
- data/LICENSE.comfy +0 -20
@@ -1,7 +1,7 @@
|
|
1
1
|
%li{data: {id: file.id}}
|
2
2
|
:ruby
|
3
3
|
file_tag = cms_file_link_tag(file)
|
4
|
-
thumb_url = url_for(file.attachment.
|
4
|
+
thumb_url = url_for(file.attachment.representation(resize_to_limit: [200, nil])) if file.attachment.variable?
|
5
5
|
.row
|
6
6
|
.col-md-5.item
|
7
7
|
.item-controls.d-none.d-lg-block
|
data/config/application.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative
|
3
|
+
require_relative 'boot'
|
4
4
|
|
5
|
-
require
|
5
|
+
require 'rails/all'
|
6
6
|
|
7
7
|
# Require the gems listed in Gemfile, including any gems
|
8
8
|
# you've limited to :test, :development, or :production.
|
@@ -10,8 +10,7 @@ Bundler.require(*Rails.groups)
|
|
10
10
|
|
11
11
|
module Occams
|
12
12
|
class Application < Rails::Application
|
13
|
-
|
14
|
-
require_relative "../lib/occams"
|
13
|
+
require_relative '../lib/occams'
|
15
14
|
|
16
15
|
config.load_defaults 5.2
|
17
16
|
|
@@ -31,9 +30,8 @@ module Occams
|
|
31
30
|
config.railties_order = [ActiveStorage::Engine, :main_app, :all]
|
32
31
|
|
33
32
|
# Making sure we don't load our dev routes as part of the engine
|
34
|
-
config.paths[
|
33
|
+
config.paths['config/routes.rb'] << 'config/cms_routes.rb'
|
35
34
|
|
36
35
|
config.i18n.enforce_available_locales = true
|
37
|
-
|
38
36
|
end
|
39
37
|
end
|
data/config/boot.rb
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# Set up gems listed in the Gemfile.
|
4
|
-
ENV[
|
4
|
+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
|
5
5
|
|
6
|
-
require
|
7
|
-
|
6
|
+
require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE'])
|
7
|
+
|
8
|
+
File.exist? ENV.fetch('BUNDLE_GEMFILE')
|
data/config/environment.rb
CHANGED
@@ -16,12 +16,12 @@ defined?(Occams::Application) && Occams::Application.configure do
|
|
16
16
|
|
17
17
|
# Enable/disable caching. By default caching is disabled.
|
18
18
|
# Run rails dev:cache to toggle caching.
|
19
|
-
if Rails.root.join(
|
19
|
+
if Rails.root.join('tmp/caching-dev.txt').exist?
|
20
20
|
config.action_controller.perform_caching = true
|
21
21
|
|
22
22
|
config.cache_store = :memory_store
|
23
23
|
config.public_file_server.headers = {
|
24
|
-
|
24
|
+
'Cache-Control' => "public, max-age=#{2.days.to_i}"
|
25
25
|
}
|
26
26
|
else
|
27
27
|
config.action_controller.perform_caching = false
|
data/config/environments/test.rb
CHANGED
@@ -17,7 +17,7 @@ defined?(Occams::Application) && Occams::Application.configure do
|
|
17
17
|
# Configure public file server for tests with Cache-Control for performance.
|
18
18
|
config.public_file_server.enabled = true
|
19
19
|
config.public_file_server.headers = {
|
20
|
-
|
20
|
+
'Cache-Control' => "public, max-age=#{1.hour.to_i}"
|
21
21
|
}
|
22
22
|
|
23
23
|
# Show full error reports and disable caching.
|
@@ -90,8 +90,8 @@ end
|
|
90
90
|
|
91
91
|
# Default credentials for Occams::AccessControl::AdminAuthentication
|
92
92
|
# YOU REALLY WANT TO CHANGE THIS BEFORE PUTTING YOUR SITE LIVE
|
93
|
-
Occams::AccessControl::AdminAuthentication.username =
|
94
|
-
Occams::AccessControl::AdminAuthentication.password =
|
93
|
+
Occams::AccessControl::AdminAuthentication.username = 'user'
|
94
|
+
Occams::AccessControl::AdminAuthentication.password = 'pass'
|
95
95
|
|
96
96
|
# Uncomment this module and `config.admin_auth` above to use custom admin authentication
|
97
97
|
# module OccamsAdminAuthentication
|
data/config.ru
CHANGED
@@ -4,14 +4,12 @@ module Occams
|
|
4
4
|
module Generators
|
5
5
|
module Cms
|
6
6
|
class AssetsGenerator < Rails::Generators::Base
|
7
|
-
|
8
|
-
source_root File.expand_path(File.join(File.dirname(__FILE__), "../../../../app/assets"))
|
7
|
+
source_root File.expand_path(File.join(File.dirname(__FILE__), '../../../../app/assets'))
|
9
8
|
|
10
9
|
def generate_assets
|
11
|
-
directory
|
12
|
-
directory
|
10
|
+
directory 'javascripts/occams/admin/cms', 'app/assets/javascripts/occams/admin/cms'
|
11
|
+
directory 'stylesheets/occams/admin/cms', 'app/assets/stylesheets/occams/admin/cms'
|
13
12
|
end
|
14
|
-
|
15
13
|
end
|
16
14
|
end
|
17
15
|
end
|
@@ -1,31 +1,30 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
3
|
+
require 'rails/generators/active_record'
|
4
4
|
|
5
5
|
module Occams
|
6
6
|
module Generators
|
7
7
|
class CmsGenerator < Rails::Generators::Base
|
8
|
-
|
9
8
|
include Rails::Generators::Migration
|
10
9
|
include Thor::Actions
|
11
10
|
|
12
|
-
source_root File.expand_path(
|
11
|
+
source_root File.expand_path('../../../..', __dir__)
|
13
12
|
|
14
13
|
def generate_migration
|
15
|
-
destination = File.expand_path(
|
14
|
+
destination = File.expand_path('db/migrate/01_create_cms.rb', destination_root)
|
16
15
|
migration_dir = File.dirname(destination)
|
17
|
-
destination = self.class.migration_exists?(migration_dir,
|
16
|
+
destination = self.class.migration_exists?(migration_dir, 'create_cms')
|
18
17
|
|
19
18
|
if destination
|
20
19
|
puts "\e[0m\e[31mFound existing cms_create.rb migration. Remove it if you want to regenerate.\e[0m"
|
21
20
|
else
|
22
|
-
migration_template
|
21
|
+
migration_template 'db/migrate/01_create_cms.rb', 'db/migrate/create_cms.rb'
|
23
22
|
end
|
24
23
|
end
|
25
24
|
|
26
25
|
def generate_initializer
|
27
|
-
copy_file
|
28
|
-
|
26
|
+
copy_file 'config/initializers/occams.rb',
|
27
|
+
'config/initializers/occams.rb'
|
29
28
|
end
|
30
29
|
|
31
30
|
def generate_railties_order
|
@@ -46,24 +45,23 @@ module Occams
|
|
46
45
|
end
|
47
46
|
|
48
47
|
def generate_cms_seeds
|
49
|
-
directory
|
48
|
+
directory 'db/cms_seeds', 'db/cms_seeds'
|
50
49
|
end
|
51
50
|
|
52
51
|
def generate_assets
|
53
|
-
copy_file
|
54
|
-
|
55
|
-
copy_file
|
56
|
-
|
52
|
+
copy_file 'app/assets/javascripts/occams/admin/cms/custom.js',
|
53
|
+
'app/assets/javascripts/occams/admin/cms/custom.js'
|
54
|
+
copy_file 'app/assets/stylesheets/occams/admin/cms/custom.sass',
|
55
|
+
'app/assets/stylesheets/occams/admin/cms/custom.sass'
|
57
56
|
end
|
58
57
|
|
59
58
|
def show_readme
|
60
|
-
readme
|
59
|
+
readme 'lib/generators/occams/cms/README'
|
61
60
|
end
|
62
61
|
|
63
62
|
def self.next_migration_number(dirname)
|
64
63
|
ActiveRecord::Generators::Base.next_migration_number(dirname)
|
65
64
|
end
|
66
|
-
|
67
65
|
end
|
68
66
|
end
|
69
67
|
end
|
@@ -4,13 +4,11 @@ module Occams
|
|
4
4
|
module Generators
|
5
5
|
module Cms
|
6
6
|
class ControllersGenerator < Rails::Generators::Base
|
7
|
-
|
8
|
-
source_root File.expand_path(File.join(File.dirname(__FILE__), "../../../../app/controllers"))
|
7
|
+
source_root File.expand_path(File.join(File.dirname(__FILE__), '../../../../app/controllers'))
|
9
8
|
|
10
9
|
def generate_controllers
|
11
|
-
directory
|
10
|
+
directory 'occams', 'app/controllers/occams'
|
12
11
|
end
|
13
|
-
|
14
12
|
end
|
15
13
|
end
|
16
14
|
end
|
@@ -4,13 +4,11 @@ module Occams
|
|
4
4
|
module Generators
|
5
5
|
module Cms
|
6
6
|
class ModelsGenerator < Rails::Generators::Base
|
7
|
-
|
8
|
-
source_root File.expand_path(File.join(File.dirname(__FILE__), "../../../../app/models"))
|
7
|
+
source_root File.expand_path(File.join(File.dirname(__FILE__), '../../../../app/models'))
|
9
8
|
|
10
9
|
def generate_models
|
11
|
-
directory
|
10
|
+
directory 'occams', 'app/models/occams'
|
12
11
|
end
|
13
|
-
|
14
12
|
end
|
15
13
|
end
|
16
14
|
end
|
@@ -4,13 +4,11 @@ module Occams
|
|
4
4
|
module Generators
|
5
5
|
module Cms
|
6
6
|
class ViewsGenerator < Rails::Generators::Base
|
7
|
-
|
8
|
-
source_root File.expand_path(File.join(File.dirname(__FILE__), "../../../../app/views"))
|
7
|
+
source_root File.expand_path(File.join(File.dirname(__FILE__), '../../../../app/views'))
|
9
8
|
|
10
9
|
def generate_views
|
11
|
-
directory
|
10
|
+
directory 'occams', 'app/views/occams'
|
12
11
|
end
|
13
|
-
|
14
12
|
end
|
15
13
|
end
|
16
14
|
end
|
@@ -1,28 +1,28 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
3
|
+
require 'rails/generators/generated_attribute'
|
4
|
+
require 'rails/generators/active_record'
|
5
5
|
|
6
6
|
module Occams
|
7
7
|
module Generators
|
8
8
|
class ScaffoldGenerator < Rails::Generators::NamedBase
|
9
|
-
|
10
9
|
include Rails::Generators::Migration
|
11
10
|
|
12
11
|
no_tasks do
|
13
12
|
attr_accessor :model_attrs
|
14
13
|
end
|
15
14
|
|
16
|
-
source_root File.expand_path(File.join(File.dirname(__FILE__),
|
15
|
+
source_root File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
|
17
16
|
|
18
|
-
argument :model_args, type: :array, default: [], banner:
|
17
|
+
argument :model_args, type: :array, default: [], banner: 'attribute:type'
|
19
18
|
|
20
19
|
def initialize(*args, &block)
|
21
20
|
super
|
22
21
|
@model_attrs = []
|
23
22
|
model_args.each do |arg|
|
24
|
-
next unless arg.include?(
|
25
|
-
|
23
|
+
next unless arg.include?(':')
|
24
|
+
|
25
|
+
@model_attrs << Rails::Generators::GeneratedAttribute.new(*arg.split(':'))
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
@@ -31,23 +31,23 @@ module Occams
|
|
31
31
|
end
|
32
32
|
|
33
33
|
def generate_model
|
34
|
-
migration_template
|
35
|
-
template
|
36
|
-
template
|
37
|
-
template
|
34
|
+
migration_template 'migration.rb', "db/migrate/create_#{file_name.pluralize}.rb"
|
35
|
+
template 'model.rb', "app/models/#{file_name}.rb"
|
36
|
+
template 'tests/model.rb', "test/models/#{file_name}_test.rb"
|
37
|
+
template 'tests/fixture.yml', "test/fixtures/#{file_name.pluralize}.yml"
|
38
38
|
end
|
39
39
|
|
40
40
|
def generate_controller
|
41
|
-
template
|
42
|
-
template
|
41
|
+
template 'controller.rb', "app/controllers/admin/#{file_name.pluralize}_controller.rb"
|
42
|
+
template 'tests/controller.rb', "test/controllers/admin/#{file_name.pluralize}_controller_test.rb"
|
43
43
|
end
|
44
44
|
|
45
45
|
def generate_views
|
46
|
-
template
|
47
|
-
template
|
48
|
-
template
|
49
|
-
template
|
50
|
-
template
|
46
|
+
template 'views/index.haml', "app/views/admin/#{file_name.pluralize}/index.html.haml"
|
47
|
+
template 'views/show.haml', "app/views/admin/#{file_name.pluralize}/show.html.haml"
|
48
|
+
template 'views/new.haml', "app/views/admin/#{file_name.pluralize}/new.html.haml"
|
49
|
+
template 'views/edit.haml', "app/views/admin/#{file_name.pluralize}/edit.html.haml"
|
50
|
+
template 'views/_form.haml', "app/views/admin/#{file_name.pluralize}/_form.html.haml"
|
51
51
|
end
|
52
52
|
|
53
53
|
def generate_route
|
@@ -61,7 +61,7 @@ module Occams
|
|
61
61
|
end
|
62
62
|
|
63
63
|
def generate_navigation_link
|
64
|
-
partial_path =
|
64
|
+
partial_path = 'app/views/occams/admin/cms/partials/_navigation_inner.html.haml'
|
65
65
|
|
66
66
|
unless File.exist?(File.join(destination_root, partial_path))
|
67
67
|
create_file partial_path
|
@@ -74,7 +74,6 @@ module Occams
|
|
74
74
|
HAML
|
75
75
|
end
|
76
76
|
end
|
77
|
-
|
78
77
|
end
|
79
78
|
end
|
80
79
|
end
|
@@ -2,7 +2,6 @@
|
|
2
2
|
|
3
3
|
module Occams::AccessControl
|
4
4
|
module AdminAuthentication
|
5
|
-
|
6
5
|
# Set username and password in config/initializers/occams.rb
|
7
6
|
# Like this:
|
8
7
|
# Occams::AccessControl::AdminAuthentication.username = 'myname'
|
@@ -19,6 +18,5 @@ module Occams::AccessControl
|
|
19
18
|
self.username == username && self.password == password
|
20
19
|
end
|
21
20
|
end
|
22
|
-
|
23
21
|
end
|
24
22
|
end
|
data/lib/occams/configuration.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
class Occams::Configuration
|
4
|
-
|
5
4
|
# Don't like Occams? Set it to whatever you like. :(
|
6
5
|
attr_accessor :cms_title
|
7
6
|
|
@@ -87,44 +86,44 @@ class Occams::Configuration
|
|
87
86
|
|
88
87
|
# Configuration defaults
|
89
88
|
def initialize
|
90
|
-
@cms_title =
|
91
|
-
@admin_base_controller =
|
92
|
-
@public_base_controller =
|
93
|
-
@admin_auth =
|
94
|
-
@admin_authorization =
|
95
|
-
@public_auth =
|
96
|
-
@public_authorization =
|
89
|
+
@cms_title = 'Occams CMS Engine'
|
90
|
+
@admin_base_controller = 'ApplicationController'
|
91
|
+
@public_base_controller = 'ApplicationController'
|
92
|
+
@admin_auth = 'Occams::AccessControl::AdminAuthentication'
|
93
|
+
@admin_authorization = 'Occams::AccessControl::AdminAuthorization'
|
94
|
+
@public_auth = 'Occams::AccessControl::PublicAuthentication'
|
95
|
+
@public_authorization = 'Occams::AccessControl::PublicAuthorization'
|
97
96
|
@seed_data_path = nil
|
98
|
-
@admin_route_redirect =
|
97
|
+
@admin_route_redirect = ''
|
99
98
|
@enable_sitemap = true
|
100
99
|
@enable_seeds = false
|
101
|
-
@seeds_path = File.expand_path(
|
100
|
+
@seeds_path = File.expand_path('db/cms_seeds', Rails.root)
|
102
101
|
@revisions_limit = 25
|
103
102
|
@locales = {
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
103
|
+
'ar' => 'عربي',
|
104
|
+
'ca' => 'Català',
|
105
|
+
'cs' => 'Česky',
|
106
|
+
'da' => 'Dansk',
|
107
|
+
'de' => 'Deutsch',
|
108
|
+
'en' => 'English',
|
109
|
+
'es' => 'Español',
|
110
|
+
'fi' => 'Suomi',
|
111
|
+
'fr' => 'Français',
|
112
|
+
'gr' => 'Ελληνικά',
|
113
|
+
'hr' => 'Hrvatski',
|
114
|
+
'it' => 'Italiano',
|
115
|
+
'ja' => '日本語',
|
116
|
+
'nb' => 'Norsk',
|
117
|
+
'nl' => 'Nederlands',
|
118
|
+
'pl' => 'Polski',
|
119
|
+
'pt-BR' => 'Português Brasileiro',
|
120
|
+
'ru' => 'Русский',
|
121
|
+
'sk' => 'Slovensky',
|
122
|
+
'sv' => 'Svenska',
|
123
|
+
'tr' => 'Türkçe',
|
124
|
+
'uk' => 'Українська',
|
125
|
+
'zh-CN' => '简体中文',
|
126
|
+
'zh-TW' => '正體中文'
|
128
127
|
}
|
129
128
|
@admin_locale = nil
|
130
129
|
@admin_cache_sweeper = nil
|
@@ -136,5 +135,4 @@ class Occams::Configuration
|
|
136
135
|
@public_cms_path = nil
|
137
136
|
@page_to_json_options = { methods: [:content], except: [:content_cache] }
|
138
137
|
end
|
139
|
-
|
140
138
|
end
|
data/lib/occams/content/block.rb
CHANGED
@@ -1,23 +1,22 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
3
|
+
require 'strscan'
|
4
4
|
|
5
5
|
class Occams::Content::ParamsParser
|
6
|
-
|
7
6
|
class Error < StandardError; end
|
8
7
|
|
9
|
-
STRING_LITERAL = %r{'[^']*'|"[^"]*"}
|
10
|
-
IDENTIFIER = %r{[a-z0-9][\w\-/.]*}i
|
11
|
-
HASH_KEY = %r{#{IDENTIFIER}:}
|
12
|
-
COMMA = %r{,}
|
13
|
-
HASH_OPEN = %r{\{}
|
14
|
-
HASH_CLOSE = %r{\}}
|
15
|
-
ARRAY_OPEN = %r{\[}
|
16
|
-
ARRAY_CLOSE = %r{\]}
|
17
|
-
INTEGER = %r{\b[0-9]+\b}i
|
8
|
+
STRING_LITERAL = %r{'[^']*'|"[^"]*"}.freeze
|
9
|
+
IDENTIFIER = %r{[a-z0-9][\w\-/.]*}i.freeze
|
10
|
+
HASH_KEY = %r{#{IDENTIFIER}:}.freeze
|
11
|
+
COMMA = %r{,}.freeze
|
12
|
+
HASH_OPEN = %r{\{}.freeze
|
13
|
+
HASH_CLOSE = %r{\}}.freeze
|
14
|
+
ARRAY_OPEN = %r{\[}.freeze
|
15
|
+
ARRAY_CLOSE = %r{\]}.freeze
|
16
|
+
INTEGER = %r{\b[0-9]+\b}i.freeze
|
18
17
|
|
19
18
|
# @param <String> string
|
20
|
-
def initialize(string =
|
19
|
+
def initialize(string = '')
|
21
20
|
@string = string
|
22
21
|
end
|
23
22
|
|
@@ -121,7 +120,7 @@ private
|
|
121
120
|
# @param [String] args_string
|
122
121
|
# @return [Array<String>] tokens
|
123
122
|
def tokenize(args_string)
|
124
|
-
args_string = args_string.tr(
|
123
|
+
args_string = args_string.tr('“”‘’', %q(""''))
|
125
124
|
ss = StringScanner.new(args_string)
|
126
125
|
tokens = []
|
127
126
|
loop do
|
@@ -147,5 +146,4 @@ private
|
|
147
146
|
|
148
147
|
tokens
|
149
148
|
end
|
150
|
-
|
151
149
|
end
|