Sinds Alfred 2.0 in beta was, heb ik Alfred-workflows voor mezelf en voor anderen gemaakt. Het is erg leuk en erg nuttig voor mijn dagelijkse workflow. Ik gebruik Alfred meestal gemiddeld ongeveer 130 keer per dag, met mijn piekdag van 768 keer. Ik zal je de basisbegrippen van workflow-ontwerp in deze tutorial laten zien, helemaal tot aan de zeer geavanceerde functies die je in latere tutorials in je eigen workflows kunt gebruiken. Dus doe mee met het plezier!
Als je net Alfred hebt geïnstalleerd en je hebt het nog niet gebruikt, lees dan de geweldige introductietutorials, Up and running met de Alfred Powerpack - de basisprincipes, en Up and running met de Alfred Powerpack - workflows, op Tuts +. Ik ga er vooral van uit dat je begrijpt wat er in deze artikelen staat. Ik zou nog een paar dingen kunnen bedekken, maar net genoeg voor duidelijkheid.
Alfred is een gratis programma voor alleen de lancerings- en zoekmogelijkheden. Maar om werkstromen te schrijven, moet u een Powerpack-licentie aanschaffen. Met een Powerpack-licentie kunt u workflows gebruiken, uw thema's wijzigen, synchroniseren en toegang hebben tot statica over uw gebruik van Alfred. Het is de uitgave zeker waard.
Wanneer je Alfred activeert door je sneltoets die is ingesteld (standaard is dit Command Space), zult u hebben wat wordt aangeduid als de Alfred-prompt.
Alfred PromptIn de rechterbovenhoek van de Alfred-prompt staat een klein tandwielpictogram. Dat pictogram is hoe je Alfred naar voren brengt voorkeuren programma. Het is een apart programma van Alfred, maar interageert met Alfred op zo'n manier dat je zou denken dat ze hetzelfde programma waren. Wanneer u een workflow maakt of een voorkeur wijzigt in Alfred Preferences, is deze onmiddellijk beschikbaar in Alfred.
Als Alfred Preferences is geopend, ziet u dat de bovenste werkbalk een vermelding heeft workflows. In dit scherm kunnen nieuwe workflows worden gemaakt, bestaande workflows worden bewerkt of eenvoudig met Alfred worden gespeeld. Ik heb een workflow die ik heb genoemd Test gewoon om te testen op verschillende concepten in het werkstroomontwerp.
Voor deze lessen zal ik een werkstroom maken om al het werk voor deze zelfstudie te doen. Het is gemakkelijker om de concepten te bestuderen en vertrouwd te raken met hoe de dingen werken als het niet nodig is om de workflows de hele tijd te veranderen. Dus, a grabbelton functionaliteit in een workflow werkt voor ons.
Maak daarom een nieuwe workflow en geef deze de naam MacTuts: Alfred Workflows - Beginner, een beschrijving van Een testworkflow om te leren hoe u workflows kunt maken, je kunt je naam en website gebruiken voor die gebieden, en een id van com.tuts.mac.AlfredWorkflowBeginner. De id van een werkstroom is erg belangrijk, vooral voor geavanceerdere werkstromen die gebruikmaken van cachegeheugen en gegevensopslag. Ik zal die concepten in de geavanceerde workflow-tutorial uitleggen.
Om er mooi uit te zien, zou het een pictogram moeten hebben. Download de afbeelding van de download en sleep deze naar het pictogram. Elk blok waarin u een afbeelding kunt instellen, gebruikt deze afbeelding nu als de standaardafbeelding. Het trefwoordblok neemt bijvoorbeeld een optionele afbeelding. Als u deze leeg laat, wordt deze afbeelding standaard gebruikt.
Wanneer u op klikt Leesmij tab bovenaan, krijgt u een mooie plek om gebruikers te vertellen hoe ze uw workflow moeten gebruiken. Ik probeer mijn werkstromen altijd te documenteren, want ik kom er misschien over enkele maanden opnieuw op terug en onthoud niet wat die werkstroom doet. Het is een goede gewoonte om deze beschrijving van uw workflow altijd up-to-date te houden.
Druk op de knop met alle informatie op zijn plaats creëren knop en je hebt de workflow. Ik beschouw dit gebied graag als een tekenbord voor het werken aan een workflow.
Om acties aan de workflow toe te voegen, kiest u gewoon blokken uit de + pictogram in de rechterbovenhoek en verbind ze naar behoefte. Het opbouwen van een workflow is vergelijkbaar met spelen. Verbind de stippen met verschillende blokken die de benodigde acties uitvoeren.
Nu u een lege workflow hebt, laten we eens nadenken over wat die workflow veronderstelt. Voor een goede workflowontwikkeling moet u één workflow over één onderwerp houden.
U zou bijvoorbeeld geen workflow moeten maken Mijn sneltoetsen en een activeringsblok voor zoekwoorden hebben. Die workflow moet alleen sneltoetsdefinities bevatten. Of maak een workflow om met de Google-zoekmachine te werken die aansluit op Duck-Duck-Go! Dat zorgt alleen maar voor verwarring.
Elke workflow moet een algemeen thema hebben en je moet je eraan houden. Dat maakt het vinden van een subfunctie van een workflow gemakkelijker te vinden. Ik heb meer dan 80 workflows in mijn Alfred. Als ik wilde zien hoe de list list voor GitHub werkt, ga ik gewoon naar de GitHub-workflow en kijk ik daar voor die functie. Dit is logisch en erg handig.
Zeggen dat, ik heb al die regel vertroebeld in deze workflow. Je gaat een workflow hebben met als thema hoe je workflows kunt maken. Daarom zal het veel, niet-verbonden functies hebben. Maar ze hebben wel het algemene thema: leren hoe je een workflow kunt maken.
Wanneer je je blokken en routes plaatst, is het het beste om het schoon te houden. Op die manier kunnen jij en anderen duidelijk zien wat je doet. Deze werkstroomlay-out heeft bijvoorbeeld connectoren die elkaar kruisen. Dit maakt het erg moeilijk om erachter te komen welk blok verbonden is met welk blok.
Het vergt slechts een kleine gedachte en werk om alles zo netjes mogelijk te houden.
Ook probeer ik logische blokken dicht bij elkaar te groeperen. Ik heb bijvoorbeeld een workflow gemaakt om alle speciale acties te bevatten die ik met één bedrijf gebruik. Het bevat snelkoppelingen naar websites, speciale tekstuitbreiders met berekende resultaten, enz. Alle acties die hetzelfde zijn (snelkoppelingen naast andere snelkoppelingen, tekstuitbreiders met andere tekstuitbreiders, enz.), Ik groepeer ze zodat ze gemakkelijk herkenbaar zijn.
Het doel met een goede workfloworganisatie is om alles zo leesbaar mogelijk te maken.
In de linkerbenedenhoek ziet u de Delen knop. Die knop brengt een enkel menu-item met de naam Werkstroom exporteren ... U gebruikt dit om uw workflow op te slaan in een indeling die u vervolgens kunt e-mailen naar iemand anders en deze kunt laden naar hun Alfred.
Het gebruikt standaard de naam van:
Omdat je zo'n handige manier hebt om workflows te delen, is het logisch om deze naar mensen te sturen of op het internet te plaatsen. Ik deel mijn workflows op Alfred Forums, mijn persoonlijke website Custom Computer Tools, mijn GitHub OctoPress-site en mijn GitHub-account. Echt, al die locaties koppelen uiteindelijk aan de workflows op mijn GitHub-account.
Als je een workflow nodig hebt, is Alfred Forums altijd een geweldige plek om naar nieuwe workflows te zoeken. Als u daar niet vindt wat u zoekt, kunt u ook de Alfred Workflow-site bekijken (ze hebben ook een workflow die hun site doorzoekt en de workflow voor u downloadt). Of ga gewoon op Google op zoek naar Alfred Workflows.
Na deze cursussen maak je ook veel workflows. Plaats ze op deze forums zodat anderen ze ook kunnen gebruiken. Als je het leuk vindt en het gebruikt, zijn er anderen die er ook van kunnen profiteren.
Wanneer u blokken in een werkstroom samen verbindt, geven de regels aan waar de uitvoer van het ene blok naar het volgende gaat. In het blok dat de uitvoer ontvangt, wordt het geplaatst waar ooit het Zoekopdracht macro is gevonden. Op dit moment ondersteunen Alfred-workflows slechts één macro voor uitbreiding, maar er zijn veel suggesties om dit in de fora uit te breiden. Een sleutelwoordblok zal bijvoorbeeld wat ooit na het sleutelwoord is in de Alfred-prompt uitvoeren naar het volgende vak en het overal plaatsen a Zoekopdracht is gevonden.
Er zijn vier soorten blokken die u kunt gebruiken om workflows te maken: triggers, inputs, acties en outputs. De naam van de typen helpen bij hoe ze werken. Alfred organiseert ze in vier kolommen op het gebied van de tekentafel. De informatiestroom op de tekentafel stroomt van links naar rechts. Laten we de verschillende soorten blokken in detail bekijken.
Een sneltoetsblok is hoe u een sneltoets in Alfred definieert. Deze sneltoetsen hebben een wereldwijde reikwijdte, wat betekent dat ze overal beschikbaar zijn. Het probleem dat u tegen kunt komen is overlappende sneltoetsen van andere apps. Alfred laat je een sneltoets die al in Alfred is niet overlappen, maar je kunt gemakkelijk de sneltoets van een andere applicatie overlappen. Daarom moet je voorzichtig zijn met je sneltoetsopdracht.
Een truc die ik gebruik is om altijd dubbele controlesleutel te hebben. De bedieningstoetsen zijn Fn, Ctrl, alt, en Commando. Als u altijd twee of meer hiervan tegelijkertijd gebruikt, overlapt dat meestal niet met andere sneltoetsen voor toepassingen. Maar er zijn uitzonderingen. De Help-workflow is geweldig om uit te zoeken welke sneltoetsen je al hebt toegewezen in Alfred. Ik zal daar meer over vertellen in de Handige workflows in het wild sectie.Met een sneltoets kun je Alfred verschillende items doorsturen naar het volgende blok. Als het argument is ingesteld op Tekst zoals weergegeven, wordt de tekst in het tekstblok doorgegeven aan het volgende blok. Als Argument is ingesteld op Selectie in OS X, vervolgens wordt alles wat in de bovenste toepassing is geselecteerd, doorgegeven. Als Argument is ingesteld op OS X-inhoud van het klembord, dan wordt alles wat zich op het klembord bevindt, doorgegeven. Als Argument is Geen, dan wordt er niets doorgegeven aan het volgende blok. Het is dan alleen maar een actietrigger zonder output.
Een bestandsactie wijst een nieuwe opdracht toe aan de Alfred-browser. Dit is echt handig als je iets hebt dat je met een bepaald bestand wilt doen. U kunt een bestandsactie maken en deze invullen zoals hieronder.
BestandsactieDe Naam veld is de naam om de bestandsactie te geven. Als u wilt dat het meerdere bestanden accepteert, klikt u op Accepteert meerdere bestanden. Elk bestand wordt doorgegeven als een door tabs gescheiden lijst. Als u deze actie voor elk type bestand wilt, verlaat u Types blanco. Anders kunt u verschillende bestanden slepen en neerzetten als voorbeelden van bestandstypen die u wilt verwerken. Voeg ten slotte een toe Berichtgeving plaatsen blok.
Wanneer u nu naar een bestand in de Alfred-browser bladert, wordt bij het indrukken van de rechterpijltoets alle mogelijke bestandsacties weergegeven. druk op MT: pad van het bestand en je ziet de grommelding met het pad naar het bestand.
Een contactactie wijst een nieuw commando toe aan de contactpersonen in Alfred. Op deze manier kunt u specifieke acties uitvoeren op elk item van het contactformulier. Dit blok heeft slechts één veld.
Je zet daar de naam van je commando. Deze heet MT: naam tonen. U kunt dit koppelen aan een berichtmelding. Ga nu naar de Kenmerken en Contacten onderafdeling.
Als u op klikt + in de rechter benedenhoek, kunt u een veldactie toevoegen.
Stel gewoon de Actie schuif selector naar de macro MT: naam tonen. Zodra u op drukt Aangepaste actie toevoegen en blader door een contact in Alfred, dan kunt u op drukken invoeren op de naam en het zal het voor u weergeven in een bericht. Niet zo nuttig, maar je ziet hoe het werkt.
Terugval zoeken is hoe u uw eigen fallback-zoekoptie zou ontwerpen. Stel dat uw workflow ging over een nieuwe zoekmachine waarvoor Alfred geen terugvalzoekopdracht doet. Je zou deze trigger gewoon gebruiken met een Open url actie met je adres voor je zoekopdracht.
Een trefwoordactie is een trigger voor een sleutelwoord in de Alfred-prompt om een actie uit te voeren. U kunt meerdere exemplaren van hetzelfde zoekwoord hebben en Alfred geeft ze allemaal weer in het gebied voor snelle voltooiing.
De keyword is de naam voor het sleutelwoord. Alles dat de gebruiker invoert in de prompt Alfred, wordt ook gebruikt bij het doorzoeken van het bestandssysteem. Om te helpen niet alles in het bestandssysteem voor een zoekwoord weer te geven, volg ik de naamgevingsconventie van twee of meer letters voor de werkstroomnaam (hier is het MT), een leesteken (hier gebruik ik :), en het unieke sleutelwoord voor de actie die ik wil (hier gebruik ik Echo). Hierdoor blijft de vervolgkeuzelijst vrij van ongewenste zoekresultaten.
Na het sleutelwoord, hebt u een selectievakje om ruimte toe te staan na het sleutelwoord of niet. Als je dit aanvinkt, zal Alfred de eerste spatie niet doorgeven aan het volgende blok.
Het argumentgedeelte bepaalt of de gebruiker extra informatie moet invoeren of niet. Als u selecteert Geen argument, dan zal Alfred geen ruzie verwachten. Als de gebruiker er een invoert, wordt ervan uitgegaan dat dit blok niet moet worden gebruikt en doorvalt naar de volgende toepasselijke actie (meestal de standaardzoekopdracht). Als u selecteert Argument optioneel, dan zal Alfred alles doorgeven wat wordt getypt door de gebruiker, zelfs als dat niets is. Als u selecteert Argument vereist, dan wacht Alfred op de gebruiker om iets te typen voordat hij het doorgeeft aan het volgende blok.
Vervolgens voegt u een toe Berichtgeving plaatsen blokkeren naar de workflow. Je moet het invullen zoals ik heb getoond.
Ik zal de verschillende argumenten in het dialoogvenster later uitleggen. Na het indrukken van Opslaan, je hoeft ze alleen maar aan te sluiten.
Als u deze werkstroomactie wilt starten, typt u het sleutelwoord, MT: Echo in de Alfred-prompt horen bij je bericht.
Na het indrukken van terugkeer, je zou de Growl-melding moeten zien.
Daar is uw eerste sleutelwoordinvoer met een resultaat!
Met een bestandsfilter kunt u bestanden of mappen doorzoeken op een bestand dat overeenkomt met wat de gebruiker invoert in de prompt Alfred.
Mijn favoriete gebruik van de Bestandsfilter is om een directorynaamzoeker te maken. Voeg een bestandsfilter toe aan de workflow en geef deze een naam FF voor zoekmap. In de Bestand types gebied, sleep een willekeurige map vanuit de Finder naar het veld. Het zal toevoegen public.folder naar de Bestand types Gebied.
Nu, wanneer u typt FF in de Alfred-prompt wordt een lijst met mappen weergegeven. Als u een naam invoert, wordt de lijst beperkt tot alleen die die overeenkomen met wat u typt. Wanneer u op drukt
De meer geavanceerde functies worden in de tussentijdse zelfstudie behandeld.
Een scriptfilter gebruikt een script om te definiëren wat de gebruiker ziet als te selecteren opties. U kunt uw script in bijna elke taal schrijven die u wilt gebruiken. Het moet gewoon een goed geformuleerde XML retourneren die de verschillende opties voor de gebruiker definieert. Dit is een extreem krachtige functie die ik in de geavanceerde zelfstudie zal uitleggen.
Met deze actie wordt het bestand geopend dat hieraan is doorgegeven met behulp van de standaardtoepassing voor dat bestand. Als u een programma in het type gebied opgeeft door het programma ernaar te slepen, zal het dat programma starten met welk bestand u er ook naar toe stuurt. Daarom kunt u een werkstroom maken die de Bestandsfilter en bevestig het aan de Open bestand actie. Versleep je favoriete teksteditor (de mijne is Sublime-tekst) naar de Open bestand doos.
Nu, als u zoekt naar een bestand met het trefwoord voor de Bestandsfilter en druk op Enter, het zal dat bestand openen in je editorprogramma.
Deze heeft geen opties. Het onthult gewoon elke map of bestand dat er in Finder aan is doorgegeven. Out of the box werkt geweldig met Finder. PathFinder stelt niet de benodigde velden in die in Alfred worden gebruikt. Als u dit wilt oplossen, raadpleegt u PathFinder-ondersteuning werkt niet zoals bedoeld Alfred forum post.
Als de Onthul bestand in de Finder werkt, zo ook deze. De uitzondering is dat het de browser van Alfred voor de locatie opent. Ik gebruik dit meer dan de Onthul bestand in Finder. Ik merk dat ik de browser van Alfred evenveel of meer gebruik dan PathFinder.
Met deze actie kunt u een lijst met programma's of bestanden maken die met een trefwoord moeten worden gestart. Door een toe te voegen keyword invoer en een Start apps / bestanden blokkeer samen en vul de Start apps / bestanden met de programma's die u wilt starten (bestandsbestanden geopend met hun standaardprogramma), kunt u een sleutelwoord maken om uw werkomgeving voor u te starten.
Deze actie voert de invoer naar het vak en zoekt daar naar met de zoekmachine die is opgegeven in het dialoogvenster. U kunt ook een specifieke browser opgeven om te gebruiken.
Deze actie wordt gebruikt om een URL in een webbrowser te openen. Uw URL kan volledig statisch zijn of de invoer in het blok gebruiken om een URL te maken met behulp van de Zoekopdracht macro.
Met deze actie kunt u een van de verschillende opdrachten op systeemniveau uitvoeren. U zou dit gebruiken om een systeemopdracht als te activeren stilgelegd nadat een lang script was voltooid. Of maak eenvoudig uw eigen sneltoetsreeks voor het starten van de systeemopdracht.
Zoals met Systeemopdracht, Met deze actie kun je een bepaalde actie uitvoeren in iTunes.
Deze drie acties zijn voor het uitvoeren van scripts. Dat is een meer geavanceerd onderwerp en zal worden behandeld in de intermediate en advanced tutorials.
De Berichtgeving plaatsen uitvoer zal een bericht naar de gebruiker posten met behulp van de standaardmethode of een specifieke methode.
De Uitvoer naar: veld stelt u in staat om te kiezen uit Growl-meldingen of Berichtencentrum. U kunt ook op klikken Kleverig om op het scherm te blijven totdat de gebruiker het scherm sluit. Als u alleen iets wilt weergeven als er wat tekst aan is doorgegeven, vinkt u het selectievakje aan Laat alleen zien of het ingeleverde argument inhoud bevat veld. U kunt de titel en ondertitel instellen Titel en Tekst velden. Als u een bestandsnaam doorgeeft die moet worden weergegeven, kunt u ook de tekst wijzigen die moet worden weergegeven Laatste padcomponent of Extensie verwijderen.
Net zoals Berichtgeving plaatsen, Groot type toont de string die aan de gebruiker is doorgegeven. Maar dit zal de informatie zo groot mogelijk weergeven op het scherm. Het is een echte blikvanger! Er zijn geen voorkeuren voor dit blok.
Met deze uitvoer kunt u de gegeven tekst naar het klembord kopiëren. Als je het controleert Automatisch plakken naar de meest app, het zal er ook aan voorbijgaan als het kan. U kunt gewoon uw eigen tekst in het tekstvak typen of de Zoekopdracht macro om de tekst te plaatsen die aan het blok wordt doorgegeven.
Laten we een tekstuitbreidingsscript bouwen. Plaats een sleutelwoordblok met het sleutelwoord van ;toevoegen. Verbind dit blok met de Kopieer naar klembord blokkeren met uw adres. Controleer de optie automatisch plakken en je hebt een tekstuitbreider om je adres in je top applicatie te plaatsen. Het zal ook beschikbaar zijn op het klembord.
Deze uitvoer is voor het uitvoeren van een script als de laatste stap. Dat is een meer geavanceerd onderwerp en zal worden behandeld in de intermediate en advanced tutorials.
Er zijn een aantal workflows die ik heb gevonden en die ik veel gebruik, buiten degenen die ik zelf heb gemaakt. Hier zijn er een paar om uw workflow-bibliotheek te laten opbouwen:
Command Help
Deze workflow maakt een PDF van alle sleutelwoorden en sneltoetsen die in elk van uw workflows zijn gedefinieerd. Dit is een geweldige manier om alle werkstromen in uw Alfred bij te houden en hoe u ze kunt activeren.
RegEx Renamer
Met deze workflow kunt u verschillende bestanden in de Finder selecteren en deze hernoemen op basis van een reguliere expressie die u toevoegt of een die u eerder hebt gemaakt. Ik gebruik deze nogal een beetje.
Tijdzones
Dit is geweldig als u met andere mensen in verschillende tijdzones werkt. Hiermee kunt u de tijd in de ene tijdzone omzetten in een andere. Of, gewoon zien hoe laat het is in een andere tijdzone. Geweldig om ook te reizen.
eenheden
Deze workflow is geweldig voor het converteren van bijna elke eenheid naar een andere eenheid. Het is ook een erg mooie workflow!
UNIX-bestandsmachtiging (chmod) -converter
Met deze workflow kunt u uitzoeken wat u moet gebruiken voor de permissiewaarden voor Unix-bestandssystemen. Dit is geweldig als u veelvuldig programmeerrechten voor programma's programmeert.
Eierwekker
Deze workflow is ideaal voor het instellen van timers die worden herhaald of zijn eenmalige gebeurtenissen. Voor degenen die de neiging hebben om afspraken of tijdbeperkingen te vergeten, kan dit een reddingsboei zijn.
GitHub
Als je veel met GitHub werkt, is dit een noodzakelijke workflow. Hiermee kunt u uw GitHub-account en Gists bekijken en ermee werken.
lay-out
Deze workflow is ideaal om uw applicaties opnieuw te organiseren op uw bureaublad. Zeer eenvoudig om uw eigen verbeteringen toe te voegen, maar wees voorzichtig. Door de werkstroom bij te werken, wordt alles dat u verandert, verwijderd!
kleuren
Voor degenen die veel CSS-werk doen en problemen hebben met het verkrijgen van de juiste kleurcodes, is deze workflow een must. Ik gebruik het bijna elke keer als ik met CSS werk.
Dat zou u enkele goede voorbeelden van workflows moeten geven en uw bibliotheek op gang moeten krijgen. Wees voorzichtig, je zou kunnen eindigen zoals ik met meer dan 80 workflows! De bovenstaande voorbeeldworkflows kunnen ook worden gebruikt als voorbeelden voor het schrijven van uw eigen workflows.
U moet nu elk van de beschikbare blokken voor het maken van werkstromen begrijpen. In de volgende tutorial zal ik meer gecompliceerde workflows en technieken onderzoeken om ze te schrijven.