@geekity/cms 0.34.0 → 0.36.1
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/components/job-status.njk +15 -10
- package/admin/components/upload.njk +26 -0
- package/admin/pages/documents/chooser.njk +30 -0
- package/admin/pages/documents/editor.njk +410 -165
- package/admin/pages/federation/followers.njk +2 -1
- package/admin/pages/media/file.njk +143 -0
- package/admin/pages/media/library.njk +107 -198
- package/admin/pages/settings/general.njk +52 -2
- package/admin/pages/settings/privacy.njk +1 -1
- package/admin/pages/tools/export.njk +54 -51
- package/admin/pages/tools/maintenance.njk +49 -0
- package/admin/pages/users/edit.njk +3 -0
- package/admin/src/admin.css +2 -0
- package/admin/static/admin.css +843 -106
- package/admin/static/copy.js +30 -23
- package/admin/static/item-lookup.js +179 -0
- package/admin/static/job-status.js +158 -0
- package/admin/static/media.js +82 -0
- package/admin/static/upload-drop.js +225 -0
- package/dist/admin/documents.d.ts.map +1 -1
- package/dist/admin/documents.js +141 -24
- package/dist/admin/documents.js.map +1 -1
- package/dist/admin/editor-actions.d.ts.map +1 -1
- package/dist/admin/editor-actions.js +2 -3
- package/dist/admin/editor-actions.js.map +1 -1
- package/dist/admin/editor-fields.d.ts +20 -8
- package/dist/admin/editor-fields.d.ts.map +1 -1
- package/dist/admin/editor-fields.js +35 -12
- package/dist/admin/editor-fields.js.map +1 -1
- package/dist/admin/editor-kinds.d.ts +30 -0
- package/dist/admin/editor-kinds.d.ts.map +1 -0
- package/dist/admin/editor-kinds.js +136 -0
- package/dist/admin/editor-kinds.js.map +1 -0
- package/dist/admin/editor-layout.d.ts +10 -1
- package/dist/admin/editor-layout.d.ts.map +1 -1
- package/dist/admin/editor-layout.js +38 -31
- package/dist/admin/editor-layout.js.map +1 -1
- package/dist/admin/federation.d.ts +1 -1
- package/dist/admin/federation.d.ts.map +1 -1
- package/dist/admin/federation.js +2 -1
- package/dist/admin/federation.js.map +1 -1
- package/dist/admin/formatting.d.ts +2 -0
- package/dist/admin/formatting.d.ts.map +1 -1
- package/dist/admin/formatting.js +8 -0
- package/dist/admin/formatting.js.map +1 -1
- package/dist/admin/index.d.ts +1 -1
- package/dist/admin/index.d.ts.map +1 -1
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/item-lookup.d.ts +16 -0
- package/dist/admin/item-lookup.d.ts.map +1 -0
- package/dist/admin/item-lookup.js +192 -0
- package/dist/admin/item-lookup.js.map +1 -0
- package/dist/admin/job-status.d.ts +1 -0
- package/dist/admin/job-status.d.ts.map +1 -1
- package/dist/admin/job-status.js +1 -0
- package/dist/admin/job-status.js.map +1 -1
- package/dist/admin/maintenance.d.ts +2 -0
- package/dist/admin/maintenance.d.ts.map +1 -1
- package/dist/admin/maintenance.js +14 -0
- package/dist/admin/maintenance.js.map +1 -1
- package/dist/admin/media.d.ts +47 -36
- package/dist/admin/media.d.ts.map +1 -1
- package/dist/admin/media.js +293 -68
- package/dist/admin/media.js.map +1 -1
- package/dist/admin/preview.d.ts.map +1 -1
- package/dist/admin/preview.js +9 -12
- package/dist/admin/preview.js.map +1 -1
- package/dist/admin/routes.d.ts.map +1 -1
- package/dist/admin/routes.js +4 -0
- package/dist/admin/routes.js.map +1 -1
- package/dist/admin/settings-general.d.ts +6 -0
- package/dist/admin/settings-general.d.ts.map +1 -1
- package/dist/admin/settings-general.js +46 -1
- package/dist/admin/settings-general.js.map +1 -1
- package/dist/admin/templates.d.ts +2 -0
- package/dist/admin/templates.d.ts.map +1 -1
- package/dist/admin/templates.js +4 -0
- package/dist/admin/templates.js.map +1 -1
- package/dist/admin/uploads.d.ts +2 -1
- package/dist/admin/uploads.d.ts.map +1 -1
- package/dist/admin/uploads.js +5 -2
- package/dist/admin/uploads.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +2 -1
- package/dist/cli.js.map +1 -1
- package/dist/cms/app.d.ts.map +1 -1
- package/dist/cms/app.js +1 -0
- package/dist/cms/app.js.map +1 -1
- package/dist/cms/services.d.ts +2 -0
- package/dist/cms/services.d.ts.map +1 -1
- package/dist/cms/services.js +13 -0
- package/dist/cms/services.js.map +1 -1
- package/dist/content/document-form.d.ts +5 -13
- package/dist/content/document-form.d.ts.map +1 -1
- package/dist/content/document-form.js +2 -3
- package/dist/content/document-form.js.map +1 -1
- package/dist/content/excerpt.d.ts +1 -3
- package/dist/content/excerpt.d.ts.map +1 -1
- package/dist/content/excerpt.js +2 -7
- package/dist/content/excerpt.js.map +1 -1
- package/dist/content/post-fields.d.ts +1 -1
- package/dist/content/post-fields.d.ts.map +1 -1
- package/dist/content/post-fields.js +30 -35
- package/dist/content/post-fields.js.map +1 -1
- package/dist/content/post-type.d.ts +2 -3
- package/dist/content/post-type.d.ts.map +1 -1
- package/dist/content/post-type.js +8 -9
- package/dist/content/post-type.js.map +1 -1
- package/dist/content/review-form.d.ts +49 -0
- package/dist/content/review-form.d.ts.map +1 -0
- package/dist/content/review-form.js +282 -0
- package/dist/content/review-form.js.map +1 -0
- package/dist/content/review.d.ts +57 -0
- package/dist/content/review.d.ts.map +1 -0
- package/dist/content/review.js +264 -0
- package/dist/content/review.js.map +1 -0
- package/dist/content/write.d.ts.map +1 -1
- package/dist/content/write.js +6 -9
- package/dist/content/write.js.map +1 -1
- package/dist/exports.d.ts +1 -1
- package/dist/exports.d.ts.map +1 -1
- package/dist/federation/article.d.ts.map +1 -1
- package/dist/federation/article.js +27 -29
- package/dist/federation/article.js.map +1 -1
- package/dist/federation/federation.d.ts +3 -0
- package/dist/federation/federation.d.ts.map +1 -1
- package/dist/federation/federation.js +5 -1
- package/dist/federation/federation.js.map +1 -1
- package/dist/federation/refusals.d.ts +18 -0
- package/dist/federation/refusals.d.ts.map +1 -0
- package/dist/federation/refusals.js +84 -0
- package/dist/federation/refusals.js.map +1 -0
- package/dist/images/variants.d.ts +1 -0
- package/dist/images/variants.d.ts.map +1 -1
- package/dist/images/variants.js +10 -0
- package/dist/images/variants.js.map +1 -1
- package/dist/item-lookup/item-id.d.ts +33 -0
- package/dist/item-lookup/item-id.d.ts.map +1 -0
- package/dist/item-lookup/item-id.js +71 -0
- package/dist/item-lookup/item-id.js.map +1 -0
- package/dist/item-lookup/lookup.d.ts +58 -0
- package/dist/item-lookup/lookup.d.ts.map +1 -0
- package/dist/item-lookup/lookup.js +532 -0
- package/dist/item-lookup/lookup.js.map +1 -0
- package/dist/media/library.d.ts +9 -0
- package/dist/media/library.d.ts.map +1 -1
- package/dist/media/library.js +25 -1
- package/dist/media/library.js.map +1 -1
- package/dist/micropub/create.d.ts +1 -1
- package/dist/micropub/create.d.ts.map +1 -1
- package/dist/micropub/create.js +4 -2
- package/dist/micropub/create.js.map +1 -1
- package/dist/micropub/endpoint.d.ts.map +1 -1
- package/dist/micropub/endpoint.js +3 -10
- package/dist/micropub/endpoint.js.map +1 -1
- package/dist/micropub/update.d.ts.map +1 -1
- package/dist/micropub/update.js +12 -6
- package/dist/micropub/update.js.map +1 -1
- package/dist/plugin.d.ts +26 -2
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js.map +1 -1
- package/dist/settings/names.d.ts +1 -1
- package/dist/settings/names.d.ts.map +1 -1
- package/dist/settings/names.js +8 -1
- package/dist/settings/names.js.map +1 -1
- package/dist/settings/registry.d.ts.map +1 -1
- package/dist/settings/registry.js +2 -1
- package/dist/settings/registry.js.map +1 -1
- package/dist/settings/tmdb.d.ts +5 -0
- package/dist/settings/tmdb.d.ts.map +1 -0
- package/dist/settings/tmdb.js +22 -0
- package/dist/settings/tmdb.js.map +1 -0
- package/dist/store/profiles.d.ts +3 -2
- package/dist/store/profiles.d.ts.map +1 -1
- package/dist/store/profiles.js +2 -4
- package/dist/store/profiles.js.map +1 -1
- package/dist/web/context.d.ts +9 -21
- package/dist/web/context.d.ts.map +1 -1
- package/dist/web/context.js +20 -20
- package/dist/web/context.js.map +1 -1
- package/dist/web/feed-item.d.ts +6 -6
- package/dist/web/feed-item.d.ts.map +1 -1
- package/dist/web/feed-item.js +7 -3
- package/dist/web/feed-item.js.map +1 -1
- package/dist/web/plugin-federation.d.ts +2 -0
- package/dist/web/plugin-federation.d.ts.map +1 -1
- package/dist/web/plugin-federation.js +3 -0
- package/dist/web/plugin-federation.js.map +1 -1
- package/dist/webmention/cited-picture.d.ts +1 -0
- package/dist/webmention/cited-picture.d.ts.map +1 -1
- package/dist/webmention/cited-picture.js +7 -4
- package/dist/webmention/cited-picture.js.map +1 -1
- package/dist/webmention/fetch-public.d.ts +3 -0
- package/dist/webmention/fetch-public.d.ts.map +1 -1
- package/dist/webmention/fetch-public.js +1 -1
- package/dist/webmention/fetch-public.js.map +1 -1
- package/dist/webmention/reply-context/json-ld.d.ts +8 -0
- package/dist/webmention/reply-context/json-ld.d.ts.map +1 -1
- package/dist/webmention/reply-context/json-ld.js +21 -0
- package/dist/webmention/reply-context/json-ld.js.map +1 -1
- package/dist/webmention/service.d.ts.map +1 -1
- package/dist/webmention/service.js +3 -5
- package/dist/webmention/service.js.map +1 -1
- package/package.json +6 -1
- package/themes/default/layouts/post.njk +6 -5
- package/themes/default/partials/post-list.njk +15 -20
- package/themes/default/partials/review.njk +1 -0
- package/themes/default/src/style.css +24 -4
- package/themes/default/static/style.css +33 -5
- package/dist/comments/routes.d.ts +0 -65
- package/dist/comments/routes.d.ts.map +0 -1
- package/dist/comments/routes.js +0 -235
- package/dist/comments/routes.js.map +0 -1
- package/dist/content/media.d.ts +0 -85
- package/dist/content/media.d.ts.map +0 -1
- package/dist/content/media.js +0 -237
- package/dist/content/media.js.map +0 -1
- package/dist/content/read-form.d.ts +0 -31
- package/dist/content/read-form.d.ts.map +0 -1
- package/dist/content/read-form.js +0 -157
- package/dist/content/read-form.js.map +0 -1
- package/dist/content/read.d.ts +0 -29
- package/dist/content/read.d.ts.map +0 -1
- package/dist/content/read.js +0 -82
- package/dist/content/read.js.map +0 -1
- package/dist/export/export-archives.d.ts +0 -29
- package/dist/export/export-archives.d.ts.map +0 -1
- package/dist/export/export-archives.js +0 -88
- package/dist/export/export-archives.js.map +0 -1
- package/dist/federation/mount.d.ts +0 -53
- package/dist/federation/mount.d.ts.map +0 -1
- package/dist/federation/mount.js +0 -344
- package/dist/federation/mount.js.map +0 -1
- package/dist/mail/credentials.d.ts +0 -62
- package/dist/mail/credentials.d.ts.map +0 -1
- package/dist/mail/credentials.js +0 -86
- package/dist/mail/credentials.js.map +0 -1
- package/dist/site/setting-rows.d.ts +0 -45
- package/dist/site/setting-rows.d.ts.map +0 -1
- package/dist/site/setting-rows.js +0 -361
- package/dist/site/setting-rows.js.map +0 -1
- package/dist/site/settings-form.d.ts +0 -30
- package/dist/site/settings-form.d.ts.map +0 -1
- package/dist/site/settings-form.js +0 -54
- package/dist/site/settings-form.js.map +0 -1
- package/dist/site/site-json.d.ts +0 -38
- package/dist/site/site-json.d.ts.map +0 -1
- package/dist/site/site-json.js +0 -69
- package/dist/site/site-json.js.map +0 -1
- package/dist/webmention/routes.d.ts +0 -37
- package/dist/webmention/routes.d.ts.map +0 -1
- package/dist/webmention/routes.js +0 -75
- package/dist/webmention/routes.js.map +0 -1
- package/themes/default/partials/read.njk +0 -5
|
@@ -8,38 +8,43 @@
|
|
|
8
8
|
failed the error, in an alert
|
|
9
9
|
interrupted that restarts or crashes cut it off and it will not run again
|
|
10
10
|
|
|
11
|
-
While it is queued or running, `refreshUrl`
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
While it is queued or running, the box names `refreshUrl` in
|
|
12
|
+
`data-job-refresh`. A page that loads static/job-status.js has it fetch
|
|
13
|
+
that page every few seconds and swap in its box with the same
|
|
14
|
+
`data-job-status` until the job ends. It swaps the closest
|
|
15
|
+
`data-job-region` around the box instead when there is one, so a page can
|
|
16
|
+
redraw the controls it hides while the job runs. Without JavaScript,
|
|
17
|
+
`refreshUrl` is a Check again link. `verb` and `unit` word the progress.
|
|
18
|
+
The error and every word passed in are escaped. #}
|
|
14
19
|
{% from "components/alert.njk" import alert %}
|
|
15
20
|
{% from "components/badge.njk" import status %}
|
|
16
21
|
{% from "components/button.njk" import buttonLink %}
|
|
17
22
|
|
|
18
23
|
{% macro jobStatus(job, refreshUrl, verb='Done', unit='items') -%}
|
|
19
|
-
<div class="flex flex-col gap-3">
|
|
24
|
+
<div class="flex flex-col gap-3" data-job-status="{{ job.name }}" data-job-state="{{ job.state }}" data-job-label="{{ job.label }}"{% if job.active %} data-job-refresh="{{ refreshUrl }}"{% endif %}>
|
|
20
25
|
<p class="flex flex-wrap items-center gap-2">
|
|
21
26
|
{{ status(job.state, job.label) }}
|
|
22
27
|
<span class="text-sm"><time datetime="{{ job.at }}">{{ job.at | date('readable') }}</time></span>
|
|
23
28
|
</p>
|
|
24
29
|
{% if job.state == 'queued' %}
|
|
25
|
-
<p>Waiting for the worker to start it.{% if job.requeued %} A restart cut off the last try, so it is queued again as try {{ job.attempt }}.{% endif %}</p>
|
|
30
|
+
<p data-job-message>Waiting for the worker to start it.{% if job.requeued %} A restart cut off the last try, so it is queued again as try {{ job.attempt }}.{% endif %}</p>
|
|
26
31
|
{% elif job.state == 'running' %}
|
|
27
32
|
{% if job.progress and job.progress.total %}
|
|
28
33
|
<progress class="progress progress-primary w-full max-w-md" value="{{ job.progress.done }}" max="{{ job.progress.total }}" aria-label="{{ verb }} {{ job.progress.done }} of {{ job.progress.total }} {{ unit }}"></progress>
|
|
29
|
-
<p>{{ verb }} {{ job.progress.done }} of {{ job.progress.total }} {{ unit }}.{% if job.progress.note %} {{ job.progress.note }}{% endif %}</p>
|
|
34
|
+
<p data-job-message>{{ verb }} {{ job.progress.done }} of {{ job.progress.total }} {{ unit }}.{% if job.progress.note %} {{ job.progress.note }}{% endif %}</p>
|
|
30
35
|
{% else %}
|
|
31
36
|
<progress class="progress progress-primary w-full max-w-md" aria-label="Starting"></progress>
|
|
32
|
-
<p>Starting.</p>
|
|
37
|
+
<p data-job-message>Starting.</p>
|
|
33
38
|
{% endif %}
|
|
34
39
|
{% elif job.state == 'finished' %}
|
|
35
40
|
{% if caller %}{{ caller() }}{% endif %}
|
|
36
41
|
{% elif job.state == 'failed' %}
|
|
37
|
-
{% call alert(color='error', style='soft') %}<span>{{ job.error }}</span>{% endcall %}
|
|
42
|
+
{% call alert(color='error', style='soft') %}<span data-job-message>{{ job.error }}</span>{% endcall %}
|
|
38
43
|
{% elif job.state == 'interrupted' %}
|
|
39
|
-
<p>Restarts or crashes cut it off {{ job.attempt }} times, so it is not run again on its own.</p>
|
|
44
|
+
<p data-job-message>Restarts or crashes cut it off {{ job.attempt }} times, so it is not run again on its own.</p>
|
|
40
45
|
{% endif %}
|
|
41
46
|
{% if job.active %}
|
|
42
|
-
<div>{{ buttonLink('Check again', refreshUrl, style='outline') }}</div>
|
|
47
|
+
<div data-job-check-again>{{ buttonLink('Check again', refreshUrl, style='outline') }}</div>
|
|
43
48
|
{% endif %}
|
|
44
49
|
</div>
|
|
45
50
|
{%- endmacro %}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{# An upload in place: a file picker beside a box, grid or menu that wants a
|
|
2
|
+
file, so nobody has to leave a post for the media library and come back
|
|
3
|
+
with an address (TASK-439).
|
|
4
|
+
|
|
5
|
+
`uploadControl(kind, target, url)` emits a `hidden` block that
|
|
6
|
+
`static/upload-drop.js` reveals, so a page with no script shows nothing that
|
|
7
|
+
does nothing. The script posts each file to `url` and hands the answer to
|
|
8
|
+
the `kind`'s handler, which fills the element whose id is `target`:
|
|
9
|
+
|
|
10
|
+
photos adds a ticked tile to the photo grid; `name` is the prefix of
|
|
11
|
+
the grid's checkbox names
|
|
12
|
+
field sets the text box's value; `preview` names an <img> to show it
|
|
13
|
+
select adds the file to the menu and chooses it
|
|
14
|
+
library reloads the page once the files have landed
|
|
15
|
+
|
|
16
|
+
Dropping files on the target, or on the field around it, does the same.
|
|
17
|
+
`images` asks the server to refuse anything that is not an image. #}
|
|
18
|
+
|
|
19
|
+
{% macro uploadControl(kind, target, url, images=false, accept='', name='', preview='') -%}
|
|
20
|
+
<div class="mt-1 flex flex-wrap items-center gap-2" data-upload-drop="{{ kind }}" data-upload-url="{{ url }}" data-upload-target="{{ target }}"{% if images %} data-upload-images{% endif %}{% if name %} data-upload-name="{{ name }}"{% endif %}{% if preview %} data-upload-preview="{{ preview }}"{% endif %} hidden>
|
|
21
|
+
<label class="text-xs" for="{{ target }}-upload">Upload</label>
|
|
22
|
+
<input id="{{ target }}-upload" type="file" class="file-input file-input-xs w-auto max-w-full"{% if images %} accept="image/*"{% elif accept %} accept="{{ accept }}"{% endif %}{% if kind == 'photos' or kind == 'library' %} multiple{% endif %} data-upload-input />
|
|
23
|
+
<span class="text-xs text-base-content/70">or drop {% if kind == 'photos' or kind == 'library' %}files{% else %}a file{% endif %} here</span>
|
|
24
|
+
<p class="w-full text-xs empty:hidden" role="status" aria-live="polite" data-upload-status></p>
|
|
25
|
+
</div>
|
|
26
|
+
{%- endmacro %}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{% extends "layouts/shell.njk" %}
|
|
2
|
+
|
|
3
|
+
{% block title %}New post{% endblock %}
|
|
4
|
+
|
|
5
|
+
{% block content %}
|
|
6
|
+
<h1 class="mb-6 text-2xl font-bold">What are you posting?</h1>
|
|
7
|
+
|
|
8
|
+
<ul class="grid max-w-5xl gap-3 sm:grid-cols-2 lg:grid-cols-3">
|
|
9
|
+
{% for kind in kinds %}
|
|
10
|
+
<li>
|
|
11
|
+
<a class="card card-sm h-full bg-base-100 shadow-sm transition hover:shadow-md focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-base-content{% if kind.page %} card-dash{% endif %}" href="{{ kind.url }}">
|
|
12
|
+
<div class="card-body flex-row items-start gap-3">
|
|
13
|
+
<span class="rounded-field bg-primary/10 p-2 text-primary">
|
|
14
|
+
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.6" stroke="currentColor" class="size-6" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" d="{{ kind.icon }}"/></svg>
|
|
15
|
+
</span>
|
|
16
|
+
<div>
|
|
17
|
+
<h2 class="card-title text-base">{{ kind.label }}</h2>
|
|
18
|
+
<p class="text-sm opacity-70">{{ kind.blurb }}</p>
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
</a>
|
|
22
|
+
</li>
|
|
23
|
+
{% endfor %}
|
|
24
|
+
</ul>
|
|
25
|
+
|
|
26
|
+
<p class="mt-6 max-w-prose text-sm opacity-70">
|
|
27
|
+
Micropub apps keep posting whatever properties they like. A post with properties from more than
|
|
28
|
+
one kind opens on the kind it reads as, with the rest under Also on this post.
|
|
29
|
+
</p>
|
|
30
|
+
{% endblock %}
|