macron-cms 1.0.0 → 2.0.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.
- checksums.yaml +4 -4
- data/README.md +298 -21
- data/app/assets/javascripts/macron/cms/codemirror.js +6 -0
- data/app/assets/javascripts/macron/cms/editor.js +101 -0
- data/app/assets/stylesheets/macron/cms/application.css +1 -1
- data/app/assets/stylesheets/macron/cms/codemirror.css +64 -0
- data/app/assets/tailwind/macron/cms/application.css +1 -0
- data/app/components/macron/cms/widget_component.rb +25 -3
- data/app/controllers/macron/cms/article_contents_controller.rb +117 -10
- data/app/controllers/macron/cms/articles_controller.rb +16 -2
- data/app/helpers/macron/cms/content_helper.rb +31 -0
- data/app/helpers/macron/cms/fields_helper.rb +11 -1
- data/app/models/macron/cms/article.rb +36 -0
- data/app/models/macron/cms/article_content.rb +33 -1
- data/app/views/layouts/macron/cms/application.html.erb +6 -18
- data/app/views/macron/cms/articles/_content_blocks_section.html.erb +531 -0
- data/app/views/macron/cms/articles/_form.html.erb +121 -0
- data/app/views/macron/cms/articles/show.html.erb +11 -298
- data/app/views/macron/cms/content_types/show.html.erb +33 -9
- data/app/views/macron/cms/fields/_color.html.erb +35 -0
- data/app/views/macron/cms/fields/_dropdown.html.erb +28 -0
- data/app/views/macron/cms/fields/_file.html.erb +27 -0
- data/app/views/macron/cms/fields/_json.html.erb +17 -0
- data/app/views/macron/cms/fields/_markdown.html.erb +17 -0
- data/app/views/macron/cms/shared/_flash.html.erb +34 -0
- data/config/routes.rb +3 -0
- data/db/migrate/20261028000007_add_background_fields_to_macron_cms_articles.rb +6 -0
- data/db/migrate/20261028000008_add_text_color_to_macron_cms_articles.rb +5 -0
- data/lib/macron/cms/version.rb +1 -1
- metadata +55 -1
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<% notice = local_assigns[:notice] || flash[:notice] %>
|
|
2
|
+
<% alert = local_assigns[:alert] || flash[:alert] %>
|
|
3
|
+
|
|
4
|
+
<% if notice.present? %>
|
|
5
|
+
<div class="p-4 mb-4 rounded-xl bg-emerald-50 border border-emerald-200 text-emerald-800 text-sm flex items-center justify-between gap-3 shadow-2xs">
|
|
6
|
+
<div class="flex items-center gap-3">
|
|
7
|
+
<svg class="w-5 h-5 text-emerald-600 shrink-0" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
|
|
8
|
+
<path stroke-linecap="round" stroke-linejoin="round" d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" />
|
|
9
|
+
</svg>
|
|
10
|
+
<span class="font-medium"><%= notice %></span>
|
|
11
|
+
</div>
|
|
12
|
+
<button type="button" onclick="this.closest('div.rounded-xl').remove();" class="text-emerald-500 hover:text-emerald-800 cursor-pointer p-1">
|
|
13
|
+
<svg class="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor">
|
|
14
|
+
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" />
|
|
15
|
+
</svg>
|
|
16
|
+
</button>
|
|
17
|
+
</div>
|
|
18
|
+
<% end %>
|
|
19
|
+
|
|
20
|
+
<% if alert.present? %>
|
|
21
|
+
<div class="p-4 mb-4 rounded-xl bg-rose-50 border border-rose-200 text-rose-800 text-sm flex items-center justify-between gap-3 shadow-2xs">
|
|
22
|
+
<div class="flex items-center gap-3">
|
|
23
|
+
<svg class="w-5 h-5 text-rose-600 shrink-0" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
|
|
24
|
+
<path stroke-linecap="round" stroke-linejoin="round" d="M12 9v3.75m9-.75a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9 3.75h.008v.008H12v-.008Z" />
|
|
25
|
+
</svg>
|
|
26
|
+
<span class="font-medium"><%= alert %></span>
|
|
27
|
+
</div>
|
|
28
|
+
<button type="button" onclick="this.closest('div.rounded-xl').remove();" class="text-rose-500 hover:text-rose-800 cursor-pointer p-1">
|
|
29
|
+
<svg class="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor">
|
|
30
|
+
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" />
|
|
31
|
+
</svg>
|
|
32
|
+
</button>
|
|
33
|
+
</div>
|
|
34
|
+
<% end %>
|
data/config/routes.rb
CHANGED
data/lib/macron/cms/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: macron-cms
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 2.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Leonid Medovyy
|
|
@@ -23,6 +23,20 @@ dependencies:
|
|
|
23
23
|
- - ">="
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
25
|
version: 8.1.3.1
|
|
26
|
+
- !ruby/object:Gem::Dependency
|
|
27
|
+
name: turbo-rails
|
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
|
29
|
+
requirements:
|
|
30
|
+
- - ">="
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '2.0'
|
|
33
|
+
type: :runtime
|
|
34
|
+
prerelease: false
|
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - ">="
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: '2.0'
|
|
26
40
|
- !ruby/object:Gem::Dependency
|
|
27
41
|
name: friendly_id
|
|
28
42
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -65,6 +79,34 @@ dependencies:
|
|
|
65
79
|
- - ">="
|
|
66
80
|
- !ruby/object:Gem::Version
|
|
67
81
|
version: '3.0'
|
|
82
|
+
- !ruby/object:Gem::Dependency
|
|
83
|
+
name: kramdown
|
|
84
|
+
requirement: !ruby/object:Gem::Requirement
|
|
85
|
+
requirements:
|
|
86
|
+
- - "~>"
|
|
87
|
+
- !ruby/object:Gem::Version
|
|
88
|
+
version: '2.4'
|
|
89
|
+
type: :runtime
|
|
90
|
+
prerelease: false
|
|
91
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
92
|
+
requirements:
|
|
93
|
+
- - "~>"
|
|
94
|
+
- !ruby/object:Gem::Version
|
|
95
|
+
version: '2.4'
|
|
96
|
+
- !ruby/object:Gem::Dependency
|
|
97
|
+
name: kramdown-parser-gfm
|
|
98
|
+
requirement: !ruby/object:Gem::Requirement
|
|
99
|
+
requirements:
|
|
100
|
+
- - "~>"
|
|
101
|
+
- !ruby/object:Gem::Version
|
|
102
|
+
version: '1.1'
|
|
103
|
+
type: :runtime
|
|
104
|
+
prerelease: false
|
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
106
|
+
requirements:
|
|
107
|
+
- - "~>"
|
|
108
|
+
- !ruby/object:Gem::Version
|
|
109
|
+
version: '1.1'
|
|
68
110
|
- !ruby/object:Gem::Dependency
|
|
69
111
|
name: tailwindcss-ruby
|
|
70
112
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -91,7 +133,10 @@ files:
|
|
|
91
133
|
- MIT-LICENSE
|
|
92
134
|
- README.md
|
|
93
135
|
- Rakefile
|
|
136
|
+
- app/assets/javascripts/macron/cms/codemirror.js
|
|
137
|
+
- app/assets/javascripts/macron/cms/editor.js
|
|
94
138
|
- app/assets/stylesheets/macron/cms/application.css
|
|
139
|
+
- app/assets/stylesheets/macron/cms/codemirror.css
|
|
95
140
|
- app/assets/tailwind/macron/cms/application.css
|
|
96
141
|
- app/components/macron/cms/widget_component.rb
|
|
97
142
|
- app/controllers/macron/cms/application_controller.rb
|
|
@@ -110,6 +155,7 @@ files:
|
|
|
110
155
|
- app/models/macron/cms/article_content.rb
|
|
111
156
|
- app/models/macron/cms/content.rb
|
|
112
157
|
- app/views/layouts/macron/cms/application.html.erb
|
|
158
|
+
- app/views/macron/cms/articles/_content_blocks_section.html.erb
|
|
113
159
|
- app/views/macron/cms/articles/_form.html.erb
|
|
114
160
|
- app/views/macron/cms/articles/_table.html.erb
|
|
115
161
|
- app/views/macron/cms/articles/edit.html.erb
|
|
@@ -119,9 +165,15 @@ files:
|
|
|
119
165
|
- app/views/macron/cms/content_types/index.html.erb
|
|
120
166
|
- app/views/macron/cms/content_types/show.html.erb
|
|
121
167
|
- app/views/macron/cms/dashboard/index.html.erb
|
|
168
|
+
- app/views/macron/cms/fields/_color.html.erb
|
|
169
|
+
- app/views/macron/cms/fields/_dropdown.html.erb
|
|
170
|
+
- app/views/macron/cms/fields/_file.html.erb
|
|
171
|
+
- app/views/macron/cms/fields/_json.html.erb
|
|
172
|
+
- app/views/macron/cms/fields/_markdown.html.erb
|
|
122
173
|
- app/views/macron/cms/fields/_string.html.erb
|
|
123
174
|
- app/views/macron/cms/fields/_text.html.erb
|
|
124
175
|
- app/views/macron/cms/shared/_breadcrumbs.html.erb
|
|
176
|
+
- app/views/macron/cms/shared/_flash.html.erb
|
|
125
177
|
- config/routes.rb
|
|
126
178
|
- db/migrate/20261028000001_create_macron_cms_articles.rb
|
|
127
179
|
- db/migrate/20261028000002_add_name_and_slug_to_macron_cms_articles.rb
|
|
@@ -129,6 +181,8 @@ files:
|
|
|
129
181
|
- db/migrate/20261028000004_create_macron_cms_contents.rb
|
|
130
182
|
- db/migrate/20261028000005_create_macron_cms_article_contents.rb
|
|
131
183
|
- db/migrate/20261028000006_move_payload_to_macron_cms_article_contents.rb
|
|
184
|
+
- db/migrate/20261028000007_add_background_fields_to_macron_cms_articles.rb
|
|
185
|
+
- db/migrate/20261028000008_add_text_color_to_macron_cms_articles.rb
|
|
132
186
|
- db/seeds.rb
|
|
133
187
|
- lib/generators/macron/cms/content_type/content_type_generator.rb
|
|
134
188
|
- lib/macron/cms.rb
|