Discussioni MediaWiki:Gadget-memoRegex.js
Aggiungi argomentoManuale
[modifica]@Alex brollo ho letto la discussione Memoregex: errore corretto nel bar. Siccome lo script è piuttosto corposo ti chiedo: riusciresti a scrivere qua un breve manuale/documentazione del tool? Quello che IMHO conta di più (utile anche per non "perdersi per strada", cosa che a me personalmente capita moooolto spesso) è mettere nero su bianco l'obbiettivo del tool e tutte le sue funzionalità. Grazie! --L0ll0 (disc.) 23:25, 14 giu 2016 (CEST)
- Eh... lo so... non ci sono mai riuscito :-(
- Come ci provo, mi viene un'altra idea.... Proverò. --Alex brollo (disc.) 06:29, 15 giu 2016 (CEST)
Idea generale
[modifica]@L0ll0 memoRegex ha come obiettivo, parzialmente raggiunto, di costruire interattivamente raccolte di sostituzioni regex persistenti, condivise, specifiche per un'opera.
La memorizzazione si realizza come opzione nell'uso del tool Trova & sostituisci, creato inizialmente da @Candalua. --Alex brollo (disc.) 16:45, 15 giu 2016 (CEST)
Oggetto memoRegex
[modifica]memoRegex è organizzato come un oggetto tipo dizionario. La key è la stringa regex; il valore è una lista di tre elementi stringa: commento, stringa subs, modificatori.
{"stringa regex":["commento","stringa subs","modificatori],...}
L'oggetto viene caricato in una variabile localStorage.memoRegex in formato JSON e quindi "parsato" in un oggetto javascript mw.memoRegex.
La stringa JSON viene memorizzata in una sezione di titolo memoRegex della pagina Discussioni indice dell'opera a cui memoregex si riferisce, inclusa in tags nowiki per comodità di visualizzazione; i singoli elementi vengono separati inserendo un acapo fra un elemento e l'altro.
Un esempio in uso di memoRegex in Discussioni_indice:Sofocle_-_Edipo_Re.djvu:
== memoRegex == {"^:+":["Inserimento gap a inizio verso (regex)","{{gap|10em}}","gm"], "\\n+(edipo)\\.*\\n+":["personaggio(regex)","\n{{Vc|{{Sc|edipo}}}}\n","gi"], "\\n+(giocasta)\\.*\\n+":["personaggio(regex)","\n{{Vc|{{Sc|giocasta}}}}\n","gi"], "\\n+(tiresia)\\.*\\n+":["personaggio(regex)","\n{{Vc|{{Sc|tiresia}}}}\n","gi"], "\\n+(sacerdote)\\.*\\n+":["personaggio(regex)","\n{{Vc|{{Sc|sacerdote}}}}\n","gi"], "\\n+(creonte)\\.*\\n+":["personaggio(regex)","\n{{Vc|{{Sc|creonte}}}}\n","gi"], "\\n+(corinzio)\\.*\\n+":["personaggio(regex)","\n{{Vc|{{Sc|corinzio}}}}\n","gi"], "\\n+(pastore)\\.*\\n+":["personaggio(regex)","\n{{Vc|{{Sc|pastore}}}}\n","gi"], "\\n+(nunzio)\\.*\\n+":["personaggio(regex)","\n{{Vc|{{Sc|nunzio}}}}\n","gi"], "\\n+(coro)\\.*\\n+":["personaggio(regex)","\n{{Vc|{{Sc|coro}}}}\n","gi"], " +$":["eliminazione spazi a fine riga(regex)","","gm"], "<poem>(\\w)":["acapo dopo poem (regex)","<poem>\n$1","g"], "(.)<\\/poem>":["acapo prima di fine poem(regex)","$1\n</poem>","g"], "é":["é -> è","è","g"]}