@geekity/cms 0.35.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/editor.njk +34 -19
- package/admin/pages/federation/followers.njk +2 -1
- package/admin/pages/media/file.njk +5 -4
- package/admin/pages/media/library.njk +7 -3
- package/admin/pages/settings/general.njk +4 -1
- package/admin/pages/tools/export.njk +54 -51
- package/admin/pages/tools/maintenance.njk +2 -1
- package/admin/pages/users/edit.njk +3 -0
- package/admin/src/admin.css +1 -0
- package/admin/static/admin.css +74 -0
- package/admin/static/job-status.js +158 -0
- package/admin/static/upload-drop.js +225 -0
- package/dist/admin/documents.d.ts.map +1 -1
- package/dist/admin/documents.js +0 -2
- package/dist/admin/documents.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/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/media.d.ts +6 -9
- package/dist/admin/media.d.ts.map +1 -1
- package/dist/admin/media.js +85 -27
- package/dist/admin/media.js.map +1 -1
- package/dist/admin/routes.d.ts.map +1 -1
- package/dist/admin/routes.js +1 -0
- package/dist/admin/routes.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/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/package.json +6 -1
- 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
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { clientAddress } from '../web/throttle.js';
|
|
2
|
-
import { readSiteSettings } from '../site/site-json.js';
|
|
3
|
-
import { stringOrEmpty } from '../util/forms.js';
|
|
4
|
-
import { publicDocumentAt } from '../content/permalinks.js';
|
|
5
|
-
import { checkWebmentionRequest } from './receive.js';
|
|
6
|
-
import { postSyndicatedAt, syndicationCopies } from './syndication.js';
|
|
7
|
-
/**
|
|
8
|
-
* The one public endpoint webmentions add.
|
|
9
|
-
*
|
|
10
|
-
* A single path under `/_geekity/`, like the comment form's, so it is out of
|
|
11
|
-
* the way of every permalink a site might ever mint and the route table does
|
|
12
|
-
* not grow with the site. It is what the `Link` header and the `<link>` in
|
|
13
|
-
* every post's head point at, and it takes nothing but a form with a `source`
|
|
14
|
-
* and a `target` in it.
|
|
15
|
-
*/
|
|
16
|
-
/** Where a webmention is sent. */
|
|
17
|
-
export const WEBMENTION_PATH = '/_geekity/webmention';
|
|
18
|
-
/** The fields a webmention carries, which the spec fixes. */
|
|
19
|
-
export const WEBMENTION_FIELDS = { source: 'source', target: 'target' };
|
|
20
|
-
/**
|
|
21
|
-
* The endpoint a page should advertise, or `undefined` when the site is not
|
|
22
|
-
* taking webmentions.
|
|
23
|
-
*
|
|
24
|
-
* Read off the site data the renderer already has rather than the settings, so
|
|
25
|
-
* a template asks one question and gets the same answer the endpoint gives.
|
|
26
|
-
* A file that does not mention the setting is a site that takes them: that is
|
|
27
|
-
* the default, and an older `site.json` should not quietly stop.
|
|
28
|
-
*/
|
|
29
|
-
export function webmentionEndpointFor(site) {
|
|
30
|
-
return site['webmentionsReceive'] === false ? undefined : WEBMENTION_PATH;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Register the webmention endpoint. Mounted by the public site.
|
|
34
|
-
*
|
|
35
|
-
* The answer is a 202 for anything worth going and looking at and a 400 for
|
|
36
|
-
* anything that is not, and the looking happens afterwards — see
|
|
37
|
-
* `receive.ts` for why that split is the whole design.
|
|
38
|
-
*/
|
|
39
|
-
export function mountWebmentions(app) {
|
|
40
|
-
app.post(WEBMENTION_PATH, async (c) => {
|
|
41
|
-
const { store, config, webmentions, conversation } = c.var;
|
|
42
|
-
if (!readSiteSettings(config.contentDir).webmentionsReceive) {
|
|
43
|
-
// A 404 rather than a 403: a site that does not take webmentions has no
|
|
44
|
-
// endpoint, and that is what having no endpoint looks like.
|
|
45
|
-
return c.text('This site does not take webmentions.', 404);
|
|
46
|
-
}
|
|
47
|
-
const body = await c.req.parseBody();
|
|
48
|
-
const checked = checkWebmentionRequest(stringOrEmpty(body[WEBMENTION_FIELDS.source]), stringOrEmpty(body[WEBMENTION_FIELDS.target]), {
|
|
49
|
-
baseUrl: config.baseUrl,
|
|
50
|
-
documentAt: (pathname) => publicDocumentAt(store, pathname),
|
|
51
|
-
syndicatedAt: (url) => postSyndicatedAt(url, store, syndicationCopies(config.contentDir)),
|
|
52
|
-
conversation,
|
|
53
|
-
});
|
|
54
|
-
if (!checked.ok)
|
|
55
|
-
return c.text(checked.message, 400);
|
|
56
|
-
// Nothing waits for the check: the sender is answered now and the source
|
|
57
|
-
// is fetched afterwards, and `receive` never rejects.
|
|
58
|
-
void webmentions.receive({
|
|
59
|
-
source: checked.source,
|
|
60
|
-
target: checked.target,
|
|
61
|
-
document: checked.document,
|
|
62
|
-
address: clientAddress(c, config),
|
|
63
|
-
userAgent: c.req.header('user-agent'),
|
|
64
|
-
referrer: c.req.header('referer'),
|
|
65
|
-
});
|
|
66
|
-
return c.text('Accepted. The source will be checked shortly.', 202);
|
|
67
|
-
});
|
|
68
|
-
// A GET on the endpoint is somebody looking rather than sending, and saying
|
|
69
|
-
// so is friendlier than a 404 on a URL that is really there.
|
|
70
|
-
app.get(WEBMENTION_PATH, (c) => {
|
|
71
|
-
c.header('allow', 'POST');
|
|
72
|
-
return c.text('Send a webmention here with a POST carrying source and target.', 405);
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=routes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/webmention/routes.ts"],"names":[],"mappings":"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"}
|