Édition : boutons edition

Bonjour, Chuwiki est exactement le wiki que j'attendais, simple et rapide.

Une chose me trouble tout de même, pour simplifier encore plus le Wiki, serait-t-il possible d'ajouter des "boutons" comme "souligner", "lien" ou autre au dessus de la partie édition afin de simplifier l'édition des pages par les néophites ?

Merci d'avance

Logan .


Salut,

une recherche rapide m'a mene a http://www.fckeditor.net/ que tu peux essayer d'integrer au template d'edition de ChuWiki, je connais pas FCKeditor mais peut-etre qu'il est simple de remplacer le balisage html par la syntaxe de ton renderer (wiki2xhtml ou wikirenderer).


Thierry le 13/04/2007 à 10h20

Salut à tous, Je tiens à vous dire que les éditeurs WYSIWYG (What You See Is What You Get) comme fckeditor ou tinymce sont très complexe (enfin pour moi). Je ne pense pas qu'il soit simple de modifier ces logiciels. En revanche, ce qui pourrait être plus simple à faire, c'est de laisser ChuWiki interpréter le code HTML, de cette manière, vous pourriez utiliser ces éditeurs, et les utilisateurs de ChuWiki pourraient faire des pages plus jolies.

Je ne sais pas comment faire pour laisser ChuWiki interpréter le code HTML mais je vais me pencher sur la question, si il y en a qui savent comment faire, faite le savoir s'il vous plait.

Merci ++


Thierry le 13/04/2007 à 13h20

Rebonjour à tous, alors voilà : j'ai réussi à modifier ChuWiki pour qu'il interprête le langage HTML.

Pour cela, vous devez ajouter un 'Renderer'. Vou devez modifier le fichier './sdk/sdk.php' ajouter ce code à la ligne 545 :

Trouver ce bout de code :

	// Instanciation de la lib de rendu et rendu wiki
	switch($k_aConfig['Renderer'])
	{

et remplacer le par :

	// Instanciation de la lib de rendu et rendu wiki
	switch($k_aConfig['Renderer'])
	{
	case 'xhtml':
	$strHtmlContent = $strWikiContent;
	break;

Ce code à pour but de renvoyer le contenu de la page ($strWikiContent) sans le 'parser', c'est-à-dire sans respecter les règles de formatage.

Ceci ne sera possible uniquement si la variable 'Renderer' de votre fichier './configuration.ini' à la valeur 'xhtml'.

Si vous ajouter ce code, vous pourrez écrire vos page en utilisant le langage HTML. ATTENTION : ici les règles de formatage WIKI ne sont plus appliquées.

De ce fait, je vais pouvoir me pencher sur la modification du thème de ChuWiki pour y insérer un éditeur WYSIWYG comme fckeditor ou tinymce.

Voilà pour ceux que ça intéresse, j'y ai passé ma matinée :)

@+ les gens


Janeo le mercredi 18 juillet 2007

Le problème avec le truc de Thierry, c'est que la page de listant toutes les pages va foirer.

Dans sdk/sdk.php ligne 787

remplacer $strContent .= "\n" . '-' . $strEntry . '';

par $strContent .= '<a href="'.$strEntry.'">'.$strEntry .'</a><br />';

Pour la liste des dernières modifications dans sdk.php remplacez ce qu'il y a de la ligne 806 à 833 par ça :

foreach($astrList as $strEntry => $date)
	{
		$strDay = substr($date, 0, 8);
		$strTime = substr($date, 8);

		if( $strDay != $strDayPrev )
		{
			$strContent .= "<br />" . '<h2>' . substr($strDay, 6, 2) 
								. '-' . substr($strDay, 4, 2) 
								. '-' . substr($strDay, 0, 4).'</h2>';
		}

		$bNew = ( ($date - $dateLastVisit) > 0 );

		$strContent .= "<br />" . '- ';
		if ( $bNew )
		{
			$strContent .= '<b>';
		}
		$strContent .= substr($strTime, 0, 2) . 'h' . substr($strTime, 2, 2) 
					. ' <a href="'. $strEntry .'">' . $strEntry . '</a>';
		if ( $bNew )
		{
			$strContent .= '</b>';
		}

		$strDayPrev = $strDay;
	}

Le tour est joué. Bonne journée.


Et le tour est joué...

D'après les modifications que j'ai pu voir ici, et qui m'ont beaucoup avancé dans mon travail effectué, j'ai pu créer une version simplifiée de ChuWiki, d'après le système d'édition TinyMCE. Visitez la nouvelle page ChuWiki MCE edition

Règles de formatage

_texte_
Faire une emphase (italique)
__texte__
Faire une emphase forte (gras)
@@texte@@
Faire un petit code
''texte|langue|source''
Faire une petite citation
>texte
Faire un paragraphe de citation
[texte|URI|langue|titre]
Faire un lien vers une page, les paramètres sont optionnels
((image|texte alternatif|alignement))
Ajouter une image, alignement peut valoir G(auche), D(roite) ou C(entre)
texte
Tout texte écrit simplement sera transformé en paragraphes.
!titre1, !!titre2, !!!titre3, etc.
Créer un titre d'un niveau égal au nombre de !
-texte ou *texte
Faire une liste d'éléments non numérotés
#texte
Faire une liste d'éléments numérotés
;titre:définition
Faire une définition/liste de définitions
??acronyme|titre??
Faire un acronyme
[ESPACE]texte ou {{{texte}}}
Le texte sera préformaté, utile pour écrire des bouts de code
==== ou ---- (au moins 4)
Une ligne de séparation horizontale
\
Si vous ne voulez pas que la syntaxe wiki s'applique, faites précéder les caractères spéciaux par des anti-slashs.