projets/makedokuwiki.txt · Dernière modification: 07/05/2005 00:19

EN: rebol.com - rebol.org - rebol.net -
FR: Rebol Documentation Project - forum RebelBB - rebol-france.org - forum codeur -

 

Projet de modification du code de dokuwiki, afin de supporter des zones écrites dans le format makedoc.

Brouillon de cahier des charges

  • ajout de nouvelles balises <makedoc></makedoc>
  • ces balises sont interprétées d’une manière semblable à <html> ou <php> : génération de html directement, sans passage par la syntaxe dokuwiki.

Brouillon d'algo

  • le texte entre ces balises est mis dans un fichier temp.
  • ce fichier temp peut avoir un nom unique (date/heure) pour éviter les conflits.
  • éventuellement, penser à un système de cache pour détecter si ce fichier existe déjà.
  • éventuellement, modification du script makedoc.r pour en améliorer la rapidité.
  • modification du script, pour pouvoir générer du code sans les headers html, de manière à faciliter l’intégration dans une page existante.

Analyse du code:

(par des non-experts en php, merci d’aider pour les connaisseurs)

C’est apparement la fonction ‘parse de parser.php qui lance tout le process d’interprétation.

Apparement, il stocke dans une table, un peu comme makedoc le fait (block).

Mais la compréhension est difficile :

les regexp ne sont pas toujours très lisibles par le néophyte (à la différence de parse en Rebol ;-) )

inc/io.php - line 45:

$parsed = parse(io_readFile($file)); //sets global parseroptions 
</php>
 
Appel de la fonction preformat
Parser.php - line 51:   
<code php>
firstpass($table,$text,"#<html>(.*?)</html>#se","preformat('\\1','html')");

Propositions de modifications :

Vers ligne 51 du parser.php Ajout d’un appel à preformat, prenant en compte la nouvelle balise.

  //preformated texts
  firstpass($table,$text,"#<code( (\w+))?>(.*?) 

#se“,”preformat(’\\3’,’code’,’\\2’)");

firstpass($table,$text,"#~573ffad8631f5f01068d0f4b9712999c~#se","preformat('\\1','file')");
firstpass($table,$text,"#<makedoc>(.*?)</makedoc>#se","preformat('\\8','file')");

</code>

Choix d'archi et de stratégie :

Langage

  • Pure php : Parsing complet en php
    • mis de coté
  • php/rebol
    • Appel du script makedoc.r depuis le php, en modifant le moteur de parsing php au bon endroit.

Format du code dokuwiki visible

Sur le dokuwiki en cliquant sur le bouton edit, que doit-on voir ?

  • blabla <html>make-doc htmlisé</html> blabla
    • Mis de coté
  • blabla <makedoc>make-do pur</makedoc> blabla
    • En cours d’exploration

Format de l'affichage html

  • issu directement de la traduction de makedoc vers html
    • en cours d’exploration
  • sortie html en style doku issue d’une espèce de conversion
    • mis de coté.

Historique

Version du 17-2-2005 1:00

Synthèse des discussions, et d’une séance de mooneditor.

Didec, Shadwolf, Johnatemps.

 
  projets/makedokuwiki.txt · Dernière modification: 07/05/2005 00:19
 
Fil RSS: Recent changes RSS feed
Valid XHTML 1.0 Valid CSS Powered by PHP Driven by DokuWiki
Hébergement par Spinodo