@curiousvlxd/linkedin-badge-renderer
v0.1.33
Published
CLI tool for generating LinkedIn profile badges in SVG, PNG, JPEG, and PDF formats using Playwright.
Maintainers
Readme
linkedin-badge-renderer
Renders the official LinkedIn badge using Playwright and exports pixel-perfect assets for websites, resumes, and portfolios.
Features
- Generate badges as SVG, PNG, JPEG, or PDF
- Pixel-perfect rendering via Chromium
- Transparent background for images
- No manual screenshots
- Works in CI and GitHub Actions
- Cross-platform (Windows, macOS, Linux)
Installation
Install globally from npm:
npm install -g @curiousvlxd/linkedin-badge-renderer
npx playwright install chromiumOr clone the repository:
git clone https://github.com/curiousvlxd/linkedin-badge-renderer.git
cd linkedin-badge-renderer
npm install
npx playwright install chromiumUsage
Basic example:
linkedin-badge --handle vladtimchenkoGenerate SVG (default):
linkedin-badge --handle vladtimchenko --format svgGenerate PNG:
linkedin-badge --handle vladtimchenko --format pngCustom output path:
linkedin-badge --handle vladtimchenko --out dist/badge.svgDark theme, vertical layout:
linkedin-badge --handle vladtimchenko --theme dark --orientation verticalAvailable Options
| Option | Description | Default | Values | |--------|-------------|---------|--------| | --handle | LinkedIn handle | Required | Any valid handle | | --format | Output format | svg | svg, png, jpeg, pdf | | --out | Output path | dist/linkedin-badge.svg | Any path | | --theme | Badge theme | light | light, dark | | --size | Badge size | large | small, medium, large | | --locale | LinkedIn locale | en_US | Any locale | | --orientation | Layout | HORIZONTAL | HORIZONTAL, VERTICAL | | --pad | Padding (px) | 20 | Integer |
GitHub Actions Integration
You can automatically generate and publish your badge using GitHub Actions.
Example workflow:
name: Export LinkedIn Badge
on:
schedule:
- cron: "15 2 * * *"
workflow_dispatch:
permissions:
contents: write
jobs:
badge:
uses: curiousvlxd/linkedin-badge-renderer/.github/workflows/export.yml@main
with:
handle: "vladtimchenko"
format: "svg"
out: "linkedin-badge.svg"
theme: "dark"
size: "large"
locale: "en_US"
orientation: "HORIZONTAL"
pad: 20
output_branch: "output"
commit_message: "chore: update linkedin badge"After the workflow runs, the badge will be available at:
https://raw.githubusercontent.com/<USERNAME>/<REPOSITORY>/<BRANCH>/<FILE_NAME>
Using in README
Real-world example: https://github.com/curiousvlxd/curiousvlxd/blob/main/README.md
Embed the badge in any README:
<a href="https://www.linkedin.com/in/vladtimchenko/" target="_blank">
<img
src="https://raw.githubusercontent.com/curiousvlxd/curiousvlxd/output/linkedin-badge.svg"
width="500"
alt="LinkedIn Profile"
/>
</a>License
MIT © Vlad Timchenko
