federico-razzoli / caronte Goto Github PK
View Code? Open in Web Editor NEWIpertesto Dinamico per Racconti d'Avventura
Ipertesto Dinamico per Racconti d'Avventura
Immagine(url, position, title)
DIPENDS:
localizzazione
DOMANDE APERTE:
FUTURO:
In kernel.js, l'unica variabile globale dovrà essere SW.
Tutte le variabili e le funzioni dovranno essere spostate dentro quell'oggetto per motivi di performance.
Togliere la gestione delle situazioni salvate e i bottoni da kernel.js. Implementare un'estensione.
Sarebbe bello:
DIPENDE DA: tinybox, oggetto SW
One should be able to select links/controls only using his keyboard:
Aggiungere come libreria tinybox o similare. Deve essere usato dai messaggi di errore e da extSaveMe.
I bridge sono le localizzazioni dei nomi delle funzioni.
I nomi delle funzioni di IDRA e delle estensioni presenti nella distribuzione dovranno essere in inglese.
Per compatibilità con il vecchio IDRA e per facilità d'uso, i nomi di funzioni dovranno essere localizzabili in un file bridge.
Il bridge verrà scelto in base all'opzione di Applicazione bridge.
Provare prima questo modo:
window.text.name = "testo";
Se name è di sola lettura (anche solo in alcuni browser) usare:
window.testo = window.text;
, e provare:
delete window.testo;
Il bridge dovrà essere proprio in questa forma, anche se implica che chi non conosce JavaScript non scriverà bridge. IDRA non deve diventare pesante.
In una estensione, implementare due tipi di timer:
Shortcut nel menu con una sintassi in stile microsoft:
"&Salva"
Indipendente dal tipo di Controllo.
Togliere l'elemento dal DOM senza cancellarlo dalla variabile che lo contiene.
enable() non fa altro che riassegnare la variabiel
The Plugin Loader will recursively check for dependencies before loading each plugin. If it has dependencies, those will be loaded first. Dependency is: plugin name + version. If a dependency is not present, a graceful error message will be displayed. Each dependency could be an array of possible plugins - first one is the preferred, but if one of the others is present it's ok. The PL will also check if the Dependency Tree is a valid tree or a circular structure.
Implementare un nuovo tipo di plugin chiamato Syntax, che effettua una serie di espressioni regolari per formattare il testo.
Sarà possibile applicarne 0, 1 o più di 1, al testo scritto su un qualsiasi box.
Inizialmente, scriverne uno molto semplice che implementa grassetto, corsivo, header e hr in stile Wikipedia.
Tutti i box (eccetto boxMain) devono poter essere trasformabili in finestre JavaScript, implementate in qualche classe già esistente.
La libreria window ha troppi bug.
Investigare framework come jQuery: potrebbe esserci quello che serve, estrapolabile dal resto della libreria.
Aggiungere un altro tema (magari con il menu ridimensionabile)
showInfo() deve mostrare le informazioni in una finestra modale
Spostare in una estensione:
SAREBBE BELLO:
Ability to work as a network XML server
Libs which could be used:
There will be a gui server version, with an identical API.
Its methods will create XML instructions which will tell to the client how it must modify its interface. Those instructions will be sent via gui.send().
IDRA, plugins and Applications will be able to offer a control (from the info box) which checks if there is a newer version at a specified URL. Will also tell if the upgrade is compatible with current APIs, and if contains critical/security bugfixes. There will also be detailed instructions about how to download the upgrade.
Una funzione per chiamare le funzioni che dovrebbero essere definite all'interno dell'Applicazione.
Se sono undefined, mostra un messaggio di errore chiaro.
link() dovrebbe caricare le librerie con document.write piuttosto che creare oggetti DOM, per motivi di performance.
Se su qualche browser va più veloce il contrario, cambiare il comportamento a seconda del browser.
What should be done to optimize IDRA for screen readers?
Estensione con i seguenti metodi:
Crea due oggetti audio (uno per la musica e uno per i suoni) senza aggiungerli al DOM.
nome_file può essere un array di file (in diversi formati per effetti cross browser).
Con un ctrlDropDown si controllano i due differenti volumi.
Anche un ctrlSwitch per il loop, se funziona.
RIFERIMENTO:
http://dev.opera.com/articles/view/html5-audio-radio-player/
In una versione futura sarebbe bello implementare un controllo audio.
In order to make IDRA more robust, prevent adventure / plugins from changing what they should not change.
Function armor() should use:
Sia l'URL sia l'Applicazione, devono poter sppecificare delle variabili che influenzano il comportamento del kernel di IDRA.
Queste si distinguono dalle Opzioni di Applicazione perchè cominciano con il carattere "_".
Per cominciare, anche per avere un esempio, ne implementeremo 1:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.