2024-12-24 13:34:22 +01:00
import { Guide } from "@/components/Guides" ;
2024-07-23 02:25:45 +02:00
import { Resource , type ResourceType } from "@/components/Resources" ;
2024-08-10 00:04:01 +02:00
import { TeamMember } from "@/components/Team" ;
2024-07-23 02:25:45 +02:00
import { wrapper } from "@/components/mdx" ;
import type { Metadata } from "next" ;
import type { FC } from "react" ;
export const metadata : Metadata = {
2024-08-13 16:47:37 +02:00
title : "Versia Documentation" ,
2024-07-23 02:25:45 +02:00
description :
2024-08-13 16:47:37 +02:00
"Introduction to the Versia Protocol, a communication medium for federated applications, leveraging the HTTP stack." ,
2024-07-23 02:25:45 +02:00
} ;
const Page : FC = ( ) = > {
const resources : ResourceType [ ] = [
{
name : "JSON-based APIs" ,
description : "Simple JSON objects are used to represent all data." ,
icon : "tabler:code-dots" ,
} ,
{
name : "MIT licensed" ,
description :
2024-08-13 16:47:37 +02:00
"Versia is licensed under the MIT License, which allows you to use it for any purpose." ,
2024-07-23 02:25:45 +02:00
icon : "tabler:license" ,
} ,
{
name : "Built-in namespaced extensions" ,
description :
"Extensions for common use cases are built-in, such as custom emojis and reactions" ,
icon : "tabler:puzzle" ,
} ,
{
name : "Easy to implement" ,
description :
2024-08-13 16:47:37 +02:00
"Versia is designed to be easy to implement in any language." ,
2024-07-23 02:25:45 +02:00
icon : "tabler:code" ,
} ,
{
name : "Signed by default" ,
description :
"All requests are signed using advanced cryptographic algorithms." ,
icon : "tabler:shield-check" ,
} ,
{
name : "No vendor lock-in" ,
description :
"Standardization is heavy and designed to break vendor lock-in." ,
icon : "tabler:database" ,
} ,
{
2024-12-24 13:34:22 +01:00
name : "Tested in production :)" ,
2024-07-23 02:25:45 +02:00
description :
2024-12-24 13:34:22 +01:00
"We know it works well, because we use it in our own projects." ,
2024-07-23 02:25:45 +02:00
icon : "tabler:shield" ,
} ,
{
name : "Official SDKs" ,
description : "Official SDKs are available for TypeScript" ,
icon : "tabler:plug" ,
} ,
] ;
return wrapper ( {
children : (
< >
< div className = "relative z-10 max-w-2xl lg:pt-6" >
2024-07-27 15:37:58 +02:00
< h1 className = "text-5xl font-semibold tracking-tight leading-3 text-brand-600 dark:text-brand-400" >
2024-08-13 16:47:37 +02:00
Versia
2024-07-23 02:25:45 +02:00
< / h1 >
< h1 className = "text-4xl sm:text-5xl font-semibold tracking-tight" >
Federation , simpler
< / h1 >
< p className = "mt-6 text-lg" >
A simple , extensible federated protocol for building
2024-08-14 15:43:36 +02:00
useful applications . Formerly known as Lysand .
2024-07-23 02:25:45 +02:00
< / p >
< / div >
< h2 > Made by developers < / h2 >
< p className = "lead" >
2024-08-13 16:47:37 +02:00
Versia is designed and maintained by the developers of the
Versia Server , which uses Versia for federation . This
2024-07-23 02:25:45 +02:00
community could include you ! Check out our { " " }
< a
2024-08-27 21:46:21 +02:00
href = "https://github.com/versia-pub/server"
2024-07-23 02:25:45 +02:00
target = "_blank"
rel = "noopener noreferrer"
>
Git repository
< / a > { " " }
to see how you can contribute .
< / p >
< div className = "not-prose mt-4 grid grid-cols-1 max-w-full gap-8 border-t border-zinc-900/5 pt-10 sm:grid-cols-2 xl:grid-cols-4 dark:border-white/5" >
{ resources . map ( ( resource ) = > (
< Resource key = { resource . name } resource = { resource } / >
) ) }
< / div >
2024-08-10 00:04:01 +02:00
2024-12-24 13:34:22 +01:00
< h2 > Try it out < / h2 >
< p className = "lead" >
Use the reference implementation , { " " }
< strong > Versia Server < / strong > ! It ' s a microblogging server
with a focus on feeling like current Fediverse platforms ,
like Sharkey and Mastodon .
< / p >
< Guide
name = "Versia Server"
href = "https://github.com/versia-pub/server"
description = "The reference implementation of the Versia protocol."
/ >
< h2 > Try a Versia instance < / h2 >
< p className = "lead" >
If you want to try out Versia without setting up your own
instance , you can use one of the following public instances :
< / p >
< ul >
< li >
< a
href = "https://beta.versia.social"
target = "_blank"
rel = "noopener noreferrer"
>
< code > beta . versia . social < / code >
< / a > { " " }
( send an email to { " " }
< a
href = { ` mailto:aprl@versia.pub?subject= ${ encodeURIComponent ( "beta.versia.social Account Request" ) } &body= ${ encodeURIComponent ( "Hello, I would like to request an account on beta.versia.social." ) } ` }
>
< code > aprl @versia . pub < / code >
< / a > { " " }
for an account )
< / li >
< / ul >
< h2 id = "team" > People < / h2 >
< p className = "lead" >
You can ask < code > Jesse < / code > for help with anything
Versia - related , or if you just want to chat !
< / p >
2024-08-10 00:04:01 +02:00
< div className = "not-prose mt-4 grid grid-cols-1 max-w-full gap-8 border-t border-zinc-900/5 pt-10 sm:grid-cols-2 xl:grid-cols-3 dark:border-white/5" >
< TeamMember
name = "Jesse"
bio = "Lead developer, spec design, UI design."
username = "CPlusPatch"
avatarUrl = "https://avatars.githubusercontent.com/u/42910258?v=4"
socials = { [
{
name : "Website" ,
icon : "bx:link" ,
url : "https://cpluspatch.com" ,
} ,
{
name : "GitHub" ,
icon : "bxl:github" ,
url : "https://github.com/cpluspatch" ,
} ,
{
name : "Fediverse" ,
icon : "bxl:mastodon" ,
url : "https://mk.cpluspatch.com/@jessew" ,
} ,
{
2024-08-13 16:47:37 +02:00
name : "Versia" ,
2024-08-10 00:04:01 +02:00
icon : "bx:server" ,
2024-12-07 10:52:27 +01:00
url : "https://beta.versia.social/@jessew" ,
2024-08-10 00:04:01 +02:00
} ,
{
name : "Matrix" ,
icon : "simple-icons:matrix" ,
url : "https://matrix.to/#/@jesse:cpluspatch.dev" ,
} ,
{
name : "Signal" ,
icon : "simple-icons:signal" ,
2024-12-24 13:34:22 +01:00
url : "https://signal.me/#eu/Qw6gQXvEfcNrgEFgl-KjOBFiF6-3gWSSghgcpSj9dSedVFIPny5NYazioN5t7E24" ,
2024-08-10 00:04:01 +02:00
} ,
{
name : "Email" ,
icon : "bx:bxs-envelope" ,
url : "mailto:contact@cpluspatch.com" ,
} ,
] }
/ >
< TeamMember
name = "April"
bio = "Spec design, ActivityPub bridge, emotional support cat."
username = "aprl"
avatarUrl = "https://avatars.githubusercontent.com/u/30842467?v=4"
socials = { [
{
name : "GitHub" ,
icon : "bxl:github" ,
url : "https://github.com/cutestnekoaqua" ,
} ,
{
name : "Fediverse" ,
icon : "bxl:mastodon" ,
url : "https://donotsta.re/april" ,
} ,
{
2024-08-13 16:47:37 +02:00
name : "Versia" ,
2024-08-10 00:04:01 +02:00
icon : "bx:server" ,
2024-12-07 10:52:27 +01:00
url : "https://beta.versia.social/@aprl" ,
2024-08-10 00:04:01 +02:00
} ,
{
name : "Matrix" ,
icon : "simple-icons:matrix" ,
url : "https://matrix.to/#/@aprl:uwu.is" ,
} ,
{
name : "Email" ,
icon : "bx:bxs-envelope" ,
url : "mailto:aprl@acab.dev" ,
} ,
] }
/ >
< TeamMember
name = "Anna"
username = "devminer"
avatarUrl = "https://i.imgur.com/grHNY7G.png"
bio = "Golang SDK, spec design."
socials = { [
{
name : "Website" ,
icon : "bx:link" ,
url : "https://devminer.xyz/" ,
} ,
{
name : "GitHub" ,
icon : "bxl:github" ,
url : "https://github.com/TheDevMinerTV" ,
} ,
{
name : "Matrix" ,
icon : "simple-icons:matrix" ,
url : "https://matrix.to/#/@devminer:devminer.xyz" ,
} ,
] }
/ >
< / div >
2024-07-23 02:25:45 +02:00
< / >
) ,
} ) ;
} ;
export default Page ;