Prism
Prismは軽量で堅牢かつエレガントな構文ハイライトライブラリです。これはDabbletのスピンオフプロジェクトです。
prismjs.comでさらに詳しく知ることができます。
Prismに貢献しましょう!
重要な通知
現在Prism v2に取り組んでおり、当面はセキュリティ関連のPRのみを受け付けます。
Prism v2の作業が十分に進んだら、再びPRを受け付けます。これは、ディスカッションページで発表され、ロードマップディスカッションで言及されます。
Prism v1の貢献メモ
Prismは、コミュニティコントリビューションによって拡張され、より広範囲のユースケースをカバーできるようになっています。お気に召したら、プルリクエストを送信してサポートを検討してください。以下にいくつかのヒントを示します。
- ドキュメントをお読みください。Prismは拡張できるように設計されています。
prism.js
を編集しないでください。これはPrismのWebサイトで使用するPrismのバージョンにすぎず、自動的にビルドされます。components/
フォルダ内の縮小されていないファイルへの変更を制限します。prism.js
とすべての縮小ファイルはビルドシステムによって生成されます(以下を参照)。- Prismの依存関係をインストールするには、
npm ci
を使用します。非決定的なビルドを引き起こすため、npm install
は使用しないでください。 - ビルドシステムはgulpを使用してファイルを縮小し、
prism.js
をビルドします。Prismの依存関係がすべてインストールされている場合は、コマンドnpm run build
を実行するだけで済みます。 - すでにファイルで使用されているコード規約に従ってください。たとえば、インデントにはタブを使用し、整列にはスペースを使用します。中括弧のオープンは同じ行に、コンストラクトに関係なく、中括弧のクローズは独自の行です。中かっこを開く前にスペースがあります。など。
- 巨大なPRをいくつか作成するのではなく、小さくても多くのPRを作成するようにしてください。PRにマージしたい変更とマージしたくない変更が含まれている場合、処理が難しくなります。
- 最近は時間が非常に限られているため、大規模なPRの確認に時間がかかる場合があります(通常、小規模なものは非常に迅速にマージされます)、特にPrism Coreを変更するものです。これは、PRが拒否されたという意味ではありません。
- 新しい言語定義を貢献した場合、その言語定義に関するバグレポートの処理に責任を負うことになります。
- 新しい言語定義やプラグインを追加する場合は、
components.json
にも追加してnpm run build
を実行してPrismを再構築する必要があります。ダウンロードビルドページで利用できるようになります。新しい言語の場合、テストとexamples/
フォルダ内の例もいくつか追加してください。 - 新しいテーマを追加する場合はprism-themesにアクセスしてください。
ご協力いただきありがとうございます!!
ソフトウェア要件
Prism は ほとんどすべてのブラウザ と Node.js バージョンで動作しますが、寄与するには以下のソフトウェアが必要です
- Node.js >= 10.x
- npm >= 6.x