
Company News
Socket Joins New OpenJS Program to Fund Node.js Security Work
Socket is joining the OpenJS Security Stewardship Program to fund Node.js vulnerability research, maintainer remediation, and security releases.
OpenTwig is an open source personal link page generator that creates beautiful, customizable "link in bio" pages. Instead of relying on third-party services, users can define their configuration and instantly create a fully functional static site they own and control.
# Create a new project
npx opentwig --init
# Edit the generated config.json with your information
# Then generate your page
npx opentwig
OpenTwig uses a simple JSON configuration file (config.json) to define your page. Here's the complete configuration structure:
{
"theme": "default",
"url": "https://links.yourwebsite.com",
"title": "Your Name - opentwig πΏ",
"name": "Your Name",
"content": "Hello World! Here is my bio.",
"minify": true,
"avatar": {
"path": "./avatar.png"
},
"links": [
{
"url": "https://twitter.com",
"title": "Twitter"
},
{
"url": "https://instagram.com",
"title": "Instagram"
}
],
"footerLinks": [
{
"title": "Contact",
"url": "mailto:mail@mail.com"
},
{
"title": "Privacy",
"content": "Your privacy policy content here..."
}
],
"share": {
"title": "Your Name - opentwig πΏ",
"url": "https://links.yourwebsite.com",
"text": "Share"
}
}
| Option | Type | Description |
|---|---|---|
theme | string | Theme name (default, dark, minimal, colorful) |
url | string | Your page URL (for Open Graph and QR codes) |
title | string | Page title (appears in browser tab) |
name | string | Your display name |
content | string | Bio/description text |
minify | boolean | Enable CSS minification (default: true) |
avatar | object | Avatar image configuration |
avatar.path | string | Path to your avatar image |
links | array | Array of link objects with url and title |
footerLinks | array | Footer links (can be URLs or modal dialogs) |
share | object | Web Share API configuration |
OpenTwig includes 4 beautiful themes:
All themes are mobile-responsive and include:
# Show help information
npx opentwig --help
# Create sample config.json
npx opentwig --init
# Generate page from config.json
npx opentwig
OpenTwig generates the following files in the dist/ directory:
index.html - Main HTML pagestyle.css - Processed and optimized CSSavatar.png - Processed avatar imageog-image.jpg - Open Graph image for social sharingqr.svg - QR code for mobile sharingopentwig/
βββ src/
β βββ index.js # Main entry point
β βββ constants.js # Application constants
β βββ utils/ # Utility functions
β βββ buildPage.js # Page building logic
β βββ generateHTML.js # HTML generation
β βββ generateOGImage.js # Open Graph image creation
β βββ generateQR.js # QR code generation
β βββ processCSS.js # CSS processing and optimization
β βββ ...
βββ theme/
β βββ default/ # Default theme
β β βββ index.js # Theme template
β β βββ style.css # Theme styles
β β βββ components/ # Reusable components
β βββ dark/ # Dark theme
β βββ minimal/ # Minimal theme
β βββ colorful/ # Colorful theme
βββ dist/ # Generated output
Since OpenTwig generates static files, you can deploy to any static hosting service:
dist/ folder to a repositorydist/ folderdist/ folder to your serverMIT License - see LICENSE file for details
Contributions are welcome! Please feel free to submit a Pull Request.
FAQs
opentwig πΏ is an open source link in bio page generator.
The npm package opentwig receives a total of 11 weekly downloads. As such, opentwig popularity was classified as not popular.
We found that opentwig demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.Β It has 1 open source maintainer collaborating on the project.

Company News
Socket is joining the OpenJS Security Stewardship Program to fund Node.js vulnerability research, maintainer remediation, and security releases.

Security News
Two compromised GitHub Actions were re-enabled with malicious tags intact, exposing thousands of downstream repositories to Mini Shai-Hulud.

Research
/Security News
A malicious Firefox extension fetches its payload after installation to evade detection, steal Google session cookies, and automate account takeover.