Automatiserer tekstkonverteringer med Textwell

Da jeg så en tweet om a modal tekstredigerer, måtte jeg følge opp. Textwell er modal ved at det ikke er noe å redde.

Textwell er et veldig praktisk program å ha rundt. Det er den ultimate skrapelampen for Mac eller en hvilken som helst iOS-enhet. 

I denne veiledningen viser jeg deg hvordan du gjør handlinger for Textwell for å utvide sin funksjonalitet. Den første handlingen vil være en enkel tittelkasseomformer. Den andre handlingen vil demonstrere kraften til Textwell å fremføre web raking oppgaver.

Textwell, den Modeless Editor

Det er en enkel, minimalistisk applikasjon som fungerer som en skrivebuffer, som leverer inngangen til brukeropprettet handlinger. Du lagrer det aldri, men det holder en historie - i inntil et år - av endringer i bufferen.

Historie og handlingspaneler

De historie og handlinger paneler kan være åpne eller lukkede avhengig av dine behov. I denne opplæringen skal jeg vise deg hvordan du lager din egen handlinger for å automatisere tekstredigering.

handlinger

En handling i Textwell er noen HTML og JavaScript. HTML definerer grafisk inngang for å få mer informasjon fra brukeren om nødvendig, og JavaScript utfører de nødvendige oppgavene.

Velger ny handling

For å opprette en ny handling, høyreklikk på en av handlingene og velg Ny handling fra rullegardinmenyen.

Rediger handlingsdialog

Dette vil gi opp et tomt Rediger handling dialog. Toppboksen er for tittelen på handlingen. Den større nederste boksen er for å skrive inn HTML og JavaScript for handlingen. Til venstre for tittelboksen er en velger for å endre ikonet for å representere hvilken type redigering handlingen skal utføre.

Det er to radiale knapper i midten: Bekrefte og Gjennomsiktige. Hvis Bekrefte er aktiv, må brukeren bekrefte sitt valg før handlingen utføres. De Gjennomsiktige Innstillingen forteller Textwell hvis skriptområdet bare inneholder JavaScript-kode (gjennomsiktig valgt) eller en HTML-nettside med JavaScript innebygd (gjennomsiktig ikke valgt). 

Når Gjennomsiktige er valgt og en handling utføres, er en spinner i midten med alt i tekstområdet dimmet ut. Når Gjennomsiktige er ikke valgt, og en handling utføres, uansett hva HTML-gjengivelsen er i displayområdet.

Boksen til høyre for Gjennomsiktige Radialknapp er for å sette en hurtigtast for handlingen. Dette er flott for ikke å måtte forlate tastaturet, men vær forsiktig. For mange hurtigtaster i systemet kan komme i veien.

Knappen over redigeringsområdet lar deg angi hva du vil redigere: koden eller beskrivelsen av koden. Med valgt kode kan du utføre koden med knappen nederst i dialogen.

Tittel Case Action

For å opprette tittel saks handling, opprett en ny handling med tittelen Tittel Case. Slå på Translucent Radial og sett følgende kode i skriptområdet:

// // Funksjon: TitleCase // // Beskrivelse: Denne funksjonen tar en streng og konverterer den til tittelsaksel. Tittel tilfelle // bestemmes av en ordbok i stor ordbok og et små bokstav / ord ordbok. // funksjon TitleCase (str) // // Få strengen til å konvertere og splitte den opp av mellomrom. // var ord = str.split (""); // // Mengden ord som skal være små bokstaver alltid, med mindre det er det første ordet // av tittelen. // var lavere = ["til", "en", "og", "til", "som", "men", "av", "for", "om", "inn", "på" "eller", "er", "med", "en", "av", "av", "vs", "vs.", "via", "via", "en"]; // // Mengden ord som alltid skal være helt overordnet. // var øvre = ["I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "HTML" "CSS", "AT & T", "PHP"]; // // For hvert ord i tittelen. // for (var i = 0; i < words.length; i++)  // // Assume the word is not in the upper case or lower case arrays. // var upit = false; var lowit = false; var word = words[i]; // // Loop through every word in the lower case array. // for (var j = 0; j < lower.length; j++)  if (word.toLowerCase() == lower[j])  // // It matches. Make sure the word in the array is the same. // Set the up flag as true. // word = lower[j]; lowit = true;   // // Loop through every word in the upper case array. // for (var j = 0; j < upper.length; j++)  if (word.toUpperCase() == upper[j])  // // It matches. Make sure the word is the array is the same. // Set the low flag to true. // word = upper[j]; upit = true;   // // If the word was not in the upper or lower array, then do a normal // title case conversion. This makes the first letter upper case and all // the other letters lower case. // if ((!upit) && (!lowit))  word = word.charAt(0).toUpperCase() + word.substr(1).toLowerCase();  // // Finally, set the word. // words[i] = word;  // // Make sure the first word is title case! // words[0] = words[0].charAt(0).toUpperCase() + words[0].substr(1).toLowerCase(); // // Return the Title by joining all the words with a space. // return words.join(" ");  // // Get the selected string from Textwell. // var str = T.selectedText; // // See if some text was selected or not. // if(str == "")  // // No text selected. Get everything in Textwell. // str = T.whole // // Convert it to titlecase. // str = TitleCase(str); // // Replace everything in Textwell with the result. // T('replace',  text: str );  else  // // Convert the selected text to title case. // str = TitleCase(str); // // Insert the converted text. This will replace the selected // text. // T('insert',  text: str ); 

Den første funksjonen er TitleCase () funksjon. Dette er en komplett oversettelse av samme rutine skrevet i i min andre veiledning Begynn å utvikle med Go på Mac.

Etter definisjon av funksjonen, T.selectedText variabel får den valgte teksten fra Textwell hvis noen. Hvis det ikke var et valg, ble T.whole variabel gir all teksten. De T variabel er et JavaScript objekt som Textwell skaper for alle handlinger å bruke. Den komplette Textwell API beskriver hver funksjon som er tilgjengelig.

Når strengen er bestemt, blir den analysert ved hjelp av TitleCase () funksjon. Hvis strengen var et utvalg, blir resultatene satt inn med T ('sett inn', tekst: str); funksjon. Hvis strengen var alt i bufferen, ble teksten i Textwell blir erstattet med T ('erstatte', tekst: str); funksjonsanrop.

Hvis du ikke vil kopiere all den teksten, ikke bekymre deg. Den er i nedlastingsfilen, eller du kan laste den direkte inn i Textwell med denne lenken: Tittel Case Textwell Action.

Du kan opprette en kobling for å laste inn noen Textwell handling ved å velge handlingen og deretter Generer lenke til deling hovedmenyens hovedmeny Handling Meny. Dette er en praktisk måte å dele dine handlinger med andre.

Web Raking Action

De tittel sak handling er et enkelt eksempel på hva Textwell kan gjøre. For å vise kraften til Textwell, Jeg skal vise deg hvordan du gjør Web Raking.

Web Raking er å trekke informasjon fra en nettside, dechifrere hva du skal fjerne, og bare gjøre bruk av en del av siden. Jeg bor i Thailand, og jeg trenger alltid å konvertere penger fra amerikanske dollar til Thai bahts. Dette handling automatiserer prosessen.

Lage en ny handling, men denne gangen satte Gjennomsiktige radial til av. Jeg kaller denne Valutakalkulator. Sett inn følgende kode i skriptområdet:

     Valutakurser     
  • Thai Baht til US $
  • US $ til Thai Baht
Beløp:
Dato:

Laster ...

Dette er en fullstendig nettside. Den starter med html-taggen, en topptekst med all styling for kroppsdelene, og en kroppsdel. Header-taggen har også en referanse til å laste jQuery JavaScript-biblioteket. 

Siden denne handlingen handler om å hente informasjon fra nettet, er det trygt å anta at en Internett-tilkobling er tilgjengelig. Kroppen beskriver noen etiketter for datainngangsfeltene og en div for spinneren.

Konverteringen finner sted i skriptet på slutten av kropps taggområdet. I dette skriptet er det tre deler: Få teksten enten fra valget eller fra hele dokumentet, funksjonen for å få valutakursen, og bindingen av funksjonen til de to knappinngangene i siden av siden.

Den første seksjonen får teksten på samme måte som Tittel Case-handlingen. Flertallet av dette er å finne ut tekstformatet og behandle det i de to variablene: Dato og beløp.

Interessene er i requestExchangeRate () funksjon. Denne funksjonen starter med å bruke jQuery for å slå på spinneren. De T.request (); Textwell-funksjonen ber om informasjon fra den angitte nettsiden. Denne funksjonen aksepterer en JSON-struktur med tre elementer: URL til nettstedet, typen HTTP-forespørsel som skal utføres, og en tilbakeringingsfunksjon. Tilbakeringingsfunksjonen får teksten til nettstedet i URL-adressen. Når det kalles, bruker tilbakeringingsfunksjonen jQuery for å få teksten til det tredje tabellelementet i #ratesTable element. Det elementet inneholder den nødvendige valutakursen.

Hvis resultatet av jQuery-søket er null, inneholder variabelen Ikke en verdi. Ellers blir frekvensvariabelen multiplisert med mengden og returnert til Textwell ved hjelp av T ( 'erstatte', ) eller T ( 'sett', ), avhengig av om den hentede teksten var hele teksten eller et valg fra Textwell

Huske, Textwell Forventer tekstverdier i JSON-strukturen.

Med koden på plass, kan du nå teste denne handlingen.

Multiplikator og dato Klar for Exchange-konvertering

For å kjøre handlingen, sett inn enten: multiplikator og dato, bare en dato, bare en multiplikator, eller ingenting i det hele tatt. Handlingen vil analysere den og vise den til deg.

Plukker konverteringstype

Hvis det ble analysert feil, kan du endre det her eller trykke på escape-tasten for å komme ut av handlingen. Hvis du liker hvordan det analyserte innspillet, velg hvilken type utveksling du vil ha: Thai Baht til amerikanske dollar eller amerikanske dollar til Thai Baht.

Når du velger en, vises spinneren nederst på siden. Handlingen er nå å få nettsiden til konverteringsfrekvensen og utvinne den nødvendige valutakursen.

Resultat etter konvertering

Når du er ferdig, vil handlingen erstatte den forrige teksten med den valgte valutakursen multiplisert med multiplikatoren (eller av en hvis en multiplikator ikke ble gitt).

Hvis du vil ha forskjellige valutaer, er det enkelt å endre programmet for det. Valutakursene kommer fra nettsiden Exchange-Rates.org.

Du kan laste inn denne handlingen i Textwell med denne lenken: Valutakalkulator. Det er også i nedlastingsfilen for denne opplæringen.

Textwell og Alfred

For å gjøre bruk av Textwell enda enklere, opprettet jeg en Textwell Workflow for Alfred. Når du har installert den i alfred og tilordnet hurtigtaster, vil du kunne velge tekst, trykk på hurtigtasten for å kopiere til Textwell, rediger teksten, og trykk på hurtigtasten for å sette teksten tilbake i det opprinnelige programmet. Det hjelper min arbeidsflyt hver dag.

Konklusjon

Mange ting kan oppnås med Textwells handlinger. Jeg har vist deg hvordan du bruker enkel HTML og JavaScript for å lage nyttige handlinger. 

Nå som du vet hvordan du lager dem, gå videre og skape noe interessant. Ikke glem å dele dem med andre også.