Text Expander III Scripting Fill Ins

TextExpander is een krachtige Mac-productiviteitsapp. Het breidt automatisch sneltoetscombinaties uit - of afkortingen-in langere tekstblokken-snippets

Als u herhaaldelijk dezelfde standaard e-mails verzendt of dezelfde informatie schrijft, zoals een adres of telefoonnummer, TextExpander maakt het leven gemakkelijker.

In de vorige twee tutorials, in deze serie, heb ik gekeken naar aan de slag gaan TextExpander en hoe je meer geavanceerde functies zoals fill ins en tijd- en datummacro's kunt gebruiken.

In deze zelfstudie zal ik kijken naar het gebruik van scripttalen zoals JavaScript en AppleScript vul ins in.

screencast

TextExpander en Scripting Languages

TextExpander ondersteunt drie scriptingtalen: Shell Script, JavaScript en AppleScript. Voor de doeleinden van deze tutorial zal ik me concentreren op de laatste twee omdat ze het meest flexibel zijn. Met scripttalen kun je logica aan je toevoegen TextExpander vul ins in.

In een van de voorbeeldfragmenten in deze zelfstudie, bijvoorbeeld, gebruik ik de opvulling om een ​​ander resultaat te retourneren, afhankelijk van welke dag het is wanneer u het gebruikt. Een ander voorbeeldfragment retourneert een willekeurige reactie van een array met meerdere mogelijke antwoorden. Dit zijn beide onmogelijk om in te doen TextExpander zonder een scripttaal.

Van de drie aangeboden, JavaScript is het meest nuttig omdat het ook werkt TextExpander Touch, de bijbehorende iOS-app die ik in de volgende tutorial in deze serie zal bekijken.

voorwaarden

Als u deze zelfstudie wilt gebruiken, heeft u de nieuwste versie van TextExpander geïnstalleerd. Het kost $ 44,95 - hoewel er een gratis proefperiode van 30 dagen is - en kan worden gedownload van de website van de ontwikkelaar.

Je moet ook bekend zijn met TextExpander en vul ins in. Als je dat nog niet bent, is de beste manier om je op de hoogte te stellen, de twee eerdere zelfstudies in deze serie te bekijken:

  • TextExpander: een introductie
  • TextExpander II: Fill Ins en macro's

Verder gebruik ik in deze tutorial enkele zeer eenvoudige JavaScript en AppleScript. U hoeft niet vertrouwd te zijn met beide talen, hoewel het helpt. 

Voor meer informatie over JavaScript, bekijk deze Code.Tuts + tutorial en voor meer informatie over AppleScript kun je deze tutorial hier bekijken op Computers.Tuts+.

Simple Logic gebruiken met JavaScript

Het eerste fragment dat ik aan het maken ben, komt ook terug Ik kom morgen bij je terug of Ik bel je na het weekend terug afhankelijk van of het een weekdag is of een weekenddag, inclusief vrijdag.

Voor dit fragment gebruik ik de ingebouwde datumfunctie van JavaScript. Voor meer informatie over de details, kunt u de documentatie hier vinden.

Maak een nieuw fragment en stel het in Inhoud naar JavaScript. Wijs het een eenvoudige en relevante afkorting toe.

Vervolgens moet u een variabele maken om de datumgegevens van vandaag te bewaren. Om dat te doen, voert u in var today = new Date (); als de eerste regel van het fragment.

Voer op de volgende regel in today.setDate (TextExpander.baseDate.getDate ());. Hiermee stelt u de vandaag variabele naar de huidige datum.

Het resultaat van een fragment dat standaard een scripttaal gebruikt, is het laatste statement dat in het fragment wordt uitgevoerd. 

Om te eindigen, moet je controleren of het vandaag een vrijdag, zaterdag of zondag is. Het volgende als loop doet dat en retourneert, afhankelijk van het resultaat, een van de twee mogelijke zinnen. Voeg de onderstaande code toe aan uw fragment om te voltooien.

if (today.getDay () == 5 || today.getDay () == 6 || today.getDay () == 0) 'Ik bel je terug na het weekend. ';  else 'Ik kom morgen bij je terug. '; 

Wanneer u de afkorting invoert, kunt u, afhankelijk van de dag, mensen vertellen dat u morgen of na het weekend zult reageren.

Tip: Vergeet niet dat fragmenten kunnen worden ingesloten in andere fragmenten. Dit dagafhankelijke antwoordfragment kan worden gebruikt binnen langer e-mailfragmenten die je hebt.

Een gerandomiseerde invulling maken met JavaScript

Een probleem met fragmenten is dat ze erg rigide kunnen zijn. Als al uw e-mails dezelfde structuur hebben met weinig of geen variatie, ziet u er benauwd en overdreven formeel uit. Met scriptingtalen kun je dit overwinnen door wat willekeur aan je fragmenten toe te voegen.

De TextExpander team suggereert een fragment dat willekeurig een slotbegroeting kiest uit een aantal acceptabele zoals Ondergetekende, oprecht en Peace Out. Dit is een geweldig gebruik voor deze methode. Voor deze zelfstudie gebruik ik het echter voor iets anders.

De resultaten van het uitvoeren van de willekeurige vraag vullen een aantal keren in.

Ik probeer steeds beter te worden in het bijhouden van een dagboek, maar er is overdag vaak niet veel gebeurd dat de moeite waard is om over te schrijven. Als dat gebeurt, schrijf ik niet en verbreek ik daarmee de gewoonte. 

Om dit te ondervangen, heb ik het volgende fragment gemaakt dat me ertoe aanzet iets willekeurigs te schrijven wanneer ik iets nodig heb.

Nogmaals, begin met het maken van een nieuw fragment en stel het in Inhoud naar JavaScript. Ken een afkorting toe zoals xjournal.

Dit fragment heeft twee delen nodig, een array met alle mogelijke waarden en de logica om er willekeurig een te selecteren. Eerst maak ik de array. Dit is gewoon de eenvoudigste methode om een ​​array met JavaScript te declareren.

Kopieer en plak de onderstaande code in uw fragment. U kunt de inhoud van de array wijzigen naar een verzameling fragmenten waarvan u willekeurig een selectie wilt maken.

var qList = ["_Schrijf over een van je grootste inspiraties._", "_Schrijf over een van je grootste influencers._", "_Schrijf over een van de beste plaatsen die je ooit bent geweest._", "_Schrijf over een gek adventure._ "," _Schrijf over een foto die je hebt gemaakt. "," _Schrijf over een van de beste dagen van je leven._ "," _Schrijf over een van de slechtste dagen van je leven._ "," _Wat zou je jezelf veranderen? _ "," _Schrijf over een van je grootste successen "," _Schrijf eens over een van je grootste spijt. "," _Waar wil je een jaar zijn vanaf vandaag? _ "," _Wat doe je wil een jaar vanaf vandaag doen? _ "," _Schrijf over een van je favoriete mensen._ "," _Schrijf over een van je favoriete boeken._ "," _Schrijf over een van je favoriete films._ "," _Write over een van je favoriete muziekartiesten._ "]

Met de array gemaakt, is het tijd om er willekeurig uit te kiezen. Hiervoor zijn drie coderegels nodig: één om te tellen hoeveel fragmenten er zijn, één om een ​​willekeurig getal te selecteren dat kleiner is dan of gelijk is aan dat, en één om het fragment te selecteren dat valt op de positie van het willekeurige getal in de array.

Voeg de volgende drie regels toe aan uw fragment om precies dat te doen.

var qLength = qList.length var qRandom = Math.floor ((Math.random () * qLength)); QList [qRandom]

Wanneer u nu de afkorting invoert, wordt een willekeurige vraag geretourneerd.

Tip: De onderstrepingstekens stellen de vragen cursief wanneer u in een journaling-app schrijft, zoals Dag een-die Markdown ondersteunt.

Hetzelfde fragment met AppleScript

Hoewel ik JavaScript prefereer omdat het werkt TextExpander Touch, AppleScript heeft ook zijn fans. Hieronder staat de code voor de willekeurige dagboekvraag geschreven in AppleScript. Je kunt zien dat het exact dezelfde logica gebruikt, het enige verschil is de gebruikte taal.

stel qLijst in op "_Schrijf over een van je grootste inspiraties._", "_Schrijf over een van je grootste influencers._", "_Schrijf over een van de beste plaatsen waar je ooit bent geweest._", "_Schrijf over een gek adventure._ "," _Schrijf over een foto die je hebt gemaakt. "," _Schrijf over een van de beste dagen van je leven._ "," _Schrijf over een van de slechtste dagen van je leven._ "," _Wat zou je jezelf veranderen? _ "," _Schrijf over een van je grootste successen "," _Schrijf eens over een van je grootste spijt. "," _Waar wil je een jaar zijn vanaf vandaag? _ "," _Wat doe je wil een jaar vanaf vandaag doen? _ "," _Schrijf over een van je favoriete mensen._ "," _Schrijf over een van je favoriete boeken._ "," _Schrijf over een van je favoriete films._ "," _Write over een van je favoriete muziekartiesten. "" set listLength to count qLijst set randomNumber to (random number from 1 to listLength) set selectedQ to item randomNumber of qList return selectedQ

Conclusie

In deze zelfstudie heb ik gekeken naar het gebruik van scripttalen om eenvoudige logica toe te voegen aan uw fragmenten. Hoewel ik u heb laten zien hoe u een fragment kunt laten retourneren, zijn deze willekeurig, of afhankelijk van de dag, de enige basis voor wat u kunt doen met scripttalen en TextExpander. Als je het in JavaScript kunt schrijven, kun je het in laten werken TextExpander.

Ik zou graag horen hoe andere mensen scriptingtalen gebruiken met TextExpander dus laat me dit alsjeblieft weten in de reacties hieronder.