Svelte 57.5%
TypeScript 33.5%
CSS 5.4%
JavaScript 2.9%
HTML 0.7%
Other 0.1%
3 1 0

Clone this repository

https://tangled.org/ewancroft.uk/linkat-directory
git@tangled.org:ewancroft.uk/linkat-directory

For self-hosted knots, clone URLs may differ based on your setup.

README.md

Website Template#

No Maintenance Intended

This repository provides a versatile frontend template, primarily designed for WhiteWind, a Markdown blog service utilising ATProto. It is built upon a customised version of WhiteBreeze, specifically derived from commit ff402f3 of my website.

This template offers a pre-configured starting point with a robust structure, ready for customisation across various frontend projects, though its core focus remains WhiteWind compatibility.

Purpose#

This project serves as a foundational template to streamline the creation of WhiteWind-compatible blog frontends. It leverages the WhiteBreeze framework to provide a robust and customisable base for displaying AT Protocol-based blog posts.

Installation#

To commence using this template, ensure Node.js and npm are installed on your system.

Prerequisites#

  • Node.js (LTS version recommended)
  • npm (comes with Node.js)
  • Docker and Docker Compose (for Dockerised deployment)

Environment Variables#

Prior to running the application, configure the following environment variables within a .env file located in the project root:

PUBLIC_ATPROTOCOL_USER="myhandle.bsky.social" # Your handle, or DID

Note#

You should also add your DID to the .static/.well-known/atproto-did file if you want to use your domain as your AT Protocol handle.

Optional Environment Variables#

  • PUBLIC_LASTFM_USERNAME: Required for the Now Playing (Last.fm) feature in src/lib/components/profile/Status.svelte.
  • PUBLIC_ACTIVITYPUB_USER=@user@server.tld: Enables ActivityPub compatibility for improved content sharing and discoverability.

Usage#

Development#

To run the project in development mode:

npm install
npm run dev

Production#

For optimal production deployment, the following record types are required in your AT Protocol repository:

Required Records#

  • app.bsky.actor.profile: Your profile.
  • com.whtwnd.blog.entry: Your blog posts.
  • blue.linkat.board: Your links.

Deployment#

Standalone#

To build and run the project as a standalone application:

npm install
npm run build
node index.js

Environment variables can be set before the last command, and the port can be configured with the PORT variable.

Dockerised#

To deploy using Docker:

  1. Modify compose.yaml to change the host port if necessary.
  2. Run the following command:
docker compose up -d

Licensing#

This project is a template based on WhiteBreeze. For comprehensive licensing details, please consult the LICENSE file within this repository.