panda-cms 0.10.2 → 0.10.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 +77 -0
- data/app/assets/tailwind/panda/cms/_application.css +1 -0
- data/app/components/panda/cms/admin/popular_pages_component.rb +62 -0
- data/app/components/panda/cms/code_component.rb +2 -2
- data/app/components/panda/cms/menu_component.rb +9 -2
- data/app/components/panda/cms/rich_text_component.rb +1 -1
- data/app/components/panda/cms/text_component.rb +1 -1
- data/app/javascript/panda/cms/controllers/editor_form_controller.js +3 -3
- data/app/javascript/panda/cms/controllers/editor_iframe_controller.js +4 -4
- data/app/jobs/panda/cms/record_visit_job.rb +2 -1
- data/app/models/panda/cms/visit.rb +16 -1
- data/app/services/panda/social/instagram_feed_service.rb +54 -54
- data/app/views/panda/cms/admin/dashboard/show.html.erb +10 -3
- data/app/views/panda/cms/admin/forms/new.html.erb +1 -1
- data/app/views/panda/cms/admin/menus/edit.html.erb +1 -1
- data/app/views/panda/cms/admin/menus/new.html.erb +1 -1
- data/app/views/panda/cms/admin/pages/edit.html.erb +77 -3
- data/app/views/panda/cms/admin/posts/_form.html.erb +6 -6
- data/app/views/panda/cms/shared/_favicons.html.erb +7 -7
- data/config/importmap.rb +0 -1
- data/config/initializers/groupdate.rb +5 -0
- data/config/locales/en.yml +1 -2
- data/db/migrate/20240315125421_add_nested_sets_to_panda_cms_pages.rb +0 -10
- data/db/migrate/20240316230706_add_nested_to_panda_cms_menu_items.rb +0 -6
- data/db/migrate/20240317230622_create_panda_cms_visits.rb +1 -1
- data/db/migrate/20240805121123_create_panda_cms_posts.rb +1 -1
- data/db/migrate/20240806112735_fix_panda_cms_visits_column_names.rb +1 -1
- data/db/migrate/20240923234535_add_depth_to_panda_cms_menus.rb +0 -6
- data/db/migrate/20250106223303_add_author_id_to_panda_cms_posts.rb +1 -3
- data/db/migrate/20251117234530_add_index_to_visited_at_on_panda_cms_visits.rb +7 -0
- data/db/migrate/20251118015100_backfill_visited_at_for_existing_visits.rb +17 -0
- data/db/seeds.rb +5 -0
- data/lib/panda/cms/asset_loader.rb +18 -4
- data/lib/panda/cms/engine/autoload_config.rb +18 -0
- data/lib/panda/cms/engine/route_config.rb +1 -2
- data/lib/panda/cms/engine.rb +4 -23
- data/lib/{panda-cms → panda/cms}/version.rb +1 -1
- data/lib/panda/cms.rb +3 -1
- data/lib/panda-cms.rb +8 -1
- data/lib/tasks/ci.rake +0 -0
- metadata +13 -46
- data/app/assets/builds/panda.cms.css +0 -2754
- data/app/assets/stylesheets/panda/cms/application.tailwind.css +0 -162
- data/app/assets/stylesheets/panda/cms/editor.css +0 -120
- data/app/assets/tailwind/application.css +0 -178
- data/app/assets/tailwind/tailwind.config.js +0 -15
- data/config/initializers/panda/cms/healthcheck_log_silencer.rb.disabled +0 -31
- data/db/migrate/20240317010532_create_panda_cms_users.rb +0 -14
- data/db/migrate/20240324205703_create_active_storage_tables.active_storage.rb +0 -61
- data/db/migrate/20240408084718_default_panda_cms_users_admin_to_false.rb +0 -7
- data/db/migrate/20240701225422_add_service_name_to_active_storage_blobs.active_storage.rb +0 -24
- data/db/migrate/20240701225423_create_active_storage_variant_records.active_storage.rb +0 -30
- data/db/migrate/20240701225424_remove_not_null_on_active_storage_blobs_checksum.active_storage.rb +0 -10
- data/db/migrate/20241119214548_convert_post_content_to_editor_js.rb +0 -37
- data/db/migrate/20250809231125_migrate_users_to_panda_core.rb +0 -113
- data/lib/generators/panda/cms/install_generator.rb +0 -28
- data/public/panda-cms-assets/editor-js/core/editorjs.min.js +0 -83
- data/public/panda-cms-assets/editor-js/plugins/embed.min.js +0 -2
- data/public/panda-cms-assets/editor-js/plugins/header.min.js +0 -9
- data/public/panda-cms-assets/editor-js/plugins/nested-list.min.js +0 -2
- data/public/panda-cms-assets/editor-js/plugins/paragraph.min.js +0 -9
- data/public/panda-cms-assets/editor-js/plugins/quote.min.js +0 -2
- data/public/panda-cms-assets/editor-js/plugins/simple-image.min.js +0 -2
- data/public/panda-cms-assets/editor-js/plugins/table.min.js +0 -2
- data/public/panda-cms-assets/favicons/android-chrome-192x192.png +0 -0
- data/public/panda-cms-assets/favicons/android-chrome-512x512.png +0 -0
- data/public/panda-cms-assets/favicons/apple-touch-icon.png +0 -0
- data/public/panda-cms-assets/favicons/browserconfig.xml +0 -9
- data/public/panda-cms-assets/favicons/favicon-16x16.png +0 -0
- data/public/panda-cms-assets/favicons/favicon-32x32.png +0 -0
- data/public/panda-cms-assets/favicons/favicon.ico +0 -0
- data/public/panda-cms-assets/favicons/mstile-150x150.png +0 -0
- data/public/panda-cms-assets/favicons/safari-pinned-tab.svg +0 -61
- data/public/panda-cms-assets/favicons/site.webmanifest +0 -14
- data/public/panda-cms-assets/manifest.json +0 -20
- data/public/panda-cms-assets/panda-cms-0.7.4.css +0 -26
- data/public/panda-cms-assets/panda-cms-0.7.4.js +0 -150
- data/public/panda-cms-assets/panda-logo-screenprint.png +0 -0
- data/public/panda-cms-assets/panda-nav.png +0 -0
- data/public/panda-cms-assets/rich_text_editor.css +0 -568
- /data/db/migrate/{20251105000001_add_pending_review_status_to_pages_and_posts.panda_cms.rb → 20251105000001_add_pending_review_status_to_pages_and_posts.rb} +0 -0
|
@@ -11,16 +11,10 @@ class AddNestedToPandaCMSMenuItems < ActiveRecord::Migration[7.1]
|
|
|
11
11
|
add_index :panda_cms_menu_items, :lft
|
|
12
12
|
add_index :panda_cms_menu_items, :rgt
|
|
13
13
|
|
|
14
|
-
Panda::CMS::MenuItem.reset_column_information
|
|
15
|
-
Panda::CMS::MenuItem.rebuild!
|
|
16
|
-
|
|
17
14
|
# Update pages whilst we're at it
|
|
18
15
|
add_column :panda_cms_pages, :depth, :integer
|
|
19
16
|
add_column :panda_cms_pages, :children_count, :integer, null: false, default: 0
|
|
20
17
|
add_index :panda_cms_pages, :lft
|
|
21
18
|
add_index :panda_cms_pages, :rgt
|
|
22
|
-
|
|
23
|
-
Panda::CMS::Page.reset_column_information
|
|
24
|
-
Panda::CMS::Page.rebuild!
|
|
25
19
|
end
|
|
26
20
|
end
|
|
@@ -8,7 +8,7 @@ class CreatePandaCMSVisits < ActiveRecord::Migration[7.1]
|
|
|
8
8
|
|
|
9
9
|
t.references :panda_cms_page, null: true, foreign_key: true, type: :uuid
|
|
10
10
|
t.references :panda_cms_redirect, null: true, foreign_key: true, type: :uuid
|
|
11
|
-
t.references :
|
|
11
|
+
t.references :panda_core_user, null: true, foreign_key: true, type: :uuid
|
|
12
12
|
t.timestamps
|
|
13
13
|
end
|
|
14
14
|
end
|
|
@@ -17,7 +17,7 @@ class CreatePandaCMSPosts < ActiveRecord::Migration[7.1]
|
|
|
17
17
|
t.text :content
|
|
18
18
|
t.datetime :published_at
|
|
19
19
|
t.references :post_tag, type: :uuid, null: false, foreign_key: {to_table: :panda_cms_post_tags}
|
|
20
|
-
t.references :user, type: :uuid, null: false, foreign_key: {to_table: :
|
|
20
|
+
t.references :user, type: :uuid, null: false, foreign_key: {to_table: :panda_core_users}
|
|
21
21
|
t.timestamps
|
|
22
22
|
t.index :slug, unique: true
|
|
23
23
|
end
|
|
@@ -5,7 +5,7 @@ class FixPandaCMSVisitsColumnNames < ActiveRecord::Migration[7.1]
|
|
|
5
5
|
change_table :panda_cms_visits do |t|
|
|
6
6
|
t.rename :panda_cms_page_id, :page_id
|
|
7
7
|
t.rename :panda_cms_redirect_id, :redirect_id
|
|
8
|
-
t.rename :
|
|
8
|
+
t.rename :panda_core_user_id, :user_id
|
|
9
9
|
t.string :referrer, null: true
|
|
10
10
|
t.datetime :visited_at
|
|
11
11
|
t.string :url, null: true
|
|
@@ -3,11 +3,5 @@
|
|
|
3
3
|
class AddDepthToPandaCMSMenus < ActiveRecord::Migration[7.2]
|
|
4
4
|
def change
|
|
5
5
|
add_column :panda_cms_menus, :depth, :integer, null: true, default: nil
|
|
6
|
-
|
|
7
|
-
homepage = Panda::CMS::Page.find_by(path: "/")
|
|
8
|
-
return unless homepage
|
|
9
|
-
|
|
10
|
-
main_menu = Panda::CMS::Menu.find_by(start_page_id: homepage.id, kind: :auto)
|
|
11
|
-
main_menu&.update(depth: 2)
|
|
12
6
|
end
|
|
13
7
|
end
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
class AddAuthorIdToPandaCMSPosts < ActiveRecord::Migration[8.0]
|
|
4
4
|
def change
|
|
5
|
-
|
|
6
|
-
add_reference :panda_cms_posts, :author, type: :uuid, foreign_key: {to_table: :panda_core_users}
|
|
7
|
-
end
|
|
5
|
+
add_reference :panda_cms_posts, :author, type: :uuid, foreign_key: {to_table: :panda_core_users}
|
|
8
6
|
end
|
|
9
7
|
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
class BackfillVisitedAtForExistingVisits < ActiveRecord::Migration[7.1]
|
|
4
|
+
def up
|
|
5
|
+
# Backfill visited_at from created_at for all existing visits where visited_at is NULL
|
|
6
|
+
# This ensures historical visit data shows up in dashboard statistics
|
|
7
|
+
execute <<-SQL
|
|
8
|
+
UPDATE panda_cms_visits
|
|
9
|
+
SET visited_at = created_at
|
|
10
|
+
WHERE visited_at IS NULL
|
|
11
|
+
SQL
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def down
|
|
15
|
+
# No need to reverse - visited_at values are still valid
|
|
16
|
+
end
|
|
17
|
+
end
|
data/db/seeds.rb
CHANGED
|
@@ -5,3 +5,8 @@ generator.create_templates
|
|
|
5
5
|
generator.create_pages
|
|
6
6
|
generator.create_menus
|
|
7
7
|
Panda::CMS::Template.generate_missing_blocks
|
|
8
|
+
|
|
9
|
+
if (homepage = Panda::CMS::Page.find_by(path: "/"))
|
|
10
|
+
main_menu = Panda::CMS::Menu.find_by(start_page_id: homepage.id, kind: :auto)
|
|
11
|
+
main_menu&.update(depth: 2)
|
|
12
|
+
end
|
|
@@ -35,9 +35,22 @@ module Panda
|
|
|
35
35
|
|
|
36
36
|
# Check if GitHub-hosted assets should be used
|
|
37
37
|
def use_github_assets?
|
|
38
|
-
#
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
# In test, never use GitHub assets
|
|
39
|
+
return false if Rails.env.test? || in_test_environment?
|
|
40
|
+
|
|
41
|
+
# In production, prefer local assets over GitHub
|
|
42
|
+
# CMS uses importmap for JS and gets CSS from panda-core
|
|
43
|
+
# Only use GitHub as fallback if explicitly enabled
|
|
44
|
+
if Rails.env.production?
|
|
45
|
+
# Check if compiled assets exist locally (though CMS doesn't bundle)
|
|
46
|
+
return false if compiled_assets_available?
|
|
47
|
+
|
|
48
|
+
# Only use GitHub as fallback if explicitly enabled
|
|
49
|
+
return ENV["PANDA_CMS_USE_GITHUB_ASSETS"] == "true"
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# In development, use GitHub assets only when explicitly enabled or development assets unavailable
|
|
53
|
+
ENV["PANDA_CMS_USE_GITHUB_ASSETS"] == "true" || !development_assets_available?
|
|
41
54
|
end
|
|
42
55
|
|
|
43
56
|
# Download assets from GitHub to local cache
|
|
@@ -154,7 +167,8 @@ module Panda
|
|
|
154
167
|
if (Rails.env.test? || in_test_environment?) && compiled_assets_available?
|
|
155
168
|
"/panda-cms-assets/"
|
|
156
169
|
else
|
|
157
|
-
|
|
170
|
+
# Use raw.githubusercontent.com instead of releases
|
|
171
|
+
"https://raw.githubusercontent.com/tastybamboo/panda-cms/main/public/panda-cms-assets/"
|
|
158
172
|
end
|
|
159
173
|
end
|
|
160
174
|
|
|
@@ -12,6 +12,24 @@ module Panda
|
|
|
12
12
|
config.autoload_paths += %W[
|
|
13
13
|
#{root}/app/services
|
|
14
14
|
]
|
|
15
|
+
|
|
16
|
+
# Exclude preview paths from production eager loading
|
|
17
|
+
# Preview classes should only be loaded in development/test environments
|
|
18
|
+
initializer "panda_cms.exclude_previews_from_production", before: :set_autoload_paths do |app|
|
|
19
|
+
if Rails.env.production?
|
|
20
|
+
# Prevent eager loading of preview files in production
|
|
21
|
+
preview_paths = [
|
|
22
|
+
root.join("spec/components/previews").to_s
|
|
23
|
+
]
|
|
24
|
+
|
|
25
|
+
preview_paths.each do |preview_path|
|
|
26
|
+
if Dir.exist?(preview_path)
|
|
27
|
+
app.config.eager_load_paths.delete(preview_path)
|
|
28
|
+
ActiveSupport::Dependencies.autoload_paths.delete(preview_path)
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
15
33
|
end
|
|
16
34
|
end
|
|
17
35
|
end
|
|
@@ -19,8 +19,7 @@ module Panda
|
|
|
19
19
|
# Catch-all route for CMS pages, but exclude admin paths and assets
|
|
20
20
|
admin_path = Panda::Core.config.admin_path.delete_prefix("/")
|
|
21
21
|
constraints = ->(request) {
|
|
22
|
-
!request.path.start_with?("/#{admin_path}")
|
|
23
|
-
!request.path.start_with?("/panda-cms-assets/")
|
|
22
|
+
!request.path.start_with?("/#{admin_path}", "/panda-cms-assets/")
|
|
24
23
|
}
|
|
25
24
|
get "/*path", to: "panda/cms/pages#show", as: :panda_cms_page, constraints: constraints
|
|
26
25
|
|
data/lib/panda/cms/engine.rb
CHANGED
|
@@ -9,7 +9,6 @@ require "panda/cms/railtie"
|
|
|
9
9
|
|
|
10
10
|
require "invisible_captcha"
|
|
11
11
|
|
|
12
|
-
# Load engine configuration modules
|
|
13
12
|
require_relative "engine/autoload_config"
|
|
14
13
|
require_relative "engine/asset_config"
|
|
15
14
|
require_relative "engine/route_config"
|
|
@@ -22,11 +21,9 @@ module Panda
|
|
|
22
21
|
class Engine < ::Rails::Engine
|
|
23
22
|
isolate_namespace Panda::CMS
|
|
24
23
|
|
|
25
|
-
# Include shared configuration modules from panda-core
|
|
26
24
|
include Panda::Core::Shared::InflectionsConfig
|
|
27
25
|
include Panda::Core::Shared::GeneratorConfig
|
|
28
26
|
|
|
29
|
-
# Include CMS-specific configuration modules
|
|
30
27
|
include AutoloadConfig
|
|
31
28
|
include AssetConfig
|
|
32
29
|
include RouteConfig
|
|
@@ -34,46 +31,30 @@ module Panda
|
|
|
34
31
|
include HelperConfig
|
|
35
32
|
include BacktraceConfig
|
|
36
33
|
|
|
37
|
-
# Session configuration is left to the consuming application
|
|
38
|
-
# The CMS engine does not impose session store requirements
|
|
39
|
-
|
|
40
|
-
# Custom error handling
|
|
41
|
-
# config.exceptions_app = Panda::CMS::ExceptionsApp.new(exceptions_app: routes)
|
|
42
|
-
|
|
43
|
-
# Authentication is now handled by Panda::Core::Engine
|
|
44
|
-
|
|
45
|
-
# Load the engine's importmap
|
|
46
|
-
# This keeps the engine's JavaScript separate from the app's importmap
|
|
47
34
|
initializer "panda_cms.importmap", before: "importmap" do |app|
|
|
48
35
|
Panda::CMS.importmap = Importmap::Map.new.tap do |map|
|
|
49
36
|
map.draw(Panda::CMS::Engine.root.join("config/importmap.rb"))
|
|
50
37
|
end
|
|
51
38
|
end
|
|
52
39
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
initializer "panda.cms.static_assets" do |app|
|
|
56
|
-
# Serve public assets (CSS, images, etc.)
|
|
57
|
-
# JavaScript is served by ModuleRegistry's JavaScriptMiddleware in panda-core
|
|
58
|
-
app.config.middleware.use Rack::Static,
|
|
40
|
+
initializer "panda.cms.static_assets", after: :load_config_initializers do |app|
|
|
41
|
+
app.config.middleware.insert_before Rack::Sendfile, Rack::Static,
|
|
59
42
|
urls: ["/panda-cms-assets"],
|
|
60
43
|
root: Panda::CMS::Engine.root.join("public")
|
|
61
44
|
end
|
|
62
45
|
end
|
|
63
46
|
|
|
64
47
|
class MissingBlockError < StandardError; end
|
|
65
|
-
|
|
66
48
|
class BlockError < StandardError; end
|
|
67
49
|
end
|
|
68
50
|
end
|
|
69
51
|
|
|
70
|
-
# Register CMS module with ModuleRegistry for JavaScript serving
|
|
71
52
|
Panda::Core::ModuleRegistry.register(
|
|
72
53
|
gem_name: "panda-cms",
|
|
73
54
|
engine: "Panda::CMS::Engine",
|
|
74
55
|
paths: {
|
|
75
56
|
views: "app/views/panda/cms/**/*.erb",
|
|
76
|
-
components: "app/components/panda/cms/**/*.rb"
|
|
77
|
-
|
|
57
|
+
components: "app/components/panda/cms/**/*.rb",
|
|
58
|
+
stylesheets: "app/assets/tailwind/panda/cms/**/*.css"
|
|
78
59
|
}
|
|
79
60
|
)
|
data/lib/panda/cms.rb
CHANGED
data/lib/panda-cms.rb
CHANGED
|
@@ -78,6 +78,9 @@ module Panda
|
|
|
78
78
|
Panda::Core.config.admin_path
|
|
79
79
|
end
|
|
80
80
|
end
|
|
81
|
+
|
|
82
|
+
# Store the engine's importmap separately from the app's
|
|
83
|
+
mattr_accessor :importmap
|
|
81
84
|
end
|
|
82
85
|
end
|
|
83
86
|
|
|
@@ -95,13 +98,17 @@ Panda::CMS.loader.push_dir(File.expand_path("panda/cms", __dir__), namespace: Pa
|
|
|
95
98
|
Panda::CMS.loader.ignore(__dir__.to_s)
|
|
96
99
|
Panda::CMS.loader.ignore(File.expand_path("panda", __dir__))
|
|
97
100
|
|
|
101
|
+
# Ignore version.rb since it's manually required and defines VERSION constant
|
|
102
|
+
# rather than a Version class that zeitwerk would expect
|
|
103
|
+
Panda::CMS.loader.ignore(File.expand_path("panda/cms/version.rb", __dir__))
|
|
104
|
+
|
|
98
105
|
# Configure Zeitwerk inflections
|
|
99
106
|
Panda::CMS.loader.inflector.inflect(
|
|
100
107
|
"cms" => "CMS"
|
|
101
108
|
)
|
|
102
109
|
|
|
103
110
|
# Manually require files from panda-cms directory
|
|
104
|
-
require_relative "panda
|
|
111
|
+
require_relative "panda/cms/version"
|
|
105
112
|
require_relative "panda/cms/debug"
|
|
106
113
|
require_relative "panda/cms/exceptions_app"
|
|
107
114
|
require_relative "panda/cms/engine"
|
data/lib/tasks/ci.rake
ADDED
|
File without changes
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: panda-cms
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.10.
|
|
4
|
+
version: 0.10.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Otaina Limited
|
|
@@ -98,16 +98,16 @@ dependencies:
|
|
|
98
98
|
name: http
|
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
|
100
100
|
requirements:
|
|
101
|
-
- - "
|
|
101
|
+
- - "~>"
|
|
102
102
|
- !ruby/object:Gem::Version
|
|
103
|
-
version:
|
|
103
|
+
version: 5.1.1
|
|
104
104
|
type: :runtime
|
|
105
105
|
prerelease: false
|
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
|
107
107
|
requirements:
|
|
108
|
-
- - "
|
|
108
|
+
- - "~>"
|
|
109
109
|
- !ruby/object:Gem::Version
|
|
110
|
-
version:
|
|
110
|
+
version: 5.1.1
|
|
111
111
|
- !ruby/object:Gem::Dependency
|
|
112
112
|
name: importmap-rails
|
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -256,12 +256,9 @@ extra_rdoc_files: []
|
|
|
256
256
|
files:
|
|
257
257
|
- README.md
|
|
258
258
|
- Rakefile
|
|
259
|
-
- app/assets/builds/panda.cms.css
|
|
260
259
|
- app/assets/config/panda_cms_manifest.js
|
|
261
|
-
- app/assets/
|
|
262
|
-
- app/
|
|
263
|
-
- app/assets/tailwind/application.css
|
|
264
|
-
- app/assets/tailwind/tailwind.config.js
|
|
260
|
+
- app/assets/tailwind/panda/cms/_application.css
|
|
261
|
+
- app/components/panda/cms/admin/popular_pages_component.rb
|
|
265
262
|
- app/components/panda/cms/code_component.rb
|
|
266
263
|
- app/components/panda/cms/grid_component.rb
|
|
267
264
|
- app/components/panda/cms/menu_component.rb
|
|
@@ -368,9 +365,9 @@ files:
|
|
|
368
365
|
- app/views/shared/_header.html.erb
|
|
369
366
|
- config/brakeman.ignore
|
|
370
367
|
- config/importmap.rb
|
|
368
|
+
- config/initializers/groupdate.rb
|
|
371
369
|
- config/initializers/panda/cms.rb
|
|
372
370
|
- config/initializers/panda/cms/form_errors.rb
|
|
373
|
-
- config/initializers/panda/cms/healthcheck_log_silencer.rb.disabled
|
|
374
371
|
- config/initializers/zeitwork.rb
|
|
375
372
|
- config/locales/en.yml
|
|
376
373
|
- config/puma/test.rb
|
|
@@ -392,16 +389,10 @@ files:
|
|
|
392
389
|
- db/migrate/20240316212822_add_kind_to_panda_cms_menus.rb
|
|
393
390
|
- db/migrate/20240316221425_add_start_page_to_panda_cms_menus.rb
|
|
394
391
|
- db/migrate/20240316230706_add_nested_to_panda_cms_menu_items.rb
|
|
395
|
-
- db/migrate/20240317010532_create_panda_cms_users.rb
|
|
396
392
|
- db/migrate/20240317161534_add_max_uses_to_panda_cms_template.rb
|
|
397
393
|
- db/migrate/20240317163053_reset_counter_cache_on_panda_cms_template.rb
|
|
398
394
|
- db/migrate/20240317214827_create_panda_cms_redirects.rb
|
|
399
395
|
- db/migrate/20240317230622_create_panda_cms_visits.rb
|
|
400
|
-
- db/migrate/20240324205703_create_active_storage_tables.active_storage.rb
|
|
401
|
-
- db/migrate/20240408084718_default_panda_cms_users_admin_to_false.rb
|
|
402
|
-
- db/migrate/20240701225422_add_service_name_to_active_storage_blobs.active_storage.rb
|
|
403
|
-
- db/migrate/20240701225423_create_active_storage_variant_records.active_storage.rb
|
|
404
|
-
- db/migrate/20240701225424_remove_not_null_on_active_storage_blobs_checksum.active_storage.rb
|
|
405
396
|
- db/migrate/20240804235210_create_panda_cms_forms.rb
|
|
406
397
|
- db/migrate/20240805013612_create_panda_cms_form_submissions.rb
|
|
407
398
|
- db/migrate/20240805121123_create_panda_cms_posts.rb
|
|
@@ -411,7 +402,6 @@ files:
|
|
|
411
402
|
- db/migrate/20240820081917_change_form_submissions_to_submission_count.rb
|
|
412
403
|
- db/migrate/20240923234535_add_depth_to_panda_cms_menus.rb
|
|
413
404
|
- db/migrate/20241031205109_add_cached_content_to_panda_cms_block_contents.rb
|
|
414
|
-
- db/migrate/20241119214548_convert_post_content_to_editor_js.rb
|
|
415
405
|
- db/migrate/20241120000419_remove_post_tag_references.rb
|
|
416
406
|
- db/migrate/20241120110943_add_editor_js_to_posts.rb
|
|
417
407
|
- db/migrate/20241120113859_add_cached_content_to_panda_cms_posts.rb
|
|
@@ -419,21 +409,20 @@ files:
|
|
|
419
409
|
- db/migrate/20250106223303_add_author_id_to_panda_cms_posts.rb
|
|
420
410
|
- db/migrate/20250120235542_remove_paper_trail.rb
|
|
421
411
|
- db/migrate/20250126234001_create_panda_social_instagram_posts.rb
|
|
422
|
-
- db/migrate/20250809231125_migrate_users_to_panda_core.rb
|
|
423
412
|
- db/migrate/20250811111000_make_post_user_references_nullable.rb
|
|
424
413
|
- db/migrate/20251104150640_add_cached_last_updated_at_to_panda_cms_pages.rb
|
|
425
414
|
- db/migrate/20251104172242_add_page_type_to_panda_cms_pages.rb
|
|
426
415
|
- db/migrate/20251104172638_set_page_types_for_existing_pages.rb
|
|
427
|
-
- db/migrate/20251105000001_add_pending_review_status_to_pages_and_posts.
|
|
416
|
+
- db/migrate/20251105000001_add_pending_review_status_to_pages_and_posts.rb
|
|
428
417
|
- db/migrate/20251109131150_add_seo_fields_to_pages.rb
|
|
429
418
|
- db/migrate/20251109131205_add_seo_fields_to_posts.rb
|
|
430
419
|
- db/migrate/20251110114258_add_spam_tracking_to_form_submissions.rb
|
|
431
420
|
- db/migrate/20251110122812_add_performance_indexes_to_pages_and_redirects.rb
|
|
421
|
+
- db/migrate/20251117234530_add_index_to_visited_at_on_panda_cms_visits.rb
|
|
422
|
+
- db/migrate/20251118015100_backfill_visited_at_for_existing_visits.rb
|
|
432
423
|
- db/migrate/migrate
|
|
433
424
|
- db/seeds.rb
|
|
434
|
-
- lib/generators/panda/cms/install_generator.rb
|
|
435
425
|
- lib/panda-cms.rb
|
|
436
|
-
- lib/panda-cms/version.rb
|
|
437
426
|
- lib/panda/cms.rb
|
|
438
427
|
- lib/panda/cms/asset_loader.rb
|
|
439
428
|
- lib/panda/cms/bulk_editor.rb
|
|
@@ -451,6 +440,8 @@ files:
|
|
|
451
440
|
- lib/panda/cms/features.rb
|
|
452
441
|
- lib/panda/cms/railtie.rb
|
|
453
442
|
- lib/panda/cms/slug.rb
|
|
443
|
+
- lib/panda/cms/version.rb
|
|
444
|
+
- lib/tasks/ci.rake
|
|
454
445
|
- lib/tasks/panda/cms/install.rake
|
|
455
446
|
- lib/tasks/panda/cms/migrations.rake
|
|
456
447
|
- lib/tasks/panda/social/instagram.rake
|
|
@@ -462,30 +453,6 @@ files:
|
|
|
462
453
|
- lib/templates/erb/scaffold/new.html.erb.tt
|
|
463
454
|
- lib/templates/erb/scaffold/partial.html.erb.tt
|
|
464
455
|
- lib/templates/erb/scaffold/show.html.erb.tt
|
|
465
|
-
- public/panda-cms-assets/editor-js/core/editorjs.min.js
|
|
466
|
-
- public/panda-cms-assets/editor-js/plugins/embed.min.js
|
|
467
|
-
- public/panda-cms-assets/editor-js/plugins/header.min.js
|
|
468
|
-
- public/panda-cms-assets/editor-js/plugins/nested-list.min.js
|
|
469
|
-
- public/panda-cms-assets/editor-js/plugins/paragraph.min.js
|
|
470
|
-
- public/panda-cms-assets/editor-js/plugins/quote.min.js
|
|
471
|
-
- public/panda-cms-assets/editor-js/plugins/simple-image.min.js
|
|
472
|
-
- public/panda-cms-assets/editor-js/plugins/table.min.js
|
|
473
|
-
- public/panda-cms-assets/favicons/android-chrome-192x192.png
|
|
474
|
-
- public/panda-cms-assets/favicons/android-chrome-512x512.png
|
|
475
|
-
- public/panda-cms-assets/favicons/apple-touch-icon.png
|
|
476
|
-
- public/panda-cms-assets/favicons/browserconfig.xml
|
|
477
|
-
- public/panda-cms-assets/favicons/favicon-16x16.png
|
|
478
|
-
- public/panda-cms-assets/favicons/favicon-32x32.png
|
|
479
|
-
- public/panda-cms-assets/favicons/favicon.ico
|
|
480
|
-
- public/panda-cms-assets/favicons/mstile-150x150.png
|
|
481
|
-
- public/panda-cms-assets/favicons/safari-pinned-tab.svg
|
|
482
|
-
- public/panda-cms-assets/favicons/site.webmanifest
|
|
483
|
-
- public/panda-cms-assets/manifest.json
|
|
484
|
-
- public/panda-cms-assets/panda-cms-0.7.4.css
|
|
485
|
-
- public/panda-cms-assets/panda-cms-0.7.4.js
|
|
486
|
-
- public/panda-cms-assets/panda-logo-screenprint.png
|
|
487
|
-
- public/panda-cms-assets/panda-nav.png
|
|
488
|
-
- public/panda-cms-assets/rich_text_editor.css
|
|
489
456
|
homepage: https://pandacms.io
|
|
490
457
|
licenses:
|
|
491
458
|
- BSD-3-Clause
|