Webring is a responsive, mobile friendly website and central hub for a currently unnamed webring created with Next.js, React and TailwindCSS.
Webrings link websites that are similar in some way together in a circular structure, allowing you to easily find other interesting blogs and portfolios. Read more
To join the webring, add yourself to /lib/members.json
and open a pull request - anyone is welcome! I'll review your pull request as soon as I can.
See more information about what's required and adding the webring navigation widget to your website at /join
There is an API accessible should you wish to style or otherwise represent the members of the webring in a different way.
route | description |
---|---|
/api/members |
Retrieve a list of all members and their respective information. |
/api/members/[id] |
Retrieve the information of the webring member corresponding to the specified ID |
/api/members/[id]/next |
Retrieve the information of the next webring member from the specified ID |
/api/members/[id]/previous |
Retrieve the information of the previous webring member from the specified ID |
/api/widgets/[member]?format=[format]&style=[style] |
Generate a webring widget for the member of specified ID with mandatory parameter [format] and optional parameter [style] |
Further documentation can be found at /docs
- Clone the repository
git clone https://github.com/phthallo/webring && cd webring
- Install the project dependencies.
bun install
- In the root of the directory, set your environment variables in a
.env
file.
NEXT_PUBLIC_INTERNAL_URL=
NEXT_PUBLIC_BASE_URL=
In development, both of these variables should be the same e.g localhost:3000. In production, change NEXT_PUBLIC_BASE_URL
to the public-facing web URL and leave NEXT_PUBLIC_INTERNAL_URL
as localhost:.
- Start the development server.
bun run dev
- Build and start the production server.
bun run build
bun run start