Redmineでシンタックスハイライトを行うには

RedmineはチケットやWikiに記述されたソースコードの予約語や定数を強調表示して読みやすくするシンタックスハイライト機能を備えています。

シンタックスハイライトを行うには、ソースコードの周囲に専用の記述を行います。記述方法は「テキスト書式」(管理→設定→全般)の設定でTextileとMarkdownのどちらを選択しているかにより異なります。

Textileの場合

ソースコードをcodeタグで囲み、さらにcodeタグの外側をpreタグで囲みます。codeタグのclass属性で言語名を指定します。以下の例ではC言語を指定しています。

<pre><code class="c">
#include <stdio.h>
 
int main(void) {
    printf("Hello, World!\n");
 
    return 0;
}
</code></pre>

Markdownの場合

コードブロックを指定する ``` のすぐ後でシンタックスハイライト対象の言語名指定します。

``` c
#include <stdio.h>
 
int main(void) {
    printf("Hello, World!\n");
 
    return 0;
}
```

ツールバーの利用

ツールバーのコードハイライトボタンを使うと、現在のテキスト書式(TextileまたはMarkdown)のためのシンタックスハイライトのための記述を簡単に挿入できます。

シンタックスハイライトの対応言語

Redmine 4.1の場合、シンタックスハイライトで指定できる言語は以下の通りです。さらに詳しい情報は Redmineのシンタックスハイライトの対応形式 をご覧ください。

abap, actionscript, ada, apache, apex, apiblueprint, applescript, armasm, awk, batchfile, bbcbasic, biml, bpf, brainfuck, bsl, c, ceylon, cfscript, clean, clojure, cmake, cmhg, coffeescript, common_lisp, conf, console, coq, cpp, crystal, csharp, css, csvs, cuda, cython, d, dart, diff, digdag, docker, dot, eex, eiffel, elixir, elm, epp, erb, erlang, escape, factor, fortran, fsharp, gdscript, gherkin, glsl, go, gradle, graphql, groovy, hack, haml, handlebars, haskell, haxe, hcl, hocon, hql, html, http, hylang, idlang, igorpro, ini, io, irb, java, javascript, jinja, jsl, json, json-doc, jsonnet, jsp, jsx, julia, kotlin, lasso, liquid, literate_coffeescript, literate_haskell, llvm, lua, lustre, lutin, m68k, magik, make, markdown, mason, mathematica, matlab, minizinc, moonscript, mosel, msgtrans, mxml, nasm, nginx, nim, nix, objective_c, ocaml, openedge, opentype_feature_file, pascal, perl, php, plaintext, plist, powershell, praat, prolog, prometheus, properties, protobuf, puppet, python, q, qml, r, racket, reasonml, robot_framework, ruby, rust, sas, sass, scala, scheme, scss, sed, shell, sieve, slim, smalltalk, smarty, sml, sparql, sqf, sql, supercollider, swift, tap, tcl, terraform, tex, toml, tsx, tulip, turtle, twig, typescript, vala, vb, verilog, vhdl, viml, vue, wollok, xml, xojo, xpath, xquery, yaml