domma-cms 0.1.0 → 0.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.
- package/admin/css/admin.css +78 -1
- package/admin/js/api.js +32 -0
- package/admin/js/app.js +24 -7
- package/admin/js/config/sidebar-config.js +8 -0
- package/admin/js/templates/collection-editor.html +80 -0
- package/admin/js/templates/collection-entries.html +36 -0
- package/admin/js/templates/collections.html +12 -0
- package/admin/js/templates/documentation.html +136 -0
- package/admin/js/templates/navigation.html +26 -4
- package/admin/js/templates/page-editor.html +91 -85
- package/admin/js/templates/settings.html +433 -172
- package/admin/js/views/collection-editor.js +487 -0
- package/admin/js/views/collection-entries.js +484 -0
- package/admin/js/views/collections.js +153 -0
- package/admin/js/views/dashboard.js +14 -6
- package/admin/js/views/index.js +9 -3
- package/admin/js/views/login.js +3 -2
- package/admin/js/views/navigation.js +77 -11
- package/admin/js/views/page-editor.js +207 -25
- package/admin/js/views/pages.js +14 -6
- package/admin/js/views/settings.js +137 -2
- package/admin/js/views/users.js +10 -7
- package/bin/cli.js +37 -10
- package/config/auth.json +2 -1
- package/config/content.json +1 -0
- package/config/navigation.json +14 -4
- package/config/plugins.json +0 -18
- package/config/presets.json +4 -8
- package/config/site.json +44 -3
- package/package.json +6 -2
- package/plugins/domma-effects/admin/templates/domma-effects.html +92 -3
- package/plugins/domma-effects/plugin.js +125 -0
- package/plugins/domma-effects/public/inject-body.html +19 -0
- package/plugins/example-analytics/admin/views/analytics.js +2 -2
- package/plugins/example-analytics/plugin.json +8 -0
- package/plugins/example-analytics/stats.json +15 -1
- package/plugins/form-builder/admin/templates/form-editor.html +19 -6
- package/plugins/form-builder/admin/views/form-editor.js +634 -9
- package/plugins/form-builder/admin/views/form-submissions.js +4 -4
- package/plugins/form-builder/admin/views/forms-list.js +5 -5
- package/plugins/form-builder/data/forms/consent.json +104 -0
- package/plugins/form-builder/data/forms/contacts.json +66 -0
- package/plugins/form-builder/data/submissions/consent.json +13 -0
- package/plugins/form-builder/data/submissions/contacts.json +26 -0
- package/plugins/form-builder/plugin.js +62 -11
- package/plugins/form-builder/plugin.json +12 -16
- package/plugins/form-builder/public/form-logic-engine.js +568 -0
- package/plugins/form-builder/public/inject-body.html +88 -6
- package/plugins/form-builder/public/inject-head.html +16 -0
- package/plugins/form-builder/public/package.json +1 -0
- package/public/css/site.css +113 -0
- package/public/js/btt.js +90 -0
- package/public/js/cookie-consent.js +61 -0
- package/public/js/site.js +129 -34
- package/scripts/build.js +129 -0
- package/scripts/seed.js +517 -7
- package/server/routes/api/collections.js +301 -0
- package/server/routes/api/settings.js +66 -2
- package/server/server.js +19 -15
- package/server/services/collections.js +430 -0
- package/server/services/content.js +11 -2
- package/server/services/hooks.js +109 -0
- package/server/services/markdown.js +500 -149
- package/server/services/plugins.js +6 -1
- package/server/services/renderer.js +73 -7
- package/server/templates/page.html +38 -3
- package/plugins/back-to-top/admin/templates/back-to-top-settings.html +0 -55
- package/plugins/back-to-top/admin/views/back-to-top-settings.js +0 -44
- package/plugins/back-to-top/config.js +0 -10
- package/plugins/back-to-top/plugin.js +0 -24
- package/plugins/back-to-top/plugin.json +0 -36
- package/plugins/back-to-top/public/inject-body.html +0 -105
- package/plugins/cookie-consent/admin/templates/cookie-consent-settings.html +0 -113
- package/plugins/cookie-consent/admin/views/cookie-consent-settings.js +0 -73
- package/plugins/cookie-consent/config.js +0 -30
- package/plugins/cookie-consent/plugin.js +0 -24
- package/plugins/cookie-consent/plugin.json +0 -36
- package/plugins/cookie-consent/public/inject-body.html +0 -69
- package/plugins/custom-css/admin/templates/custom-css.html +0 -17
- package/plugins/custom-css/admin/views/custom-css.js +0 -35
- package/plugins/custom-css/config.js +0 -1
- package/plugins/custom-css/data/custom.css +0 -0
- package/plugins/custom-css/plugin.js +0 -63
- package/plugins/custom-css/plugin.json +0 -32
- package/plugins/custom-css/public/inject-head.html +0 -1
- package/plugins/form-builder/data/forms/contact.json +0 -52
- package/plugins/form-builder/data/submissions/contact.json +0 -14
|
@@ -6,53 +6,71 @@
|
|
|
6
6
|
</div>
|
|
7
7
|
</div>
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
<div class="
|
|
11
|
-
<
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
9
|
+
<div class="tabs" id="editor-meta-tabs">
|
|
10
|
+
<div class="tab-list">
|
|
11
|
+
<button class="tab-item active">Edit</button>
|
|
12
|
+
<button class="tab-item">Page Details</button>
|
|
13
|
+
<button class="tab-item">SEO</button>
|
|
14
|
+
<button class="tab-item">DConfig</button>
|
|
15
|
+
</div>
|
|
16
|
+
<div class="tab-content">
|
|
17
|
+
|
|
18
|
+
<!-- Edit -->
|
|
19
|
+
<div class="tab-panel active">
|
|
20
|
+
<div class="card editor-card">
|
|
21
|
+
<div class="card-body p-0">
|
|
22
|
+
<div class="editor-toolbar" id="editor-toolbar"></div>
|
|
23
|
+
<div class="editor-body" id="editor-body">
|
|
24
|
+
<div class="editor-pane editor-pane--write">
|
|
25
|
+
<textarea id="markdown-editor" class="editor-textarea"
|
|
26
|
+
placeholder="Write your page content in Markdown..."></textarea>
|
|
27
|
+
</div>
|
|
28
|
+
<div class="editor-divider"></div>
|
|
29
|
+
<div class="editor-pane editor-pane--preview">
|
|
30
|
+
<div id="markdown-preview" class="editor-preview"></div>
|
|
17
31
|
</div>
|
|
32
|
+
</div>
|
|
18
33
|
</div>
|
|
34
|
+
</div>
|
|
19
35
|
</div>
|
|
20
|
-
</div>
|
|
21
36
|
|
|
22
|
-
<!--
|
|
23
|
-
<div class="
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
<div class="col-6">
|
|
31
|
-
<label class="form-label">Title *</label>
|
|
32
|
-
<input id="field-title" type="text" class="form-input" placeholder="Page title">
|
|
33
|
-
</div>
|
|
34
|
-
<div class="col-3">
|
|
35
|
-
<label class="form-label">Layout</label>
|
|
36
|
-
<select id="field-layout" class="form-select"></select>
|
|
37
|
-
</div>
|
|
38
|
-
<div class="col-3">
|
|
39
|
-
<label class="form-label">Status</label>
|
|
40
|
-
<select id="field-status" class="form-select">
|
|
41
|
-
<option value="draft">Draft</option>
|
|
42
|
-
<option value="published">Published</option>
|
|
43
|
-
</select>
|
|
44
|
-
</div>
|
|
37
|
+
<!-- Page Details -->
|
|
38
|
+
<div class="tab-panel">
|
|
39
|
+
<div class="row mb-3">
|
|
40
|
+
<div class="col">
|
|
41
|
+
<label class="form-label">URL Path</label>
|
|
42
|
+
<input id="page-url-path" type="text" class="form-input" placeholder="/about or /services/web-dev">
|
|
43
|
+
<small class="form-hint">The URL where this page will live. Changing this will update any navigation links
|
|
44
|
+
pointing to the old URL.</small>
|
|
45
45
|
</div>
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
46
|
+
</div>
|
|
47
|
+
<div class="row mb-3">
|
|
48
|
+
<div class="col-6">
|
|
49
|
+
<label class="form-label">Title *</label>
|
|
50
|
+
<input id="field-title" type="text" class="form-input" placeholder="Page title">
|
|
51
|
+
</div>
|
|
52
|
+
<div class="col-3">
|
|
53
|
+
<label class="form-label">Layout</label>
|
|
54
|
+
<select id="field-layout" class="form-select"></select>
|
|
55
|
+
</div>
|
|
56
|
+
<div class="col-3">
|
|
57
|
+
<label class="form-label">Status</label>
|
|
58
|
+
<select id="field-status" class="form-select">
|
|
59
|
+
<option value="draft">Draft</option>
|
|
60
|
+
<option value="published">Published</option>
|
|
61
|
+
</select>
|
|
62
|
+
</div>
|
|
63
|
+
</div>
|
|
64
|
+
<div class="row mb-3">
|
|
65
|
+
<div class="col-8">
|
|
66
|
+
<label class="form-label">Description</label>
|
|
67
|
+
<input id="field-description" type="text" class="form-input" placeholder="Short description">
|
|
68
|
+
</div>
|
|
69
|
+
<div class="col-4">
|
|
70
|
+
<label class="form-label">Sort Order</label>
|
|
71
|
+
<input id="field-sort-order" type="number" class="form-input" value="99" min="0">
|
|
55
72
|
</div>
|
|
73
|
+
</div>
|
|
56
74
|
<div class="row mb-3">
|
|
57
75
|
<div class="col-6">
|
|
58
76
|
<label class="form-label">Category</label>
|
|
@@ -69,58 +87,46 @@
|
|
|
69
87
|
</select>
|
|
70
88
|
</div>
|
|
71
89
|
</div>
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
</div>
|
|
78
|
-
<div class="col-auto">
|
|
79
|
-
<label class="form-check-label">
|
|
80
|
-
<input id="field-sidebar" type="checkbox" class="form-check"> Show Sidebar
|
|
81
|
-
</label>
|
|
82
|
-
</div>
|
|
83
|
-
</div>
|
|
84
|
-
</div>
|
|
85
|
-
</div>
|
|
86
|
-
|
|
87
|
-
<!-- SEO fields -->
|
|
88
|
-
<div class="card card-collapsible mb-3">
|
|
89
|
-
<div class="card-header" role="button" tabindex="0">
|
|
90
|
-
<div class="card-header-content"><h2>SEO</h2></div>
|
|
91
|
-
<span class="card-collapse-icon" data-icon="chevron-down"></span>
|
|
92
|
-
</div>
|
|
93
|
-
<div class="card-body">
|
|
94
|
-
<div class="row mb-3">
|
|
95
|
-
<div class="col">
|
|
96
|
-
<label class="form-label">SEO Title</label>
|
|
97
|
-
<input id="field-seo-title" type="text" class="form-input" placeholder="Overrides default title">
|
|
98
|
-
</div>
|
|
90
|
+
<div class="row">
|
|
91
|
+
<div class="col-auto">
|
|
92
|
+
<label class="form-check-label">
|
|
93
|
+
<input id="field-show-in-nav" type="checkbox" class="form-check"> Show in Navigation
|
|
94
|
+
</label>
|
|
99
95
|
</div>
|
|
100
|
-
<div class="
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
</div>
|
|
96
|
+
<div class="col-auto">
|
|
97
|
+
<label class="form-check-label">
|
|
98
|
+
<input id="field-sidebar" type="checkbox" class="form-check"> Show Sidebar
|
|
99
|
+
</label>
|
|
105
100
|
</div>
|
|
101
|
+
</div>
|
|
106
102
|
</div>
|
|
107
|
-
</div>
|
|
108
103
|
|
|
109
|
-
<!--
|
|
110
|
-
<div class="
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
<textarea id="markdown-editor" class="editor-textarea"
|
|
116
|
-
placeholder="Write your page content in Markdown..."></textarea>
|
|
104
|
+
<!-- SEO -->
|
|
105
|
+
<div class="tab-panel">
|
|
106
|
+
<div class="row mb-3">
|
|
107
|
+
<div class="col">
|
|
108
|
+
<label class="form-label">SEO Title</label>
|
|
109
|
+
<input id="field-seo-title" type="text" class="form-input" placeholder="Overrides default title">
|
|
117
110
|
</div>
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
111
|
+
</div>
|
|
112
|
+
<div class="row">
|
|
113
|
+
<div class="col">
|
|
114
|
+
<label class="form-label">SEO Description</label>
|
|
115
|
+
<input id="field-seo-desc" type="text" class="form-input" placeholder="Overrides default description">
|
|
121
116
|
</div>
|
|
122
117
|
</div>
|
|
123
118
|
</div>
|
|
119
|
+
|
|
120
|
+
<!-- DConfig -->
|
|
121
|
+
<div class="tab-panel">
|
|
122
|
+
<label class="form-label">Config JSON</label>
|
|
123
|
+
<textarea id="field-dconfig" class="form-input dconfig-textarea"
|
|
124
|
+
placeholder='{ "#my-btn": { "events": { "click": { "target": "#panel", "toggleClass": "hidden" } } } }'></textarea>
|
|
125
|
+
<small class="form-hint">Declarative click handlers and class toggles applied on page load. Merged with any <code>[dconfig]</code>
|
|
126
|
+
shortcodes in the content body — inline shortcodes win on selector conflict. Leave blank if unused.</small>
|
|
127
|
+
</div>
|
|
128
|
+
|
|
129
|
+
</div>
|
|
124
130
|
</div>
|
|
125
131
|
|
|
126
132
|
<div id="media-picker-modal"></div>
|