domma-cms 0.55.1 → 0.69.3
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/CLAUDE.md +194 -3
- package/README.md +18 -14
- package/admin/css/admin.css +1 -1
- package/admin/css/contacts.css +1 -0
- package/admin/dist/domma/domma-tools.css +3 -3
- package/admin/dist/domma/domma-tools.min.js +3 -3
- package/admin/index.html +1 -0
- package/admin/js/api.js +1 -1
- package/admin/js/app.js +4 -4
- package/admin/js/lib/analytics-shape.js +1 -0
- package/admin/js/lib/contacts-arrange.js +1 -0
- package/admin/js/lib/help-popover.js +1 -0
- package/admin/js/lib/notes-arrange.js +1 -0
- package/admin/js/lib/page-picker.js +1 -0
- package/admin/js/lib/plugin-accent.js +1 -0
- package/admin/js/lib/plugin-chrome.js +1 -0
- package/admin/js/lib/shortcode-context-menu.js +2 -2
- package/admin/js/lib/sidebar-grouping.js +1 -1
- package/admin/js/lib/sidebar-grouping.test.js +1 -1
- package/admin/js/lib/sidebar-renderer.js +4 -4
- package/admin/js/lib/slideover-resizable.js +1 -0
- package/admin/js/lib/todo-arrange.js +1 -0
- package/admin/js/lib/tool-kit.js +1 -0
- package/admin/js/templates/analytics.html +138 -0
- package/admin/js/templates/contacts.html +156 -0
- package/admin/js/templates/context-menu-editor.html +212 -0
- package/admin/js/templates/context-menus.html +16 -0
- package/admin/js/templates/notes.html +137 -0
- package/admin/js/templates/plugin-code.html +1 -1
- package/admin/js/templates/plugin-marketplace.html +17 -4
- package/admin/js/templates/plugins.html +13 -7
- package/{plugins/site-search/admin/templates/site-search.html → admin/js/templates/search.html} +50 -4
- package/admin/js/templates/settings.html +16 -97
- package/admin/js/templates/theme.html +211 -0
- package/admin/js/templates/todo.html +113 -0
- package/admin/js/views/analytics.js +62 -0
- package/admin/js/views/contacts.js +174 -0
- package/admin/js/views/context-menu-editor.js +55 -0
- package/admin/js/views/context-menus.js +5 -0
- package/admin/js/views/form-editor.js +7 -7
- package/admin/js/views/index.js +1 -1
- package/admin/js/views/notes.js +104 -0
- package/admin/js/views/plugin-marketplace.js +1 -1
- package/admin/js/views/plugins.js +28 -24
- package/admin/js/views/search.js +1 -0
- package/admin/js/views/settings.js +3 -3
- package/admin/js/views/theme.js +1 -0
- package/admin/js/views/todo.js +96 -0
- package/bin/cli.js +6 -10
- package/bin/lib/plugin-version.js +28 -0
- package/bin/update.js +27 -2
- package/config/menus/admin-sidebar.json +129 -23
- package/config/plugins.json +5 -5
- package/config/search.json +13 -0
- package/config/server.json +3 -1
- package/package.json +14 -10
- package/plugins/_lib/admin/mail/compose-window.js +914 -0
- package/plugins/_lib/admin/mail/contacts.js +301 -0
- package/plugins/_lib/admin/mail/diagnostics-section.js +133 -0
- package/plugins/_lib/admin/mail/folder-tree.js +254 -0
- package/plugins/_lib/admin/mail/identity.js +480 -0
- package/plugins/_lib/admin/mail/image-senders-section.js +131 -0
- package/plugins/_lib/admin/mail/keyboard.js +136 -0
- package/plugins/_lib/admin/mail/mail.css +1 -0
- package/plugins/_lib/admin/mail/mail.html +71 -0
- package/plugins/_lib/admin/mail/panes.js +253 -0
- package/plugins/_lib/admin/mail/reader-view.js +4473 -0
- package/plugins/_lib/admin/mail/resizable.js +26 -0
- package/plugins/_lib/admin/mail/rules.js +343 -0
- package/plugins/_lib/admin/mail/scheduling.js +203 -0
- package/plugins/_lib/admin/mail/section-kit.js +277 -0
- package/plugins/_lib/admin/mail/templates.js +238 -0
- package/plugins/_lib/admin/mail/threads.js +200 -0
- package/plugins/_lib/admin/mail/vacation.js +269 -0
- package/plugins/_lib/admin/ui/help.css +1 -0
- package/plugins/_lib/admin/ui/help.js +174 -0
- package/plugins/_lib/admin/ui/resizable.js +151 -0
- package/plugins/_lib/dataStore.js +117 -0
- package/plugins/_lib/mail/accounts.js +919 -0
- package/plugins/_lib/mail/bodyTokens.js +101 -0
- package/plugins/_lib/mail/compose.js +256 -0
- package/plugins/_lib/mail/defaults.js +57 -0
- package/plugins/_lib/mail/diagnostics.js +154 -0
- package/plugins/_lib/mail/envelope.js +161 -0
- package/plugins/_lib/mail/folders.js +192 -0
- package/plugins/_lib/mail/handoff.js +274 -0
- package/plugins/_lib/mail/imapPool.js +293 -0
- package/plugins/_lib/mail/mbox.js +74 -0
- package/plugins/_lib/mail/pollSchedule.js +79 -0
- package/plugins/_lib/mail/poller.js +135 -0
- package/plugins/_lib/mail/priority.js +138 -0
- package/plugins/_lib/mail/readRoutes.js +680 -0
- package/plugins/_lib/mail/render.js +291 -0
- package/plugins/_lib/mail/ruleRunner.js +152 -0
- package/plugins/_lib/mail/scheduler.js +254 -0
- package/plugins/_lib/mail/secretbox.js +229 -0
- package/plugins/_lib/mail/send.js +396 -0
- package/plugins/_lib/mail/store.js +1022 -0
- package/plugins/_lib/mail/sync.js +292 -0
- package/plugins/_lib/mail/syncPlan.js +126 -0
- package/plugins/_lib/mail/syncSelection.js +82 -0
- package/plugins/_lib/mail/unsubscribe.js +183 -0
- package/plugins/_lib/mail/vacationRunner.js +114 -0
- package/plugins/_lib/mail/write.js +473 -0
- package/plugins/_lib/schemaSync.js +83 -0
- package/plugins/_template/admin/css/index.css +0 -0
- package/plugins/_template/admin/templates/index.html +4 -4
- package/plugins/_template/admin/views/index.js +7 -0
- package/plugins/blog/CLAUDE.md +237 -0
- package/plugins/blog/admin/css/index.css +178 -0
- package/plugins/blog/admin/templates/blog.html +35 -41
- package/plugins/blog/admin/templates/categories.html +19 -6
- package/plugins/blog/admin/templates/comments.html +26 -9
- package/plugins/blog/admin/templates/post-editor.html +63 -40
- package/plugins/blog/admin/templates/settings.html +3 -9
- package/plugins/blog/admin/views/blog.js +288 -159
- package/plugins/blog/admin/views/categories.js +212 -206
- package/plugins/blog/admin/views/comments.js +207 -158
- package/plugins/blog/admin/views/kit.js +372 -0
- package/plugins/blog/admin/views/post-editor.js +306 -39
- package/plugins/blog/admin/views/settings-cog.js +56 -0
- package/plugins/blog/admin/views/settings.js +16 -84
- package/plugins/blog/blocks/blog-card-compact.css +17 -0
- package/plugins/blog/blocks/blog-card-compact.html +8 -0
- package/plugins/blog/blocks/blog-card-row.css +22 -0
- package/plugins/blog/blocks/blog-card-row.html +11 -0
- package/plugins/blog/blocks/blog-card.css +35 -0
- package/plugins/blog/blocks/blog-card.html +16 -0
- package/plugins/blog/blocks/blog-post-classic.css +15 -0
- package/plugins/blog/blocks/blog-post-classic.html +28 -0
- package/plugins/blog/blocks/blog-post-feature.css +20 -0
- package/plugins/blog/blocks/blog-post-feature.html +30 -0
- package/plugins/blog/blocks/blog-post-minimal.css +10 -0
- package/plugins/blog/blocks/blog-post-minimal.html +23 -0
- package/plugins/blog/blocks/blog-post-sidebar.css +22 -0
- package/plugins/blog/blocks/blog-post-sidebar.html +36 -0
- package/plugins/blog/collections/categories/schema.json +7 -6
- package/plugins/blog/collections/comments/schema.json +11 -10
- package/plugins/blog/collections/posts/schema.json +16 -13
- package/plugins/blog/config.js +6 -0
- package/plugins/blog/lib/layouts.js +304 -0
- package/plugins/blog/lib/page.js +158 -0
- package/plugins/blog/lib/render.js +119 -0
- package/plugins/blog/lib/samples.js +234 -0
- package/plugins/blog/plugin.js +259 -26
- package/plugins/blog/plugin.json +21 -73
- package/plugins/blog/plugin.public.js +217 -0
- package/plugins/blog/public/blog.css +177 -0
- package/plugins/blog/public/blog.js +586 -0
- package/plugins/blog/public/samples/aurora.svg +7 -0
- package/plugins/blog/public/samples/dusk.svg +7 -0
- package/plugins/blog/public/samples/ember.svg +7 -0
- package/plugins/blog/public/samples/harbour.svg +7 -0
- package/plugins/blog/public/samples/meadow.svg +7 -0
- package/plugins/blog/public/samples/rosewood.svg +7 -0
- package/plugins/blog/templates/index.html +9 -8
- package/plugins/blog/templates/post.html +4 -17
- package/plugins/blog/tests/layouts.test.js +97 -0
- package/plugins/blog/tests/public.test.js +71 -0
- package/plugins/free-tier.lock.json +74 -0
- package/plugins/mail-reader/CLAUDE.md +78 -0
- package/plugins/mail-reader/admin/views/mail.js +19 -0
- package/plugins/mail-reader/config.js +7 -0
- package/plugins/mail-reader/plugin.js +48 -0
- package/plugins/mail-reader/plugin.json +34 -0
- package/public/css/forms.css +1 -1
- package/public/css/search.css +1 -0
- package/public/css/site.css +1 -1
- package/public/css/theme-switcher.css +1 -0
- package/public/js/analytics.js +1 -0
- package/public/js/collection-context.js +2 -2
- package/public/js/context-menus.js +1 -0
- package/public/js/form-logic-engine.js +1 -1
- package/public/js/forms.js +2 -2
- package/public/js/search.js +1 -0
- package/public/js/site.js +1 -1
- package/public/js/theme-switcher.js +1 -0
- package/scripts/build.js +77 -4
- package/scripts/copy-domma.js +48 -0
- package/scripts/run-tests.mjs +92 -0
- package/scripts/seed.js +1996 -0
- package/{plugins/analytics/plugin.js → server/routes/api/analytics.js} +89 -41
- package/server/routes/api/collections.js +34 -0
- package/server/routes/api/contacts.js +506 -0
- package/server/routes/api/context-menus.js +104 -0
- package/server/routes/api/dashboard.js +8 -2
- package/server/routes/api/forms.js +42 -3
- package/{plugins/notes/plugin.js → server/routes/api/notes.js} +61 -17
- package/server/routes/api/notifications.js +69 -19
- package/server/routes/api/plugin-marketplace.js +78 -23
- package/server/routes/api/plugins.js +198 -9
- package/server/routes/api/search.js +43 -0
- package/server/routes/api/theme.js +69 -0
- package/server/routes/api/todo.js +178 -0
- package/server/routes/public.js +42 -7
- package/server/server.js +135 -1
- package/server/services/adapters/FileAdapter.js +6 -1
- package/server/services/collections.js +13 -3
- package/server/services/content.js +26 -0
- package/server/services/contextMenus.js +477 -0
- package/server/services/managerClient.js +72 -136
- package/server/services/markdown.js +124 -10
- package/server/services/permissionRegistry.js +74 -0
- package/server/services/pluginEntitlement.js +171 -0
- package/server/services/pluginEnvelope.js +242 -0
- package/server/services/pluginFiles.js +52 -11
- package/server/services/pluginInstaller.js +246 -26
- package/server/services/pluginScaffold.js +5 -0
- package/server/services/plugins.js +340 -7
- package/server/services/presetCollections.js +344 -0
- package/server/services/promoted-plugins-migration.js +254 -0
- package/server/services/publicCors.js +46 -0
- package/server/services/renderer.js +224 -22
- package/server/services/roles.js +1 -1
- package/server/services/search-migration.js +82 -0
- package/server/services/search.js +413 -0
- package/server/services/sidebar-migration.js +1 -0
- package/server/services/sidebarBadges.js +37 -0
- package/server/services/siteGitignore.js +307 -0
- package/server/services/themeSettings.js +580 -0
- package/server/services/users.js +8 -0
- package/server/templates/page.html +4 -2
- package/plugins/analytics/admin/templates/analytics.html +0 -61
- package/plugins/analytics/admin/views/analytics.js +0 -176
- package/plugins/analytics/config.js +0 -14
- package/plugins/analytics/plugin.json +0 -57
- package/plugins/analytics/public/inject-body.html +0 -60
- package/plugins/analytics/public/inject-head.html +0 -1
- package/plugins/blog/templates/author.html +0 -9
- package/plugins/blog/templates/category.html +0 -9
- package/plugins/blog/templates/tag.html +0 -9
- package/plugins/contacts/admin/templates/contacts.html +0 -126
- package/plugins/contacts/admin/views/contacts.js +0 -710
- package/plugins/contacts/collections/user-contact-groups/schema.json +0 -35
- package/plugins/contacts/collections/user-contacts/schema.json +0 -71
- package/plugins/contacts/config.js +0 -6
- package/plugins/contacts/data/contacts.json +0 -20
- package/plugins/contacts/plugin.js +0 -291
- package/plugins/contacts/plugin.json +0 -33
- package/plugins/demo-viewer/config.js +0 -4
- package/plugins/demo-viewer/plugin.js +0 -36
- package/plugins/demo-viewer/plugin.json +0 -9
- package/plugins/invoice/admin/templates/editor.html +0 -129
- package/plugins/invoice/admin/templates/index.html +0 -43
- package/plugins/invoice/admin/templates/issuers.html +0 -5
- package/plugins/invoice/admin/templates/receivers.html +0 -5
- package/plugins/invoice/admin/views/editor.js +0 -267
- package/plugins/invoice/admin/views/index.js +0 -155
- package/plugins/invoice/admin/views/issuers.js +0 -23
- package/plugins/invoice/admin/views/party-view.js +0 -148
- package/plugins/invoice/admin/views/receivers.js +0 -22
- package/plugins/invoice/collections/invoice-issuers/schema.json +0 -16
- package/plugins/invoice/collections/invoice-receivers/schema.json +0 -15
- package/plugins/invoice/collections/invoices/schema.json +0 -27
- package/plugins/invoice/config.js +0 -16
- package/plugins/invoice/plugin.js +0 -283
- package/plugins/invoice/plugin.json +0 -85
- package/plugins/invoice/templates/invoice-print.html +0 -213
- package/plugins/notes/admin/templates/notes.html +0 -83
- package/plugins/notes/admin/views/notes.js +0 -281
- package/plugins/notes/collections/user-notes/schema.json +0 -54
- package/plugins/notes/config.js +0 -6
- package/plugins/notes/data/notes.json +0 -1
- package/plugins/notes/plugin.json +0 -33
- package/plugins/site-search/admin/views/site-search.js +0 -116
- package/plugins/site-search/config.js +0 -15
- package/plugins/site-search/plugin.js +0 -188
- package/plugins/site-search/plugin.json +0 -40
- package/plugins/site-search/public/inject-body.html +0 -17
- package/plugins/site-search/public/inject-head.html +0 -1
- package/plugins/site-search/public/search.css +0 -1
- package/plugins/site-search/public/search.js +0 -1
- package/plugins/surveys/admin/templates/audience.html +0 -47
- package/plugins/surveys/admin/templates/results.html +0 -58
- package/plugins/surveys/admin/templates/survey-editor.html +0 -141
- package/plugins/surveys/admin/templates/surveys.html +0 -25
- package/plugins/surveys/admin/views/audience.js +0 -301
- package/plugins/surveys/admin/views/results.js +0 -172
- package/plugins/surveys/admin/views/survey-editor.js +0 -211
- package/plugins/surveys/admin/views/surveys.js +0 -161
- package/plugins/surveys/collections/survey-contacts/schema.json +0 -13
- package/plugins/surveys/collections/survey-groups/schema.json +0 -11
- package/plugins/surveys/collections/survey-invites/schema.json +0 -16
- package/plugins/surveys/collections/surveys/schema.json +0 -23
- package/plugins/surveys/config.js +0 -8
- package/plugins/surveys/plugin.js +0 -174
- package/plugins/surveys/plugin.json +0 -65
- package/plugins/surveys/public/dist-shared.mjs +0 -1
- package/plugins/surveys/public/survey.css +0 -1
- package/plugins/surveys/public/survey.mjs +0 -1
- package/plugins/surveys/templates/survey-page.html +0 -63
- package/plugins/theme-switcher/admin/templates/theme-switcher.html +0 -86
- package/plugins/theme-switcher/admin/views/theme-switcher.js +0 -65
- package/plugins/theme-switcher/config.js +0 -10
- package/plugins/theme-switcher/plugin.js +0 -26
- package/plugins/theme-switcher/plugin.json +0 -74
- package/plugins/theme-switcher/public/inject-body.html +0 -153
- package/plugins/theme-switcher/public/inject-head.html +0 -260
- package/plugins/todo/admin/templates/todo.html +0 -158
- package/plugins/todo/admin/views/todo.js +0 -343
- package/plugins/todo/collections/todos/schema.json +0 -60
- package/plugins/todo/config.js +0 -7
- package/plugins/todo/data/todos.json +0 -1
- package/plugins/todo/plugin.js +0 -102
- package/plugins/todo/plugin.json +0 -33
|
@@ -1,96 +1,119 @@
|
|
|
1
|
-
<div class="view-header
|
|
2
|
-
<
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
<div class="view-header blog-editor-bar">
|
|
2
|
+
<button type="button" id="btn-back" class="btn btn-sm btn-ghost" title="Back to Posts - asks first if there is anything unsaved">
|
|
3
|
+
<span data-icon="arrow-left" data-icon-size="14"></span> Posts
|
|
4
|
+
</button>
|
|
5
|
+
<span id="editor-title" class="blog-editor-title">New post</span>
|
|
6
|
+
<span id="save-state" class="blog-save-state" role="status" aria-live="polite"></span>
|
|
7
|
+
<div class="view-header-actions">
|
|
8
|
+
<span data-help-title="Saving and publishing"
|
|
9
|
+
data-help="Save (or Ctrl+S) stores your changes and keeps the post as it is - a draft stays a draft, a live post stays live and updates. Publish puts it on the site now; Schedule picks a date and time. Move to drafts takes a live or scheduled post off the site. You stay on this page throughout; Posts takes you back to the list."></span>
|
|
10
|
+
<button type="button" id="btn-drafts" class="btn btn-sm btn-ghost blog-hidden" title="Take this post off the site">Move to drafts</button>
|
|
11
|
+
<button type="button" id="btn-schedule" class="btn btn-secondary">Schedule</button>
|
|
12
|
+
<button type="button" id="btn-publish" class="btn btn-secondary">Publish</button>
|
|
13
|
+
<button type="button" id="btn-save" class="btn btn-primary" title="Save (Ctrl+S)">
|
|
14
|
+
<span data-icon="save" data-icon-size="14"></span> Save
|
|
15
|
+
</button>
|
|
7
16
|
</div>
|
|
8
17
|
</div>
|
|
9
18
|
|
|
10
|
-
<div class="
|
|
19
|
+
<div class="flex gap-4 blog-editor">
|
|
11
20
|
<!-- Main content area -->
|
|
12
|
-
<div
|
|
21
|
+
<div class="blog-editor-main">
|
|
13
22
|
<div class="card mb-3">
|
|
14
23
|
<div class="card-body">
|
|
15
24
|
<div class="mb-3">
|
|
16
|
-
<label class="form-label
|
|
17
|
-
<input type="text" id="post-title" class="form-
|
|
25
|
+
<label class="form-label font-bold" for="post-title">Title</label>
|
|
26
|
+
<input type="text" id="post-title" class="form-input form-input-lg" placeholder="Post title…">
|
|
18
27
|
</div>
|
|
19
28
|
<div class="mb-3">
|
|
20
|
-
<label class="form-label">Slug
|
|
21
|
-
<div class="
|
|
22
|
-
<input type="text" id="post-slug" class="form-
|
|
23
|
-
<label class="
|
|
24
|
-
<input type="checkbox" id="slug-auto"> Auto
|
|
29
|
+
<label class="form-label" for="post-slug">Slug <span data-help="The last part of the post's address, e.g. my-first-post. With Auto ticked it follows the title. Changing it on a published post breaks links to the old address."></span></label>
|
|
30
|
+
<div class="flex gap-2 items-center">
|
|
31
|
+
<input type="text" id="post-slug" class="form-input font-mono">
|
|
32
|
+
<label class="flex items-center gap-1 text-muted text-sm blog-nowrap" for="slug-auto">
|
|
33
|
+
<input type="checkbox" id="slug-auto" class="form-checkbox"> Auto
|
|
25
34
|
</label>
|
|
26
35
|
</div>
|
|
27
|
-
<div id="slug-warning" class="text-warning
|
|
36
|
+
<div id="slug-warning" class="text-warning text-sm mt-1 blog-hidden">
|
|
28
37
|
⚠ Changing slug breaks existing links
|
|
29
38
|
</div>
|
|
30
39
|
</div>
|
|
31
40
|
<div class="mb-3">
|
|
32
|
-
<label class="form-label">Excerpt
|
|
33
|
-
<textarea id="post-excerpt" class="form-
|
|
41
|
+
<label class="form-label" for="post-excerpt">Excerpt <span data-help="A sentence or two shown in post listings and used as the search-engine description when SEO Description is empty."></span></label>
|
|
42
|
+
<textarea id="post-excerpt" class="form-textarea" rows="2" placeholder="Short summary…"></textarea>
|
|
34
43
|
</div>
|
|
35
44
|
<div class="mb-3">
|
|
36
|
-
<label class="form-label">Content
|
|
37
|
-
<textarea id="post-content" class="form-
|
|
45
|
+
<label class="form-label" for="post-content">Content <span data-help="Markdown. Every shortcode the site supports works here too."></span></label>
|
|
46
|
+
<textarea id="post-content" class="form-textarea font-mono" rows="20" placeholder="Write in Markdown…"></textarea>
|
|
38
47
|
</div>
|
|
39
48
|
</div>
|
|
40
49
|
</div>
|
|
41
50
|
|
|
42
51
|
<!-- SEO accordion -->
|
|
43
52
|
<div class="card mb-3">
|
|
44
|
-
<div class="card-header" id="seo-toggle"
|
|
45
|
-
SEO <span class="text-muted
|
|
53
|
+
<div class="card-header blog-clickable" id="seo-toggle">
|
|
54
|
+
SEO <span class="text-muted text-sm">(click to expand)</span> <span data-help="Optional overrides for what search engines and link previews show. Leave empty to use the title and excerpt."></span>
|
|
46
55
|
</div>
|
|
47
|
-
<div class="card-body" id="seo-panel"
|
|
56
|
+
<div class="card-body blog-hidden" id="seo-panel">
|
|
48
57
|
<div class="mb-3">
|
|
49
|
-
<label class="form-label">SEO Title</label>
|
|
50
|
-
<input type="text" id="seo-title" class="form-
|
|
58
|
+
<label class="form-label" for="seo-title">SEO Title</label>
|
|
59
|
+
<input type="text" id="seo-title" class="form-input" placeholder="Overrides page title">
|
|
51
60
|
</div>
|
|
52
61
|
<div class="mb-3">
|
|
53
|
-
<label class="form-label">SEO Description</label>
|
|
54
|
-
<textarea id="seo-description" class="form-
|
|
62
|
+
<label class="form-label" for="seo-description">SEO Description</label>
|
|
63
|
+
<textarea id="seo-description" class="form-textarea" rows="2" placeholder="Overrides excerpt for meta description"></textarea>
|
|
55
64
|
</div>
|
|
56
65
|
</div>
|
|
57
66
|
</div>
|
|
58
67
|
</div>
|
|
59
68
|
|
|
60
69
|
<!-- Sidebar -->
|
|
61
|
-
<div
|
|
70
|
+
<div class="blog-editor-side">
|
|
62
71
|
<div class="card mb-3">
|
|
63
|
-
<div class="card-header">Status
|
|
72
|
+
<div class="card-header">Status <span data-help="Save Draft keeps the post private. Publish Now puts it live. Schedule publishes it at the date and time you choose."></span></div>
|
|
64
73
|
<div class="card-body">
|
|
65
|
-
<div id="schedule-picker"
|
|
66
|
-
<label class="form-label">Scheduled for</label>
|
|
67
|
-
<input type="datetime-local" id="post-scheduled-at" class="form-
|
|
74
|
+
<div id="schedule-picker" class="mb-3 blog-hidden">
|
|
75
|
+
<label class="form-label" for="post-scheduled-at">Scheduled for</label>
|
|
76
|
+
<input type="datetime-local" id="post-scheduled-at" class="form-input">
|
|
68
77
|
</div>
|
|
69
|
-
<span id="post-status-badge" class="badge
|
|
78
|
+
<span id="post-status-badge" class="badge badge-secondary">draft</span>
|
|
79
|
+
</div>
|
|
80
|
+
</div>
|
|
81
|
+
|
|
82
|
+
<div class="card mb-3" id="layout-card">
|
|
83
|
+
<div class="card-header blog-card-head">Layout
|
|
84
|
+
<span data-help-title="Post layout"
|
|
85
|
+
data-help="How this post looks on the site. Site default follows Blog settings, so changing the default there moves every post that has not chosen. Each layout is a block you can restyle under Blocks."></span>
|
|
86
|
+
<button type="button" class="btn btn-xs btn-ghost blog-preview-btn" id="btn-preview" title="See the post as readers will, before saving">
|
|
87
|
+
<span data-icon="eye" data-icon-size="13"></span> Preview
|
|
88
|
+
</button>
|
|
89
|
+
</div>
|
|
90
|
+
<div class="card-body">
|
|
91
|
+
<div class="blog-layouts" role="radiogroup" aria-label="Layout" data-each="layoutChoices.value key=id"></div>
|
|
92
|
+
<p class="blog-layout-desc" data-bind-text="layoutDesc.value"></p>
|
|
70
93
|
</div>
|
|
71
94
|
</div>
|
|
72
95
|
|
|
73
96
|
<div class="card mb-3">
|
|
74
|
-
<div class="card-header">Categories
|
|
97
|
+
<div class="card-header">Categories <span data-help="Manage the list under Blog > Categories. A post can be in several."></span></div>
|
|
75
98
|
<div class="card-body" id="categories-checklist">
|
|
76
|
-
<p class="text-muted
|
|
99
|
+
<p class="text-muted text-sm">Loading…</p>
|
|
77
100
|
</div>
|
|
78
101
|
</div>
|
|
79
102
|
|
|
80
103
|
<div class="card mb-3">
|
|
81
|
-
<div class="card-header">Tags
|
|
104
|
+
<div class="card-header">Tags <span data-help="Free-form labels, comma-separated. Each tag gets its own page on the site."></span></div>
|
|
82
105
|
<div class="card-body">
|
|
83
|
-
<input type="text" id="post-tags" class="form-
|
|
84
|
-
<div class="text-muted
|
|
106
|
+
<input type="text" id="post-tags" class="form-input" placeholder="tag1, tag2, …">
|
|
107
|
+
<div class="text-muted text-sm mt-1">Comma-separated</div>
|
|
85
108
|
</div>
|
|
86
109
|
</div>
|
|
87
110
|
|
|
88
111
|
<div class="card mb-3">
|
|
89
|
-
<div class="card-header">Featured Image
|
|
112
|
+
<div class="card-header">Featured Image <span data-help="Shown at the top of the post and in listings. Pick one from the Media library."></span></div>
|
|
90
113
|
<div class="card-body">
|
|
91
114
|
<div id="featured-image-preview" class="mb-2"></div>
|
|
92
115
|
<button id="btn-pick-image" class="btn btn-sm btn-secondary">Pick Image</button>
|
|
93
|
-
<button id="btn-clear-image" class="btn btn-sm btn-outline-
|
|
116
|
+
<button id="btn-clear-image" class="btn btn-sm btn-outline blog-hidden">Clear</button>
|
|
94
117
|
</div>
|
|
95
118
|
</div>
|
|
96
119
|
</div>
|
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
<div class="alert alert-warning mb-4">
|
|
6
|
-
Base path and posts-per-page changes require a server restart to take effect.
|
|
7
|
-
</div>
|
|
8
|
-
|
|
9
|
-
<div class="card" style="max-width:600px;">
|
|
1
|
+
<!-- No heading: the banner above is the title. The same panel opens from the
|
|
2
|
+
banner's cog on every Blog screen; this page is for links that land here. -->
|
|
3
|
+
<div class="card blog-settings-card">
|
|
10
4
|
<div class="card-body" id="settings-form"></div>
|
|
11
5
|
</div>
|