20f949c2508460e428dfe4f2f31c146c88c447bc
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
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, gruvbox and nord color palletes available by default
Installation
From Source
# 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
# 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
- Create a
config.yamlfile (seeconfig.example.yamlfor reference):
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"
- Generate your site:
./linkbeam
- Open
dist/index.htmlin your browser
Usage
./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
# 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 yourselfavatar: Path to your avatar/profile image (local path or URL starting withhttp://orhttps://)theme: Theme name (default:auto)- Available themes:
auto,nord,gruvbox,catppuccin-mocha,catppuccin-latte,catppuccin-frappe,catppuccin-macchiato - The
autotheme follows system preferences and allows users to toggle between system/light/dark modes
- Available themes:
font_awesome_cdn: Custom Font Awesome CDN URL (defaults to Font Awesome 6.5.1 if not specified)links: Array of link objectstitle: 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 URLicon: Font Awesome icon class (e.g.,fab fa-twitter,fab fa-linkedin)
footer: Array of footer text blockstext: 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 for development setup, testing, and contribution guidelines.
License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Languages
CSS
45.1%
Go
36%
HTML
15.4%
Makefile
2%
Dockerfile
1.5%

