Im letzten Tutorial habe ich Ihnen viele Änderungen gezeigt Alfred 3, mit Ausnahme der Änderungen an Workflows. Dieses Tutorial soll Sie auf den neuesten Stand bringen Alfred 3 Arbeitsabläufe. Ich werde Ihnen auch ein Beispiel zeigen, was Sie damit machen können.
In diesem Tutorial gehe ich davon aus, dass Sie damit vertraut sind Alfred 2 und es ist Workflow-Erstellungsprozess. Falls nicht, schauen Sie sich meine anderen Tutorials an Alfred 2:
Der erste neue Zusatz zum Workflow-Bereich von Alfred 3 ist, dass Elemente überall platziert werden können. Sie können jetzt ein Element rechts mit einem Element auf der linken Seite verbinden.
Sie haben hervorragende Arbeit geleistet, um Endlosschleifenszenarien zu erkennen und zu vermeiden, obwohl dies mit einem Externer Auslöser Aufruf der Vorderseite einer Kette von Elementen, die zum aufrufenden Element führen.
Neue RückwärtsverbindungenWie immer verbinden Sie Elemente, indem Sie auf die rechte Mitte eines Elements klicken und ziehen und auf die linke Seite eines anderen Elements ziehen. Wenn keine Blase angezeigt wird, handelt es sich nicht um einen legalen Verbindungsbereich.
Beachten Sie in der obigen GIF-Animation die JSON Element ist das einzige Element, das beim Ziehen der zweiten Verbindung auf der linken Seite keine grüne Blase erhält. Sie können keine Verbindung zu diesem Element herstellen, da dies eine Endlosschleife erzeugen würde.
Neue Workflow-ElementeDie Elemente können nicht nur an beliebiger Stelle platziert werden, sie können auch farblich codiert sein und unter einer Textbeschreibung beschrieben werden, was sie tun. In der oberen rechten Ecke befinden sich vier Symbole, links neben dem Namen des Workflows, der Kurzbeschreibung und dem Symbol.
Die Symbole von links nach rechts sind Export, Einstellungen, Remote, und Debugger Tasten. Es gibt elf neue Elemente in Alfred 3: Wörterbuch-Filter, Listenfilter, Argumente und Variablen, Filter, Verwandeln, Verzögern, Ersetzen, JSON-Konfig, Kreuzung, Debuggen, und Textdatei schreiben.
Das Export Mit der Schaltfläche können Sie den Workflow an einer beliebigen Stelle im Dateisystem speichern. Es öffnet sich ein Dateidialogfeld, in dem Sie das Verzeichnis und den Dateinamen auswählen können, um den Workflow zu speichern.
Wenn Sie einen Workflow exportieren, wird er mit dem Ordner gespeichert .alfred3workflow Erweiterung. Dies unterscheidet sie von Alfred 2 Arbeitsabläufe.
Das Schaltfläche "Einstellungen" bringt das auf Voreinstellungsdialog oben gezeigt. In dem Über diesen Workflow Im Textbereich können Sie eine Textbeschreibung des Workflows, Informationen zur Verwendung des Workflows und andere Informationen hinzufügen, die dem Benutzer des Workflows zugute kommen. Wenn der Workflow andere Anwendungen verwendet, würde ich hier Links zur Website der Anwendung setzen.
In dem Workflow-Umgebungsvariablen In diesem Abschnitt können Sie Umgebungsvariablen erstellen, die in den Skripts des Workflows verwendet werden. Wenn der Variablenname in der Systemumgebung bereits verwendet wird, wird der Wert für alle in diesem Workflow ausgeführten Skripts überschrieben.
Das Remote Taste gibt Ihnen ein Layout von Alfred Remote Bildschirme zu bevölkern. Sie benennen den Bildschirm und fügen Schaltflächen hinzu, um alles zu tun, was sich darin befindet Alfred 3.
Wenn der Workflow hat Remote Befehle können sie in diesem Bildschirm platziert werden. Wenn du öffnest Alfred Remote auf einem iOS Gerät ist das Bildschirmlayout hier verwendbar.
Das Debuggen Mit der Schaltfläche wird der Debugger am unteren Rand des Arbeitsablaufbereichs angezeigt. Dadurch können Sie anzeigen, was jedes Element an das nächste Element sendet.
Wenn du einen hast Debuggen Element in Ihrem Workflow verbunden ist, werden hier die angeforderten Informationen angezeigt. Dies macht das Debuggen von Workflow-Skripts einfach.
Das Wörterbuch-Filter Mit dieser Option können Sie einen Workflow erstellen, der Wörter in einem angegebenen Wörterbuch nachschlägt. Wenn Sie also ein Wörterbuch haben, das von einer Sprache in eine andere übersetzt, wird eine einfache Übersetzungsfunktion erstellt.
Das Listenfilter ermöglicht die einfache Erstellung einer vordefinierten Liste von Optionen, aus denen der Benutzer auswählen kann. EIN Listenfilter ist eine spezialisierte Form der Skriptfilter. Anstatt die möglichen Antworten in einem Skript zu erstellen, können Sie sie in diesem Dialogfeld erstellen. Das Stichwort ist der eingegebene Text in Alfred Browser um diesen Workflow zu starten. Das Platzhaltertitel ist der oberste Text, der in der Liste der möglichen Aktionen angezeigt wird, die bei der Eingabe von ausgeführt werden sollen Alfred Browser. Das Platzhalter Untertitel ist der Text direkt unter Platzhaltertitel. Ich gebe oft den Namen des Workflows hier ein.
Rechts von der Stichwort ist ein Dropdown mit verschiedenen Optionen, um Informationen vom Benutzer zu erhalten. Dieses Dropdown kann entweder Argument erforderlich, Argument optional, oder Kein Argument. Mit Argument erforderlich, Sie können den Workflow erst aktivieren, wenn Sie nach dem Argument ein Argument eingeben Stichwort. Das Argument optional Mit dieser Option werden die Optionen in der Liste angezeigt, bevor der Benutzer mit der Eingabe beginnt. Das Kein Argument wird das erste Element bearbeiten, ohne ein Argument hinzuzufügen.
Wenn Sie ein neues Element hinzufügen, drücken Sie die Taste + Symbol unten rechts in der Optionsliste können Sie das angeben Titel, Untertitel, und Arg. Das Titel wird die oberste Zeichenfolge sein, die im Alfred Browser für diesen Artikel angezeigt wird, während die Untertitel wird darunter sein. Das Arg ist der Text, der an das nächste Element übergeben wird, wenn er ausgewählt wird.
Im rechten unteren Bereich des Dialogs befindet sich ein Dropdown-Menü mit zwei Möglichkeiten: Alfred lernt die Ergebnisreihenfolge anhand der Verwendung oder hält die Ergebnisse in der in der Tabelle definierten Reihenfolge. Dadurch werden die zwei möglichen Möglichkeiten festgelegt Alfred könnte die Tabellenelemente im anzeigen Alfred Browser.
Sie können die Listenelemente auch mit ein eingeben CSV Datei, die die Elemente enthält. Wenn Sie daher eine Datei erstellen, die Folgendes enthält:
Ein Titel, ein Untertitel, ein Argument ein anderer Titel, ein weiterer Untertitel, ein weiteres Dokument
Wenn Sie die Datei in das Dialogfeld ziehen, werden zwei neue Elemente hinzugefügt. Der erste Artikel trägt den Titel von Ein Titel, Untertitel von Ein Untertitel, und das Argument wird sein ein Argument. Daher können Sie eine große Anzahl von Elementen in eine Datei importieren, indem Sie die CSV Datei auf die Listenelemente und es wird jedes hinzufügen.
Die Verwendung von a Listenfilter und ein Skriptfilter sieht für den Benutzer des Workflows genauso aus. Es ist nur eine weitere Möglichkeit, eine Liste von Aktionen zu erstellen, die in einem Workflow ausgeführt werden sollen. Der einzige Nachteil der Listenfilter ist, wenn das, was der Benutzer eingibt, mit nichts in der Liste übereinstimmt Alfred zeigt die Standardsuchelemente an. Mit einer Skriptfilter, Sie können feststellen, ob nichts ausgewählt wurde, und ein Element hinzufügen, um den Benutzer mitzuteilen, dass die Eingabe mit nichts übereinstimmt.
Das Element und Variablen Element Mit dieser Option können Sie die Informationen ändern, die die Element- und Umgebungsvariablen passieren. Das nächste Element erhält das, was sich im befindet Streit Textfeld. Jeder Artikel in der Variablen area ändert die Umgebungsvariable in den eingestellten Wert.
Beide Bereiche nehmen den Standard an Alfred Makrovariablen von Abfrage
als Eingabe für das Element und var: varname
als Wert der Umgebungsvariablen namens varname
.
Das Filter Mit element können Sie filtern, was als nächstes ausgeführt wird. Das Element nach diesem Element wird nur ausgeführt, wenn die Ergebnisse der Bedingung "true" sind. Das Textfeld nach Nur weiter wenn legt fest, was geprüft werden soll.
Das nächste Dropdown-Menü hat drei Optionen: entspricht, ist ungleich zu, und entspricht Regex. Das nächste Textfeld enthält den zu vergleichenden Wert oder einen regulären Ausdruck für entspricht Regex. Das entspricht und ist ungleich zu sind selbsterklärend.
Das entspricht Regex Mit dieser Option können Sie einen regulären Ausdruck angeben, der mit der Zeichenfolge übereinstimmt. Wenn die Zeichenfolge irgendwo übereinstimmt, wird die Ausführung mit dem nächsten Element fortgesetzt. Sie können das lesen ICU-Spezifikationen auf ihrer Website. Es ist ein Standard, der auf regulären Ausdrücken von Pearl basiert. Wenn der entspricht Regex ist wahr, das nächste Element erhält die vollständige Eingabezeichenfolge.
Sie müssen nicht nur der Eingabe entsprechen. Du kannst den ... benutzen var: varname
Makro und Übereinstimmung mit einer Umgebungsvariablen. Die Eingabe wird weitergegeben, nicht die übereinstimmende Zeichenfolge. Daher können Sie dieses Element als Schalter basierend auf einer Umgebungsvariablen oder der Eingabe verwenden.
Das verzögern Element hält die Ausführung des Workflows um die angegebene Anzahl Sekunden für das nächste Element im Fluss an. Dies hat keine Auswirkungen auf andere Flusslinien im Workflow.
Diese Verzögerung kann von der Eingabe stammen, indem Sie verwenden Abfrage
, oder aus einer Umgebungsvariablen mit der var: varname
Makro. Dies ist praktisch, wenn Sie zwei oder mehr Flusslinien haben und eine Zeit warten soll, bis die andere Zeit abgeschlossen ist.
Zum Beispiel können Sie eine haben Stichwort Element, das einen lokalen Webserver startet und den Browser dazu öffnet. Das Stichwort Für das Element kann eine Zeile mit dem Skript verbunden sein, um den Server zu starten, während eine andere Zeile 30 Sekunden lang auf Verzögerung wartet und dann auf eine Öffne URL Element. Solange der Server nicht länger als 30 Sekunden zum Starten benötigt, funktioniert das einwandfrei.
Wenn in Ihrem Workflow mehrere Zeilen für den Fluss von einem Element aus ausgeführt werden, wird zuerst die erste Aktion auf der Seite, dann die zweite Aktion usw. ausgeführt. Daher bewirkt eine Verzögerung von einer Sekunde auf einer Leitung, dass diese übersprungen wird, bis alle anderen parallelen Leitungen ausgeführt werden.
Das Verwandeln Element führt einfache Textumwandlungen für die Eingabezeichenfolge durch. Die verfügbaren Transformationen sind: Whitespace trimmen, Großbuchstaben, Kleinbuchstaben, Kamel Fall, Umgekehrte Zeichenfolge, Diakritiker streichen, und Strip nicht-alphanumerisch.
Jede dieser Transformationen ist selbsterklärend.
Das Kreuzung element verbindet einfach alle Eingänge mit allen Ausgängen. Dies ist ideal für die Zuführung vieler Eingänge zu vielen Ausgängen mit minimalen Leitungen. Verbinden Sie alle Eingänge mit der linken Seite von a Kreuzung, und verbinden Sie dann den Ausgang der Reihe nach mit jedem Eingangselement.
Dies hilft, Unordnung zu vermeiden und einfache Erweiterungen zu ermöglichen.
Das Ersetzen Element vergleicht die Eingabe mit Schnur, Regex, oder leere Eingabe wie im Dropdown-Menü ausgewählt. Das erste Textfeld enthält die Vergleichszeichenfolge, während das zweite Textfeld die Ersetzungszeichenfolge enthält.
Deshalb, wenn die Vergleichszeichenfolge ist Box
und der Ersatzstring ist Drachen
, der Satz Ich habe eine box
ändert sich zu Ich habe einen Drachen
. Wenn eine Regex ist ^ a (…) ple
, Die Ersatzzeichenfolge lautet 1 US-Dollar
, und die Eingabe ist Apfel
, dann wird die Ausgabe sein pp
(die zwei Buchstaben, die mit den beiden übereinstimmen .
in der Übereinstimmungszeichenfolge). Das 1 US-Dollar
ist eine Abkürzung für die erste von der ()
.
Der Tuts + -Kurs Regelmäßige Ausdrücke: Up and Running hilft Ihnen, reguläre Ausdrücke zu verstehen und zu verwenden.
Das JSON Element ist ähnlich dem Argumente und Variablen Element, in dem Sie die Ausgabeparameter und Umgebungsvariablen ändern können. In dem Konfig In diesem Abschnitt können Sie die Konfiguration des nächsten Elements ändern.
Verbinden Sie zum Beispiel eine Stichwort Element zu einem JSON Element und dann zu einem Post-Benachrichtigung. Platzieren Sie das Folgende in der JSON Elementkonfiguration:
"alfredworkflow": "arg": "query", "config": "title": "Testtext", "text": "Dies ist der Testtext", "variables":
Wenn Sie das Schlüsselwort anschließend mit Text aktivieren, ist es egal, welchen Text Sie senden Post-Benachrichtigung wird immer die haben Titel von Ein Testtext
, und das Text Bereich (knapp unter dem Titel) wird sagen Dies ist der Testtext
.
Mit dem Debuggen Element können Sie alle Makros in Alfred zur Debug-Konsole. Das Allvars
Makros zeigen den Wert jeder für diesen Workflow definierten Variablen an.
Dies hilft beim Debuggen von Skripts, indem Informationen bereitgestellt werden, die normalerweise nicht in der Debug-Konsole angezeigt werden. Sie können auch das überprüfen Klartext im Debugger Option, um den Text zu löschen, bevor Sie neuen Text veröffentlichen.
Das In Datei schreiben Mit diesem Element können Sie Informationen in eine Datei schreiben. Sie können entweder einen absoluten Pfad oder einen relativen Pfad zur Datei angeben. Wenn es sich um einen relativen Pfad handelt, können Sie festlegen, dass er im Arbeitsablaufverzeichnis oder im Datenverzeichnis des Arbeitsablaufs gespeichert wird.
Wenn Sie das überprüfen Fügen Sie dem Dateinamen eine UUID hinzu, Der Name wird mit einer eindeutigen Nummer versehen, um eindeutige Dateinamen zu erstellen. Wenn Sie das überprüfen Erstellen Sie Zwischenordner, falls diese nicht vorhanden sind Möglichkeit, Alfred erstellt fehlende Ordner im Pfad.
Wenn die Datei vorhanden ist, können Sie sie auf setzen Überspringen, Überschreiben, oder Anhängen. Das Überspringen Option schreibt die Datei nicht, wenn sie bereits existiert. Das Überschreiben Diese Option löscht den Inhalt der Datei und schreibt den neuen Inhalt. Das Anhängen Diese Option fügt jedem Schreibvorgang automatisch eine neue Zeile hinzu.
In das Textfeld können Sie eine beliebige einfügen Alfred Makros, um Informationen in die Datei einzufügen. In meinem Beispielworkflow habe ich eine In Datei schreiben Element festgelegt auf:
var: firstName | var: Nachname | var: email
Dadurch wird jedes Mal eine neue Zeile mit den Umgebungsvariablen erstellt Vorname
, Nachname
, und E-Mail getrennt mit einem |.
Das Skriptfilter ist kein neues Element, aber die Ausgabeformate dafür haben sich geändert. Sie können ein Skript schreiben, um dasselbe auszugeben XML Format wie in verwendet Alfred 2 oder Sie können die Ausgabe als erstellen JSON Struktur. Das JSON Struktur sollte sein:
"items": ["uid": "Eine eindeutige ID für den Artikel", "Typ": "Datei", "Titel": "Titel für den Artikel", "Untertitel": "Untertitel für den Artikel", "arg": "Text wird an das nächste Element übergeben", "Autocomplete": "Text automatisch ausfüllen", "gültig": "true", "icon": "type": "fileicon", "path": "~ / Desktop" ]
Sie müssen die Zeilen 2-14 für jeden dem Benutzer übergebenen Eintrag wiederholen. Denken Sie daran, nach jedem Block ein Komma mit Ausnahme des letzten Blocks zu setzen. Ich denke, dass dieses Format viel einfacher ist als das XML formatieren, aber ich bevorzuge den Code Node.js für meine Workflows.
Jedes Element, das ein Skript verwendet, hat nun zwei Möglichkeiten, den Eingabeparameter zu übergeben. Der ursprüngliche Weg ist, jedes Vorkommen von zu ersetzen Abfrage
im Skript mit der Eingabezeichenfolge.
Jetzt können Sie angeben, dass das Skript die Eingabezeichenfolge erhält mit Eingabe als argv. Für einige Skripte funktioniert das besser und ist seitdem schneller Alfred muss nicht suchen und ersetzen.
Alfred wird einige Umgebungsvariablen für Ihre Skripts einrichten. Hier ist die Liste der Umgebungsvariablen, die von festgelegt werden Alfred:
Variablennamen | Beschreibung |
---|---|
Alfred_Vorteile | Dies gibt den Ort der Voreinstellungsdatei an. |
alfred_preferences_localhash | Dies ist ein Hash der Einstellungsdatei. |
alfred_theme | Dieses Thema wird derzeit von Alfred verwendet. |
alfred_theme_background | Dadurch wird die Hintergrundfarbe des aktuellen Themas angezeigt. |
alfred_theme_selection_background | Dadurch wird die Hintergrundfarbe des aktuellen Themas angezeigt, wobei ein Element ausgewählt ist. |
alfred_theme_subtext | Dies gibt den aktuellen Themen Subtext. |
alfred_version | Dies ist die aktuelle Alfred-Version. Es wird 3.0 für Alfred 3 sein. |
alfred_version_build | Dies gibt die Versionsbuildnummer an. |
alfred_workflow_bundleid | Dies ist die aktuelle Workflows-Bundle-ID. |
alfred_workflow_cache | Dieser enthält den Pfad zum Cache-Verzeichnis des aktuellen Workflows. |
alfred_workflow_data | Dieser enthält den Pfad zum Datenverzeichnis des aktuellen Workflows. |
alfred_workflow_name | Dies ist der Name des aktuellen Workflows. |
alfred_workflow_uid | Dies ist die eindeutige ID für den aktuellen Workflow. |
alfred_debug | Dieses Flag zeigt an, ob das Debugging momentan aktiviert oder deaktiviert ist. |
Durch die Verwendung dieser Informationen werden Ihre Workflows zukunftssicherer. Wenn Sie Ihre Umgebungsvariablen von Alfred anzeigen möchten, sollten Sie die Shell-Variablen Arbeitsablauf. Es ist sehr praktisch, um zu sehen, was Ihre Skripte sehen werden.
Der Download für dieses Tutorial enthält die Workflow für E-Mail-Adressen unten zu sehen. Sie können es als Beispiel verwenden, wie Sie viele der neuen Elemente in verwenden können Alfred 3.
Workflow für E-Mail-AdressenMit diesem Workflow können Sie E-Mail-Adressen zu einem hinzufügen CSV Datei (gelbe Elemente), suchen Sie nach einer E-Mail-Adresse, um eine E-Mail zu senden (blaue Elemente), zeigen Sie eine E-Mail-Adresse an (grüne Elemente) oder löschen Sie eine Adresse (rote Elemente). Die von mehreren Befehlen verwendeten Elemente sind weiß.
Die Farbcodierung hilft anderen dabei, die Abläufe im Workflow zu verstehen. Die Möglichkeit, Teile wiederzuverwenden, macht das Schreiben Alfred Arbeitsabläufe einfacher und wartbarer. Das Skriptfilter verwendet auch die Umgebungsvariable alfred_workflow_data um das Skript zukunftssicher zu machen. Wenn Sie diese Variable verwenden, müssen Sie den Speicherort der Datendateien nicht fest codieren.
Sie werden auch feststellen, dass der einzige Code für die geschrieben wurde Skriptfilter nach der E-Mail-Adresse und der Skript ausführen Element zum Löschen einer E-Mail-Adresse aus der CSV Liste.
Ich habe die emailclient Umgebungsvariable, die in der Einstellungen Panel, um zu sehen, ob ich die Standardaufrufmethode verwenden muss mailto Protokoll, oder machen Sie etwas für einen bestimmten E-Mail-Client. Es gibt eine besondere Abwicklungsbedingung für die Brief E-Mail-Client, den ich am häufigsten benutze.
Jetzt wissen Sie alles über die neuen Dinge Alfred 3 Workflows, es ist Zeit für Sie zu experimentieren. Lassen Sie mich wissen, was Sie denken und Ihre Erfahrungen in den Kommentaren unten.