plum-cms 0.1.2 → 0.2.1

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 (61) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +51 -0
  3. data/README.md +81 -3
  4. data/app/assets/builds/tailwind.css +1 -1
  5. data/app/assets/stylesheets/plum/control_panel.css +1 -1
  6. data/app/assets/tailwind/application.css +42 -0
  7. data/app/controllers/plum/api/v1/entries_controller.rb +48 -0
  8. data/app/controllers/plum/cp/assets_controller.rb +4 -1
  9. data/app/controllers/plum/cp/content_types_controller.rb +25 -2
  10. data/app/controllers/plum/cp/entries_controller.rb +119 -9
  11. data/app/controllers/plum/cp/entry_revisions_controller.rb +27 -0
  12. data/app/controllers/plum/cp/fieldsets_controller.rb +37 -0
  13. data/app/controllers/plum/cp/site_settings_controller.rb +20 -1
  14. data/app/controllers/plum/pages_controller.rb +26 -1
  15. data/app/javascript/controllers/plum/asset_collection_controller.js +18 -0
  16. data/app/javascript/controllers/plum/blueprint_controller.js +202 -25
  17. data/app/javascript/controllers/plum/conditional_fields_controller.js +43 -0
  18. data/app/javascript/controllers/plum/focal_point_controller.js +16 -0
  19. data/app/javascript/controllers/plum/structured_field_controller.js +133 -0
  20. data/app/models/plum/asset.rb +5 -1
  21. data/app/models/plum/content_type.rb +63 -1
  22. data/app/models/plum/entry.rb +225 -1
  23. data/app/models/plum/entry_revision.rb +14 -0
  24. data/app/models/plum/fieldset.rb +17 -0
  25. data/app/models/plum/site.rb +15 -0
  26. data/app/models/plum/user.rb +1 -0
  27. data/app/services/plum/entry_serializer.rb +36 -0
  28. data/app/services/plum/field_expander.rb +12 -1
  29. data/app/services/plum/field_options.rb +21 -0
  30. data/app/services/plum/field_type_registry.rb +88 -0
  31. data/app/services/plum/liquid_context.rb +7 -1
  32. data/app/services/plum/site_archive.rb +367 -0
  33. data/app/views/layouts/plum/cp.html.erb +2 -0
  34. data/app/views/plum/cp/assets/_form.html.erb +13 -1
  35. data/app/views/plum/cp/content_types/_form.html.erb +81 -24
  36. data/app/views/plum/cp/custom_fields/_input.html.erb +5 -0
  37. data/app/views/plum/cp/entries/_form.html.erb +108 -31
  38. data/app/views/plum/cp/entries/edit.html.erb +16 -0
  39. data/app/views/plum/cp/entry_revisions/index.html.erb +25 -0
  40. data/app/views/plum/cp/fieldsets/index.html.erb +30 -0
  41. data/app/views/plum/cp/site_settings/edit.html.erb +12 -0
  42. data/config/plum_routes.rb +15 -0
  43. data/db/engine_migrate/20260807130000_create_plum_entry_revisions.rb +16 -0
  44. data/db/engine_migrate/20260807140000_create_plum_fieldsets.rb +13 -0
  45. data/db/engine_migrate/20260807150000_add_focal_point_to_plum_assets.rb +6 -0
  46. data/db/engine_migrate/20260807160000_add_localization_to_plum_entries.rb +9 -0
  47. data/docs/blueprint-fields.md +55 -0
  48. data/docs/extensions.md +32 -0
  49. data/docs/portability.md +40 -0
  50. data/docs/product-principles.md +73 -0
  51. data/docs/roadmap.md +100 -0
  52. data/docs/site/homepage.md +104 -0
  53. data/docs/site/information-architecture.md +176 -0
  54. data/docs/statamic-parity.md +28 -0
  55. data/docs/vision.md +82 -0
  56. data/lib/plum/engine.rb +3 -1
  57. data/lib/plum/version.rb +1 -1
  58. data/lib/plum.rb +4 -0
  59. data/lib/tasks/plum_portability.rake +37 -0
  60. data/lib/tasks/plum_styles.rake +12 -0
  61. metadata +36 -8
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: plum-cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Simmons
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2026-08-04 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: bcrypt
@@ -168,14 +167,14 @@ dependencies:
168
167
  requirements:
169
168
  - - "~>"
170
169
  - !ruby/object:Gem::Version
171
- version: '0.1'
170
+ version: '0.9'
172
171
  type: :runtime
173
172
  prerelease: false
174
173
  version_requirements: !ruby/object:Gem::Requirement
175
174
  requirements:
176
175
  - - "~>"
177
176
  - !ruby/object:Gem::Version
178
- version: '0.1'
177
+ version: '0.9'
179
178
  - !ruby/object:Gem::Dependency
180
179
  name: image_processing
181
180
  requirement: !ruby/object:Gem::Requirement
@@ -208,12 +207,15 @@ files:
208
207
  - app/assets/stylesheets/application.css
209
208
  - app/assets/stylesheets/plum/control_panel.css
210
209
  - app/assets/tailwind/application.css
210
+ - app/controllers/plum/api/v1/entries_controller.rb
211
211
  - app/controllers/plum/application_controller.rb
212
212
  - app/controllers/plum/cp/assets_controller.rb
213
213
  - app/controllers/plum/cp/base_controller.rb
214
214
  - app/controllers/plum/cp/content_types_controller.rb
215
215
  - app/controllers/plum/cp/dashboard_controller.rb
216
216
  - app/controllers/plum/cp/entries_controller.rb
217
+ - app/controllers/plum/cp/entry_revisions_controller.rb
218
+ - app/controllers/plum/cp/fieldsets_controller.rb
217
219
  - app/controllers/plum/cp/form_definitions_controller.rb
218
220
  - app/controllers/plum/cp/form_submissions_controller.rb
219
221
  - app/controllers/plum/cp/globals_controller.rb
@@ -235,16 +237,22 @@ files:
235
237
  - app/javascript/application.js
236
238
  - app/javascript/controllers/application.js
237
239
  - app/javascript/controllers/index.js
240
+ - app/javascript/controllers/plum/asset_collection_controller.js
238
241
  - app/javascript/controllers/plum/blocks_editor_controller.js
239
242
  - app/javascript/controllers/plum/blueprint_controller.js
243
+ - app/javascript/controllers/plum/conditional_fields_controller.js
244
+ - app/javascript/controllers/plum/focal_point_controller.js
240
245
  - app/javascript/controllers/plum/form_fields_controller.js
241
246
  - app/javascript/controllers/plum/image_picker_controller.js
247
+ - app/javascript/controllers/plum/structured_field_controller.js
242
248
  - app/javascript/controllers/plum/theme_settings_controller.js
243
249
  - app/models/plum/application_record.rb
244
250
  - app/models/plum/asset.rb
245
251
  - app/models/plum/content_type.rb
246
252
  - app/models/plum/entry.rb
253
+ - app/models/plum/entry_revision.rb
247
254
  - app/models/plum/entry_term.rb
255
+ - app/models/plum/fieldset.rb
248
256
  - app/models/plum/form_definition.rb
249
257
  - app/models/plum/form_submission.rb
250
258
  - app/models/plum/global.rb
@@ -260,11 +268,15 @@ files:
260
268
  - app/services/plum/block_editor_config.rb
261
269
  - app/services/plum/block_library.rb
262
270
  - app/services/plum/builder_renderer.rb
271
+ - app/services/plum/entry_serializer.rb
263
272
  - app/services/plum/field_expander.rb
273
+ - app/services/plum/field_options.rb
274
+ - app/services/plum/field_type_registry.rb
264
275
  - app/services/plum/form_renderer.rb
265
276
  - app/services/plum/liquid_context.rb
266
277
  - app/services/plum/liquid_filters.rb
267
278
  - app/services/plum/liquid_renderer.rb
279
+ - app/services/plum/site_archive.rb
268
280
  - app/services/plum/theme.rb
269
281
  - app/services/plum/theme_asset_path.rb
270
282
  - app/services/plum/theme_package_installer.rb
@@ -317,11 +329,14 @@ files:
317
329
  - app/views/plum/cp/content_types/index.html.erb
318
330
  - app/views/plum/cp/content_types/new.html.erb
319
331
  - app/views/plum/cp/content_types/show.html.erb
332
+ - app/views/plum/cp/custom_fields/_input.html.erb
320
333
  - app/views/plum/cp/dashboard/show.html.erb
321
334
  - app/views/plum/cp/entries/_form.html.erb
322
335
  - app/views/plum/cp/entries/edit.html.erb
323
336
  - app/views/plum/cp/entries/index.html.erb
324
337
  - app/views/plum/cp/entries/new.html.erb
338
+ - app/views/plum/cp/entry_revisions/index.html.erb
339
+ - app/views/plum/cp/fieldsets/index.html.erb
325
340
  - app/views/plum/cp/form_definitions/_form.html.erb
326
341
  - app/views/plum/cp/form_definitions/edit.html.erb
327
342
  - app/views/plum/cp/form_definitions/index.html.erb
@@ -363,6 +378,19 @@ files:
363
378
  - config/plum_importmap.rb
364
379
  - config/plum_routes.rb
365
380
  - db/engine_migrate/20260101000001_create_plum_tables.rb
381
+ - db/engine_migrate/20260807130000_create_plum_entry_revisions.rb
382
+ - db/engine_migrate/20260807140000_create_plum_fieldsets.rb
383
+ - db/engine_migrate/20260807150000_add_focal_point_to_plum_assets.rb
384
+ - db/engine_migrate/20260807160000_add_localization_to_plum_entries.rb
385
+ - docs/blueprint-fields.md
386
+ - docs/extensions.md
387
+ - docs/portability.md
388
+ - docs/product-principles.md
389
+ - docs/roadmap.md
390
+ - docs/site/homepage.md
391
+ - docs/site/information-architecture.md
392
+ - docs/statamic-parity.md
393
+ - docs/vision.md
366
394
  - lib/generators/plum/install/install_generator.rb
367
395
  - lib/generators/plum/install/templates/plum_initializer.rb
368
396
  - lib/plum.rb
@@ -373,6 +401,8 @@ files:
373
401
  - lib/plum/engine.rb
374
402
  - lib/plum/liquid_tags/form_tag.rb
375
403
  - lib/plum/version.rb
404
+ - lib/tasks/plum_portability.rake
405
+ - lib/tasks/plum_styles.rake
376
406
  - vendor/javascript/lexxy.js
377
407
  homepage: https://plumcms.org
378
408
  licenses:
@@ -382,7 +412,6 @@ metadata:
382
412
  rubygems_mfa_required: 'true'
383
413
  source_code_uri: https://github.com/tableneeds/plum
384
414
  bug_tracker_uri: https://github.com/tableneeds/plum/issues
385
- post_install_message:
386
415
  rdoc_options: []
387
416
  require_paths:
388
417
  - lib
@@ -398,8 +427,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
398
427
  - !ruby/object:Gem::Version
399
428
  version: '0'
400
429
  requirements: []
401
- rubygems_version: 3.5.9
402
- signing_key:
430
+ rubygems_version: 3.6.9
403
431
  specification_version: 4
404
432
  summary: A Rails-native CMS engine.
405
433
  test_files: []