Changes between Initial Version and Version 1 of TracSyntaxColoring


Ignore:
Timestamp:
Apr 10, 2015, 1:03:53 PM (10 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TracSyntaxColoring

    v1 v1  
     1= ソースコードのシンタックスカラーリング = #SyntaxColoringofSourceCode
     2Trac は [WikiProcessors#CodeHighlightingSupport wiki プロセッサ] ブロック内の Wiki 形式のテキストと [wiki:TracBrowser リポジトリブラウザ] での、ソースコードの言語特有のシンタックスハイライトに対応しています。
     3
     4Trac では色付けを行うために、とても多くのプログラミング言語に対応している外部ライブラリを使用しています。
     5
     6現在、 Trac は以下にあげるパッケージを 1 つ以上使用して、シンタックスハイライトを実現しています:
     7
     8 * [http://pygments.pocoo.org/ Pygments] 最も推奨するシステムです。というのもカバーしているプログラミング言語、構造化テキストが多いこととサポート体制が活発であるからです
     9 * [http://www.codento.com/people/mtr/genscript/ GNU Enscript] 通常 UNIX で利用できますが、 Windows ではサポートされていません
     10 * [http://silvercity.sourceforge.net/ SilverCity] レガシーなシステムです。いくつかのバージョンには [trac:TracFaq#why-is-my-css-code-not-being-highlighted-even-though-i-have-silvercity-installed 問題があります]
     11
     12
     13シンタックスカラーリングを有効にするには、これらのパッケージのどれか 1 つまたは 1 つ以上をインストールするだけです ( 下記の [#ExtraSoftware その他のソフトウェア] を参照 )
     14もし、これらのパッケージの中で適用できるものがなければ、 Trac はプレーンテキストとしてデータを表示します。
     15
     16
     17=== Pygments について === #AboutPygments
     18
     19Trac 0.11 以降で、 [http://pygments.org/ pygments] はデフォルトのハイライトパッケージとなりました。ハイライト用のライブラリがピュアな Python コードで書かれていて、とても速く、拡張しやすく [http://pygments.org/docs/ ドキュメントが豊富です] 。
     20
     21Pygments のデフォルトのスタイルは、 trac.ini の [TracIni#mimeviewer-section mime-viewer] セクションで指定できます。デフォルトのスタイルは、 [/prefs/pygments 個人設定のシンタックスハイライトタブ] 上のスタイルを設定することで、オーバーライドされます。
     22
     23Pygments の構文解析エンジンが対応するリストは毎週のように更新されています。以下のリストが古い可能性は非常に高いです。 正確には [http://pygments.org/docs/lexers/ supported lexers] のページを参照してください。
     24
     25
     26== 対応しているシンタックスハイライト == #SyntaxColoringSupport
     27
     28=== 対応している MIME タイプ === #KnownMIMETypes
     29
     30[[KnownMimeTypes]]
     31
     32Note: 高度なコンテンツはシンタックスハイライトの代わりに直接レンダリングされるかもしれません。これはインストールされている予備のパッケージ及び設定したコンポーネントによって決まります。例えば、`text/x-rst` ドキュメントでは、`docutils` がインストールされていて、`trac.mimeview.rst.ReStructuredTextRenderer` が無効になっておらず、他にシンタックスハイライトが存在するような場合、`docutils` を通してレンダリングされます。
     33
     34同様の方法で、 MIME タイプ `text/x-trac-wiki` のドキュメントは Trac Wiki フォーマットを使ってレンダリングされます。ただし、 `trac.mimeview.api.WikiTextRenderer` コンポーネントは無効とされます。
     35
     36HTML ドキュメントは `render_unsafe_html` が TracIni で有効に設定されている場合に限り、直接レンダリングされます。 (ドキュメントがどこからくるかによって異なるセキュリティ上の懸念がある場合、これらの設定は、複数のセクションに存在します)。もし HTML ドキュメントがレンダリングを行わず、シンタックスハイライトなるよう保証したいのであれば、 MIME タイプ `text/xml` を使用してください。
     37
     38'svn:mime-type' 属性が 'text/plain' のように MIME タイプで設定されている場合、例え 'java' で書かれたファイルであっても色づけされません。
     39
     40=== ハイライトパッケージがサポートする言語 === #language-supported
     41
     42このリストはほんの一例です:
     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)] Enscript のパッケージには含まれていません。  以下のハイライトルールを追加することが可能です。
     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)] Silvercity 0.9.7 は 2006-11-23 にリリースされました。
     104
     105''[=#a3 (3)] デフォルトで、 `.m` ファイルは Objective-C のファイルだと解釈されます。 `.m` ファイルを MATLAB ファイルとして扱うためには、 "text/matlab:m" を [wiki:TracIni#mimeviewer-section "trac.ini の [mimeviewer] セクション"] 内、 "mime_map" の設定に追加してください。
     106
     107== その他のソフトウェア == #ExtraSoftware
     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/**
     112
     113----
     114See also: WikiProcessors, WikiFormatting, TracWiki, TracBrowser