ページ内ナビ
概要
Highlight.jsはコードの構文を色分けするJavaScriptライブラリです。ブラウザとサーバーの両方で動作し、フレームワークへ依存せず、言語を明示してhighlightする方法と入力内容から自動判定する方法を提供します。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
pre・code要素をまとめて検出しブラウザ上でハイライトする
stylesheetとライブラリを読み込みhljs.highlightAll()を呼ぶと、<pre><code>内のコードを検出してhighlightします。既知の言語はlanguage-htmlのようなclassで明示できます。
出典:[1]
Node.jsで言語指定と自動判定を使い分ける
サーバー側ではhighlight()へ言語名を渡す方法と、highlightAuto()で入力から言語を推定する方法を利用できます。ハイライト済みHTMLは戻り値のvalueから取得します。
出典:[1]
必要な言語だけ読み込み配布サイズを小さくする
トップレベルのpackageでは全言語を利用できますが、highlight.js/lib/commonでは主要言語だけをまとめた構成を読み込めます。さらに必要な言語定義だけ登録する構成も選べます。
出典:[1]
向いている用途
技術文書・コードビューア・記事のコードブロックを統一して表示したい場合に向く
静的な技術文書、Markdownから生成したコードブロック、サーバー側でレンダリングしたコード片などへ共通のハイライト処理を加えたい用途に適します。
出典:[1]
導入前の確認
参考にした公式資料
- [1]Highlight.js 11.12.0 README(2026-10-05)
- [2]Highlight.js 11.12.0 package metadata(2026-10-05)
- [3]Highlight.js 11.12.0 release(2026-10-05)
- [4]Highlight.js BSD-3-Clause license(2026-10-05)
編集部からの補足
既知の言語を明示して使う方法と、入力から自動判定する方法を同じAPIで選べるのが扱いやすい点です。全言語を読み込む必要がない画面ではlib/commonや個別の言語登録を使い、配布サイズと初期化コストを抑える構成も検討できます。
3ステップで試す
- 1
Node.js要件を確認してHighlight.js 11.12.0を導入する
確認対象の安定版を一時ディレクトリへ固定し、既存プロジェクトへ影響しない状態で試します。
node -e 'if (Number(process.versions.node.split(".")[0]) < 12) throw new Error("Highlight.js 11.12.0 requires Node.js >= 12")' && demo=$(mktemp -d "${TMPDIR:-/tmp}/highlightjs.XXXXXX") && cd "$demo" && npm init -y >/dev/null && npm install --save-exact highlight.js@11.12.0 - 2
XMLを明示指定して構文をハイライトするスクリプトを作る
READMEのNode.js例に沿って、言語を自動判定せずXMLとして固定してハイライトします。
printf "%s\n" "const hljs = require('highlight.js/lib/common');" "const result = hljs.highlight('<h1>Hello</h1>', { language: 'xml' });" "console.log(result.value);" "if (!result.value.includes('hljs-tag')) throw new Error('highlight output missing');" > demo.cjs - 3
変換結果を実行して確認する
HTML形式のハイライト結果が出力され、
hljs-tagを含むことをスクリプト内で確認します。node demo.cjs
成長
成長の推移 · 直近30日
25,005 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 0
- Open PR
- 54
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
カテゴリ
GitHubデータ
GitHubのデータGitHubの詳細データを見る
GitHub Topics
- syntax-highlighting
- language-grammars
- highlighting
- syntax-highlighter
- javascript
- Stars
- 25,005
- Forks
- 3,752
- Watchers
- 296
- Open Issues
- 65
- Contributors
- 415
- 所有者種別
- Organization
- 主要言語
- JavaScript
- ライセンス
- BSD-3-Clause
- リポジトリ最終更新
- 2026/09/06
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Video.js39,907 Stars
共通タグ 3件 · 同じ言語
HTML5 videoに共通のプレイヤーUIとAPIを載せ、HLS・DASHを含むWeb動画再生を扱う
JavaScript - SortableJS31,186 Stars
共通タグ 3件 · 同じ言語
リスト要素を同一・別リスト間でドラッグ&ドロップ並べ替えし、タッチ操作にも対応する
JavaScript - localForage25,809 Stars
共通タグ 3件 · 同じ言語
IndexedDBなどのブラウザ永続化をlocalStorage風の非同期APIで扱う
JavaScript - PhotoSwipe25,270 Stars
共通タグ 3件 · 同じ言語
画像ギャラリーをlightboxで拡大表示し、swipe・zoom・dynamic importをモバイルとデスクトップで扱う
JavaScript - SweetAlert218,098 Stars
共通タグ 3件 · 同じ言語
alert・confirm・promptをWAI-ARIA対応のpopupへ置き換え、Promiseで結果を受け取る
JavaScript - Tippy.js12,240 Stars
共通タグ 3件 · 同じ言語
tooltip・popover・dropdownをPopperベースで配置し、hover・focus・click操作へ追加する
JavaScript
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。