Salut arnaud,
Il semble que tes contenus étaient rédigés avec une certaine syntaxe de mise
en forme (genre bbedit, markup, une syntaxe wiki, etc..), quelle est elle ?
Souvent les modules des parser/render de syntaxe de mise en forme sont assez
bien fait pour être étendu directement en Python pour ajouter des macros,
étendre leur format, etc..
À mon avis c'est ce chemin vers lequel tu devrais t'orienter.
Et si jamais tu n'utilisais pas de syntaxe particulière, alors c'est le moment
d'y passer et sera encore plus simple, je te conseillerais d'ailleurs quelque
chose comme du ReStructuredText.
Sinon en derniers recours comme l'a mentionné xavier, tu devrais te faire un
"templatetags" qui recoit ton article en premier argument et qui consommera le
contenu pour le transformer et appliquer tes "plugins" de syntaxe
supplémentaires. Tu peux même utiliser des arguments supplémentaires avec ton
templatetag pour activer/désactiver les plugins dont tu n'a pas besoin.
--
Cordialement,
David THENON.
Le samedi 16 juin 2012 15:31:11, Arnaud a écrit :
> Bonjour à tous,
>
> Débutant dans la programmation sous django, je me suis fixé comme
> objectif de migrer mon site actuellement sous CMS vers django, pour plus de
> souplesse, de contrôles, etc...
>
> Je dois donc rapatrier des articles qui avaient un formatage particulier,
> me permettant d'insérer directement des éléments extérieurs via des
> balises personalisées, comme par exemple :
>
> - $formule$ pour une formule latex,
> - $$formule$$ pour une formule latex centrée,
> - {app}...{/app} pour insérer un applet avec une figure dynamique,
> - {asy}...{/asy} pour insérer une figure asymptote,
> - {c}...{/c} pour une coloration syntaxique de code source,
> - etc...
>
> Au début, j'ai créé des filtres pour chacune de ses balises, qui en
> gros, récupèrent le contenu à l'aide des expressions régulières, pour
> le remplacer dans l'affichage de la page. Jusque là, pas trop de soucis.
>
> Ce qui me gêne, c'est dans le template des articles, je me retrouve avec
> quelque chose de la forme :
>
> [code]{{ article|latex|code|applet|latexc|asymptote|...|... }}[/code]
>
> et j'ai vraiment l'impression qu'on peut faire mieux, sauf que je n'ai pas
> assez de recul sur django pour savoir comment exactement.
> Peut-être qu'il est possible de créer un filtre appelant tour à tour
> tous les autres, je n'en sais rien.
> Et surtout, je ne sais pas si tout cela est réellement optimisé.
>
> Avis au connaisseurs, toute indication sera la bienvenue, merci d'avance
>
> :)
>
> _______________________________________________
> django mailing list
> [email protected]
> http://lists.afpy.org/mailman/listinfo/django
_______________________________________________
django mailing list
[email protected]
http://lists.afpy.org/mailman/listinfo/django