Skip to content

Zyrus-298/LinkLoom

 
 

Repository files navigation

LinkLoom

This is a small Linktree clone which can be easily hosted via GitHub Pages or other ways. You can see a demo here.

Usage examples

GitHub Pages

In this example, GitHub Pages is used because it is very simple to use and free.

The repository must be forked and LinkLoom configured. How to configure can be found in the section below. Then GitHub Pages must be activated and pointed to the master branch.

Docker

Since Docker is perfect for self-hosted services, there is an image on Docker Hub and GitHub Container Repository. It is based on the Caddy image and can be used in the same way as any Docker image. A simple test would be to start the image using:

docker run -d -p 5500:80 nandolawson/linkloom:latest

The simplest way to use this project with Docker would be to use the Docker Compose file.

For further configuration options and information on how to use Docker, there is a wealth of information on the Internet. All files belonging to this project are located in the image in the /srv directory.

Configuration

There are two files which needs to be configurated: links.json and meta.json. These files are in the config folder.

links.json

Put some URLs and the corresponding information in this format:

[
    {
        "url": "https://example.com/1",
        "text": "Example 1",
        "icon": "Any icon from Font Awesome"
    },
    {
        "url": "https://example.com/2",
        "text": "Example 2",
        "icon": "Any icon from Font Awesome"
    }
]

meta.json

Pretty easy:

{
    "favicon": "https://url/to/favicon",
    "language": "english",
    "name": "Your name",
    "picture": "https://url/to/picture",
    "title": "An awesome website title!"
}

All available languages can be found in this file.

Theme configuration

There are two files again, theme.json, which is located in the config folder, and particledrift.json, which is located in a subfolder of the config folder called wallpaper. theme.json

theme.json

This file looks like this:

{
    "accent": "#ffffff",
    "background": "#000000",
    "button": "#333333",
    "wallpaper": "particledrift"
}

All values (except for wallpaper) should be color codes as hexadecimal values. Here is a explanation for every of them:

  • accent is for the color of the text and for highlighted buttons
  • background is the color of the background
  • button is the color of the buttons
  • wallpaper enables the animated wallpaper if set to particledrift

particledrift.json

This config looks similiar to the one above:

{
    "particle1": "#181818",
    "particle2": "#3c3c3c",
    "particle3": "#606060"
}

All the values are hexadecimal color codes. They are there to determine the colors of the particles.

License

This project is licensed under the GPL v3. You can read the license here

Contribution

Anyone who wants to contribute is more than welcome to do so. Please feel free to create a pull request here on GitHub. If you decide to fork this project, please make sure to adhere to the license. Your involvement and feedback are highly appreciated!

About

A Linktree clone that is easy to configure and host

Resources

License

Stars

Watchers

Forks

Languages

  • JavaScript 67.2%
  • CSS 18.9%
  • HTML 8.5%
  • Dockerfile 5.4%