Author: mfortun Date: 2011-07-26 16:25:46 +0200 (Tue, 26 Jul 2011) New Revision: 1092 Url: http://nuiton.org/repositories/revision/wikitty/1092 Log: * correct wikitty publication ui solution Modified: trunk/wikitty-publication/src/site/rst/publication-ui.rst Modified: trunk/wikitty-publication/src/site/rst/publication-ui.rst =================================================================== --- trunk/wikitty-publication/src/site/rst/publication-ui.rst 2011-07-26 13:11:33 UTC (rev 1091) +++ trunk/wikitty-publication/src/site/rst/publication-ui.rst 2011-07-26 14:25:46 UTC (rev 1092) @@ -49,30 +49,48 @@ Solution proposée ================= -La solution la plus simple serait d'autoriser le html directement dans les -WikittyPubText, voir avoir un nouveau wikittyPub pour le html. Mais ce n'est -pas suffisant comme solution, on perd la possibilité d'avoir du code -dans ces wikittyPubText là. +Plutôt qu'un script engine pour le html qui permettrais l'intégration d'élements +des bindings, on va transformer les wikittyPubText qui contiennent des +construction d'ui en wikittyPubText qui seront évalué par le script engine +correspondant au langage correspondant. -Il faut finalement un nouveau script engine pour le html, ce qui implique que -dans le code html on pourra insérer des invocations direct à des éléments mis -dans les bindings. +Par exemple : -Par exemple: - - <div class='menu'> -wpEval.doAction(wpContext, "WikiMenu")+ +<%wpEval.doAction(wpContext, "WikiMenu")%> </div> <h1>Bonjour Les Lutins,</h1> Bienvenue sur le Wikitty Wiki -<img src="wpContext.makeUrl("/raw/Logo")"/> -Cette solution à l’intérêt d'être relativement simple et de permettre la -création de page naturellement, puisqu'il n'y a aucune différence de traitement -tout passe par "eval". +va devenir : +wpContext.setContentType("text/html"); +var result = +""+ +" <div class='menu'>\n"+ +wpEval.doAction(wpContext, "WikiMenu")+ +" </div>\n"+ +" <h1>Bonjour Les Lutins,</h1>\n"+ +" Bienvenue sur le Wikitty Wiki\n"; +result; -On gagne toutes les possibilités du Html pour le rendu, avec la possibilité -de javascript et css, javascript qui peut être inséré dans la page ou évalué -en tant que code. +Et être finalement interprété par le script engine javascript. + +Les éléments de binding ou de code seront glissé entre des "balises" type +jsp: "<%= %> / <% %>" ce qui permettra de les isolers et de savoir quels morceau +"décorer". Entre les balises on doit pouvoir écrire du code dans le langage de +son choix, enfin le même pour toute la page. + +Pour spécifier que le code à été écrit dans un certain langage on va jouer avec +le mime type, par exmeple pour ce morceau de wikittyPubText, on pourra avoir un +mime type : + +htmlp/js + +Et une fois que l'on aura décoré le myme type sera application/javascript, la +valeur après le "/" donnera le langage cible, et la valeur avant le "/" la façon +dont on doit interpréter le code "ui". + +Pour converserver ces informations pour des wikittyPubText sur fileSystem ou +externaliser on pourra imaginer sauver celà dans l'extension du fichier par +exemple : fichiertoto.htmlp.js
participants (1)
-
mfortun@users.nuiton.org