Alfred Workflows pentru intermediari

Bine ai revenit! Din moment ce citiți acest lucru, trebuie să vă fi bucurat de tutorialul începătorului. Grozav! Acum, să săpăm un pic mai adânc făcând un flux de lucru care ne va ajuta să gestionăm dosarul Descărcări, precum și un Manager de proiecte.

Descărcă fluxul de lucru Tamer

Sunt în mod constant încărcarea / descărcarea fișierelor către și de pe net și crearea de capturi de ecran care merg automat în dosarul Descărcări. În consecință, dosarul Descărcări devine foarte dezordonat. Așa îmi îmblânzesc.


Crearea fluxului de lucru: Descărcări Tamer

Mai întâi, creați o nouă etichetă de flux de lucru Descărcări Tamer. Descrierea este setată la Un flux de lucru pentru a lucra cu elemente din dosarul Descărcări, dar poți face tot ce vrei. ID-ul pachetului este com.customct.MTDownload.

ID-ul pachetului este foarte important și ar trebui să fie foarte unic pentru fluxul de lucru. Întotdeauna folosesc adresa mea de site și numele fluxului de lucru pentru a identifica în mod unic fluxul de lucru.

Autorul poate fi tu. Site-ul web este site-ul dvs. sau nimic.

Filtre de fișiere

Filtre de fișiere bloc este o unitate foarte flexibilă și puternică. Este un loc minunat pentru a începe să lucrați cu fișiere într-un flux de lucru. Pentru un exemplu, acesta oferă o modalitate ușoară de a căuta fișiere.


Filtru fișiere: Opțiunile pentru prima pagină

Alege o Filtru fișiere blocați și completați-o așa cum se arată mai sus. Setați cuvântul cheie la mtdl: astăzi, titlul Placeholder la MT: Descărcări de fișiere, și subtextul Placeholder la Se încarcă ... .

Dacă doriți să vă concentrați doar asupra unui tip de fișier, puteți glisa și fixa un exemplu de fișier în Tipuri de fisiere cutie. Intenția aici este de a găsi orice tip de fișier pe sau în jurul unei anumite zile. Prin urmare, caseta Tipuri de fișiere nu este utilizată în acest exemplu.


Filtru fișier: Opțiuni de căutare

Selectarea Domeniul de căutare, ne oferă a doua pagină de opțiuni. Utilizând Finder, glisați Descărcări director de la Finder la Domeniul de căutare zonă. Acest lucru îi spune lui Alfred să caute numai fișiere din aceste directoare. Deoarece acest flux de lucru este interesat doar de dosarul Descărcări, acest lucru va fi de ajuns.


File Filter: Opțiuni avansate

Selectarea Avansat ne va oferi opțiunile avansate. Aici, setați Interval de date la Astăzi astfel încât să se afișeze numai fișiere create astăzi. presa Salvați și prima funcție a fluxului nostru de lucru va fi completă.

Câmpuri zona oferă o listă de câmpuri pe care le puteți căuta informații relevante. Acest lucru poate oferi cu adevărat căutării dvs. mai multă putere pentru a găsi în mod specific ceea ce este căutat. Pentru fiecare câmp, puteți seta cuvinte steag pentru a căuta în interiorul cuvântului bourndries. Despică steagul va împărți fiecare cuvânt în parametri separați care vor fi căutați individual.

Precizie steagul este utilizat pentru a face căutarea nu începe cu un card sălbatic în cazul în care cuvinte steagul este dezactivat. Cu alte cuvinte, dacă cuvinte nu este setat, setarea acestui steguleț va face căutarea se bazează întotdeauna pe începutul textului și nu pe mijloc. În cazul în care cuvinte steagul este setat, acest steag este lipsit de sens.

Aceste steaguri diferite pot obține confuzii cu privire la modul de utilizare a acestora. Puteți configura diferite cazuri de testare și puteți vedea cum fiecare afectează rezultatele dvs. În general, întotdeauna păstrez cuvinte și Despică seturi de steaguri.

Ceea ce a fost creat acum este un browser de fișiere care va afișa numai fișierele din directorul de descărcări care au fost adăugate astăzi. Acum, pentru a face ceva cu fișierul selectat.


Descărcări Tamer: Adăugarea deschiderii fișierului

De la + meniu, selectați Deschide fișierul blocați și atașați-l la Filtru fișiere bloc. Acum, când mtdl: astăzi command runs, va apărea o listă de fișiere descărcate astăzi. Selectarea o va face să fie deschisă în aplicația preferată pentru acel tip de fișier.


Descărcări Tamer: Adăugarea previzualizării - Script

Uneori vrei doar să te uiți rapid la dosar. OS X a construit-o, dar cum să o folosiți? Acesta este locul unde scripturile de tip shell intră în mână. Adauga o Rulați scriptul blocați și conectați-l la Filtru fișiere bloc, la fel ca și Deschide fișierul bloc.

Seteaza Limba la / Usr / bash. În scenariu zonă, tip qlmanage -p "query"> & / dev / null &. Debifați toate evadarea astfel încât numele fișierului dvs. nu este modificat.

Observați Interogare macro. Această macrocomandă se va extinde la ceea ce a fost transferat acestui bloc din blocul anterior. În acest caz, va fi calea completă la fișierul din Descărcări director.

Ce va face acest bloc este înlocuirea Interogare șir cu calea completă a fișierului pe care l-ați selectat, apoi executați scriptul ca script de bash shell.

Bacsis: Toate scripturile sunt executate direct fără a citi fișierele preferințelor pentru tipul de script. Prin urmare, fișierul ".bashrc" nu va fi încărcat într-un script bash, nici fișierul dvs. ".zshrc" într-un script zsh. Doar instalarea mediului gol de sistem este în loc.

Dacă comenzile pe care le utilizați necesită setarea unor variabile de mediu, trebuie fie să încărcați manual fișierul de preferințe, fie să adăugați variabilele de mediu în scriptul dvs..

Alfred lucrează în acest fel pentru a executa scripturile mai repede. Dar, poate fi greu să scrii scripturile care funcționează pentru prima dată!


Descărcări Tamer: Adăugarea Modificatorului cheii de control

Puteți conecta câte blocuri la un singur bloc, după cum doriți. Dar, dacă executați macro-ul acum, acesta va deschide fișierul în aplicația sa implicită și în previzualizare rapidă! Asta într-adevăr nu este comportamentul necesar.


Descărcări Tamer: Adăugarea opțiunii de previzualizare

Pentru a remedia acest lucru, faceți dublu clic pe linia care merge la Rulați scriptul bloc. Acest lucru vă va permite să setați un Modificatorul de acțiune și a Modificator Subtext. Stabiliți-le așa cum vedeți aici. Ceea ce face acest lucru este să vă permiteți să comutați acțiunea Filtru fișiere bloc pe baza unei chei de modificare. Acum, dacă selectați doar un fișier, acesta se va deschide în aplicația implicită. Dar dacă țineți Control în timp ce selectați un fișier, acesta va previzualiza fișierul în schimb.


Descărcări Tamer: Previzualizarea în Alfred

Fluxul de lucru ar trebui să pară așa. Puteți vedea eticheta modificatorului de pe linia care merge la Rulați scriptul bloc. În acest fel, este ușor să vedeți cum să declanșați fiecare acțiune.


Descărcări Tamer: Adăugarea ștergerii în coșul de gunoi - Script

Când se declanșează fluxul de lucru, dacă țineți apăsată tasta Control , textul de sub numele fișierului va fi modificat previzualizare. Acum va folosi sistemul de previzualizare OS X (Quick Look) pentru a afișa fișierul.


Descărcări Tamer: Adăugarea ștergerii în coșul de gunoi

Următoarea funcție este ștergerea fișierului. Încă o dată, un script de bash poate fi folosit pentru a îndeplini această sarcină. Adauga o Rulați scriptul bloc. Nu uitați să debifați toate evadarea alegeți și setați-l să ruleze un script bash.

Acum, pentru unele decizii de proiectare. Puteți folosi pur și simplu rm -f comanda pentru a elimina forțat fișierul din directorul Descărcări. Dar, niciodată nu poți anula decizia. Prin urmare, ar fi mai bine să mutați fișierul în folderul OS X Trash. Deoarece nu există o linie de comandă încorporată pentru aceasta, va trebui să descărcați munca altcuiva și să o utilizați. Nu uitați să spuneți altor utilizatori fluxul de lucru unde să obțineți programul. Programele gratuite sunt minunate!

Prin urmare, descărcați programul liniei de comandă a coșului de gunoi și puneți-l în cale (/ / Local / bin usr ar fi bine. Programul vine și cu un script de instalare, de asemenea.). Apoi, completați zona de scenariu cu / usr / local / bin / coșul de gunoi "query". Ar trebui să arate imaginea de mai sus.


Descărcări Tamer: Adăugarea ștergerii în coșul de gunoi

Setați acea linie pentru a utiliza Funcţie modifier cheie. Acum, când selectați un fișier cu Funcţie apăsat, fișierul va fi mutat în coșul de gunoi. Dacă doriți să îl ștergeți, deschideți dosarul de gunoi și spuneți-i să restaureze elementul.


Descărcări Tamer: Adăugarea Open în blocul Alfred

Acum, adăugați a Căutați în Alfred bloc. Acest lucru ne va permite să folosim acțiunile create de Alfred pe fișierele din dosar. Schimbați conexiunea pentru Căutați în Alfred blocați la Schimb modifier cheie.

Bacsis: Chiar nu trebuie să adăugați unul Deschideți în Finder bloc. Aceasta este acțiunea implicită a Comanda cheie în browser-ul Alfred.
Descărcări Tamer: Alfred Browser

Acesta este Alfred Browser. Deoarece am doar un fișier acolo acum, este singurul arătat. Cu acest fișier selectat, puteți apăsa pe sageata dreapta cheie, veți obține o listă de acțiuni pentru a prelua acel fișier.


Descărcări Tamer: Alfred Browser - Acțiuni de fișiere

Cu această listă de acțiuni, puteți derula fie pentru a le vedea pe toate, fie pentru a începe să tastați numele acțiunii pentru a reduce dimensiunea listei până când veți găsi pe cea dorită. Există destul de multe acțiuni predefinite ale fișierelor și multe fluxuri de lucru își adaugă acțiunile de fișier proprii.

Să presupunem că software-ul de screenshot salvează imagini în dosarul Descărcări (cele mai multe se salvează pe desktop, dar nu-mi place să-mi dezamăgesc desktopul, prin urmare, le salvez în folderul Descărcări.). A Trimiteți la Proiectul curent acțiunea fișierului mi-ar ajuta să curăț aceste fișiere în mine Descărcări pliant.

Fluxul de lucru al managerului de proiect

A Acțiune fișier bloc permite crearea de noi acțiuni pentru preluarea unui fișier sau a unui grup de fișiere selectate în Browserul Alfred. Din moment ce a Treceți la Proiectul curent acțiunea fișierului este în afara scopului unui Descărcări Tamer, trebuie creat un nou flux de lucru pentru gestionarea proiectului nostru.


Descărcări Tamer: Programe de lucru pentru Project Manager

Creați un nou flux de lucru și marcați-l Manager de proiect. Descrierea este setată la Un flux de lucru care vă ajută să vă administrați proiectele., dar poți face tot ce vrei.

ID-ul pachetului este com.customct.MTProject. ID-ul pachetului este foarte important și ar trebui să fie foarte unic pentru fluxul de lucru. Întotdeauna folosesc adresa site-ului meu în ordine inversă de căutare (luată din convențiile de numire DNS) și numele fluxului de lucru pentru a identifica în mod unic fluxul de lucru. Autorul poate fi tu. Site-ul este site-ul dvs. sau nimic.

Acțiuni de fișiere

Acum, că avem un flux de lucru pentru gestionarea proiectului nostru, putem folosi a Acțiune fișier bloc pentru a muta fișiere în directorul nostru de proiect selectat.


Descărcări Tamer: Acțiune fișier - mutați în Proiect curent

Creeaza o Acțiune fișier blocați cu numele setat la Treceți la Proiectul curent. De asemenea, verificați opțiunea de a accepta mai multe fișiere. În acest fel, va fi posibil să selectați mai multe fișiere și să aveți Acțiune fișier lucrați pe toate la o dată. Deoarece orice tip de fișier este permis, veți părăsi Tipuri zona goală.


Descărcări Tamer: Acțiune fișier - Mutare în Proiect curent - Script

Pentru a efectua lucrarea, trebuie să utilizați a Rulați scriptul bloc pentru a face munca musculara. Seteaza Limba la / Bin / bash și dezactivați toate evadarea Opțiuni. Setați scriptul la:

 / bin / mv "interogare" / proiecte / myproject

~ / Proiecte / myproject ar trebui să fie schimbat în directorul curent al proiectului. Aceasta este abordarea greu codificată, care nu este prea rezonabilă, dar care va fi rezolvată ulterior.

Cu cele două blocuri conectate în acest fel, puteți trimite un singur fișier în directorul nostru actual de proiect. Cu exceptia Acțiune fișier bloc este setat pentru a permite trimiterea mai multor fișiere. Când se utilizează mai multe fișiere în Alfred Browser Option-Shift, Alfred va trimite lista fișierelor către dvs. Acțiune fișier într-o listă separată de file (o descriere completă a utilizării Buffer-ului de fișiere poate fi găsită la Alfred Support.).

Pentru a rezolva această problemă, trebuie făcută mai multe script-uri. Schimbați scriptul la următoarele:

 generate_list () echo "interogare" projDir = "~ / your / project"; pentru fișier în $ (generate_list) nu mv "$ filen" "$ projDir"; Terminat

Ta Rulați scriptul bloc ar trebui să arate astfel:


Descărcări Tamer: Acțiune fișier - Mutare în Proiect curent - Script stabilit

generate_list funcția este o modalitate rapidă de a transforma șirul separat de file pe o listă de valori pentru buclă .... Cifra pentru ... va aloca fiecare element din listă la $ filen variabile și efectuați mutarea. Am setat directorul de proiect la o variabilă. Următorul pas este să completați dinamic variabila în loc să codificați greu valoarea.

Bacsis: Observați utilizarea citatelor duble în jurul variabilelor din mv afirmație. Aceasta asigură că calea dvs. va fi urmată corect chiar dacă există spații în numele căilor. Este foarte important să vă amintiți. Multe scripturi mor din cauza acestei probleme.

Scripting în Alfred

Pentru a corecta problema codării greu a directorului de proiect, trebuie folosit un mod de stocare a informațiilor. Alfred se ocupă de acest lucru, permițând fluxurilor de lucru să aibă două zone de stocare a datelor, numite date și cache.

Directorul de stocare a datelor este pentru stocarea pe termen lung a informațiilor. Depinde de fluxul de lucru pentru a menține informațiile actualizate acolo și a le relua.

Directorul cache este pentru informații care sunt temporare. Programele care elimină cache-urile de date din sistemul dvs. vor șterge automat aceste fișiere.

În viitor, Alfred va crea și șterge automat aceste directoare. Dar acum, este de până la fluxul de lucru să le mențină.

Directorul de date este situat la ~ / Bibliotecă / Suport pentru aplicații / Alfred 2 / Date despre fluxul de lucru / BundleID.

Directorul cache este situat la ~ / Library / Caches / com.runningwithcrayons.Alfred-2 / Date flux de lucru / BundleID.

BundleID este ID-ul Bundle dat fluxului de lucru atunci când l-ați creat. Deoarece fiecare flux de lucru este reprezentat în aceste directoare, este foarte important ca fiecare flux de lucru să aibă un ID de Bundle diferit.

Bacsis: Amintiți-vă: ~ este modul Unix de a vă referi la directorul de acasă.

După cum puteți vedea, aceste structuri de directoare au deja spații în numele lor. Acesta este motivul pentru care într-adevăr trebuie să aveți grijă de ele în mod corespunzător atunci când scrieți scripturi.

Alfred Rulați scriptul bloc permite ca o limbă de limbi de programare să fie utilizată direct. De exemplu, un script poate fi scris în bash, zsh, AppleScript (cunoscut și ca osascript pe linia de comandă), PHP, Python, Pearl sau Ruby. Indirect, puteți utiliza un script bash sau zsh pentru a executa un script într-o altă limbă, cum ar fi nodul.

Motivul pentru care Alfred afișează numai aceste limbi este că acestea sunt singurele limbi care vin automat pe platforma Mac OS X. Orice altă limbă ar fi fost instalată de utilizator.

De asemenea, Alfred sună numai limba din locația în care a fost inițial instalată. Dacă instalați o altă versiune de Ruby, va trebui să o referiți direct într-un script de shell în loc să utilizați descriptorul standard al scriptului Ruby într-o Rulați scriptul bloc.

Dacă creați un flux de lucru care necesită un alt limbaj de programare instalat, asigurați-vă că utilizatorul este conștient de acest lucru în descrierea fluxului de lucru. De asemenea, este recomandat să se pună aceste informații în Citește-mă aria fluxului de lucru.

Pentru a pune aceste cunoștințe în utilizare, trebuie să schimbați scriptul la următoarele:

 ######################### # Contani. ######################### VPREFS = "$ HOME /Library/Caches/com.runningwithcrayons.Alfred-2/Workflow Data /" NVPREFS = "$ HOME / Bibliotecă / Suport pentru aplicații / Alfred 2 / Date despre fluxul de lucru /" ################################################################ ################################################ # Citit bundleid-ul din fluxul de lucru info.plist ################################## "################################# getBundleId () / usr / libexec / PlistBuddy -c" Print: bundleid "" info.plist " #################################### ######################################################################################################## ################################################## ######################## getDataDir () local BUNDLEID = $ (getBundleId) echo "$ NVPREFS $ BUNDLEID" dacă [! -d "$ (getDataDir)"; apoi mkdir -p "$ (getDataDir)"; atinge "$ (getDataDir) /projectDir.txt"; fi generate_list () echo "query" projDir = "cat" $ (getDataDir) /projectDir.txt ""; dacă [-z "$ projDir"]; apoi ecou "Nu este setat niciun proiect!"; Ieșire; fi pentru fișier în $ (generate_list) nu mv "$ filen" "$ projDir"; făcut ecou "Fișierele au fost mutate!";

Secțiunea din partea de sus este pentru definirea locațiilor diferite ale directorului nostru de date în constante pentru a fi utilizate în scenariu. Este întotdeauna o bună practică de programare pentru a pune articolele evaluate constant într-o constantă pentru scriptul dvs. de utilizat. Prin urmare, dacă este nevoie să fie schimbată ultima dată, va fi un lucru foarte simplu de făcut.


Descărcări Tamer: Deschideți butonul pentru fluxul de lucru

Apoi, funcția getBundleId utilizează un program în OS X pentru a citi plistul pentru fluxul de lucru, info.plist și pentru a prelua acel id. Plistul este localizat în directorul fluxurilor de lucru. Când te uiți la a Rulați scriptul bloc, veți observa în partea din dreapta jos a ferestrei de script este un buton etichetat Deschideți dosarul fluxului de lucru. Aceasta va deschide dosarul pentru fluxul dvs. de lucru în Finder.

Dacă programul dvs. folosește grafice sau alte scripturi care nu s-au schimbat niciodată, aceasta este o zonă minunată pentru a le stoca. Când partajați un flux de lucru, întregul director este încorporat în fișierul fluxului de lucru.

getDataDir funcția utilizează pur și simplu constantele definite și ID-ul Bundle pentru a crea locația directorului de date. Directorul cache nu este utilizat în acest exemplu.

dacă bloc este utilizat pentru a crea directorul nostru de date și fișierul de date utilizat pentru stocarea directorului de proiect, dacă acestea nu există deja. Toate script-urile pe care le scrieți care utilizează aceste directoare trebuie să aibă acest tip de codificare pentru a funcționa corect. Nu vă bazați pe un cuvânt cheie de inițializare deoarece este posibil ca utilizatorul să nu o folosească mai întâi!

Următoarea modificare este modul în care este definită variabila projDir. Pur și simplu pisica conținutul projectDir.txt fișier în variabilă. Prin urmare, acel fișier ar trebui să aibă o singură linie care să conțină directorul pentru proiectul nostru.

După ce a obținut projectDir set variabil, validitatea datelor trebuie verificată. Dacă utilizatorul nu a setat încă un director de proiect, atunci variabila ar trebui să fie necompletată. Prin urmare, scriptul va testa o variabilă necompletată. Dacă este gol, trimiteți un mesaj de avertizare și ieșiți.

Bacsis: Asigurați-vă întotdeauna că datele dvs. sunt corecte. Acest lucru păstrează multe erori din fluxurile dvs. de lucru și îi ajută pe alții să simtă că ați livrat cu adevărat un produs bun. Dacă uitați acest lucru, puteți fi siguri că se va întoarce să vă pângărească până la moarte!
Descărcări Tamer: Adăugarea unui bloc de notificare post

În final, script-ul le spune utilizatorului că fișierele au fost mutate. Îmi place mereu să ofer feedback utilizatorilor. Ajută utilizatorul să simtă că se face ceva. Prin urmare, mesajele trebuie să fie afișate în a Notificare post bloc. Adăugați unul la sfârșitul fluxului de lucru. Fluxul dvs. de lucru ar trebui să arate ca imaginea de mai sus.


Descărcări Tamer: Setarea directorului de proiect: Filtru fișiere

În cazul în care projectDir.txt fișierul a fost creat doar de script, atunci nu va conține nici o informație. Prin urmare, trebuie să faceți o modalitate de a seta acest fișier! Cea mai ușoară cale este să folosiți a Filtru fișiere blocați setările la directoare ca în primul tutorial. Adauga o Filtru fișiere blocați-l și umpleți-l după cum se vede.


Descărcări Tamer: Setarea directorului de proiect: Executare bloc script

Acum, adăugați a Rulați scriptul blocați cu următorul script:

 ######################### # Contani. ######################### VPREFS = "$ HOME /Library/Caches/com.runningwithcrayons.Alfred-2/Workflow Data /" NVPREFS = "$ HOME / Bibliotecă / Suport pentru aplicații / Alfred 2 / Date despre fluxul de lucru /" ################################################################ ################################################ # Citit bundleid-ul din fluxul de lucru info.plist ################################## "################################# getBundleId () / usr / libexec / PlistBuddy -c" Print: bundleid "" info.plist " #################################### ######################################################################################################## ################################################## ######################## getDataDir () local BUNDLEID = $ (getBundleId) echo "$ NVPREFS $ BUNDLEID" dacă [! -d "$ (getDataDir)"; apoi mkdir -p "$ (getDataDir)"; atinge "$ (getDataDir) /projectDir.txt"; fi echo "query"> "$ (getDataDir) /projectDir.txt"; echo "Directorul de proiect este: query";

Observați, de data asta Interogare macro este folosit de două ori. Puteți să-l utilizați de câte ori doriți în scripturi.

Directorul a trecut de la Filtru fișiere bloc va fi întotdeauna un director valid. Prin urmare, nu este necesar să fie testat. Doar ecou în fișierul din directorul nostru de date și este în siguranță.


Descărcări Tamer: Setarea directorului de proiect: Configurare finală

Când conectați Rulați scriptul blocați la Notificare post bloc, ar trebui să arate ca imaginea de mai sus. Acum directorul de proiect poate fi setat și schimbat cu ușurință.

Concluzie

Acum aveți două noi fluxuri de lucru pentru a vă ajuta în rutina zilnică: una pentru a trece prin dosarul Descărcări și una pentru a vă gestiona proiectele. Încercați să le extindeți cu funcții mai utile. De exemplu, creați un Filtru fișiere și Deschide fișierul acțiune pentru a edita fișierele de proiect sau pentru a copia codul de ștergere a fișierelor din fluxul de lucru Downloads Tamer pentru a șterge fișierele din proiect. Nu înveți niciodată până nu încerci lucrurile pe cont propriu!

Tutorialul avansat va extinde aceste doua fluxuri de lucru cu scripturi si mai complexe si va face uz de alte biblioteci pentru a facilita lucrul cu fluxurile de lucru Alfred. Savurați script-uri distractive!

Actualizați: Un nou site de partajare a fluxului de lucru este acum disponibil: pachet care promite să aibă un flux de lucru pentru a lucra și cu acest site.