Quode.JSH est une librairie javascript de coloration syntaxique multi-langages, cross-browser, légère et gratuite. Les portions de codes sont colorées coté client à l'aide de styles CSS. Il ne vous est plus nécessaire d'effectuer ces opérations coté server. Un strict respect des standards du web fait de cette librairie un outil idéal pour vos blogs et forums, même ceux servis en tant qu'application/xhtml+xml.
Pour en savoir plus, continuez avec les sections features et usage ainsi que les pages d'exemples. Pour les développeurs, le projet Quode.JSH est hébergé chez Google Code à cette adresse: http://code.google.com/p/quodejsh/
Google Group/Forum: http://groups.google.com/group/quodejsh
News
1 Mai 2007
Version 0.2.1. Ajout de la prise en charge des nombres pour les langages C++, Javascript, PHP et SQL. Les chaînes (string) sont maintenant différenciées au niveau du CSS pour les langages PHP et C++. Ces nouveaux sélecteurs sont maintenant .single-string et .double-string
30 Avril 2007
Nouvelle version 0.2.0. Beaucoup de changements ont été opérés et cette version n'est pas retro compatible avec la précédente en ce qui concerne les données CSS. Les langages C++ et SQL ont été ajoutés. Consultez la partie changelog pour plus d'info.
21 Avril 2007
La version 0.1.3 est disponible. Une des nouveautés concerne la possibilité d'imbriquer des langages entre eux. Il est maintenant possible de définir des objets anonymes pour les attributs embed dans les patterns. Par exemple, ci-desssous figure le nouveau module de coloration de codes (x)html comportant un sous-module (objet anonyme) spécialisé pour les balises et attributs. Cette nouvelle façon de procéder est moins complexe et plus élégante que la précédente à base de callbacks.
new function() {
this.patterns = [
{ regex: Quode.JSH.util.regex.xmlComment,css: "jsh-xml-c" },
{ regex: Quode.JSH.util.regex.xmlCDATA, css: "jsh-xml-cdat" },
{ regex: Quode.JSH.util.regex.xmlDoctype,css: "jsh-xml-doct" },
{ regex: new RegExp("<\\?(?:php|=)\\s+"),
embed: "php", // délègue le travail au module php
until: new RegExp("\\?>"),
css: "jsh-xml-php"
},
{ regex: Quode.JSH.util.regex.xmlPI, css: "jsh-xml-pi" },
{ regex: Quode.JSH.util.regex.xmlEntity, css: "jsh-xml-ent" },
{ regex: new RegExp("</?"),
embed: { // objet anonyme qui définit les balises et attributs
patterns: [
{ regex: new RegExp("[\\w-]+:"), css: "jsh-xml-pre" },
{ regex: new RegExp("[\\w-]+(?=\\s*=)"), css: "jsh-xml-att" },
{ regex: new RegExp("[\\w-]"), css: "jsh-xml-tagn" },
{ regex: new RegExp("([\"'])(?:.|\\r?\\n)*?\\1"), css: "jsh-xml-attv" }
]
},
until: new RegExp("/?>"),
css: "jsh-xml-tag"
}
];
Quode.JSH.language.register(this, ["html", "xhtml", "phtml"]);
};
Futurs évolutions
Ajout d'autres langages.
Tweaks, amélioration des fonctionnalités déjà présentes.
Un module annexe de présentation du code, par exemple l'ajout de numérotation de lignes, la possibilité d'obtenir le code brut source, des goodies genre code folding (à étudier).