panda_cms 0.2.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of panda_cms might be problematic. Click here for more details.

Files changed (144) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +72 -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 +30 -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 +38 -0
  14. data/app/components/panda_cms/admin/slideover_component.html.erb +9 -0
  15. data/app/components/panda_cms/admin/slideover_component.rb +13 -0
  16. data/app/components/panda_cms/admin/tab_bar_component.html.erb +35 -0
  17. data/app/components/panda_cms/admin/tab_bar_component.rb +13 -0
  18. data/app/components/panda_cms/grid_component.html.erb +6 -0
  19. data/app/components/panda_cms/grid_component.rb +13 -0
  20. data/app/components/panda_cms/menu_component.html.erb +3 -0
  21. data/app/components/panda_cms/menu_component.rb +18 -0
  22. data/app/components/panda_cms/page_menu_component.html.erb +24 -0
  23. data/app/components/panda_cms/page_menu_component.rb +24 -0
  24. data/app/components/panda_cms/rich_text_component.html.erb +40 -0
  25. data/app/components/panda_cms/rich_text_component.rb +35 -0
  26. data/app/components/panda_cms/text_component.rb +63 -0
  27. data/app/constraints/panda_cms/admin_constraint.rb +16 -0
  28. data/app/controllers/panda_cms/admin/block_contents_controller.rb +42 -0
  29. data/app/controllers/panda_cms/admin/dashboard_controller.rb +15 -0
  30. data/app/controllers/panda_cms/admin/files_controller.rb +17 -0
  31. data/app/controllers/panda_cms/admin/menus_controller.rb +81 -0
  32. data/app/controllers/panda_cms/admin/pages_controller.rb +88 -0
  33. data/app/controllers/panda_cms/admin/sessions_controller.rb +72 -0
  34. data/app/controllers/panda_cms/application_controller.rb +51 -0
  35. data/app/controllers/panda_cms/errors_controller.rb +31 -0
  36. data/app/controllers/panda_cms/pages_controller.rb +33 -0
  37. data/app/helpers/panda_cms/admin/files_helper.rb +4 -0
  38. data/app/helpers/panda_cms/admin/pages_helper.rb +4 -0
  39. data/app/helpers/panda_cms/application_helper.rb +91 -0
  40. data/app/helpers/panda_cms/pages_helper.rb +4 -0
  41. data/app/helpers/panda_cms/theme_helper.rb +16 -0
  42. data/app/javascript/panda_cms/base.js +37 -0
  43. data/app/javascript/panda_cms/controllers/menu_controller.js +19 -0
  44. data/app/javascript/panda_cms/controllers/rich_text_editor_controller.js +59 -0
  45. data/app/javascript/panda_cms/controllers/text_field_update_controller.js +23 -0
  46. data/app/javascript/panda_cms/vendor/stimulus-components-rails-nested-form.js +2 -0
  47. data/app/javascript/panda_cms/vendor/tailwindcss-stimulus-components.js +2 -0
  48. data/app/jobs/panda_cms/application_job.rb +4 -0
  49. data/app/lib/panda_cms/demo_site_generator.rb +70 -0
  50. data/app/lib/panda_cms/slug.rb +21 -0
  51. data/app/mailers/panda_cms/application_mailer.rb +6 -0
  52. data/app/models/panda_cms/application_record.rb +5 -0
  53. data/app/models/panda_cms/block.rb +32 -0
  54. data/app/models/panda_cms/block_content.rb +16 -0
  55. data/app/models/panda_cms/block_content_version.rb +6 -0
  56. data/app/models/panda_cms/breadcrumb.rb +10 -0
  57. data/app/models/panda_cms/current.rb +15 -0
  58. data/app/models/panda_cms/menu.rb +50 -0
  59. data/app/models/panda_cms/menu_item.rb +56 -0
  60. data/app/models/panda_cms/page.rb +86 -0
  61. data/app/models/panda_cms/page_version.rb +6 -0
  62. data/app/models/panda_cms/redirect.rb +9 -0
  63. data/app/models/panda_cms/template.rb +44 -0
  64. data/app/models/panda_cms/template_version.rb +6 -0
  65. data/app/models/panda_cms/user.rb +11 -0
  66. data/app/models/panda_cms/version.rb +6 -0
  67. data/app/models/panda_cms/visit.rb +7 -0
  68. data/app/views/layouts/panda_cms/application.html.erb +68 -0
  69. data/app/views/layouts/panda_cms/public.html.erb +3 -0
  70. data/app/views/panda_cms/admin/dashboard/show.html.erb +8 -0
  71. data/app/views/panda_cms/admin/files/index.html.erb +124 -0
  72. data/app/views/panda_cms/admin/files/show.html.erb +2 -0
  73. data/app/views/panda_cms/admin/menus/_form.html.erb +21 -0
  74. data/app/views/panda_cms/admin/menus/_menu_item_fields.html.erb +7 -0
  75. data/app/views/panda_cms/admin/menus/edit.html.erb +58 -0
  76. data/app/views/panda_cms/admin/menus/index.html.erb +32 -0
  77. data/app/views/panda_cms/admin/menus/new.html.erb +5 -0
  78. data/app/views/panda_cms/admin/pages/edit.html.erb +35 -0
  79. data/app/views/panda_cms/admin/pages/index.html.erb +46 -0
  80. data/app/views/panda_cms/admin/pages/new.html.erb +16 -0
  81. data/app/views/panda_cms/admin/pages/show.html.erb +1 -0
  82. data/app/views/panda_cms/admin/sessions/new.html.erb +39 -0
  83. data/app/views/panda_cms/admin/shared/_breadcrumbs.html.erb +25 -0
  84. data/app/views/panda_cms/admin/shared/_flash.html.erb +5 -0
  85. data/app/views/panda_cms/admin/shared/_sidebar.html.erb +29 -0
  86. data/app/views/panda_cms/shared/_favicons.html.erb +9 -0
  87. data/app/views/panda_cms/shared/_footer.html.erb +2 -0
  88. data/app/views/panda_cms/shared/_header.html.erb +19 -0
  89. data/config/importmap.rb +7 -0
  90. data/config/initializers/panda_cms/form_errors.rb +38 -0
  91. data/config/initializers/panda_cms.rb +42 -0
  92. data/config/locales/en.yml +13 -0
  93. data/config/routes.rb +26 -0
  94. data/config/tailwind.config.js +31 -0
  95. data/config/tailwind.embed.config.js +20 -0
  96. data/db/migrate/20240205223709_create_panda_cms_pages.rb +9 -0
  97. data/db/migrate/20240219213327_create_panda_cms_page_versions.rb +14 -0
  98. data/db/migrate/20240303002805_create_panda_cms_templates.rb +11 -0
  99. data/db/migrate/20240303003434_create_panda_cms_template_versions.rb +14 -0
  100. data/db/migrate/20240303022441_create_panda_cms_blocks.rb +13 -0
  101. data/db/migrate/20240303024256_create_panda_cms_block_contents.rb +10 -0
  102. data/db/migrate/20240303024746_create_panda_cms_block_content_versions.rb +14 -0
  103. data/db/migrate/20240303233238_add_panda_cms_menu_table.rb +10 -0
  104. data/db/migrate/20240303234724_add_panda_cms_menu_item_table.rb +12 -0
  105. data/db/migrate/20240304134343_add_parent_id_to_panda_cms_pages.rb +5 -0
  106. data/db/migrate/20240315125421_add_nested_sets_to_panda_cms_pages.rb +16 -0
  107. data/db/migrate/20240316212822_add_kind_to_panda_cms_menus.rb +6 -0
  108. data/db/migrate/20240316221425_add_start_page_to_panda_cms_menus.rb +5 -0
  109. data/db/migrate/20240316230706_add_nested_to_panda_cms_menu_items.rb +24 -0
  110. data/db/migrate/20240317010532_create_panda_cms_users.rb +12 -0
  111. data/db/migrate/20240317161534_add_max_uses_to_panda_cms_template.rb +7 -0
  112. data/db/migrate/20240317163053_reset_counter_cache_on_panda_cms_template.rb +5 -0
  113. data/db/migrate/20240317214827_create_panda_cms_redirects.rb +15 -0
  114. data/db/migrate/20240317230622_create_panda_cms_visits.rb +13 -0
  115. data/db/migrate/20240324205703_create_active_storage_tables.active_storage.rb +58 -0
  116. data/db/migrate/20240408084718_default_panda_cms_users_admin_to_false.rb +5 -0
  117. data/db/seeds.rb +4 -0
  118. data/lib/generators/panda_cms/install_generator.rb +32 -0
  119. data/lib/panda_cms/engine.rb +172 -0
  120. data/lib/panda_cms/exceptions_app.rb +24 -0
  121. data/lib/panda_cms/version.rb +3 -0
  122. data/lib/panda_cms.rb +14 -0
  123. data/lib/tasks/panda_cms.rake +67 -0
  124. data/lib/templates/erb/scaffold/_form.html.erb.tt +43 -0
  125. data/lib/templates/erb/scaffold/edit.html.erb.tt +8 -0
  126. data/lib/templates/erb/scaffold/index.html.erb.tt +14 -0
  127. data/lib/templates/erb/scaffold/new.html.erb.tt +7 -0
  128. data/lib/templates/erb/scaffold/partial.html.erb.tt +22 -0
  129. data/lib/templates/erb/scaffold/show.html.erb.tt +15 -0
  130. data/public/panda-cms-assets/android-chrome-192x192.png +0 -0
  131. data/public/panda-cms-assets/android-chrome-512x512.png +0 -0
  132. data/public/panda-cms-assets/apple-touch-icon.png +0 -0
  133. data/public/panda-cms-assets/browserconfig.xml +9 -0
  134. data/public/panda-cms-assets/editable.js +212 -0
  135. data/public/panda-cms-assets/favicon-16x16.png +0 -0
  136. data/public/panda-cms-assets/favicon-32x32.png +0 -0
  137. data/public/panda-cms-assets/favicon.ico +0 -0
  138. data/public/panda-cms-assets/mstile-150x150.png +0 -0
  139. data/public/panda-cms-assets/panda-logo-screenprint.png +0 -0
  140. data/public/panda-cms-assets/panda-nav.png +0 -0
  141. data/public/panda-cms-assets/safari-pinned-tab.svg +61 -0
  142. data/public/panda-cms-assets/site.webmanifest +14 -0
  143. data/public/panda-cms-assets/stimulus-loading.js +113 -0
  144. metadata +845 -0
metadata ADDED
@@ -0,0 +1,845 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: panda_cms
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
5
+ platform: ruby
6
+ authors:
7
+ - Otaina Limited
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2024-07-16 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.146'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.146'
55
+ - !ruby/object:Gem::Dependency
56
+ name: image_processing
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.2'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.2'
69
+ - !ruby/object:Gem::Dependency
70
+ name: importmap-rails
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '2.0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '2.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: local_time
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '3.0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '3.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: omniauth
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '2.1'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '2.1'
111
+ - !ruby/object:Gem::Dependency
112
+ name: omniauth-github
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '2.0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '2.0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: omniauth-google-oauth2
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '1.1'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '1.1'
139
+ - !ruby/object:Gem::Dependency
140
+ name: omniauth-microsoft_graph
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '2.0'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '2.0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: omniauth-rails_csrf_protection
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '1.0'
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '1.0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: paper_trail
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '15.1'
174
+ type: :runtime
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '15.1'
181
+ - !ruby/object:Gem::Dependency
182
+ name: pg
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: '1.5'
188
+ type: :runtime
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: '1.5'
195
+ - !ruby/object:Gem::Dependency
196
+ name: redcarpet
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: '3.6'
202
+ type: :runtime
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: '3.6'
209
+ - !ruby/object:Gem::Dependency
210
+ name: stimulus-rails
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: '1.3'
216
+ type: :runtime
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: '1.3'
223
+ - !ruby/object:Gem::Dependency
224
+ name: tailwindcss-rails
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - "~>"
228
+ - !ruby/object:Gem::Version
229
+ version: '2.3'
230
+ type: :runtime
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - "~>"
235
+ - !ruby/object:Gem::Version
236
+ version: '2.3'
237
+ - !ruby/object:Gem::Dependency
238
+ name: view_component
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - "~>"
242
+ - !ruby/object:Gem::Version
243
+ version: '3.11'
244
+ type: :runtime
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - "~>"
249
+ - !ruby/object:Gem::Version
250
+ version: '3.11'
251
+ - !ruby/object:Gem::Dependency
252
+ name: amazing_print
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - "~>"
256
+ - !ruby/object:Gem::Version
257
+ version: '1.6'
258
+ type: :development
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - "~>"
263
+ - !ruby/object:Gem::Version
264
+ version: '1.6'
265
+ - !ruby/object:Gem::Dependency
266
+ name: annotate
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - "~>"
270
+ - !ruby/object:Gem::Version
271
+ version: '3.1'
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - "~>"
277
+ - !ruby/object:Gem::Version
278
+ version: '3.1'
279
+ - !ruby/object:Gem::Dependency
280
+ name: better_errors
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - "~>"
284
+ - !ruby/object:Gem::Version
285
+ version: '2.10'
286
+ type: :development
287
+ prerelease: false
288
+ version_requirements: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - "~>"
291
+ - !ruby/object:Gem::Version
292
+ version: '2.10'
293
+ - !ruby/object:Gem::Dependency
294
+ name: binding_of_caller
295
+ requirement: !ruby/object:Gem::Requirement
296
+ requirements:
297
+ - - "~>"
298
+ - !ruby/object:Gem::Version
299
+ version: '1.0'
300
+ type: :development
301
+ prerelease: false
302
+ version_requirements: !ruby/object:Gem::Requirement
303
+ requirements:
304
+ - - "~>"
305
+ - !ruby/object:Gem::Version
306
+ version: '1.0'
307
+ - !ruby/object:Gem::Dependency
308
+ name: brakeman
309
+ requirement: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - "~>"
312
+ - !ruby/object:Gem::Version
313
+ version: '6.1'
314
+ type: :development
315
+ prerelease: false
316
+ version_requirements: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - "~>"
319
+ - !ruby/object:Gem::Version
320
+ version: '6.1'
321
+ - !ruby/object:Gem::Dependency
322
+ name: bullet
323
+ requirement: !ruby/object:Gem::Requirement
324
+ requirements:
325
+ - - "~>"
326
+ - !ruby/object:Gem::Version
327
+ version: '7.1'
328
+ type: :development
329
+ prerelease: false
330
+ version_requirements: !ruby/object:Gem::Requirement
331
+ requirements:
332
+ - - "~>"
333
+ - !ruby/object:Gem::Version
334
+ version: '7.1'
335
+ - !ruby/object:Gem::Dependency
336
+ name: bundler-audit
337
+ requirement: !ruby/object:Gem::Requirement
338
+ requirements:
339
+ - - "~>"
340
+ - !ruby/object:Gem::Version
341
+ version: '0.9'
342
+ type: :development
343
+ prerelease: false
344
+ version_requirements: !ruby/object:Gem::Requirement
345
+ requirements:
346
+ - - "~>"
347
+ - !ruby/object:Gem::Version
348
+ version: '0.9'
349
+ - !ruby/object:Gem::Dependency
350
+ name: capybara
351
+ requirement: !ruby/object:Gem::Requirement
352
+ requirements:
353
+ - - "~>"
354
+ - !ruby/object:Gem::Version
355
+ version: '3.40'
356
+ type: :development
357
+ prerelease: false
358
+ version_requirements: !ruby/object:Gem::Requirement
359
+ requirements:
360
+ - - "~>"
361
+ - !ruby/object:Gem::Version
362
+ version: '3.40'
363
+ - !ruby/object:Gem::Dependency
364
+ name: erb_lint
365
+ requirement: !ruby/object:Gem::Requirement
366
+ requirements:
367
+ - - "~>"
368
+ - !ruby/object:Gem::Version
369
+ version: '0.5'
370
+ type: :development
371
+ prerelease: false
372
+ version_requirements: !ruby/object:Gem::Requirement
373
+ requirements:
374
+ - - "~>"
375
+ - !ruby/object:Gem::Version
376
+ version: '0.5'
377
+ - !ruby/object:Gem::Dependency
378
+ name: faker
379
+ requirement: !ruby/object:Gem::Requirement
380
+ requirements:
381
+ - - "~>"
382
+ - !ruby/object:Gem::Version
383
+ version: '3.4'
384
+ type: :development
385
+ prerelease: false
386
+ version_requirements: !ruby/object:Gem::Requirement
387
+ requirements:
388
+ - - "~>"
389
+ - !ruby/object:Gem::Version
390
+ version: '3.4'
391
+ - !ruby/object:Gem::Dependency
392
+ name: factory_bot_rails
393
+ requirement: !ruby/object:Gem::Requirement
394
+ requirements:
395
+ - - "~>"
396
+ - !ruby/object:Gem::Version
397
+ version: '6.4'
398
+ type: :development
399
+ prerelease: false
400
+ version_requirements: !ruby/object:Gem::Requirement
401
+ requirements:
402
+ - - "~>"
403
+ - !ruby/object:Gem::Version
404
+ version: '6.4'
405
+ - !ruby/object:Gem::Dependency
406
+ name: fuubar
407
+ requirement: !ruby/object:Gem::Requirement
408
+ requirements:
409
+ - - "~>"
410
+ - !ruby/object:Gem::Version
411
+ version: '2.5'
412
+ type: :development
413
+ prerelease: false
414
+ version_requirements: !ruby/object:Gem::Requirement
415
+ requirements:
416
+ - - "~>"
417
+ - !ruby/object:Gem::Version
418
+ version: '2.5'
419
+ - !ruby/object:Gem::Dependency
420
+ name: msgpack
421
+ requirement: !ruby/object:Gem::Requirement
422
+ requirements:
423
+ - - "~>"
424
+ - !ruby/object:Gem::Version
425
+ version: '1.7'
426
+ type: :development
427
+ prerelease: false
428
+ version_requirements: !ruby/object:Gem::Requirement
429
+ requirements:
430
+ - - "~>"
431
+ - !ruby/object:Gem::Version
432
+ version: '1.7'
433
+ - !ruby/object:Gem::Dependency
434
+ name: overcommit
435
+ requirement: !ruby/object:Gem::Requirement
436
+ requirements:
437
+ - - "~>"
438
+ - !ruby/object:Gem::Version
439
+ version: '0.63'
440
+ type: :development
441
+ prerelease: false
442
+ version_requirements: !ruby/object:Gem::Requirement
443
+ requirements:
444
+ - - "~>"
445
+ - !ruby/object:Gem::Version
446
+ version: '0.63'
447
+ - !ruby/object:Gem::Dependency
448
+ name: puma
449
+ requirement: !ruby/object:Gem::Requirement
450
+ requirements:
451
+ - - "~>"
452
+ - !ruby/object:Gem::Version
453
+ version: '6.4'
454
+ type: :development
455
+ prerelease: false
456
+ version_requirements: !ruby/object:Gem::Requirement
457
+ requirements:
458
+ - - "~>"
459
+ - !ruby/object:Gem::Version
460
+ version: '6.4'
461
+ - !ruby/object:Gem::Dependency
462
+ name: propshaft
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: rack-mini-profiler
477
+ requirement: !ruby/object:Gem::Requirement
478
+ requirements:
479
+ - - "~>"
480
+ - !ruby/object:Gem::Version
481
+ version: '3.3'
482
+ type: :development
483
+ prerelease: false
484
+ version_requirements: !ruby/object:Gem::Requirement
485
+ requirements:
486
+ - - "~>"
487
+ - !ruby/object:Gem::Version
488
+ version: '3.3'
489
+ - !ruby/object:Gem::Dependency
490
+ name: rails-route-checker
491
+ requirement: !ruby/object:Gem::Requirement
492
+ requirements:
493
+ - - "~>"
494
+ - !ruby/object:Gem::Version
495
+ version: '0.4'
496
+ type: :development
497
+ prerelease: false
498
+ version_requirements: !ruby/object:Gem::Requirement
499
+ requirements:
500
+ - - "~>"
501
+ - !ruby/object:Gem::Version
502
+ version: '0.4'
503
+ - !ruby/object:Gem::Dependency
504
+ name: rspec-rails
505
+ requirement: !ruby/object:Gem::Requirement
506
+ requirements:
507
+ - - "~>"
508
+ - !ruby/object:Gem::Version
509
+ version: '6.1'
510
+ - - ">="
511
+ - !ruby/object:Gem::Version
512
+ version: 6.1.1
513
+ type: :development
514
+ prerelease: false
515
+ version_requirements: !ruby/object:Gem::Requirement
516
+ requirements:
517
+ - - "~>"
518
+ - !ruby/object:Gem::Version
519
+ version: '6.1'
520
+ - - ">="
521
+ - !ruby/object:Gem::Version
522
+ version: 6.1.1
523
+ - !ruby/object:Gem::Dependency
524
+ name: rspec-github
525
+ requirement: !ruby/object:Gem::Requirement
526
+ requirements:
527
+ - - "~>"
528
+ - !ruby/object:Gem::Version
529
+ version: '2.4'
530
+ type: :development
531
+ prerelease: false
532
+ version_requirements: !ruby/object:Gem::Requirement
533
+ requirements:
534
+ - - "~>"
535
+ - !ruby/object:Gem::Version
536
+ version: '2.4'
537
+ - !ruby/object:Gem::Dependency
538
+ name: selenium-webdriver
539
+ requirement: !ruby/object:Gem::Requirement
540
+ requirements:
541
+ - - "~>"
542
+ - !ruby/object:Gem::Version
543
+ version: '4.4'
544
+ type: :development
545
+ prerelease: false
546
+ version_requirements: !ruby/object:Gem::Requirement
547
+ requirements:
548
+ - - "~>"
549
+ - !ruby/object:Gem::Version
550
+ version: '4.4'
551
+ - !ruby/object:Gem::Dependency
552
+ name: shoulda-matchers
553
+ requirement: !ruby/object:Gem::Requirement
554
+ requirements:
555
+ - - "~>"
556
+ - !ruby/object:Gem::Version
557
+ version: '6.0'
558
+ type: :development
559
+ prerelease: false
560
+ version_requirements: !ruby/object:Gem::Requirement
561
+ requirements:
562
+ - - "~>"
563
+ - !ruby/object:Gem::Version
564
+ version: '6.0'
565
+ - !ruby/object:Gem::Dependency
566
+ name: solargraph
567
+ requirement: !ruby/object:Gem::Requirement
568
+ requirements:
569
+ - - "~>"
570
+ - !ruby/object:Gem::Version
571
+ version: '0.50'
572
+ type: :development
573
+ prerelease: false
574
+ version_requirements: !ruby/object:Gem::Requirement
575
+ requirements:
576
+ - - "~>"
577
+ - !ruby/object:Gem::Version
578
+ version: '0.50'
579
+ - !ruby/object:Gem::Dependency
580
+ name: solargraph-rails
581
+ requirement: !ruby/object:Gem::Requirement
582
+ requirements:
583
+ - - "~>"
584
+ - !ruby/object:Gem::Version
585
+ version: '1.1'
586
+ type: :development
587
+ prerelease: false
588
+ version_requirements: !ruby/object:Gem::Requirement
589
+ requirements:
590
+ - - "~>"
591
+ - !ruby/object:Gem::Version
592
+ version: '1.1'
593
+ - !ruby/object:Gem::Dependency
594
+ name: solargraph-standardrb
595
+ requirement: !ruby/object:Gem::Requirement
596
+ requirements:
597
+ - - "~>"
598
+ - !ruby/object:Gem::Version
599
+ version: 0.0.4
600
+ type: :development
601
+ prerelease: false
602
+ version_requirements: !ruby/object:Gem::Requirement
603
+ requirements:
604
+ - - "~>"
605
+ - !ruby/object:Gem::Version
606
+ version: 0.0.4
607
+ - !ruby/object:Gem::Dependency
608
+ name: standard
609
+ requirement: !ruby/object:Gem::Requirement
610
+ requirements:
611
+ - - "~>"
612
+ - !ruby/object:Gem::Version
613
+ version: '1.33'
614
+ - - ">="
615
+ - !ruby/object:Gem::Version
616
+ version: 1.33.0
617
+ type: :development
618
+ prerelease: false
619
+ version_requirements: !ruby/object:Gem::Requirement
620
+ requirements:
621
+ - - "~>"
622
+ - !ruby/object:Gem::Version
623
+ version: '1.33'
624
+ - - ">="
625
+ - !ruby/object:Gem::Version
626
+ version: 1.33.0
627
+ - !ruby/object:Gem::Dependency
628
+ name: turbo-rails
629
+ requirement: !ruby/object:Gem::Requirement
630
+ requirements:
631
+ - - "~>"
632
+ - !ruby/object:Gem::Version
633
+ version: '2.0'
634
+ type: :development
635
+ prerelease: false
636
+ version_requirements: !ruby/object:Gem::Requirement
637
+ requirements:
638
+ - - "~>"
639
+ - !ruby/object:Gem::Version
640
+ version: '2.0'
641
+ - !ruby/object:Gem::Dependency
642
+ name: yard-activerecord
643
+ requirement: !ruby/object:Gem::Requirement
644
+ requirements:
645
+ - - "~>"
646
+ - !ruby/object:Gem::Version
647
+ version: 0.0.16
648
+ type: :development
649
+ prerelease: false
650
+ version_requirements: !ruby/object:Gem::Requirement
651
+ requirements:
652
+ - - "~>"
653
+ - !ruby/object:Gem::Version
654
+ version: 0.0.16
655
+ - !ruby/object:Gem::Dependency
656
+ name: rails
657
+ requirement: !ruby/object:Gem::Requirement
658
+ requirements:
659
+ - - "~>"
660
+ - !ruby/object:Gem::Version
661
+ version: '7.1'
662
+ type: :runtime
663
+ prerelease: false
664
+ version_requirements: !ruby/object:Gem::Requirement
665
+ requirements:
666
+ - - "~>"
667
+ - !ruby/object:Gem::Version
668
+ version: '7.1'
669
+ description:
670
+ email:
671
+ - bamboo@pandacms.io
672
+ executables: []
673
+ extensions: []
674
+ extra_rdoc_files: []
675
+ files:
676
+ - README.md
677
+ - Rakefile
678
+ - app/assets/builds/panda_cms.css
679
+ - app/assets/config/panda_cms_manifest.js
680
+ - app/assets/stylesheets/panda_cms/application.tailwind.css
681
+ - app/builders/panda_cms/form_builder.rb
682
+ - app/components/panda_cms/admin/button_component.rb
683
+ - app/components/panda_cms/admin/container_component.html.erb
684
+ - app/components/panda_cms/admin/container_component.rb
685
+ - app/components/panda_cms/admin/flash_message_component.html.erb
686
+ - app/components/panda_cms/admin/flash_message_component.rb
687
+ - app/components/panda_cms/admin/heading_component.rb
688
+ - app/components/panda_cms/admin/slideover_component.html.erb
689
+ - app/components/panda_cms/admin/slideover_component.rb
690
+ - app/components/panda_cms/admin/tab_bar_component.html.erb
691
+ - app/components/panda_cms/admin/tab_bar_component.rb
692
+ - app/components/panda_cms/grid_component.html.erb
693
+ - app/components/panda_cms/grid_component.rb
694
+ - app/components/panda_cms/menu_component.html.erb
695
+ - app/components/panda_cms/menu_component.rb
696
+ - app/components/panda_cms/page_menu_component.html.erb
697
+ - app/components/panda_cms/page_menu_component.rb
698
+ - app/components/panda_cms/rich_text_component.html.erb
699
+ - app/components/panda_cms/rich_text_component.rb
700
+ - app/components/panda_cms/text_component.rb
701
+ - app/constraints/panda_cms/admin_constraint.rb
702
+ - app/controllers/panda_cms/admin/block_contents_controller.rb
703
+ - app/controllers/panda_cms/admin/dashboard_controller.rb
704
+ - app/controllers/panda_cms/admin/files_controller.rb
705
+ - app/controllers/panda_cms/admin/menus_controller.rb
706
+ - app/controllers/panda_cms/admin/pages_controller.rb
707
+ - app/controllers/panda_cms/admin/sessions_controller.rb
708
+ - app/controllers/panda_cms/application_controller.rb
709
+ - app/controllers/panda_cms/errors_controller.rb
710
+ - app/controllers/panda_cms/pages_controller.rb
711
+ - app/helpers/panda_cms/admin/files_helper.rb
712
+ - app/helpers/panda_cms/admin/pages_helper.rb
713
+ - app/helpers/panda_cms/application_helper.rb
714
+ - app/helpers/panda_cms/pages_helper.rb
715
+ - app/helpers/panda_cms/theme_helper.rb
716
+ - app/javascript/panda_cms/base.js
717
+ - app/javascript/panda_cms/controllers/menu_controller.js
718
+ - app/javascript/panda_cms/controllers/rich_text_editor_controller.js
719
+ - app/javascript/panda_cms/controllers/text_field_update_controller.js
720
+ - app/javascript/panda_cms/vendor/stimulus-components-rails-nested-form.js
721
+ - app/javascript/panda_cms/vendor/tailwindcss-stimulus-components.js
722
+ - app/jobs/panda_cms/application_job.rb
723
+ - app/lib/panda_cms/demo_site_generator.rb
724
+ - app/lib/panda_cms/slug.rb
725
+ - app/mailers/panda_cms/application_mailer.rb
726
+ - app/models/panda_cms/application_record.rb
727
+ - app/models/panda_cms/block.rb
728
+ - app/models/panda_cms/block_content.rb
729
+ - app/models/panda_cms/block_content_version.rb
730
+ - app/models/panda_cms/breadcrumb.rb
731
+ - app/models/panda_cms/current.rb
732
+ - app/models/panda_cms/menu.rb
733
+ - app/models/panda_cms/menu_item.rb
734
+ - app/models/panda_cms/page.rb
735
+ - app/models/panda_cms/page_version.rb
736
+ - app/models/panda_cms/redirect.rb
737
+ - app/models/panda_cms/template.rb
738
+ - app/models/panda_cms/template_version.rb
739
+ - app/models/panda_cms/user.rb
740
+ - app/models/panda_cms/version.rb
741
+ - app/models/panda_cms/visit.rb
742
+ - app/views/layouts/panda_cms/application.html.erb
743
+ - app/views/layouts/panda_cms/public.html.erb
744
+ - app/views/panda_cms/admin/dashboard/show.html.erb
745
+ - app/views/panda_cms/admin/files/index.html.erb
746
+ - app/views/panda_cms/admin/files/show.html.erb
747
+ - app/views/panda_cms/admin/menus/_form.html.erb
748
+ - app/views/panda_cms/admin/menus/_menu_item_fields.html.erb
749
+ - app/views/panda_cms/admin/menus/edit.html.erb
750
+ - app/views/panda_cms/admin/menus/index.html.erb
751
+ - app/views/panda_cms/admin/menus/new.html.erb
752
+ - app/views/panda_cms/admin/pages/edit.html.erb
753
+ - app/views/panda_cms/admin/pages/index.html.erb
754
+ - app/views/panda_cms/admin/pages/new.html.erb
755
+ - app/views/panda_cms/admin/pages/show.html.erb
756
+ - app/views/panda_cms/admin/sessions/new.html.erb
757
+ - app/views/panda_cms/admin/shared/_breadcrumbs.html.erb
758
+ - app/views/panda_cms/admin/shared/_flash.html.erb
759
+ - app/views/panda_cms/admin/shared/_sidebar.html.erb
760
+ - app/views/panda_cms/shared/_favicons.html.erb
761
+ - app/views/panda_cms/shared/_footer.html.erb
762
+ - app/views/panda_cms/shared/_header.html.erb
763
+ - config/importmap.rb
764
+ - config/initializers/panda_cms.rb
765
+ - config/initializers/panda_cms/form_errors.rb
766
+ - config/locales/en.yml
767
+ - config/routes.rb
768
+ - config/tailwind.config.js
769
+ - config/tailwind.embed.config.js
770
+ - db/migrate/20240205223709_create_panda_cms_pages.rb
771
+ - db/migrate/20240219213327_create_panda_cms_page_versions.rb
772
+ - db/migrate/20240303002805_create_panda_cms_templates.rb
773
+ - db/migrate/20240303003434_create_panda_cms_template_versions.rb
774
+ - db/migrate/20240303022441_create_panda_cms_blocks.rb
775
+ - db/migrate/20240303024256_create_panda_cms_block_contents.rb
776
+ - db/migrate/20240303024746_create_panda_cms_block_content_versions.rb
777
+ - db/migrate/20240303233238_add_panda_cms_menu_table.rb
778
+ - db/migrate/20240303234724_add_panda_cms_menu_item_table.rb
779
+ - db/migrate/20240304134343_add_parent_id_to_panda_cms_pages.rb
780
+ - db/migrate/20240315125421_add_nested_sets_to_panda_cms_pages.rb
781
+ - db/migrate/20240316212822_add_kind_to_panda_cms_menus.rb
782
+ - db/migrate/20240316221425_add_start_page_to_panda_cms_menus.rb
783
+ - db/migrate/20240316230706_add_nested_to_panda_cms_menu_items.rb
784
+ - db/migrate/20240317010532_create_panda_cms_users.rb
785
+ - db/migrate/20240317161534_add_max_uses_to_panda_cms_template.rb
786
+ - db/migrate/20240317163053_reset_counter_cache_on_panda_cms_template.rb
787
+ - db/migrate/20240317214827_create_panda_cms_redirects.rb
788
+ - db/migrate/20240317230622_create_panda_cms_visits.rb
789
+ - db/migrate/20240324205703_create_active_storage_tables.active_storage.rb
790
+ - db/migrate/20240408084718_default_panda_cms_users_admin_to_false.rb
791
+ - db/seeds.rb
792
+ - lib/generators/panda_cms/install_generator.rb
793
+ - lib/panda_cms.rb
794
+ - lib/panda_cms/engine.rb
795
+ - lib/panda_cms/exceptions_app.rb
796
+ - lib/panda_cms/version.rb
797
+ - lib/tasks/panda_cms.rake
798
+ - lib/templates/erb/scaffold/_form.html.erb.tt
799
+ - lib/templates/erb/scaffold/edit.html.erb.tt
800
+ - lib/templates/erb/scaffold/index.html.erb.tt
801
+ - lib/templates/erb/scaffold/new.html.erb.tt
802
+ - lib/templates/erb/scaffold/partial.html.erb.tt
803
+ - lib/templates/erb/scaffold/show.html.erb.tt
804
+ - public/panda-cms-assets/android-chrome-192x192.png
805
+ - public/panda-cms-assets/android-chrome-512x512.png
806
+ - public/panda-cms-assets/apple-touch-icon.png
807
+ - public/panda-cms-assets/browserconfig.xml
808
+ - public/panda-cms-assets/editable.js
809
+ - public/panda-cms-assets/favicon-16x16.png
810
+ - public/panda-cms-assets/favicon-32x32.png
811
+ - public/panda-cms-assets/favicon.ico
812
+ - public/panda-cms-assets/mstile-150x150.png
813
+ - public/panda-cms-assets/panda-logo-screenprint.png
814
+ - public/panda-cms-assets/panda-nav.png
815
+ - public/panda-cms-assets/safari-pinned-tab.svg
816
+ - public/panda-cms-assets/site.webmanifest
817
+ - public/panda-cms-assets/stimulus-loading.js
818
+ homepage: https://pandacms.io
819
+ licenses:
820
+ - BSD-3-Clause
821
+ metadata:
822
+ homepage_uri: https://pandacms.io
823
+ source_code_uri: https://github.com/pandacms/panda_cms
824
+ bug_tracker_uri: https://github.com/pandacms/panda_cms/issues
825
+ changelog_uri: https://github.com/pandacms/panda_cms/pulls?q=is%3Apr
826
+ post_install_message: "\U0001F43C \U0001F49C"
827
+ rdoc_options: []
828
+ require_paths:
829
+ - lib
830
+ required_ruby_version: !ruby/object:Gem::Requirement
831
+ requirements:
832
+ - - ">="
833
+ - !ruby/object:Gem::Version
834
+ version: '3.0'
835
+ required_rubygems_version: !ruby/object:Gem::Requirement
836
+ requirements:
837
+ - - ">="
838
+ - !ruby/object:Gem::Version
839
+ version: '0'
840
+ requirements: []
841
+ rubygems_version: 3.5.11
842
+ signing_key:
843
+ specification_version: 4
844
+ summary: Better websites on Rails.
845
+ test_files: []