plum-cms 0.2.3 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -1
  3. data/README.md +5 -1
  4. data/app/assets/builds/tailwind.css +1 -1
  5. data/app/assets/stylesheets/plum/comments.css +1 -0
  6. data/app/controllers/plum/cp/comments_controller.rb +55 -0
  7. data/app/controllers/plum/cp/content_types_controller.rb +1 -1
  8. data/app/controllers/plum/cp/entries_controller.rb +1 -1
  9. data/app/controllers/plum/discussions_controller.rb +46 -0
  10. data/app/helpers/plum/comments_helper.rb +20 -0
  11. data/app/models/plum/comment.rb +40 -0
  12. data/app/models/plum/comment_moderation.rb +7 -0
  13. data/app/models/plum/comment_report.rb +7 -0
  14. data/app/models/plum/commentable.rb +25 -0
  15. data/app/models/plum/discussion.rb +17 -0
  16. data/app/models/plum/entry.rb +11 -0
  17. data/app/models/plum/site.rb +1 -0
  18. data/app/services/plum/comments/context.rb +70 -0
  19. data/app/services/plum/comments/rate_limited.rb +5 -0
  20. data/app/services/plum/comments/theme_renderer.rb +66 -0
  21. data/app/services/plum/config_sync.rb +3 -0
  22. data/app/services/plum/liquid_context.rb +8 -0
  23. data/app/services/plum/liquid_renderer.rb +8 -0
  24. data/app/services/plum/site_archive.rb +4 -4
  25. data/app/themes/default/layouts/base.liquid +1 -1
  26. data/app/themes/default/templates/comments/_comment.liquid +8 -0
  27. data/app/themes/default/templates/comments/_form.liquid +7 -0
  28. data/app/themes/default/templates/comments/_report.liquid +6 -0
  29. data/app/themes/default/templates/comments/show.liquid +15 -0
  30. data/app/themes/default/templates/entries/_default.liquid +1 -0
  31. data/app/themes/default/templates/entries/landing.liquid +1 -0
  32. data/app/themes/default/templates/entries/pages.liquid +1 -0
  33. data/app/themes/default/templates/entries/posts.liquid +1 -0
  34. data/app/views/layouts/plum/cp.html.erb +3 -0
  35. data/app/views/layouts/plum/discussion.html.erb +5 -0
  36. data/app/views/plum/cp/comments/index.html.erb +16 -0
  37. data/app/views/plum/cp/content_types/_form.html.erb +3 -0
  38. data/app/views/plum/cp/entries/_form.html.erb +3 -0
  39. data/app/views/plum/discussions/_comments.html.erb +13 -0
  40. data/app/views/plum/discussions/_form.html.erb +6 -0
  41. data/app/views/plum/discussions/show.html.erb +19 -0
  42. data/config/plum_routes.rb +6 -0
  43. data/db/engine_migrate/20261005190000_create_plum_comments.rb +48 -0
  44. data/docs/comments.md +140 -0
  45. data/docs/releases/0.3.0-validation.md +15 -0
  46. data/lib/plum/comments/configuration.rb +43 -0
  47. data/lib/plum/configuration.rb +3 -1
  48. data/lib/plum/version.rb +1 -1
  49. metadata +27 -2
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: plum-cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Simmons
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-09-19 00:00:00.000000000 Z
11
+ date: 2026-10-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bcrypt
@@ -212,12 +212,14 @@ files:
212
212
  - app/assets/images/table-needs-logo.svg
213
213
  - app/assets/javascripts/plum/application.js
214
214
  - app/assets/stylesheets/application.css
215
+ - app/assets/stylesheets/plum/comments.css
215
216
  - app/assets/stylesheets/plum/control_panel.css
216
217
  - app/assets/tailwind/application.css
217
218
  - app/controllers/plum/api/v1/entries_controller.rb
218
219
  - app/controllers/plum/application_controller.rb
219
220
  - app/controllers/plum/cp/assets_controller.rb
220
221
  - app/controllers/plum/cp/base_controller.rb
222
+ - app/controllers/plum/cp/comments_controller.rb
221
223
  - app/controllers/plum/cp/content_types_controller.rb
222
224
  - app/controllers/plum/cp/dashboard_controller.rb
223
225
  - app/controllers/plum/cp/entries_controller.rb
@@ -234,12 +236,14 @@ files:
234
236
  - app/controllers/plum/cp/terms_controller.rb
235
237
  - app/controllers/plum/cp/theme_previews_controller.rb
236
238
  - app/controllers/plum/cp/themes_controller.rb
239
+ - app/controllers/plum/discussions_controller.rb
237
240
  - app/controllers/plum/form_submissions_controller.rb
238
241
  - app/controllers/plum/pages_controller.rb
239
242
  - app/controllers/plum/sessions_controller.rb
240
243
  - app/controllers/plum/theme_assets_controller.rb
241
244
  - app/helpers/application_helper.rb
242
245
  - app/helpers/markdown_helper.rb
246
+ - app/helpers/plum/comments_helper.rb
243
247
  - app/helpers/plum/cp/assets_helper.rb
244
248
  - app/helpers/plum/cp/theme_settings_helper.rb
245
249
  - app/javascript/application.js
@@ -257,7 +261,12 @@ files:
257
261
  - app/javascript/controllers/plum/write_controller.js
258
262
  - app/models/plum/application_record.rb
259
263
  - app/models/plum/asset.rb
264
+ - app/models/plum/comment.rb
265
+ - app/models/plum/comment_moderation.rb
266
+ - app/models/plum/comment_report.rb
267
+ - app/models/plum/commentable.rb
260
268
  - app/models/plum/content_type.rb
269
+ - app/models/plum/discussion.rb
261
270
  - app/models/plum/entry.rb
262
271
  - app/models/plum/entry_revision.rb
263
272
  - app/models/plum/entry_term.rb
@@ -278,6 +287,9 @@ files:
278
287
  - app/services/plum/block_editor_config.rb
279
288
  - app/services/plum/block_library.rb
280
289
  - app/services/plum/builder_renderer.rb
290
+ - app/services/plum/comments/context.rb
291
+ - app/services/plum/comments/rate_limited.rb
292
+ - app/services/plum/comments/theme_renderer.rb
281
293
  - app/services/plum/config_sync.rb
282
294
  - app/services/plum/draft_diff.rb
283
295
  - app/services/plum/entry_serializer.rb
@@ -321,6 +333,10 @@ files:
321
333
  - app/themes/default/layouts/base.liquid
322
334
  - app/themes/default/templates/collections/_default.liquid
323
335
  - app/themes/default/templates/collections/posts.liquid
336
+ - app/themes/default/templates/comments/_comment.liquid
337
+ - app/themes/default/templates/comments/_form.liquid
338
+ - app/themes/default/templates/comments/_report.liquid
339
+ - app/themes/default/templates/comments/show.liquid
324
340
  - app/themes/default/templates/entries/_default.liquid
325
341
  - app/themes/default/templates/entries/landing.liquid
326
342
  - app/themes/default/templates/entries/pages.liquid
@@ -331,12 +347,14 @@ files:
331
347
  - app/themes/default/templates/taxonomies/_default_index.liquid
332
348
  - app/themes/default/theme.yml
333
349
  - app/views/layouts/plum/cp.html.erb
350
+ - app/views/layouts/plum/discussion.html.erb
334
351
  - app/views/layouts/plum/session.html.erb
335
352
  - app/views/layouts/plum/write.html.erb
336
353
  - app/views/plum/cp/assets/_form.html.erb
337
354
  - app/views/plum/cp/assets/edit.html.erb
338
355
  - app/views/plum/cp/assets/index.html.erb
339
356
  - app/views/plum/cp/assets/new.html.erb
357
+ - app/views/plum/cp/comments/index.html.erb
340
358
  - app/views/plum/cp/content_types/_form.html.erb
341
359
  - app/views/plum/cp/content_types/edit.html.erb
342
360
  - app/views/plum/cp/content_types/index.html.erb
@@ -385,6 +403,9 @@ files:
385
403
  - app/views/plum/cp/terms/edit.html.erb
386
404
  - app/views/plum/cp/terms/new.html.erb
387
405
  - app/views/plum/cp/themes/index.html.erb
406
+ - app/views/plum/discussions/_comments.html.erb
407
+ - app/views/plum/discussions/_form.html.erb
408
+ - app/views/plum/discussions/show.html.erb
388
409
  - app/views/plum/form_mailer/submission_notification.html.erb
389
410
  - app/views/plum/form_mailer/submission_notification.text.erb
390
411
  - app/views/plum/sessions/new.html.erb
@@ -398,12 +419,15 @@ files:
398
419
  - db/engine_migrate/20260807150000_add_focal_point_to_plum_assets.rb
399
420
  - db/engine_migrate/20260807160000_add_localization_to_plum_entries.rb
400
421
  - db/engine_migrate/20260811090000_add_draft_data_to_plum_entries.rb
422
+ - db/engine_migrate/20261005190000_create_plum_comments.rb
401
423
  - docs/blueprint-fields.md
424
+ - docs/comments.md
402
425
  - docs/config-as-code.md
403
426
  - docs/extensions.md
404
427
  - docs/plum-cli.md
405
428
  - docs/portability.md
406
429
  - docs/product-principles.md
430
+ - docs/releases/0.3.0-validation.md
407
431
  - docs/roadmap.md
408
432
  - docs/site/homepage.md
409
433
  - docs/site/information-architecture.md
@@ -414,6 +438,7 @@ files:
414
438
  - lib/generators/plum/install/install_generator.rb
415
439
  - lib/generators/plum/install/templates/plum_initializer.rb
416
440
  - lib/plum.rb
441
+ - lib/plum/comments/configuration.rb
417
442
  - lib/plum/configuration.rb
418
443
  - lib/plum/content_source.rb
419
444
  - lib/plum/content_source_context.rb