gaco_cms 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +48 -0
- data/Rakefile +10 -0
- data/app/assets/builds/gaco_cms.css +18257 -0
- data/app/assets/builds/gaco_cms.js +43235 -0
- data/app/assets/builds/gaco_cms.js.map +7 -0
- data/app/assets/builds/gaco_cms_front.css +18237 -0
- data/app/assets/builds/gaco_cms_front.js +10722 -0
- data/app/assets/builds/gaco_cms_front.js.map +7 -0
- data/app/assets/javascripts/gaco_cms/base.js +24 -0
- data/app/assets/javascripts/gaco_cms/controllers/confirm_controller.ts +20 -0
- data/app/assets/javascripts/gaco_cms/controllers/deletable_row_controller.ts +46 -0
- data/app/assets/javascripts/gaco_cms/controllers/editor_controller.ts +58 -0
- data/app/assets/javascripts/gaco_cms/controllers/file_input_controller.ts +82 -0
- data/app/assets/javascripts/gaco_cms/controllers/modal_controller.ts +73 -0
- data/app/assets/javascripts/gaco_cms/controllers/remote_content_controller.ts +27 -0
- data/app/assets/javascripts/gaco_cms/controllers/repeatable_field_controller.ts +26 -0
- data/app/assets/javascripts/gaco_cms/controllers/sortable_controller.ts +27 -0
- data/app/assets/javascripts/gaco_cms/controllers/toggle_field_controller.ts +37 -0
- data/app/assets/javascripts/gaco_cms/controllers/translatable_controller.ts +86 -0
- data/app/assets/javascripts/gaco_cms/lib/progress_bar.ts +7 -0
- data/app/assets/javascripts/gaco_cms/lib/request.ts +21 -0
- data/app/assets/javascripts/gaco_cms/lib/turbo_request.ts +61 -0
- data/app/assets/javascripts/gaco_cms/stimulus.ts +9 -0
- data/app/assets/javascripts/gaco_cms.js +7 -0
- data/app/assets/javascripts/gaco_cms_front.js +3 -0
- data/app/assets/stylesheets/gaco_cms/bootstrap_custom.scss +15 -0
- data/app/assets/stylesheets/gaco_cms/shared.scss +22 -0
- data/app/assets/stylesheets/gaco_cms.css.scss +8 -0
- data/app/assets/stylesheets/gaco_cms_front.css.scss +6 -0
- data/app/controllers/concerns/gaco_cms/turbo_concern.rb +52 -0
- data/app/controllers/gaco_cms/admin/base_controller.rb +20 -0
- data/app/controllers/gaco_cms/admin/field_groups_controller.rb +87 -0
- data/app/controllers/gaco_cms/admin/field_groups_manager_controller.rb +66 -0
- data/app/controllers/gaco_cms/admin/field_groups_renderer_controller.rb +33 -0
- data/app/controllers/gaco_cms/admin/fields_controller.rb +20 -0
- data/app/controllers/gaco_cms/admin/page_types_controller.rb +56 -0
- data/app/controllers/gaco_cms/admin/pages_controller.rb +70 -0
- data/app/controllers/gaco_cms/admin/themes_controller.rb +55 -0
- data/app/controllers/gaco_cms/admin_controller.rb +47 -0
- data/app/controllers/gaco_cms/front_controller.rb +39 -0
- data/app/helpers/gaco_cms/application_helper.rb +26 -0
- data/app/jobs/gaco_cms/application_job.rb +6 -0
- data/app/mailers/gaco_cms/application_mailer.rb +8 -0
- data/app/models/concerns/gaco_cms/fields_assignable.rb +40 -0
- data/app/models/concerns/gaco_cms/union_scope.rb +14 -0
- data/app/models/gaco_cms/application_record.rb +25 -0
- data/app/models/gaco_cms/draft_record.rb +16 -0
- data/app/models/gaco_cms/field.rb +78 -0
- data/app/models/gaco_cms/field_group.rb +55 -0
- data/app/models/gaco_cms/field_value.rb +77 -0
- data/app/models/gaco_cms/media_file.rb +22 -0
- data/app/models/gaco_cms/page.rb +57 -0
- data/app/models/gaco_cms/page_type.rb +38 -0
- data/app/models/gaco_cms/theme.rb +28 -0
- data/app/services/gaco_cms/application_service.rb +33 -0
- data/app/services/gaco_cms/shortcode_parser.rb +217 -0
- data/app/services/gaco_cms/theme_content_generator.rb +55 -0
- data/app/views/gaco_cms/admin/base/index.html.haml +4 -0
- data/app/views/gaco_cms/admin/field_groups_manager/_field.html.haml +53 -0
- data/app/views/gaco_cms/admin/field_groups_manager/_group.html.haml +54 -0
- data/app/views/gaco_cms/admin/field_groups_manager/index.html.haml +14 -0
- data/app/views/gaco_cms/admin/field_groups_renderer/_field.html.haml +31 -0
- data/app/views/gaco_cms/admin/field_groups_renderer/_fields_frame.html.haml +16 -0
- data/app/views/gaco_cms/admin/field_groups_renderer/_group.html.haml +24 -0
- data/app/views/gaco_cms/admin/field_groups_renderer/default_value/_page.html.haml +3 -0
- data/app/views/gaco_cms/admin/field_groups_renderer/fields/_editor.html.haml +3 -0
- data/app/views/gaco_cms/admin/field_groups_renderer/fields/_file.html.haml +4 -0
- data/app/views/gaco_cms/admin/field_groups_renderer/fields/_page.html.haml +3 -0
- data/app/views/gaco_cms/admin/field_groups_renderer/fields/_text_area.html.haml +3 -0
- data/app/views/gaco_cms/admin/field_groups_renderer/fields/_text_field.html.haml +3 -0
- data/app/views/gaco_cms/admin/field_groups_renderer/index.html.haml +20 -0
- data/app/views/gaco_cms/admin/page_types/form.html.haml +27 -0
- data/app/views/gaco_cms/admin/page_types/index.html.haml +27 -0
- data/app/views/gaco_cms/admin/pages/edit.html.haml +57 -0
- data/app/views/gaco_cms/admin/pages/index.html.haml +23 -0
- data/app/views/gaco_cms/admin/pages/new.html.haml +16 -0
- data/app/views/gaco_cms/admin/themes/edit.html.haml +36 -0
- data/app/views/gaco_cms/admin/themes/index.html.haml +24 -0
- data/app/views/gaco_cms/admin/themes/new.html.haml +21 -0
- data/app/views/layouts/gaco_cms/_breadcrumb.html.haml +7 -0
- data/app/views/layouts/gaco_cms/_flash_messages.html.haml +13 -0
- data/app/views/layouts/gaco_cms/admin.haml +55 -0
- data/config/routes.rb +26 -0
- data/db/migrate/20230202133738_create_cms_pages.rb +16 -0
- data/db/migrate/20230202134840_create_cms_field_groups.rb +17 -0
- data/db/migrate/20230202135314_create_cms_fields.rb +21 -0
- data/db/migrate/20230202135739_create_cms_field_values.rb +16 -0
- data/db/migrate/20230202181744_create_cms_media_files.rb +10 -0
- data/db/migrate/20230206231547_create_cms_page_types.rb +23 -0
- data/db/migrate/20230209090008_create_cms_themes.rb +19 -0
- data/lib/gaco_cms/config.rb +19 -0
- data/lib/gaco_cms/engine.rb +31 -0
- data/lib/gaco_cms/version.rb +5 -0
- data/lib/gaco_cms.rb +18 -0
- data/lib/generators/gaco_cms/install_generator.rb +16 -0
- data/lib/generators/gaco_cms/install_template/gaco_cms.rb +11 -0
- data/lib/generators/gaco_cms/install_template/themes/default/index.html.haml +2 -0
- data/lib/generators/gaco_cms/install_template/themes/default/layouts/application.html.haml +34 -0
- data/lib/generators/gaco_cms/install_template/themes/default/page.html.haml +2 -0
- data/lib/tasks/auto_annotate_models.rake +59 -0
- data/lib/tasks/gaco_cms_tasks.rake +5 -0
- metadata +174 -0
data/config/routes.rb
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
Rails.application.routes.draw do
|
4
|
+
namespace :gaco_cms, path: GacoCms::Config.url_path do
|
5
|
+
namespace :admin do
|
6
|
+
get '/', to: 'base#index'
|
7
|
+
post 'upload_file', controller: 'base'
|
8
|
+
resources :page_types do
|
9
|
+
resources :pages
|
10
|
+
end
|
11
|
+
resources :field_groups_manager, only: %i[index update] do
|
12
|
+
get :group_tpl, on: :collection
|
13
|
+
get :field_tpl, on: :collection
|
14
|
+
end
|
15
|
+
resources :field_groups_renderer, only: :index do
|
16
|
+
get :render_group, on: :collection
|
17
|
+
get :render_field, on: :collection
|
18
|
+
end
|
19
|
+
resources :themes
|
20
|
+
end
|
21
|
+
|
22
|
+
# frontend
|
23
|
+
get '/', to: 'front#index'
|
24
|
+
get 'page/:page_id', as: 'page', to: 'front#page'
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class CreateCmsPages < ActiveRecord::Migration[7.0]
|
4
|
+
def change
|
5
|
+
create_table GacoCms::Page.table_name do |t|
|
6
|
+
GacoCms.translated_column(t, :key)
|
7
|
+
GacoCms.translated_column(t, :title)
|
8
|
+
GacoCms.translated_column(t, :summary)
|
9
|
+
GacoCms.translated_column(t, :content)
|
10
|
+
t.text :template
|
11
|
+
t.text :photo_url
|
12
|
+
|
13
|
+
t.timestamps
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class CreateCmsFieldGroups < ActiveRecord::Migration[7.0]
|
4
|
+
def change
|
5
|
+
create_table GacoCms::FieldGroup.table_name do |t|
|
6
|
+
t.string :key
|
7
|
+
GacoCms.translated_column(t, :title)
|
8
|
+
GacoCms.translated_column(t, :description)
|
9
|
+
t.references :record, polymorphic: true
|
10
|
+
t.boolean :repeat, default: false
|
11
|
+
t.integer :position, default: 0
|
12
|
+
t.text :template, default: ''
|
13
|
+
|
14
|
+
t.timestamps
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class CreateCmsFields < ActiveRecord::Migration[7.0]
|
4
|
+
def change
|
5
|
+
create_table GacoCms::Field.table_name do |t|
|
6
|
+
t.string :key
|
7
|
+
GacoCms.translated_column(t, :title)
|
8
|
+
GacoCms.translated_column(t, :description)
|
9
|
+
t.belongs_to :field_group, null: false, foreign_key: { to_table: GacoCms::FieldGroup.table_name }
|
10
|
+
t.boolean :repeat, default: false
|
11
|
+
t.string :kind, default: 'text_field'
|
12
|
+
GacoCms.translated_column(t, :def_value)
|
13
|
+
t.boolean :required, default: false
|
14
|
+
t.boolean :translatable, default: false
|
15
|
+
t.integer :position, default: 0
|
16
|
+
GacoCms.translated_column(t, :data)
|
17
|
+
|
18
|
+
t.timestamps
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class CreateCmsFieldValues < ActiveRecord::Migration[7.0]
|
4
|
+
def change
|
5
|
+
create_table GacoCms::FieldValue.table_name do |t|
|
6
|
+
t.belongs_to :field, null: false, foreign_key: { to_table: GacoCms::Field.table_name }
|
7
|
+
t.string :field_key
|
8
|
+
GacoCms.translated_column(t, :value)
|
9
|
+
t.integer :group_no, default: 0
|
10
|
+
t.integer :position, default: 0
|
11
|
+
t.references :record, polymorphic: true
|
12
|
+
|
13
|
+
t.timestamps
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class CreateCmsPageTypes < ActiveRecord::Migration[7.0]
|
4
|
+
def change
|
5
|
+
create_table GacoCms::PageType.table_name do |t|
|
6
|
+
t.string :key, index: true, unique: true
|
7
|
+
GacoCms.translated_column(t, :title)
|
8
|
+
t.text :template, default: ''
|
9
|
+
|
10
|
+
t.timestamps
|
11
|
+
end
|
12
|
+
|
13
|
+
change_table GacoCms::Page.table_name do |t|
|
14
|
+
t.belongs_to :page_type, null: false, foreign_key: { to_table: GacoCms::PageType.table_name }
|
15
|
+
end
|
16
|
+
|
17
|
+
reversible do |dir|
|
18
|
+
dir.up do
|
19
|
+
GacoCms::PageType.create!(title: 'Pages', key: 'pages')
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class CreateCmsThemes < ActiveRecord::Migration[7.0]
|
4
|
+
def change
|
5
|
+
create_table GacoCms::Theme.table_name do |t|
|
6
|
+
t.string :title, null: false
|
7
|
+
t.string :key, null: false, unique: true
|
8
|
+
t.boolean :active, default: false
|
9
|
+
|
10
|
+
t.timestamps
|
11
|
+
end
|
12
|
+
|
13
|
+
reversible do |dir|
|
14
|
+
dir.up do
|
15
|
+
GacoCms::Theme.create!(title: 'Default Theme', key: 'default', active: true)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module GacoCms
|
4
|
+
class Config
|
5
|
+
cattr_accessor(:url_path) { '/gaco_cms' }
|
6
|
+
cattr_accessor(:parent_front_controller) { 'ActionController::Base' }
|
7
|
+
cattr_accessor(:parent_backend_controller) { 'ActionController::Base' }
|
8
|
+
cattr_accessor(:front_layout) { ->(_controller) { theme_path_for('layouts/application') } }
|
9
|
+
cattr_accessor(:backend_editor_css) { ->(_view) { asset_path('application') } }
|
10
|
+
cattr_accessor(:table_prefix) { 'simple_cms_' } # TODO: rename into gaco_cms_
|
11
|
+
cattr_accessor(:locales) { %i[en de es] }
|
12
|
+
cattr_accessor(:extra_fields) { {} }
|
13
|
+
|
14
|
+
# @param settings [Hash<:tpl, :translatable, :label, :default_value_tpl?>]
|
15
|
+
def self.add_extra_field(key, settings)
|
16
|
+
extra_fields[key] = settings
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module GacoCms
|
4
|
+
class Engine < ::Rails::Engine
|
5
|
+
# isolate_namespace GacoCms # when enabled routes are not sharable
|
6
|
+
|
7
|
+
engine_dir = File.expand_path('../../', __dir__)
|
8
|
+
initializer 'gaco_cms.assets.precompile' do |app|
|
9
|
+
builds_path = File.join(engine_dir, 'app/assets/builds/')
|
10
|
+
if app.config.try(:assets)
|
11
|
+
app.config.assets.precompile += [
|
12
|
+
File.join(builds_path, 'gaco_cms.js'),
|
13
|
+
File.join(builds_path, 'gaco_cms.css'),
|
14
|
+
File.join(builds_path, 'gaco_cms_front.js'),
|
15
|
+
File.join(builds_path, 'gaco_cms_front.css')
|
16
|
+
]
|
17
|
+
end
|
18
|
+
|
19
|
+
static_assets = File.join(engine_dir, 'vendor/static')
|
20
|
+
target_path = Rails.root.join('public/assets/gaco_cms')
|
21
|
+
unless Dir.exist?(target_path)
|
22
|
+
Rails.logger.info '********gaco_cms: copying static assets....'
|
23
|
+
FileUtils.mkpath(target_path) unless Dir.exist?(target_path)
|
24
|
+
FileUtils.cp_r(File.join(static_assets, '.'), target_path)
|
25
|
+
|
26
|
+
# puts '*********gaco_cms: copying compiled gaco_cms assets for importmaps'
|
27
|
+
FileUtils.cp_r(File.join(builds_path, '.'), app.root.join('public/assets/'))
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
data/lib/gaco_cms.rb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'gaco_cms/version'
|
4
|
+
require 'gaco_cms/config'
|
5
|
+
require 'gaco_cms/engine'
|
6
|
+
require 'buddy_translatable'
|
7
|
+
|
8
|
+
module GacoCms
|
9
|
+
def self.table_name_prefix
|
10
|
+
Config.table_prefix
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.translated_column(t_migration, column, **args)
|
14
|
+
text_args = {}.merge(args)
|
15
|
+
json_args = { default: {} }.merge(args)
|
16
|
+
t_migration.respond_to?(:jsonb) ? (t_migration.jsonb column, **json_args) : (t_migration.text column, **text_args)
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'rails/generators/base'
|
4
|
+
module GacoCms
|
5
|
+
module Generators
|
6
|
+
class InstallGenerator < Rails::Generators::Base
|
7
|
+
source_root File.expand_path('../install_template', __FILE__)
|
8
|
+
desc 'This generator copies all basic settings for GacoCMS'
|
9
|
+
|
10
|
+
def create_initializer_file
|
11
|
+
copy_file 'gaco_cms.rb', 'config/initializers/gaco_cms.rb'
|
12
|
+
directory('themes', 'app/views/themes')
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Gaco CMS settings
|
4
|
+
GacoCms::Config.url_path = '/gaco_cms'
|
5
|
+
GacoCms::Config.parent_front_controller = 'ActionController::Base'
|
6
|
+
GacoCms::Config.parent_backend_controller = 'ActionController::Base'
|
7
|
+
GacoCms::Config.front_layout = ->(_controller) { theme_path_for('layouts/application') }
|
8
|
+
GacoCms::Config.backend_editor_css = ->(_view) { asset_path('application') }
|
9
|
+
GacoCms::Config.table_prefix = 'gaco_cms_'
|
10
|
+
GacoCms::Config.locales = [:en, :de, :es]
|
11
|
+
# GacoCms::Config.add_extra_field(:my_field, { tpl: '..', label: 'My field', translatable: true })
|
@@ -0,0 +1,34 @@
|
|
1
|
+
!!!
|
2
|
+
%html
|
3
|
+
%head
|
4
|
+
= display_meta_tags site: 'Gaco CMS'
|
5
|
+
%meta{:content => "text/html; charset=UTF-8", "http-equiv" => "Content-Type"}/
|
6
|
+
%meta{:content => "width=device-width,initial-scale=1", :name => "viewport"}/
|
7
|
+
= csrf_meta_tags
|
8
|
+
= csp_meta_tag
|
9
|
+
= stylesheet_link_tag 'gaco_cms_front'
|
10
|
+
= javascript_include_tag 'gaco_cms_front'
|
11
|
+
|
12
|
+
%body#body
|
13
|
+
%nav.navbar.navbar-expand-lg.shadow.text-white
|
14
|
+
.container
|
15
|
+
%a.navbar-brand.logo.p-0.d-flex{href: gaco_cms_path, style: 'font-size: 32px;'}
|
16
|
+
%span.text-black Gaco
|
17
|
+
%span.text-primary CMS
|
18
|
+
%button.navbar-toggler{"aria-controls" => "navbarSupportedContent", "aria-expanded" => "false", "aria-label" => "Toggle navigation", "data-bs-target" => "#main_nav_bar", "data-bs-toggle" => "collapse", :type => "button"}
|
19
|
+
%span.fa.fa-bars
|
20
|
+
|
21
|
+
#main_nav_bar.collapse.navbar-collapse.justify-content-end.text-white-50
|
22
|
+
%ul.navbar-nav
|
23
|
+
- GacoCms::PageType.find_by(key: :pages).pages.each do |page|
|
24
|
+
%li.nav-item
|
25
|
+
%a.nav-link{href: page_url_for(page.key)}= page.title
|
26
|
+
%li.nav-item
|
27
|
+
.dropdown
|
28
|
+
%a.btn.dropdown-toggle{"data-bs-toggle" => "dropdown", role: "button"}= I18n.locale.to_s.upcase
|
29
|
+
%ul.dropdown-menu
|
30
|
+
- GacoCms::Config.locales.each do |locale|
|
31
|
+
%li= link_to locale.upcase, url_for(locale: locale, params: request.query_parameters.except(:locale)), class: 'dropdown-item'
|
32
|
+
|
33
|
+
#container.container.pt-3
|
34
|
+
= yield
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# NOTE: only doing this in development as some production environments (Heroku)
|
2
|
+
# NOTE: are sensitive to local FS writes, and besides -- it's just not proper
|
3
|
+
# NOTE: to have a dev-mode tool do its thing in production.
|
4
|
+
if Rails.env.test?
|
5
|
+
require 'annotate'
|
6
|
+
task :set_annotation_options do
|
7
|
+
# You can override any of these by setting an environment variable of the
|
8
|
+
# same name.
|
9
|
+
Annotate.set_defaults(
|
10
|
+
'active_admin' => 'false',
|
11
|
+
'additional_file_patterns' => [],
|
12
|
+
'routes' => 'false',
|
13
|
+
'models' => 'true',
|
14
|
+
'position_in_routes' => 'before',
|
15
|
+
'position_in_class' => 'before',
|
16
|
+
'position_in_test' => 'before',
|
17
|
+
'position_in_fixture' => 'before',
|
18
|
+
'position_in_factory' => 'before',
|
19
|
+
'position_in_serializer' => 'before',
|
20
|
+
'show_foreign_keys' => 'true',
|
21
|
+
'show_complete_foreign_keys' => 'false',
|
22
|
+
'show_indexes' => 'true',
|
23
|
+
'simple_indexes' => 'false',
|
24
|
+
'model_dir' => 'app/models',
|
25
|
+
'root_dir' => '',
|
26
|
+
'include_version' => 'false',
|
27
|
+
'require' => '',
|
28
|
+
'exclude_tests' => 'true',
|
29
|
+
'exclude_fixtures' => 'true',
|
30
|
+
'exclude_factories' => 'true',
|
31
|
+
'exclude_serializers' => 'true',
|
32
|
+
'exclude_scaffolds' => 'true',
|
33
|
+
'exclude_controllers' => 'true',
|
34
|
+
'exclude_helpers' => 'true',
|
35
|
+
'exclude_sti_subclasses' => 'false',
|
36
|
+
'ignore_model_sub_dir' => 'false',
|
37
|
+
'ignore_columns' => nil,
|
38
|
+
'ignore_routes' => nil,
|
39
|
+
'ignore_unknown_models' => 'false',
|
40
|
+
'hide_limit_column_types' => 'integer,bigint,boolean',
|
41
|
+
'hide_default_column_types' => 'json,jsonb,hstore',
|
42
|
+
'skip_on_db_migrate' => 'false',
|
43
|
+
'format_bare' => 'true',
|
44
|
+
'format_rdoc' => 'false',
|
45
|
+
'format_yard' => 'false',
|
46
|
+
'format_markdown' => 'false',
|
47
|
+
'sort' => 'false',
|
48
|
+
'force' => 'false',
|
49
|
+
'frozen' => 'false',
|
50
|
+
'classified_sort' => 'true',
|
51
|
+
'trace' => 'false',
|
52
|
+
'wrapper_open' => nil,
|
53
|
+
'wrapper_close' => nil,
|
54
|
+
'with_comment' => 'true'
|
55
|
+
)
|
56
|
+
end
|
57
|
+
|
58
|
+
Annotate.load_tasks
|
59
|
+
end
|
metadata
ADDED
@@ -0,0 +1,174 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: gaco_cms
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Owen Peredo Diaz
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2023-05-12 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: buddy_translatable
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 1.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: 1.1.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rails
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '5.0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '5.0'
|
41
|
+
description: A lightweight Ruby on Rails cms suitable for any Rails application
|
42
|
+
email:
|
43
|
+
- owenperedo@gmail.com
|
44
|
+
executables: []
|
45
|
+
extensions: []
|
46
|
+
extra_rdoc_files: []
|
47
|
+
files:
|
48
|
+
- README.md
|
49
|
+
- Rakefile
|
50
|
+
- app/assets/builds/gaco_cms.css
|
51
|
+
- app/assets/builds/gaco_cms.js
|
52
|
+
- app/assets/builds/gaco_cms.js.map
|
53
|
+
- app/assets/builds/gaco_cms_front.css
|
54
|
+
- app/assets/builds/gaco_cms_front.js
|
55
|
+
- app/assets/builds/gaco_cms_front.js.map
|
56
|
+
- app/assets/javascripts/gaco_cms.js
|
57
|
+
- app/assets/javascripts/gaco_cms/base.js
|
58
|
+
- app/assets/javascripts/gaco_cms/controllers/confirm_controller.ts
|
59
|
+
- app/assets/javascripts/gaco_cms/controllers/deletable_row_controller.ts
|
60
|
+
- app/assets/javascripts/gaco_cms/controllers/editor_controller.ts
|
61
|
+
- app/assets/javascripts/gaco_cms/controllers/file_input_controller.ts
|
62
|
+
- app/assets/javascripts/gaco_cms/controllers/modal_controller.ts
|
63
|
+
- app/assets/javascripts/gaco_cms/controllers/remote_content_controller.ts
|
64
|
+
- app/assets/javascripts/gaco_cms/controllers/repeatable_field_controller.ts
|
65
|
+
- app/assets/javascripts/gaco_cms/controllers/sortable_controller.ts
|
66
|
+
- app/assets/javascripts/gaco_cms/controllers/toggle_field_controller.ts
|
67
|
+
- app/assets/javascripts/gaco_cms/controllers/translatable_controller.ts
|
68
|
+
- app/assets/javascripts/gaco_cms/lib/progress_bar.ts
|
69
|
+
- app/assets/javascripts/gaco_cms/lib/request.ts
|
70
|
+
- app/assets/javascripts/gaco_cms/lib/turbo_request.ts
|
71
|
+
- app/assets/javascripts/gaco_cms/stimulus.ts
|
72
|
+
- app/assets/javascripts/gaco_cms_front.js
|
73
|
+
- app/assets/stylesheets/gaco_cms.css.scss
|
74
|
+
- app/assets/stylesheets/gaco_cms/bootstrap_custom.scss
|
75
|
+
- app/assets/stylesheets/gaco_cms/shared.scss
|
76
|
+
- app/assets/stylesheets/gaco_cms_front.css.scss
|
77
|
+
- app/controllers/concerns/gaco_cms/turbo_concern.rb
|
78
|
+
- app/controllers/gaco_cms/admin/base_controller.rb
|
79
|
+
- app/controllers/gaco_cms/admin/field_groups_controller.rb
|
80
|
+
- app/controllers/gaco_cms/admin/field_groups_manager_controller.rb
|
81
|
+
- app/controllers/gaco_cms/admin/field_groups_renderer_controller.rb
|
82
|
+
- app/controllers/gaco_cms/admin/fields_controller.rb
|
83
|
+
- app/controllers/gaco_cms/admin/page_types_controller.rb
|
84
|
+
- app/controllers/gaco_cms/admin/pages_controller.rb
|
85
|
+
- app/controllers/gaco_cms/admin/themes_controller.rb
|
86
|
+
- app/controllers/gaco_cms/admin_controller.rb
|
87
|
+
- app/controllers/gaco_cms/front_controller.rb
|
88
|
+
- app/helpers/gaco_cms/application_helper.rb
|
89
|
+
- app/jobs/gaco_cms/application_job.rb
|
90
|
+
- app/mailers/gaco_cms/application_mailer.rb
|
91
|
+
- app/models/concerns/gaco_cms/fields_assignable.rb
|
92
|
+
- app/models/concerns/gaco_cms/union_scope.rb
|
93
|
+
- app/models/gaco_cms/application_record.rb
|
94
|
+
- app/models/gaco_cms/draft_record.rb
|
95
|
+
- app/models/gaco_cms/field.rb
|
96
|
+
- app/models/gaco_cms/field_group.rb
|
97
|
+
- app/models/gaco_cms/field_value.rb
|
98
|
+
- app/models/gaco_cms/media_file.rb
|
99
|
+
- app/models/gaco_cms/page.rb
|
100
|
+
- app/models/gaco_cms/page_type.rb
|
101
|
+
- app/models/gaco_cms/theme.rb
|
102
|
+
- app/services/gaco_cms/application_service.rb
|
103
|
+
- app/services/gaco_cms/shortcode_parser.rb
|
104
|
+
- app/services/gaco_cms/theme_content_generator.rb
|
105
|
+
- app/views/gaco_cms/admin/base/index.html.haml
|
106
|
+
- app/views/gaco_cms/admin/field_groups_manager/_field.html.haml
|
107
|
+
- app/views/gaco_cms/admin/field_groups_manager/_group.html.haml
|
108
|
+
- app/views/gaco_cms/admin/field_groups_manager/index.html.haml
|
109
|
+
- app/views/gaco_cms/admin/field_groups_renderer/_field.html.haml
|
110
|
+
- app/views/gaco_cms/admin/field_groups_renderer/_fields_frame.html.haml
|
111
|
+
- app/views/gaco_cms/admin/field_groups_renderer/_group.html.haml
|
112
|
+
- app/views/gaco_cms/admin/field_groups_renderer/default_value/_page.html.haml
|
113
|
+
- app/views/gaco_cms/admin/field_groups_renderer/fields/_editor.html.haml
|
114
|
+
- app/views/gaco_cms/admin/field_groups_renderer/fields/_file.html.haml
|
115
|
+
- app/views/gaco_cms/admin/field_groups_renderer/fields/_page.html.haml
|
116
|
+
- app/views/gaco_cms/admin/field_groups_renderer/fields/_text_area.html.haml
|
117
|
+
- app/views/gaco_cms/admin/field_groups_renderer/fields/_text_field.html.haml
|
118
|
+
- app/views/gaco_cms/admin/field_groups_renderer/index.html.haml
|
119
|
+
- app/views/gaco_cms/admin/page_types/form.html.haml
|
120
|
+
- app/views/gaco_cms/admin/page_types/index.html.haml
|
121
|
+
- app/views/gaco_cms/admin/pages/edit.html.haml
|
122
|
+
- app/views/gaco_cms/admin/pages/index.html.haml
|
123
|
+
- app/views/gaco_cms/admin/pages/new.html.haml
|
124
|
+
- app/views/gaco_cms/admin/themes/edit.html.haml
|
125
|
+
- app/views/gaco_cms/admin/themes/index.html.haml
|
126
|
+
- app/views/gaco_cms/admin/themes/new.html.haml
|
127
|
+
- app/views/layouts/gaco_cms/_breadcrumb.html.haml
|
128
|
+
- app/views/layouts/gaco_cms/_flash_messages.html.haml
|
129
|
+
- app/views/layouts/gaco_cms/admin.haml
|
130
|
+
- config/routes.rb
|
131
|
+
- db/migrate/20230202133738_create_cms_pages.rb
|
132
|
+
- db/migrate/20230202134840_create_cms_field_groups.rb
|
133
|
+
- db/migrate/20230202135314_create_cms_fields.rb
|
134
|
+
- db/migrate/20230202135739_create_cms_field_values.rb
|
135
|
+
- db/migrate/20230202181744_create_cms_media_files.rb
|
136
|
+
- db/migrate/20230206231547_create_cms_page_types.rb
|
137
|
+
- db/migrate/20230209090008_create_cms_themes.rb
|
138
|
+
- lib/gaco_cms.rb
|
139
|
+
- lib/gaco_cms/config.rb
|
140
|
+
- lib/gaco_cms/engine.rb
|
141
|
+
- lib/gaco_cms/version.rb
|
142
|
+
- lib/generators/gaco_cms/install_generator.rb
|
143
|
+
- lib/generators/gaco_cms/install_template/gaco_cms.rb
|
144
|
+
- lib/generators/gaco_cms/install_template/themes/default/index.html.haml
|
145
|
+
- lib/generators/gaco_cms/install_template/themes/default/layouts/application.html.haml
|
146
|
+
- lib/generators/gaco_cms/install_template/themes/default/page.html.haml
|
147
|
+
- lib/tasks/auto_annotate_models.rake
|
148
|
+
- lib/tasks/gaco_cms_tasks.rake
|
149
|
+
homepage: https://github.com/owen2345/gaco_cms
|
150
|
+
licenses: []
|
151
|
+
metadata:
|
152
|
+
homepage_uri: https://github.com/owen2345/gaco_cms
|
153
|
+
source_code_uri: https://github.com/owen2345/gaco_cms
|
154
|
+
changelog_uri: https://github.com/owen2345/gaco_cms/releases
|
155
|
+
post_install_message:
|
156
|
+
rdoc_options: []
|
157
|
+
require_paths:
|
158
|
+
- lib
|
159
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
160
|
+
requirements:
|
161
|
+
- - ">="
|
162
|
+
- !ruby/object:Gem::Version
|
163
|
+
version: '0'
|
164
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
165
|
+
requirements:
|
166
|
+
- - ">="
|
167
|
+
- !ruby/object:Gem::Version
|
168
|
+
version: '0'
|
169
|
+
requirements: []
|
170
|
+
rubygems_version: 3.1.2
|
171
|
+
signing_key:
|
172
|
+
specification_version: 4
|
173
|
+
summary: A lightweight Ruby on Rails cms suitable for any Rails application
|
174
|
+
test_files: []
|