maglevcms 1.7.2 → 1.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.yarn/install-state.gz +0 -0
- data/Rakefile +2 -1
- data/app/components/maglev/base_component.rb +6 -0
- data/app/components/maglev/block_component.rb +10 -0
- data/app/components/maglev/content/base.rb +8 -0
- data/app/components/maglev/inspector.rb +18 -0
- data/app/components/maglev/page_component.rb +4 -0
- data/app/components/maglev/section_component.rb +4 -0
- data/app/controllers/maglev/api_controller.rb +2 -0
- data/app/frontend/editor/assets/remixicons/format-superscript.svg +1 -0
- data/app/frontend/editor/components/dynamic-form/dynamic-input.vue +1 -1
- data/app/frontend/editor/components/kit/rich-text-input/extensions/marks/Superscript.js +43 -0
- data/app/frontend/editor/components/kit/rich-text-input/format-buttons.vue +9 -1
- data/app/frontend/editor/components/kit/rich-text-input.vue +11 -5
- data/app/frontend/editor/plugins/maglev_dummy.js +2 -0
- data/app/frontend/editor/services/__tests__/section.spec.js +1 -0
- data/app/frontend/editor/services/section.js +1 -1
- data/app/frontend/editor/services/theme.js +1 -1
- data/app/frontend/editor/spec/__mocks__/services.js +1 -1
- data/app/frontend/editor/store/getters.js +2 -1
- data/app/frontend/editor/store/index.js +1 -1
- data/app/models/maglev/setting_types/link.rb +1 -1
- data/app/models/maglev/site/locales_concern.rb +1 -1
- data/app/services/maglev/get_page_sections.rb +19 -2
- data/config/routes.rb +1 -1
- data/lib/maglev/preview_constraint.rb +1 -1
- data/lib/maglev/version.rb +1 -1
- data/lib/tasks/maglev_tasks.rake +0 -5
- data/package.json +3 -3
- data/tailwind.config.js +1 -1
- data/yarn.lock +23 -12
- metadata +11 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b5f367edf49a70fcab89dd3906037a4d7e1b4711c50fd9a5b255f526f78262ec
|
4
|
+
data.tar.gz: e041ca5f4be377ba43ab62b8ac86835e6c2cb4079e77274a50966b231a41098d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 12e159b397754772159e3dfa9531d3cb147b7b73d2f0006452acce3f34aec256a9f66cbbcc5d054c2518dc6bcc476af5f382965835806255a4769426bfe4d1fe
|
7
|
+
data.tar.gz: 6837950bdf76d44df4a2ede9a4c417010714631a03b7cab000edb5ff5e8c194f913c82281915361c20680ed6bc84c1ab9799fb02efb6f137a5e734980cb8264d
|
data/.yarn/install-state.gz
CHANGED
Binary file
|
data/Rakefile
CHANGED
@@ -20,7 +20,8 @@ require 'vite_ruby'
|
|
20
20
|
ViteRuby.install_tasks
|
21
21
|
ViteRuby.config.root # Ensure the engine is set as the root.
|
22
22
|
|
23
|
-
|
23
|
+
rakefile_path = Rails::VERSION::MAJOR >= 8 ? 'spec/dummy/Rakefile' : 'spec/legacy_dummy/Rakefile'
|
24
|
+
APP_RAKEFILE = File.expand_path(rakefile_path, __dir__)
|
24
25
|
load 'rails/tasks/engine.rake'
|
25
26
|
load 'rails/tasks/statistics.rake'
|
26
27
|
|
@@ -2,6 +2,8 @@
|
|
2
2
|
|
3
3
|
module Maglev
|
4
4
|
class BaseComponent
|
5
|
+
include ::Maglev::Inspector
|
6
|
+
|
5
7
|
extend Forwardable
|
6
8
|
def_delegators :view_context, :render
|
7
9
|
|
@@ -50,5 +52,9 @@ module Maglev
|
|
50
52
|
rescue NoMethodError
|
51
53
|
raise "[Maglev] We're sorry but there is no '#{setting_id}' setting in your section/block."
|
52
54
|
end
|
55
|
+
|
56
|
+
def site_id
|
57
|
+
site.id
|
58
|
+
end
|
53
59
|
end
|
54
60
|
end
|
@@ -3,6 +3,8 @@
|
|
3
3
|
module Maglev
|
4
4
|
module Content
|
5
5
|
class Base
|
6
|
+
include ::Maglev::Inspector
|
7
|
+
|
6
8
|
extend Forwardable
|
7
9
|
def_delegators :scope, :site, :config
|
8
10
|
|
@@ -47,6 +49,12 @@ module Maglev
|
|
47
49
|
instance_exec(site, &config.asset_host)
|
48
50
|
end
|
49
51
|
end
|
52
|
+
|
53
|
+
private
|
54
|
+
|
55
|
+
def inspect_fields
|
56
|
+
%w[scope tag_id].map { |field| [field, send(field).inspect] }
|
57
|
+
end
|
50
58
|
end
|
51
59
|
end
|
52
60
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Maglev
|
4
|
+
module Inspector
|
5
|
+
def inspect
|
6
|
+
string = "#<#{self.class.name}:#{object_id} "
|
7
|
+
string << inspect_fields
|
8
|
+
.map { |(name, value)| "#{name}: #{value}" }
|
9
|
+
.join(', ') << '>'
|
10
|
+
end
|
11
|
+
|
12
|
+
private
|
13
|
+
|
14
|
+
def inspect_fields
|
15
|
+
[]
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -14,6 +14,8 @@ module Maglev
|
|
14
14
|
rescue_from ActiveRecord::RecordInvalid, with: :record_errors
|
15
15
|
rescue_from ActiveRecord::RecordNotFound, with: :not_found
|
16
16
|
rescue_from ActiveRecord::StaleObjectError, with: :stale_record
|
17
|
+
rescue_from Maglev::Errors::UnknownSection, with: :exception_message
|
18
|
+
rescue_from Maglev::Errors::UnknownSetting, with: :exception_message
|
17
19
|
rescue_from Maglev::Errors::NotAuthorized, with: :unauthorized
|
18
20
|
|
19
21
|
helper_method :maglev_site, :maglev_theme
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M5.59567 5L10.5 10.9283L15.4043 5H18L11.7978 12.4971L18 19.9943V20H15.4091L10.5 14.0659L5.59092 20H3V19.9943L9.20216 12.4971L3 5H5.59567ZM21.5507 6.5803C21.7042 6.43453 21.8 6.22845 21.8 6C21.8 5.55817 21.4418 5.2 21 5.2C20.5582 5.2 20.2 5.55817 20.2 6C20.2 6.07624 20.2107 6.14999 20.2306 6.21983L19.0765 6.54958C19.0267 6.37497 19 6.1906 19 6C19 4.89543 19.8954 4 21 4C22.1046 4 23 4.89543 23 6C23 6.57273 22.7593 7.08923 22.3735 7.45384L20.7441 9H23V10H19V9L21.5507 6.5803V6.5803Z"></path></svg>
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import { Mark } from 'tiptap'
|
2
|
+
import { toggleMark, markInputRule, markPasteRule } from 'tiptap-commands'
|
3
|
+
|
4
|
+
export default class Superscript extends Mark {
|
5
|
+
|
6
|
+
get name() {
|
7
|
+
return 'sup'
|
8
|
+
}
|
9
|
+
|
10
|
+
get schema() {
|
11
|
+
return {
|
12
|
+
parseDOM: [
|
13
|
+
{
|
14
|
+
tag: 'sup',
|
15
|
+
},
|
16
|
+
],
|
17
|
+
toDOM: () => ['sup', 0],
|
18
|
+
}
|
19
|
+
}
|
20
|
+
|
21
|
+
keys({ type }) {
|
22
|
+
return {
|
23
|
+
'Mod-^': toggleMark(type),
|
24
|
+
}
|
25
|
+
}
|
26
|
+
|
27
|
+
commands({ type }) {
|
28
|
+
return () => toggleMark(type)
|
29
|
+
}
|
30
|
+
|
31
|
+
// NOTE: "^^" are used as delimiters to trigger the superscript formatting
|
32
|
+
inputRules({ type }) {
|
33
|
+
return [
|
34
|
+
markInputRule(/(?:\^\^|__)([^\^*_]+)(?:\^\^|__)$/, type),
|
35
|
+
]
|
36
|
+
}
|
37
|
+
|
38
|
+
pasteRules({ type }) {
|
39
|
+
return [
|
40
|
+
markPasteRule(/(?:\^\^|__)([^\^*_]+)(?:\^\^|__)/g, type),
|
41
|
+
]
|
42
|
+
}
|
43
|
+
}
|
@@ -22,6 +22,13 @@
|
|
22
22
|
:isActive="isActive.strike()"
|
23
23
|
@click="commands.strike"
|
24
24
|
/>
|
25
|
+
<editor-menu-button
|
26
|
+
iconName="format-superscript"
|
27
|
+
class="rounded-r-sm"
|
28
|
+
:isActive="isActive.sup()"
|
29
|
+
@click="commands.sup"
|
30
|
+
v-if="extraExtensions.superscript"
|
31
|
+
/>
|
25
32
|
</div>
|
26
33
|
</template>
|
27
34
|
|
@@ -34,6 +41,7 @@ export default {
|
|
34
41
|
props: {
|
35
42
|
commands: { type: Object, required: true },
|
36
43
|
isActive: { type: Object, required: true },
|
37
|
-
|
44
|
+
extraExtensions: { type: Object, default: () => ({ table: false, superscript: false }) },
|
45
|
+
}
|
38
46
|
}
|
39
47
|
</script>
|
@@ -9,7 +9,7 @@
|
|
9
9
|
</div>
|
10
10
|
<div class="mt-1">
|
11
11
|
<editor-menu-bar :editor="editor" v-slot="{ commands, isActive }">
|
12
|
-
<div class="flex sticky top-0 z-10 pb-2 bg-white space-x-1">
|
12
|
+
<div class="flex sticky top-0 z-10 pb-2 bg-white space-x-1 overflow-x-auto">
|
13
13
|
<editor-block-button
|
14
14
|
:commands="commands"
|
15
15
|
:isActive="isActive"
|
@@ -17,7 +17,11 @@
|
|
17
17
|
v-if="!lineBreak"
|
18
18
|
/>
|
19
19
|
|
20
|
-
<editor-format-buttons
|
20
|
+
<editor-format-buttons
|
21
|
+
:commands="commands"
|
22
|
+
:isActive="isActive"
|
23
|
+
:extraExtensions="extraExtensions"
|
24
|
+
/>
|
21
25
|
|
22
26
|
<editor-list-buttons
|
23
27
|
:commands="commands"
|
@@ -35,7 +39,7 @@
|
|
35
39
|
:commands="commands"
|
36
40
|
:isActive="isActive"
|
37
41
|
class="relative"
|
38
|
-
v-if="!lineBreak && table"
|
42
|
+
v-if="!lineBreak && extraExtensions.table"
|
39
43
|
/>
|
40
44
|
</div>
|
41
45
|
</editor-menu-bar>
|
@@ -69,11 +73,12 @@ import {
|
|
69
73
|
Table,
|
70
74
|
TableHeader,
|
71
75
|
TableCell,
|
72
|
-
TableRow
|
76
|
+
TableRow
|
73
77
|
} from 'tiptap-extensions'
|
74
78
|
import Doc from './rich-text-input/extensions/Doc'
|
75
79
|
import LineBreak from './rich-text-input/extensions/LineBreak'
|
76
80
|
import Link from './rich-text-input/extensions/marks/Link'
|
81
|
+
import Superscript from './rich-text-input/extensions/marks/Superscript'
|
77
82
|
import EditorBlockButton from './rich-text-input/block-button.vue'
|
78
83
|
import EditorFormatButtons from './rich-text-input/format-buttons.vue'
|
79
84
|
import EditorListButtons from './rich-text-input/list-buttons.vue'
|
@@ -98,7 +103,7 @@ export default {
|
|
98
103
|
value: { type: String },
|
99
104
|
lineBreak: { type: Boolean, default: false },
|
100
105
|
rows: { type: Number, default: 2 },
|
101
|
-
|
106
|
+
extraExtensions: { type: Object, default: () => ({ table: false, superscript: false }) },
|
102
107
|
},
|
103
108
|
data() {
|
104
109
|
return { editor: null }
|
@@ -151,6 +156,7 @@ export default {
|
|
151
156
|
new Underline(),
|
152
157
|
new Strike(),
|
153
158
|
new Link({ openOnClick: false, target: null }),
|
159
|
+
new Superscript(),
|
154
160
|
new History(),
|
155
161
|
]
|
156
162
|
},
|
@@ -33,6 +33,7 @@ export default (services) => ({
|
|
33
33
|
sections,
|
34
34
|
blocks: sectionBlocks,
|
35
35
|
})
|
36
|
+
|
36
37
|
const siteSections = pageContent.sections.filter(
|
37
38
|
(sectionContent) => getSectiondefinition(sectionContent).siteScoped,
|
38
39
|
)
|
@@ -58,7 +59,7 @@ export default (services) => ({
|
|
58
59
|
({ theme }) =>
|
59
60
|
(sectionContent) => {
|
60
61
|
return theme.sections.find(
|
61
|
-
(definition) => definition['id'] === sectionContent['type']
|
62
|
+
(definition) => definition['id'] === sectionContent['type']
|
62
63
|
)
|
63
64
|
},
|
64
65
|
sectionSettings:
|
@@ -19,8 +19,8 @@ const store = new Vuex.Store({
|
|
19
19
|
|
20
20
|
store.dispatch('fetchEditorSettings')
|
21
21
|
store.dispatch('fetchSite', true)
|
22
|
-
store.dispatch('setPage', window.page)
|
23
22
|
store.dispatch('setTheme', window.theme)
|
23
|
+
store.dispatch('setPage', window.page)
|
24
24
|
store.dispatch('setLocale', window.locale)
|
25
25
|
|
26
26
|
if (store.state.editorSettings.sitePublishable)
|
@@ -6,7 +6,7 @@ class Maglev::SettingTypes::Link < Maglev::SettingTypes::Base
|
|
6
6
|
if value.is_a?(String)
|
7
7
|
{ text: 'Link', link_type: 'url', href: value }
|
8
8
|
else
|
9
|
-
{ text: 'Link', link_type: 'url', href: '#' }.merge(value)
|
9
|
+
{ text: 'Link', link_type: 'url', href: '#' }.merge(value.symbolize_keys)
|
10
10
|
end
|
11
11
|
end
|
12
12
|
end
|
@@ -6,7 +6,7 @@ module Maglev::Site::LocalesConcern
|
|
6
6
|
|
7
7
|
included do
|
8
8
|
## serializers ##
|
9
|
-
if Rails::VERSION::MAJOR >= 7 && Rails::VERSION::MINOR.positive?
|
9
|
+
if Rails::VERSION::MAJOR >= 8 || (Rails::VERSION::MAJOR >= 7 && Rails::VERSION::MINOR.positive?)
|
10
10
|
serialize :locales, coder: LocalesSerializer
|
11
11
|
else
|
12
12
|
serialize :locales, LocalesSerializer
|
@@ -23,7 +23,7 @@ module Maglev
|
|
23
23
|
def call
|
24
24
|
(page_sections || page.sections || []).map do |section|
|
25
25
|
transform_section(section.dup)
|
26
|
-
end
|
26
|
+
end.compact
|
27
27
|
end
|
28
28
|
|
29
29
|
protected
|
@@ -39,7 +39,7 @@ module Maglev
|
|
39
39
|
def transform_section(section)
|
40
40
|
definition = theme.sections.find(section['type'])
|
41
41
|
|
42
|
-
|
42
|
+
raise_unknown_section_error(section['type']) unless definition
|
43
43
|
|
44
44
|
transform_if_site_scoped(section, definition)
|
45
45
|
transform_section_blocks(section['blocks'], definition)
|
@@ -76,8 +76,11 @@ module Maglev
|
|
76
76
|
end
|
77
77
|
|
78
78
|
def transform_section_settings(section, definition)
|
79
|
+
remove_unused_settings(section, definition)
|
80
|
+
|
79
81
|
definition.settings.each do |setting|
|
80
82
|
section_setting = find_section_setting(section, setting.id)
|
83
|
+
|
81
84
|
next unless section_setting
|
82
85
|
|
83
86
|
transform_content_setting(section_setting, setting)
|
@@ -95,9 +98,23 @@ module Maglev
|
|
95
98
|
end
|
96
99
|
end
|
97
100
|
|
101
|
+
def remove_unused_settings(section, definition)
|
102
|
+
section['settings'].select! do |setting|
|
103
|
+
definition.settings.any? do |definition_setting|
|
104
|
+
definition_setting.id == setting['id']
|
105
|
+
end
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
98
109
|
def find_section_setting(section, setting_id)
|
99
110
|
# NOTE: works for both sections and blocks
|
100
111
|
section['settings'].find { |setting| setting['id'] == setting_id }
|
101
112
|
end
|
113
|
+
|
114
|
+
def raise_unknown_section_error(type)
|
115
|
+
raise ::Maglev::Errors::UnknownSection, "Unknown Maglev section type (#{type})" unless Rails.env.production?
|
116
|
+
|
117
|
+
Rails.logger.warn "[#{theme.id}] unknown Maglev section type (#{type})"
|
118
|
+
end
|
102
119
|
end
|
103
120
|
end
|
data/config/routes.rb
CHANGED
@@ -33,7 +33,7 @@ Maglev::Engine.routes.draw do
|
|
33
33
|
# Admin
|
34
34
|
namespace :admin do
|
35
35
|
root to: 'dashboard#index'
|
36
|
-
resource :theme, only: %i[
|
36
|
+
resource :theme, only: %i[show]
|
37
37
|
namespace :sections, path: 'sections/:id' do
|
38
38
|
get :preview, to: 'previews#show'
|
39
39
|
get :preview_in_frame, to: 'previews#iframe_show'
|
data/lib/maglev/version.rb
CHANGED
data/lib/tasks/maglev_tasks.rake
CHANGED
@@ -125,11 +125,6 @@ unless ENV['VITE_RUBY_SKIP_ASSETS_PRECOMPILE_EXTENSION'] == 'true'
|
|
125
125
|
Rake::Task.define_task("assets:precompile": ['maglev:vite:install_dependencies', 'maglev:vite:build_all'])
|
126
126
|
end
|
127
127
|
|
128
|
-
Rake::Task.define_task('assets:clean', %i[keep age]) unless Rake::Task.task_defined?('assets:clean')
|
129
|
-
Rake::Task['assets:clean'].enhance do |_, args|
|
130
|
-
Rake::Task['maglev:vite:clean'].invoke(*args.to_h.values)
|
131
|
-
end
|
132
|
-
|
133
128
|
if Rake::Task.task_defined?('assets:clobber')
|
134
129
|
Rake::Task['assets:clobber'].enhance do
|
135
130
|
Rake::Task['maglev:vite:clobber'].invoke
|
data/package.json
CHANGED
@@ -37,8 +37,8 @@
|
|
37
37
|
"prettier": "^3.1.0",
|
38
38
|
"sass": "^1.69.5",
|
39
39
|
"tailwindcss": "^3.4.1",
|
40
|
-
"vite": "^5.
|
41
|
-
"vite-plugin-ruby": "^5.
|
40
|
+
"vite": "^5.4.5",
|
41
|
+
"vite-plugin-ruby": "^5.1.0",
|
42
42
|
"vite-plugin-vue2-svg": "^0.4.0",
|
43
43
|
"vitest": "^0.34.6",
|
44
44
|
"vue-template-compiler": "^2.7.16"
|
@@ -52,7 +52,7 @@
|
|
52
52
|
"minimist": "^1.2.6",
|
53
53
|
"eventsource": "^1.1.1",
|
54
54
|
"async": "^2.6.4",
|
55
|
-
"vite": "^5.
|
55
|
+
"vite": "^5.4.5"
|
56
56
|
},
|
57
57
|
"packageManager": "yarn@4.4.0"
|
58
58
|
}
|
data/tailwind.config.js
CHANGED
data/yarn.lock
CHANGED
@@ -2570,8 +2570,8 @@ __metadata:
|
|
2570
2570
|
tiptap-extensions: "npm:^1.34.0"
|
2571
2571
|
turbolinks: "npm:^5.2.0"
|
2572
2572
|
v-tooltip: "npm:^2.1.3"
|
2573
|
-
vite: "npm:^5.
|
2574
|
-
vite-plugin-ruby: "npm:^5.
|
2573
|
+
vite: "npm:^5.4.5"
|
2574
|
+
vite-plugin-ruby: "npm:^5.1.0"
|
2575
2575
|
vite-plugin-vue2-svg: "npm:^0.4.0"
|
2576
2576
|
vitest: "npm:^0.34.6"
|
2577
2577
|
vue: "npm:^2.7.15"
|
@@ -3235,7 +3235,7 @@ __metadata:
|
|
3235
3235
|
languageName: node
|
3236
3236
|
linkType: hard
|
3237
3237
|
|
3238
|
-
"postcss@npm:^8.4.14, postcss@npm:^8.4.23, postcss@npm:^8.4.40
|
3238
|
+
"postcss@npm:^8.4.14, postcss@npm:^8.4.23, postcss@npm:^8.4.40":
|
3239
3239
|
version: 8.4.41
|
3240
3240
|
resolution: "postcss@npm:8.4.41"
|
3241
3241
|
dependencies:
|
@@ -3246,6 +3246,17 @@ __metadata:
|
|
3246
3246
|
languageName: node
|
3247
3247
|
linkType: hard
|
3248
3248
|
|
3249
|
+
"postcss@npm:^8.4.43":
|
3250
|
+
version: 8.4.45
|
3251
|
+
resolution: "postcss@npm:8.4.45"
|
3252
|
+
dependencies:
|
3253
|
+
nanoid: "npm:^3.3.7"
|
3254
|
+
picocolors: "npm:^1.0.1"
|
3255
|
+
source-map-js: "npm:^1.2.0"
|
3256
|
+
checksum: 10c0/ad6f8b9b1157d678560373696109745ab97a947d449f8a997acac41c7f1e4c0f3ca4b092d6df1387f430f2c9a319987b1780dbdc27e35800a88cde9b606c1e8f
|
3257
|
+
languageName: node
|
3258
|
+
linkType: hard
|
3259
|
+
|
3249
3260
|
"prelude-ls@npm:^1.2.1":
|
3250
3261
|
version: 1.2.1
|
3251
3262
|
resolution: "prelude-ls@npm:1.2.1"
|
@@ -4320,15 +4331,15 @@ __metadata:
|
|
4320
4331
|
languageName: node
|
4321
4332
|
linkType: hard
|
4322
4333
|
|
4323
|
-
"vite-plugin-ruby@npm:^5.
|
4324
|
-
version: 5.
|
4325
|
-
resolution: "vite-plugin-ruby@npm:5.
|
4334
|
+
"vite-plugin-ruby@npm:^5.1.0":
|
4335
|
+
version: 5.1.0
|
4336
|
+
resolution: "vite-plugin-ruby@npm:5.1.0"
|
4326
4337
|
dependencies:
|
4327
4338
|
debug: "npm:^4.3.4"
|
4328
4339
|
fast-glob: "npm:^3.3.2"
|
4329
4340
|
peerDependencies:
|
4330
4341
|
vite: ">=5.0.0"
|
4331
|
-
checksum: 10c0/
|
4342
|
+
checksum: 10c0/4c4b3193ee506a5054adbf9c08d38519b04522f88603f80c7822d2073b53bf1e3f3a3ec9459b76cb613b4eafce0991baa781fdeb297ea4acb68a7c1e2eeea0de
|
4332
4343
|
languageName: node
|
4333
4344
|
linkType: hard
|
4334
4345
|
|
@@ -4344,13 +4355,13 @@ __metadata:
|
|
4344
4355
|
languageName: node
|
4345
4356
|
linkType: hard
|
4346
4357
|
|
4347
|
-
"vite@npm:^5.
|
4348
|
-
version: 5.4.
|
4349
|
-
resolution: "vite@npm:5.4.
|
4358
|
+
"vite@npm:^5.4.5":
|
4359
|
+
version: 5.4.5
|
4360
|
+
resolution: "vite@npm:5.4.5"
|
4350
4361
|
dependencies:
|
4351
4362
|
esbuild: "npm:^0.21.3"
|
4352
4363
|
fsevents: "npm:~2.3.3"
|
4353
|
-
postcss: "npm:^8.4.
|
4364
|
+
postcss: "npm:^8.4.43"
|
4354
4365
|
rollup: "npm:^4.20.0"
|
4355
4366
|
peerDependencies:
|
4356
4367
|
"@types/node": ^18.0.0 || >=20.0.0
|
@@ -4383,7 +4394,7 @@ __metadata:
|
|
4383
4394
|
optional: true
|
4384
4395
|
bin:
|
4385
4396
|
vite: bin/vite.js
|
4386
|
-
checksum: 10c0/
|
4397
|
+
checksum: 10c0/89c6459452fc238cdf8e99681b30996af171c9c557af476f96408a18a639fb5a0a6ee2d2257e005b21dc284edceb604595c34920cd4a007ad18f7ebafb654c76
|
4387
4398
|
languageName: node
|
4388
4399
|
linkType: hard
|
4389
4400
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: maglevcms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Didier Lafforgue
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-12-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jbuilder
|
@@ -58,7 +58,7 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "<"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '9'
|
62
62
|
- - ">="
|
63
63
|
- !ruby/object:Gem::Version
|
64
64
|
version: '6'
|
@@ -68,7 +68,7 @@ dependencies:
|
|
68
68
|
requirements:
|
69
69
|
- - "<"
|
70
70
|
- !ruby/object:Gem::Version
|
71
|
-
version: '
|
71
|
+
version: '9'
|
72
72
|
- - ">="
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: '6'
|
@@ -112,14 +112,14 @@ dependencies:
|
|
112
112
|
requirements:
|
113
113
|
- - "~>"
|
114
114
|
- !ruby/object:Gem::Version
|
115
|
-
version: 1.5.
|
115
|
+
version: 1.5.9
|
116
116
|
type: :development
|
117
117
|
prerelease: false
|
118
118
|
version_requirements: !ruby/object:Gem::Requirement
|
119
119
|
requirements:
|
120
120
|
- - "~>"
|
121
121
|
- !ruby/object:Gem::Version
|
122
|
-
version: 1.5.
|
122
|
+
version: 1.5.9
|
123
123
|
description: " MaglevCMS integrates a powerful website/page builder with a polished
|
124
124
|
UX/UI into your Ruby on Rails application, backed by a flexible and robust CMS engine.\n"
|
125
125
|
email:
|
@@ -150,6 +150,7 @@ files:
|
|
150
150
|
- app/components/maglev/content/select.rb
|
151
151
|
- app/components/maglev/content/text.rb
|
152
152
|
- app/components/maglev/content/void.rb
|
153
|
+
- app/components/maglev/inspector.rb
|
153
154
|
- app/components/maglev/page_component.rb
|
154
155
|
- app/components/maglev/section_component.rb
|
155
156
|
- app/components/maglev/tag_helper.rb
|
@@ -208,6 +209,7 @@ files:
|
|
208
209
|
- app/frontend/editor/assets/remixicons/format-list-unordered.svg
|
209
210
|
- app/frontend/editor/assets/remixicons/format-paragraph.svg
|
210
211
|
- app/frontend/editor/assets/remixicons/format-strikethrough.svg
|
212
|
+
- app/frontend/editor/assets/remixicons/format-superscript.svg
|
211
213
|
- app/frontend/editor/assets/remixicons/format-underline.svg
|
212
214
|
- app/frontend/editor/assets/remixicons/home-4-line.svg
|
213
215
|
- app/frontend/editor/assets/remixicons/image-line.svg
|
@@ -290,6 +292,7 @@ files:
|
|
290
292
|
- app/frontend/editor/components/kit/rich-text-input/extensions/Doc.js
|
291
293
|
- app/frontend/editor/components/kit/rich-text-input/extensions/LineBreak.js
|
292
294
|
- app/frontend/editor/components/kit/rich-text-input/extensions/marks/Link.js
|
295
|
+
- app/frontend/editor/components/kit/rich-text-input/extensions/marks/Superscript.js
|
293
296
|
- app/frontend/editor/components/kit/rich-text-input/format-buttons.vue
|
294
297
|
- app/frontend/editor/components/kit/rich-text-input/link-buttons.vue
|
295
298
|
- app/frontend/editor/components/kit/rich-text-input/list-buttons.vue
|
@@ -362,6 +365,7 @@ files:
|
|
362
365
|
- app/frontend/editor/plugins/filters.js
|
363
366
|
- app/frontend/editor/plugins/i18n.js
|
364
367
|
- app/frontend/editor/plugins/index.js
|
368
|
+
- app/frontend/editor/plugins/maglev_dummy.js
|
365
369
|
- app/frontend/editor/plugins/tooltip.js
|
366
370
|
- app/frontend/editor/router/index.js
|
367
371
|
- app/frontend/editor/router/routes/base.js
|
@@ -576,7 +580,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
576
580
|
requirements:
|
577
581
|
- - ">="
|
578
582
|
- !ruby/object:Gem::Version
|
579
|
-
version: '
|
583
|
+
version: '3.0'
|
580
584
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
581
585
|
requirements:
|
582
586
|
- - ">="
|