Skip to content

fractalcounty/linkheap

Repository files navigation

a minimalist, self-hosted Linktree alternative


⚠️ WARNING: This project is experimental, incomplete, and a work-in-progress. It serves as a personal exercise to learn web development and is not indicative of a final product or a production-ready alternative to any existing solutions. Better alternatives exist and are the recommended option.

A live preview is available on my personal website.

Features

  • Customizable link display
  • Mobile-friendly responsive design
  • Full PWA integration (incl. automatic favicons & offline support)
  • Automated SEO optimization (i.e., sitemap, meta tags)
  • Live editing and configuration

Preview


Built using

Installation

  1. Clone the repository:
    git clone https://github.com/fractalcounty/linkheap.git
  2. Navigate to the project directory:
    cd linkheap
  3. Install dependencies:
    yarn install

Usage examples

  • Use the development server to live preview changes:
    yarn dev
  • Build for production into /dist/:
    yarn build
  • Preview the static production build:
    yarn preview

Public directory

The /public directory contains static assets accessible by the site. Organize your assets as follows:

  • Favicons: /public/assets/icons/
  • Custom fonts: /public/assets/webfonts/
  • robots.txt: /public/
  • Any other static files that need to be accessible

To-do list

  • Live configuration and preview via yarn dev
  • Support for hot-swappable assets such as webfonts and icons in the /public/assets directory
  • File-based configuration via a configuration.yaml file, supporting live and real-time updates
  • Theme support using TailwindCSS and DaisyUI
  • Improved PWA asset generation script (i.e., automatically generating favicons from a single icon at /public/assets/icon/icon.svg)
  • Docker support
  • Enhanced webserver, reverse proxy & SSO support (i.e using Caddy & Authentik)
  • Clean up and debloat the current tech stack and project structure

Contributing

This is a personal project that isn't anywhere near production ready and the tech stack may fundamentally change at some point. While you are obviously free to open an issue or submit a pull request, I can't promise I'll get around to it in a timely manner at this point in time.

License

This project is licensed under the MIT License. See the LICENSE file for details.