Some checks failed
CI/CD Pipeline / Build Docker Image (push) Has been cancelled
CI/CD Pipeline / Test (push) Has been cancelled
CI/CD Pipeline / Build (arm64, windows, linkbeam-windows-arm64.exe) (push) Has been cancelled
CI/CD Pipeline / Build (386, linux, linkbeam-linux-386) (push) Has been cancelled
CI/CD Pipeline / Lint (push) Has been cancelled
CI/CD Pipeline / Build (amd64, linux, linkbeam-linux-amd64) (push) Has been cancelled
CI/CD Pipeline / Build (arm, 7, linux, linkbeam-linux-armv7) (push) Has been cancelled
CI/CD Pipeline / Build (386, windows, linkbeam-windows-386.exe) (push) Has been cancelled
CI/CD Pipeline / Build (amd64, windows, linkbeam-windows-amd64.exe) (push) Has been cancelled
CI/CD Pipeline / Build (arm64, darwin, linkbeam-darwin-arm64) (push) Has been cancelled
CI/CD Pipeline / Build (arm64, linux, linkbeam-linux-arm64) (push) Has been cancelled
CI/CD Pipeline / Build (amd64, darwin, linkbeam-darwin-amd64) (push) Has been cancelled
CI/CD Pipeline / Create Release (push) Has been cancelled
163 lines
4.9 KiB
Markdown
163 lines
4.9 KiB
Markdown
# LinkBeam
|
|
|
|

|
|
|
|
A lightweight static site generator for creating beautiful personal link-in-bio pages.
|
|
Built with Go, LinkBeam transforms a simple YAML configuration into a themed HTML page.
|
|
|
|
## Features
|
|

|
|
- Simple YAML-based configuration - Define your links and profile in a single YAML file
|
|
- Multiple built-in themes - Auto, Nord, Gruvbox, and Catppuccin variants (Latte, Frappé, Macchiato, Mocha)
|
|
- Theme switcher - Users can toggle between system/light/dark modes
|
|
- Font Awesome icons - Full support for Font Awesome icons with customizable CDN
|
|
- Social media links - Dedicated section for social profiles with icon-only display
|
|
- Responsive design - Works beautifully on mobile, tablet, and desktop
|
|
- Fast static site generation - Built with Go for blazing-fast builds
|
|
- Clean, minimal aesthetics - Focus on your content, not clutter
|
|
- [Catppuccin](https://catppuccin.com/), [gruvbox](https://github.com/morhetz/gruvbox) and [nord](https://www.nordtheme.com/) color palletes available by default
|
|
|
|
## Installation
|
|
|
|
### From Source
|
|
|
|
```bash
|
|
# Clone the repository
|
|
git clone https://github.com/5mdt/linkbeam.git
|
|
cd linkbeam
|
|
|
|
# Build the binary
|
|
make build
|
|
```
|
|
|
|
Binary will be output to `dist/linkbeam`.
|
|
|
|
### From Docker
|
|
|
|
```bash
|
|
# Build the image locally (Docker images not published yet)
|
|
docker build -t linkbeam .
|
|
|
|
# Run with your config
|
|
docker run -v $(pwd)/config.yaml:/app/config/config.yaml \
|
|
-v $(pwd)/dist:/app/dist \
|
|
linkbeam
|
|
|
|
# Or using docker-compose
|
|
docker-compose up
|
|
```
|
|
|
|
## Quick Start
|
|
|
|
1. Create a `config.yaml` file (see `config.example.yaml` for reference):
|
|
|
|
```yaml
|
|
name: "Your Name"
|
|
bio: "A short bio about yourself"
|
|
avatar: "static/logo.png" # Can be a local path or URL
|
|
theme: "auto" # Options: auto, nord, gruvbox, catppuccin-mocha, catppuccin-latte, etc.
|
|
|
|
# Optional: Customize Font Awesome CDN (defaults to Font Awesome 6.5.1 if not specified)
|
|
# font_awesome_cdn: "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css"
|
|
|
|
links:
|
|
- title: "My Website"
|
|
url: "https://yourwebsite.com"
|
|
icon: "fas fa-globe"
|
|
- title: "Blog"
|
|
url: "https://yourblog.com"
|
|
icon: "fas fa-blog"
|
|
- title: "GitHub"
|
|
url: "https://github.com/yourusername"
|
|
icon: "fab fa-github"
|
|
|
|
socials:
|
|
- platform: "Twitter"
|
|
url: "https://twitter.com/yourusername"
|
|
icon: "fab fa-twitter"
|
|
- platform: "LinkedIn"
|
|
url: "https://linkedin.com/in/yourusername"
|
|
icon: "fab fa-linkedin"
|
|
- platform: "Instagram"
|
|
url: "https://instagram.com/yourusername"
|
|
icon: "fab fa-instagram"
|
|
|
|
footer:
|
|
- text: "© 2025 Your Name"
|
|
- text: "Made with LinkBeam"
|
|
```
|
|
|
|
2. Generate your site:
|
|
|
|
```bash
|
|
./linkbeam
|
|
```
|
|
|
|
3. Open `dist/index.html` in your browser
|
|
|
|
## Usage
|
|
|
|
```bash
|
|
./linkbeam [options]
|
|
|
|
Options:
|
|
-c, --config string path to config YAML file (default "config.yaml")
|
|
-t, --template string path to HTML template (default "templates/base.html")
|
|
-o, --output string path to output HTML file (default "dist/index.html")
|
|
-v, --version print version information
|
|
```
|
|
|
|
### Examples
|
|
|
|
```bash
|
|
# Generate with default config.yaml
|
|
./linkbeam
|
|
|
|
# Check version
|
|
./linkbeam -v
|
|
|
|
# Generate with custom config
|
|
./linkbeam -c myconfig.yaml -o public/index.html
|
|
```
|
|
|
|
## Configuration
|
|
|
|
### Required Fields
|
|
|
|
- `name`: Your display name (cannot be empty)
|
|
|
|
### Optional Fields
|
|
|
|
- `bio`: A short description about yourself
|
|
- `avatar`: Path to your avatar/profile image (local path or URL starting with `http://` or `https://`)
|
|
- `theme`: Theme name (default: `auto`)
|
|
- Available themes: `auto`, `nord`, `gruvbox`, `catppuccin-mocha`, `catppuccin-latte`, `catppuccin-frappe`, `catppuccin-macchiato`
|
|
- The `auto` theme follows system preferences and allows users to toggle between system/light/dark modes
|
|
- `font_awesome_cdn`: Custom Font Awesome CDN URL (defaults to Font Awesome 6.5.1 if not specified)
|
|
- `links`: Array of link objects
|
|
- `title`: Link text (required)
|
|
- `url`: Link destination (required)
|
|
- `icon`: Font Awesome icon class (optional, e.g., `fas fa-globe`, `fab fa-github`)
|
|
- `socials`: Array of social media links (displayed as icon-only buttons)
|
|
- `platform`: Platform name (used for accessibility)
|
|
- `url`: Social media profile URL
|
|
- `icon`: Font Awesome icon class (e.g., `fab fa-twitter`, `fab fa-linkedin`)
|
|
- `footer`: Array of footer text blocks
|
|
- `text`: Footer text content
|
|
|
|
### Theme Details
|
|
|
|
All themes support light/dark mode switching:
|
|
- **auto**: Minimalist monochrome theme with system preference detection
|
|
- **nord**: Arctic-inspired color palette (Nord theme)
|
|
- **gruvbox**: Warm retro groove colors (Gruvbox theme)
|
|
- **catppuccin-***: Soothing pastel themes (Catppuccin Latte, Frappé, Macchiato, Mocha)
|
|
|
|
## Contributing
|
|
|
|
See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup, testing, and contribution guidelines.
|
|
|
|
## License
|
|
|
|
This project is licensed under the GNU General Public License v3.0 - see the [LICENSE](LICENSE) file for details.
|