Alfred 3 Explained-Part 2

Nell'ultimo tutorial, ti ho mostrato molte modifiche Alfred 3, tranne le modifiche ai flussi di lavoro. Questo tutorial ti aiuterà ad accelerare Alfred 3 i flussi di lavoro. Ti mostrerò anche un esempio di cosa puoi fare con esso.

In questo tutorial, assumerò che tu abbia familiarità con Alfred 2 ed è il processo di creazione del flusso di lavoro. In caso contrario, si prega di consultare i miei altri tutorial su Alfred 2

  • Alfred Workflow per principianti
  • Alfred Worflow per Intermedi
  • Alfred Workflow per utenti esperti, e 
  • Alfred Debugging

Cambiamenti del flusso di lavoro

La prima nuova aggiunta all'area del flusso di lavoro di Alfred 3 è che gli elementi possono essere posizionati ovunque. Ora puoi collegare un elemento a destra a un elemento sul lato sinistro.

Hanno fatto un ottimo lavoro nel rilevare ed evitare scenari a ciclo infinito, anche se è ancora possibile con un Trigger esterno chiamando la parte anteriore di una catena di elementi che portano all'elemento chiamante.

Nuove connessioni all'indietro

Come sempre, connetti elementi facendo clic e trascinando sul lato destro di un elemento e trascinandoti sul lato sinistro di un altro elemento. Se una bolla non appare, non è un'area di connessione legale. 

Nota nell'animazione gif sopra, il JSON elemento è l'unico elemento che non ottiene una bolla verde sul lato sinistro mentre si trascina la seconda connessione. Non è possibile connettersi a quell'elemento perché creerebbe un ciclo infinito.

Nuovi elementi del flusso di lavoro

Non solo gli elementi possono essere posizionati ovunque, possono anche essere codificati a colori e avere una descrizione di testo sotto di essi per descrivere quello che fanno. Ci sono quattro icone nell'angolo in alto a destra, mentre il nome del flusso di lavoro, la descrizione breve e l'icona sono a sinistra. 

Le icone da sinistra a destra sono Esportare, Preferenze, A distanza, e Debugger pulsanti. Ci sono undici nuovi elementi in Alfred 3: Filtro del dizionario, Filtro elenco, Argos e variabili, Filtro, Trasformare, Ritardo, Sostituire, JSON Config, Giunzione, mettere a punto, e Scrivi un file di testo.

Pulsante Esporta

Il Esportare pulsante consente di salvare il flusso di lavoro in qualsiasi punto del file system. Si aprirà una finestra di dialogo file che consente di selezionare la directory e il nome del file per salvare il flusso di lavoro.

Quando esporti un flusso di lavoro, lo salverà con il .alfred3workflow estensione. Questo è per differenziarli da Alfred 2 flussi di lavoro.

Pulsante Preferenze

Icona delle preferenze

Il Pulsante Preferenze fa apparire il Finestra di dialogo delle preferenze sopra riportati. Nel Informazioni su questo flusso di lavoro area di testo, è possibile aggiungere una descrizione testuale del flusso di lavoro, informazioni sull'utilizzo del flusso di lavoro e qualsiasi altra informazione che possa giovare all'utente del flusso di lavoro. Se il flusso di lavoro utilizza altre applicazioni, è qui che inserirò i collegamenti al sito Web dell'applicazione. 

Nel Variabili d'ambiente del flusso di lavoro sezione, è possibile creare variabili d'ambiente da utilizzare negli script del flusso di lavoro. Se il nome della variabile è già in uso nell'ambiente di sistema, questo sostituirà il valore per tutti gli script eseguiti in questo flusso di lavoro.

Pulsante remoto

Icona remota

Il A distanza pulsante ti dà un layout di Alfred Remote per popolare gli schermi. Tu dai il nome allo schermo e aggiungi i pulsanti per fare qualsiasi cosa Alfred 3

Se il flusso di lavoro ha A distanza comandi, possono essere posizionati in questa schermata. Quando si apre Alfred Remote su un iOS dispositivo, il layout dello schermo qui sarà utilizzabile.

Pulsante di debug

Icona di debug

Il mettere a punto pulsante visualizza il debugger nella parte inferiore dell'area del flusso di lavoro. Questo dà un posto per mostrare ciò che ogni elemento invia all'elemento successivo. 

Se hai un mettere a punto elemento connesso nel tuo flusso di lavoro, visualizzerà qui le informazioni richieste. Ciò rende semplice il debug degli script del flusso di lavoro.

Filtro del dizionario

Dizionario elemento del flusso di lavoro

Il Filtro del dizionario ti consente di creare un flusso di lavoro che cercherà le parole in un dizionario specificato. Pertanto, se si dispone di un dizionario che si traduce da una lingua all'altra, verrà creata una funzione di traduzione facile.

Filtro elenco

Elenco elemento flusso di lavoro

Il Filtro elenco ti consente di creare facilmente un elenco predefinito di opzioni da cui l'utente può selezionare. UN Filtro elenco è una forma specializzata del Script Filter. Ma, invece di costruire le possibili risposte in uno script, è possibile crearle in questa finestra di dialogo. Il Parola chiave è il testo digitato nel Browser Alfred per avviare questo flusso di lavoro. Il Titolo segnaposto è il testo in cima visualizzato nell'elenco di possibili azioni da intraprendere durante la digitazione in Browser Alfred. Il Segnaposto sottotitoli è il testo appena sotto il Titolo segnaposto. Inserisco spesso il nome del flusso di lavoro qui.

Alla destra del Parola chiave è un menu a discesa con diverse opzioni per ottenere informazioni dall'utente. Questo menu a discesa può entrambi Argomento richiesto, Argomento opzionale, o Nessun argomento. Con Argomento richiesto, non è possibile attivare il flusso di lavoro finché non si digita un argomento dopo il Parola chiave. Il Argomento opzionale l'opzione andrà avanti e visualizzerà le opzioni nella lista prima che l'utente inizi a digitare. Il Nessun argomento agirà sul primo elemento senza aggiungere argomenti.

Quando aggiungi un nuovo elemento premendo il tasto + simbolo in basso a destra dell'elenco delle opzioni, è possibile specificare il Titolo, Sottotitolo, e Arg. Il Titolo sarà la stringa in alto mostrata nel Browser Alfred per quell'elemento, mentre il Sottotitolo sarà sotto di esso. Il Arg è il testo passato all'elemento successivo quando selezionato.

In basso a destra nella finestra di dialogo, c'è un menu a discesa con due possibilità: Alfred impara l'ordine dei risultati in base all'utilizzo o mantiene i risultati in ordine definito nella tabella. Questo imposta i due possibili modi in cui Alfred potrebbe visualizzare gli elementi della tabella in Browser Alfred.

È anche possibile inserire gli elementi dell'elenco con a CSV file contenente gli articoli. Pertanto, se si crea un file contenente quanto segue:

Un titolo, un sottotitolo, un argomento Un altro titolo, un altro sottotitolo, un altro augment

Quando trascini il file nella finestra di dialogo, verranno aggiunti due nuovi elementi. Il primo oggetto avrà il titolo di Un titolo, sottotitolo di Un sottotitolo, e l'argomento sarà un argomento. Pertanto, è possibile importare un numero elevato di elementi in un file trascinando il CSV file sugli elementi dell'elenco e ne aggiungerà ciascuno.

L'uso di a Filtro elenco e a Script Filter sembra esattamente lo stesso per l'utente del flusso di lavoro. È solo un altro modo per creare un elenco di cose da fare in un flusso di lavoro. L'unico inconveniente al Filtro elenco è che se ciò che l'utente digita non corrisponde a qualcosa nella lista, allora Alfred mostrerà gli elementi di ricerca predefiniti. Con un Script Filter, è possibile rilevare se nulla sarebbe stato selezionato e aggiungere un elemento per dire all'utente che l'input non corrispondeva a nulla.

Argos e variabili

Elemento di flusso di lavoro Args and Variables

Il Args and Variables Element ti permette di modificare le informazioni che passano attraverso l'elemento e le variabili d'ambiente. Il prossimo elemento riceve ciò che è nel Discussione casella di testo. Qualsiasi oggetto nel variabili area cambierà la variabile d'ambiente con il valore impostato. 

Entrambe le aree prendono lo standard Alfred macro variabili di Interrogazione come input per l'elemento, e Var: varname come il valore della variabile d'ambiente chiamata nomevar.

Filtro

Filtro elemento flusso di lavoro

Il Filtro elemento ti consente di filtrare ciò che viene successivamente attivato. L'elemento dopo questo elemento verrà eseguito solo se i risultati del condizionale sono veri. La casella di testo dopo Continua solo se definisce cosa controllare. 

Il prossimo menu a discesa ha tre opzioni: è uguale a, non è uguale a, e corrisponde alla regex. La casella di testo successiva contiene il valore da confrontare con o un'espressione regolare per corrisponde alla regex. Il è uguale a e non è uguale a sono auto esplicativi. 

Il corrisponde alla regex ti permette di specificare un'espressione regolare per abbinare la stringa. Se c'è una corrispondenza in qualsiasi punto della stringa, l'esecuzione procede all'elemento successivo. Puoi leggere il Specifiche ICU sul loro sito web. È uno standard basato sulle espressioni regolari Pearl. Quando il corrisponde alla regex è vero, l'elemento successivo riceve l'intera stringa di input.

Non è necessario abbinare solo l'input. Puoi usare il Var: varname macro e corrisponde a una variabile di ambiente. L'input è ancora passato, non la stringa abbinata. Pertanto, è possibile utilizzare questo elemento come uno switch basato su una variabile di ambiente o sull'input.

Ritardo

Ritarda l'elemento del flusso di lavoro

Il ritardo l'elemento metterà in pausa l'esecuzione del flusso di lavoro sull'elemento successivo nel flusso per il numero di secondi specificato. Ciò non influirà su altre linee di flusso nel flusso di lavoro. 

Questo ritardo può venire dall'input usando Interrogazione, o da una variabile di ambiente usando il Var: varname macro. Questo è utile quando si hanno due o più linee di flusso e si desidera che l'altro abbia tempo per completare. 

Ad esempio, puoi avere un Parola chiave elemento che avvia un server Web locale e apre il browser. Il Parola chiave elemento può avere una linea connessa allo script per avviare il server, mentre un'altra linea va a un ritardo per 30 secondi e quindi a a Apri URL elemento. Finché il server non impiegherà più di 30 secondi per essere avviato, funzionerà correttamente.

Se il tuo flusso di lavoro ha diverse linee di flusso che azionano da un elemento, il primo in alto nella pagina fa le azioni prima, poi il secondo e così via. Pertanto, un ritardo di un secondo su una linea causerà il suo saltare fino a quando non vengono eseguite tutte le altre linee parallele.

Trasformare

Trasforma elemento

Il Trasformare l'elemento esegue semplici trasformazioni di testo sulla stringa di input. Le trasformazioni disponibili sono: Trim spazio bianco, Lettere maiuscole, Minuscolo, Camel Case, Stringa inversa, Strip Diacritics, e Striscia non alfanumerico

Ognuna di queste trasformazioni è auto esplicativa.

Giunzione

Il Giunzione l'elemento collega semplicemente tutti gli input a tutte le uscite. Questo è ottimo per alimentare molti input su molte uscite con linee minimali. Collegare tutti gli ingressi sul lato sinistro di a Giunzione, e quindi collegare l'uscita a ciascun elemento di input in ordine successivo.

Ciò aiuta a mantenere il disordine e facilita le espansioni.

Sostituire

Sostituisci elemento flusso di lavoro

Il Sostituire elemento confronta l'input con stringa, regex, o input vuoto come selezionato nel menu a discesa. La prima casella di testo contiene la stringa di confronto, mentre la seconda casella di testo contiene la stringa di sostituzione. 

Pertanto, se la stringa di confronto è scatola e la stringa di sostituzione è aquilone, la frase Ho una scatola cambia in Ho un aquilone. Se una regex è ^ a (...) ple, la stringa di sostituzione è $ 1, e l'input è Mela, allora l'output sarà pp (le due lettere coincidono con le due . nella stringa di corrispondenza). Il $ 1 è una scorciatoia per il primo gruppo di cattura designato dal ()

Le espressioni regolari Tuts +: Up and Running ti aiuteranno a capire e usare le espressioni regolari.

JSON

Elemento di flusso di lavoro JSON

Il JSON elemento è simile al Argos e variabili elemento in quanto consente di modificare i parametri di output e le variabili di ambiente. Nel config sezione, è possibile modificare la configurazione dell'elemento successivo. 

Ad esempio, connetti un Parola chiave elemento a a JSON elemento e poi a a Post notifica. Posiziona il seguente all'interno del JSON configurazione elemento:

"alfredworkflow": "arg": "query", "config": "title": "Some test text", "text": "Questo è il testo di prova", "variables":  

Quando si attiva la parola chiave con il testo in seguito, indipendentemente dal testo inviato, il Post notifica avrà sempre il Titolo di Qualche testo di prova, e il Testo area (appena sotto il titolo) dirà Questo è il testo di prova.

mettere a punto

Debug Workflow Element

Con il mettere a punto elemento, puoi inserire qualsiasi macro in Alfred alla console di debug. Il allvars le macro mostreranno il valore di ogni variabile definita per questo flusso di lavoro.

Questo aiuta a eseguire il debug degli script fornendo informazioni che normalmente non vengono visualizzate nella console di debug. Puoi anche controllare il Cancella il testo nel debugger opzione per cancellare il testo prima di postare un nuovo testo.

Scrivi su file

Scrivi su file Elemento flusso di lavoro

Il Scrivi su file elemento consente di scrivere informazioni su un file. È possibile specificare un percorso assoluto o un percorso relativo al file. Se si tratta di un percorso relativo, è possibile impostarlo per salvare nella directory del flusso di lavoro o nell'area della directory dei dati del flusso di lavoro. 

Se controlli il Aggiungi UUID al nome del file, aggiungerà un numero univoco al nome per creare nomi di file univoci. Se controlli il Crea cartelle intermedie se non esistono opzione, Alfred crea eventuali cartelle mancanti nel percorso. 

Se il file esiste, puoi impostarlo su Salta, sovrascrivere, o Aggiungere. Il Salta l'opzione non scriverà il file se già esiste. Il sovrascrivere l'opzione cancellerà il contenuto del file e scriverà i nuovi contenuti. Il Aggiungere l'opzione aggiunge automaticamente una nuova riga a ogni scrittura.

Nella casella di testo, puoi posizionare qualsiasi Alfred macro per inserire informazioni nel file. Nel mio esempio di flusso di lavoro, ho un Scrivi su file elemento impostato su:

Var: firstName | var: lastName | var: email

Questo crea una nuova riga ogni volta con le variabili di ambiente nome di battesimo, cognome, e email separate con un | |.

Script Filter

Il Script Filter non è un nuovo elemento, ma i formati di output per esso sono cambiati. Puoi scrivere uno script per produrre lo stesso risultato XML formato come usato in Alfred 2 oppure puoi creare l'output come a JSON struttura. Il JSON la struttura dovrebbe essere:

"items": ["uid": "Un identificativo univoco per l'elemento", "tipo": "file", "titolo": "Titolo dell'elemento", "sottotitolo": "Sottotitolo dell'elemento", "arg": "testo passato all'elemento successivo", "completamento automatico": "testo completo", "valido": vero, "icona": "tipo": "fileicon", "percorso": "~ / Desktop" ]

È necessario ripetere le righe 2-14 per ciascun elemento fornito all'utente. Ricorda solo di mettere una virgola dopo ogni blocco eccetto per l'ultimo blocco. Penso che questo formato sia molto più facile da usare rispetto al XML formato, ma preferisco inserire il codice Node.js per i miei flussi di lavoro.

Tutti gli elementi relativi agli script

Ogni elemento che accetta uno script ora ha due modi per passare il parametro di input. Il modo originale è quello di sostituire ogni occorrenza di Interrogazione nello script con la stringa di input.

Ora è possibile specificare che lo script riceva la stringa di input con input come argv. Per alcuni script, questo funziona meglio ed è più veloce da allora Alfred non deve fare un'operazione di ricerca e sostituzione.

Alfred Variabili d'ambiente

Alfred imposterà alcune variabili d'ambiente per i tuoi script da usare. Ecco l'elenco delle variabili d'ambiente impostate da Alfred:

Nome variabile Descrizione
alfred_preferences Questo dà la posizione del file delle preferenze.
alfred_preferences_localhash Questo è un hash del file delle preferenze.
alfred_theme Questo è il tema attualmente utilizzato da Alfred.
alfred_theme_background Questo indica il colore di sfondo del tema corrente.
alfred_theme_selection_background Questo indica il colore di sfondo del tema corrente con un oggetto selezionato.
alfred_theme_subtext Questo dà il sottotesto ai temi attuali.
alfred_version Questa è l'attuale versione di Alfred. Sarà 3.0 per Alfred 3.
alfred_version_build Questo dà il numero di build della versione.
alfred_workflow_bundleid Questo è l'attuale bundle dei flussi di lavoro.
alfred_workflow_cache Questo contiene il percorso alla directory della cache del flusso di lavoro corrente.
alfred_workflow_data Questo contiene il percorso alla directory dei dati del flusso di lavoro corrente.
alfred_workflow_name Questo è il nome del flusso di lavoro corrente.
alfred_workflow_uid Questo è l'ID univoco per il flusso di lavoro corrente.
alfred_debug Questo flag indica se il debug è attualmente attivo o meno.

L'utilizzo di queste informazioni contribuirà a rendere i tuoi flussi di lavoro più a prova di futuro. Se si desidera visualizzare le variabili di ambiente da Alfred, si dovrebbe ottenere il Shell Variables flusso di lavoro. È molto utile per vedere ciò che vedranno i tuoi script.

Esempio di flusso di lavoro

Il download per questo tutorial contiene il Flusso di lavoro degli indirizzi di posta elettronica visto sotto Puoi usarlo come esempio su come utilizzare molti dei nuovi elementi in Alfred 3.

         Flusso di lavoro degli indirizzi di posta elettronica

Questo flusso di lavoro ti consente di aggiungere indirizzi e-mail a a CSV file (elementi gialli), cercare un indirizzo e-mail per inviare una e-mail (elementi blu), visualizzare un indirizzo e-mail (elementi verdi) o per eliminare un indirizzo (elementi rossi). Gli elementi utilizzati da più di un comando sono bianchi. 

La codifica a colori aiuta gli altri a capire cosa sta succedendo nel flusso di lavoro. La possibilità di riutilizzare le parti rende la scrittura Alfred flussi di lavoro più facili e più manutenibili. Il Script Filter fa anche uso della variabile di ambiente alfred_workflow_data per aiutare a rendere la sceneggiatura a prova di futuro. Utilizzando questa variabile, non è necessario codificare il percorso dei file di dati.

Noterai inoltre che l'unico codice scritto era per il Script Filter per cercare l'indirizzo email e il Esegui script elemento per l'eliminazione di un indirizzo email dal CSV elenco.

Ho usato il emailclient variabile di ambiente che è nel Preferenze pannello per vedere se ho bisogno di utilizzare il metodo di chiamata predefinito utilizzando il mailto protocollo, o fare qualcosa di specifico per un particolare client di posta elettronica. Ha una condizione di trattamento speciale per il Lettera client di posta elettronica che uso di più.

Conclusione

Ora che conosci tutte le novità in Alfred 3 flussi di lavoro, è il momento per te di sperimentare. Fatemi sapere cosa ne pensate e le vostre esperienze nei commenti qui sotto.