Einleitung
Ich lese, sammle und bewerte ständig Webinhalte; daher beziehen sich die meisten Kurzbefehle, die ich nutze, auf die Interaktion mit meinem Browser. Anfang des Jahres hatte ich das Vergnügen, eine erste Version von Carlo Zottmanns neuer Anwendung Browser Actions zu testen, und fand sie sehr hilfreich, da sie das Erstellen von browserbasierten Kurzbefehlen erheblich erleichterte. Leider wurde die Beta irgendwann zurückgezogen, da es Probleme mit dem Review-Prozess für den Apple Store gab. Nun (Oktober 2024) hat Carlo endlich neue Beta-Versionen veröffentlicht, die von seiner Webseite heruntergeladen und getestet werden können
Was macht die App? Ganz einfach: Sie erweitert den Funktionsumfang der Kurzbefehle-App um Aktionen, die die Automation der Browser ermöglichen. Dabei können mit den zur Verfügung gestellten Aktionen Menüs, Tabs, Fenster und deren Inhalte gesteuert, ausgelesen und auch gesetzt werden.
Ein Bruchteil dieser Funktionen ist bereits standardmäßig in der Kurzbefehle-App verfügbar, wobei diese jedoch auf Safari beschränkt ist. Mit „Browser Actions” funktionieren Kurzbefehle nahtlos mit Google Chrome, MS Edge, Vivaldi und Brave, ohne dass Änderungen erforderlich sind.
Dieser Artikel soll mit zwei einfachen Beispielen einen ersten Einblick in die Verwendung von „Browser Actions“ geben
Amazon Preisverlauf
Das erste Beispiel zeigt, wie einfach es ist, in einem Kurzbefehl die URL aus dem Browser abzufragen, diese dann zu bearbeiten und im gleichen Browser in einem neuen Tab zu öffnen.
Dieser Kurzbefehl soll die URL einer Produktseite auf Amazon auslesen und dann an die Webanwendung camelcamelcamel.com weiterleiten, die als Ergebnis die Preisentwicklung über die Zeit des Produkts anzeigt. Dazu wird nur die URL der Produktseite zu folgender URL hinzugefügt:
https://camelcamelcamel.com/search?sq=AmazonURL
Dies ist zwar bereits mit den Standardaktionen der Apple Kurzbefehle-App möglich, allerdings wird das Ergebnis der Anfrage an „camelcamelcamel.com“ immer im Safari-Browser angezeigt. „Browser Actions“ ermöglicht es nun, eine URL aus jedem der unterstützten Browser zu lesen und die neue URL ebenfalls in diesem Browser, in einem neuen Tab oder in einem neuen Fenster aufzurufen und das Ergebnis anzuzeigen.
Da das „Share Sheet“ für den Zugriff auf Kurzbefehle mir auf dem Mac zu umständlich ist, verwende ich die Option „Im Menü anzeigen“, sodass ich diesen Kurzbefehl schnell erreichen kann. Das Menü ist allerdings auf nur 16 Einträge begrenzt.
Im ersten Schritt wird mit der Aktion „Get Details of the tab active tab of frontmost window in frontmost browser“ die URL im aktiven Browser an den Kurzbefehl übergeben. Danach wird überprüft, ob der Rückgabewert „Page-URL“ das Wort „amazon“ enthält. Wenn nicht, zeigt der Kurzbefehl eine Warnung an. Andernfalls wird der Link mit der Abfrage in einem Textfeld aufgebaut, das dann verwendet wird, um CamelCamelCamel im aktuellen Browser in einem neuen Tab aufzurufen.
Dies ist ein sehr einfacher Anwendungsfall für die App „Browser Actions“. Er zeigt jedoch bereits einen Vorteil gegenüber den Standardaktionen: Es funktioniert problemlos in allen unterstützten Browsern. Wenn der Kurzbefehl im Chrome-Browser aufgerufen wird, wird das Ergebnis auch dort angezeigt und nicht im Safari-Browser.
Im nächsten Beispiel werde ich ein etwas komplexeres Szenario vorstellen, das auch „[Actions for Obsidian](https://actions.work/actions-for-obsidian/)“ verwendet, eine Anwendung, die ebenfalls von Carlo Zottmann entwickelt wurde.
Erstellen einer “Snippet-Sammlung” in Obsidian
Das zweite Beispiel zeigt, wie eine Auswahl in einem Browserfenster mit einer „Browser Actions“-Aktion erfasst und in das Markdown-Format umgewandelt wird, das dann als Callout zu einer Obsidian-Notiz hinzugefügt wird. Was dann so aussehen soll:
Zuerst wird eine Notiz erstellt, in der die Snippets gesammelt werden sollen. Hierzu wird die Aktion Text an eine Notiz voranstellen von „Actions for Obsidian“ genutzt (Anmerkung: Die Dokumentation auf der Webseite ist in Englisch, aber die Dokumentation in der Kurzbefehle-App ist auf Deutsch). Die Aktion benötigt neben dem „Was“ auch das „Wo“, also den Ort für das Einfügen. Dazu wird eine Überschrift in der Notiz eingefügt. Mit der Aktion „Text an eine Notiz voranstellen“ wird das eingefügte Markdown-Snippet unterhalb dieser Überschrift eingefügt. Die Snippets werden so von „neu“ nach „alt“ angezeigt. Es besteht jedoch auch die Möglichkeit, die Snippets von „alt“ nach „neu“ sortiert anzuzeigen. Dazu wird der Befehl „Text an eine Notiz anhängen“ genutzt. Falls unterhalb des Bereichs, in den die Snippets eingefügt werden, weiterer Text vorhanden ist, wie zum Beispiel ein Fußbereich, muss gegebenenfalls eine zusätzliche Überschrift eingefügt werden.
--- title: "Snippets" tags: - WebSnippets date: 2023-10-20 --- ## Snippets ## %%hidden%%` --- Fußbereich Text
In dem oben gezeigten Beispiel wird der Fußbereich durch eine unsichtbare Überschrift „geschützt“. Andernfalls würde mit dem Befehl „Text an eine Notiz anhängen“ das Snippet unterhalb des Textes „Fußbereich Text“ eingefügt werden. Bei der Verwendung der Aktion „Text an eine Notiz voranstellen“ ist diese zusätzliche Überschrift nicht notwendig.
Wenn diese Notiz erstellt und gespeichert wurde, kann nun der Kurzbefehl erstellt werden, indem die folgenden Schritte abgearbeitet werden, nachdem ein Bereich im Browserfenster ausgewählt wurde:
- Die Aktion „Get details of the tab“ von der App „Browser Actions“ wird mit den Parametern active tab of frontmost window in frontmost browser aufgerufen. Das Ergebnis dieses Aufrufs liefert die aktuellen Werte und Zustände des Browser-Tab-Objekts, die in der Dokumentation beschrieben sind.
- In diesem Kontext ist zunächst das Attribut „Current Selection (Markdown)“ relevant, das die im Browser markierte Auswahl im Markdown-Format speichert. Diese könnte nun direkt in eine Obsidian-Notiz eingefügt werden. Da das Ziel jedoch darin besteht, diese Auswahl in einer Box, also einem Callout, in der Notiz einzufügen, muss jeder Zeile ein
>
mit einem Leerzeichen vorangestellt werden. Am einfachsten geht das, indem der Text in eine Liste zerlegt wird, wobei ein Listenelement einer Zeile entspricht. Dazu wird die Aktion „Text aufteilen“ genutzt. Als Parameter werden das Attribut „Current Selection (Markdown)“ und die Option „Neue Zeile“ verwendet. - Die einzelnen Elemente dieser Liste werden mit der Aktion „Wiederholen mit jedem“ durchlaufen, und in dem „Text“ wird das
>
vorangestellt. - Nun wird das Ergebnis dieser Schleife wieder zu normalem Text zusammengeführt.
- In dem nächsten Schritt wird das Snippet als Markdown-Callout erstellt. In der ersten Zeile wird die Kopfzeile des Callouts definiert, bestehend aus dem Typ, hier als „quote“, dem aktuellen Datum und zwei weiteren Attributen des Aufrufs der Aktion „Get details of the tab“, dem „Page Title“ und der „Page URL“.
- Und zuletzt wird dieser Text als Parametern zusammen mit dem Pfad zur Snippet-Notiz, dem Namen des Vaults, der Option „Anfang des Abschnitts unter der Überschrift“ sowie der entsprechende Überschrift an die Aktion „Text an eine Notiz voranstellen“ übergeben.
Damit steht nun ein Kurzbefehl zur Verfügung, mit dem schnell eine Auswahl in einem Browser als Snippet in Obsidian gespeichert werden kann.
Fazit und Ausblick
In diesem Beitrag habe ich zwei kleine Lösungen vorgestellt, die meiner Meinung nach einen ersten Einblick in das Potenzial von „Browser Actions“ auf dem Mac zeigen. Das erste Beispiel nimmt die URL einer aktiven Webseite und ruft eine Webanwendung mit dieser URL auf. Dieses Beispiel zeigt, dass „Browser Actions“ im Gegensatz zu Standardaktionen mit allen Browsern funktioniert. Das zweite Beispiel integriert den Inhalt einer Webseite in einen Workflow und erstellt damit eine Sammlung von kleinen Snippets.
Die weiteren Features, nämlich das Bearbeiten von Inhalten einer Webseite, werde ich in einem späteren Artikel eingehen.
Stand heute (26.10.2024) ist „Browser Actions“ in der Public Beta, das bedeutet nicht, das alles fehlerfrei läuft. Die beiden vorgestellten Kurzbefehle laufen aber im Moment absolut fehlerfrei.
Wie immer können Feedback, Lob, Kritik, Ideen und Fragen in den Kommentaren hinterlassen werden.
Schreibe einen Kommentar