Website Template#
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.
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 insrc/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:
- Modify
compose.yamlto change the host port if necessary. - 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.