Cocoonでソースコードをハイライト表示する

ITブログ

WordPressのテーマ「Cocoon」にはhighlight.jsが組み込まれており、ソースコードのハイライト表示ができます。ここでは、Cocoonの標準機能を使用したソースコードのハイライト表示のやり方を紹介します。プラグインの導入は不要です。

事前準備(Cocoonの設定)

WordPressの管理画面から「Cocoon設定」を開き、以下の設定を行います。

  1. 「コード」タブを選択
  2. 「ソースコードをハイライト表示」のチェックをON
  3. 「行番号表示」はお好みでONに。ONにすると行番号が表示されます。
  4. ライブラリは「軽量版」「全て」のどちらかを選択。
    メジャーな言語は「軽量版」に含まれていますが、マイナーな言語を使う場合は「全て」にチェックを入れます。「軽量版」に含まれている言語は、ページ下の一覧を見てください。
  5. 「変更をまとめて保存」ボタンを押し、設定を完了。
cocoonの設定画面でハイライトを設定

記事の編集

ソースコードをハイライト表示するには、ブロックエディタで「コード」ブロックを挿入します。

コードブロック挿入後にソースコードを書き、ブロックの設定で「言語」の設定をします。

適した言語がない場合は「高度な設定」→「追加cssクラス」にhighlight.jsで定義されている言語のAliasを指定することで指定言語のハイライト表示が可能になります。

cssクラスに指定可能なAliasの一覧は下の表を見てください。

ハイライト表示可能な言語の一覧

highlight.js の languages フォルダにあるソースコード名が class に指定する言語の名前になっています。

highlight.js:https://github.com/highlightjs/highlight.js/tree/main/src/languages

highlight.jsでサポートしている言語は以下の通りです。(2022.01.28 時点)
「言語」は言語の名称、「Alias」はブロックエディタの追加CSSに指定可能な名称、「軽量版に含まれる」が○のものはCocoon設定のライブラリ「軽量版」に含まれる言語です。○が付いていない言語を使いたい場合は、Cocoon設定でライブラリに「全て」を選択してください。

言語の一覧(2022.01.28 時点)

言語Alias(Classに指定する文字列)軽量版に含まれる
1C1c
4D4d
ABAPsap-abap, abap
ABNFabnf
Access logsaccesslog
Adaada
Arduino (C++ w/Arduino libs)arduino, ino
ARM assemblerarmasm, arm
AVR assembleravrasm
ActionScriptactionscript, as
Alan IFalan, i
Alanln
AngelScriptangelscript, asc
Apacheapache, apacheconf
AppleScriptapplescript, osascript
Arcadearcade
AsciiDocasciidoc, adoc
AspectJaspectj
AutoHotkeyautohotkey
AutoItautoit
Awkawk, mawk, nawk, gawk
Bashbash, sh, zsh
Basicbasic
BBCodebbcode
Blade (Laravel)blade
BNFbnf
Brainfuckbrainfuck, bf
C#csharp, cs
Cc, h
C++cpp, hpp, cc, hh, c++, h++, cxx, hxx
C/ALcal
Cache Object Scriptcos, cls
CMakecmake, cmake.in
Coqcoq
CSPcsp
CSScss
Cap’n Protocapnproto, capnp
Chaoschaos, kaos
Chapelchapel, chpl
Cisco CLIcisco
Clojureclojure, clj
CoffeeScriptcoffeescript, coffee, cson, iced
CpcdosC+cpc
Crmshcrmsh, crm, pcmk
Crystalcrystal, cr
cURLcurl
Cypher (Neo4j)cypher
Dd
Dafnydafny
Dartdart
Delphidpr, dfm, pas, pascal
Diffdiff, patch
Djangodjango, jinja
DNS Zone filedns, zone, bind
Dockerfiledockerfile, docker
DOSdos, bat, cmd
dsconfigdsconfig
DTS (Device Tree)dts
Dustdust, dst
Dylandylan
EBNFebnf
Elixirelixir
Elmelm
Erlangerlang, erl
Excelexcel, xls, xlsx
Extemporeextempore, xtlang, xtm
F#fsharp, fs
FIXfix
Fortranfortran, f90, f95
G-Codegcode, nc
Gamsgams, gms
GAUSSgauss, gss
GDScriptgodot, gdscript
Gherkingherkin
Glimmer and EmberJShbs, glimmer, html.hbs, html.handlebars, htmlbars
GN for Ninjagn, gni
Gogo, golang
Grammatical Frameworkgf
Gologolo, gololang
Gradlegradle
Groovygroovy
GSQLgsql
HTML, XMLxml, html, xhtml, rss, atom, xjb, xsd, xsl, plist, svg
HTTPhttp, https
Hamlhaml
Handlebarshandlebars, hbs, html.hbs, html.handlebars
Haskellhaskell, hs
Haxehaxe, hx
High-level shader languagehlsl
Hyhy, hylang
Ini, TOMLini, toml
Inform7inform7, i7
IRPF90irpf90
JSONjson
Javajava, jsp
JavaScriptjavascript, js, jsx
Joliejolie, iol, ol
Juliajulia, julia-repl
Kotlinkotlin, kt
LaTeXtex
Leafleaf
Leanlean
Lassolasso, ls, lassoscript
Lessless
LDIFldif
Lisplisp
LiveCode Serverlivecodeserver
LiveScriptlivescript, ls
Lualua
Makefilemakefile, mk, mak, make
Markdownmarkdown, md, mkdown, mkd
Mathematicamathematica, mma, wl
Matlabmatlab
Maximamaxima
Maya Embedded Languagemel
Mercurymercury
mIRC Scripting Languagemirc, mrc
Mizarmizar
MKBmkb
Mojoliciousmojolicious
Monkeymonkey
Moonscriptmoonscript, moon
N1QLn1ql
NSISnsis
Nevernever
Nginxnginx, nginxconf
Nimnim, nimrod
Nixnix
Object Constraint Languageocl
OCamlocaml, ml
Objective Cobjectivec, mm, objc, obj-c, obj-c++, objective-c++
OpenGL Shading Languageglsl
OpenSCADopenscad, scad
Oracle Rules Languageruleslanguage
Oxygeneoxygene
PFpf, pf.conf
PHPphp
Papyruspapyrus, psc
Parser3parser3
Perlperl, pl, pm
Pine Scriptpine, pinescript
Plaintextplaintext, txt, text
Ponypony
PostgreSQL & PL/pgSQLpgsql, postgres, postgresql
PowerShellpowershell, ps, ps1
Processingprocessing
Prologprolog
Propertiesproperties
Protocol Buffersprotobuf
Puppetpuppet, pp
Pythonpython, py, gyp
Python profiler resultsprofile
Python REPLpython-repl, pycon
Q#qsharp
Qk, kdb
QMLqml
Rr
Razor CSHTMLcshtml, razor, razor-cshtml
ReasonMLreasonml, re
Rebol & Redredbol, rebol, red, red-system
RenderMan RIBrib
RenderMan RSLrsl
RiScriptrisc, riscript
Roboconfgraph, instances
Robot Frameworkrobot, rf
RPM spec filesrpm-specfile, rpm, spec, rpm-spec, specfile
Rubyruby, rb, gemspec, podspec, thor, irb
Rustrust, rs
SASSAS, sas
SCSSscss
SQLsql
STEP Part 21p21, step, stp
Scalascala
Schemescheme
Scilabscilab, sci
Shape Expressionsshexc
Shellshell, console
Smalismali
Smalltalksmalltalk, st
SMLsml, ml
Soliditysolidity, sol
Splunk SPLspl
Stanstan, stanfuncs
Statastata
Structured Textiecst, scl, stl, structured-text
Stylusstylus, styl
SubUnitsubunit
Supercollidersupercollider, sc
Sveltesvelte
Swiftswift
Tcltcl, tk
Terraform (HCL)terraform, tf, hcl
Test Anything Protocoltap
Thriftthrift
TPtp
Transact-SQLtsql
Twigtwig, craftcms
TypeScripttypescript, ts
Unicorn Rails logunicorn-rails-log
VB.Netvbnet, vb
VBAvba
VBScriptvbscript, vbs
VHDLvhdl
Valavala
Verilogverilog, v
Vim Scriptvim
X#xsharp, xs, prg
X++axapta, x++
x86 Assemblyx86asm
XLxl, tao
XQueryxquery, xpath, xq
YAMLyml, yaml
ZenScriptzenscript, zs
Zephirzephir, zep

コメント

タイトルとURLをコピーしました