Changes between Version 1 and Version 2 of TracSyntaxColoring


Ignore:
Timestamp:
09/18/14 10:48:12 (10 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TracSyntaxColoring

    v1 v2  
    11= ソースコードのシンタックスカラーリング = #SyntaxColoringofSourceCode 
    2 Trac は [wiki:WikiFormatting Wiki形式] のテキストと [wiki:TracBrowser リポジトリブラウザ] での、ソースコードの言語特有のシンタックスハイライトに対応しています。 
     2Trac は [WikiProcessors#CodeHighlightingSupport wiki プロセッサ] ブロック内の Wiki 形式のテキストと [wiki:TracBrowser リポジトリブラウザ] での、ソースコードの言語特有のシンタックスハイライトに対応しています。 
    33 
    4 色付けを行うために、 Trac はとても多くのプログラミング言語に対応している外部のライブラリを使用しています。 
     4Trac では色付けを行うために、とても多くのプログラミング言語に対応している外部ライブラリを使用しています。 
    55 
    6 現在、 Trac は以下にあげる 1 つ以上のパッケージを使用して、シンタックスハイライトを実現しています: 
     6現在、 Trac は以下にあげるパッケージを 1 つ以上使用して、シンタックスハイライトを実現しています: 
    77 
    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 以下] を参照してください。) 
     8 * [http://pygments.pocoo.org/ Pygments] 最も推奨するシステムです。というのもカバーしているプログラミング言語、構造化テキストが多いこととサポート体制が活発であるからです。 
     9 * [http://www.codento.com/people/mtr/genscript/ GNU Enscript] 通常 UNIX で利用できますが、 Windows ではサポートされていません。 
     10 * [http://silvercity.sourceforge.net/ SilverCity] レガシーなシステムです。いくつかのバージョンには [http://trac.edgewall.org/wiki/TracFaq#why-is-my-css-code-not-being-highlighted-even-though-i-have-silvercity-installed 問題があります] 
    1111 
    12 シンタックスハイライトを有効にするためには、ただこれらのパッケージをインストールするだけです。追加のコンフィグレーションは必要ありませんが、カラーリングを修正するためには、 `trac/htdocs/css/code.css` を参照してください。 
    1312 
    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 
     13シンタックスカラーリングを有効にするには、これらのパッケージのどれか 1 つまたは 1 つ以上をインストールするだけです ( 下記の [#ExtraSoftware その他のソフトウェア] を参照 ) 
     14もし、これらのパッケージの中で適用できるものがなければ、 Trac はプレーンテキストとしてデータを表示します。 
    1515 
    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] を参照してください。 
    2416 
    2517=== Pygments について === #AboutPygments 
    2618 
    27 Trac 0.11 からは [http://pygments.org/ Pygments] が新しいデフォルトのハイライトライブラリになります。 Pygments は Python で実装され、非常に高速で、拡張しやすく、 [http://pygments.org/docs/ 良いドキュメント] があるハイライトライブラリです。 Enscript や Scintilla ほど多くの言語をサポートしませんが総合的な出力品質は、はるかに良いです 
     19Trac 0.11 以降で、 [http://pygments.org/ pygments] はデフォルトのハイライトパッケージとなりました。ハイライト用のライブラリがピュアな Python コードで書かれていて、とても速く、拡張しやすく [http://pygments.org/docs/ ドキュメントが豊富です]  
    2820 
    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] にチケットを登録してください 
     21Pygments のデフォルトのスタイルは、 trac.ini の [TracIni#mimeviewer-section mime-viewer] セクションで指定できます。デフォルトのスタイルは、 [/prefs/pygments 個人設定のシンタックスハイライトタブ] 上のスタイルを設定することで、オーバーライドされます 
    3022 
    3123Pygments の構文解析エンジンが対応するリストは毎週のように更新されています。以下のリストが古い可能性は非常に高いです。 正確には [http://pygments.org/docs/lexers/ supported lexers] のページを参照してください。 
     
    3426== 対応しているシンタックスハイライト == #SyntaxColoringSupport 
    3527 
    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 || 
     28=== 対応している MIME タイプ === #KnownMIMETypes 
    8629 
    87 ''(*) [wiki:WikiFormatting WikiFormatting] の WikiProcessors でシンタックスハイライトが対応しています。'' 
     30[[KnownMimeTypes]] 
    8831 
    89 ''(1) Enscript では Ruby のハイライトは含まれていません。 Ruby のハイライトルールは [http://neugierig.org/software/ruby/] から入手することができます。'' 
     32Note: 高度なコンテンツはシンタックスハイライトの代わりに直接レンダリングされるかもしれません。これはインストールされている予備のパッケージ及び設定したコンポーネントによって決まります。例えば、`text/x-rst` ドキュメントでは、`docutils` がインストールされていて、`trac.mimeview.rst.ReStructuredTextRenderer` が無効になっておらず、他にシンタックスハイライトが存在するような場合、`docutils` を通してレンダリングされます。 
    9033 
    91 ''(2) C# のハイライトは Enscript の配布物には含まれていません。 C# 用のハイライトのルールは http://wiki.hasno.info/index.php/Csharp.st より入手可能です。 
     34同様の方法で、 MIME タイプ `text/x-trac-wiki` のドキュメントは Trac Wiki フォーマットを使ってレンダリングされます。ただし、 `trac.mimeview.api.WikiTextRenderer` コンポーネントは無効とされます。 
    9235 
    93 ''(3) Fortran: Enscript ではパッケージ化されている固定のソース形式のみをサポートしています。 Fortran 90x/2003 のハイライトルールは http://wiki.hasno.info/index.php/F90.st から入手することができます 
     36HTML ドキュメントは `render_unsafe_html` が TracIni で有効に設定されている場合に限り、直接レンダリングされます。 (ドキュメントがどこからくるかによって異なるセキュリティ上の懸念がある場合、これらの設定は、複数のセクションに存在します)。もし HTML ドキュメントがレンダリングを行わず、シンタックスハイライトなるよう保証したいのであれば、 MIME タイプ `text/xml` を使用してください 
    9437 
    95 ''(4) 2006 年 11 月 23 日にリリースされた Silvercity 0.9.7 以来更新されていません。 
     38'svn:mime-type' 属性が 'text/plain' のように MIME タイプで設定されている場合、例え 'java' で書かれたファイルであっても色づけされません。 
    9639 
    97 ''(5) デフォルトで `.m` ファイルは Objective-C ファイルとして扱われます。 MATLAB ファイルとして `.m` ファイルを扱うには、 [wiki:TracIni#mimeviewer-section "trac.ini の [mimeviewer] セクション"]の "mime_map" に  "text/x-matlab:m" を追加してください。 
     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" の設定に追加してください。 
    98106 
    99107== その他のソフトウェア == #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/ 
     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/** 
    104112 
    105113---- 
    106114See also: WikiProcessors, WikiFormatting, TracWiki, TracBrowser 
    107