8 | | * [http://www.codento.com/people/mtr/genscript/ GNU Enscript] |
9 | | * [http://silvercity.sourceforge.net/ SilverCity] |
10 | | * [http://pygments.pocoo.org/ Pygments] (0.10 では対応したプラグインが必要です。 [#AboutPygments 以下] を参照してください。) |
11 | | |
12 | | シンタックスハイライトを有効にするためには、ただこれらのパッケージをインストールするだけです。追加のコンフィグレーションは必要ありませんが、カラーリングを修正するためには、 `trac/htdocs/css/code.css` を参照してください。 |
13 | | |
14 | | Trac がインストールされたライブラリを検出できない場合は、 Trac のロギングを使用してみてください。実際に Trac から !SilverCity 0.9.6 が壊れているように見えます。 0.9.7 か 0.9.5 を使用して下さい。 http://trac.edgewall.org/wiki/TracFaq#why-is-my-css-code-not-being-highlighted-even-though-i-have-silvercity-installed |
15 | | |
16 | | シンタックスハイライトを使用するとき、可能な限り Trac は自動的に Enscript よりも !SilverCity のハイライトを優先します (下の注を参照のこと)。 |
17 | | |
18 | | どちらのパッケージも使用できないときは、 Trac はプレーンテキストでデータを表示します。 |
19 | | |
20 | | '''Note:''' Enscript はとても多くのプログラミング言語に対応しますが、 !SilverCity はライブラリであり、外部プロセスで実行されないので、 Enscript よりも処理が速いです。 |
21 | | |
22 | | === !SilverCity について === #AboutSilverCity |
23 | | !SilverCity は [http://www.scintilla.org/ Scintilla] の構文解析エンジンを使用します。 Scintilla は !SilverCity が実装しているよりもより多くのプログラミング言語に対応しています。もし、 !SilverCity に Scintilla が対応しているプログラミング言語を追加したいならば、そんなに難しいことではありません。どのようにすればいいのかは、 [http://trac.edgewall.org/wiki/SilverCityAddLanguage SilverCityAddLanguage] を参照してください。 |
24 | | |
25 | | === Pygments について === #AboutPygments |
26 | | |
27 | | Trac 0.11 からは [http://pygments.org/ Pygments] が新しいデフォルトのハイライトライブラリになります。 Pygments は Python で実装され、非常に高速で、拡張しやすく、 [http://pygments.org/docs/ 良いドキュメント] があるハイライトライブラリです。 Enscript や Scintilla ほど多くの言語をサポートしませんが総合的な出力品質は、はるかに良いです。 |
28 | | |
29 | | Pygments を Trac 0.11 で使用するためには、 Pygments 0.6 以上をインストールしなければなりません (また [mimeviewer] 配下にオプション pygments_default_style = colorful を追加してください)。 Trac 0.10 でも Pygments を使用したいのであれば、 trac hacks から [http://trac-hacks.org/wiki/TracPygmentsPlugin TracPygmentsPlugin] をインストールしなければなりません。なんらかのバグを発見した場合は [http://dev.pocoo.org/projects/pygments/ Pygments の Trac] にチケットを登録してください。 |
30 | | |
31 | | Pygments の構文解析エンジンが対応するリストは毎週のように更新されています。以下のリストが古い可能性は非常に高いです。 正確には [http://pygments.org/docs/lexers/ supported lexers] のページを参照してください。 |
| 8 | * [http://pygments.pocoo.org/ Pygments], by far the preferred system, as it covers a wide range of programming languages and other structured texts and is actively supported |
| 9 | * [http://www.codento.com/people/mtr/genscript/ GNU Enscript], commonly available on Unix but somewhat unsupported on Windows |
| 10 | * [http://silvercity.sourceforge.net/ SilverCity], legacy system, some versions can be [http://trac.edgewall.org/wiki/TracFaq#why-is-my-css-code-not-being-highlighted-even-though-i-have-silvercity-installed problematic] |
36 | | || || !SilverCity || Enscript || Pygments || |
37 | | || Ada || || X || || |
38 | | || Asm || || X || || |
39 | | || Apache Conf (htaccess)) || || || X || |
40 | | || * ASP || X || X || || |
41 | | || * C || X || X || X || |
42 | | || * C# || || X(2) || X || |
43 | | || * C++ || X || X || X || |
44 | | || * Java || X(4)|| X || X || |
45 | | || Awk || || X || || |
46 | | || Boo || || || X || |
47 | | || CSS || X || || X || |
48 | | || Python Doctests || || || X || |
49 | | || Diff || || X || X || |
50 | | || Eiffel || || X || || |
51 | | || Elisp || || X || || |
52 | | || Fortran || || X(3) || || |
53 | | || Haskell || || X || X || |
54 | | || Genshi || || || X || |
55 | | || HTML || X || X || X || |
56 | | || IDL || || X || || |
57 | | || INI || || || X || |
58 | | || Javascript || X || X || X || |
59 | | || Lua || || || X || |
60 | | || m4 || || X || || |
61 | | || Makefile || || X || X || |
62 | | || Mako || || || X || |
63 | | || Matlab || || X (5) || || |
64 | | || Mygthy || || || X || |
65 | | || Objective-C|| || X || || |
66 | | || OCaml || || || X || |
67 | | || Pascal || || X || X || |
68 | | || * Perl || X || X || X || |
69 | | || * PHP || X || || X || |
70 | | || PSP || X || || || |
71 | | || Pyrex || || X || || |
72 | | || * Python || X || X || X || |
73 | | || * Ruby || X || X (1) || X || |
74 | | || Scheme || || X || X || |
75 | | || Shell || || X || X || |
76 | | || Smarty || || || X || |
77 | | || SQL || X || X || X || |
78 | | || Troff || || X || X || |
79 | | || TCL || || X || || |
80 | | || Tex || || X || X || |
81 | | || Verilog || X(4) || X || || |
82 | | || VHDL || || X || || |
83 | | || Visual Basic |||| X || X || |
84 | | || VRML || || X || || |
85 | | || XML || X || || X || |
99 | | == その他のソフトウェア == #ExtraSoftware |
100 | | * GNU Enscript -- http://directory.fsf.org/GNU/enscript.html |
101 | | * GNU Enscript for Windows -- http://gnuwin32.sourceforge.net/packages/enscript.htm |
102 | | * !SilverCity -- http://silvercity.sf.net/ |
103 | | * Pygments -- http://pygments.org/ |
| 28 | === Known MIME Types |
| 29 | |
| 30 | [[KnownMimeTypes]] |
| 31 | |
| 32 | Note that the rich content may be directly //rendered// instead of syntax highlighted. This usually depends on which auxiliary packages are installed and on which components are activated in your setup. For example a `text/x-rst` document will be rendered via `docutils` if it is installed and the `trac.mimeview.rst.ReStructuredTextRenderer` is not disabled, and will be syntax highlighted otherwise. |
| 33 | |
| 34 | In a similar way, a document with the mimetype `text/x-trac-wiki` is rendered using the Trac wiki formatter, unless the `trac.mimeview.api.WikiTextRenderer` component is disabled. |
| 35 | |
| 36 | HTML documents are directly rendered only if the `render_unsafe_html` settings are enabled in the TracIni (those settings are present in multiple sections, as there are different security concerns depending where the document comes from). If you want to ensure that an HTML document gets syntax highlighted and not rendered, use the `text/xml` mimetype. |
| 37 | |
| 38 | If mimetype such as 'svn:mime-type' is set to 'text/plain', there is no coloring even if file is known type like 'java'. |
| 39 | |
| 40 | === List of Languages Supported, by Highlighter #language-supported |
| 41 | |
| 42 | This list is only indicative. |
| 43 | |
| 44 | || ||= !SilverCity =||= Enscript =||= Pygments =|| |
| 45 | || Ada || || ✓ || || |
| 46 | || Asm || || ✓ || || |
| 47 | || Apache Conf || || || ✓ || |
| 48 | || ASP || ✓ || ✓ || || |
| 49 | || C || ✓ || ✓ || ✓ || |
| 50 | || C# || || ✓ ^[#a1 (1)]^ || ✓ || |
| 51 | || C++ || ✓ || ✓ || ✓ || |
| 52 | || CMake || ? || ? || ✓ || |
| 53 | || Java || ✓ ^[#a2 (2)]^ || ✓ || ✓ || |
| 54 | || Awk || || ✓ || || |
| 55 | || Boo || || || ✓ || |
| 56 | || CSS || ✓ || || ✓ || |
| 57 | || Python Doctests || || || ✓ || |
| 58 | || Diff || || ✓ || ✓ || |
| 59 | || Eiffel || || ✓ || || |
| 60 | || Elisp || || ✓ || || |
| 61 | || Fortran || || ✓ ^[#a1 (1)]^ || ✓ || |
| 62 | || Haskell || || ✓ || ✓ || |
| 63 | || Genshi || || || ✓ || |
| 64 | || HTML || ✓ || ✓ || ✓ || |
| 65 | || IDL || || ✓ || || |
| 66 | || INI || || || ✓ || |
| 67 | || Javascript || ✓ || ✓ || ✓ || |
| 68 | || Lua || || || ✓ || |
| 69 | || m4 || || ✓ || || |
| 70 | || Makefile || || ✓ || ✓ || |
| 71 | || Mako || || || ✓ || |
| 72 | || Matlab ^[#a3 (3)]^ || || ✓ || ✓ || |
| 73 | || Mygthy || || || ✓ || |
| 74 | || Objective-C || || ✓ || ✓ || |
| 75 | || OCaml || || || ✓ || |
| 76 | || Pascal || || ✓ || ✓ || |
| 77 | || Perl || ✓ || ✓ || ✓ || |
| 78 | || PHP || ✓ || || ✓ || |
| 79 | || PSP || ✓ || || || |
| 80 | || Pyrex || || ✓ || || |
| 81 | || Python || ✓ || ✓ || ✓ || |
| 82 | || Ruby || ✓ || ✓ ^[#a1 (1)]^ || ✓ || |
| 83 | || Scheme || || ✓ || ✓ || |
| 84 | || Shell || || ✓ || ✓ || |
| 85 | || Smarty || || || ✓ || |
| 86 | || SQL || ✓ || ✓ || ✓ || |
| 87 | || Troff || || ✓ || ✓ || |
| 88 | || TCL || || ✓ || || |
| 89 | || Tex || || ✓ || ✓ || |
| 90 | || Verilog || ✓ ^[#a2 (2)]^ || ✓ || || |
| 91 | || VHDL || || ✓ || || |
| 92 | || Visual Basic || || ✓ || ✓ || |
| 93 | || VRML || || ✓ || || |
| 94 | || XML || ✓ || || ✓ || |
| 95 | |
| 96 | |
| 97 | |
| 98 | ''[=#a1 (1)] Not included in the Enscript distribution. Additional highlighting rules can be obtained for |
| 99 | [http://neugierig.org/software/ruby/ Ruby], |
| 100 | [http://wiki.hasno.info/index.php/Csharp.st C#], |
| 101 | [http://wiki.hasno.info/index.php/F90.st Fortran 90x/2003] |
| 102 | |
| 103 | ''[=#a2 (2)] since Silvercity 0.9.7 released on 2006-11-23 |
| 104 | |
| 105 | ''[=#a3 (3)] By default `.m` files are considered Objective-C files. In order to treat `.m` files as MATLAB files, add "text/matlab:m" to the "mime_map" setting in the [wiki:TracIni#mimeviewer-section "[mimeviewer] section of trac.ini"]. |
| 106 | |
| 107 | == Extra Software == |
| 108 | * GNU Enscript — http://directory.fsf.org/GNU/enscript.html |
| 109 | * GNU Enscript for Windows — http://gnuwin32.sourceforge.net/packages/enscript.htm |
| 110 | * !SilverCity — http://silvercity.sf.net/ |
| 111 | * **Pygments — http://pygments.org/** |