mirror of
https://github.com/versia-pub/docs.git
synced 2025-12-06 22:38:19 +01:00
refactor: 🚚 Make paths under /entities use the singular form
This commit is contained in:
parent
ff57ee4ffd
commit
a106e7acef
|
|
@ -12,7 +12,7 @@ This page lists changes since Working Draft 03. {{ className: 'lead' }}
|
|||
|
||||
- Rewrote the signature system from scratch to be simpler and not depend on dates.
|
||||
- Moved Likes and Dislikes to an extension.
|
||||
- Renamed fields on several common entities like [Users](/entities/users) and [Notes](/entities/notes).
|
||||
- Renamed fields on several common entities like [Users](/entities/user) and [Notes](/entities/note).
|
||||
- Removed the `Patch` entity.
|
||||
- Useless since edits can just be sent to inboxes directly.
|
||||
- Allowed `uri`s to not contain the entity's `id`.
|
||||
|
|
@ -23,10 +23,10 @@ This page lists changes since Working Draft 03. {{ className: 'lead' }}
|
|||
- Added `remote` field to [ContentFormat](/structures/content-format).
|
||||
- Switched to [ThumbHash](https://evanw.github.io/thumbhash/) from [BlurHash](https://blurha.sh/).
|
||||
- Added optional identification characters to [Custom Emojis](/structures/emoji).
|
||||
- Added `manually_approves_followers` to [Users](/entities/users).
|
||||
- Removed `visibility` from [Notes](/entities/notes).
|
||||
- Made `subject` optional in [Notes](/entities/notes).
|
||||
- Clarified the way [Follows](/entities/follows) work.
|
||||
- Added `manually_approves_followers` to [Users](/entities/user).
|
||||
- Removed `visibility` from [Notes](/entities/note).
|
||||
- Made `subject` optional in [Notes](/entities/note).
|
||||
- Clarified the way [Follows](/entities/follow) work.
|
||||
- Removed the use of `Undo` entities for anything except than deleting entities.
|
||||
- Renamed `Undo` to [Delete](/entities/deletes).
|
||||
- Added [Unfollow](/entities/unfollows) entity.
|
||||
- Renamed `Undo` to [Delete](/entities/delete).
|
||||
- Added [Unfollow](/entities/unfollow) entity.
|
||||
|
|
@ -5,7 +5,7 @@ export const metadata = {
|
|||
|
||||
# Follow
|
||||
|
||||
Sometimes, [Users](/entities/users) want to subscribe to each other to see each other's content. The `Follow` entity facilitates this, by definining a subscription relationship between two users. {{ className: 'lead' }}
|
||||
Sometimes, [Users](/entities/user) want to subscribe to each other to see each other's content. The `Follow` entity facilitates this, by definining a subscription relationship between two users. {{ className: 'lead' }}
|
||||
|
||||
## Vocabulary
|
||||
|
||||
|
|
@ -31,14 +31,14 @@ To establish a follow relationship, `social.joe.org` can do the following:
|
|||
|
||||
To accept the follow request, `Alice` can do the following:
|
||||
|
||||
1. Create a [FollowAccept](/entities/follow-accepts) entity with `Alice` as the author and `Joe` as the follower.
|
||||
1. Create a [FollowAccept](/entities/follow-accept) entity with `Alice` as the author and `Joe` as the follower.
|
||||
2. Send the `FollowAccept` entity to `Joe`'s inbox.
|
||||
|
||||
### Rejecting the Follow Request
|
||||
|
||||
To reject the follow request, `Alice` can do the following:
|
||||
|
||||
1. Create a [FollowReject](/entities/follow-rejects) entity with `Alice` as the author and `Joe` as the follower.
|
||||
1. Create a [FollowReject](/entities/follow-reject) entity with `Alice` as the author and `Joe` as the follower.
|
||||
2. Send the `FollowReject` entity to `Joe`'s inbox.
|
||||
|
||||
### Final Steps
|
||||
|
|
@ -5,7 +5,7 @@ export const metadata = {
|
|||
|
||||
# Notes
|
||||
|
||||
Notes represent a piece of content on a Lysand instance. They can be posted by [Users](/entities/users) and are displayed in a user's feed. Notes can contain text, images, and other media. {{ className: 'lead' }}
|
||||
Notes represent a piece of content on a Lysand instance. They can be posted by [Users](/entities/user) and are displayed in a user's feed. Notes can contain text, images, and other media. {{ className: 'lead' }}
|
||||
|
||||
<Note>
|
||||
Notes are not just limited to microblogging. They can be used for any kind of content, such as forum posts, blog posts, image posts, video posts, audio posts, and even messaging.
|
||||
|
|
@ -61,7 +61,7 @@ Notes represent a piece of content on a Lysand instance. They can be posted by [
|
|||
Whether the note contains "sensitive content". This can be used with `subject` as a "content warning" feature.
|
||||
</Property>
|
||||
<Property name="mentions" type="URI[]" required={false} typeLink="/types#uri">
|
||||
URIs of [Users](/entities/users) that should be notified of the note. Similar to Twitter's `@` mentions. The note may also contain mentions in the content, however only the mentions in this field should trigger notifications.
|
||||
URIs of [Users](/entities/user) that should be notified of the note. Similar to Twitter's `@` mentions. The note may also contain mentions in the content, however only the mentions in this field should trigger notifications.
|
||||
</Property>
|
||||
<Property name="previews" type="LinkPreview" required={false}>
|
||||
Previews for any links in the publication. This is to avoid the [stampeding mastodon problem](https://github.com/mastodon/mastodon/issues/23662) where a link preview is fetched by every server that sees the publication, creating an accidental DDOS attack.
|
||||
|
|
@ -82,4 +82,4 @@ Any field in an entity not marked as `required` may be omitted or set to `null`.
|
|||
When serialized to a string, the JSON representation of an entity should follow the following rules:
|
||||
- Keys must be sorted lexicographically.
|
||||
- Should use UTF-8 encoding.
|
||||
- Must be **signed** using the relevant [User](/entities/users)'s private key, or the [Server Actor](/entities/server-actor)'s private key if the entity is not associated with a particular user.
|
||||
- Must be **signed** using the relevant [User](/entities/user)'s private key, or the [Server Actor](/entities/server-actor)'s private key if the entity is not associated with a particular user.
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ export const metadata = {
|
|||
|
||||
# Unfollow
|
||||
|
||||
Sometimes, [Users](/entities/users) want to unsubscribe from each other to stop seeing each other's content. The `Unfollow` defines such a change. {{ className: 'lead' }}
|
||||
Sometimes, [Users](/entities/user) want to unsubscribe from each other to stop seeing each other's content. The `Unfollow` defines such a change. {{ className: 'lead' }}
|
||||
|
||||
<Note>
|
||||
Refer to the [Follow](/entities/follow) entity for information on how follow relationships work.
|
||||
|
|
@ -21,7 +21,7 @@ Sometimes, [Users](/entities/users) want to unsubscribe from each other to stop
|
|||
|
||||
- Alice wants to remove Bob as a follower.
|
||||
|
||||
For the latter, use [FollowReject](/entities/follow-rejects).
|
||||
For the latter, use [FollowReject](/entities/follow-reject).
|
||||
</Note>
|
||||
|
||||
## Entity Definition
|
||||
|
|
@ -5,7 +5,7 @@ export const metadata = {
|
|||
|
||||
# Users
|
||||
|
||||
The `User` entity represents an account on a Lysand instance. Users can post [Notes](/entities/notes), follow other users, and interact with content. Users are identified by their `id` property, which is unique within the instance. {{ className: 'lead' }}
|
||||
The `User` entity represents an account on a Lysand instance. Users can post [Notes](/entities/note), follow other users, and interact with content. Users are identified by their `id` property, which is unique within the instance. {{ className: 'lead' }}
|
||||
|
||||
## Addresses
|
||||
|
||||
|
|
@ -115,13 +115,13 @@ Instance **must** be the host of the instance the user is on (hostname with opti
|
|||
The user's federation outbox. Refer to the [federation documentation](/federation).
|
||||
|
||||
### Followers
|
||||
User's followers. [Collection](/structures/collection) of [User](/entities/users) entities.
|
||||
User's followers. [Collection](/structures/collection) of [User](/entities/user) entities.
|
||||
|
||||
### Following
|
||||
Users that the user follows. [Collection](/structures/collection) of [User](/entities/users) entities.
|
||||
Users that the user follows. [Collection](/structures/collection) of [User](/entities/user) entities.
|
||||
|
||||
### Featured
|
||||
[Notes](/entities/notes) that the user wants to feature (also known as "pin") on their profile. [Collection](/structures/collection) of [Note](/entities/notes) entities.
|
||||
[Notes](/entities/note) that the user wants to feature (also known as "pin") on their profile. [Collection](/structures/collection) of [Note](/entities/note) entities.
|
||||
</Property>
|
||||
</Properties>
|
||||
|
||||
|
|
@ -26,7 +26,7 @@ Likes are a way for users to show appreciation for a note, like Twitter's "heart
|
|||
Creator of the Like.
|
||||
</Property>
|
||||
<Property name="liked" type="URI" required={true} typeLink="/types#uri">
|
||||
URI of the note being liked. Must link to a [Note](/entities/notes).
|
||||
URI of the note being liked. Must link to a [Note](/entities/note).
|
||||
</Property>
|
||||
</Properties>
|
||||
</Col>
|
||||
|
|
@ -64,7 +64,7 @@ Dislikes are a way for users to show disapproval for a note, like YouTube's "dis
|
|||
Creator of the Dislike.
|
||||
</Property>
|
||||
<Property name="disliked" type="URI" required={true} typeLink="/types#uri">
|
||||
URI of the note being disliked. Must link to a [Note](/entities/notes).
|
||||
URI of the note being disliked. Must link to a [Note](/entities/note).
|
||||
</Property>
|
||||
</Properties>
|
||||
</Col>
|
||||
|
|
@ -88,11 +88,11 @@ Dislikes are a way for users to show disapproval for a note, like YouTube's "dis
|
|||
|
||||
## Undoing Likes and Dislikes
|
||||
|
||||
To undo a like or dislike, a [Delete](/entities/deletes) entity should be used. The `deleted` property of the Delete entity should link to the Like or Dislike entity to be removed.
|
||||
To undo a like or dislike, a [Delete](/entities/delete) entity should be used. The `deleted` property of the Delete entity should link to the Like or Dislike entity to be removed.
|
||||
|
||||
## User Collections
|
||||
|
||||
The Likes extension adds the following collections to the [User](/entities/users) entity:
|
||||
The Likes extension adds the following collections to the [User](/entities/user) entity:
|
||||
|
||||
- `likes`: A [Collection](/structures/collection) of all the notes the user has liked.
|
||||
- `dislikes`: A [Collection](/structures/collection) of all the notes the user has disliked.
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ export const metadata = {
|
|||
|
||||
Lysand uses the HTTP protocol for all communications between instances. HTTP requests must conform to certain standards to ensure compatibility between different implementations, as well as to ensure the security and integrity of the data being exchanged.
|
||||
|
||||
ALL kinds of HTTP requests/responses between instances **MUST** include a [Signature](/signatures), signed with either the relevant [User](/entities/users)'s private key or the [Server Actor](/entities/server-actor)'s private key.
|
||||
ALL kinds of HTTP requests/responses between instances **MUST** include a [Signature](/signatures), signed with either the relevant [User](/entities/user)'s private key or the [Server Actor](/entities/server-actor)'s private key.
|
||||
|
||||
## Requests
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ The words **MUST**, **MUST NOT**, **SHOULD**, **SHOULD NOT**, and **MAY** are us
|
|||
</Note>
|
||||
|
||||
The Lysand Protocol uses the following terms:
|
||||
- **Entity**: A generic term for any JSON object in the protocol, such as an [Actor](./entities/actors), a [Note](./entities/notes), or a [Like](./entities/likes). Entities are uniquely identified by their `id` property.
|
||||
- **Entity**: A generic term for any JSON object in the protocol, such as an [Actor](./entities/actors), a [Note](./entities/note), or a [Like](./entities/likes). Entities are uniquely identified by their `id` property.
|
||||
- **Implementation**: A software application that implements the Lysand Protocol.
|
||||
- **Instance**: An application deploying an **Implementation**.
|
||||
- Using the same nomenclature, an ActivityPub Implementation would be `Mastodon`, and an Instance would be `mastodon.social`.
|
||||
|
|
|
|||
|
|
@ -271,13 +271,13 @@ export const navigation: NavGroup[] = [
|
|||
{
|
||||
title: "Entities",
|
||||
links: [
|
||||
{ title: "Delete", href: "/entities/deletes" },
|
||||
{ title: "Follow", href: "/entities/follows" },
|
||||
{ title: "FollowAccept", href: "/entities/follow-accepts" },
|
||||
{ title: "FollowReject", href: "/entities/follow-rejects" },
|
||||
{ title: "Notes", href: "/entities/notes" },
|
||||
{ title: "Unfollow", href: "/entities/unfollows" },
|
||||
{ title: "Users", href: "/entities/users" },
|
||||
{ title: "Delete", href: "/entities/delete" },
|
||||
{ title: "Follow", href: "/entities/follow" },
|
||||
{ title: "FollowAccept", href: "/entities/follow-accept" },
|
||||
{ title: "FollowReject", href: "/entities/follow-reject" },
|
||||
{ title: "Notes", href: "/entities/note" },
|
||||
{ title: "Unfollow", href: "/entities/unfollow" },
|
||||
{ title: "Users", href: "/entities/user" },
|
||||
],
|
||||
},
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in a new issue