Discussioni MediaWiki:Gadget-memoRegex.js

Contenuti della pagina non supportati in altre lingue.
Aggiungi argomento
Da Wikisource.
Ultimo commento: 7 anni fa, lasciato da Alex brollo in merito all'argomento Idea generale

Manuale[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)Rispondi

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)Rispondi

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)Rispondi

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"]}