以前、シンタックスハイライトのプラグインを紹介しましたが、
私は今まで、コードの表示はタグを使用していました。タグは、Preformatted Text (整形済みテキスト) の略で、で囲 …
実際使ってみるとかなり重くて都合が悪かったので、プラグインなしでシンタックスハイライト表示を試みる事にしました。
いくつかみたのですが、「Prism.js」が良さげだったので、こちらを導入しました。
以下、方法の備忘録。
Prism.js のダウンロード
公式サイトからダウンロードします。
Prism is a lightweight, extensible syntax highlighter, built with modern web standards in mind. It’s used in millions of websites, including some of those you visit daily.
テーマ を選択
Theme は、
- Default
- Dark
- Funky
- Okaidia
- Twilight
- Coy
- Solarized light
- Tomorrow night
から選べます。
※ 3/31/2023追記:最初はOKAIDIAを使用していましたが、現在はTOMORROW NIGHTを使用しています。
必要な言語を選択
たくさんの種類の言語を扱っていますが、全部選択すると重くなるので、必要最低限を選択。
デフォルトは、下記。
- Markup + HTML + XML + SVG + TathML + SSML + Atom + RSS
- CSS
- C-like
- JavaScript
私はこれに下記3つを追加しました。
- R
- Python
- Regex
プラグインを選択
プラグインもたくさんありますが、必要だと思うもののみ。
私は下記を選択。
- Line Highlight
- Nine Numbers
- WebPlatform Docs
- File HIghlight
- Highlight Keywords
- Command Line
- Toolbar
- Copy to Clipboard Button
ダウンロード
選択が終わったらダウンロード。
JS と CSS の2つをダウンロードします。
JS ファイルと CSS ファイルのアップロード
ダウンロードしたファイルをサーバーにアップロードします。
私は、わかりやすいように子テーマの中にいれました。
私はエックスサーバーを使っているので、下記方法でアップロード。
エックスサーバーのファイルマネージャーにログイン
↓
ドメイン名 > public_html > wp-content > themes > 子テーマ
function.php に追記
prism.js と prism.css を読み込みの方法はいくつかあるのですが、私は子テーマの function.php の一番下に、下記を追記しました。
// prism.jsの有効化 Start
function my_prism() {
wp_enqueue_style( 'prism-style', get_stylesheet_directory_uri() . '/prism.css' );
wp_enqueue_script( 'prism-script', get_stylesheet_directory_uri() . '/prism.js', array('jquery'), '1.9.0', true );
}
add_action( 'wp_enqueue_scripts', 'my_prism' );
// prism.jsの有効化 End
使い方
記事中でこの機能を使うときは、
<pre>
タグと
<code>
タグでコードを括ればOK。
言語の指定
<code class="language-言語>
という感じに、codeタグの中で言語を指定します。
<pre>
<code class="language-css">
.chart{
background-color: #fafafa;
margin: 40px 0px;
padding: 30px 30px 5px 30px;
font-weight:600
}
</code>
</pre>
output
.chart{
background-color: #fafafa;
margin: 40px 0px;
padding: 30px 30px 5px 30px;
font-weight:600
}
言語名 | 指定文字列 |
---|---|
HTML SML SVG MatdML |
language-markup language-html language-xml language-svg language-matdml |
CSS | language-css |
javascript | language-javascript language-js |
R | language-R |
Python | language-py language-python |
C | language-c |
C++ | language-cpp |
C# | language-csharp language-dotnet |
Docker | language-docker language-dockerfile |
Git | language-git |
PowerShell | language-powershell |
下記から Example を確認できます。
Prism is a lightweight, extensible syntax highlighter, built with modern web standards in mind. It’s used in millions of websites, including some of those you visit daily.
行番号を追加
プラグインで「Line Numbers」をいれていると、行番号を追加することが可能です。
<pre class="line-numbers">
で指定します。
<pre class="line-numbers">
<code class="language-r">
x <- 2 + 3
install.packages(knitr)
y <- 1:20 plot(y)
</code></pre>
output
x <- 2 + 3
x
install.packages(knitr)
y <- 1:20 plot(y)
行のハイライト
指定した行をハイライトします。
<pre data-line = "行番号">
で指定します。
複数行をつなげるときは、「,」でつなぎ、連続する場合は、「-」でつなぎます。
<pre data-line = "1,3">
<code class="language-r">
x <- 2 + 3
install.packages(knitr)
y <- 1:20 plot(y)
</code></pre>
output
x <- 2 + 3
install.packages(knitr)
y <- 1:20 plot(y)
行番号 + 行のハイライト
行番号を追加し、指定した行をハイライトする場合は、
<pre class="line-numbers" data-line = "1,3">
<code class="language-r">
x <- 2 +3
install.packages(knitr)
y <- 1:20 plot(y)
</code></pre>
output
x <- 2 + 3
install.packages(knitr)
y <- 1:20 plot(y)
記述の注意点
<pre>タグの中に「<」 や 「>」 を入れる場合は、コードそのものと勘違いされるので、
「<」「>」 でエスケープする必要があります。
※ 3/31/2023追記:いつのまにか <でエスケープしなくても大丈夫なようになっていました。
References
HTML内でソースコードを見やすくする為に以前からSyntaxHighlighterを使用していましたが、今回…
Prism.jsを使う事でpreタグ・codeタグでのソースコードの埋め込みの表示に対してシンタックスハイライトで色付けすることが出来ます。導入方法と使い方を解説していきます!
今回は軽量シンタックスハイライトライブラリ、Prism.jsの使い方を紹介します。Prism.jsは数あるWordPressのハイライトプラグインよりもかなり軽量で綺麗です。「ハイライトライブラリって種類が多いしどれが一番いいのかわからない
ソースコードを綺麗に表示してくれる、シンタックスハイライター。 Prism.jsを使うと、こんな感じに表示することが出来ます! /*フォントの指定*/ @font-face-none { ...