|
|
||
|---|---|---|
| .github | ||
| .vscode | ||
| app | ||
| assets | ||
| components | ||
| composables | ||
| layouts | ||
| messages | ||
| pages | ||
| plugins | ||
| project.inlang | ||
| public | ||
| server/plugins | ||
| styles | ||
| utils | ||
| .dockerignore | ||
| .editorconfig | ||
| .gitignore | ||
| app.vue | ||
| biome.json | ||
| bun.lockb | ||
| components.json | ||
| Dockerfile | ||
| index.d.ts | ||
| LICENSE | ||
| nuxt.config.ts | ||
| package.json | ||
| README.md | ||
| settings.ts | ||
| sws.toml | ||
| tailwind.config.ts | ||
| tsconfig.json | ||
Versia Frontend
Features
- Timelines: public, home, local
- Login
- Notifications
- Replies
- Quotes
- Markdown posts (quasi-unrestricted)
- Dark mode
- Following
- Multiple accounts
- Custom Emojis
- Versia Server Permissions support
- Note editing
- Alt text support everywhere
- Media uploads
- WCAG 2.2 AAA testing
- Settings
- Profile editing
Browser Support
The following browsers are supported (issues will be prioritized):
- Chromium:
110+ - Firefox:
110+ - Safari:
16+ - IE: None.
The following browsers will very likely work, but are not officially supported:
- Chromium:
80+ - Firefox:
80+ - Safari:
12+ - IE: None.
Other browsers may work, but are not guaranteed to.
Performance
JavaScript
The total JavaScript bundle size is less than 1000 kB, but this is made even smaller by the fact that the bundle is split into multiple files, and only the necessary files are loaded on each page.
Benchmarks
Soon™.
Installation
Versia-FE is included in the provided docker-compose file during Versia Server installation.
To have Versia-FE and Versia Server running on the same domain, edit the Versia Server configuration to point to the Versia-FE container's address (frontend category inside config).
Manual Installation
Here are the steps to install Versia-FE manually:
Docker/Podman
services:
fe:
image: ghcr.io/versia-pub/frontend:main
container_name: versia-fe
restart: unless-stopped
networks:
- versia-net
Then, the frontend will be available at http://localhost:3000 inside the container.
Tip
By default, Versia-FE will connect to any Versia Server instance running on the same domain.
You can set the
NUXT_PUBLIC_API_HOSTenvironment variable to point to a different Versia Server instance.
Manual
- Clone the repository.
git clone https://github.com/versia-pub/frontend.git
- Install dependencies.
bun install
- Build the project.
bun run build
- Serve the static files in the
.output/publicdirectory.
Warning
.output/public/200.htmlshould be configured as a fallback for all 404 errors.
Development
Run bun run emojis:generate to generate the emoji list before building or running the project.
License
This project is licensed under the AGPL 3.0 - see the LICENSE file for details.
All Versia assets (icon, logo, banners, etc) are licensed under CC-BY-NC-SA-4.0.
Misskey Audio
The public/packs/audio/misskey directory contains audio files from the Misskey project, which are licensed under the AGPL 3.0.
Acknowledgments
Projects
- Bun: Thanks to the Bun team for creating an amazing JavaScript runtime.
- Nuxt: Thanks to the Nuxt team for creating an amazing Vue framework.
People
- April John: Creator and maintainer of the Versia Server ActivityPub bridge.