plum-cms 0.2.0 → 0.2.2

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 (52) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +196 -0
  3. data/README.md +79 -0
  4. data/app/assets/builds/tailwind.css +1 -1
  5. data/app/controllers/plum/cp/entries_controller.rb +88 -5
  6. data/app/controllers/plum/cp/static_cache_controller.rb +12 -0
  7. data/app/controllers/plum/form_submissions_controller.rb +13 -0
  8. data/app/controllers/plum/pages_controller.rb +8 -0
  9. data/app/controllers/plum/theme_assets_controller.rb +2 -0
  10. data/app/javascript/controllers/plum/write_controller.js +174 -0
  11. data/app/models/plum/asset.rb +1 -0
  12. data/app/models/plum/content_type.rb +1 -0
  13. data/app/models/plum/entry.rb +57 -0
  14. data/app/models/plum/entry_term.rb +1 -0
  15. data/app/models/plum/form_definition.rb +1 -0
  16. data/app/models/plum/global.rb +1 -0
  17. data/app/models/plum/nav_item.rb +1 -0
  18. data/app/models/plum/nav_menu.rb +1 -0
  19. data/app/models/plum/site.rb +2 -0
  20. data/app/models/plum/site_setting.rb +1 -0
  21. data/app/models/plum/static_cache_invalidation.rb +30 -0
  22. data/app/models/plum/taxonomy.rb +1 -0
  23. data/app/models/plum/term.rb +1 -0
  24. data/app/services/plum/config_sync.rb +252 -0
  25. data/app/services/plum/draft_diff.rb +177 -0
  26. data/app/services/plum/form_renderer.rb +12 -1
  27. data/app/services/plum/liquid_context.rb +0 -2
  28. data/app/services/plum/site_archive.rb +367 -0
  29. data/app/views/layouts/plum/write.html.erb +140 -0
  30. data/app/views/plum/cp/dashboard/show.html.erb +10 -3
  31. data/app/views/plum/cp/entries/_form.html.erb +2 -2
  32. data/app/views/plum/cp/entries/diff.html.erb +40 -0
  33. data/app/views/plum/cp/entries/edit.html.erb +24 -0
  34. data/app/views/plum/cp/entries/index.html.erb +3 -0
  35. data/app/views/plum/cp/entries/write.html.erb +60 -0
  36. data/config/plum_routes.rb +5 -0
  37. data/db/engine_migrate/20260811090000_add_draft_data_to_plum_entries.rb +5 -0
  38. data/docs/config-as-code.md +103 -0
  39. data/docs/plum-cli.md +356 -0
  40. data/docs/portability.md +40 -0
  41. data/docs/roadmap.md +71 -69
  42. data/docs/static-caching.md +163 -0
  43. data/lib/generators/plum/install/templates/plum_initializer.rb +8 -0
  44. data/lib/plum/configuration.rb +12 -1
  45. data/lib/plum/engine.rb +10 -1
  46. data/lib/plum/static_cache/middleware.rb +61 -0
  47. data/lib/plum/static_cache.rb +103 -0
  48. data/lib/plum/version.rb +1 -1
  49. data/lib/tasks/plum_config.rake +48 -0
  50. data/lib/tasks/plum_portability.rake +62 -0
  51. data/lib/tasks/plum_styles.rake +14 -9
  52. metadata +26 -5
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: plum-cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Simmons
8
+ autorequire:
8
9
  bindir: bin
9
10
  cert_chain: []
10
- date: 1980-01-02 00:00:00.000000000 Z
11
+ date: 2026-08-13 00:00:00.000000000 Z
11
12
  dependencies:
12
13
  - !ruby/object:Gem::Dependency
13
14
  name: bcrypt
@@ -167,14 +168,14 @@ dependencies:
167
168
  requirements:
168
169
  - - "~>"
169
170
  - !ruby/object:Gem::Version
170
- version: '0.1'
171
+ version: '0.9'
171
172
  type: :runtime
172
173
  prerelease: false
173
174
  version_requirements: !ruby/object:Gem::Requirement
174
175
  requirements:
175
176
  - - "~>"
176
177
  - !ruby/object:Gem::Version
177
- version: '0.1'
178
+ version: '0.9'
178
179
  - !ruby/object:Gem::Dependency
179
180
  name: image_processing
180
181
  requirement: !ruby/object:Gem::Requirement
@@ -222,6 +223,7 @@ files:
222
223
  - app/controllers/plum/cp/nav_items_controller.rb
223
224
  - app/controllers/plum/cp/nav_menus_controller.rb
224
225
  - app/controllers/plum/cp/site_settings_controller.rb
226
+ - app/controllers/plum/cp/static_cache_controller.rb
225
227
  - app/controllers/plum/cp/taxonomies_controller.rb
226
228
  - app/controllers/plum/cp/terms_controller.rb
227
229
  - app/controllers/plum/cp/theme_previews_controller.rb
@@ -246,6 +248,7 @@ files:
246
248
  - app/javascript/controllers/plum/image_picker_controller.js
247
249
  - app/javascript/controllers/plum/structured_field_controller.js
248
250
  - app/javascript/controllers/plum/theme_settings_controller.js
251
+ - app/javascript/controllers/plum/write_controller.js
249
252
  - app/models/plum/application_record.rb
250
253
  - app/models/plum/asset.rb
251
254
  - app/models/plum/content_type.rb
@@ -261,6 +264,7 @@ files:
261
264
  - app/models/plum/site.rb
262
265
  - app/models/plum/site_scoped.rb
263
266
  - app/models/plum/site_setting.rb
267
+ - app/models/plum/static_cache_invalidation.rb
264
268
  - app/models/plum/taxonomy.rb
265
269
  - app/models/plum/term.rb
266
270
  - app/models/plum/user.rb
@@ -268,6 +272,8 @@ files:
268
272
  - app/services/plum/block_editor_config.rb
269
273
  - app/services/plum/block_library.rb
270
274
  - app/services/plum/builder_renderer.rb
275
+ - app/services/plum/config_sync.rb
276
+ - app/services/plum/draft_diff.rb
271
277
  - app/services/plum/entry_serializer.rb
272
278
  - app/services/plum/field_expander.rb
273
279
  - app/services/plum/field_options.rb
@@ -276,6 +282,7 @@ files:
276
282
  - app/services/plum/liquid_context.rb
277
283
  - app/services/plum/liquid_filters.rb
278
284
  - app/services/plum/liquid_renderer.rb
285
+ - app/services/plum/site_archive.rb
279
286
  - app/services/plum/theme.rb
280
287
  - app/services/plum/theme_asset_path.rb
281
288
  - app/services/plum/theme_package_installer.rb
@@ -319,6 +326,7 @@ files:
319
326
  - app/themes/default/theme.yml
320
327
  - app/views/layouts/plum/cp.html.erb
321
328
  - app/views/layouts/plum/session.html.erb
329
+ - app/views/layouts/plum/write.html.erb
322
330
  - app/views/plum/cp/assets/_form.html.erb
323
331
  - app/views/plum/cp/assets/edit.html.erb
324
332
  - app/views/plum/cp/assets/index.html.erb
@@ -331,9 +339,11 @@ files:
331
339
  - app/views/plum/cp/custom_fields/_input.html.erb
332
340
  - app/views/plum/cp/dashboard/show.html.erb
333
341
  - app/views/plum/cp/entries/_form.html.erb
342
+ - app/views/plum/cp/entries/diff.html.erb
334
343
  - app/views/plum/cp/entries/edit.html.erb
335
344
  - app/views/plum/cp/entries/index.html.erb
336
345
  - app/views/plum/cp/entries/new.html.erb
346
+ - app/views/plum/cp/entries/write.html.erb
337
347
  - app/views/plum/cp/entry_revisions/index.html.erb
338
348
  - app/views/plum/cp/fieldsets/index.html.erb
339
349
  - app/views/plum/cp/form_definitions/_form.html.erb
@@ -381,13 +391,18 @@ files:
381
391
  - db/engine_migrate/20260807140000_create_plum_fieldsets.rb
382
392
  - db/engine_migrate/20260807150000_add_focal_point_to_plum_assets.rb
383
393
  - db/engine_migrate/20260807160000_add_localization_to_plum_entries.rb
394
+ - db/engine_migrate/20260811090000_add_draft_data_to_plum_entries.rb
384
395
  - docs/blueprint-fields.md
396
+ - docs/config-as-code.md
385
397
  - docs/extensions.md
398
+ - docs/plum-cli.md
399
+ - docs/portability.md
386
400
  - docs/product-principles.md
387
401
  - docs/roadmap.md
388
402
  - docs/site/homepage.md
389
403
  - docs/site/information-architecture.md
390
404
  - docs/statamic-parity.md
405
+ - docs/static-caching.md
391
406
  - docs/vision.md
392
407
  - lib/generators/plum/install/install_generator.rb
393
408
  - lib/generators/plum/install/templates/plum_initializer.rb
@@ -398,7 +413,11 @@ files:
398
413
  - lib/plum/content_source_registry.rb
399
414
  - lib/plum/engine.rb
400
415
  - lib/plum/liquid_tags/form_tag.rb
416
+ - lib/plum/static_cache.rb
417
+ - lib/plum/static_cache/middleware.rb
401
418
  - lib/plum/version.rb
419
+ - lib/tasks/plum_config.rake
420
+ - lib/tasks/plum_portability.rake
402
421
  - lib/tasks/plum_styles.rake
403
422
  - vendor/javascript/lexxy.js
404
423
  homepage: https://plumcms.org
@@ -409,6 +428,7 @@ metadata:
409
428
  rubygems_mfa_required: 'true'
410
429
  source_code_uri: https://github.com/tableneeds/plum
411
430
  bug_tracker_uri: https://github.com/tableneeds/plum/issues
431
+ post_install_message:
412
432
  rdoc_options: []
413
433
  require_paths:
414
434
  - lib
@@ -424,7 +444,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
424
444
  - !ruby/object:Gem::Version
425
445
  version: '0'
426
446
  requirements: []
427
- rubygems_version: 3.6.9
447
+ rubygems_version: 3.5.9
448
+ signing_key:
428
449
  specification_version: 4
429
450
  summary: A Rails-native CMS engine.
430
451
  test_files: []