# LinkedIn Post Formatter ![Node.js](https://img.shields.io/badge/Node.js-20+-339933?logo=node.js&logoColor=white) ![Docker](https://img.shields.io/badge/Docker-ready-2496ED?logo=docker&logoColor=white) ![License](https://img.shields.io/badge/License-MIT-green) ![Self-hosted](https://img.shields.io/badge/Self--hosted-yes-blueviolet) **Self-hosted Alternative zu Taplio & AuthoredUp — kostenlos, kein Login, kein Abo.** LinkedIn unterstützt keine echte Textformatierung. Dieser Formatter löst das Problem mit Unicode-Mathematik-Zeichen, die in jedem Browser und auf jedem Gerät korrekt dargestellt werden — inklusive Zeilenumbruch-Fix für den LinkedIn-Editor. --- ## Features - **6 Schriftvarianten** als LinkedIn-Karten-Vorschau (Sans, Bold, Italic, Bold Italic, Monospace, Plain) - **Copy text** — ein Klick, fertig — Text direkt in LinkedIn einfügen - **Zeilenumbruch-Fix** — Leerzeilen überleben den Paste in LinkedIn (Zero-Width-Space-Trick) - **Zeichen-Counter** mit Farbindikator (LinkedIn-Limit: 3000 Zeichen) - **25+ Emoji-Schnellauswahl** für IT- und Business-Posts - **Keyboard Shortcuts** — `Strg+B`, `Strg+I`, `Strg+Enter` - **Keine externen Abhängigkeiten** im Frontend — reines HTML/CSS/JS - **HTTPS-ready** — Clipboard API funktioniert hinter jedem Reverse Proxy mit SSL --- ## Schnellstart ### Node.js ```bash git clone https://github.com/DEIN-USERNAME/linkedin-formatter.git cd linkedin-formatter npm install npm start # → http://localhost:3000 ``` ### Docker ```bash docker compose up -d # → http://localhost:3000 ``` ### Eigener Port ```bash PORT=8080 node server.js ``` --- ## Formatting-Syntax | Eingabe | Ausgabe | |-----------------|---------------------| | `**fett**` | 𝗨𝗻𝗶𝗰𝗼𝗱𝗲 𝗕𝗼𝗹𝗱 | | `_kursiv_` | 𝘜𝘯𝘪𝘤𝘰𝘥𝘦 𝘐𝘵𝘢𝘭𝘪𝘤 | | Leerzeile | Absatz in LinkedIn | | `Strg+B` | Selektion fett | | `Strg+I` | Selektion kursiv | | `Strg+Enter` | Vorschau generieren | --- ## Hinter Reverse Proxy (Zoraxy / nginx / Traefik) Port 3000 proxyen, SSL terminieren — fertig. Die Clipboard API (`navigator.clipboard`) erfordert HTTPS oder `localhost`. **Zoraxy Beispiel:** Proxy Rule auf `localhost:3000`, TLS über Let's Encrypt aktivieren. --- ## Warum kein Markdown / HTML in LinkedIn? LinkedIn akzeptiert ausschließlich Unicode-Plaintext. Fettschrift funktioniert über mathematische Unicode-Blöcke (z.B. `U+1D5D4`–`U+1D5ED` für Sans-Serif Bold), die LinkedIn wie normale Zeichen behandelt — aber im Feed fett dargestellt werden. Zeilenumbrüche werden beim Einfügen über die Zwischenablage von LinkedIn normalisiert; der eingesetzte Zero-Width-Space (`U+200B`) verhindert das. --- ## Stack - **Backend:** Node.js + Express (1 Datei, ~20 Zeilen) - **Frontend:** Vanilla HTML/CSS/JS, keine Frameworks, keine npm-Abhängigkeiten im Browser - **Container:** Alpine-based Docker Image (~180 MB) --- ## License MIT — fork it, self-host it, ship it.