refactor: 🚚 Do full rename of Lysand to Versia

This commit is contained in:
Jesse Wierzbinski 2024-08-13 16:47:37 +02:00
parent a106e7acef
commit 6414337a30
No known key found for this signature in database
21 changed files with 88 additions and 88 deletions

View file

@ -1,12 +1,12 @@
<p align="center">
<a href="https://lysand.org"><img src="https://cdn.lysand.org/logo-long-dark.webp" alt="Lysand Logo" height="110"></a>
<a href="https://versia.pub"><img src="https://cdn.lysand.org/logo-long-dark.webp" alt="Versia Logo" height="110"></a>
</p>
<h2 align="center">
<strong><code>Lysand Documentation</code></strong>
<strong><code>Versia Documentation</code></strong>
</h2>
<div align="center">
@ -24,7 +24,7 @@
<br/>
<p align="center">
<img src="public/screenshots/framed/ipad-home.webp" alt="Lysand on an iPad" height="400">
<img src="public/screenshots/framed/ipad-home.webp" alt="Versia on an iPad" height="400">
</p>
## Technologies

View file

@ -1,7 +1,7 @@
export const metadata = {
title: 'Changelog',
description:
'Changes since the last version of the Lysand protocol.',
'Changes since the last version of the Versia protocol.',
}
# Changelog

View file

@ -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/user) 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 Versia 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.
@ -97,12 +97,12 @@ Notes represent a piece of content on a Lysand instance. They can be posted by [
{
"id": "01902e09-0f8b-72de-8ee3-9afc0cf5eae1",
"type": "Note",
"uri": "https://social.lysand.org/objects/01902e09-0f8b-72de-8ee3-9afc0cf5eae1",
"uri": "https://versia.social/objects/01902e09-0f8b-72de-8ee3-9afc0cf5eae1",
"created_at": "2024-06-19T01:07:44.139Z",
"attachments": [ // [!code focus:100]
{
"image/png": {
"content": "https://cdn.lysand.org/29e810bf4707fef373d886af322089d5db300fce66e4e073efc26827f10825f6/image.webp",
"content": "https://cdn.versia.social/29e810bf4707fef373d886af322089d5db300fce66e4e073efc26827f10825f6/image.webp",
"remote": true,
"thumbhash": "1QcSHQRnh493V4dIh4eXh1h4kJUI",
"description": "",
@ -116,7 +116,7 @@ Notes represent a piece of content on a Lysand instance. They can be posted by [
},
{
"image/png": {
"content": "https://cdn.lysand.org/4f87598d377441e78f3c8cfa7bd7d19d61a7470bfe0abcbee6eb1de87279fb3b/image.webp",
"content": "https://cdn.versia.social/4f87598d377441e78f3c8cfa7bd7d19d61a7470bfe0abcbee6eb1de87279fb3b/image.webp",
"remote": true,
"thumbhash": "3PcNNYSFeXh/d3eld0iHZoZgVwh2",
"description": "",
@ -129,14 +129,14 @@ Notes represent a piece of content on a Lysand instance. They can be posted by [
}
}
],
"author": "https://social.lysand.org/users/018eb863-753f-76ff-83d6-fd590de7740a",
"author": "https://versia.social/users/018eb863-753f-76ff-83d6-fd590de7740a",
"category": "microblog",
"content": {
"text/html": {
"content": "<p>In the next lysand-fe update: account settings, finally!</p>"
"content": "<p>In the next versia-fe update: account settings, finally!</p>"
},
"text/plain": {
"content": "In the next lysand-fe update: account settings, finally!"
"content": "In the next versia-fe update: account settings, finally!"
}
},
"device": {
@ -145,14 +145,14 @@ Notes represent a piece of content on a Lysand instance. They can be posted by [
"url": "https://sk22.github.io/megalodon"
},
"extensions": {
"org.lysand:custom_emojis": {
"pub.versia:custom_emojis": {
"emojis": []
}
},
"group": "public",
"is_sensitive": false,
"mentions": [],
"subject": "Lysand development"
"subject": "Versia development"
}
```

View file

@ -1,16 +1,16 @@
export const metadata = {
title: 'Entities',
description:
'Entities are simple JSON objects that represent the core data structures in Lysand.',
'Entities are simple JSON objects that represent the core data structures in Versia.',
}
# Entities
Entities are the foundation of the Lysand protocol. A similar concept to entities are the [ActivityStreams](https://www.w3.org/TR/activitystreams-core/) objects, which are used to represent activities in the [ActivityPub](https://www.w3.org/TR/activitypub/) protocol. {{ className: 'lead' }}
Entities are the foundation of the Versia protocol. A similar concept to entities are the [ActivityStreams](https://www.w3.org/TR/activitystreams-core/) objects, which are used to represent activities in the [ActivityPub](https://www.w3.org/TR/activitypub/) protocol. {{ className: 'lead' }}
## Entity Definition
An entity is a simple JSON object that represents a core data structure in Lysand. Entities are used to represent various types of data, such as users, notes, and more. Each entity has a unique `id` property that is used to identify it within the instance.
An entity is a simple JSON object that represents a core data structure in Versia. Entities are used to represent various types of data, such as users, notes, and more. Each entity has a unique `id` property that is used to identify it within the instance.
Any field in an entity not marked as `required` may be omitted or set to `null`.
@ -22,7 +22,7 @@ Any field in an entity not marked as `required` may be omitted or set to `null`.
Unique identifier for the entity. Must be unique within the instance. Can be any string. Max of 512 UTF-8 characters.
</Property>
<Property name="type" type="string" required={true}>
Type of the entity. Only types defined in the Lysand protocol are allowed. Use an [Extension](/extensions) if you want to define custom types.
Type of the entity. Only types defined in the Versia protocol are allowed. Use an [Extension](/extensions) if you want to define custom types.
</Property>
<Property name="created_at" type="ISO8601" required={true} typeLink="/types#iso-8601">
Date and time when the entity was created. Must be an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) formatted string.
@ -67,7 +67,7 @@ Any field in an entity not marked as `required` may be omitted or set to `null`.
"zlorb_type": "giant",
"zlorb_size": "huge"
},
"org.lysand:location": {
"pub.versia:location": {
"latitude": 37.7749,
"longitude": -122.4194
}

View file

@ -5,7 +5,7 @@ export const metadata = {
# Users
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' }}
The `User` entity represents an account on a Versia 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
@ -19,8 +19,8 @@ Users may be represented by a shorthand address, in the following formats:
For example:
```
@jessew@social.lysand.org
@018ec082-0ae1-761c-b2c5-22275a611771@social.lysand.org
@jessew@versia.social
@018ec082-0ae1-761c-b2c5-22275a611771@versia.social
```
This is similar to an email address or an ActivityPub address.
@ -71,7 +71,7 @@ Instance **must** be the host of the instance the user is on (hostname with opti
A header image for the user's profile. Also known as a cover photo or a banner. Must be an image format (`image/*`).
</Property>
<Property name="public_key" type="PublicKey" required={true}>
The user's public key. Must follow the [Lysand Public Key](/signatures) format. `actor` may be a URI to another user's profile, in which case this key may allow the user to act on behalf of the other user (see [delegation](/delegation)).
The user's public key. Must follow the [Versia Public Key](/signatures) format. `actor` may be a URI to another user's profile, in which case this key may allow the user to act on behalf of the other user (see [delegation](/delegation)).
```typescript
type URI = string;
@ -132,7 +132,7 @@ Instance **must** be the host of the instance the user is on (hostname with opti
{
"id": "018ec082-0ae1-761c-b2c5-22275a611771",
"type": "User",
"uri": "https://social.lysand.org/users/018ec082-0ae1-761c-b2c5-22275a611771",
"uri": "https://versia.social/users/018ec082-0ae1-761c-b2c5-22275a611771",
"created_at": "2024-04-09T01:38:51.743Z",
"avatar": { // [!code focus:100]
"image/png": {
@ -148,16 +148,16 @@ Instance **must** be the host of the instance the user is on (hostname with opti
}
},
"collections": {
"featured": "https://social.lysand.org/users/018ec082-0ae1-761c-b2c5-22275a611771/featured",
"followers": "https://social.lysand.org/users/018ec082-0ae1-761c-b2c5-22275a611771/followers",
"following": "https://social.lysand.org/users/018ec082-0ae1-761c-b2c5-22275a611771/following",
"org.lysand:likes/Dislikes": "https://social.lysand.org/users/018ec082-0ae1-761c-b2c5-22275a611771/dislikes",
"org.lysand:likes/Likes": "https://social.lysand.org/users/018ec082-0ae1-761c-b2c5-22275a611771/likes",
"outbox": "https://social.lysand.org/users/018ec082-0ae1-761c-b2c5-22275a611771/outbox",
"featured": "https://versia.social/users/018ec082-0ae1-761c-b2c5-22275a611771/featured",
"followers": "https://versia.social/users/018ec082-0ae1-761c-b2c5-22275a611771/followers",
"following": "https://versia.social/users/018ec082-0ae1-761c-b2c5-22275a611771/following",
"pub.versia:likes/Dislikes": "https://versia.social/users/018ec082-0ae1-761c-b2c5-22275a611771/dislikes",
"pub.versia:likes/Likes": "https://versia.social/users/018ec082-0ae1-761c-b2c5-22275a611771/likes",
"outbox": "https://versia.social/users/018ec082-0ae1-761c-b2c5-22275a611771/outbox",
},
"display_name": "April The Pink (limited Sand Edition)",
"extensions": {
"org.lysand:custom_emojis": {
"pub.versia:custom_emojis": {
"emojis": []
}
},
@ -176,11 +176,11 @@ Instance **must** be the host of the instance the user is on (hostname with opti
}
],
"header": null,
"inbox": "https://social.lysand.org/users/018ec082-0ae1-761c-b2c5-22275a611771/inbox",
"inbox": "https://versia.social/users/018ec082-0ae1-761c-b2c5-22275a611771/inbox",
"indexable": false,
"manually_approves_followers": false,
"public_key": {
"actor": "https://social.lysand.org/users/018ec082-0ae1-761c-b2c5-22275a611771",
"actor": "https://versia.social/users/018ec082-0ae1-761c-b2c5-22275a611771",
"public_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
},
"username": "aprl"

View file

@ -20,7 +20,7 @@ Likes are a way for users to show appreciation for a note, like Twitter's "heart
<Col>
<Properties>
<Property name="extension_type" type="string" required={true}>
Must be `org.lysand:likes/Like`.
Must be `pub.versia:likes/Like`.
</Property>
<Property name="author" type="URI" required={true} typeLink="/types#uri">
Creator of the Like.
@ -37,7 +37,7 @@ Likes are a way for users to show appreciation for a note, like Twitter's "heart
{
"id": "3e7e4750-afd4-4d99-a256-02f0710a0520",
"type": "Extension",
"extension_type": "org.lysand:likes/Like",
"extension_type": "pub.versia:likes/Like",
"created_at": "2021-01-01T00:00:00.000Z",
"author": "https://example.com/users/6e0204a2-746c-4972-8602-c4f37fc63bbe",
"uri": "https://example.com/likes/3e7e4750-afd4-4d99-a256-02f0710a0520",
@ -58,7 +58,7 @@ Dislikes are a way for users to show disapproval for a note, like YouTube's "dis
<Col>
<Properties>
<Property name="extension_type" type="string" required={true}>
Must be `org.lysand:likes/Dislike`.
Must be `pub.versia:likes/Dislike`.
</Property>
<Property name="author" type="URI" required={true} typeLink="/types#uri">
Creator of the Dislike.
@ -75,7 +75,7 @@ Dislikes are a way for users to show disapproval for a note, like YouTube's "dis
{
"id": "3e7e4750-afd4-4d99-a256-02f0710a0520",
"type": "Extension",
"extension_type": "org.lysand:likes/Dislike",
"extension_type": "pub.versia:likes/Dislike",
"created_at": "2021-01-01T00:00:00.000Z",
"author": "https://example.com/users/6e0204a2-746c-4972-8602-c4f37fc63bbe",
"uri": "https://example.com/dislikes/3e7e4750-afd4-4d99-a256-02f0710a0520",
@ -103,7 +103,7 @@ The Likes extension adds the following collections to the [User](/entities/user)
...
"collections": {
...
"org.lysand:likes/Likes": "https://example.com/users/6e0204a2-746c-4972-8602-c4f37fc63bbe/likes",
"org.lysand:likes/Dislikes": "https://example.com/users/6e0204a2-746c-4972-8602-c4f37fc63bbe/dislikes"
"pub.versia:likes/Likes": "https://example.com/users/6e0204a2-746c-4972-8602-c4f37fc63bbe/likes",
"pub.versia:likes/Dislikes": "https://example.com/users/6e0204a2-746c-4972-8602-c4f37fc63bbe/dislikes"
}
}

View file

@ -68,7 +68,7 @@ All properties are optional.
Location does not need to be precise, and can be as simple as `+46+002/` (France) or `+48.52+002.20/` (Paris, France).
</Property>
<Property name="aliases" type="URI[]" required={false} typeLink="/types#uri">
Lysand profiles that should be considered aliases of this profile.
Versia profiles that should be considered aliases of this profile.
</Property>
</Properties>
</Col>
@ -81,7 +81,7 @@ All properties are optional.
"type": "User",
// ...
"extensions": { // [!code focus:100]
"org.lysand:vanity": {
"pub.versia:vanity": {
"avatar_overlays": [
{
"image/png": {
@ -124,7 +124,7 @@ All properties are optional.
"location": "+40.6894-074.0447/",
"aliases": [
"https://burger.social/accounts/349ee237-c672-41c1-aadc-677e185f795a",
"https://social.lysand.org/users/f565ef02-035d-4974-ba5e-f62a8558331d"
"https://versia.social/users/f565ef02-035d-4974-ba5e-f62a8558331d"
]
}
}

View file

@ -12,7 +12,7 @@ export const metadata = {
If testing proves unsuccessful, this draft may be abandoned.
</Note>
Typically, communication between Lysand instances is done via HTTP. However, HTTP suffers from some limitations, such as high latency and heavy overhead for small messages, making it less suitable for exchanging large amounts of entities at acceptable speeds. {{ className: 'lead' }}
Typically, communication between Versia instances is done via HTTP. However, HTTP suffers from some limitations, such as high latency and heavy overhead for small messages, making it less suitable for exchanging large amounts of entities at acceptable speeds. {{ className: 'lead' }}
This extension aims to address these limitations by adding support for the exchange of entities using WebSockets.

View file

@ -1,12 +1,12 @@
export const metadata = {
title: 'HTTP',
description:
'How Lysand uses the HTTP protocol for all communications between instances.',
'How Versia uses the HTTP protocol for all communications between instances.',
}
# HTTP
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.
Versia 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/user)'s private key or the [Server Actor](/entities/server-actor)'s private key.

View file

@ -3,16 +3,16 @@ import { Guides, Guide } from '@/components/Guides';
export const metadata = {
title: 'Federation',
description:
'Description of federation behavior in Lysand.',
'Description of federation behavior in Versia.',
}
# Federation
Being a federation protocol, Lysand defines a set of rules for exchanging data between instances. This document outlines the behavior of instances in a Lysand federated network. {{ className: 'lead' }}
Being a federation protocol, Versia defines a set of rules for exchanging data between instances. This document outlines the behavior of instances in a Versia federated network. {{ className: 'lead' }}
Federation is built on the [HyperText Transfer Protocol (HTTP)](https://tools.ietf.org/html/rfc7230) and the [JavaScript Object Notation (JSON)](https://tools.ietf.org/html/rfc7159) data format. Instances communicate with each other by sending and receiving JSON payloads over HTTP.
<Guides>
<Guide name="HTTP Guidelines" href="/federation/http" description="Guidelines for HTTP communication in Lysand." />
<Guide name="Validation" href="/federation/validation" description="Validation rules for Lysand implementations." />
<Guide name="HTTP Guidelines" href="/federation/http" description="Guidelines for HTTP communication in Versia." />
<Guide name="Validation" href="/federation/validation" description="Validation rules for Versia implementations." />
</Guides>

View file

@ -1,12 +1,12 @@
export const metadata = {
title: 'Validation',
description:
'Validation rules for Lysand implementations.',
'Validation rules for Versia implementations.',
}
# Validation
Implementations **MUST** strictly validate all incoming data to ensure that it is well-formed and adheres to the Lysand Protocol. If a request is invalid, the server **MUST** return a `400 Bad Request` HTTP status code.
Implementations **MUST** strictly validate all incoming data to ensure that it is well-formed and adheres to the Versia Protocol. If a request is invalid, the server **MUST** return a `400 Bad Request` HTTP status code.
<Note>
Remember that while *your* implementation may disallow or restrict some user input, other implementations may not. You **should not** apply those restrictions to data coming from other instances.
@ -33,4 +33,4 @@ Things that should be validated include, but are not limited to:
- The **validity** of all URLs and URIs (run them through your favorite URL parser, optionally fetch the linked URL).
- The **time** of all dates and times (people should not be born in the future, or in the year 0).
It is your implementation's duty to reject data from other instances that does not adhere to the strict spec. **This is crucial to ensure the integrity of your instance and the network as a whole**. Allowing data that is technically valid but semantically incorrect can lead to the degradation of the entire Lysand ecosystem.
It is your implementation's duty to reject data from other instances that does not adhere to the strict spec. **This is crucial to ensure the integrity of your instance and the network as a whole**. Allowing data that is technically valid but semantically incorrect can lead to the degradation of the entire Versia ecosystem.

View file

@ -2,8 +2,8 @@ import { Resources } from '@/components/Resources'
import { HeroPattern } from '@/components/HeroPattern'
export const metadata = {
title: 'Lysand Documentation',
description: 'Introduction to the Lysand Protocol, a communication medium for federated applications, leveraging the HTTP stack.',
title: 'Versia Documentation',
description: 'Introduction to the Versia Protocol, a communication medium for federated applications, leveraging the HTTP stack.',
}
export const sections = [
@ -14,9 +14,9 @@ export const sections = [
<HeroPattern />
# Lysand Federation Protocol
# Versia Federation Protocol
The Lysand Protocol is designed as a communication medium for federated applications, leveraging the HTTP stack. Its simplicity ensures ease of implementation and comprehension. {{ className: 'lead' }}
The Versia Protocol is designed as a communication medium for federated applications, leveraging the HTTP stack. Its simplicity ensures ease of implementation and comprehension. {{ className: 'lead' }}
<div className="not-prose mb-16 mt-6 flex gap-3">
<Button href="/entities" arrow="right">
@ -33,20 +33,20 @@ The Lysand Protocol is designed as a communication medium for federated applicat
The words **MUST**, **MUST NOT**, **SHOULD**, **SHOULD NOT**, and **MAY** are used in this document as defined in [RFC 2119](https://tools.ietf.org/html/rfc2119).
</Note>
The Lysand Protocol uses the following terms:
The Versia 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/note), or a [Like](./entities/likes). Entities are uniquely identified by their `id` property.
- **Implementation**: A software application that implements the Lysand Protocol.
- **Implementation**: A software application that implements the Versia Protocol.
- **Instance**: An application deploying an **Implementation**.
- Using the same nomenclature, an ActivityPub Implementation would be `Mastodon`, and an Instance would be `mastodon.social`.
- **Federation**: The process of exchanging data between two or more **Instances**.
## Philosophy
The Lysand Protocol is heavily inspired by the [ActivityPub](https://www.w3.org/TR/activitypub/) specification. It is designed to be simple and easy to implement, with a focus on the following concepts:
The Versia Protocol is heavily inspired by the [ActivityPub](https://www.w3.org/TR/activitypub/) specification. It is designed to be simple and easy to implement, with a focus on the following concepts:
- **Simple Structures**: Entities are represented as JSON objects. No JSON-LD, no complex data structures, just plain JSON.
- **Modularity**: The protocol is divided into a **core protocol** and **extensions**. Implementations can choose to support only the core protocol or add extensions as needed.
- **Namespacing**: To avoid extension conflicts, all extensions are namespaced.
- **Signatures**: Most types of interactions **must** be signed with a private key. Unlike other protocols, signatures are **mandatory**, not optional.
- **Developer-Friendliness**: Understanding and implementing your own Lysand server should be easy. Documentation is aimed at developers first.
- **Developer-Friendliness**: Understanding and implementing your own Versia server should be easy. Documentation is aimed at developers first.
<Resources />

View file

@ -11,16 +11,16 @@ import type { ReactNode } from "react";
export const metadata: Metadata = {
title: {
template: "%s • Lysand API Reference",
default: "Lysand API Reference",
template: "%s • Versia API Reference",
default: "Versia API Reference",
},
keywords: ["federation", "api", "reference", "documentation", "lysand"],
metadataBase: new URL("https://dev.lysand.org"),
keywords: ["federation", "api", "reference", "documentation", "versia"],
metadataBase: new URL("https://versia.pub"),
openGraph: {
type: "article",
images: {
url: logo.src,
alt: "Lysand logo",
alt: "Versia logo",
height: logo.height,
width: logo.width,
type: "image/webp",

View file

@ -5,9 +5,9 @@ import type { Metadata } from "next";
import type { FC } from "react";
export const metadata: Metadata = {
title: "Lysand Documentation",
title: "Versia Documentation",
description:
"Introduction to the Lysand Protocol, a communication medium for federated applications, leveraging the HTTP stack.",
"Introduction to the Versia Protocol, a communication medium for federated applications, leveraging the HTTP stack.",
};
const Page: FC = () => {
@ -20,7 +20,7 @@ const Page: FC = () => {
{
name: "MIT licensed",
description:
"Lysand is licensed under the MIT License, which allows you to use it for any purpose.",
"Versia is licensed under the MIT License, which allows you to use it for any purpose.",
icon: "tabler:license",
},
{
@ -32,7 +32,7 @@ const Page: FC = () => {
{
name: "Easy to implement",
description:
"Lysand is designed to be easy to implement in any language.",
"Versia is designed to be easy to implement in any language.",
icon: "tabler:code",
},
{
@ -65,7 +65,7 @@ const Page: FC = () => {
<>
<div className="relative z-10 max-w-2xl lg:pt-6">
<h1 className="text-5xl font-semibold tracking-tight leading-3 text-brand-600 dark:text-brand-400">
Lysand
Versia
</h1>
<h1 className="text-4xl sm:text-5xl font-semibold tracking-tight">
Federation, simpler
@ -79,8 +79,8 @@ const Page: FC = () => {
<h2>Made by developers</h2>
<p className="lead">
Lysand is designed and maintained by the developers of the
Lysand Server, which uses Lysand for federation. This
Versia is designed and maintained by the developers of the
Versia Server, which uses Versia for federation. This
community could include you! Check out our{" "}
<a
href="https://github.com/lysand-org/lysand"
@ -123,7 +123,7 @@ const Page: FC = () => {
url: "https://mk.cpluspatch.com/@jessew",
},
{
name: "Lysand",
name: "Versia",
icon: "bx:server",
url: "https://social.lysand.org/@jessew",
},
@ -161,7 +161,7 @@ const Page: FC = () => {
url: "https://donotsta.re/april",
},
{
name: "Lysand",
name: "Versia",
icon: "bx:server",
url: "https://social.lysand.org/@aprl",
},

View file

@ -1,9 +1,9 @@
import { Libraries } from '@/components/Libraries'
export const metadata = {
title: 'Lysand SDKs',
title: 'Versia SDKs',
description:
'Lysand offers well-written SDKs in various languages to help you create Lysand applications with ease.',
'Versia offers well-written SDKs in various languages to help you create Lysand applications with ease.',
}
export const sections = [

View file

@ -1,12 +1,12 @@
export const metadata = {
title: 'Signatures',
description:
'Learn how signatures work, and how to implement them in your Lysand server.',
'Learn how signatures work, and how to implement them in your Versia server.',
}
# Signatures
Lysand uses cryptographic signatures to ensure the integrity and authenticity of data. Signatures are used to verify that the data has not been tampered with and that it was created by the expected user. {{ className: 'lead' }}
Versia uses cryptographic signatures to ensure the integrity and authenticity of data. Signatures are used to verify that the data has not been tampered with and that it was created by the expected user. {{ className: 'lead' }}
<Note>
This part is very important! If signatures are implemented incorrectly in your server, **you will not be able to federate**.

View file

@ -53,17 +53,17 @@ Pages should be limited to a reasonable number of entities, such as 20 or 80.
```jsonc {{ 'title': 'Example Collection' }}
{
"author": "https://social.lysand.org/users/018ec082-0ae1-761c-b2c5-22275a611771",
"first": "https://social.lysand.org/users/018ec082-0ae1-761c-b2c5-22275a611771/outbox?page=1",
"last": "https://social.lysand.org/users/018ec082-0ae1-761c-b2c5-22275a611771/outbox?page=3",
"author": "https://versia.social/users/018ec082-0ae1-761c-b2c5-22275a611771",
"first": "https://versia.social/users/018ec082-0ae1-761c-b2c5-22275a611771/outbox?page=1",
"last": "https://versia.social/users/018ec082-0ae1-761c-b2c5-22275a611771/outbox?page=3",
"total": 46,
"next": "https://social.lysand.org/users/018ec082-0ae1-761c-b2c5-22275a611771/outbox?page=2",
"next": "https://versia.social/users/018ec082-0ae1-761c-b2c5-22275a611771/outbox?page=2",
"prev": null,
"items": [
{
"id": "456df8ed-daf1-4062-abab-491071c7b8dd",
"type": "Note",
"uri": "https://social.lysand.org/notes/456df8ed-daf1-4062-abab-491071c7b8dd",
"uri": "https://versia.social/notes/456df8ed-daf1-4062-abab-491071c7b8dd",
"created_at": "2024-04-09T01:38:51.743Z",
"content": {
"text/plain": {

View file

@ -6,7 +6,7 @@ export const metadata = {
# Custom Emoji
<Note>
This structure is part of the [Custom Emojis](/extensions/custom-emojis) extension. As such, it is not part of the core Lysand specification.
This structure is part of the [Custom Emojis](/extensions/custom-emojis) extension. As such, it is not part of the core Versia specification.
If you are not implementing the Custom Emojis extension, you can ignore this structure.
</Note>

View file

@ -13,7 +13,7 @@ export function Logo(props: ComponentPropsWithoutRef<"div">) {
>
<img src={logo.src} alt="Logo" className="h-full rounded-sm" />
<span className="fill-zinc-900 dark:fill-white font-semibold text-lg">
Lysand Protocol
Versia Protocol
</span>
</div>
);

View file

@ -43,7 +43,7 @@ const resources: ResourceType[] = [
href: "/security",
name: "Security",
description:
"Learn how to secure your Lysand implementation and protect your users' data.",
"Learn how to secure your Versia implementation and protect your users' data.",
icon: "tabler:building-bank",
pattern: {
y: -6,

View file

@ -1,5 +1,5 @@
{
"name": "@lysand-org/docs",
"name": "@versia-pub/docs",
"version": "0.1.0",
"private": true,
"scripts": {