Language contributor checklist
1. 言語定義の.jsファイルを追加
ファイルには、 ライブラリ(hljs
)への参照を受け入れ、 言語オブジェクトを返す関数を定義します。 ライブラリパラメータは、共通のモードと、正規表現を使うのに便利です。 この関数はすぐに呼び出すべきではありません。 この関数はビルド中に処理され、ビルドターゲットによって詳細が異なります。
function(hljs) {
return {
keywords: 'foo bar',
contains: [ ..., hljs.NUMBER_MODE, ... ]
}
}
ファイル名は、言語の識別子として使われるので、 HTMLとCSSのクラス名として使うことができます。
2. メタデータの挿入
ファイルの先頭には、ビルドシステムに処理されたメタデータを持つ、 特殊な形式のコメントがあります。 メタデータは、各行がkey-valueの形式で構成されています。
/*
Language: Superlanguage
Requires: java.js, sql.js
Author: John Smith <email@domain.com>
Contributors: Mike Johnson <...@...>, Matt Wilson <...@...>
Description: Some cool language definition
*/
Language
- 唯一必要なヘッダーで、読みやすい言語名が記載されます。
Requires
- この言語定義が動作するのに必要な、他の言語のファイルリスト。 これにより、他の言語の定義を拡張する言語を定義することができます。 必要なファイルは特殊な方法で処理するわけではありません。 ビルドシステムは、これらのファイルを、 最終的なパッケージの
LANGUAGES
オブジェクトに確実に追加します。
その他のヘッダーの意味は、keyの通りです。
3. コード例の作成
コード例は、https://highlightjs.org/のトップページと、デモページで使用されます。 コード例は、test/detect/
として作成してください。
test/detect/
にある、他の言語からインスピレーションを得てください。 詳細はビルドとテストを参照してください。
4. クラスリファレンスを書く
クラスリファレンスはCSSクラスリファレンスにあります。 言語定義で使用中の意味を持った全てのモードを記述してください。
5. AUTHORS.*.txtとCHANGES.mdの編集
もし新規のコントリビューターなら、開発者リストに名前を追記してください。 英語版とロシア語版を自由に使って下さい。 併せて、CHANGES.mdも更新すると良いでしょう。
6. プルリクエストを作成
コントリビュートをGitHubでプルリクエストしてください。
© 2006 Highlight.js is released under the BSD License. See LICENSE file for details.
このコンテンツはhighlightjsドキュメントを翻訳/改変したものです。