Automatizzare le conversioni di testo con Textwell

Quando ho visto un tweet su a modale editor di testo, ho dovuto seguirlo. Textwell è modale in questo non c'è nulla da salvare.

Textwell è un programma molto utile da avere in giro. È l'ultimo scratch pad per Mac o qualsiasi dispositivo iOS. 

In questo tutorial, ti mostrerò come fare le azioni per Textwell per estendere la sua funzionalità. La prima azione sarà un semplice convertitore di titolo. La seconda azione dimostrerà il potere di Textwell per esibirsi rastrellamento del web compiti.

Textwell, l'editor non modale

È un'applicazione semplice e minimalista che funge da buffer di scrittura, fornendo l'input per l'utente creato Azioni. Non lo salvi mai, ma mantiene una cronologia, fino a un anno, delle modifiche a quel buffer.

Pannelli di storia e azioni

Il storia e Azioni i pannelli possono essere aperti o chiusi a seconda delle esigenze. In questo tutorial, ti mostrerò come crearne uno tuo Azioni per automatizzare la modifica del testo.

Azioni

Un'azione in Textwell è un po 'HTML e JavaScript. L'HTML definisce l'input grafico per ottenere più informazioni dall'utente se necessario e il JavaScript esegue le attività necessarie.

Selezione di una nuova azione

Per creare una nuova azione, fare clic con il tasto destro del mouse su una delle azioni e selezionare Nuova azione dal menu a discesa.

Modifica il dialogo di azione

Questo farà apparire vuoto Modifica azione dialogo. Il riquadro in alto è per il titolo dell'azione. La casella in basso più grande serve per inserire HTML e JavaScript per l'azione. A sinistra della casella del titolo è presente un selettore per la modifica dell'icona per rappresentare il tipo di modifica che verrà eseguita dall'azione.

Ci sono due pulsanti radiali nel mezzo: Confermare e Traslucido. Se Confermare è attivo, l'utente deve confermare la propria scelta prima che l'azione venga eseguita. Il Traslucido l'impostazione dice Textwell se l'area di script contiene solo il codice JavaScript (Translucent selezionato) o una pagina Web HTML con JavaScript incorporato (Traslucido non selezionato). 

quando Traslucido viene selezionato e viene eseguita un'azione, uno spinner è nel mezzo con tutto ciò che è nell'area di testo disattivato. quando Traslucido non è selezionato e viene eseguita un'azione, indipendentemente dal rendering HTML nell'area di visualizzazione.

La casella a destra di Traslucido il pulsante radiale serve per impostare un tasto di scelta rapida per l'azione. Questo è ottimo per non dover lasciare la tastiera, ma attenzione. Troppi tasti di scelta rapida nel sistema possono essere d'intralcio.

Il pulsante sopra l'area di modifica ti consente di impostare ciò che modifichi: il codice o la descrizione del codice. Con il codice selezionato, è possibile eseguire il codice con il pulsante nella parte inferiore del dialogo.

Titolo Azione del caso

Per creare l'azione del titolo, crea una nuova azione con il titolo Caso titolo. Accendi il radiale traslucido e inserisci il seguente codice nell'area dello script:

// // Funzione: TitleCase // // Descrizione: questa funzione accetta una stringa e la converte in title case. Title case // è determinato da un dizionario di parole maiuscole e da un dizionario di parole minuscole //. // function TitleCase (str) // // Prendi la stringa da convertire e suddividila per spazi. // var words = str.split (""); // // La matrice di parole che dovrebbe essere sempre minuscola, a meno che non sia la prima parola // del titolo. // var lower = ["to", "an", "and", "at", "as", "but", "di", "per", "if", "in", "on", "or", "is", "with", "a", "the", "of", "vs", "vs.", "via", "via", "en"]; // // L'array di parole che dovrebbe sempre essere maiuscolo. // var upper = ["I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "HTML", "CSS", "AT & T", "PHP"]; // // Per ogni parola nel titolo. // per (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 ); 

La prima funzione è il Titlecase () funzione. Questa è una traduzione completa della stessa routine scritta in Partire nel mio altro tutorial Inizia a sviluppare con Go on the Mac.

Dopo aver definito la funzione, il T.selectedText variabile ottiene il testo selezionato da Textwell se ce ne sono Se non c'era una selezione, il T.whole variabile dà tutto il testo. Il T variabile è un oggetto JavaScript che Textwell crea per tutte le azioni da utilizzare. Il completo API Textwell descrive ogni funzione disponibile.

Una volta determinata la stringa, viene analizzata usando il Titlecase () funzione. Se la stringa era una selezione, i risultati vengono inseriti con il T ('insert', text: str); funzione. Se la stringa era tutto nel buffer, il testo in Textwell viene sostituito con il T ('replace', text: str); chiamata di funzione.

Se non vuoi copiare tutto il testo, non preoccuparti. È nel file di download, oppure puoi caricarlo direttamente in Textwell con questo link: Title Case Textwell Action.

È possibile creare un collegamento per caricare qualsiasi Textwell azione selezionando l'azione e poi il Genera link per condividere voce del sottomenu del principale Azione menu. Questo è un modo pratico per condividere le tue azioni con gli altri.

Azione di Web Raking

Il titolo d'azione è un semplice esempio di cosa Textwell può fare. Per mostrare il potere di Textwell, Ti mostrerò come fare Web Raking.

Web Raking è l'estrazione di informazioni da una pagina web, la decifrazione di cosa rimuovere e l'utilizzo di una parte della pagina. Vivo in Tailandia e ho sempre bisogno di convertire denaro da dollari USA a baht thailandesi. Questo azione automatizza quel processo.

Crea un nuovo azione, ma questa volta imposta il Traslucido radiale a spento. Io chiamo questo Convertitore di valuta. Inserisci il seguente codice nell'area dello script:

     Tassi di cambio     
  • Baht thailandese a $ USA
  • $ USA a Baht tailandese
Quantità:
Data:

Caricamento in corso…

Questa è una pagina web completa. Inizia con il tag html, un tag di intestazione con tutti gli stili per gli elementi del corpo e un tag del corpo. Il tag header ha anche un riferimento per caricare la libreria JavaScript jQuery. 

Poiché questa azione riguarda il recupero di informazioni dal Web, è possibile presumere che sia disponibile una connessione Web. Il corpo descrive alcune etichette per i campi di input dei dati e un div per lo spinner.

La conversione avviene nel tag script alla fine dell'area del tag body. In questo tag di script, ci sono tre parti: ottenere il testo dalla selezione o dall'intero documento, la funzione per ottenere il tasso di cambio e l'associazione della funzione ai due ingressi del pulsante nel corpo della pagina.

La prima sezione ottiene il testo allo stesso modo dell'azione Case Title. La maggior parte di questo è capire il formato del testo ed elaborarlo nelle due variabili: Data e quantità.

Gli oggetti di interesse sono nel requestExchangeRate () funzione. Questa funzione inizia con l'uso di jQuery per accendere lo spinner. Il T.request (); La funzione Textwell richiede informazioni dal sito Web specificato. Questa funzione accetta una struttura JSON con tre elementi: URL del sito Web, tipo di richiesta HTTP da eseguire e funzione di callback. La funzione di callback ottiene il testo del sito web nell'indirizzo URL. Quando chiamato, la funzione di callback utilizza jQuery per ottenere il testo del terzo elemento di tabella del #ratesTable elemento. Questo elemento contiene il tasso di cambio necessario.

Se il risultato della ricerca jQuery è nullo, la variabile rate contiene Non un valore. Altrimenti, la variabile rate viene moltiplicata per l'importo e restituita a Textwell usando il comando T ( 'sostituzione', ) o T ( 'inserire', ), a seconda se il testo recuperato era l'intero testo o una selezione da Textwell

Ricorda, Textwell si aspetta valori di testo nella struttura JSON.

Con il codice in atto, ora puoi testare questa azione.

Moltiplicatore e data pronti per la conversione di Exchange

Per eseguire l'azione, inserire in: moltiplicatore e data, solo una data, solo un moltiplicatore o niente del tutto. L'azione la analizzerà e la mostrerà a te.

Scegliere il tipo di conversione

Se ha analizzato male, modificalo qui o premi la chiave di escape per uscire dall'azione. Se ti piace come ha analizzato l'input, seleziona il tipo di scambio che desideri: Baht thailandese in dollari USA o dollaro USA in Baht thailandese.

Quando ne selezioni uno, lo spinner verrà visualizzato nella parte inferiore della pagina. L'azione ora sta ottenendo la pagina web per il tasso di conversione e l'estrazione del tasso di cambio necessario.

Risultati dopo la conversione

Al termine, l'azione sostituirà il testo precedente con il tasso di cambio selezionato moltiplicato per il moltiplicatore (o per uno se non è stato fornito un moltiplicatore).

Se vuoi valute diverse, è semplice cambiare il programma per esso. I tassi di cambio provengono dal sito web Exchange-Rates.org.

Puoi caricare questa azione in Textwell con questo link: Convertitore di valuta. È anche nel file di download per questo tutorial.

Textwell e Alfred

Per rendere l'utilizzo Textwell ancora più semplice, ho creato un flusso di lavoro Textwell per Alfred. Una volta installato Alfred e assegnato i tasti di scelta rapida, sarete in grado di selezionare il testo, premere il tasto di scelta rapida per copiare su Textwell, modifica il testo e premi il tasto di scelta rapida per reinserire il testo nell'applicazione originale. Aiuta il mio flusso di lavoro ogni giorno.

Conclusione

Molte cose possono essere realizzate con TextwellLe azioni di Ti ho mostrato come usare semplici HTML e JavaScript per creare azioni utili. 

Ora che sai come realizzarli, vai avanti e crea qualcosa di interessante. Non dimenticare di condividerli con gli altri.