domma-cms 0.91.0 → 0.92.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/package.json +1 -1
- package/plugins/feedback/CLAUDE.md +96 -0
- package/plugins/feedback/admin/css/index.css +80 -0
- package/plugins/feedback/admin/lib/kit.js +105 -0
- package/plugins/feedback/admin/templates/feedback.html +1 -0
- package/plugins/feedback/admin/views/feedback.js +63 -0
- package/plugins/feedback/admin/views/inbox.js +325 -0
- package/plugins/feedback/admin/views/send.js +223 -0
- package/plugins/feedback/collections/feedback-reports.json +24 -0
- package/plugins/feedback/config.js +15 -0
- package/plugins/feedback/lib/receiver.js +121 -0
- package/plugins/feedback/lib/sender.js +161 -0
- package/plugins/feedback/lib/shape.js +211 -0
- package/plugins/feedback/plugin.js +276 -0
- package/plugins/feedback/plugin.json +48 -0
- package/plugins/feedback/tests/api.test.js +219 -0
- package/plugins/feedback/tests/shape.test.js +87 -0
- package/plugins/free-tier.lock.json +22 -1
- package/server/routes/api/seo.js +3 -0
- package/server/services/seo/index.js +2 -0
- package/server/templates/page.html +4 -4
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"note": "Written by `make sync-free-tier` in dcms-marketplace. Do not edit these plugins here - edit them there and sync.",
|
|
3
|
-
"source": "dcms-marketplace@
|
|
3
|
+
"source": "dcms-marketplace@9434f03",
|
|
4
4
|
"plugins": {
|
|
5
5
|
"blog": {
|
|
6
6
|
"version": "1.9.0",
|
|
@@ -71,6 +71,27 @@
|
|
|
71
71
|
"tests/public.test.js": "a6fcdc4ede242aa050ffe5a52f970d6bec1f4a70ae78967eb8a7bdeec73df19d"
|
|
72
72
|
}
|
|
73
73
|
},
|
|
74
|
+
"feedback": {
|
|
75
|
+
"version": "1.0.0",
|
|
76
|
+
"files": {
|
|
77
|
+
"CLAUDE.md": "8cdfa2ccf028cb6b9e4a185dc81e5547927132bda9b6326725b99fc221bc6758",
|
|
78
|
+
"admin/css/index.css": "f2e934c8b94f883340148aba17945dfa725eeb2b0ddb6cabb8a8c17e2487c1de",
|
|
79
|
+
"admin/lib/kit.js": "3e153c8e1f14ab88c2ed847e65d3b3f597ef833603f2e4a50aa878f10f8c490e",
|
|
80
|
+
"admin/templates/feedback.html": "a366dce78f6c3e84a7cb0ac63eba53e1980a4eb44154496a0536f5214c5bb36f",
|
|
81
|
+
"admin/views/feedback.js": "11da66fd3aa18dabdc6a334ebd0eb55040ece95128a8f1cfbf08d89b1765cac1",
|
|
82
|
+
"admin/views/inbox.js": "649b86844230be73939d82aa7c97432252c0b119baa102ebf53808e1d5f23737",
|
|
83
|
+
"admin/views/send.js": "1a876a20cf34e1348a6ee7239432801dc9f26852a2e65d386c34b0f9674856b2",
|
|
84
|
+
"collections/feedback-reports.json": "a072291b52463f7785a77f5f77d36b8238ba8f89cfc2672c6642eccdb3144486",
|
|
85
|
+
"config.js": "29d9999d1028c2c11931f67fb9abdf35132430b7cf58c161681e734c0b45143a",
|
|
86
|
+
"lib/receiver.js": "39b2ebac0a705b4cf182913ec8d006dff4b522fb5aaf6023747b48137559ea6d",
|
|
87
|
+
"lib/sender.js": "efb00d06ec149843ffd746f68f3c1ba94333f2205942a786bb37fa91eb3e9806",
|
|
88
|
+
"lib/shape.js": "67acf62f812c2c9a01b52776641ed7ae1601c59ebab8ea278a07d1087a9f299b",
|
|
89
|
+
"plugin.js": "a2f4cccc7ec38cf3877db8390a880e45d1b0e46a61df8dc60ac1300285fe66ae",
|
|
90
|
+
"plugin.json": "4c92ad716deb845058db90cbc67c2e386e6d9f85d1c1d60481eb6b130dbc427e",
|
|
91
|
+
"tests/api.test.js": "6984a2a8c31b06b0ccb1092853567856fc79027345b26e8114dcce631a0949e9",
|
|
92
|
+
"tests/shape.test.js": "5133578142a79cc1a100b3215436372129f01fb0de8c757fd743ff99e1d7e37f"
|
|
93
|
+
}
|
|
94
|
+
},
|
|
74
95
|
"mail-reader": {
|
|
75
96
|
"version": "1.2.1",
|
|
76
97
|
"files": {
|
package/server/routes/api/seo.js
CHANGED
|
@@ -13,6 +13,7 @@ import {getConfig} from '../../config.js';
|
|
|
13
13
|
import {getPage, updatePage} from '../../services/content.js';
|
|
14
14
|
import {getSitemapSources} from '../../services/hooks.js';
|
|
15
15
|
import {seoEngine} from '../../services/seo/index.js';
|
|
16
|
+
import {invalidateTags} from '../../services/cache/index.js';
|
|
16
17
|
import {excluded} from '../../../admin/js/lib/seo-settings.js';
|
|
17
18
|
|
|
18
19
|
/**
|
|
@@ -107,6 +108,8 @@ export async function seoRoutes(fastify, opts = {}) {
|
|
|
107
108
|
await updatePage(urlPath, {seo: seoFields}, undefined, {author: request.user?.username || request.user?.email});
|
|
108
109
|
} else {
|
|
109
110
|
e.store.setOverride(urlPath, fields);
|
|
111
|
+
// Overrides are applied as a page is rendered - a cached copy would keep the old tags.
|
|
112
|
+
invalidateTags([`page:${urlPath}`]).catch(() => {});
|
|
110
113
|
}
|
|
111
114
|
e.sitemapChanged();
|
|
112
115
|
await e.reaudit(urlPath, {origin: e.originOf(request), focus: fields.focus}).catch(() => {});
|
|
@@ -286,6 +286,8 @@ async function seo(fastify, {enabled = true, getBaseUrl = null, rolesService = n
|
|
|
286
286
|
saveConfig('seo', settings);
|
|
287
287
|
cfg = settings;
|
|
288
288
|
sitemapChanged();
|
|
289
|
+
// The organisation, article and robots settings are in every page's tags - and pages are cached.
|
|
290
|
+
invalidateTags(['site']).catch(() => {});
|
|
289
291
|
schedule();
|
|
290
292
|
return {settings};
|
|
291
293
|
}
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
<link rel="stylesheet" href="/dist/domma/themes/domma-themes.css">
|
|
25
25
|
|
|
26
26
|
<!-- Site CSS -->
|
|
27
|
-
<link rel="stylesheet" href="/public/css/site.css?v=
|
|
27
|
+
<link rel="stylesheet" href="/public/css/site.css?v=20260927-box">
|
|
28
28
|
<link rel="stylesheet" href="/public/css/forms.css?v=20260926-end-panel">
|
|
29
29
|
<!-- Menu item hover / current-page effects. Loaded after site.css so a
|
|
30
30
|
menu's own highlight wins over the blanket link styling there. -->
|
|
@@ -137,17 +137,17 @@
|
|
|
137
137
|
|
|
138
138
|
<!-- Site initialisation -->
|
|
139
139
|
<script src="/public/js/site.js?v=20260926-field-limits" type="module"></script>
|
|
140
|
-
<script src="/public/js/collection-context.js?v=
|
|
140
|
+
<script src="/public/js/collection-context.js?v=20260927-ctx" type="module"></script>
|
|
141
141
|
{{ctxMenusModule}}
|
|
142
142
|
|
|
143
143
|
<!-- Floating menu panels: collapse to a hamburger, drag to move, resize.
|
|
144
144
|
Loaded here rather than from site.js so server-rendered overlays and
|
|
145
145
|
[menu] shortcodes are wired even on pages with no floating navbar. -->
|
|
146
|
-
<script src="/public/js/menu-float.js?v=
|
|
146
|
+
<script src="/public/js/menu-float.js?v=20260927-float" type="module"></script>
|
|
147
147
|
|
|
148
148
|
<!-- Interactive Collection Browser (used by [collection] shortcodes with
|
|
149
149
|
searchable / filterable / sortable / paginate attributes) -->
|
|
150
|
-
<script src="/public/js/collection-browser.js?v=
|
|
150
|
+
<script src="/public/js/collection-browser.js?v=20260927-browser"></script>
|
|
151
151
|
|
|
152
152
|
<!-- Core Forms (logic engine must load before renderer) -->
|
|
153
153
|
<script src="/public/js/form-logic-engine.js?v=20260926-limits"></script>
|