Initial commit

This commit is contained in:
2026-04-12 08:54:19 +00:00
commit 18016013d7
9 changed files with 1262 additions and 0 deletions

91
README.md Normal file
View File

@@ -0,0 +1,91 @@
# 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.