# Simple Links

Simple Links is a lightweight alternative to Linktree and others.

## Features

- Simple and lightweight
- Easy to use
- Customizable
- Open source

## Preview

![Preview](/media/preview.png)

## How to install Simple Links

1. Ensure you have Docker and Docker Compose installed.
2. Copy the `docker-compose.yml` and `config.json` to the folder where you want to run the application.
3. Edit the `config.json` to have your settings in it.
4. Run `docker compose up` to see if the application starts.
5. Visit http://server_ip:3000
6. To make the application run in the background use `docker compose up -d`

## How to update Simple Links

1. Go to where Simple Links is installed
2. Run `docker compose pull`
3. Run `docker compose up -d`
4. The application is now updated

## What if I don't want buttons or icon only links?

Just simply remove it from the config and it will not show anymore

## Help!!! I'm getting an error when launching it

### Config Issue

If your error looks similar to this you are most likely missing part of the config, as some new things may have been added.

```bash
simple-links | Type error: Property 'theme' does not exist on type '{ name: string; description: string; avatar: string; background: { showBackground: boolean; blur: boolean; darken: { enabled: boolean; amount: number; }; backgroundImage: string; }; infoCard: { transparency: number; }; metadata: { ...; }; options: { ...; }; analytics: { ...; }; links: { ...; }[]; }'.
```

## Config Example

```json
{
  "name": "Your Name", // The name you want to display on the site
  "description": "A description about yourself", // The description you want to use
  "avatar": "https://cdn.fascinated.cc/KWprz2.jpg", // The avatar that is shown at the top of the site
  // or use a local image
  "avatar": "/avatar.webp",
  // If you want to use a custom (not dark) background
  "background": {
    "showBackground": true, // Whether it is enabled or not
    "blur": true, // Should we blur the background?
    "darken": {
      // Should we darken the background?
      "enabled": true,
      "amount": 0.7
    },
    "backgroundImage": "https://cdn.fascinated.cc/8twdW8.jpg", // The image to use in the background
    // or use a local image
    "backgroundImage": "/background.jpg"
  },
  "theme": "dark", // "dark" or "light" themes
  // The card that displays your info and buttons
  "infoCard": {
    "transparency": 0.85 // How transparent should it be?
  },
  // Website options
  "options": {
    "showSourceLink": true // Should we show the "Source Code" link
  },
  // Search engine and embedding metadata (discord, twitter, etc embeds)
  "metadata": {
    "title": "Your Name", // The title of the embed
    "description": "website description", // The description of the embed
    "themeColor": "#6441a5", // The color of the embed
    "authors": [
      // SEO metadata
      {
        "name": "Fascinated",
        "url": "https://fascinated.cc"
      }
    ]
  },
  // The buttons to show links for
  "links": [
    {
      "title": "Git", // The shown title of the button
      "url": "https://git.fascinated.cc", // Where the button goes to when clicked
      "icon": "fab fa-github", // The icon of the button (can be removed to show no icon)
      // The color of the icon (tailwindcss colors)
      "color": "bg-green-700"
    },
    {
      "title": "Twitch",
      "url": "https://twitch.tv/fascinated_",
      "icon": "fab fa-twitch",
      "color": "bg-[#6441a5]"
    },
    {
      "title": "Documentation",
      "url": "https://docs.fascinated.cc",
      "color": "bg-neutral-700"
    }
  ],
  // Icon only links
  "socialLinks": [
    {
      "icon": "fab fa-twitter", // The icon to use
      "color": "#1DA1F2", // An optional color
      "url": "https://twitter.com" // The link to go to
    },
    {
      "icon": "fab fa-reddit",
      "color": "#FF4300",
      "url": "https://www.reddit.com/user/ImFascinatedMC"
    },
    {
      "icon": "fab fa-git-alt",
      "url": "https://git.fascinated.cc"
    }
  ]
}
```
