Prism

Build Status npm

Prismは軽量で堅牢かつエレガントな構文ハイライトライブラリです。これはDabbletのスピンオフプロジェクトです。

prismjs.comでさらに詳しく知ることができます。

なぜ別の構文ハイライター?

Prism用のテーマは増えました!

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

翻訳