Klarbild-Design, neues Logo, Ein-Klick-Einfügen, mobil überarbeitet, Spenden-Knopf
- Design auf Klarbild-Tokens umgestellt: Space Grotesk/Mono, Papier/Karte, Blau, Pills - Neues Logo und App-Icon: Klemmbrett mit Pfeil (Zwischenablage -> Datei) - Einfügen-Knopf liest die Zwischenablage direkt (HTML bevorzugt), Fallback-Hinweis - Mobil: 44px-Ziele, 16px-Eingaben, Safe-Area, Bottom-Sheet, Datei öffnen, Speichern per Teilen-Menü - Spenden-Knopf (PayPal) in Kopfzeile, Fußzeile und Rechtstexten; Datenschutz um PayPal und Zwischenablage ergänzt - Service Worker: Seiten network-first (Impressum/Datenschutz froren im Cache ein), Cache v4 - nginx: no-cache für Seiten - Listen mit einem Leerzeichen nach dem Aufzählungszeichen
This commit is contained in:
1 parent
da781d9991
commit
fe9401c38f
22 files changed
+884
-611
No files matched your search
@@ -1,13 +1,15 @@
|
||||
# clip2md — Paste to Markdown
|
||||
|
||||
Paste a long Reddit thread, an article, or any formatted web content, and save it as clean
|
||||
Markdown in a single keystroke. Runs entirely in your browser: nothing is uploaded, no account,
|
||||
Markdown in one click. Works on desktop and phone. Runs entirely in your browser: nothing is uploaded, no account,
|
||||
no tracking, works offline.
|
||||
|
||||
**Live demo:** https://clip2md.heidrich-digital.de
|
||||
|
||||

|
||||
|
||||
<img src="docs/screenshot-mobile.png" alt="clip2md on a phone" width="280">
|
||||
|
||||
## Why
|
||||
|
||||
Copying from the web and getting usable Markdown is usually two or three tools and a lot of
|
||||
@@ -19,6 +21,8 @@ Obsidian vault, a wiki, or a repo.
|
||||
|
||||
## Features
|
||||
|
||||
- **One-click paste.** The *Paste* button reads the clipboard directly (Async Clipboard API) and
|
||||
picks the HTML version when there is one. Browsers ask once for permission; `⌘V` always works too.
|
||||
- **Smart paste.** Formatted HTML (copy from a browser, e.g. Reddit `⌘A` → `⌘C`) is converted to
|
||||
clean Markdown. Plain text stays raw. Same `⌘V` for both, no mode switch.
|
||||
- **Force raw.** `⌘/Ctrl+Shift+V` pastes the next clip as plain text, skipping conversion.
|
||||
@@ -29,9 +33,11 @@ Obsidian vault, a wiki, or a repo.
|
||||
knowledge bases like Obsidian.
|
||||
- **Conversion options.** Links as plain text, strip images, bullet marker (`-` / `*` / `+`),
|
||||
heading style (ATX `#` / Setext).
|
||||
- **Drag & drop.** Drop an `.html`, `.md` or `.txt` file to load or convert it.
|
||||
- **Open & drop files.** Pick or drop an `.html`, `.md` or `.txt` file to load or convert it.
|
||||
- **Mobile-first.** 44 px touch targets, 16 px inputs (no iOS zoom), safe-area aware, settings as a
|
||||
bottom sheet; *Save* hands the file to the share sheet (Files, Obsidian, mail) on phones.
|
||||
- **Bilingual.** English and German, switchable in the header.
|
||||
- **Light & dark.** Warm, flat, editorial light theme by default; dark mode one click away.
|
||||
- **Light & dark.** Warm paper, one strong blue, clipboard logo; dark mode one click away.
|
||||
- **Save / copy / clear**, word + character count and reading time.
|
||||
- **Installable PWA**, fully offline after first load.
|
||||
|
||||
@@ -49,9 +55,10 @@ construction.
|
||||
|
||||
## Tech
|
||||
|
||||
- Single self-contained `index.html` (inline CSS/JS, OKLCH tokens, Geist + Geist Mono).
|
||||
- Single self-contained `index.html` (inline CSS/JS, OKLCH tokens, Space Grotesk + Space Mono).
|
||||
- Vendored, no CDN: Turndown + GFM plugin, marked, DOMPurify, fonts — all under `vendor/`.
|
||||
- Served by `nginx:alpine` (`Dockerfile` + `nginx.conf`) with a service worker for offline use.
|
||||
- Served by `nginx:alpine` (`Dockerfile` + `nginx.conf`) with a service worker for offline use
|
||||
(network-first for pages, cache-first for static assets).
|
||||
- No build step, no backend, no database.
|
||||
|
||||
## Run locally
|
||||
@@ -71,16 +78,20 @@ Any static host works — point it at this repo. The reference deployment uses
|
||||
## Update vendored libraries
|
||||
|
||||
```bash
|
||||
npm pack turndown turndown-plugin-gfm marked dompurify geist
|
||||
npm pack turndown turndown-plugin-gfm marked dompurify @fontsource/space-grotesk @fontsource/space-mono
|
||||
# turndown/dist/turndown.js -> vendor/turndown.js
|
||||
# turndown-plugin-gfm/dist/turndown-plugin-gfm.js -> vendor/turndown-plugin-gfm.js
|
||||
# marked/lib/marked.umd.js -> vendor/marked.umd.js
|
||||
# dompurify/dist/purify.min.js -> vendor/purify.min.js
|
||||
# geist/dist/fonts/**/*-Variable.woff2 -> vendor/fonts/
|
||||
# @fontsource/*/files/*-latin-{400,500,700}-normal.woff2 -> vendor/fonts/
|
||||
```
|
||||
|
||||
Bump the `CACHE` constant in `sw.js` whenever an asset changes so clients pick it up.
|
||||
|
||||
## License
|
||||
|
||||
[MIT](LICENSE). Turndown, marked, DOMPurify and Geist are under their respective MIT/OFL licenses.
|
||||
[MIT](LICENSE). Turndown, marked, DOMPurify, Space Grotesk and Space Mono are under their respective MIT/Apache/OFL licenses.
|
||||
|
||||
## Support
|
||||
|
||||
clip2md is free. If it saves you time: [buy me a coffee via PayPal](https://www.paypal.com/donate/?business=info%40tillheidrich.de¤cy_code=EUR&item_name=clip2md).
|
||||
Reference in new issue
Block a user