Bookmarklet Blogging

Kürzlich bin ich auf ein spannendes Bookmarklet bei Nicolas gestoßen. Es soll das Link-Blogging für alle erleichtern, die ein auf GitHub gehostetes Blog haben. Das Skript ist zwar noch nicht ganz perfekt, aber es hat mich dazu inspiriert, es weiterzuentwickeln. Hier ist meine Version des Bookmarklets (function() { // Funktion zum Erstellen eines "Slug" aus einem Text const slugify = text => { let str = text.toString(); // Den Text als Zeichenkette behandeln str = str.replaceAll("/", " "); // Schrägstriche (/) durch Leerzeichen ersetzen str = str.normalize("NFD"); // Unicode normalisieren (diakritische Zeichen trennen) str = str.replace(/[^\w\s-]+/g, ""); // Sonderzeichen entfernen (außer Buchstaben, Zahlen, Leerzeichen, Bindestriche) str = str.toLowerCase(); // In Kleinbuchstaben umwandeln str = str.replace(/\s+/g, " "); // Mehrere Leerzeichen auf ein einzelnes reduzieren str = str.trim(); // Führende und endende Leerzeichen entfernen str = str.replace(/ +/g, "-"); // Alle Leerzeichen durch Bindestriche ersetzen return str; // Slug zurückgeben }; // Titel der aktuellen Seite aus dem Dokument abrufen let pageTitle = window.document.title; // Falls ein Text markiert ist, diesen als "linkSelection" setzen, ansonsten leer let linkSelection = "getSelection" in window ? window.getSelection().toString().trim() : ""; // Inhalt für den Link ermitteln: // Zuerst den markierten Text verwenden, falls vorhanden, ansonsten eine Meta-Beschreibung, // oder den ersten Absatz im <main>, <article>, oder <p>-Tag let linkContent = linkSelection || window.document.querySelector("head meta[name=description]")?.content.trim() || window.document.querySelector("main p")?.textContent.trim() || window.document.querySelector("article p")?.textContent.trim() || window.document.querySelector("p")?.textContent.trim(); // Die URL der aktuellen Seite let linkUrl = window.location.href; // Eingabeaufforderung für den Link-Titel (Standardwert: Seiten-Titel) let title = window.prompt("Title of the link?", pageTitle); if (title !== null) { // Nur fortfahren, wenn der Benutzer einen Titel angegeben hat // Eingabeaufforderung für den Link-Slug (Standardwert: aus Titel generierter Slug) let slug = window.prompt("Slug of the link?", slugify(title)); if (slug !== null) { // Nur fortfahren, wenn der Benutzer einen Slug angegeben hat // Das aktuelle Datum und die Uhrzeit im ISO-Format abrufen und in lesbare Form bringen const currentDate = (new Date()).toISOString().replace("T", " ").replace(/\.\d{3}Z/, " +00:00"); // Dateiinhalt für den Blogeintrag erstellen let fileContent = `---\n` + `date: ${currentDate}\n` + `title: "${title}"\n` + `authors: "maik"\n` + `tags: []\n` + `---\n\n` + `[${title}](${linkUrl} "${title}") für ${linkUrl}\n\n` + `${linkContent ? linkContent.replaceAll("\n", "\n> ") : ""}\n`; // GitHub-URL für das Erstellen einer neuen Datei zusammenbauen let githubUrl = `https://github.com/Maik-Wi/blog/new/main/?` + `filename=${`content/notes/${currentDate.slice(0, 10)}-${slug}-index.md`}` + `&value=${encodeURIComponent(fileContent)}` + `&message=${encodeURIComponent(`New link: ${title}`)}`; // Die URL in einem neuen Fenster öffnen, sodass der Nutzer sie bei GitHub weiterbearbeiten kann window.open(githubUrl); } } })();

19. August 2024 · 2 Minuten · 403 Wörter

itty.bitty

Wenn keine eigene Internetpräsenz vorhanden ist und ein Ort benötigt wird, um schnell etwas niederzuschreiben und zu teilen, lohnt sich ein Blick auf das Tool »itty.bitty«. Hiermit lässt sich Text einfach zusammenfassen und mit anderen teilen. Bei Bedarf kann die Seite auch mit einem Passwort geschützt werden, und es besteht die Möglichkeit, weitere Metadaten zu setzen. Ein sehr nützlicher Service. Technisch interessant ist, dass der gesamte Inhalt vollständig in der URL enthalten ist. ...

18. August 2024 · 1 Minute · 73 Wörter

allekinos.de

Niki ist aktuell mit der Entwicklung von allekinos.de beschäftigt. Dabei handelt es sich um ein Instrument, welches einen raschen Überblick über filmische Aufführungen in diversen Kinos ermöglicht. Dieses Tool erweist sich insbesondere dann als nützlich, wenn man in städtischen Gegenden mit hoher Kinodichte lebt.

17. August 2024 · 1 Minute · 44 Wörter

Yellow Lab Tools

Ich habe ein großartiges Tool entdeckt, mit dem sich die Geschwindigkeit von Websites messen lässt: »Yellow Lab Tools«. Dieses Tool hebt sich durch seine Fähigkeit hervor, sogar CSS-Fehler zu finden, die andere Audit-Tools oft übersehen. Das Tool ist Open Source und kann nach bedarf auch selbst gehostet werden.

2. August 2024 · 1 Minute · 48 Wörter

Spotube

Spotube ist ein Open-Source-Spotify-Client, der plattformübergreifend funktioniert, ohne dass eine Premium-Abonnement oder die Abhängigkeit von Electron erforderlich ist. Entwickelt von Kingkor Roy Tirtho und seinem Team, nutzt Spotube die öffentliche API von Spotify sowie YouTube, Piped.video oder JioSaavn als Audioquellen. So können Nutzer ihre Lieblingssongs sowohl auf Desktop-Computern als auch auf mobilen Geräten genießen. ...

13. Juli 2024 · 1 Minute · 54 Wörter