blogdownでプログラムをSyntax highlightingする
前の記事で、何行かのPythonプログラムを示しました。その際、これまでのブログの設定では、単にフォントがタイプライター体1になるだけで、関数や引数、演算子などの色付け、いわゆるハイライト (Syntax highlighting) はされませんでした。
文字 (プログラム) としてはもちろん何の問題もないのですが、やはりプログラムがハイライトされていたほうが技術ブログっぽい🤪ので、どうにかできないか調べていました。
時期によっていろいろなアプローチがあったようで、やや古い記事が多く引っかかりました。日本語の記事が出てこないのは、あまりニーズがないのでしょうか。2
- Syntax Highlighting in Blogdown; a very specific solution | A stats website
- Adding Syntax Highlighting to Blogdown Posts | Amber Thomas Data Portfolio & Blog
特に2つ目はめちゃくちゃ面倒で、「ここまでしなきゃいけないならハイライトいらんわ」となっていたのですが、Stack Overflowに今年投稿された以下のQAでは、とても簡単にできることがわかりました。
何と言ってもblogdownパッケージの開発者のYihui Xie氏が回答しているので「正しい」はずです。…ですが、blogdownのフォルダーにある .Rprofile
ファイルに options(blogdown.method = "markdown")
と追記する方法は、私の環境ではハイライトされませんでした。
もうひとつ、.Rprofile
ファイルにオプションを指定せず、記事ファイルの拡張子を .Rmarkdown
とすると、常に .markdown
ファイルが生成されます。(1.6 R Markdown vs. Markdown | blogdown: Creating Websites with R Markdown) こちらは、Visual Studio Codeでプレビューもされ、ハイライトも期待したとおりになされました。
実際に、ちょっと例を示してみましょう。今日、r-wakalang3にズレた投稿をしてしまったプログラムです。実行はしていません。
|
|
(たぶん) ハイライトされていると思います。Rのプログラムも書いてみます。
(たぶん) ハイライトされていると思います (2回目)。こちらは、実行もされてグラフィックスが表示されているはずです。これで、技術ブログっぽくなりました🤪
-
お使いのブラウザでどう表示されるかは環境依存でしょうが。 ↩︎
-
Syntax Highlightingのニーズか、blogdownでブログを書くニーズかわかりませんが。 ↩︎
-
r-wakalangは、RユーザーのSlackコミュニティです。 ↩︎