Discussioni utente:Alex brollo/Allinea.js

Contenuti della pagina non supportati in altre lingue.
Da Wikisource.

Doc minima (bozza)[modifica]

Il problema
Il template Iwpage consente di visualizzare, via javascript, il contenuto di una pagina come figura in un altro progetto. Tuttavia non si tratta di una vera transclusione, ma solo di una visualizzazione; il che comporta vari inconvenienti, il principale è che il contenuto della pagina, anche se visualizzato, non può essere esportato.
Ipotesi di soluzione
L'idea è quella di clonare il codice wiki dalla pagina primaria (per ora solo la.wikisource) alla pagina secondaria (per ora solo itwikisource). E' indispensabile che la clonazione:
avvenga con un meccanismo automatizzato;
sia effettuabile sia sull'intero Indice che pagina per pagina in modo interattivo;
sia attivata solo nel caso che la pagina sorgente sia stata modificata.
Implementazione dell'automazione
Dopo allineamento, al codice sorgente viene aggiunto un tl|Allineatore, e, all'interno di un commento html, alcuni dati necessari alla verifica (template Iwpage alternativo; numero della revisione della pagina sorgente; level della pagina sorgente)Al momento (settembre 2021) uno script python può eseguire le verifiche e la clonazione su gruppi di pagine. Questo script esegue invece l'allineamento sulla pagina corrente in modifica.
Sulla base di questi dati l'algoritmo:
legge la pagina sorgente;
verifica il numero della revisione, e si interrompe se la pagina sorgente non è stata modificata;
se la pagina sorgente è stata modificata, clona il codice e aggiorna il commento html con i nuovi level e numero di revisione.
I problemi
E' indispensabile, perchè l'allineamento vada a buon fine, che la.wikisource contenga template e moduli corrispondenti a quelli di it.wikisource. Casi di nomi template diversi, ma di uguale sintassi, sono risolvibili con redirect (es. tl|Rh su la.wikisource, corrispondente a tl|RigaIntestazione su it.wikisource). I pochi casi di template con lo stesso nome, ma con codice diverso, vanno evitati, o gestiti dal programma di allineamento con modifiche automatiche del codice (es. tl|Rule). Più complesso il caso di link interni o template che producono link interni (es. link a pagine Autore o tl|AutoreCitato). In alcuni casi il problema potrebbe essere risolto da template come Wl, che puntano a elementi wikidata e ottengono il link locale da wikidata.
Il testo in attuale sperimentazione
Il diritto universale, edizione bilingue it-la.