lean_cms 0.2.12

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 (130) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +235 -0
  3. data/LICENSE +21 -0
  4. data/README.md +107 -0
  5. data/app/assets/images/lean_cms/sloth-404.png +0 -0
  6. data/app/assets/images/lean_cms/sloth-500.png +0 -0
  7. data/app/assets/images/lean_cms/sloth-favicon-16.png +0 -0
  8. data/app/assets/images/lean_cms/sloth-favicon-32.png +0 -0
  9. data/app/assets/images/lean_cms/sloth-favicon-64.png +0 -0
  10. data/app/assets/images/lean_cms/sloth-logo.png +0 -0
  11. data/app/assets/lean_cms/actiontext.css +440 -0
  12. data/app/assets/lean_cms/cms_edit_controls.css +548 -0
  13. data/app/assets/tailwind/lean_cms/engine.css +14 -0
  14. data/app/components/lean_cms/base_component.rb +61 -0
  15. data/app/components/lean_cms/bullets_section_component.html.erb +23 -0
  16. data/app/components/lean_cms/bullets_section_component.rb +54 -0
  17. data/app/components/lean_cms/cards_section_component.html.erb +237 -0
  18. data/app/components/lean_cms/cards_section_component.rb +71 -0
  19. data/app/components/lean_cms/editable_content_component.html.erb +15 -0
  20. data/app/components/lean_cms/editable_content_component.rb +53 -0
  21. data/app/components/lean_cms/section_component.html.erb +18 -0
  22. data/app/components/lean_cms/section_component.rb +35 -0
  23. data/app/controllers/concerns/lean_cms/authentication.rb +60 -0
  24. data/app/controllers/concerns/lean_cms/authorization.rb +60 -0
  25. data/app/controllers/lean_cms/activity_controller.rb +16 -0
  26. data/app/controllers/lean_cms/application_controller.rb +48 -0
  27. data/app/controllers/lean_cms/dashboard_controller.rb +13 -0
  28. data/app/controllers/lean_cms/form_submissions_controller.rb +37 -0
  29. data/app/controllers/lean_cms/notification_settings_controller.rb +145 -0
  30. data/app/controllers/lean_cms/notifications_controller.rb +26 -0
  31. data/app/controllers/lean_cms/page_contents_controller.rb +403 -0
  32. data/app/controllers/lean_cms/password_setup_controller.rb +65 -0
  33. data/app/controllers/lean_cms/passwords_controller.rb +42 -0
  34. data/app/controllers/lean_cms/posts_controller.rb +78 -0
  35. data/app/controllers/lean_cms/sessions_controller.rb +50 -0
  36. data/app/controllers/lean_cms/settings_controller.rb +124 -0
  37. data/app/controllers/lean_cms/users_controller.rb +113 -0
  38. data/app/helpers/lean_cms/activity_helper.rb +190 -0
  39. data/app/helpers/lean_cms/application_helper.rb +43 -0
  40. data/app/helpers/lean_cms/content_helper.rb +34 -0
  41. data/app/helpers/lean_cms/page_content_helper.rb +359 -0
  42. data/app/javascript/controllers/cards_editor_controller.js +317 -0
  43. data/app/javascript/controllers/cms_sticky_overlay_controller.js +59 -0
  44. data/app/javascript/controllers/field_editor_form_controller.js +68 -0
  45. data/app/javascript/controllers/field_editor_modal_controller.js +79 -0
  46. data/app/javascript/controllers/inline_edit_controller.js +414 -0
  47. data/app/javascript/controllers/inline_edit_toggle_controller.js +81 -0
  48. data/app/javascript/controllers/notifications_controller.js +19 -0
  49. data/app/javascript/controllers/settings_inline_edit_sync_controller.js +38 -0
  50. data/app/javascript/controllers/settings_override_controller.js +45 -0
  51. data/app/mailers/lean_cms/application_mailer.rb +6 -0
  52. data/app/mailers/lean_cms/passwords_mailer.rb +8 -0
  53. data/app/mailers/lean_cms/users_mailer.rb +39 -0
  54. data/app/models/lean_cms/current.rb +6 -0
  55. data/app/models/lean_cms/form_submission.rb +45 -0
  56. data/app/models/lean_cms/magic_link.rb +76 -0
  57. data/app/models/lean_cms/meta_tag.rb +30 -0
  58. data/app/models/lean_cms/notification_setting.rb +69 -0
  59. data/app/models/lean_cms/page.rb +23 -0
  60. data/app/models/lean_cms/page_content.rb +245 -0
  61. data/app/models/lean_cms/post.rb +65 -0
  62. data/app/models/lean_cms/session.rb +7 -0
  63. data/app/models/lean_cms/setting.rb +156 -0
  64. data/app/policies/lean_cms/application_policy.rb +35 -0
  65. data/app/policies/lean_cms/page_content_policy.rb +31 -0
  66. data/app/policies/lean_cms/post_policy.rb +37 -0
  67. data/app/policies/lean_cms/setting_policy.rb +17 -0
  68. data/app/views/layouts/lean_cms/application.html.erb +114 -0
  69. data/app/views/layouts/lean_cms/auth.html.erb +200 -0
  70. data/app/views/lean_cms/activity/index.html.erb +79 -0
  71. data/app/views/lean_cms/dashboard/index.html.erb +180 -0
  72. data/app/views/lean_cms/form_submissions/index.html.erb +104 -0
  73. data/app/views/lean_cms/form_submissions/show.html.erb +157 -0
  74. data/app/views/lean_cms/notification_settings/edit.html.erb +192 -0
  75. data/app/views/lean_cms/notifications/index.html.erb +72 -0
  76. data/app/views/lean_cms/notifications/show.html.erb +39 -0
  77. data/app/views/lean_cms/page_contents/_field_editor.html.erb +174 -0
  78. data/app/views/lean_cms/page_contents/edit.html.erb +428 -0
  79. data/app/views/lean_cms/page_contents/index.html.erb +113 -0
  80. data/app/views/lean_cms/password_setup/show.html.erb +35 -0
  81. data/app/views/lean_cms/passwords/edit.html.erb +26 -0
  82. data/app/views/lean_cms/passwords/new.html.erb +21 -0
  83. data/app/views/lean_cms/passwords_mailer/reset.html.erb +6 -0
  84. data/app/views/lean_cms/passwords_mailer/reset.text.erb +4 -0
  85. data/app/views/lean_cms/posts/_form.html.erb +118 -0
  86. data/app/views/lean_cms/posts/edit.html.erb +31 -0
  87. data/app/views/lean_cms/posts/index.html.erb +100 -0
  88. data/app/views/lean_cms/posts/new.html.erb +16 -0
  89. data/app/views/lean_cms/sessions/new.html.erb +28 -0
  90. data/app/views/lean_cms/settings/edit.html.erb +384 -0
  91. data/app/views/lean_cms/shared/_admin_bar.html.erb +85 -0
  92. data/app/views/lean_cms/shared/_header.html.erb +86 -0
  93. data/app/views/lean_cms/shared/_notifications_bell.html.erb +84 -0
  94. data/app/views/lean_cms/shared/_sidebar.html.erb +102 -0
  95. data/app/views/lean_cms/users/_form.html.erb +105 -0
  96. data/app/views/lean_cms/users/edit.html.erb +8 -0
  97. data/app/views/lean_cms/users/index.html.erb +99 -0
  98. data/app/views/lean_cms/users/new.html.erb +8 -0
  99. data/app/views/lean_cms/users_mailer/admin_triggered_password_reset.html.erb +13 -0
  100. data/app/views/lean_cms/users_mailer/admin_triggered_password_reset.text.erb +11 -0
  101. data/app/views/lean_cms/users_mailer/invitation.html.erb +13 -0
  102. data/app/views/lean_cms/users_mailer/invitation.text.erb +11 -0
  103. data/app/views/lean_cms/users_mailer/reactivation.html.erb +13 -0
  104. data/app/views/lean_cms/users_mailer/reactivation.text.erb +11 -0
  105. data/config/importmap.rb +8 -0
  106. data/config/routes.rb +78 -0
  107. data/db/migrate/20251112034030_create_lean_cms_tables.rb +131 -0
  108. data/db/migrate/20260513000001_create_lean_cms_auth_tables.rb +31 -0
  109. data/db/migrate/20260514000001_create_paper_trail_versions.rb +16 -0
  110. data/db/migrate/20260514000002_create_action_text_tables.rb +18 -0
  111. data/db/migrate/20260514000003_create_active_storage_tables.rb +45 -0
  112. data/db/migrate/20260514000004_create_noticed_tables.rb +27 -0
  113. data/lib/generators/lean_cms/demo/demo_generator.rb +54 -0
  114. data/lib/generators/lean_cms/demo/templates/lean_cms_structure.yml +129 -0
  115. data/lib/generators/lean_cms/demo/templates/pages_controller.rb +30 -0
  116. data/lib/generators/lean_cms/demo/templates/views/pages/about.html.erb +40 -0
  117. data/lib/generators/lean_cms/demo/templates/views/pages/contact.html.erb +55 -0
  118. data/lib/generators/lean_cms/demo/templates/views/pages/home.html.erb +31 -0
  119. data/lib/generators/lean_cms/install/install_generator.rb +317 -0
  120. data/lib/generators/lean_cms/install/templates/add_lean_cms_columns_to_users.rb.tt +7 -0
  121. data/lib/generators/lean_cms/install/templates/lean_cms.rb +11 -0
  122. data/lib/generators/lean_cms/install/templates/lean_cms_structure.yml +29 -0
  123. data/lib/lean_cms/configuration.rb +32 -0
  124. data/lib/lean_cms/engine.rb +93 -0
  125. data/lib/lean_cms/loader.rb +217 -0
  126. data/lib/lean_cms/sync_helper.rb +182 -0
  127. data/lib/lean_cms/version.rb +3 -0
  128. data/lib/lean_cms.rb +26 -0
  129. data/lib/tasks/lean_cms.rake +390 -0
  130. metadata +313 -0
metadata ADDED
@@ -0,0 +1,313 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: lean_cms
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.12
5
+ platform: ruby
6
+ authors:
7
+ - OvrlandServices
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: rails
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '8.0'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '8.0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: paper_trail
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '17.0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '17.0'
40
+ - !ruby/object:Gem::Dependency
41
+ name: view_component
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '4.0'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '4.0'
54
+ - !ruby/object:Gem::Dependency
55
+ name: kaminari
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '1.2'
61
+ type: :runtime
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '1.2'
68
+ - !ruby/object:Gem::Dependency
69
+ name: pundit
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '2.5'
75
+ type: :runtime
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '2.5'
82
+ - !ruby/object:Gem::Dependency
83
+ name: noticed
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '2.0'
89
+ type: :runtime
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '2.0'
96
+ - !ruby/object:Gem::Dependency
97
+ name: image_processing
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '1.2'
103
+ type: :runtime
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '1.2'
110
+ - !ruby/object:Gem::Dependency
111
+ name: meta-tags
112
+ requirement: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '2.20'
117
+ type: :runtime
118
+ prerelease: false
119
+ version_requirements: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '2.20'
124
+ - !ruby/object:Gem::Dependency
125
+ name: rack-attack
126
+ requirement: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '6.7'
131
+ type: :runtime
132
+ prerelease: false
133
+ version_requirements: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '6.7'
138
+ - !ruby/object:Gem::Dependency
139
+ name: http
140
+ requirement: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: '5.0'
145
+ type: :runtime
146
+ prerelease: false
147
+ version_requirements: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: '5.0'
152
+ description: Lean CMS is a Rails Engine that adds in-context content editing, page
153
+ content management, blog/portfolio, settings, and notifications to any Rails 8 application.
154
+ Designed for SQLite-based marketing sites.
155
+ email:
156
+ - hello@ovrlandservices.com
157
+ executables: []
158
+ extensions: []
159
+ extra_rdoc_files: []
160
+ files:
161
+ - CHANGELOG.md
162
+ - LICENSE
163
+ - README.md
164
+ - app/assets/images/lean_cms/sloth-404.png
165
+ - app/assets/images/lean_cms/sloth-500.png
166
+ - app/assets/images/lean_cms/sloth-favicon-16.png
167
+ - app/assets/images/lean_cms/sloth-favicon-32.png
168
+ - app/assets/images/lean_cms/sloth-favicon-64.png
169
+ - app/assets/images/lean_cms/sloth-logo.png
170
+ - app/assets/lean_cms/actiontext.css
171
+ - app/assets/lean_cms/cms_edit_controls.css
172
+ - app/assets/tailwind/lean_cms/engine.css
173
+ - app/components/lean_cms/base_component.rb
174
+ - app/components/lean_cms/bullets_section_component.html.erb
175
+ - app/components/lean_cms/bullets_section_component.rb
176
+ - app/components/lean_cms/cards_section_component.html.erb
177
+ - app/components/lean_cms/cards_section_component.rb
178
+ - app/components/lean_cms/editable_content_component.html.erb
179
+ - app/components/lean_cms/editable_content_component.rb
180
+ - app/components/lean_cms/section_component.html.erb
181
+ - app/components/lean_cms/section_component.rb
182
+ - app/controllers/concerns/lean_cms/authentication.rb
183
+ - app/controllers/concerns/lean_cms/authorization.rb
184
+ - app/controllers/lean_cms/activity_controller.rb
185
+ - app/controllers/lean_cms/application_controller.rb
186
+ - app/controllers/lean_cms/dashboard_controller.rb
187
+ - app/controllers/lean_cms/form_submissions_controller.rb
188
+ - app/controllers/lean_cms/notification_settings_controller.rb
189
+ - app/controllers/lean_cms/notifications_controller.rb
190
+ - app/controllers/lean_cms/page_contents_controller.rb
191
+ - app/controllers/lean_cms/password_setup_controller.rb
192
+ - app/controllers/lean_cms/passwords_controller.rb
193
+ - app/controllers/lean_cms/posts_controller.rb
194
+ - app/controllers/lean_cms/sessions_controller.rb
195
+ - app/controllers/lean_cms/settings_controller.rb
196
+ - app/controllers/lean_cms/users_controller.rb
197
+ - app/helpers/lean_cms/activity_helper.rb
198
+ - app/helpers/lean_cms/application_helper.rb
199
+ - app/helpers/lean_cms/content_helper.rb
200
+ - app/helpers/lean_cms/page_content_helper.rb
201
+ - app/javascript/controllers/cards_editor_controller.js
202
+ - app/javascript/controllers/cms_sticky_overlay_controller.js
203
+ - app/javascript/controllers/field_editor_form_controller.js
204
+ - app/javascript/controllers/field_editor_modal_controller.js
205
+ - app/javascript/controllers/inline_edit_controller.js
206
+ - app/javascript/controllers/inline_edit_toggle_controller.js
207
+ - app/javascript/controllers/notifications_controller.js
208
+ - app/javascript/controllers/settings_inline_edit_sync_controller.js
209
+ - app/javascript/controllers/settings_override_controller.js
210
+ - app/mailers/lean_cms/application_mailer.rb
211
+ - app/mailers/lean_cms/passwords_mailer.rb
212
+ - app/mailers/lean_cms/users_mailer.rb
213
+ - app/models/lean_cms/current.rb
214
+ - app/models/lean_cms/form_submission.rb
215
+ - app/models/lean_cms/magic_link.rb
216
+ - app/models/lean_cms/meta_tag.rb
217
+ - app/models/lean_cms/notification_setting.rb
218
+ - app/models/lean_cms/page.rb
219
+ - app/models/lean_cms/page_content.rb
220
+ - app/models/lean_cms/post.rb
221
+ - app/models/lean_cms/session.rb
222
+ - app/models/lean_cms/setting.rb
223
+ - app/policies/lean_cms/application_policy.rb
224
+ - app/policies/lean_cms/page_content_policy.rb
225
+ - app/policies/lean_cms/post_policy.rb
226
+ - app/policies/lean_cms/setting_policy.rb
227
+ - app/views/layouts/lean_cms/application.html.erb
228
+ - app/views/layouts/lean_cms/auth.html.erb
229
+ - app/views/lean_cms/activity/index.html.erb
230
+ - app/views/lean_cms/dashboard/index.html.erb
231
+ - app/views/lean_cms/form_submissions/index.html.erb
232
+ - app/views/lean_cms/form_submissions/show.html.erb
233
+ - app/views/lean_cms/notification_settings/edit.html.erb
234
+ - app/views/lean_cms/notifications/index.html.erb
235
+ - app/views/lean_cms/notifications/show.html.erb
236
+ - app/views/lean_cms/page_contents/_field_editor.html.erb
237
+ - app/views/lean_cms/page_contents/edit.html.erb
238
+ - app/views/lean_cms/page_contents/index.html.erb
239
+ - app/views/lean_cms/password_setup/show.html.erb
240
+ - app/views/lean_cms/passwords/edit.html.erb
241
+ - app/views/lean_cms/passwords/new.html.erb
242
+ - app/views/lean_cms/passwords_mailer/reset.html.erb
243
+ - app/views/lean_cms/passwords_mailer/reset.text.erb
244
+ - app/views/lean_cms/posts/_form.html.erb
245
+ - app/views/lean_cms/posts/edit.html.erb
246
+ - app/views/lean_cms/posts/index.html.erb
247
+ - app/views/lean_cms/posts/new.html.erb
248
+ - app/views/lean_cms/sessions/new.html.erb
249
+ - app/views/lean_cms/settings/edit.html.erb
250
+ - app/views/lean_cms/shared/_admin_bar.html.erb
251
+ - app/views/lean_cms/shared/_header.html.erb
252
+ - app/views/lean_cms/shared/_notifications_bell.html.erb
253
+ - app/views/lean_cms/shared/_sidebar.html.erb
254
+ - app/views/lean_cms/users/_form.html.erb
255
+ - app/views/lean_cms/users/edit.html.erb
256
+ - app/views/lean_cms/users/index.html.erb
257
+ - app/views/lean_cms/users/new.html.erb
258
+ - app/views/lean_cms/users_mailer/admin_triggered_password_reset.html.erb
259
+ - app/views/lean_cms/users_mailer/admin_triggered_password_reset.text.erb
260
+ - app/views/lean_cms/users_mailer/invitation.html.erb
261
+ - app/views/lean_cms/users_mailer/invitation.text.erb
262
+ - app/views/lean_cms/users_mailer/reactivation.html.erb
263
+ - app/views/lean_cms/users_mailer/reactivation.text.erb
264
+ - config/importmap.rb
265
+ - config/routes.rb
266
+ - db/migrate/20251112034030_create_lean_cms_tables.rb
267
+ - db/migrate/20260513000001_create_lean_cms_auth_tables.rb
268
+ - db/migrate/20260514000001_create_paper_trail_versions.rb
269
+ - db/migrate/20260514000002_create_action_text_tables.rb
270
+ - db/migrate/20260514000003_create_active_storage_tables.rb
271
+ - db/migrate/20260514000004_create_noticed_tables.rb
272
+ - lib/generators/lean_cms/demo/demo_generator.rb
273
+ - lib/generators/lean_cms/demo/templates/lean_cms_structure.yml
274
+ - lib/generators/lean_cms/demo/templates/pages_controller.rb
275
+ - lib/generators/lean_cms/demo/templates/views/pages/about.html.erb
276
+ - lib/generators/lean_cms/demo/templates/views/pages/contact.html.erb
277
+ - lib/generators/lean_cms/demo/templates/views/pages/home.html.erb
278
+ - lib/generators/lean_cms/install/install_generator.rb
279
+ - lib/generators/lean_cms/install/templates/add_lean_cms_columns_to_users.rb.tt
280
+ - lib/generators/lean_cms/install/templates/lean_cms.rb
281
+ - lib/generators/lean_cms/install/templates/lean_cms_structure.yml
282
+ - lib/lean_cms.rb
283
+ - lib/lean_cms/configuration.rb
284
+ - lib/lean_cms/engine.rb
285
+ - lib/lean_cms/loader.rb
286
+ - lib/lean_cms/sync_helper.rb
287
+ - lib/lean_cms/version.rb
288
+ - lib/tasks/lean_cms.rake
289
+ homepage: https://leancms.dev
290
+ licenses:
291
+ - MIT
292
+ metadata:
293
+ homepage_uri: https://leancms.dev
294
+ source_code_uri: https://github.com/Ovrland-Services/lean-cms
295
+ changelog_uri: https://github.com/Ovrland-Services/lean-cms/blob/main/CHANGELOG.md
296
+ rdoc_options: []
297
+ require_paths:
298
+ - lib
299
+ required_ruby_version: !ruby/object:Gem::Requirement
300
+ requirements:
301
+ - - ">="
302
+ - !ruby/object:Gem::Version
303
+ version: 3.2.0
304
+ required_rubygems_version: !ruby/object:Gem::Requirement
305
+ requirements:
306
+ - - ">="
307
+ - !ruby/object:Gem::Version
308
+ version: '0'
309
+ requirements: []
310
+ rubygems_version: 3.6.9
311
+ specification_version: 4
312
+ summary: Lightweight Rails CMS with in-context editing for marketing sites.
313
+ test_files: []