Wikisource:Domande tecniche/Archivio/2021

Archivio delle domande tecniche del 2021

Portale progetti   Progetto qualità   Domande tecniche   Archivio   2021 

initial-letter modifica

Come farlo funzionare? in Pagina:La difesa della razza, n.1, Tumminelli, Roma 1938.djvu/14 sarebbe bello avere la Q iniziale alta quattro righe, ma <span style="initial-letter: 4">Q</span> non fa nulla. --.mau. (disc.) 12:36, 31 gen 2021 (CET)[rispondi]

colonne della stessa larghezza? modifica

Pagina:La difesa della razza, n.1, Tumminelli, Roma 1938.djvu/5 ha le colonne di larghezza diversa, si può fare qualcosa? --.mau. (disc.) 11:01, 3 feb 2021 (CET)[rispondi]

mi rispondo da solo: ogni colonna comincia con |style="width:33%"| anziché ||. --.mau. (disc.) 15:30, 3 feb 2021 (CET)[rispondi]

Struttura dell'hOCR di archive.org modifica

Lo schema è a 6 livelli:

<div class="ocr_page" id="page_000099" title="image "/tmp/Quel_che_vidi_e_quel_che_intesi_jp2/Quel_che_vidi_e_quel_che_intesi_0099.jp2"; bbox 0 0 3411 4583; ppageno 0">
   <div class="ocr_carea" id="block_000099_000000" title="bbox 3379 2158 3387 2286">
    <p class="ocr_par" id="par_000099_000000" lang="ita" title="bbox 3379 2158 3387 2286" xml:lang="ita">
     <span class="ocr_line" id="line_000099_000000" title="bbox 3379 2158 3387 2286; x_size 20; x_descenders 5; x_ascenders 5">
      <span class="ocrx_word" id="word_000099_000000" title="bbox 3379 2158 3387 2286; x_wconf 95; x_fsize 21">
       <span class="ocrx_cinfo" title="x_bboxes 0 1196 0 1204; x_conf 95"> </span>
      </span>
     </span>
    </p>
   </div>

Quindi un livello page, un livello area, un livello paragraph, un livello line, un livello word e un livello char.

Rispetto allo schema del file _djvu.xml, riunisce in un solo livello i due livelli column e region di _djvu.xml, e ha, in più, il livello char (opzionale e non utilizzato in _djvu.xml).

Nel titolo di ogni livello è presente un bbox con le quattro coordinate del testro compreso nel livello. Nel livello page il bbox registra le dimensioni dell'intera pagina. Nel titolo dei vari livelli sono registrati altri dati, alcuni dei quali di significato ignoto; notevole, una novità, il fatto che la lingua del testo è registrata a livello paragraph. Nessuno di questi parametri aggiuntivi è presente nel file _djvu.xml.

L'esplorazione inizia adesso. --Alex brollo (disc.) 15:28, 3 feb 2021 (CET)[rispondi]

Usare diversamente iwpage modifica

Immaginiamo che Iwpage sia utilizzato per una procedura completamente diversa (in attesa che venga attivata la transclusione interprogetto): come "aggancio" per un allineamento del codice wiki vero e proprio della pagina locale con quella remota (dopo allineamento, il codice iwpage potrebbe essere conservato, ma disabilitato inserendolo in un commento html). Vedo alcuni problemi (es. le differenze fra template locali e remoti, la necessità di scoraggiare le modifiche locali incoraggiando invece le modifiche nel sito remoto), ma forse.... Farò una prova, sotto eis l'allineamento potrebbe essere questione di un singolo click. Opera test: quella a cui sto lavorando, Lettere (Campanella). --Alex brollo (disc.) 10:05, 13 feb 2021 (CET)[rispondi]

Tento l'implementazione di uno script di allineamento la->it, per ora via bot; si tratta di conservare, all'interno della pagina itwikisource, l'indicazione alla pagina/alla sezione da allineare, e di copiare il relativo codice da la.wikisource a it.wikisource, sostituendo l'eventuale codice già presente. E' inoltre necessario scoraggiare le modifiche manuali del codice allineato, incoraggiando invece la modifica del codice su la.wikisource (anche rivedendo eventuali template incompatibili). --Alex brollo (disc.) 07:14, 6 mar 2021 (CET)[rispondi]
Primi vagiti dello script operando su {{Iwpage}}; adesso è la volta del più impegnativo {{IwpageSection}}. Pagine test, la pagina 64 e pagina 65 delle Lettere di Campanella. Naturalmente il meccanismo deve permettere il controllo della versione della pagina su lawikisource, e allineare il testo all'eventuale nuova versione. Se pol far. @Candalua: sono matto? --Alex brollo (disc.) 08:51, 8 mar 2021 (CET)[rispondi]
Ci siamo, adesso si tratta di provare provare correggere riprovare. Un problema: come faccio a dissuadere energicamente un utente di passaggio a toccare il codice clonato (e in particolare i commenti html che lo delimitano)? Alex brollo (disc.) 20:21, 8 mar 2021 (CET)[rispondi]

Alex brollo, non è male come idea, tanto la transclusione interprogetto stai sicuro che non la faranno mai... Ti rispondo qui anche per quello che chiedevi al Bar, dato che la risposta è molto tecnica: il SAL è per forza 0% (pagina che non richiede rilettura), se metti all'inizio delle pagine un template {{Allineatore}}, che produca, in nsPagina, semplicemente un marcatore del tipo: <span id="allineatore"/> e niente in ns0, possiamo poi usarlo per mostrare via javascript un messaggio più specifico nel box del SAL 0%, es: "Questa pagina non richiede alcuna rilettura. Il testo è stato caricato automaticamente da la.wikisource.org. Si prega di non modificare.". Poi se riesci anche a proteggere la pagina dopo averla scritta (vedi mw:Manual:Pywikibot/protect.py), sarebbe la cosa ideale. Se vuoi posso dare a BrolloBot i diritti di amministratore in via temporanea così fai qualche prova. Can da Lua (disc.) 14:34, 9 mar 2021 (CET)[rispondi]

@Alex brollo, riesci a mettere in {{Allineatore}} anche il dominio da cui proviene il testo? Es. {{Allineatore|la}} Can da Lua (disc.) 10:15, 10 mar 2021 (CET)[rispondi]
  Fatto. Confermo che lo script sente la versione e quindi allinea solo se il codice sorgente è stato modificato; penso che aggiungerò, nel commento, anche il level della versione aggiornata. Al termine delle rifiniture metterò lo script online sotto Progetto:Bot/Programmi in Python per i bot, in attesa (se ci riesco) di una versione javascript. Alex brollo (disc.) 12:25, 10 mar 2021 (CET)[rispondi]

Problemi tecnici di La difesa della razza modifica

@Candalua, Ruthven Ho sperimentato in La difesa della razza la possibilità di effettuare una transclusione in blocco dell'intero fascicolo, rinunciando alla suddivisione in singoli articoli; e nel tentativo ho trovato, e provato a risolvere, alcune inattese difficoltà tecniche.

  1. è indispensabile che tutti i blocchi div (aggiungo: e anche table) delle singole pagine siano regolarmente chiusi nella stessa pagina;
  2. il template Indice sommario può contenere, nel campo nome=, un link con ancora esplicita, in modo che venga correttamente linkato un articolo all'interno della transclusione in blocco del fascicolo, ma è stato necessario modificare il codice di Modulo:Content, che aggiungeva automaticamente un'ancora pagename[numero pagina].
  3. l'aggiunta del link ad ancore appropriate funzionerebbe in automatico, ma confligge con il controllo che impedisce di avere, per lo stesso Sommario, link alla stessa pagina. --Alex brollo (disc.) 07:08, 6 mar 2021 (CET)[rispondi]
@Alex brollo In risposta a 1) si può passare di bot e chiudere tutto il chiudibile. Per 3), guardando questa tua modifica, mi sembra che il titolo del capitolo punti correttamente all'áncora; il link al numero di pagina punta ― correttamente ― alla pagina. Ma forse ho capito male la tua nota... --Ruthven (msg) 08:23, 6 mar 2021 (CET)[rispondi]
@Ruthven Punto 1: non è semplice, il codice è abbastanza confuso e complesso, penso si faccia prima a rivedere le pagine critiche, basandosi sugli errori evidenziati dalla transclusione (e approfittando per "modernizzare" il codice, ho visto, mettendoci le mani, che si può fare di meglio). Punto 2: tu adesso vedi il risultato della soluzione del problema, grazie alla modifica, già effettuata, del codice di Modulo:Content; ma su tale modifica aspetto il parere di Candalua, non vorrei che la toppa fosse peggiore del buco. Al momento, non ho evidenziato conseguenze negative, anzi: è sparito un piccolo, ma fastidioso problema. Ma queste modifiche sono spesso insidiose. Alex brollo (disc.) 09:35, 6 mar 2021 (CET)[rispondi]

Match per pdf modifica

@Candalua, Ruthven Mooolto tempo fa avevo scaricato il python originale che esegue il "segmento match" del tool Match and Split, avevo perfino capito come funzionava (innumerevoli i neuroni logorati), e l'avevo adattato per eseguire il match anche da un pdf (con strato testo, naturalmente). Poi un lungo stop nel momento del passaggio python 2.7 -> python 3.8 di pywikibot; pian piano ho adattato gli script, ma il "mio" Match l'avevo lasciato fra le cose da fare. L'ho ripreso in mano, ho faticosamente convertito il codice, e qualche minuto fa il match da un pdf ha camminato.

Metterò lo script, grossolano così com'è, nella nostra raccolta Progetto:Bot/Programmi in Python per i bot. Se a qualcuno interessa, cercherò di documentarlo.... altrimenti, mi risparmio la fatica. In breve: richiede python 3.8, richiede un modulo parseTemplate.py (verificherò che sia caricato, o lo integrerò), al momento è fatto per correre sotto Idle, e deve trovare le routine djvutxt di DjvuLibre e pdftotext di xpdf. --Alex brollo (disc.) 07:53, 7 giu 2021 (CEST)[rispondi]

@Alex brollo Interessante! :-) si potrebbe provare con questo testo di cui manca il testo a fronte! Potrei provarci io, ma fra qualche giorno... --Paperoastro (disc.) 15:45, 7 giu 2021 (CEST)[rispondi]
@Paperoastro Per come funziona il match, la vedo durissima, su un testo settecentesco. Match si appoggia su una sequenza, anche breve, di parole con caratteri perfettamente corrispondenti (non ragiona per similitudine), e in genere l'OCR su questi testi antichi ha poche parole perfettamente corrispondenti.... un test estremamente difficile: non hai, sottomano, un testo almeno ottocentesco? Intanto dò un occhio a cosa c'è nello strato testo del libro che mi proponi. Alex brollo (disc.) 16:52, 7 giu 2021 (CEST)[rispondi]
@Alex brollo capito. In effetti i testi di Toaldo che sto inserendo (fine settecento) non hanno un OCR precisissimo... Se Torricelli non è fattibile, converto il pdf in djvu e lo do in pasto al M&S classico... Purtroppo al momento non ho nulla sottomano, ma appena trovo qualcosa di più recente, avviso al bar. --Paperoastro (disc.) 17:05, 7 giu 2021 (CEST)[rispondi]
@Paperoastro Se M&S funziona con il djvu, funziona anche con il pdf. Il meccanismo di appaiamento è identico. Varia soltanto il sistema di estrazione dell'OCR paginato... l'appaiamento è un algoritmo con una logica semplice ma difficile, completamente al di fuori delle mie possibilita di ideazione e di implementazione.
Ci provo; vagamente intuisco che c'è un modo di superare la difficoltà, che in sostanza è determinata dalla confusione ſ - f. Ma forse non è insormontabile. Alex brollo (disc.) 06:32, 8 giu 2021 (CEST)[rispondi]
{ping|Paperoastro}} fatto La vaga intuizione funziava. Adesso M&S ignora la differenza ſ - f. e matcha. Ti metto il primo "vagito" in Utente:Paperoastro/Sandbox (testo teoricamente pronto per lo split, se il nome dell'Indice fosse Indice:Lezioni accademiche.pdf). Alex brollo (disc.) 08:19, 8 giu 2021 (CEST)[rispondi]
Ottimno! Su nap.source abbiamo parecchie commedie del Novecento il cui testo in formato TXT è rintracciabile facilmente. Se non abbiamo fretta, metto il test del Match sulla pila di cose da fare. Una documentazione (es: un tutorial passo, passo) sarebbe la benvenuta! --Ruthven (msg) 11:39, 8 giu 2021 (CEST)[rispondi]
{ping|Ruthven}} A dire il vero, quando ho tentato mi sono sempre messo in loop, la documentazione è un incontenibile stimolo a migliorare/trasformare/generalizzare, poi tocca tornare alla documentazione, poi ritorna la tentazione di cambiare... Io spero invece che qualcuno sappia e possa accedere al M&S canonico, e inserire le poche modifiche che lo script, pur nella sua primitività, dimostra possibili. Fra l'altro, la trovata oldText ha poche ore di vita, va digerita.
Comunque qualcosa metterò; per ora userò la pagina Discussioni progetto:Bot/Programmi in Python per i bot/ms.py (naturalmente il file python sta in Progetto:Bot/Programmi in Python per i bot/ms.py). Alex brollo (disc.) 15:47, 8 giu 2021 (CEST)[rispondi]

Problema con il nuovo tool OCR sotto eis modifica

@Candalua Sotto eis, il nuovo tool restituisce l'OCR della prima pagina aperta in modifica entrando in eis, e non quello dell'immagine corrente. Il gadget OCR google, invece, funziona correttamente anche sotto eis. Hai idea di dove sia lo script che genera il nuovo tool? Immagino che il problema stia nella lettura del dato che identifica la pagina corrente e da cui risale all'immagine giusta. --Alex brollo (disc.) 06:28, 1 lug 2021 (CEST)[rispondi]

Fatta una segnalazione/richiesta qui], ma temo che sia poco comprensibile: eis non è facile da spiegare in due parole. --Alex brollo (disc.) 06:52, 1 lug 2021 (CEST)[rispondi]
@Alex brollo Onestamente, dopo una chiaccherata su Telegram con gli sviluppatori, ho deciso di disabilitarlo da nap.source. Non ha senso avere uno strumento ancora in fase di sviluppo quando esiste un gadget preesistente perfettamente funzionante. Quando avrà passato la fase di beta testing (fra 3-4 anni, conoscendo i programmatori della Foundation), allora lo riabiliteremo penso. --Ruthven (msg) 21:21, 3 lug 2021 (CEST)[rispondi]
@Ruthven Non vorrei che i due vecchi gadget fossero disabilitati.... finchè funziano, ok. D'altronde, al momento, il nuovo tool sembra una semplice interfaccia utente verso i due tools OCR, quindi non dovrebbero esserci problemi. Ho un'idea che mi stuzzica, ma tento di resistere :-) Alex brollo (disc.) 11:36, 4 lug 2021 (CEST)[rispondi]

Due progetti strampalati modifica

@Candalua, Ruthven Purtroppo, quando mi vengono delle strane idee, tendo a provarci. Per una volta chiedo il vostro parere, prima e non dopo.

1. Immaginando di infilare in localStorage un paio di cose, dovrebbe essere possibile scatenare un’azione dopo un certo intervallo dall'apertura di una pagina nsPagina che appartenga a un indice e a una certa lista di numeri, continuando fino a esaurimento della lista. L'azione di prova potrebbe essere il puro caricamento della pagina, con un effetto tipo presentazione. Un'azione più impegnativa potrebbe essere quella della creazione o modifica della lista di pagine.

2. sono abbastanza soddisfatto della procedura di allineamento interprogetto di nsPagina, attivo per ora solo su la.wikisource, ma al momento operante sotto python (e quindi inaccessibile per il 99% degli utenti). Ultimo allineamento: Indice:Vico, Giambattista – Le orazioni inaugurali, il De Italorum sapientia e le polemiche, 1914 – BEIC 1965567.djvu. Niente impedisce di convertire lo script di allineamento python in javascript, e attivare un controllo di versione e eventuale allineamento al momento dell'apertura di una pagina.

Sono matto? Sono matto e pericoloso? --Alex brollo (disc.) 07:31, 8 lug 2021 (CEST)[rispondi]

sì. --.mau. (disc.) 10:56, 9 lug 2021 (CEST)[rispondi]
LOL! Se lo avessi scritto io avresti potuto anche darmi (a ragione) dell'incompetente, ma se lo scrive .mau. direi che non ci sono dubbi. - εΔω 13:38, 9 lug 2021 (CEST)[rispondi]
@Alex brollo "in Python", vuoi dire che lo fai girare in locale e poi carichi il wikitesto modificato oppure che vai di bot? A me python sembra più sensato di js per programmare (ma non tutti i miei colleghi sono d'accordo). --Ruthven (msg) 10:39, 12 lug 2021 (CEST)[rispondi]
@Ruthven Uso il bot, sotto Idle lancio un'istruzione con il nome base dell'indice, pagina iniziale e finale e il bot si arrangia a fare controlli e modifiche. Una semplice lista di nomi base potrebbe consentirgli di allineare tutti gli Indici di un gruppo. Ma se al momento dell'apertura di una pagina in visualizzazione scattasse immediatamente un allineamento automatico via javascript, sarebbe meglio; meglio ancora se un click allineasse tutte le pagine di in Indice.
@.mau. Considero il sì come riferito a entrambe le domande? ;-) Alex brollo (disc.) 14:25, 12 lug 2021 (CEST)[rispondi]
@Alex brollo sulla prima sicuramente sì. Sulla seconda, dipende dai risultati. --.mau. (disc.) 15:29, 12 lug 2021 (CEST)[rispondi]
Ok, faccio un "redirect di ricerca di rogne", tanto non mi manca la fantasia. ;-) Alex brollo (disc.) 00:03, 15 lug 2021 (CEST)[rispondi]
... e visti gli intorcinamenti di script "stabili" (vedi sotto problema eis) non me ne manca nemmeno l'occasione :-( Alex brollo (disc.). 21:32, 15 lug 2021 (CEST)[rispondi]

Iwpage e includeonly modifica

Ho l'impressione che Iwpage non gestisca correttamente includeonly. Vi è mai capitato? La soluzione (che devo ancora verificare ma che in nsPagina funzia): al posto di includeonly, usare il template Pt. Pagina in cui ho sbattuto contro il problema: la:Pagina:Salimbene de Adam – Cronica, Vol. II, 1942 – BEIC 1912533.djvu/469 (in cui normalmente uso il codice <includeonly>{{Indentatura}}</includeonly> con problemi, che si risolvono usando invece con {{Pt||{{Indentatura}}}}. --Alex brollo (disc.) 00:01, 15 lug 2021 (CEST)[rispondi]

Problemi! modifica

@Candalua, Ruthven Il blocco di eis, segnalato da Carlomorino, si è presentato anche con il mio account. Vedo che in console compare un errore: "Uncaught TypeError: Cannot read property '$icon' of undefined", in "load.php?lang=it&modules=ext.wikiEditor&skin=vector&version=1pw9x". Il problema eis non si verifica in la.wikisource. Seguo una traccia, ma sono pessimista. Per una volta non dovrei essere io il colpevole.... in realtà eis viene caricato, ma il box di comando non viene visualizzato. --Alex brollo (disc.). 19:42, 15 lug 2021 (CEST)[rispondi]

Primi vagiti di soluzione: eis (versione test, quella che uso) è ricomparso modificando in due righe if (mw.user.options.get("gadget-barbaforcutanew")===null) in if (mw.user.options.get("gadget-barbaforcutanew")==false); possibile che sia stata cambiata a tradimento la struttura di mw.user.options? Boh.... L'errore $icon è incostante. --Alex brollo (disc.). 20:16, 15 lug 2021 (CEST)[rispondi]
Facendo un controllo rapido, ieri, 14 luglio, alle 22 circa, è stata caricata una nuova versione di Mediawiki [1]. Ho un forte dubbio che la causa sia quella <span style="font-family:Times; color:#219">Ruthven (msg) 21:35, 15 lug 2021 (CEST)[rispondi]
Al momento sono appagato che - lavorando di zappa - eis si sia risvegliato. Per ora mi basta; mi riprometto di fare le stesse modifiche su eis base. Ma aspetto un po'. Alex brollo (disc.). 21:41, 15 lug 2021 (CEST)[rispondi]
@Candalua, Ruthven Fatta la stessa modifica sul gadget eis "stabile", sembra che funzioni. @Carlomorino: mi confermi? --Alex brollo (disc.). 15:27, 17 lug 2021 (CEST)[rispondi]

──────────────────────────────────────────────────────────────────────────────────────────────────── Il notaio conferma

Segnalo che ho fatto pulizia nei cookies, e su la.wikisource eis si è nuovamente piantato. Perdendo qualche neurone ho trovato il bug, e applicato il rimedio: ma era un bug veramente insidioso, aveva a che fare con una errata inizializzazione di localStorage.memoRegex. --Alex brollo (disc.). 09:39, 26 ago 2021 (CEST)[rispondi]

Sintassi alternativa per section: problema e possibili soluzioni modifica

Inserendo in edit il codice ## s1 ##, in vari progetti (non qui su itwikisource) il risultato è l'apertura e chiusura di una regolare section. Rieditando la pagina, ricompare il codice ## s1 ##. In eis, tutto ciò non avviene; il codice ## s1 ## viene salvato tale e quale, il parsing è (ovviamente) sbagliato e disturbante, e viene riesumato tale e quale nella successiva modifica sotto eis. Ma se la pagina disturbata viene salvata in edit normale, e non sotto eis, tutto si risistema.

Facendo un po' di reverse engineering, queste stranezze si spiegano con un'ipotesi: nel salvataggio normale il codice viene tradotto in codice section canonico; nella normale apertura della pagina in edit, il codice section canonico viene ritrasformato in codice alternativo. Eis non fa nessuna delle due trasformazioni. Ma volendo, si può insegnargli a farle :-) --Alex brollo (disc.). 09:51, 26 ago 2021 (CEST)[rispondi]

@Candalua Il meccanismo viene scatenato dal codice di un gadget, lo trovo qua, che in alcuni progetti (come la.wikisource) è attivato di default e mi pare in modo invisibile. Qui su it.wikisource come siamo messi? Non trovo, in Preferenze, modo di attivarlo/disattivarlo). Alex brollo (disc.). 10:07, 26 ago 2021 (CEST)[rispondi]
Alex brollo: mi pare che all'epoca avessimo deciso di disattivarlo, perché non robusto quanto il tag section. Can da Lua (disc.) 10:51, 26 ago 2021 (CEST)[rispondi]
@Candalua In effetti penso che nessuno qui ne senta la mancanza. Però, eis (che ambirebbe a essere multiprogetto) dev'essere aggiustato: faccio le mie prove su la.wikisource. Il link al codice en.wikisource: en:MediaWiki:Gadget-Easy LST.js. --Alex brollo (disc.). 17:03, 26 ago 2021 (CEST)[rispondi]
Dal gadget si possono estrarre due funzioni quasi prive di dipendenze: restore_lst() (che trasforma la sintassi semplificata in sintassi canonica) e sua reciproca easy_section_syntax() (che converte la sintassi canonica in sintassi semplificata). Unica dipendenza, una funzione log(), che comunque mi pare sostituibile, ai fini pratici, con console.log(). Adesso si tratta solo di implementare le due funzioni in maniera creativa. La prima delle due dev'essere chiamata sempre prima di un salvataggio della pagina. Alex brollo (disc.). 19:52, 26 ago 2021 (CEST)[rispondi]
  Fatto: la versione eis di la.wikisource è imparata. Ctrl+Alt+s permette di ruotare fra le due sintassi. Prima del salvataggio, automaticamente il codice section viene trasformato nel codice canonico. È quello che mi serviva: un'altra complicazione che semplifica. :-) Alex brollo (disc.). 09:11, 27 ago 2021 (CEST)[rispondi]
Alla prova dei fatti, la sintassi semplificata sarà pure meno robusta, ma in certi casi è veramente utile. Sto inserendo centinaia di section (in previsione di un'eventuale applicazione di tl|Nota separata), e la sintassi alternativa semplifica moltissimo le cose e permette perfino un interessante livello di formattazione automatica via memoRegex. Al momento sono pienamente soddisfatto. Alex brollo (disc.). 09:51, 28 ago 2021 (CEST)[rispondi]

Ancore sui link alle pagine nsPagina modifica

Qui in itwikisource, i codici dei link alle pagine transcluse, in ns0, contengono due ancore ai numeri nota. Su lawikisource no. Il codice che genera il link e il suo html dove sta? Non lo trovo.... mi piacerebbe emulare (con prudenza) il codice, mi servirebbe. --Alex brollo (disc.). 01:08, 3 set 2021 (CEST)[rispondi]

@Candalua Sbagliato il primo ping... --Alex brollo (disc.). 01:09, 3 set 2021 (CEST)[rispondi]
Alex brollo dici questo? MediaWiki:Proofreadpage pagenum template Can da Lua (disc.) 09:18, 3 set 2021 (CEST)[rispondi]
@Candalua Esatto grazie. Studio per bene il codice e cerco di implementarlo (solo le ancore, per non causare modifiche evidenti e magari disturbanti). --Alex brollo (disc.). 09:36, 3 set 2021 (CEST)[rispondi]
@Candalua Problema difficile.... su la.wikisource il template la:MediaWiki:Proofreadpage pagenum template produce unicamente uno span vuoto; i link visibili alle pagine vengono prodotti in tutt'altro modo, probabilmente da uno script js esoterico. Penso di non fare danni modificandolo, annidando lo span scritto da ThomasV in un altro span: <span id="pagename{{SUBPAGENAME:{{{page}}}}}">...</span> in modo da poterlo utilizzare come ancora. Ci provo con cautela e pronto al rollback. --Alex brollo (disc.). 23:41, 5 set 2021 (CEST)[rispondi]
PS: OK, funzia. Grazie! --Alex brollo (disc.). 23:50, 5 set 2021 (CEST)[rispondi]

pagine sfalsate modifica

in questo libro le pagine sono sfalsate di una; è possibile correggere o devo ricaricare il file djvu? grazie Susanna Giaccai (disc.) 10:32, 11 set 2021 (CEST)[rispondi]

@Giaccai se ho ben capito ti riferisci al fatto che dalla pagina 200 in poi il testo OCR non corrisponde più all'immagine (cioè "va avanti" di uno, e verso la fine del libro salta un'ulteriore pagina). Il problema si può aggirare usando il bottone "Trascrivi il testo" a destra, ma probabilmente il nuovo testo così generato non è altrettanto buono. @Alex brollo tu riusciresti a riallineare l'OCR alle immagini?
P.S. Io ho cominciato a sistemare i numeri di pagina. Come avevi fatto tu non serve a molto, perché non basta mettere il trattino sulle pagine vuote: va messo su tutte le pagine che non seguono la numerazione, incluse quelle con illustrazioni; e i numeri vanno poi fatti ripartire dalla pagina giusta, così. Ci sarebbe da continuare sul resto del libro. Can da Lua (disc.) 10:48, 13 set 2021 (CEST)[rispondi]
@Giaccai, Candalua Problema noto (adesso; ma per scovarlo.... ). Deriva da un errore nello strato testo del file djvu. Invece di ignorare l'errore, il software mediawiki ignora l'intera pagina.... e tutto si sballa.
Individuata la pagina djvu fallata, basta cancellare il suo strato testo (con djvused.exe), ricaricare il djvu in Commons, fine del problema. Fatto. --Alex brollo (disc.). 13:24, 13 set 2021 (CEST)[rispondi]
@Alex brollo grande! Purtroppo però si sballa di nuovo dalla 270. Can da Lua (disc.) 14:10, 13 set 2021 (CEST)[rispondi]
@Candalua Speravo che ce ne fosse una sola.... bon. Butto giù uno script python per controllare e rimediare se serve. La logica: tentando di eseguire djvused [nome file divu] -e "select [numero pagina]; output-txt" > x.txt con os.system, si ottiene un codice di ritorno 0 se tutto va bene, altrimenti un codice di errore. Se si riceve un codice di errore, lo strato testo di quella pagina va rimosso con djvused [nome file divu] -e "select [numero pagina]; remove-txt" -s.
Fatto correre il neonato script, trova e corregge solo la 270. Ricarico. --Alex brollo (disc.). 16:06, 13 set 2021 (CEST)[rispondi]
@Giaccai Il testo (vedo dalla pag. 270 e dintorni) presenta una difficoltà: il testo scorre continuo "saltando" le tavole. Si rimedia con {{FI}}, ma fare una buona transclusione è una cosetta delicata. Se ti serve una mano, fammi un fischio. Alex brollo (disc.). 16:23, 13 set 2021 (CEST)[rispondi]
Grazie @Alex brollo, per ora io vado avanti nella trascrizione e quando ho finito di chiederò di intervenire per sistemare le immagini. Ciao Susanna Giaccai (disc.) 09:22, 14 set 2021 (CEST)[rispondi]

Template:FI e le illustrazioni che non esistono modifica

Ho rimpiazzato File:Salgari - La Costa d'Avorio.djvu con un djvu ripulito (temporaneamente) delle illustrazioni, i cui file erano stati (temporaneamente) cancellati per motivi di copyright, e con sorpresa vedo che le pagine nsPagina, contenenti un codice FI che richiamava le illustrazioni cancellate, non mostra alcun errore - semplicemente non visualizza "un bel niente". Sono un po' obnubilato: qualcuno mi dà una scorciatoia per capire? --Alex brollo (disc.). 08:15, 15 ott 2021 (CEST)[rispondi]

Capito, è l'effetto del parametro annoCopyright. Me n'ero completamemte dimenticato. :-/ --Alex brollo (disc.). 08:30, 15 ott 2021 (CEST)[rispondi]

Mea culpa: conflitti templatestyles/styles.css modifica

Il mio entusiasmo per le novità mi ha fatto commettere alcuni pasticci nell'uso di templatestyles e della pagina styles.css di nsIndice; a mia discolpa, il fatto che niente faceva immaginare, lanciato templatestyles, che sarebbe stata poi immaginata e implementata la soluzione styles.css che trovo eccellente. Purtroppo se le due soluzioni vanno in conflitto fra di loro, ne escono bizzarrie che lasciano perplessi e confusi.

Il massimo della confusione l'ho fatta in Template:Smaller block, e cercherò di rimediare. Ma sarà dura. --Alex brollo (disc.). 09:50, 24 ott 2021 (CEST)[rispondi]

Conversioni numeri romani modifica

@Candalua, Ruthven Sto cercando buoni algoritmi per la conversione javascript romano->arabo e inverso. Sarebbe utile in varie circostanze.

In generale la conversione deve essere associata o preceduta da un controllo di validità (semplice per gli arabi, complessa per i romani). Il problema dei romani è che esiste uno standard e delle alternative; es. "IIII" invece di "IV" si trova talora per 4, "IC" invece di "XCIX" si trova talora per 99, perfino "IIX" può essere trovato per 8; i controlli di validità che ho trovato non riconoscono le alternative meno comuni ma solo la scrittura standard. Per non parlare delle forme "onciali".

Giusto per non scoprire per l'ennesima volta l'acqua calda, c'è già qui o altrove la soluzione, in qualche script? --Alex brollo (disc.). 10:43, 27 ott 2021 (CEST)[rispondi]

Alex brollo: io ho questa funzioncina per convertire da arabo a romano:
function toRoman(num) {
	var lookup = {M:1000, CM:900, D:500, CD:400, C:100, XC:90, L:50, XL:40, X:10, IX:9, V:5, IV:4, I:1}, roman = '', i;
		for (i in lookup) {
			while (num >= lookup[i]) {
			roman += i;
			num -= lookup[i];
		}
	}
	return roman;
};

Per fare il contrario ho trovato quest'altra che gestisce anche i casi strani (se non è un numero valido ritorna NaN, quindi con isNaN() lo verifichi):

const roman2arabic = s => {
  const map = {'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000};
  return [...s]
    .reduceRight(({sum,order},c,i,s) => 
      Object.keys(map).indexOf(c) < order ? 
      {sum: sum-map[c], order} : 
      {sum: sum+map[c], order: Object.keys(map).indexOf(c)},
    {sum:0, order: Object.keys(map).indexOf(s[s.length-1])})
    .sum;
};
Can da Lua (disc.) 12:33, 27 ott 2021 (CEST)[rispondi]
@Candalua Perfetto grazie! La seconda va molto oltre le mie possibilità di comprensione.... ma funziona. Mi serviva per due cose: 1. numero pagina automatica in RigaIntestazione; 2. confronti, ordinamenti ecc. di capitoli. Alex brollo (disc.). 13:46, 27 ott 2021 (CEST)[rispondi]
PS: anche in Lua? Il primo forse ce la faccio a convertirlo.... il secondo prima dovrei capirlo :-(. Alex brollo (disc.). 13:57, 27 ott 2021 (CEST)[rispondi]
Alex brollo: lo so, javascript negli ultimi anni ha preso una brutta piega... :D anch'io faccio molta fatica a capirlo, comunque dovrei aver ricostruito l'algoritmo, e una sua versione più leggibile è questa:
function parseRoman(roman) {
	map = {'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000};
	somma = 0;
	ordine = 0;
	for (i = roman.length - 1; i >= 0; i--) {
		lettera = roman[i];
		valore = map[lettera];
		if (valore < ordine) {
			somma -= valore;
		} else {
			somma += valore;
			ordine = valore;
		}
	}
	return somma;
}

In pratica scorri il numero da destra a sinistra, ogni volta che trovi un valore più alto del precedente vuol dire che sei passato ad un "ordine" superiore (es. prima trovi I, poi V ecc.), se il valore attuale è inferiore all'ordine in cui ti trovi (es. trovi un I a sinistra di un V), allora lo devi sottrarre invece che sommare. Che dici, ti torna? Can da Lua (disc.) 15:18, 27 ott 2021 (CEST)[rispondi]

@Candalua Vediamo se mi riesce un approccio totalmente diverso: un algoritmo per l'aritmetica delle somme, direttamente utilizzando i numeri romani. Tanto a me, al momento, interessa solo l'incremento di uno ripetuto due volte.... ma chissà, forse riesco a generalizzarlo :-)
Grazie comunque della conversione in javascript umano; la userò come stele di Rosetta se vorrò cercare di capirci qualcosa. Alex brollo (disc.). 20:40, 27 ott 2021 (CEST)[rispondi]
@Candalua Ce l'ho. romano=incr(romano) incrementa romano di 1; romano=incr(romano,n) incrementa romano di n.
function incr(roman,n){
    if(n===undefined) n=1;
    for (i=0;i<n;i+=1) {roman+="I";
        roman=roman
        .replace("VIIII","IX")
        .replace("IIII","IV")
        .replace("IVI","V")
        .replace("IXI","X")

        .replace("LXXXX","XC")
        .replace("XXXX","XL")
        .replace("XLX","L")
        .replace("XCX","C")

        .replace("DCCCC","CM")
        .replace("CCCC","CD")
        .replace("CDC","D")
        .replace("CMC","M");
    }
    return roman;
}
Stressandolo, incr("CMXCIX") dà effettivamente "M", e incr("CMXCIX",129) mi dà ""MCXXVIII", il che mi basta :-) Alex brollo (disc.). 22:26, 27 ott 2021 (CEST)[rispondi]

Stranezze login modifica

Tempo fa il bot restava "loggato" abbastanza a lungo, mentre adesso si "slogga" più rapidamente. Rifacendo partire una routine dopo scaduto il tempo, mi compaiono un errore e una serie di warning:

ERROR: Logged in as '79.56.191.28' instead of 'BrolloBot'. Forcing re-login.
WARNING: No user is logged in on site wikisource:it
Logging in to wikisource:it as BrolloBot@BrolloBot
WARNING: API warning (main): Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/postorius/lists/mediawiki-api-announce.lists.wikimedia.org/> for notice of API deprecations and breaking changes. Use [[Special:ApiFeatureUsage]] to see usage of deprecated features by your application.
WARNING: API warning (login): Fetching a token via "action=login" is deprecated. Use "action=query&meta=tokens&type=login" instead.
ERROR: Received incorrect login token. Forcing re-login.
WARNING: API error badtoken: Invalid CSRF token.

Dopo questa sventagliata di warnings tutto procede bene.

Come devo modificare i miei script python? --Alex brollo (disc.). 15:24, 5 nov 2021 (CET)[rispondi]

Come creare delle sottopagine di documentazione modifica

Voglio creare le sottopagine di documentazione per alcuni template, come {{flatlist}}, che ho creato, ma quando seguo il link a Template:Flatlist/doc, mi dice che non posso creare questa pagina perché dopo il carattere / è obbligatoria la lettera maiuscola. Esistono pagine di documentazione come Template:Larger/doc. Cosa succede, e cosa devo fare? Grazie! —CalendulaAsteraceae (disc.) 05:50, 9 nov 2021 (CET)[rispondi]

@CalendulaAsteraceae: vero, ora ho aggiunto un'eccezione alla regola, e dovresti poterla creare. Non ce ne eravamo mai accorti perché scrivere la documentazione è un'attività... come dire... piuttosto insolita per noi! :D Di solito lo fanno solo gli admin, che non sono bloccati da questa regola. Can da Lua (disc.) 09:21, 9 nov 2021 (CET)[rispondi]
@Candalua Grazie! —CalendulaAsteraceae (disc.) 00:58, 10 nov 2021 (CET)[rispondi]

tab Stili modifica

Scusate, ma mi accorgo solamente in questi giorni del tab Stili nel namespace Indice e ciò in tutti i Wikisource. Suppongo che è per qualcosa tipo Templatestyle: se ne è già parlato da qualche parte? --Ruthven (msg) 20:42, 16 nov 2021 (CET)[rispondi]

Ruthven: Esatto, ti permette di creare un css che verrà applicato a tutte le pagine, anche nella trasclusione. Trovi più info su phabricator, il macrotask è phab:T276067. Non è ancora concluso del tutto, ma credo che già funzioni (@Alex brollo lo aveva provato). Can da Lua (disc.) 09:15, 17 nov 2021 (CET)[rispondi]
@Ruthven Confermo: funziona a meraviglia. Unico problema: possibili conflitti con quei template (es. {{Ct}}) in cui con prematuto entusiasmo si era implementata una chiamata diretta a templatestyles.... la logica è diversa. Comunque: in quei template è prevista l'attribuzione a una classe; se la classe non è definita nel templatestyles collegato ma in styles.css, viene richiamata quella di styles.css e fine; però ch'è un inutile lavorio del server, che carica comunque anche templatestyles. Se la classe è definita in entrambi i css, so' guai... bisognerebbe capire se c'è una precedenza di caricamento fissa o no; ma meglio evitare. Alex brollo (disc.). 09:39, 17 nov 2021 (CET)[rispondi]
@Candalua@Alex brollo Grazie per le risposte. Credo di aver capito come funziona. Ma le classi, si definiscono "a mano" con quei templat tipo il {{Ct}} di cui sopra o con volgari <div>? Entrambi suppongo o addirittura con un template a parte che incapsula la class del <div>. Ruthven (msg) 14:55, 17 nov 2021 (CET)[rispondi]
Le classi vanno passate come parametro (meglio se alternativo a eventuali parametri che generano stile). Vedi es. {{Ct}}; se c'è un parametro c= gli altri parametri soliti sono ignorati, Idem per {{Smaller block}}. In casi fortunati poi non serve alcuna classe: es. <poem>, crea già una class="poem", basta sistemare il css di quella.
Comunque è una rivoluzione non facile da digerire.... io cerco di applicarla in "testi preformattati" in cui il rilettore trova già tutto sistemato. Poi, se vuol capire, deve faticare un po'.... o chiedere. ;-) --Alex brollo (disc.). 15:14, 17 nov 2021 (CET)[rispondi]
Alex brollo io pensavo a tutte le nostre menate per fare un outdent su più pagine, per esempio. Dovrebbe spazzarle via con un soffio... --Ruthven (msg) 21:57, 18 nov 2021 (CET)[rispondi]
Io sto cercando di digerire la cosa. Il bello è che se si sbaglia, si sbaglia in un libro solo (perlomeno: in un solo libro alla volta). Alex brollo (disc.). 22:36, 18 nov 2021 (CET)[rispondi]

Due domande vergognose ai bottolatori esperti modifica

@Candalua, Ruthven Mi vergogno un po' ma chiedo aiuto su due problemi banali sul bot python.

1. non riesco a far correre gli script se non dalla cartella core_stable. Solo da quella gli script "vedono" correttamente gli script generali.

2. dopo poco tempo, fatta un'operazione con il bot, il bot si "slogga" automaticamente (ottimo) e una nuova corsa produce una serie di lamenti alla fine dei quali c'è un re-login automatico. Niente di grave, basta ignorare i lamenti, ma lo prendo come un segno di qualcosa che non va: probabilmente negli script manca qualcosa (un logoff alla fine di ogni script, e un login all'inizio).

Chi vuole aiutarmi sappi che uso sempre l'ambiente Idle per script fai-da-te, e non uso altro che script fai-da-te.

Grazie! --Alex brollo (disc.). 09:42, 26 nov 2021 (CET)[rispondi]

@Alex brollo Ma fai login con la botpassword?   Ruthven (msg) 21:27, 27 nov 2021 (CET)[rispondi]
@Ruthven Sì, registrata in user-password.py. Alex brollo (disc.). 19:58, 28 nov 2021 (CET)[rispondi]

Più a fondo su openseadragon modifica

@Ruthven La tua soluzione del problema, basata su image.onload, sembra andare bene ma poi... un click su zoom e tutto si affloscia. Il problema è del tutto analogo al malfunzionamento del tool ocr sotto eis. L'oggetto immagine iniziale resta impigliato in viewer, e lo zoom richiama la vecchia immagine, invece della nuova appena caricata astutamente nel canvas. Tocca esplorare e utilizzare le API del viewer, e usare quelle per far caricare all'oggetto viewer la nuova immagine. Fino a che non ci riusciamo, meglio la soluzione "distruttiva" scatenata da Ctrl+Alt+i su cui ripiego precipitosamente (in attesa di montarla dentro mw.hook per farla scattare in automatico). --Alex brollo (disc.). 09:44, 28 nov 2021 (CET)[rispondi]

@Alex brollo, mi spiace, ma devo segnalare che con o senza l'ambiente di Barbafoercuta, anche dopo aver disattivato Openseadragon (psss... nell'alert di disattivazione è scritto openseadradon), quando avanzo di una o più pagine l'immagine sulla destra mi rimane sempre quella della prima pagina caricata. Se volessi imbarcarmi in lavori lunghi e ripetitivi come che so, l’Adone o la Scola della Patienza un eis funzionante mi sarebbe praticamente indispensabile. - εΔω 19:49, 28 nov 2021 (CET)[rispondi]
@OrbiliusMagister strano! spiace più a me.... sì, ho visto l'errore nel messaggio, e adesso mi tocca poure correggerlo.... Alex brollo (disc.). 20:01, 28 nov 2021 (CET)[rispondi]
@Alex brollo, purtroppo nemmeno usando il mio sockpuppet senza gadget e senza adminiship la situazione è cambiata. Non vedo cambiamenti cambiando sistema operativo o browser. Quello che noto è che disattivando Seadragon la pagina non è zoomabile ma resta trascinabile; peccato che rimanga sempre quella anche quando cambio pagina. - εΔω 21:00, 28 nov 2021 (CET)[rispondi]
@OrbiliusMagister Sono molto, molto frustrato.... per il momento getto la spugna. Alex brollo (disc.). 21:12, 28 nov 2021 (CET)[rispondi]
@Ruthven dai e dai, forse.... sto provando il gadget eis_test.js, in cui ho aggiunto, dopo la riga che carica la nuova immagine nell'elemento img, la routine di caricamento nel canvas OpenSeadragon come da doc ufficiale (righe 364 e segg.). Sembra che tutto funzioni. Verifico su un bel po' di pagine e poi se tutto va bene carico in eis.js. Alex brollo (disc.). 08:08, 29 nov 2021 (CET)[rispondi]
@Alex brollo Infatti, visto che stiamo in ballo, balliamo: usiamo le funzioni specifiche di openseadragon. Ha uno zoom migliorato (pensa a modificare anche i srcset dell'immagine, col cambio di pagina), che magari impariamo a sfruttare. Ruthven (msg) 13:55, 29 nov 2021 (CET)[rispondi]
@Ruthven Stamattina stranamente sono stato occupato, da adesso continuo a stressare eis_test.js, se tutto va bene lo esporto in eis generale e poi andiamo avanti. Mi è oscura la questione di IIF ecc. ma fino all'aggiornamento di srcset col cambio pagina dovrei arrivarci. Poi.... vedremo, passo passo.
@OrbiliusMagister Per favore, prova a disabilitare eis e a abilitare eis_test fra gli accessori. sarebbe bello che tu mi confermassi che funzia anche a te. Alex brollo (disc.). 14:27, 29 nov 2021 (CET)[rispondi]

────────────────────────────────────────────────────────────────────────────────────────────────────Funzia! Evviva! L'ho provato direttamente con mia utenza e ambiente BarbaforcutaNew e viaggia bene, sia con pagien già create che con pagine da creare. Per me eis è anche uno strumento per navigare velocemente tra pagine non create di un indice... @Alex brollo, hai vinto! - εΔω 15:08, 29 nov 2021 (CET)[rispondi]

eheheheh.... piani alti in conflitto.... modifica

@Ruthven, OrbiliusMagister Tempo fa ci hanno cambiato le carte in tavola con un tool OCR incompatibile con eis.

Qualche giorno fa ci hanno di nuovo cambiato le carte in tavola con un nuovo sistema di gestione delle immagini a fronte, tramortendo eis (che sembra si sia ripreso).

Mi sono chiesto: vuoi vedere che il gruppo OCR e il gruppo OpenSeadragon non si sono parlati....? E infatti... il nuovo tool OCR non funziona più, e nemmeno il vecchio gadget per OCR google. Funziona il vecchio OCR basato su tesseract.

Se mi fate prove di conferma, meglio. Dovremo comunque segnalare/cercare di sistemare. --Alex brollo (disc.). 14:31, 1 dic 2021 (CET)[rispondi]

Tristemente confermo: l'OCR automatico di cui mi sono molto avvalso in questi giorni da ieri mi dà risultati sensibilmente più scadenti, inoltre...
  • con o senza eis la visualizazzione delle immagini di pagina in modifica ha un caricamente più lento
  • Se lancio l'OCR di una pagina mentre uso eis accade che (giustamente) mi risulta l'OCr della prima pagina caricata all'avvio di eis... mi sa che è un problema senza soluzione. - εΔω 15:48, 1 dic 2021 (CET)[rispondi]
@Alex brollo e @OrbiliusMagister Semaglo, fresco fresco di phabricator: T296912. Il problema viene dai piani "ancor più alti". Google sembra non aver più accesso all'immagine della pagina (e quindi non può farne l'OCR), probabilmente perché prova a leggerla prima che sia totalmente caricata. Ruthven (msg) 15:19, 2 dic 2021 (CET)[rispondi]
@OrbiliusMagister e @Ruthven Però l'ottimo OCR tesseract funzia, e con il trucco appena descritto in bar funzia anche con eis. Manca un bottone Copia url immagine, no metterei nell'angolo superiore dx del box immagine, ma la combinazione di tastiCtrl+Alt+u esegue e dà una notifica di aver eseguito. Per ora mi accontento. Visto che siamo in area tecnica ecco la funzione collegata al shortcut, che naturalmente funzionerebbe attaccata anche a qualsiasi altra cosa:
    function() {
        navigator.clipboard.writeText('https:'+$('.prp-page-image img').attr('src'));
        mw.alertMessage("Image URL", "L'indirizzo dell'immagine della pagina è stata caricata negli appunti");
    }
Alex brollo (disc.). 16:13, 2 dic 2021 (CET)[rispondi]

curioso bug di parsing del corsivo modifica

@Candalua, Ruthven, Silvio Gallio Vi sottopongo un curioso bug del doppio apostrofo per ottenere i corsivo (fermo restando che generalmente trascurare il doppio apostrofo di chiusura a fine riga non causa inconvenienti visibili):

''bla bla bla bla <ref>testo annotazione</ref> bla bla bla bla bla bla bla bla bla 1 bla bla bla bla bla
  1. testo annotazione
risultato errato
''bla bla bla bla <ref>testo annotazione</ref> bla bla bla bla bla'' bla bla bla bla 1 bla bla bla bla bla
  1. testo annotazione
risultato esatto
''bla bla bla bla'' <ref>testo annotazione</ref> ''bla bla bla bla bla bla bla bla bla 1 bla bla bla bla bla
  1. testo annotazione
risultato errato
''bla bla bla bla'' <ref>testo annotazione</ref> ''bla bla bla bla bla'' bla bla bla bla 1 bla bla bla bla bla
  1. testo annotazione
risultato esatto

Si osserva che in mancanza del doppio apostrofo finale il corsivo viene ereditato dall'annotazione, il che non è sfuggito a Silvio. Avete qualche ipotesi sulla causa di questa stranezza, che può causare cefalea ai contributori più attenti?Alex brollo (disc.). 09:43, 6 dic 2021 (CET)[rispondi]

@Alex brollo Perché così facendo, la ref è inclusa in un tag <i> (che non esiste se definisci incorrettamente il blocco corsivo) e quindi ne eredita le caratteristiche, nella fattispecie: il tipo del testo. Usa l'inspettore del tuo browser per analizzare la struttura della pagina e dell'esempio qui sopra, così avrai le idee chiare. Ruthven (msg) 11:47, 7 dic 2021 (CET)[rispondi]
@Ruthven Grazie, naturalmente il caso più strano è il n. 3. Esplorerò. Alex brollo (disc.). 11:20, 11 dic 2021 (CET)[rispondi]

Curiosità ecologica modifica

Visto che anche la trasmissione dati consuma energia, chi lo sa fare, mi ricaverebbe che risparmio di byte di banda permette eis, confrontato con il normale edit? grazie! --Alex brollo (disc.). 11:30, 11 dic 2021 (CET)[rispondi]

Correzione di testo match and split modifica

@Ruthven, Candalua Vi sottopongo un'idea audace.

Problema: la correzione di testi match & split di edizioni simili, ma non identiche, è una tragedia per la difficoltà di trovare numerose, piccole differenze (ortografia; maiuscole; punteggiatura...)

Possibile soluzione: visualizzare in html il risultato di un diff, in cui siano ben evidenziate le differenze (colore carattere vivace), con possibilità di accettare l'alternativa giusta con un click. Potrebbe essere un box analogo all'anteprima di eis. Magari gestendo anche il caso fastidioso in cui entrambe le alternative sono sbagliate.

Esiste una routine js pronta per eseguire il diff parola per parola? --Alex brollo (disc.). 23:17, 22 dic 2021 (CET)[rispondi]

Ho fatto una pensata.... la chiave: in un testo, le singole parole si ripetono, ma non si ripete quasi mai una sequenza di poche parole (penso che il numero magico sia tre). Partono i test pratici :-) Alex brollo (disc.). 09:44, 23 dic 2021 (CET)[rispondi]
Al momento rinuncio: è più sbrigativo lavorare direttamente sull'OCR mediawiki. --Alex brollo (disc.). 08:28, 25 dic 2021 (CET)[rispondi]