mirror of
https://github.com/versia-pub/docs.git
synced 2025-12-06 14:28:20 +01:00
docs: 📝 Finish main page, add guides
This commit is contained in:
parent
5ab772df21
commit
3545bf525f
16
app/page.mdx
16
app/page.mdx
|
|
@ -4,13 +4,12 @@ import { HeroPattern } from '@/components/HeroPattern'
|
||||||
|
|
||||||
export const metadata = {
|
export const metadata = {
|
||||||
title: 'Lysand Documentation',
|
title: 'Lysand Documentation',
|
||||||
description:
|
description: 'Introduction to the Lysand Protocol, a communication medium for federated applications, leveraging the HTTP stack.',
|
||||||
'Introduction to the Lysand Protocol, a communication medium for federated applications, leveraging the HTTP stack.',
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export const sections = [
|
export const sections = [
|
||||||
{ title: 'Vocabulary', id: 'vocabulary' },
|
{ title: 'Vocabulary', id: 'vocabulary' },
|
||||||
{ title: 'Guides', id: 'guides' },
|
{ title: 'Basic Concepts', id: 'basic-concepts' },
|
||||||
{ title: 'Resources', id: 'resources' },
|
{ title: 'Resources', id: 'resources' },
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
@ -42,6 +41,15 @@ The Lysand Protocol uses the following terms:
|
||||||
- Using the same nomenclature, an ActivityPub Implementation would be `Mastodon`, and an Instance would be `mastodon.social`.
|
- 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**.
|
- **Federation**: The process of exchanging data between two or more **Instances**.
|
||||||
|
|
||||||
<Guides />
|
## 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:
|
||||||
|
- **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.
|
||||||
|
|
||||||
|
{/* <Guides /> */}
|
||||||
|
|
||||||
<Resources />
|
<Resources />
|
||||||
|
|
|
||||||
|
|
@ -7,23 +7,6 @@ const guides = [
|
||||||
name: "Authentication",
|
name: "Authentication",
|
||||||
description: "Learn how to authenticate your API requests.",
|
description: "Learn how to authenticate your API requests.",
|
||||||
},
|
},
|
||||||
{
|
|
||||||
href: "/pagination",
|
|
||||||
name: "Pagination",
|
|
||||||
description: "Understand how to work with paginated responses.",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
href: "/errors",
|
|
||||||
name: "Errors",
|
|
||||||
description:
|
|
||||||
"Read about the different types of errors returned by the API.",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
href: "/webhooks",
|
|
||||||
name: "Webhooks",
|
|
||||||
description:
|
|
||||||
"Learn how to programmatically configure webhooks for your app.",
|
|
||||||
},
|
|
||||||
];
|
];
|
||||||
|
|
||||||
export function Guides() {
|
export function Guides() {
|
||||||
|
|
|
||||||
|
|
@ -16,8 +16,6 @@ import type {
|
||||||
import { GridPattern } from "./GridPattern";
|
import { GridPattern } from "./GridPattern";
|
||||||
import { Heading } from "./Heading";
|
import { Heading } from "./Heading";
|
||||||
import { ChatBubbleIcon } from "./icons/ChatBubbleIcon";
|
import { ChatBubbleIcon } from "./icons/ChatBubbleIcon";
|
||||||
import { EnvelopeIcon } from "./icons/EnvelopeIcon";
|
|
||||||
import { UserIcon } from "./icons/UserIcon";
|
|
||||||
import { UsersIcon } from "./icons/UsersIcon";
|
import { UsersIcon } from "./icons/UsersIcon";
|
||||||
|
|
||||||
interface Resource {
|
interface Resource {
|
||||||
|
|
@ -33,11 +31,11 @@ interface Resource {
|
||||||
|
|
||||||
const resources: Resource[] = [
|
const resources: Resource[] = [
|
||||||
{
|
{
|
||||||
href: "/contacts",
|
href: "/entities",
|
||||||
name: "Contacts",
|
name: "Entities",
|
||||||
description:
|
description:
|
||||||
"Learn about the contact model and how to create, retrieve, update, delete, and list contacts.",
|
"Learn how Entities work and how to use them to transmit federated data.",
|
||||||
icon: UserIcon,
|
icon: ChatBubbleIcon,
|
||||||
pattern: {
|
pattern: {
|
||||||
y: 16,
|
y: 16,
|
||||||
squares: [
|
squares: [
|
||||||
|
|
@ -47,11 +45,11 @@ const resources: Resource[] = [
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
href: "/conversations",
|
href: "/security",
|
||||||
name: "Conversations",
|
name: "Security",
|
||||||
description:
|
description:
|
||||||
"Learn about the conversation model and how to create, retrieve, update, delete, and list conversations.",
|
"Learn how to secure your Lysand implementation and protect your users' data.",
|
||||||
icon: ChatBubbleIcon,
|
icon: UsersIcon,
|
||||||
pattern: {
|
pattern: {
|
||||||
y: -6,
|
y: -6,
|
||||||
squares: [
|
squares: [
|
||||||
|
|
@ -60,31 +58,6 @@ const resources: Resource[] = [
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
|
||||||
href: "/messages",
|
|
||||||
name: "Messages",
|
|
||||||
description:
|
|
||||||
"Learn about the message model and how to create, retrieve, update, delete, and list messages.",
|
|
||||||
icon: EnvelopeIcon,
|
|
||||||
pattern: {
|
|
||||||
y: 32,
|
|
||||||
squares: [
|
|
||||||
[0, 2],
|
|
||||||
[1, 4],
|
|
||||||
],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
href: "/groups",
|
|
||||||
name: "Groups",
|
|
||||||
description:
|
|
||||||
"Learn about the group model and how to create, retrieve, update, delete, and list groups.",
|
|
||||||
icon: UsersIcon,
|
|
||||||
pattern: {
|
|
||||||
y: 22,
|
|
||||||
squares: [[0, 1]],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
];
|
];
|
||||||
|
|
||||||
function ResourceIcon({ icon: Icon }: { icon: Resource["icon"] }) {
|
function ResourceIcon({ icon: Icon }: { icon: Resource["icon"] }) {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue