Building and testing
実際にhighlight.jsを実行するには、 ブラウザ、node.jsサーバ等、環境に併せてビルドする必要があります。
ビルド
ビルドツールはnode.jsを使用したJavaScriptで書かれています。 スクリプトを実行する前に、node.jsがインストールされていることを確認し、 npm intall
で依存するライブラリをインストールしてください。
このツールはtool/build.js
にあります。 いくつか便利な例を紹介します。
- 一般的な言語のみをブラウザで使うためのビルド。
$ node tools/build.js :common
- 使用可能な全ての言語を含めて、node.js用にビルド。
$ node tools/build.js -t node
- 特定の2種類の言語をデバッグ用にビルド。この場合、圧縮しません。
$ node tools/build.js -n python ruby
いくつかのシステムではnodeのバイナリ名がnodejs
の場合があります。 上記の例では、単純にnode
をnodejs
に置き換えるだけで動作します。
全オプションのリファレンスは--help
オプションで利用可能です。
ビルド結果はbuild/
ディレクトリ以下に格納されます。
基本テスト
言語のデバッグとテストは通常、最初は視覚的に行います。 まず、作成中の言語のみでビルドする必要があります。 (コードを圧縮せずに、ブラウザのメッセージで理解できるコードのままで。) そして、tools/developer.html
にあるディベロッパーツールを使って、 その言語のスニペットがどのようにハイライトされるかを確認します。
テストスニペットは短く、全体的な見栄えを考える必要があります。 スニペットは、全ての構文要素を含めるよりも、実用的なコードであるべきです。
見栄えが整ったら、作成した言語定義が一式の中に含まれていても正常に言語検出されるかを確かめなくてはなりません。
テストはMochaを使って行います。 ファイルはtest/
以下にあります。 コマンドラインでnpm intall
を使って依存するライブラリをインストールした後、 npm test
でテストを実行することができます。
メモ:UbuntuのようなDebian系のマシンでは、 node
へのnodejs
のエイリアスか、シンボリックリンクを作成する必要があります。 これは、highlight.jsをテストする依存ライブラリにはnode
への参照が存在するためです。
ブラウザのテストで使用したスニペットをtest/detect/<language>/default.txt
に配置します。 そして、全ての言語でパッケージを構築し、テストを実行します。 もし、作成した言語で、言語の自動検出ができない場合、 コードの関連性を高めるように修正しなければならず、 これはそれ自体が黒魔術です。 疑問や不明点があれば、ディスカッショングループ(?)を参照してください!
マークアップテスト
言語に追加のマークアップテストを提供して、 様々な言語構造での固有のケースをテストすることもできます。 言語に19種類の異なる文字列リテラルがある場合や、 正規表現とは別に、複雑な文字列分割の検出手法がある場合等です。
テストケースは2つのファイルで構成されます。
test/markup/<language>/<test_name>.txt
: テストコードtest/markup/<language>/<test_name>.expect.txt
: リファレンスレンダリング
リファレンスレンダリングを生成するには、 tools/developer.html
にあるディベロッパーツールを使います。 この場合、言語の自動検出が動作しない可能性があるので、 言語をプルダウンで明示的に選択してください。
© 2006 Highlight.js is released under the BSD License. See LICENSE file for details.
このコンテンツはhighlightjsドキュメントを翻訳/改変したものです。