maglevcms 1.1.6 → 1.2.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/app/components/maglev/content/image.rb +2 -0
- data/app/controllers/concerns/maglev/fetchers_concern.rb +1 -0
- data/app/controllers/concerns/maglev/standalone_sections_concern.rb +6 -0
- data/app/controllers/maglev/sitemap_controller.rb +31 -0
- data/app/frontend/editor/assets/remixicons/ri-palette-line.svg +1 -0
- data/app/frontend/editor/components/dynamic-form/dynamic-input.vue +2 -1
- data/app/frontend/editor/components/header-nav/publish-button.vue +1 -1
- data/app/frontend/editor/components/kit/collection-item-input.vue +5 -2
- data/app/frontend/editor/components/kit/color-input/core-input.vue +85 -0
- data/app/frontend/editor/components/kit/color-input/preset-button.vue +57 -0
- data/app/frontend/editor/components/kit/color-input/preset-dropdown.vue +46 -0
- data/app/frontend/editor/components/kit/color-input.vue +43 -0
- data/app/frontend/editor/components/kit/dropdown.vue +1 -0
- data/app/frontend/editor/components/kit/index.js +2 -2
- data/app/frontend/editor/components/kit/submit-button.vue +3 -3
- data/app/frontend/editor/components/kit/tabs.vue +2 -1
- data/app/frontend/editor/components/kit/text-input.vue +2 -2
- data/app/frontend/editor/misc/utils.js +32 -2
- data/app/frontend/editor/services/api.js +2 -2
- data/app/frontend/editor/spec/__mocks__/page.js +36 -36
- data/app/frontend/editor/spec/__mocks__/section.js +29 -29
- data/app/helpers/maglev/editor_helper.rb +1 -1
- data/app/helpers/maglev/page_preview_helper.rb +5 -1
- data/app/helpers/maglev/sitemap_helper.rb +13 -0
- data/app/models/concerns/maglev/sections_concern.rb +10 -0
- data/app/models/maglev/page/path_concern.rb +8 -1
- data/app/models/maglev/section/setting.rb +5 -0
- data/app/models/maglev/site/locales_concern.rb +8 -0
- data/app/services/concerns/maglev/get_page_sections/transform_collection_item_concern.rb +8 -1
- data/app/services/maglev/app_container.rb +2 -0
- data/app/services/maglev/fetch_collection_items.rb +6 -2
- data/app/services/maglev/persist_page.rb +23 -4
- data/app/services/maglev/setup_pages.rb +41 -5
- data/app/views/maglev/api/pages/_show.json.jbuilder +1 -2
- data/app/views/maglev/sitemap/index.xml.builder +21 -0
- data/config/routes.rb +1 -0
- data/db/migrate/20210830085101_create_maglev_page_paths.rb +1 -1
- data/db/migrate/20210906102712_add_canonical_to_pages.rb +1 -1
- data/db/migrate/20211008064437_add_locales_to_sites.rb +1 -1
- data/db/migrate/20211013210954_translate_section_content.rb +1 -1
- data/db/migrate/20211101205001_add_lock_version_to_maglev_pages.rb +1 -1
- data/db/migrate/20211116161121_better_page_path_canonical_indices.rb +1 -1
- data/db/migrate/20211124101005_fix_page_path_indices.rb +1 -1
- data/db/migrate/20211203224112_add_open_graph_tags_to_pages.rb +1 -1
- data/db/migrate/20220612092235_add_style_to_sites.rb +1 -1
- data/lib/generators/maglev/install_generator.rb +3 -2
- data/lib/generators/maglev/section_generator.rb +2 -1
- data/lib/generators/maglev/templates/section/app/theme/sections/%category%/%file_name%.yml.tt +13 -9
- data/lib/maglev/engine.rb +8 -2
- data/lib/maglev/version.rb +1 -1
- data/package.json +3 -3
- data/yarn.lock +799 -565
- metadata +14 -7
- data/app/frontend/editor/components/kit/color-picker.vue +0 -81
- /data/app/frontend/editor/assets/remixicons/{check-line.svg → ri-check-line.svg} +0 -0
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.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Didier Lafforgue
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-07-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jbuilder
|
@@ -161,6 +161,7 @@ files:
|
|
161
161
|
- app/controllers/maglev/assets_controller.rb
|
162
162
|
- app/controllers/maglev/editor_controller.rb
|
163
163
|
- app/controllers/maglev/page_preview_controller.rb
|
164
|
+
- app/controllers/maglev/sitemap_controller.rb
|
164
165
|
- app/frontend/admin/controllers/dropdown_controller.js
|
165
166
|
- app/frontend/admin/controllers/iframe_controller.js
|
166
167
|
- app/frontend/admin/controllers/screenshot_controller.js
|
@@ -173,7 +174,6 @@ files:
|
|
173
174
|
- app/frontend/editor/assets/remixicons/arrow-drop-right.svg
|
174
175
|
- app/frontend/editor/assets/remixicons/arrow-up-s-line.svg
|
175
176
|
- app/frontend/editor/assets/remixicons/camera-line.svg
|
176
|
-
- app/frontend/editor/assets/remixicons/check-line.svg
|
177
177
|
- app/frontend/editor/assets/remixicons/close-line.svg
|
178
178
|
- app/frontend/editor/assets/remixicons/computer-line.svg
|
179
179
|
- app/frontend/editor/assets/remixicons/delete-bin-line.svg
|
@@ -199,6 +199,7 @@ files:
|
|
199
199
|
- app/frontend/editor/assets/remixicons/ri-alert-line.svg
|
200
200
|
- app/frontend/editor/assets/remixicons/ri-book-line.svg
|
201
201
|
- app/frontend/editor/assets/remixicons/ri-bug-line.svg
|
202
|
+
- app/frontend/editor/assets/remixicons/ri-check-line.svg
|
202
203
|
- app/frontend/editor/assets/remixicons/ri-close-circle-line.svg
|
203
204
|
- app/frontend/editor/assets/remixicons/ri-close-line.svg
|
204
205
|
- app/frontend/editor/assets/remixicons/ri-delete-column.svg
|
@@ -217,6 +218,7 @@ files:
|
|
217
218
|
- app/frontend/editor/assets/remixicons/ri-loader-4-line.svg
|
218
219
|
- app/frontend/editor/assets/remixicons/ri-mail-line.svg
|
219
220
|
- app/frontend/editor/assets/remixicons/ri-more-2-fill.svg
|
221
|
+
- app/frontend/editor/assets/remixicons/ri-palette-line.svg
|
220
222
|
- app/frontend/editor/assets/remixicons/ri-pencil-line.svg
|
221
223
|
- app/frontend/editor/assets/remixicons/ri-play-list-add-line.svg
|
222
224
|
- app/frontend/editor/assets/remixicons/ri-settings-5-line.svg
|
@@ -544,7 +546,10 @@ files:
|
|
544
546
|
- app/frontend/editor/components/kit/accordion.vue
|
545
547
|
- app/frontend/editor/components/kit/checkbox-input.vue
|
546
548
|
- app/frontend/editor/components/kit/collection-item-input.vue
|
547
|
-
- app/frontend/editor/components/kit/color-
|
549
|
+
- app/frontend/editor/components/kit/color-input.vue
|
550
|
+
- app/frontend/editor/components/kit/color-input/core-input.vue
|
551
|
+
- app/frontend/editor/components/kit/color-input/preset-button.vue
|
552
|
+
- app/frontend/editor/components/kit/color-input/preset-dropdown.vue
|
548
553
|
- app/frontend/editor/components/kit/confirmation-button.vue
|
549
554
|
- app/frontend/editor/components/kit/dropdown.vue
|
550
555
|
- app/frontend/editor/components/kit/icon-input.vue
|
@@ -699,6 +704,7 @@ files:
|
|
699
704
|
- app/helpers/maglev/application_helper.rb
|
700
705
|
- app/helpers/maglev/editor_helper.rb
|
701
706
|
- app/helpers/maglev/page_preview_helper.rb
|
707
|
+
- app/helpers/maglev/sitemap_helper.rb
|
702
708
|
- app/jobs/maglev/application_job.rb
|
703
709
|
- app/mailers/maglev/application_mailer.rb
|
704
710
|
- app/models/concerns/maglev/sections_concern.rb
|
@@ -771,6 +777,7 @@ files:
|
|
771
777
|
- app/views/maglev/editor/_header.html.erb
|
772
778
|
- app/views/maglev/editor/show.html.erb
|
773
779
|
- app/views/maglev/settings/index.html.erb
|
780
|
+
- app/views/maglev/sitemap/index.xml.builder
|
774
781
|
- bin/vite
|
775
782
|
- config/initializers/filter_parameters_logging.rb
|
776
783
|
- config/initializers/kaminari.rb
|
@@ -823,7 +830,7 @@ homepage: https://www.maglev.dev/
|
|
823
830
|
licenses:
|
824
831
|
- MIT
|
825
832
|
metadata: {}
|
826
|
-
post_install_message:
|
833
|
+
post_install_message:
|
827
834
|
rdoc_options: []
|
828
835
|
require_paths:
|
829
836
|
- lib
|
@@ -839,7 +846,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
839
846
|
version: '0'
|
840
847
|
requirements: []
|
841
848
|
rubygems_version: 3.2.32
|
842
|
-
signing_key:
|
849
|
+
signing_key:
|
843
850
|
specification_version: 4
|
844
851
|
summary: Page builder Ruby on Rails
|
845
852
|
test_files: []
|
@@ -1,81 +0,0 @@
|
|
1
|
-
<template>
|
2
|
-
<div>
|
3
|
-
<label class="block font-semibold text-gray-800" :for="name">
|
4
|
-
{{ label }}
|
5
|
-
</label>
|
6
|
-
<div class="flex flex-wrap gap-0.5 mt-2">
|
7
|
-
<div v-for="preset in presets" :key="preset">
|
8
|
-
<input
|
9
|
-
type="radio"
|
10
|
-
name="selectedColor"
|
11
|
-
:id="`${name}-${preset}`"
|
12
|
-
:value="preset"
|
13
|
-
class="hidden"
|
14
|
-
v-model="selectedColor"
|
15
|
-
/>
|
16
|
-
<label
|
17
|
-
:for="`${name}-${preset}`"
|
18
|
-
:title="preset"
|
19
|
-
class="inline-block w-10 h-10 cursor-pointer p-0.5 border-4 rounded-sm"
|
20
|
-
:style="{
|
21
|
-
'border-color':
|
22
|
-
preset === selectedColor ? selectedBorderColor : 'transparent',
|
23
|
-
}"
|
24
|
-
>
|
25
|
-
<span
|
26
|
-
class="block w-full h-full rounded-sm transition transform duration-200 ease-in-out hover:scale-110 select-none"
|
27
|
-
:class="{ 'border border-gray-300': isWhite(preset) }"
|
28
|
-
:style="{ 'background-color': realHexColor(preset) }"
|
29
|
-
>
|
30
|
-
</span>
|
31
|
-
</label>
|
32
|
-
</div>
|
33
|
-
</div>
|
34
|
-
</div>
|
35
|
-
</template>
|
36
|
-
|
37
|
-
<script>
|
38
|
-
import { hexToRgb } from '@/misc/utils'
|
39
|
-
|
40
|
-
export default {
|
41
|
-
name: 'ColorPicker',
|
42
|
-
props: {
|
43
|
-
label: { type: String, default: 'Label' },
|
44
|
-
name: { type: String, default: 'color' },
|
45
|
-
presets: {
|
46
|
-
type: Array,
|
47
|
-
default: () => [],
|
48
|
-
},
|
49
|
-
value: { type: String },
|
50
|
-
},
|
51
|
-
computed: {
|
52
|
-
selectedColor: {
|
53
|
-
get() {
|
54
|
-
return this.value
|
55
|
-
},
|
56
|
-
set(color) {
|
57
|
-
this.$emit('input', color)
|
58
|
-
},
|
59
|
-
},
|
60
|
-
selectedBorderColor() {
|
61
|
-
let color = hexToRgb(this.realHexColor(this.selectedColor))
|
62
|
-
if (this.isWhite()) color = { r: 0, g: 0, b: 0 }
|
63
|
-
return `rgba(${color.r}, ${color.g}, ${color.b}, 0.40)`
|
64
|
-
},
|
65
|
-
},
|
66
|
-
methods: {
|
67
|
-
realHexColor(hexColorOrStyle) {
|
68
|
-
return hexColorOrStyle.startsWith('--')
|
69
|
-
? getComputedStyle(document.body).getPropertyValue(hexColorOrStyle)
|
70
|
-
: hexColorOrStyle
|
71
|
-
},
|
72
|
-
isWhite(hexColorOrStyle) {
|
73
|
-
const value = hexToRgb(
|
74
|
-
this.realHexColor(hexColorOrStyle || this.selectedColor),
|
75
|
-
)
|
76
|
-
if (!value) return true
|
77
|
-
return value.r === 255 && value.g === 255 && value.b === 255
|
78
|
-
},
|
79
|
-
},
|
80
|
-
}
|
81
|
-
</script>
|
File without changes
|