@geekity/cms 0.18.0 → 0.19.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/README.md +26 -25
- package/admin/components/public-admin-bar.njk +3 -1
- package/admin/pages/documents/editor.njk +257 -192
- package/admin/static/admin.css +37 -14
- package/dist/admin/documents.d.ts +5 -3
- package/dist/admin/documents.d.ts.map +1 -1
- package/dist/admin/documents.js +76 -20
- package/dist/admin/documents.js.map +1 -1
- package/dist/admin/editor-layout.d.ts +13 -0
- package/dist/admin/editor-layout.d.ts.map +1 -0
- package/dist/admin/editor-layout.js +61 -0
- package/dist/admin/editor-layout.js.map +1 -0
- package/dist/admin/enclosure-field.d.ts +2 -3
- package/dist/admin/enclosure-field.d.ts.map +1 -1
- package/dist/admin/enclosure-field.js +27 -7
- package/dist/admin/enclosure-field.js.map +1 -1
- package/dist/admin/location-field.d.ts +4 -3
- package/dist/admin/location-field.d.ts.map +1 -1
- package/dist/admin/location-field.js +10 -2
- package/dist/admin/location-field.js.map +1 -1
- package/dist/admin/photo-field.d.ts +2 -3
- package/dist/admin/photo-field.d.ts.map +1 -1
- package/dist/admin/photo-field.js +4 -2
- package/dist/admin/photo-field.js.map +1 -1
- package/dist/admin/read-field.d.ts +2 -3
- package/dist/admin/read-field.d.ts.map +1 -1
- package/dist/admin/read-field.js +12 -4
- package/dist/admin/read-field.js.map +1 -1
- package/dist/content/kept-properties.d.ts +5 -0
- package/dist/content/kept-properties.d.ts.map +1 -0
- package/dist/content/kept-properties.js +12 -0
- package/dist/content/kept-properties.js.map +1 -0
- package/dist/content/location.d.ts +4 -0
- package/dist/content/location.d.ts.map +1 -1
- package/dist/content/location.js +35 -3
- package/dist/content/location.js.map +1 -1
- package/dist/content/locations.d.ts +2 -5
- package/dist/content/locations.d.ts.map +1 -1
- package/dist/content/locations.js +2 -77
- package/dist/content/locations.js.map +1 -1
- package/dist/content/permalink-file.d.ts +7 -0
- package/dist/content/permalink-file.d.ts.map +1 -0
- package/dist/content/permalink-file.js +77 -0
- package/dist/content/permalink-file.js.map +1 -0
- package/dist/federation/article.d.ts +4 -3
- package/dist/federation/article.d.ts.map +1 -1
- package/dist/federation/article.js +32 -13
- package/dist/federation/article.js.map +1 -1
- package/dist/federation/citations.d.ts +7 -6
- package/dist/federation/citations.d.ts.map +1 -1
- package/dist/federation/citations.js +44 -28
- package/dist/federation/citations.js.map +1 -1
- package/dist/federation/delivery.d.ts.map +1 -1
- package/dist/federation/delivery.js +23 -16
- package/dist/federation/delivery.js.map +1 -1
- package/dist/index.d.ts +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/indieauth/bearer.d.ts +10 -6
- package/dist/indieauth/bearer.d.ts.map +1 -1
- package/dist/indieauth/bearer.js +11 -9
- package/dist/indieauth/bearer.js.map +1 -1
- package/dist/indieauth/token.js +1 -1
- package/dist/indieauth/token.js.map +1 -1
- package/dist/micropub/create.d.ts +7 -3
- package/dist/micropub/create.d.ts.map +1 -1
- package/dist/micropub/create.js +62 -16
- package/dist/micropub/create.js.map +1 -1
- package/dist/micropub/endpoint.d.ts +4 -5
- package/dist/micropub/endpoint.d.ts.map +1 -1
- package/dist/micropub/endpoint.js +15 -8
- package/dist/micropub/endpoint.js.map +1 -1
- package/dist/micropub/media.d.ts +6 -4
- package/dist/micropub/media.d.ts.map +1 -1
- package/dist/micropub/media.js +7 -5
- package/dist/micropub/media.js.map +1 -1
- package/dist/micropub/update.d.ts +7 -1
- package/dist/micropub/update.d.ts.map +1 -1
- package/dist/micropub/update.js +32 -7
- package/dist/micropub/update.js.map +1 -1
- package/dist/web/admin-bar.d.ts.map +1 -1
- package/dist/web/admin-bar.js +25 -0
- package/dist/web/admin-bar.js.map +1 -1
- package/dist/web/documents.d.ts +21 -6
- package/dist/web/documents.d.ts.map +1 -1
- package/dist/web/documents.js +23 -12
- package/dist/web/documents.js.map +1 -1
- package/dist/web/render.d.ts +5 -4
- package/dist/web/render.d.ts.map +1 -1
- package/dist/web/render.js +20 -11
- package/dist/web/render.js.map +1 -1
- package/dist/web/routes.d.ts.map +1 -1
- package/dist/web/routes.js +15 -4
- package/dist/web/routes.js.map +1 -1
- package/dist/webmention/fetch-public.d.ts +3 -1
- package/dist/webmention/fetch-public.d.ts.map +1 -1
- package/dist/webmention/fetch-public.js +17 -11
- package/dist/webmention/fetch-public.js.map +1 -1
- package/dist/webmention/reply-context.d.ts +18 -5
- package/dist/webmention/reply-context.d.ts.map +1 -1
- package/dist/webmention/reply-context.js +118 -19
- package/dist/webmention/reply-context.js.map +1 -1
- package/dist/webmention/reply-contexts.d.ts +17 -14
- package/dist/webmention/reply-contexts.d.ts.map +1 -1
- package/dist/webmention/reply-contexts.js +32 -21
- package/dist/webmention/reply-contexts.js.map +1 -1
- package/package.json +9 -9
- package/themes/default/README.md +31 -8
- package/themes/default/layouts/post.njk +5 -6
- package/themes/default/partials/citations.njk +12 -3
- package/themes/default/partials/cited-page.njk +41 -0
- package/themes/default/partials/post-list.njk +8 -5
- package/themes/default/partials/reply-context.njk +2 -9
package/README.md
CHANGED
|
@@ -1519,27 +1519,28 @@ This is every piece of personal data the CMS stores, where it is, and how long
|
|
|
1519
1519
|
it stays. "Kept" means until somebody deletes it, unless a retention period
|
|
1520
1520
|
says otherwise.
|
|
1521
1521
|
|
|
1522
|
-
| What
|
|
1523
|
-
|
|
|
1524
|
-
| A commenter's name, website and words
|
|
1525
|
-
| A commenter's email, and whether they asked to be told about replies
|
|
1526
|
-
| A salted hash of the address a comment, webmention or contact message came from (the address itself is never stored)
|
|
1527
|
-
| A webmention's author name, website, avatar URL and the source page's words
|
|
1528
|
-
| A contact message: the sender's name, email, subject and message
|
|
1529
|
-
| The addresses that unsubscribed from reply notices
|
|
1530
|
-
| Followers: actor id, handle, display name, avatar URL, profile URL
|
|
1531
|
-
| Inbound likes, boosts, replies and quotes, with the actor who sent them
|
|
1532
|
-
| What a reply shows of the post it answers: its title, words and author
|
|
1533
|
-
| Other actors who liked, boosted, answered or quoted: handle, display name, avatar URL, profile URL
|
|
1534
|
-
| Remote avatars, shrunk
|
|
1535
|
-
| Users: username, email, argon2id password hash, profile
|
|
1536
|
-
| The apps a user signed in to with IndieAuth: app, scopes, hashes of its tokens, when they expire
|
|
1537
|
-
| Recent IndieAuth and Micropub requests: app, username, what it sent (no secrets, values cut short), the answer
|
|
1538
|
-
| An index of all of the above, and sessions, reset tokens and spent link tokens
|
|
1539
|
-
| Client addresses in the rate limits
|
|
1540
|
-
| Where and when a photo or video was taken, and the camera or phone (EXIF, XMP, IPTC, a video's `©xyz`)
|
|
1541
|
-
| Where the author wrote a post: coordinates, accuracy, and the place's name, locality, region and country
|
|
1542
|
-
|
|
|
1522
|
+
| What | Where | How long |
|
|
1523
|
+
| ---------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
|
|
1524
|
+
| A commenter's name, website and words | `content/_data/comments/{slug}.json`, public and in git | Kept. Erasing on request replaces the name and drops the website. |
|
|
1525
|
+
| A commenter's email, and whether they asked to be told about replies | `data/comments/{slug}.json`, mode `0600`, keyed by comment id | `commentEmailRetentionDays`: forever unless set, 180 on a new site. |
|
|
1526
|
+
| A salted hash of the address a comment, webmention or contact message came from (the address itself is never stored) | The comment file, or the contact message file | `addressHashRetentionDays`: forever unless set, 30 on a new site. |
|
|
1527
|
+
| A webmention's author name, website, avatar URL and the source page's words | `content/_data/comments/{slug}.json` | Kept, as a copy of a page that is public already. |
|
|
1528
|
+
| A contact message: the sender's name, email, subject and message | `data/contact/{id}.json`, mode `0600` | `contactMessageRetentionDays`: forever unless set, 365 on a new site. |
|
|
1529
|
+
| The addresses that unsubscribed from reply notices | `data/comment-optouts.json`, mode `0600` | Kept, so the site goes on not writing to them. Erasing on request removes one. |
|
|
1530
|
+
| Followers: actor id, handle, display name, avatar URL, profile URL | `content/_data/federation/{username}/followers.json`, in git | Until they unfollow. |
|
|
1531
|
+
| Inbound likes, boosts, replies and quotes, with the actor who sent them | `content/_data/federation/inbox/{yyyy}-{mm}.jsonl`, in git | Kept. |
|
|
1532
|
+
| What a reply shows of the post it answers: its title, words and author | `content/_data/replyContexts.json`, in git | Kept. |
|
|
1533
|
+
| Other actors who liked, boosted, answered or quoted: handle, display name, avatar URL, profile URL | `data/geekity.db`, fetched from their actor document | A cache. Refetched weekly while the inbox log names them. |
|
|
1534
|
+
| Remote avatars, shrunk | `data/avatars/` | Deleted by the avatar sweep once nothing shown names them. |
|
|
1535
|
+
| Users: username, email, argon2id password hash, profile | `data/users.json`, mode `0600` | Until the user is deleted. |
|
|
1536
|
+
| The apps a user signed in to with IndieAuth: app, scopes, hashes of its tokens, when they expire | `data/indieauth-tokens.json`, mode `0600` | Until the user is deleted, or 60 days after the app last refreshed. |
|
|
1537
|
+
| Recent IndieAuth and Micropub requests: app, username, what it sent (no secrets, values cut short), the answer | `data/indieauth-activity.json`, mode `0600` | The last 100 requests, none older than 14 days. |
|
|
1538
|
+
| An index of all of the above, and sessions, reset tokens and spent link tokens | `data/geekity.db` | A cache of the files. Sessions and tokens are pruned when they expire. |
|
|
1539
|
+
| Client addresses in the rate limits | Memory | Until the window passes or the site restarts. |
|
|
1540
|
+
| Where and when a photo or video was taken, and the camera or phone (EXIF, XMP, IPTC, a video's `©xyz`) | Removed from `content/uploads/` on upload | Never stored. Older uploads keep it until `geekity strip-metadata`; git history keeps the old bytes until rewritten. |
|
|
1541
|
+
| Where the author wrote a post or checked in: coordinates, accuracy, and the place's name, locality, region and country | `data/locations.json`, mode `0600`, keyed by permalink | Kept until the author clears it. Published only as far as **Settings > Privacy** allows, nothing by default. |
|
|
1542
|
+
| Micropub properties a post was sent that the site does not understand, such as an RSVP | `data/kept-properties.json`, mode `0600`, keyed by permalink | Kept until an update deletes them. Never published. |
|
|
1543
|
+
| Client addresses in the access log | stdout, and whatever collects it | Only with `accessLogAddress` on. The collector keeps them. |
|
|
1543
1544
|
|
|
1544
1545
|
Two services outside the site see personal data when a site turns them on.
|
|
1545
1546
|
Akismet is sent a commenter's or sender's address, user agent, referrer, name,
|
|
@@ -1721,10 +1722,10 @@ visibility: unlisted
|
|
|
1721
1722
|
Public is the key's absence, and the editor removes the key when you choose
|
|
1722
1723
|
Public again. The site has no private posts. A value other than `public` or
|
|
1723
1724
|
`unlisted`, such as a hand-typed `visibility: private`, hides the post the way
|
|
1724
|
-
`draft: true` does: its URL answers 404
|
|
1725
|
-
followers already hold is withdrawn with a `Delete`. The
|
|
1726
|
-
as it is stored, marks the post Hidden in the list, and
|
|
1727
|
-
a save until you choose Public or Unlisted.
|
|
1725
|
+
`draft: true` does: its URL answers 404 to anybody not signed in, it is on no
|
|
1726
|
+
list, and a post the followers already hold is withdrawn with a `Delete`. The
|
|
1727
|
+
editor shows the value as it is stored, marks the post Hidden in the list, and
|
|
1728
|
+
keeps the value through a save until you choose Public or Unlisted.
|
|
1728
1729
|
|
|
1729
1730
|
The rule works for pages too.
|
|
1730
1731
|
|
|
@@ -38,4 +38,6 @@
|
|
|
38
38
|
}
|
|
39
39
|
});
|
|
40
40
|
})();
|
|
41
|
-
</script></template></geekity-admin-bar>
|
|
41
|
+
</script></template></geekity-admin-bar>{% if notice %}
|
|
42
|
+
<p class="geekity-unpublished-notice" style="all: initial; display: block; box-sizing: border-box; margin: 0; padding: 8px 16px; background: #fcf9e8; color: #1d2327; border-bottom: 1px solid #dba617; font: 14px/1.5 -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif">{{ notice }}</p>
|
|
43
|
+
{%- endif %}
|