Redmineでシンタックスハイライトを行うには
RedmineはチケットやWikiに記述されたソースコードの予約語や定数を強調表示して読みやすくするシンタックスハイライト機能を備えています。
シンタックスハイライトを行うには、ソースコードの周囲に専用の記述を行います。記述方法は「テキスト書式」(管理→設定→全般)の設定でTextileとMarkdownのどちらを選択しているかにより異なります。
Markdownの場合
コードブロックを指定する ```
のすぐ後でシンタックスハイライト対象の言語名指定します。
``` c #include <stdio.h> int main(void) { printf("Hello, World!\n"); return 0; } ```
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またはTextile)のためのシンタックスハイライトのための記述を簡単に挿入できます。
シンタックスハイライトの対応言語
Redmine 6.0の場合、シンタックスハイライトで指定できる言語は以下の通りです。さらに詳しい情報は Redmineのシンタックスハイライトの対応形式 をご覧ください。
abap, actionscript, ada, apache, apex, apiblueprint, applescript, armasm, augeas, awk, batchfile, bbcbasic, bibtex, biml, bpf, brainfuck, brightscript, bsl, c, ceylon, cfscript, cisco_ios, clean, clojure, cmake, cmhg, cobol, codeowners, coffeescript, common_lisp, conf, console, coq, cpp, crystal, csharp, css, csvs, cuda, cypher, cython, d, dafny, dart, datastudio, diff, digdag, docker, dot, ecl, eex, eiffel, elixir, elm, email, epp, erb, erlang, escape, factor, fluent, fortran, freefem, fsharp, gdscript, ghc-cmm, ghc-core, gherkin, glsl, go, gradle, graphql, groovy, hack, haml, handlebars, haskell, haxe, hcl, hlsl, hocon, hql, html, http, hylang, idlang, idris, iecst, igorpro, ini, io, irb, isabelle, isbl, j, janet, java, javascript, jinja, jsl, json, json-doc, json5, jsonnet, jsp, jsx, julia, kotlin, lasso, lean, liquid, literate_coffeescript, literate_haskell, livescript, llvm, lua, lustre, lutin, m68k, magik, make, markdown, mason, mathematica, matlab, meson, minizinc, mojo, moonscript, mosel, msgtrans, mxml, nasm, nesasm, nginx, nial, nim, nix, objective_c, objective_cpp, ocaml, ocl, openedge, opentype_feature_file, p4, pascal, perl, php, plaintext, plist, plsql, postscript, powershell, praat, prolog, prometheus, properties, protobuf, puppet, python, q, qml, r, racket, reasonml, rego, rescript, rml, robot_framework, ruby, rust, sas, sass, scala, scheme, scss, sed, shell, sieve, slice, slim, smalltalk, smarty, sml, sparql, sqf, sql, ssh, stan, stata, supercollider, svelte, swift, systemd, syzlang, syzprog, tap, tcl, terraform, tex, toml, tsx, ttcn3, tulip, turtle, twig, typescript, vala, vb, vcl, velocity, verilog, vhdl, viml, vue, wollok, xml, xojo, xpath, xquery, yaml, yang, zig