Emulazione CPC sulle pagine di CPCWiki

Continuando la discussione da CPC emulation added in-page for topics! :joystick::

Il nuovo forum è fantastico e questa funzione è eccellente.

Mi chiedo se potresti aggiungere una funzione simile anche alla wiki.

Sul vecchio forum ho accennato a questa idea su: Website allowing you to play any disc image online Sono riuscito a far funzionare un sito web che eseguiva RVM, caricando qualsiasi immagine .DSK su Internet, quindi quella parte è abbastanza semplice.

Sarebbe fantastico poter andare su una pagina della wiki come WACCI issue 1 (October 1986) - CPCWiki e caricare l’immagine del disco senza nemmeno doverla scaricare.

Sì, è possibile creando un’estensione e un tag. Non ci ho guardato approfonditamente, ma penso di sapere come fare.

Tuttavia, non servirà a nulla finché qualcuno non modificherà tutte le pagine rilevanti aggiungendovi il tag di avvio, quindi non sono sicuro che abbia molto senso.

Penso che sarebbe possibile scrivere un’estensione che utilizzi uno degli hook di MediaWiki per modificare il modo in cui vengono visualizzati tutti i link ai file .dsk (forse, per iniziare, solo per i file ospitati su ifwiki.eu).

Se invece preferisci l’idea dei tag, sarebbe probabilmente possibile aggiungere i tag a tutti i link alle immagini disco rilevanti utilizzando ReplaceText.

Ok, mi sembra di capire che ne sai qualcosa di MediaWiki, bene, parliamone! :slight_smile:

Per quanto riguarda ReplaceText: assolutameeeeeeente no. No. No. :joy: Se ci provo su migliaia di pagine, finirò per battermi con le regex (con cui ho un rapporto di amore/odio) fino al giorno del giudizio. Alcune pagine usano infobox strutturati ({{Infobox Game | disk = ...}}), alcune usano link grezzi tipo [[Media:game.dsk]], e altre rimandano a mirror FTP esterni o archivi .zip. È impossibile beccarli tutti senza introdurre errori, e in più aggiungerebbe al database una nuova revisione per ogni singola pagina modificata.

Sui hook, invece… Questo mi ha fatto riflettere. Il rilevamento automatico dei link è fattibile (anche se ho il sospetto che la cache del parser di MediaWiki renderebbe la cosa un po’ rognosa), ma secondo me non ci serve nemmeno un hook in PHP. Quello che potremmo fare, probabilmente, è inserire uno snippet JS in MediaWiki:Common.js (o persino direttamente nel tema??), scansionare il DOM a ogni caricamento della pagina e, se viene trovato un link a un file dsk, aggiungere un pulsante [Gioca] lì accanto. È un po’ come ho fatto anche sul forum.

Per ora non ci metto mano, devo pensarci su e dare prima un’occhiata a come modificare MW. Se hai qualche idea, fammi sapere!

Eeee… fatto!