Εξομοίωση CPC στις σελίδες του CPCWiki

Συνέχεια της συζήτησης από το CPC emulation added in-page for topics! :joystick::

Το νέο φόρουμ είναι εξαιρετικό και αυτή η λειτουργία είναι καταπληκτική.

Αναρωτιέμαι αν θα προσθέτατε μια παρόμοια λειτουργία και στο wiki.

Στο παλιό φόρουμ είχα αναφέρει αυτή την ιδέα στο: Website allowing you to play any disc image online Κατάφερα να λειτουργήσω έναν ιστότοπο που έτρεχε RVM, φορτώνοντας οποιαδήποτε εικόνα .DSK από το διαδίκτυο, οπότε αυτό το κομμάτι είναι αρκετά εύκολο.

Θα ήταν πολύ ωραίο να μπορείς να πας σε μια σελίδα του wiki όπως το WACCI issue 1 (October 1986) - CPCWiki και να φορτώνεις την εικόνα δίσκου χωρίς καν να χρειάζεται να την κατεβάσεις.

Nαι, είναι εφικτό, δημιουργώντας μια επέκταση και μια ετικέτα. Δεν το έχω ψάξει πραγματικά, αλλά νομίζω ότι ξέρω πώς να το χειριστώ.

Ωστόσο, δεν θα έχει καμία χρησιμότητα μέχρι κάποιος να επεξεργαστεί όλες τις σχετικές σελίδες και να προσθέσει σε αυτές την ετικέτα έναρξης, οπότε δεν είμαι σίγουρος αν έχει ιδιαίτερο νόημα.

Νομίζω ότι θα ήταν δυνατό να γραφτεί μια επέκταση που να χρησιμοποιεί ένα από τα hooks του MediaWiki, ώστε να αλλάξει ο τρόπος με τον οποίο εμφανίζονται όλοι οι σύνδεσμοι προς αρχεία .dsk (ίσως μόνο για αρχεία που φιλοξενούνται στο ifwiki.eu για αρχή).

Αν προτιμούσες την ιδέα των ετικετών (tags), θα ήταν πιθανότατα εφικτό να προσθέσεις ετικέτες σε όλους τους σχετικούς συνδέσμους εικόνων δίσκου χρησιμοποιώντας το ReplaceText.

Οκ, φαίνεται ότι ξέρεις δύο πράγματα για το mw, οπότε αυτό είναι τέλειο, ας το συζητήσουμε! :slight_smile:

Σχετικά με το ReplaceText: αυτό είναι ένα όοοοοοοοοχιχιχιχιχι. Όχι. Όχι. :joy: Αν προσπαθήσω να το κάνω έτσι σε χιλιάδες σελίδες, θα παλεύω με regex (με τα οποία έχω μια σχέση αγάπης/μίσους) μέχρι τη Δευτέρα Παρουσία. Κάποιες σελίδες χρησιμοποιούν δομημένα infoboxes ({{Infobox Game | disk = ...}}), άλλες χρησιμοποιούν απλούς συνδέσμους [[Media:game.dsk]], και άλλες συνδέονται σε εξωτερικούς FTP mirrors ή αρχεία .zip. Δεν υπάρχει περίπτωση να τα πετύχω όλα χωρίς να εισάγω σφάλματα, συν του ότι θα δημιουργούσε μια νέα αναθεώρηση στη βάση δεδομένων για κάθε μία σελίδα που επηρεάζεται.

Όσον αφορά τα hooks, πάντως. Αυτό με έβαλε σε σκέψεις. Η αυτόματη ανίχνευση συνδέσμων είναι εφικτή (αν και υποψιάζομαι ότι η μνήμη cache του parser του Mediawiki πιθανότατα θα το έκανε περίπλοκο), ωστόσο νομίζω ότι δεν χρειαζόμαστε καν ένα PHP hook. Αυτό που θα μπορούσαμε να κάνουμε, πιθανότατα, είναι να εισάγουμε ένα snippet JS στο MediawIki:Ccommon.js (ή ακόμα και απευθείας στο θέμα;;), να σκανάρουμε το DOM σε κάθε φόρτωση σελίδας και αν βρεθεί σύνδεσμος dsk να εμφανίζουμε ένα κουμπί [Play] δίπλα τους. Αυτό είναι παρόμοιο με αυτό που έκανα και στο φόρουμ.

Δεν θα το αγγίξω ακόμα, πρέπει να το σκεφτώ και να ψάξω λίγο τις τροποποιήσεις του mw πρώτα. Αν έχεις καμία ιδέα, πες μου!

Καιiii έτοιμο!