panda-cms 0.7.0 → 0.7.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/builds/panda.cms.css +0 -50
  3. data/app/components/panda/cms/admin/table_component.html.erb +1 -1
  4. data/app/components/panda/cms/code_component.rb +2 -1
  5. data/app/components/panda/cms/rich_text_component.html.erb +86 -2
  6. data/app/components/panda/cms/rich_text_component.rb +131 -20
  7. data/app/controllers/panda/cms/admin/block_contents_controller.rb +18 -7
  8. data/app/controllers/panda/cms/admin/files_controller.rb +22 -12
  9. data/app/controllers/panda/cms/admin/posts_controller.rb +33 -11
  10. data/app/controllers/panda/cms/pages_controller.rb +29 -0
  11. data/app/controllers/panda/cms/posts_controller.rb +26 -4
  12. data/app/helpers/panda/cms/admin/posts_helper.rb +23 -32
  13. data/app/helpers/panda/cms/posts_helper.rb +32 -0
  14. data/app/javascript/panda/cms/controllers/dashboard_controller.js +0 -1
  15. data/app/javascript/panda/cms/controllers/editor_form_controller.js +134 -11
  16. data/app/javascript/panda/cms/controllers/editor_iframe_controller.js +395 -130
  17. data/app/javascript/panda/cms/controllers/slug_controller.js +33 -43
  18. data/app/javascript/panda/cms/editor/editor_js_config.js +202 -73
  19. data/app/javascript/panda/cms/editor/editor_js_initializer.js +243 -194
  20. data/app/javascript/panda/cms/editor/plain_text_editor.js +1 -1
  21. data/app/javascript/panda/cms/editor/resource_loader.js +89 -0
  22. data/app/javascript/panda/cms/editor/rich_text_editor.js +162 -0
  23. data/app/models/panda/cms/page.rb +18 -0
  24. data/app/models/panda/cms/post.rb +61 -3
  25. data/app/models/panda/cms/redirect.rb +2 -2
  26. data/app/views/panda/cms/admin/posts/_form.html.erb +15 -4
  27. data/app/views/panda/cms/admin/posts/index.html.erb +5 -3
  28. data/config/routes.rb +34 -6
  29. data/db/migrate/20250106223303_add_author_id_to_panda_cms_posts.rb +5 -0
  30. data/lib/panda/cms/editor_js_content.rb +14 -1
  31. data/lib/panda/cms/engine.rb +3 -6
  32. data/lib/panda-cms/version.rb +1 -1
  33. data/lib/panda-cms.rb +5 -11
  34. metadata +290 -35
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: panda-cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.7.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Panda Software Limited
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-01-02 00:00:00.000000000 Z
10
+ date: 2025-01-20 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: panda-core
@@ -66,7 +66,7 @@ dependencies:
66
66
  - !ruby/object:Gem::Version
67
67
  version: '0'
68
68
  - !ruby/object:Gem::Dependency
69
- name: cuprite
69
+ name: annotaterb
70
70
  requirement: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - ">="
@@ -80,7 +80,7 @@ dependencies:
80
80
  - !ruby/object:Gem::Version
81
81
  version: '0'
82
82
  - !ruby/object:Gem::Dependency
83
- name: lookbook
83
+ name: better_errors
84
84
  requirement: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - ">="
@@ -94,7 +94,7 @@ dependencies:
94
94
  - !ruby/object:Gem::Version
95
95
  version: '0'
96
96
  - !ruby/object:Gem::Dependency
97
- name: rspec-rails
97
+ name: binding_of_caller
98
98
  requirement: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - ">="
@@ -108,7 +108,7 @@ dependencies:
108
108
  - !ruby/object:Gem::Version
109
109
  version: '0'
110
110
  - !ruby/object:Gem::Dependency
111
- name: simplecov
111
+ name: brakeman
112
112
  requirement: !ruby/object:Gem::Requirement
113
113
  requirements:
114
114
  - - ">="
@@ -122,7 +122,7 @@ dependencies:
122
122
  - !ruby/object:Gem::Version
123
123
  version: '0'
124
124
  - !ruby/object:Gem::Dependency
125
- name: simplecov-json
125
+ name: bullet
126
126
  requirement: !ruby/object:Gem::Requirement
127
127
  requirements:
128
128
  - - ">="
@@ -136,7 +136,7 @@ dependencies:
136
136
  - !ruby/object:Gem::Version
137
137
  version: '0'
138
138
  - !ruby/object:Gem::Dependency
139
- name: tty-box
139
+ name: bundler-audit
140
140
  requirement: !ruby/object:Gem::Requirement
141
141
  requirements:
142
142
  - - ">="
@@ -150,7 +150,7 @@ dependencies:
150
150
  - !ruby/object:Gem::Version
151
151
  version: '0'
152
152
  - !ruby/object:Gem::Dependency
153
- name: tty-screen
153
+ name: capybara
154
154
  requirement: !ruby/object:Gem::Requirement
155
155
  requirements:
156
156
  - - ">="
@@ -164,21 +164,35 @@ dependencies:
164
164
  - !ruby/object:Gem::Version
165
165
  version: '0'
166
166
  - !ruby/object:Gem::Dependency
167
- name: omniauth
167
+ name: cuprite
168
168
  requirement: !ruby/object:Gem::Requirement
169
169
  requirements:
170
- - - "~>"
170
+ - - ">="
171
171
  - !ruby/object:Gem::Version
172
- version: '2.1'
173
- type: :runtime
172
+ version: '0'
173
+ type: :development
174
174
  prerelease: false
175
175
  version_requirements: !ruby/object:Gem::Requirement
176
176
  requirements:
177
- - - "~>"
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ version: '0'
180
+ - !ruby/object:Gem::Dependency
181
+ name: danger
182
+ requirement: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - ">="
178
185
  - !ruby/object:Gem::Version
179
- version: '2.1'
186
+ version: '0'
187
+ type: :development
188
+ prerelease: false
189
+ version_requirements: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - ">="
192
+ - !ruby/object:Gem::Version
193
+ version: '0'
180
194
  - !ruby/object:Gem::Dependency
181
- name: brakeman
195
+ name: danger-reek
182
196
  requirement: !ruby/object:Gem::Requirement
183
197
  requirements:
184
198
  - - ">="
@@ -192,7 +206,7 @@ dependencies:
192
206
  - !ruby/object:Gem::Version
193
207
  version: '0'
194
208
  - !ruby/object:Gem::Dependency
195
- name: bundle-audit
209
+ name: danger-rubocop
196
210
  requirement: !ruby/object:Gem::Requirement
197
211
  requirements:
198
212
  - - ">="
@@ -206,7 +220,7 @@ dependencies:
206
220
  - !ruby/object:Gem::Version
207
221
  version: '0'
208
222
  - !ruby/object:Gem::Dependency
209
- name: erb_lint
223
+ name: danger-simplecov_json
210
224
  requirement: !ruby/object:Gem::Requirement
211
225
  requirements:
212
226
  - - ">="
@@ -220,7 +234,7 @@ dependencies:
220
234
  - !ruby/object:Gem::Version
221
235
  version: '0'
222
236
  - !ruby/object:Gem::Dependency
223
- name: yamllint
237
+ name: danger-todoist
224
238
  requirement: !ruby/object:Gem::Requirement
225
239
  requirements:
226
240
  - - ">="
@@ -248,7 +262,7 @@ dependencies:
248
262
  - !ruby/object:Gem::Version
249
263
  version: '0'
250
264
  - !ruby/object:Gem::Dependency
251
- name: faker
265
+ name: erb_lint
252
266
  requirement: !ruby/object:Gem::Requirement
253
267
  requirements:
254
268
  - - ">="
@@ -276,7 +290,7 @@ dependencies:
276
290
  - !ruby/object:Gem::Version
277
291
  version: '0'
278
292
  - !ruby/object:Gem::Dependency
279
- name: omniauth
293
+ name: faker
280
294
  requirement: !ruby/object:Gem::Requirement
281
295
  requirements:
282
296
  - - ">="
@@ -290,63 +304,231 @@ dependencies:
290
304
  - !ruby/object:Gem::Version
291
305
  version: '0'
292
306
  - !ruby/object:Gem::Dependency
293
- name: omniauth-github
307
+ name: fasterer
308
+ requirement: !ruby/object:Gem::Requirement
309
+ requirements:
310
+ - - ">="
311
+ - !ruby/object:Gem::Version
312
+ version: '0'
313
+ type: :development
314
+ prerelease: false
315
+ version_requirements: !ruby/object:Gem::Requirement
316
+ requirements:
317
+ - - ">="
318
+ - !ruby/object:Gem::Version
319
+ version: '0'
320
+ - !ruby/object:Gem::Dependency
321
+ name: generator_spec
322
+ requirement: !ruby/object:Gem::Requirement
323
+ requirements:
324
+ - - ">="
325
+ - !ruby/object:Gem::Version
326
+ version: '0'
327
+ type: :development
328
+ prerelease: false
329
+ version_requirements: !ruby/object:Gem::Requirement
330
+ requirements:
331
+ - - ">="
332
+ - !ruby/object:Gem::Version
333
+ version: '0'
334
+ - !ruby/object:Gem::Dependency
335
+ name: listen
336
+ requirement: !ruby/object:Gem::Requirement
337
+ requirements:
338
+ - - ">="
339
+ - !ruby/object:Gem::Version
340
+ version: '0'
341
+ type: :development
342
+ prerelease: false
343
+ version_requirements: !ruby/object:Gem::Requirement
344
+ requirements:
345
+ - - ">="
346
+ - !ruby/object:Gem::Version
347
+ version: '0'
348
+ - !ruby/object:Gem::Dependency
349
+ name: lookbook
294
350
  requirement: !ruby/object:Gem::Requirement
295
351
  requirements:
296
352
  - - "~>"
297
353
  - !ruby/object:Gem::Version
298
- version: '2.0'
354
+ version: '2'
299
355
  type: :development
300
356
  prerelease: false
301
357
  version_requirements: !ruby/object:Gem::Requirement
302
358
  requirements:
303
359
  - - "~>"
304
360
  - !ruby/object:Gem::Version
305
- version: '2.0'
361
+ version: '2'
362
+ - !ruby/object:Gem::Dependency
363
+ name: puma
364
+ requirement: !ruby/object:Gem::Requirement
365
+ requirements:
366
+ - - ">="
367
+ - !ruby/object:Gem::Version
368
+ version: '0'
369
+ type: :development
370
+ prerelease: false
371
+ version_requirements: !ruby/object:Gem::Requirement
372
+ requirements:
373
+ - - ">="
374
+ - !ruby/object:Gem::Version
375
+ version: '0'
376
+ - !ruby/object:Gem::Dependency
377
+ name: rake
378
+ requirement: !ruby/object:Gem::Requirement
379
+ requirements:
380
+ - - ">="
381
+ - !ruby/object:Gem::Version
382
+ version: '0'
383
+ type: :development
384
+ prerelease: false
385
+ version_requirements: !ruby/object:Gem::Requirement
386
+ requirements:
387
+ - - ">="
388
+ - !ruby/object:Gem::Version
389
+ version: '0'
306
390
  - !ruby/object:Gem::Dependency
307
- name: omniauth-google-oauth2
391
+ name: rspec
392
+ requirement: !ruby/object:Gem::Requirement
393
+ requirements:
394
+ - - ">="
395
+ - !ruby/object:Gem::Version
396
+ version: '0'
397
+ type: :development
398
+ prerelease: false
399
+ version_requirements: !ruby/object:Gem::Requirement
400
+ requirements:
401
+ - - ">="
402
+ - !ruby/object:Gem::Version
403
+ version: '0'
404
+ - !ruby/object:Gem::Dependency
405
+ name: rspec-core
308
406
  requirement: !ruby/object:Gem::Requirement
309
407
  requirements:
310
408
  - - "~>"
311
409
  - !ruby/object:Gem::Version
312
- version: '1.1'
410
+ version: '3.13'
313
411
  type: :development
314
412
  prerelease: false
315
413
  version_requirements: !ruby/object:Gem::Requirement
316
414
  requirements:
317
415
  - - "~>"
318
416
  - !ruby/object:Gem::Version
319
- version: '1.1'
417
+ version: '3.13'
320
418
  - !ruby/object:Gem::Dependency
321
- name: omniauth-microsoft_graph
419
+ name: rspec-github
420
+ requirement: !ruby/object:Gem::Requirement
421
+ requirements:
422
+ - - ">="
423
+ - !ruby/object:Gem::Version
424
+ version: '0'
425
+ type: :development
426
+ prerelease: false
427
+ version_requirements: !ruby/object:Gem::Requirement
428
+ requirements:
429
+ - - ">="
430
+ - !ruby/object:Gem::Version
431
+ version: '0'
432
+ - !ruby/object:Gem::Dependency
433
+ name: rspec-rails
322
434
  requirement: !ruby/object:Gem::Requirement
323
435
  requirements:
324
436
  - - "~>"
325
437
  - !ruby/object:Gem::Version
326
- version: '2.0'
438
+ version: '7.1'
327
439
  type: :development
328
440
  prerelease: false
329
441
  version_requirements: !ruby/object:Gem::Requirement
330
442
  requirements:
331
443
  - - "~>"
332
444
  - !ruby/object:Gem::Version
333
- version: '2.0'
445
+ version: '7.1'
446
+ - !ruby/object:Gem::Dependency
447
+ name: ruby-lsp
448
+ requirement: !ruby/object:Gem::Requirement
449
+ requirements:
450
+ - - ">="
451
+ - !ruby/object:Gem::Version
452
+ version: '0'
453
+ type: :development
454
+ prerelease: false
455
+ version_requirements: !ruby/object:Gem::Requirement
456
+ requirements:
457
+ - - ">="
458
+ - !ruby/object:Gem::Version
459
+ version: '0'
460
+ - !ruby/object:Gem::Dependency
461
+ name: shoulda-matchers
462
+ requirement: !ruby/object:Gem::Requirement
463
+ requirements:
464
+ - - ">="
465
+ - !ruby/object:Gem::Version
466
+ version: '0'
467
+ type: :development
468
+ prerelease: false
469
+ version_requirements: !ruby/object:Gem::Requirement
470
+ requirements:
471
+ - - ">="
472
+ - !ruby/object:Gem::Version
473
+ version: '0'
334
474
  - !ruby/object:Gem::Dependency
335
- name: omniauth-rails_csrf_protection
475
+ name: simplecov
336
476
  requirement: !ruby/object:Gem::Requirement
337
477
  requirements:
338
478
  - - "~>"
339
479
  - !ruby/object:Gem::Version
340
- version: '1.0'
480
+ version: '0.22'
341
481
  type: :development
342
482
  prerelease: false
343
483
  version_requirements: !ruby/object:Gem::Requirement
344
484
  requirements:
345
485
  - - "~>"
346
486
  - !ruby/object:Gem::Version
347
- version: '1.0'
487
+ version: '0.22'
348
488
  - !ruby/object:Gem::Dependency
349
- name: shoulda-matchers
489
+ name: simplecov-json
490
+ requirement: !ruby/object:Gem::Requirement
491
+ requirements:
492
+ - - ">="
493
+ - !ruby/object:Gem::Version
494
+ version: '0'
495
+ type: :development
496
+ prerelease: false
497
+ version_requirements: !ruby/object:Gem::Requirement
498
+ requirements:
499
+ - - ">="
500
+ - !ruby/object:Gem::Version
501
+ version: '0'
502
+ - !ruby/object:Gem::Dependency
503
+ name: simplecov-lcov
504
+ requirement: !ruby/object:Gem::Requirement
505
+ requirements:
506
+ - - ">="
507
+ - !ruby/object:Gem::Version
508
+ version: '0'
509
+ type: :development
510
+ prerelease: false
511
+ version_requirements: !ruby/object:Gem::Requirement
512
+ requirements:
513
+ - - ">="
514
+ - !ruby/object:Gem::Version
515
+ version: '0'
516
+ - !ruby/object:Gem::Dependency
517
+ name: simplecov_json_formatter
518
+ requirement: !ruby/object:Gem::Requirement
519
+ requirements:
520
+ - - ">="
521
+ - !ruby/object:Gem::Version
522
+ version: '0'
523
+ type: :development
524
+ prerelease: false
525
+ version_requirements: !ruby/object:Gem::Requirement
526
+ requirements:
527
+ - - ">="
528
+ - !ruby/object:Gem::Version
529
+ version: '0'
530
+ - !ruby/object:Gem::Dependency
531
+ name: simplecov_lcov_formatter
350
532
  requirement: !ruby/object:Gem::Requirement
351
533
  requirements:
352
534
  - - ">="
@@ -374,7 +556,77 @@ dependencies:
374
556
  - !ruby/object:Gem::Version
375
557
  version: '0'
376
558
  - !ruby/object:Gem::Dependency
377
- name: puma
559
+ name: standard-rails
560
+ requirement: !ruby/object:Gem::Requirement
561
+ requirements:
562
+ - - ">="
563
+ - !ruby/object:Gem::Version
564
+ version: '0'
565
+ type: :development
566
+ prerelease: false
567
+ version_requirements: !ruby/object:Gem::Requirement
568
+ requirements:
569
+ - - ">="
570
+ - !ruby/object:Gem::Version
571
+ version: '0'
572
+ - !ruby/object:Gem::Dependency
573
+ name: stringio
574
+ requirement: !ruby/object:Gem::Requirement
575
+ requirements:
576
+ - - ">="
577
+ - !ruby/object:Gem::Version
578
+ version: 3.1.2
579
+ type: :development
580
+ prerelease: false
581
+ version_requirements: !ruby/object:Gem::Requirement
582
+ requirements:
583
+ - - ">="
584
+ - !ruby/object:Gem::Version
585
+ version: 3.1.2
586
+ - !ruby/object:Gem::Dependency
587
+ name: tty-box
588
+ requirement: !ruby/object:Gem::Requirement
589
+ requirements:
590
+ - - ">="
591
+ - !ruby/object:Gem::Version
592
+ version: '0'
593
+ type: :development
594
+ prerelease: false
595
+ version_requirements: !ruby/object:Gem::Requirement
596
+ requirements:
597
+ - - ">="
598
+ - !ruby/object:Gem::Version
599
+ version: '0'
600
+ - !ruby/object:Gem::Dependency
601
+ name: tty-screen
602
+ requirement: !ruby/object:Gem::Requirement
603
+ requirements:
604
+ - - ">="
605
+ - !ruby/object:Gem::Version
606
+ version: '0'
607
+ type: :development
608
+ prerelease: false
609
+ version_requirements: !ruby/object:Gem::Requirement
610
+ requirements:
611
+ - - ">="
612
+ - !ruby/object:Gem::Version
613
+ version: '0'
614
+ - !ruby/object:Gem::Dependency
615
+ name: yamllint
616
+ requirement: !ruby/object:Gem::Requirement
617
+ requirements:
618
+ - - ">="
619
+ - !ruby/object:Gem::Version
620
+ version: '0'
621
+ type: :development
622
+ prerelease: false
623
+ version_requirements: !ruby/object:Gem::Requirement
624
+ requirements:
625
+ - - ">="
626
+ - !ruby/object:Gem::Version
627
+ version: '0'
628
+ - !ruby/object:Gem::Dependency
629
+ name: yard-activerecord
378
630
  requirement: !ruby/object:Gem::Requirement
379
631
  requirements:
380
632
  - - ">="
@@ -452,6 +704,7 @@ files:
452
704
  - app/helpers/panda/cms/admin/posts_helper.rb
453
705
  - app/helpers/panda/cms/application_helper.rb
454
706
  - app/helpers/panda/cms/pages_helper.rb
707
+ - app/helpers/panda/cms/posts_helper.rb
455
708
  - app/helpers/panda/cms/theme_helper.rb
456
709
  - app/javascript/panda/cms/@editorjs--editorjs.js
457
710
  - app/javascript/panda/cms/@hotwired--stimulus.js
@@ -468,6 +721,7 @@ files:
468
721
  - app/javascript/panda/cms/editor/editor_js_initializer.js
469
722
  - app/javascript/panda/cms/editor/plain_text_editor.js
470
723
  - app/javascript/panda/cms/editor/resource_loader.js
724
+ - app/javascript/panda/cms/editor/rich_text_editor.js
471
725
  - app/javascript/panda/cms/tailwindcss-stimulus-components.js
472
726
  - app/jobs/panda/cms/application_job.rb
473
727
  - app/jobs/panda/cms/record_visit_job.rb
@@ -581,6 +835,7 @@ files:
581
835
  - db/migrate/20241120110943_add_editor_js_to_posts.rb
582
836
  - db/migrate/20241120113859_add_cached_content_to_panda_cms_posts.rb
583
837
  - db/migrate/20241123234140_remove_post_tag_id_from_posts.rb
838
+ - db/migrate/20250106223303_add_author_id_to_panda_cms_posts.rb
584
839
  - db/migrate/migrate
585
840
  - db/seeds.rb
586
841
  - lib/generators/panda/cms/install_generator.rb