panda_cms 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (193) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +71 -0
  3. data/Rakefile +8 -0
  4. data/app/assets/builds/panda_cms.css +1 -0
  5. data/app/assets/config/panda_cms_manifest.js +1 -0
  6. data/app/assets/stylesheets/panda_cms/application.tailwind.css +61 -0
  7. data/app/builders/panda_cms/form_builder.rb +118 -0
  8. data/app/components/panda_cms/admin/button_component.rb +65 -0
  9. data/app/components/panda_cms/admin/container_component.html.erb +13 -0
  10. data/app/components/panda_cms/admin/container_component.rb +11 -0
  11. data/app/components/panda_cms/admin/flash_message_component.html.erb +30 -0
  12. data/app/components/panda_cms/admin/flash_message_component.rb +44 -0
  13. data/app/components/panda_cms/admin/heading_component.rb +43 -0
  14. data/app/components/panda_cms/admin/panel_component.html.erb +7 -0
  15. data/app/components/panda_cms/admin/panel_component.rb +11 -0
  16. data/app/components/panda_cms/admin/slideover_component.html.erb +9 -0
  17. data/app/components/panda_cms/admin/slideover_component.rb +13 -0
  18. data/app/components/panda_cms/admin/statistics_component.html.erb +4 -0
  19. data/app/components/panda_cms/admin/statistics_component.rb +15 -0
  20. data/app/components/panda_cms/admin/tab_bar_component.html.erb +35 -0
  21. data/app/components/panda_cms/admin/tab_bar_component.rb +13 -0
  22. data/app/components/panda_cms/admin/table_component.html.erb +21 -0
  23. data/app/components/panda_cms/admin/table_component.rb +43 -0
  24. data/app/components/panda_cms/admin/tag_component.rb +33 -0
  25. data/app/components/panda_cms/admin/user_activity_component.html.erb +5 -0
  26. data/app/components/panda_cms/admin/user_activity_component.rb +19 -0
  27. data/app/components/panda_cms/admin/user_display_component.html.erb +11 -0
  28. data/app/components/panda_cms/admin/user_display_component.rb +19 -0
  29. data/app/components/panda_cms/grid_component.html.erb +6 -0
  30. data/app/components/panda_cms/grid_component.rb +13 -0
  31. data/app/components/panda_cms/menu_component.html.erb +3 -0
  32. data/app/components/panda_cms/menu_component.rb +18 -0
  33. data/app/components/panda_cms/page_menu_component.html.erb +24 -0
  34. data/app/components/panda_cms/page_menu_component.rb +24 -0
  35. data/app/components/panda_cms/rich_text_component.html.erb +40 -0
  36. data/app/components/panda_cms/rich_text_component.rb +35 -0
  37. data/app/components/panda_cms/text_component.rb +67 -0
  38. data/app/constraints/panda_cms/admin_constraint.rb +16 -0
  39. data/app/controllers/panda_cms/admin/block_contents_controller.rb +44 -0
  40. data/app/controllers/panda_cms/admin/dashboard_controller.rb +31 -0
  41. data/app/controllers/panda_cms/admin/files_controller.rb +19 -0
  42. data/app/controllers/panda_cms/admin/forms_controller.rb +51 -0
  43. data/app/controllers/panda_cms/admin/menus_controller.rb +81 -0
  44. data/app/controllers/panda_cms/admin/pages_controller.rb +88 -0
  45. data/app/controllers/panda_cms/admin/posts_controller.rb +34 -0
  46. data/app/controllers/panda_cms/admin/sessions_controller.rb +83 -0
  47. data/app/controllers/panda_cms/admin/settings/bulk_editor_controller.rb +35 -0
  48. data/app/controllers/panda_cms/admin/settings_controller.rb +18 -0
  49. data/app/controllers/panda_cms/application_controller.rb +55 -0
  50. data/app/controllers/panda_cms/errors_controller.rb +31 -0
  51. data/app/controllers/panda_cms/form_submissions_controller.rb +21 -0
  52. data/app/controllers/panda_cms/pages_controller.rb +56 -0
  53. data/app/controllers/panda_cms/posts_controller.rb +17 -0
  54. data/app/helpers/panda_cms/admin/files_helper.rb +4 -0
  55. data/app/helpers/panda_cms/admin/pages_helper.rb +4 -0
  56. data/app/helpers/panda_cms/application_helper.rb +96 -0
  57. data/app/helpers/panda_cms/pages_helper.rb +4 -0
  58. data/app/helpers/panda_cms/theme_helper.rb +16 -0
  59. data/app/javascript/base.js +37 -0
  60. data/app/javascript/controllers/menu_controller.js +19 -0
  61. data/app/javascript/controllers/text_controller.js +78 -0
  62. data/app/javascript/controllers/text_field_update_controller.js +23 -0
  63. data/app/javascript/vendor/stimulus-components-rails-nested-form.js +2 -0
  64. data/app/javascript/vendor/tailwindcss-stimulus-components.js +2 -0
  65. data/app/jobs/panda_cms/application_job.rb +4 -0
  66. data/app/jobs/panda_cms/record_visit_job.rb +29 -0
  67. data/app/lib/panda_cms/bulk_editor.rb +169 -0
  68. data/app/lib/panda_cms/demo_site_generator.rb +70 -0
  69. data/app/lib/panda_cms/slug.rb +22 -0
  70. data/app/mailers/panda_cms/application_mailer.rb +6 -0
  71. data/app/mailers/panda_cms/form_mailer.rb +19 -0
  72. data/app/models/panda_cms/application_record.rb +5 -0
  73. data/app/models/panda_cms/block.rb +32 -0
  74. data/app/models/panda_cms/block_content.rb +16 -0
  75. data/app/models/panda_cms/block_content_version.rb +6 -0
  76. data/app/models/panda_cms/breadcrumb.rb +10 -0
  77. data/app/models/panda_cms/current.rb +15 -0
  78. data/app/models/panda_cms/form.rb +7 -0
  79. data/app/models/panda_cms/form_submission.rb +5 -0
  80. data/app/models/panda_cms/menu.rb +50 -0
  81. data/app/models/panda_cms/menu_item.rb +56 -0
  82. data/app/models/panda_cms/page.rb +81 -0
  83. data/app/models/panda_cms/page_version.rb +6 -0
  84. data/app/models/panda_cms/post.rb +25 -0
  85. data/app/models/panda_cms/post_version.rb +6 -0
  86. data/app/models/panda_cms/redirect.rb +9 -0
  87. data/app/models/panda_cms/template.rb +117 -0
  88. data/app/models/panda_cms/template_version.rb +6 -0
  89. data/app/models/panda_cms/user.rb +15 -0
  90. data/app/models/panda_cms/version.rb +6 -0
  91. data/app/models/panda_cms/visit.rb +7 -0
  92. data/app/views/layouts/panda_cms/application.html.erb +44 -0
  93. data/app/views/layouts/panda_cms/public.html.erb +3 -0
  94. data/app/views/panda_cms/admin/dashboard/show.html.erb +11 -0
  95. data/app/views/panda_cms/admin/files/index.html.erb +124 -0
  96. data/app/views/panda_cms/admin/files/show.html.erb +2 -0
  97. data/app/views/panda_cms/admin/forms/edit.html.erb +0 -0
  98. data/app/views/panda_cms/admin/forms/index.html.erb +13 -0
  99. data/app/views/panda_cms/admin/forms/new.html.erb +16 -0
  100. data/app/views/panda_cms/admin/forms/show.html.erb +35 -0
  101. data/app/views/panda_cms/admin/menus/_form.html.erb +21 -0
  102. data/app/views/panda_cms/admin/menus/_menu_item_fields.html.erb +7 -0
  103. data/app/views/panda_cms/admin/menus/edit.html.erb +58 -0
  104. data/app/views/panda_cms/admin/menus/index.html.erb +10 -0
  105. data/app/views/panda_cms/admin/menus/new.html.erb +5 -0
  106. data/app/views/panda_cms/admin/pages/edit.html.erb +26 -0
  107. data/app/views/panda_cms/admin/pages/index.html.erb +16 -0
  108. data/app/views/panda_cms/admin/pages/new.html.erb +16 -0
  109. data/app/views/panda_cms/admin/pages/show.html.erb +1 -0
  110. data/app/views/panda_cms/admin/posts/index.html.erb +16 -0
  111. data/app/views/panda_cms/admin/sessions/new.html.erb +18 -0
  112. data/app/views/panda_cms/admin/settings/bulk_editor/new.html.erb +68 -0
  113. data/app/views/panda_cms/admin/settings/index.html.erb +19 -0
  114. data/app/views/panda_cms/admin/shared/_breadcrumbs.html.erb +28 -0
  115. data/app/views/panda_cms/admin/shared/_flash.html.erb +5 -0
  116. data/app/views/panda_cms/admin/shared/_sidebar.html.erb +45 -0
  117. data/app/views/panda_cms/form_mailer/notification_email.html.erb +11 -0
  118. data/app/views/panda_cms/shared/_favicons.html.erb +9 -0
  119. data/app/views/panda_cms/shared/_footer.html.erb +2 -0
  120. data/app/views/panda_cms/shared/_header.html.erb +15 -0
  121. data/config/importmap.rb +9 -0
  122. data/config/initializers/panda_cms/form_errors.rb +38 -0
  123. data/config/initializers/panda_cms/healthcheck_log_silencer.rb +11 -0
  124. data/config/initializers/panda_cms.rb +52 -0
  125. data/config/locales/en.yml +29 -0
  126. data/config/routes.rb +43 -0
  127. data/config/tailwind.config.js +35 -0
  128. data/config/tailwind.embed.config.js +20 -0
  129. data/db/migrate/20240205223709_create_panda_cms_pages.rb +9 -0
  130. data/db/migrate/20240219213327_create_panda_cms_page_versions.rb +14 -0
  131. data/db/migrate/20240303002805_create_panda_cms_templates.rb +11 -0
  132. data/db/migrate/20240303003434_create_panda_cms_template_versions.rb +14 -0
  133. data/db/migrate/20240303022441_create_panda_cms_blocks.rb +13 -0
  134. data/db/migrate/20240303024256_create_panda_cms_block_contents.rb +10 -0
  135. data/db/migrate/20240303024746_create_panda_cms_block_content_versions.rb +14 -0
  136. data/db/migrate/20240303233238_add_panda_cms_menu_table.rb +10 -0
  137. data/db/migrate/20240303234724_add_panda_cms_menu_item_table.rb +12 -0
  138. data/db/migrate/20240304134343_add_parent_id_to_panda_cms_pages.rb +5 -0
  139. data/db/migrate/20240315125421_add_nested_sets_to_panda_cms_pages.rb +16 -0
  140. data/db/migrate/20240316212822_add_kind_to_panda_cms_menus.rb +6 -0
  141. data/db/migrate/20240316221425_add_start_page_to_panda_cms_menus.rb +5 -0
  142. data/db/migrate/20240316230706_add_nested_to_panda_cms_menu_items.rb +24 -0
  143. data/db/migrate/20240317010532_create_panda_cms_users.rb +12 -0
  144. data/db/migrate/20240317161534_add_max_uses_to_panda_cms_template.rb +7 -0
  145. data/db/migrate/20240317163053_reset_counter_cache_on_panda_cms_template.rb +5 -0
  146. data/db/migrate/20240317214827_create_panda_cms_redirects.rb +14 -0
  147. data/db/migrate/20240317230622_create_panda_cms_visits.rb +13 -0
  148. data/db/migrate/20240324205703_create_active_storage_tables.active_storage.rb +58 -0
  149. data/db/migrate/20240408084718_default_panda_cms_users_admin_to_false.rb +5 -0
  150. data/db/migrate/20240701225422_add_service_name_to_active_storage_blobs.active_storage.rb +22 -0
  151. data/db/migrate/20240701225423_create_active_storage_variant_records.active_storage.rb +28 -0
  152. data/db/migrate/20240701225424_remove_not_null_on_active_storage_blobs_checksum.active_storage.rb +8 -0
  153. data/db/migrate/20240804110225_add_status_to_panda_cms_pages.rb +7 -0
  154. data/db/migrate/20240804235210_create_panda_cms_forms.rb +11 -0
  155. data/db/migrate/20240805013612_create_panda_cms_form_submissions.rb +9 -0
  156. data/db/migrate/20240805121123_create_panda_cms_posts.rb +27 -0
  157. data/db/migrate/20240805123104_create_panda_cms_post_versions.rb +14 -0
  158. data/db/migrate/20240806112735_fix_panda_cms_visits_column_names.rb +13 -0
  159. data/db/migrate/20240806204412_add_completion_path_to_panda_cms_forms.rb +5 -0
  160. data/db/migrate/20240820081917_change_form_submissions_to_submission_count.rb +5 -0
  161. data/db/seeds.rb +4 -0
  162. data/lib/generators/panda_cms/install_generator.rb +24 -0
  163. data/lib/panda_cms/engine.rb +167 -0
  164. data/lib/panda_cms/exceptions_app.rb +24 -0
  165. data/lib/panda_cms/version.rb +3 -0
  166. data/lib/panda_cms.rb +15 -0
  167. data/lib/tasks/panda_cms.rake +92 -0
  168. data/lib/templates/erb/scaffold/_form.html.erb.tt +43 -0
  169. data/lib/templates/erb/scaffold/edit.html.erb.tt +8 -0
  170. data/lib/templates/erb/scaffold/index.html.erb.tt +14 -0
  171. data/lib/templates/erb/scaffold/new.html.erb.tt +7 -0
  172. data/lib/templates/erb/scaffold/partial.html.erb.tt +22 -0
  173. data/lib/templates/erb/scaffold/show.html.erb.tt +15 -0
  174. data/public/panda-cms-assets/favicons/android-chrome-192x192.png +0 -0
  175. data/public/panda-cms-assets/favicons/android-chrome-512x512.png +0 -0
  176. data/public/panda-cms-assets/favicons/apple-touch-icon.png +0 -0
  177. data/public/panda-cms-assets/favicons/browserconfig.xml +9 -0
  178. data/public/panda-cms-assets/favicons/favicon-16x16.png +0 -0
  179. data/public/panda-cms-assets/favicons/favicon-32x32.png +0 -0
  180. data/public/panda-cms-assets/favicons/favicon.ico +0 -0
  181. data/public/panda-cms-assets/favicons/mstile-150x150.png +0 -0
  182. data/public/panda-cms-assets/favicons/safari-pinned-tab.svg +61 -0
  183. data/public/panda-cms-assets/favicons/site.webmanifest +14 -0
  184. data/public/panda-cms-assets/javascripts/base.js +37 -0
  185. data/public/panda-cms-assets/javascripts/controllers/menu_controller.js +19 -0
  186. data/public/panda-cms-assets/javascripts/controllers/text_field_update_controller.js +23 -0
  187. data/public/panda-cms-assets/javascripts/embed/editable.js +308 -0
  188. data/public/panda-cms-assets/javascripts/vendor/stimulus-components-rails-nested-form.js +2 -0
  189. data/public/panda-cms-assets/javascripts/vendor/stimulus-loading.js +113 -0
  190. data/public/panda-cms-assets/javascripts/vendor/tailwindcss-stimulus-components.js +2 -0
  191. data/public/panda-cms-assets/panda-logo-screenprint.png +0 -0
  192. data/public/panda-cms-assets/panda-nav.png +0 -0
  193. metadata +1034 -0
metadata ADDED
@@ -0,0 +1,1034 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: panda_cms
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.0
5
+ platform: ruby
6
+ authors:
7
+ - Panda Software Limited
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2024-08-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activestorage-office-previewer
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: awesome_nested_set
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '3.6'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3.6'
41
+ - !ruby/object:Gem::Dependency
42
+ name: aws-sdk-s3
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1'
55
+ - !ruby/object:Gem::Dependency
56
+ name: danger
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '9.5'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '9.5'
69
+ - !ruby/object:Gem::Dependency
70
+ name: faraday
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '2'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '2'
83
+ - !ruby/object:Gem::Dependency
84
+ name: faraday-retry
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '2'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '2'
97
+ - !ruby/object:Gem::Dependency
98
+ name: faraday-multipart
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '1.0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '1.0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: groupdate
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '6.4'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '6.4'
125
+ - !ruby/object:Gem::Dependency
126
+ name: htmlentities
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '4.3'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '4.3'
139
+ - !ruby/object:Gem::Dependency
140
+ name: image_processing
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '1.2'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '1.2'
153
+ - !ruby/object:Gem::Dependency
154
+ name: importmap-rails
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '2.0'
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '2.0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: local_time
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '3.0'
174
+ type: :runtime
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '3.0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: omniauth
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: '2.1'
188
+ type: :runtime
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: '2.1'
195
+ - !ruby/object:Gem::Dependency
196
+ name: omniauth-github
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: '2.0'
202
+ type: :runtime
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: '2.0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: omniauth-google-oauth2
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: '1.1'
216
+ type: :runtime
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: '1.1'
223
+ - !ruby/object:Gem::Dependency
224
+ name: omniauth-microsoft_graph
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - "~>"
228
+ - !ruby/object:Gem::Version
229
+ version: '2.0'
230
+ type: :runtime
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - "~>"
235
+ - !ruby/object:Gem::Version
236
+ version: '2.0'
237
+ - !ruby/object:Gem::Dependency
238
+ name: omniauth-rails_csrf_protection
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - "~>"
242
+ - !ruby/object:Gem::Version
243
+ version: '1.0'
244
+ type: :runtime
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - "~>"
249
+ - !ruby/object:Gem::Version
250
+ version: '1.0'
251
+ - !ruby/object:Gem::Dependency
252
+ name: paper_trail
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - "~>"
256
+ - !ruby/object:Gem::Version
257
+ version: '15.1'
258
+ type: :runtime
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - "~>"
263
+ - !ruby/object:Gem::Version
264
+ version: '15.1'
265
+ - !ruby/object:Gem::Dependency
266
+ name: pg
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - "~>"
270
+ - !ruby/object:Gem::Version
271
+ version: '1.5'
272
+ type: :runtime
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - "~>"
277
+ - !ruby/object:Gem::Version
278
+ version: '1.5'
279
+ - !ruby/object:Gem::Dependency
280
+ name: rails
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - ">="
284
+ - !ruby/object:Gem::Version
285
+ version: '7.2'
286
+ type: :runtime
287
+ prerelease: false
288
+ version_requirements: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - ">="
291
+ - !ruby/object:Gem::Version
292
+ version: '7.2'
293
+ - !ruby/object:Gem::Dependency
294
+ name: redcarpet
295
+ requirement: !ruby/object:Gem::Requirement
296
+ requirements:
297
+ - - "~>"
298
+ - !ruby/object:Gem::Version
299
+ version: '3.6'
300
+ type: :runtime
301
+ prerelease: false
302
+ version_requirements: !ruby/object:Gem::Requirement
303
+ requirements:
304
+ - - "~>"
305
+ - !ruby/object:Gem::Version
306
+ version: '3.6'
307
+ - !ruby/object:Gem::Dependency
308
+ name: silencer
309
+ requirement: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - "~>"
312
+ - !ruby/object:Gem::Version
313
+ version: '2.0'
314
+ type: :runtime
315
+ prerelease: false
316
+ version_requirements: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - "~>"
319
+ - !ruby/object:Gem::Version
320
+ version: '2.0'
321
+ - !ruby/object:Gem::Dependency
322
+ name: stimulus-rails
323
+ requirement: !ruby/object:Gem::Requirement
324
+ requirements:
325
+ - - "~>"
326
+ - !ruby/object:Gem::Version
327
+ version: '1.3'
328
+ type: :runtime
329
+ prerelease: false
330
+ version_requirements: !ruby/object:Gem::Requirement
331
+ requirements:
332
+ - - "~>"
333
+ - !ruby/object:Gem::Version
334
+ version: '1.3'
335
+ - !ruby/object:Gem::Dependency
336
+ name: tailwindcss-rails
337
+ requirement: !ruby/object:Gem::Requirement
338
+ requirements:
339
+ - - "~>"
340
+ - !ruby/object:Gem::Version
341
+ version: '2.3'
342
+ type: :runtime
343
+ prerelease: false
344
+ version_requirements: !ruby/object:Gem::Requirement
345
+ requirements:
346
+ - - "~>"
347
+ - !ruby/object:Gem::Version
348
+ version: '2.3'
349
+ - !ruby/object:Gem::Dependency
350
+ name: view_component
351
+ requirement: !ruby/object:Gem::Requirement
352
+ requirements:
353
+ - - "~>"
354
+ - !ruby/object:Gem::Version
355
+ version: '3.11'
356
+ type: :runtime
357
+ prerelease: false
358
+ version_requirements: !ruby/object:Gem::Requirement
359
+ requirements:
360
+ - - "~>"
361
+ - !ruby/object:Gem::Version
362
+ version: '3.11'
363
+ - !ruby/object:Gem::Dependency
364
+ name: whois-parser
365
+ requirement: !ruby/object:Gem::Requirement
366
+ requirements:
367
+ - - "~>"
368
+ - !ruby/object:Gem::Version
369
+ version: '2.0'
370
+ type: :runtime
371
+ prerelease: false
372
+ version_requirements: !ruby/object:Gem::Requirement
373
+ requirements:
374
+ - - "~>"
375
+ - !ruby/object:Gem::Version
376
+ version: '2.0'
377
+ - !ruby/object:Gem::Dependency
378
+ name: amazing_print
379
+ requirement: !ruby/object:Gem::Requirement
380
+ requirements:
381
+ - - "~>"
382
+ - !ruby/object:Gem::Version
383
+ version: '1.6'
384
+ type: :development
385
+ prerelease: false
386
+ version_requirements: !ruby/object:Gem::Requirement
387
+ requirements:
388
+ - - "~>"
389
+ - !ruby/object:Gem::Version
390
+ version: '1.6'
391
+ - !ruby/object:Gem::Dependency
392
+ name: annotate
393
+ requirement: !ruby/object:Gem::Requirement
394
+ requirements:
395
+ - - "~>"
396
+ - !ruby/object:Gem::Version
397
+ version: '3.1'
398
+ type: :development
399
+ prerelease: false
400
+ version_requirements: !ruby/object:Gem::Requirement
401
+ requirements:
402
+ - - "~>"
403
+ - !ruby/object:Gem::Version
404
+ version: '3.1'
405
+ - !ruby/object:Gem::Dependency
406
+ name: better_errors
407
+ requirement: !ruby/object:Gem::Requirement
408
+ requirements:
409
+ - - "~>"
410
+ - !ruby/object:Gem::Version
411
+ version: '2.10'
412
+ type: :development
413
+ prerelease: false
414
+ version_requirements: !ruby/object:Gem::Requirement
415
+ requirements:
416
+ - - "~>"
417
+ - !ruby/object:Gem::Version
418
+ version: '2.10'
419
+ - !ruby/object:Gem::Dependency
420
+ name: binding_of_caller
421
+ requirement: !ruby/object:Gem::Requirement
422
+ requirements:
423
+ - - "~>"
424
+ - !ruby/object:Gem::Version
425
+ version: '1.0'
426
+ type: :development
427
+ prerelease: false
428
+ version_requirements: !ruby/object:Gem::Requirement
429
+ requirements:
430
+ - - "~>"
431
+ - !ruby/object:Gem::Version
432
+ version: '1.0'
433
+ - !ruby/object:Gem::Dependency
434
+ name: brakeman
435
+ requirement: !ruby/object:Gem::Requirement
436
+ requirements:
437
+ - - "~>"
438
+ - !ruby/object:Gem::Version
439
+ version: '6.1'
440
+ type: :development
441
+ prerelease: false
442
+ version_requirements: !ruby/object:Gem::Requirement
443
+ requirements:
444
+ - - "~>"
445
+ - !ruby/object:Gem::Version
446
+ version: '6.1'
447
+ - !ruby/object:Gem::Dependency
448
+ name: bullet
449
+ requirement: !ruby/object:Gem::Requirement
450
+ requirements:
451
+ - - "~>"
452
+ - !ruby/object:Gem::Version
453
+ version: '7.1'
454
+ type: :development
455
+ prerelease: false
456
+ version_requirements: !ruby/object:Gem::Requirement
457
+ requirements:
458
+ - - "~>"
459
+ - !ruby/object:Gem::Version
460
+ version: '7.1'
461
+ - !ruby/object:Gem::Dependency
462
+ name: bundler-audit
463
+ requirement: !ruby/object:Gem::Requirement
464
+ requirements:
465
+ - - "~>"
466
+ - !ruby/object:Gem::Version
467
+ version: '0.9'
468
+ type: :development
469
+ prerelease: false
470
+ version_requirements: !ruby/object:Gem::Requirement
471
+ requirements:
472
+ - - "~>"
473
+ - !ruby/object:Gem::Version
474
+ version: '0.9'
475
+ - !ruby/object:Gem::Dependency
476
+ name: capybara
477
+ requirement: !ruby/object:Gem::Requirement
478
+ requirements:
479
+ - - "~>"
480
+ - !ruby/object:Gem::Version
481
+ version: '3.40'
482
+ type: :development
483
+ prerelease: false
484
+ version_requirements: !ruby/object:Gem::Requirement
485
+ requirements:
486
+ - - "~>"
487
+ - !ruby/object:Gem::Version
488
+ version: '3.40'
489
+ - !ruby/object:Gem::Dependency
490
+ name: danger
491
+ requirement: !ruby/object:Gem::Requirement
492
+ requirements:
493
+ - - "~>"
494
+ - !ruby/object:Gem::Version
495
+ version: '9.5'
496
+ type: :development
497
+ prerelease: false
498
+ version_requirements: !ruby/object:Gem::Requirement
499
+ requirements:
500
+ - - "~>"
501
+ - !ruby/object:Gem::Version
502
+ version: '9.5'
503
+ - !ruby/object:Gem::Dependency
504
+ name: erb_lint
505
+ requirement: !ruby/object:Gem::Requirement
506
+ requirements:
507
+ - - "~>"
508
+ - !ruby/object:Gem::Version
509
+ version: '0.5'
510
+ type: :development
511
+ prerelease: false
512
+ version_requirements: !ruby/object:Gem::Requirement
513
+ requirements:
514
+ - - "~>"
515
+ - !ruby/object:Gem::Version
516
+ version: '0.5'
517
+ - !ruby/object:Gem::Dependency
518
+ name: faker
519
+ requirement: !ruby/object:Gem::Requirement
520
+ requirements:
521
+ - - "~>"
522
+ - !ruby/object:Gem::Version
523
+ version: '3.4'
524
+ type: :development
525
+ prerelease: false
526
+ version_requirements: !ruby/object:Gem::Requirement
527
+ requirements:
528
+ - - "~>"
529
+ - !ruby/object:Gem::Version
530
+ version: '3.4'
531
+ - !ruby/object:Gem::Dependency
532
+ name: fasterer
533
+ requirement: !ruby/object:Gem::Requirement
534
+ requirements:
535
+ - - "~>"
536
+ - !ruby/object:Gem::Version
537
+ version: '0.11'
538
+ type: :development
539
+ prerelease: false
540
+ version_requirements: !ruby/object:Gem::Requirement
541
+ requirements:
542
+ - - "~>"
543
+ - !ruby/object:Gem::Version
544
+ version: '0.11'
545
+ - !ruby/object:Gem::Dependency
546
+ name: factory_bot_rails
547
+ requirement: !ruby/object:Gem::Requirement
548
+ requirements:
549
+ - - "~>"
550
+ - !ruby/object:Gem::Version
551
+ version: '6.4'
552
+ type: :development
553
+ prerelease: false
554
+ version_requirements: !ruby/object:Gem::Requirement
555
+ requirements:
556
+ - - "~>"
557
+ - !ruby/object:Gem::Version
558
+ version: '6.4'
559
+ - !ruby/object:Gem::Dependency
560
+ name: fuubar
561
+ requirement: !ruby/object:Gem::Requirement
562
+ requirements:
563
+ - - "~>"
564
+ - !ruby/object:Gem::Version
565
+ version: '2.5'
566
+ type: :development
567
+ prerelease: false
568
+ version_requirements: !ruby/object:Gem::Requirement
569
+ requirements:
570
+ - - "~>"
571
+ - !ruby/object:Gem::Version
572
+ version: '2.5'
573
+ - !ruby/object:Gem::Dependency
574
+ name: msgpack
575
+ requirement: !ruby/object:Gem::Requirement
576
+ requirements:
577
+ - - "~>"
578
+ - !ruby/object:Gem::Version
579
+ version: '1.7'
580
+ type: :development
581
+ prerelease: false
582
+ version_requirements: !ruby/object:Gem::Requirement
583
+ requirements:
584
+ - - "~>"
585
+ - !ruby/object:Gem::Version
586
+ version: '1.7'
587
+ - !ruby/object:Gem::Dependency
588
+ name: lefthook
589
+ requirement: !ruby/object:Gem::Requirement
590
+ requirements:
591
+ - - ">="
592
+ - !ruby/object:Gem::Version
593
+ version: '0'
594
+ type: :development
595
+ prerelease: false
596
+ version_requirements: !ruby/object:Gem::Requirement
597
+ requirements:
598
+ - - ">="
599
+ - !ruby/object:Gem::Version
600
+ version: '0'
601
+ - !ruby/object:Gem::Dependency
602
+ name: puma
603
+ requirement: !ruby/object:Gem::Requirement
604
+ requirements:
605
+ - - "~>"
606
+ - !ruby/object:Gem::Version
607
+ version: '6.4'
608
+ type: :development
609
+ prerelease: false
610
+ version_requirements: !ruby/object:Gem::Requirement
611
+ requirements:
612
+ - - "~>"
613
+ - !ruby/object:Gem::Version
614
+ version: '6.4'
615
+ - !ruby/object:Gem::Dependency
616
+ name: propshaft
617
+ requirement: !ruby/object:Gem::Requirement
618
+ requirements:
619
+ - - "~>"
620
+ - !ruby/object:Gem::Version
621
+ version: '0.9'
622
+ type: :development
623
+ prerelease: false
624
+ version_requirements: !ruby/object:Gem::Requirement
625
+ requirements:
626
+ - - "~>"
627
+ - !ruby/object:Gem::Version
628
+ version: '0.9'
629
+ - !ruby/object:Gem::Dependency
630
+ name: rails-route-checker
631
+ requirement: !ruby/object:Gem::Requirement
632
+ requirements:
633
+ - - "~>"
634
+ - !ruby/object:Gem::Version
635
+ version: '0.4'
636
+ type: :development
637
+ prerelease: false
638
+ version_requirements: !ruby/object:Gem::Requirement
639
+ requirements:
640
+ - - "~>"
641
+ - !ruby/object:Gem::Version
642
+ version: '0.4'
643
+ - !ruby/object:Gem::Dependency
644
+ name: rspec-rails
645
+ requirement: !ruby/object:Gem::Requirement
646
+ requirements:
647
+ - - "~>"
648
+ - !ruby/object:Gem::Version
649
+ version: '6.1'
650
+ - - ">="
651
+ - !ruby/object:Gem::Version
652
+ version: 6.1.1
653
+ type: :development
654
+ prerelease: false
655
+ version_requirements: !ruby/object:Gem::Requirement
656
+ requirements:
657
+ - - "~>"
658
+ - !ruby/object:Gem::Version
659
+ version: '6.1'
660
+ - - ">="
661
+ - !ruby/object:Gem::Version
662
+ version: 6.1.1
663
+ - !ruby/object:Gem::Dependency
664
+ name: rspec-github
665
+ requirement: !ruby/object:Gem::Requirement
666
+ requirements:
667
+ - - "~>"
668
+ - !ruby/object:Gem::Version
669
+ version: '2.4'
670
+ type: :development
671
+ prerelease: false
672
+ version_requirements: !ruby/object:Gem::Requirement
673
+ requirements:
674
+ - - "~>"
675
+ - !ruby/object:Gem::Version
676
+ version: '2.4'
677
+ - !ruby/object:Gem::Dependency
678
+ name: selenium-webdriver
679
+ requirement: !ruby/object:Gem::Requirement
680
+ requirements:
681
+ - - "~>"
682
+ - !ruby/object:Gem::Version
683
+ version: '4.23'
684
+ type: :development
685
+ prerelease: false
686
+ version_requirements: !ruby/object:Gem::Requirement
687
+ requirements:
688
+ - - "~>"
689
+ - !ruby/object:Gem::Version
690
+ version: '4.23'
691
+ - !ruby/object:Gem::Dependency
692
+ name: shoulda-matchers
693
+ requirement: !ruby/object:Gem::Requirement
694
+ requirements:
695
+ - - "~>"
696
+ - !ruby/object:Gem::Version
697
+ version: '6.0'
698
+ type: :development
699
+ prerelease: false
700
+ version_requirements: !ruby/object:Gem::Requirement
701
+ requirements:
702
+ - - "~>"
703
+ - !ruby/object:Gem::Version
704
+ version: '6.0'
705
+ - !ruby/object:Gem::Dependency
706
+ name: simplecov
707
+ requirement: !ruby/object:Gem::Requirement
708
+ requirements:
709
+ - - "~>"
710
+ - !ruby/object:Gem::Version
711
+ version: '0.22'
712
+ type: :development
713
+ prerelease: false
714
+ version_requirements: !ruby/object:Gem::Requirement
715
+ requirements:
716
+ - - "~>"
717
+ - !ruby/object:Gem::Version
718
+ version: '0.22'
719
+ - !ruby/object:Gem::Dependency
720
+ name: solargraph
721
+ requirement: !ruby/object:Gem::Requirement
722
+ requirements:
723
+ - - "~>"
724
+ - !ruby/object:Gem::Version
725
+ version: '0.50'
726
+ type: :development
727
+ prerelease: false
728
+ version_requirements: !ruby/object:Gem::Requirement
729
+ requirements:
730
+ - - "~>"
731
+ - !ruby/object:Gem::Version
732
+ version: '0.50'
733
+ - !ruby/object:Gem::Dependency
734
+ name: solargraph-rails
735
+ requirement: !ruby/object:Gem::Requirement
736
+ requirements:
737
+ - - "~>"
738
+ - !ruby/object:Gem::Version
739
+ version: '1.1'
740
+ type: :development
741
+ prerelease: false
742
+ version_requirements: !ruby/object:Gem::Requirement
743
+ requirements:
744
+ - - "~>"
745
+ - !ruby/object:Gem::Version
746
+ version: '1.1'
747
+ - !ruby/object:Gem::Dependency
748
+ name: solargraph-standardrb
749
+ requirement: !ruby/object:Gem::Requirement
750
+ requirements:
751
+ - - "~>"
752
+ - !ruby/object:Gem::Version
753
+ version: 0.0.4
754
+ type: :development
755
+ prerelease: false
756
+ version_requirements: !ruby/object:Gem::Requirement
757
+ requirements:
758
+ - - "~>"
759
+ - !ruby/object:Gem::Version
760
+ version: 0.0.4
761
+ - !ruby/object:Gem::Dependency
762
+ name: standard
763
+ requirement: !ruby/object:Gem::Requirement
764
+ requirements:
765
+ - - "~>"
766
+ - !ruby/object:Gem::Version
767
+ version: '1.33'
768
+ - - ">="
769
+ - !ruby/object:Gem::Version
770
+ version: 1.33.0
771
+ type: :development
772
+ prerelease: false
773
+ version_requirements: !ruby/object:Gem::Requirement
774
+ requirements:
775
+ - - "~>"
776
+ - !ruby/object:Gem::Version
777
+ version: '1.33'
778
+ - - ">="
779
+ - !ruby/object:Gem::Version
780
+ version: 1.33.0
781
+ - !ruby/object:Gem::Dependency
782
+ name: turbo-rails
783
+ requirement: !ruby/object:Gem::Requirement
784
+ requirements:
785
+ - - "~>"
786
+ - !ruby/object:Gem::Version
787
+ version: '2.0'
788
+ type: :development
789
+ prerelease: false
790
+ version_requirements: !ruby/object:Gem::Requirement
791
+ requirements:
792
+ - - "~>"
793
+ - !ruby/object:Gem::Version
794
+ version: '2.0'
795
+ - !ruby/object:Gem::Dependency
796
+ name: yard-activerecord
797
+ requirement: !ruby/object:Gem::Requirement
798
+ requirements:
799
+ - - "~>"
800
+ - !ruby/object:Gem::Version
801
+ version: 0.0.16
802
+ type: :development
803
+ prerelease: false
804
+ version_requirements: !ruby/object:Gem::Requirement
805
+ requirements:
806
+ - - "~>"
807
+ - !ruby/object:Gem::Version
808
+ version: 0.0.16
809
+ description:
810
+ email:
811
+ - bamboo@pandacms.io
812
+ executables: []
813
+ extensions: []
814
+ extra_rdoc_files: []
815
+ files:
816
+ - README.md
817
+ - Rakefile
818
+ - app/assets/builds/panda_cms.css
819
+ - app/assets/config/panda_cms_manifest.js
820
+ - app/assets/stylesheets/panda_cms/application.tailwind.css
821
+ - app/builders/panda_cms/form_builder.rb
822
+ - app/components/panda_cms/admin/button_component.rb
823
+ - app/components/panda_cms/admin/container_component.html.erb
824
+ - app/components/panda_cms/admin/container_component.rb
825
+ - app/components/panda_cms/admin/flash_message_component.html.erb
826
+ - app/components/panda_cms/admin/flash_message_component.rb
827
+ - app/components/panda_cms/admin/heading_component.rb
828
+ - app/components/panda_cms/admin/panel_component.html.erb
829
+ - app/components/panda_cms/admin/panel_component.rb
830
+ - app/components/panda_cms/admin/slideover_component.html.erb
831
+ - app/components/panda_cms/admin/slideover_component.rb
832
+ - app/components/panda_cms/admin/statistics_component.html.erb
833
+ - app/components/panda_cms/admin/statistics_component.rb
834
+ - app/components/panda_cms/admin/tab_bar_component.html.erb
835
+ - app/components/panda_cms/admin/tab_bar_component.rb
836
+ - app/components/panda_cms/admin/table_component.html.erb
837
+ - app/components/panda_cms/admin/table_component.rb
838
+ - app/components/panda_cms/admin/tag_component.rb
839
+ - app/components/panda_cms/admin/user_activity_component.html.erb
840
+ - app/components/panda_cms/admin/user_activity_component.rb
841
+ - app/components/panda_cms/admin/user_display_component.html.erb
842
+ - app/components/panda_cms/admin/user_display_component.rb
843
+ - app/components/panda_cms/grid_component.html.erb
844
+ - app/components/panda_cms/grid_component.rb
845
+ - app/components/panda_cms/menu_component.html.erb
846
+ - app/components/panda_cms/menu_component.rb
847
+ - app/components/panda_cms/page_menu_component.html.erb
848
+ - app/components/panda_cms/page_menu_component.rb
849
+ - app/components/panda_cms/rich_text_component.html.erb
850
+ - app/components/panda_cms/rich_text_component.rb
851
+ - app/components/panda_cms/text_component.rb
852
+ - app/constraints/panda_cms/admin_constraint.rb
853
+ - app/controllers/panda_cms/admin/block_contents_controller.rb
854
+ - app/controllers/panda_cms/admin/dashboard_controller.rb
855
+ - app/controllers/panda_cms/admin/files_controller.rb
856
+ - app/controllers/panda_cms/admin/forms_controller.rb
857
+ - app/controllers/panda_cms/admin/menus_controller.rb
858
+ - app/controllers/panda_cms/admin/pages_controller.rb
859
+ - app/controllers/panda_cms/admin/posts_controller.rb
860
+ - app/controllers/panda_cms/admin/sessions_controller.rb
861
+ - app/controllers/panda_cms/admin/settings/bulk_editor_controller.rb
862
+ - app/controllers/panda_cms/admin/settings_controller.rb
863
+ - app/controllers/panda_cms/application_controller.rb
864
+ - app/controllers/panda_cms/errors_controller.rb
865
+ - app/controllers/panda_cms/form_submissions_controller.rb
866
+ - app/controllers/panda_cms/pages_controller.rb
867
+ - app/controllers/panda_cms/posts_controller.rb
868
+ - app/helpers/panda_cms/admin/files_helper.rb
869
+ - app/helpers/panda_cms/admin/pages_helper.rb
870
+ - app/helpers/panda_cms/application_helper.rb
871
+ - app/helpers/panda_cms/pages_helper.rb
872
+ - app/helpers/panda_cms/theme_helper.rb
873
+ - app/javascript/base.js
874
+ - app/javascript/controllers/menu_controller.js
875
+ - app/javascript/controllers/text_controller.js
876
+ - app/javascript/controllers/text_field_update_controller.js
877
+ - app/javascript/vendor/stimulus-components-rails-nested-form.js
878
+ - app/javascript/vendor/tailwindcss-stimulus-components.js
879
+ - app/jobs/panda_cms/application_job.rb
880
+ - app/jobs/panda_cms/record_visit_job.rb
881
+ - app/lib/panda_cms/bulk_editor.rb
882
+ - app/lib/panda_cms/demo_site_generator.rb
883
+ - app/lib/panda_cms/slug.rb
884
+ - app/mailers/panda_cms/application_mailer.rb
885
+ - app/mailers/panda_cms/form_mailer.rb
886
+ - app/models/panda_cms/application_record.rb
887
+ - app/models/panda_cms/block.rb
888
+ - app/models/panda_cms/block_content.rb
889
+ - app/models/panda_cms/block_content_version.rb
890
+ - app/models/panda_cms/breadcrumb.rb
891
+ - app/models/panda_cms/current.rb
892
+ - app/models/panda_cms/form.rb
893
+ - app/models/panda_cms/form_submission.rb
894
+ - app/models/panda_cms/menu.rb
895
+ - app/models/panda_cms/menu_item.rb
896
+ - app/models/panda_cms/page.rb
897
+ - app/models/panda_cms/page_version.rb
898
+ - app/models/panda_cms/post.rb
899
+ - app/models/panda_cms/post_version.rb
900
+ - app/models/panda_cms/redirect.rb
901
+ - app/models/panda_cms/template.rb
902
+ - app/models/panda_cms/template_version.rb
903
+ - app/models/panda_cms/user.rb
904
+ - app/models/panda_cms/version.rb
905
+ - app/models/panda_cms/visit.rb
906
+ - app/views/layouts/panda_cms/application.html.erb
907
+ - app/views/layouts/panda_cms/public.html.erb
908
+ - app/views/panda_cms/admin/dashboard/show.html.erb
909
+ - app/views/panda_cms/admin/files/index.html.erb
910
+ - app/views/panda_cms/admin/files/show.html.erb
911
+ - app/views/panda_cms/admin/forms/edit.html.erb
912
+ - app/views/panda_cms/admin/forms/index.html.erb
913
+ - app/views/panda_cms/admin/forms/new.html.erb
914
+ - app/views/panda_cms/admin/forms/show.html.erb
915
+ - app/views/panda_cms/admin/menus/_form.html.erb
916
+ - app/views/panda_cms/admin/menus/_menu_item_fields.html.erb
917
+ - app/views/panda_cms/admin/menus/edit.html.erb
918
+ - app/views/panda_cms/admin/menus/index.html.erb
919
+ - app/views/panda_cms/admin/menus/new.html.erb
920
+ - app/views/panda_cms/admin/pages/edit.html.erb
921
+ - app/views/panda_cms/admin/pages/index.html.erb
922
+ - app/views/panda_cms/admin/pages/new.html.erb
923
+ - app/views/panda_cms/admin/pages/show.html.erb
924
+ - app/views/panda_cms/admin/posts/index.html.erb
925
+ - app/views/panda_cms/admin/sessions/new.html.erb
926
+ - app/views/panda_cms/admin/settings/bulk_editor/new.html.erb
927
+ - app/views/panda_cms/admin/settings/index.html.erb
928
+ - app/views/panda_cms/admin/shared/_breadcrumbs.html.erb
929
+ - app/views/panda_cms/admin/shared/_flash.html.erb
930
+ - app/views/panda_cms/admin/shared/_sidebar.html.erb
931
+ - app/views/panda_cms/form_mailer/notification_email.html.erb
932
+ - app/views/panda_cms/shared/_favicons.html.erb
933
+ - app/views/panda_cms/shared/_footer.html.erb
934
+ - app/views/panda_cms/shared/_header.html.erb
935
+ - config/importmap.rb
936
+ - config/initializers/panda_cms.rb
937
+ - config/initializers/panda_cms/form_errors.rb
938
+ - config/initializers/panda_cms/healthcheck_log_silencer.rb
939
+ - config/locales/en.yml
940
+ - config/routes.rb
941
+ - config/tailwind.config.js
942
+ - config/tailwind.embed.config.js
943
+ - db/migrate/20240205223709_create_panda_cms_pages.rb
944
+ - db/migrate/20240219213327_create_panda_cms_page_versions.rb
945
+ - db/migrate/20240303002805_create_panda_cms_templates.rb
946
+ - db/migrate/20240303003434_create_panda_cms_template_versions.rb
947
+ - db/migrate/20240303022441_create_panda_cms_blocks.rb
948
+ - db/migrate/20240303024256_create_panda_cms_block_contents.rb
949
+ - db/migrate/20240303024746_create_panda_cms_block_content_versions.rb
950
+ - db/migrate/20240303233238_add_panda_cms_menu_table.rb
951
+ - db/migrate/20240303234724_add_panda_cms_menu_item_table.rb
952
+ - db/migrate/20240304134343_add_parent_id_to_panda_cms_pages.rb
953
+ - db/migrate/20240315125421_add_nested_sets_to_panda_cms_pages.rb
954
+ - db/migrate/20240316212822_add_kind_to_panda_cms_menus.rb
955
+ - db/migrate/20240316221425_add_start_page_to_panda_cms_menus.rb
956
+ - db/migrate/20240316230706_add_nested_to_panda_cms_menu_items.rb
957
+ - db/migrate/20240317010532_create_panda_cms_users.rb
958
+ - db/migrate/20240317161534_add_max_uses_to_panda_cms_template.rb
959
+ - db/migrate/20240317163053_reset_counter_cache_on_panda_cms_template.rb
960
+ - db/migrate/20240317214827_create_panda_cms_redirects.rb
961
+ - db/migrate/20240317230622_create_panda_cms_visits.rb
962
+ - db/migrate/20240324205703_create_active_storage_tables.active_storage.rb
963
+ - db/migrate/20240408084718_default_panda_cms_users_admin_to_false.rb
964
+ - db/migrate/20240701225422_add_service_name_to_active_storage_blobs.active_storage.rb
965
+ - db/migrate/20240701225423_create_active_storage_variant_records.active_storage.rb
966
+ - db/migrate/20240701225424_remove_not_null_on_active_storage_blobs_checksum.active_storage.rb
967
+ - db/migrate/20240804110225_add_status_to_panda_cms_pages.rb
968
+ - db/migrate/20240804235210_create_panda_cms_forms.rb
969
+ - db/migrate/20240805013612_create_panda_cms_form_submissions.rb
970
+ - db/migrate/20240805121123_create_panda_cms_posts.rb
971
+ - db/migrate/20240805123104_create_panda_cms_post_versions.rb
972
+ - db/migrate/20240806112735_fix_panda_cms_visits_column_names.rb
973
+ - db/migrate/20240806204412_add_completion_path_to_panda_cms_forms.rb
974
+ - db/migrate/20240820081917_change_form_submissions_to_submission_count.rb
975
+ - db/seeds.rb
976
+ - lib/generators/panda_cms/install_generator.rb
977
+ - lib/panda_cms.rb
978
+ - lib/panda_cms/engine.rb
979
+ - lib/panda_cms/exceptions_app.rb
980
+ - lib/panda_cms/version.rb
981
+ - lib/tasks/panda_cms.rake
982
+ - lib/templates/erb/scaffold/_form.html.erb.tt
983
+ - lib/templates/erb/scaffold/edit.html.erb.tt
984
+ - lib/templates/erb/scaffold/index.html.erb.tt
985
+ - lib/templates/erb/scaffold/new.html.erb.tt
986
+ - lib/templates/erb/scaffold/partial.html.erb.tt
987
+ - lib/templates/erb/scaffold/show.html.erb.tt
988
+ - public/panda-cms-assets/favicons/android-chrome-192x192.png
989
+ - public/panda-cms-assets/favicons/android-chrome-512x512.png
990
+ - public/panda-cms-assets/favicons/apple-touch-icon.png
991
+ - public/panda-cms-assets/favicons/browserconfig.xml
992
+ - public/panda-cms-assets/favicons/favicon-16x16.png
993
+ - public/panda-cms-assets/favicons/favicon-32x32.png
994
+ - public/panda-cms-assets/favicons/favicon.ico
995
+ - public/panda-cms-assets/favicons/mstile-150x150.png
996
+ - public/panda-cms-assets/favicons/safari-pinned-tab.svg
997
+ - public/panda-cms-assets/favicons/site.webmanifest
998
+ - public/panda-cms-assets/javascripts/base.js
999
+ - public/panda-cms-assets/javascripts/controllers/menu_controller.js
1000
+ - public/panda-cms-assets/javascripts/controllers/text_field_update_controller.js
1001
+ - public/panda-cms-assets/javascripts/embed/editable.js
1002
+ - public/panda-cms-assets/javascripts/vendor/stimulus-components-rails-nested-form.js
1003
+ - public/panda-cms-assets/javascripts/vendor/stimulus-loading.js
1004
+ - public/panda-cms-assets/javascripts/vendor/tailwindcss-stimulus-components.js
1005
+ - public/panda-cms-assets/panda-logo-screenprint.png
1006
+ - public/panda-cms-assets/panda-nav.png
1007
+ homepage: https://pandacms.io
1008
+ licenses:
1009
+ - BSD-3-Clause
1010
+ metadata:
1011
+ homepage_uri: https://pandacms.io
1012
+ source_code_uri: https://github.com/pandacms/panda_cms
1013
+ bug_tracker_uri: https://github.com/pandacms/panda_cms/issues
1014
+ changelog_uri: https://github.com/pandacms/panda_cms/pulls?q=is%3Apr
1015
+ post_install_message: "\U0001F43C \U0001F49C"
1016
+ rdoc_options: []
1017
+ require_paths:
1018
+ - lib
1019
+ required_ruby_version: !ruby/object:Gem::Requirement
1020
+ requirements:
1021
+ - - ">="
1022
+ - !ruby/object:Gem::Version
1023
+ version: '3.0'
1024
+ required_rubygems_version: !ruby/object:Gem::Requirement
1025
+ requirements:
1026
+ - - ">="
1027
+ - !ruby/object:Gem::Version
1028
+ version: '0'
1029
+ requirements: []
1030
+ rubygems_version: 3.5.17
1031
+ signing_key:
1032
+ specification_version: 4
1033
+ summary: Better websites on Rails.
1034
+ test_files: []