« Highlight.js » : différence entre les versions

De Banane Atomic
Aller à la navigationAller à la recherche
Ligne 49 : Ligne 49 :
<filebox fn='src/languages/[nouveau langage].js' lang='javascript' collapsed>
<filebox fn='src/languages/[nouveau langage].js' lang='javascript' collapsed>
/*
/*
Language: [nouveau langage]
* Language: [nouveau langage]
Author: Moi <moi@domaine.fr>
* Requires: xml.js, csharp.js
Category: common
* Author: Moi <moi@domaine.fr>
* Category: common
*/
*/



Version du 4 avril 2023 à 19:42

Liens

Build

Bash.svg
git clone https://github.com/isagalaev/highlight.js

cd highlight.js/
# installation des dépendances dans ./node_modules
# npm i utilise le fichier package.json
npm i

# création du dossier build et de ses fichiers
node tools/build.js -t browser -n :common csharp cpp
# -t browser, target (browser, cdn, node, all)
# -n, Disable compression
# :common, langages de base
# csharp cpp, les langages c# et c++

# the build result is in the build/ directory.

Test

Après avoir buildé

  • build/demo/index.html
  • tools/developer.html
Bash.svg
# run unit test
cd test
npm test

Ajouter un nouveau langage

test/detect/[nouveau langage]/default.txt
Code de démo
src/languages/[nouveau langage].js
/*
 * Language: [nouveau langage]
 * Requires: xml.js, csharp.js
 * Author: Moi <moi@domaine.fr>
 * Category: common
*/

function(hljs) {
  var KEYWORDS = {
    keyword:
      'abc def',
    literal:
      'null false true'
  };

  return {
    aliases: ['aaa'],
    keywords: KEYWORDS,
    illegal: /::/,
    contains: [
      hljs.COMMENT(
        '//',  // tout ce qui commence par //
        '$'    // jusqu'à la fin de la ligne
      ),
    ]
  };
}

Category

assembler common config css
enterprise functional graphics lisp
markup protocols scientific scripting
system template

Installation

Bash.svg
npm install -g highlight.js
# highlight.js → /usr/lib/node_modules/highlight.js/lib/
# languages → /usr/lib/node_modules/highlight.js/lib/languages
# css → /usr/lib/node_modules/highlight.js/styles/