Changes between Version 2 and Version 3 of TracSyntaxColoring


Ignore:
Timestamp:
Jun 28, 2019, 2:20:16 PM (5 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TracSyntaxColoring

    v2 v3  
    1 = ソースコードのシンタックスカラーリング = #SyntaxColoringofSourceCode
    2 Trac は [WikiProcessors#CodeHighlightingSupport wiki プロセッサ] ブロック内の Wiki 形式のテキストと [wiki:TracBrowser リポジトリブラウザ] での、ソースコードの言語特有のシンタックスハイライトに対応しています。
     1= Syntax Coloring of Source Code
     2Trac supports language-specific syntax highlighting of source code within wiki formatted text in [WikiProcessors#CodeHighlightingSupport wiki processors] blocks and in the [TracBrowser repository browser]. Syntax coloring is provided using [http://pygments.org/ Pygments], which covers a wide range of programming languages and other structured texts, and is actively supported. If Pygments is not available, Trac will display the content as plain text.
    33
    4 Trac では色付けを行うために、とても多くのプログラミング言語に対応している外部ライブラリを使用しています。
     4== About Pygments
    55
    6 現在、 Trac は以下にあげるパッケージを 1 つ以上使用して、シンタックスハイライトを実現しています:
     6[http://pygments.org/ Pygments] is a highlighting library implemented in pure python, very fast, easy to extend and [http://pygments.org/docs/ well documented].
    77
    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 問題があります]
     8The Pygments default style can specified in the [TracIni#mimeviewer-section mime-viewer] section of trac.ini. The default style can be overridden by setting a //Style// preference on the [/prefs/pygments preferences page].
    119
     10[http://pygments.org/docs/lexers/ Pygments lexer] options can be specified as [WikiProcessors WikiProcessor] arguments and defaults can be set in the [TracIni#pygments-lexer-section environment configuration].
    1211
    13 シンタックスカラーリングを有効にするには、これらのパッケージのどれか 1 つまたは 1 つ以上をインストールするだけです ( 下記の [#ExtraSoftware その他のソフトウェア] を参照 )
    14 もし、これらのパッケージの中で適用できるものがなければ、 Trac はプレーンテキストとしてデータを表示します。
     12== Syntax Coloring Support
    1513
     14=== Supported languages
    1615
    17 === Pygments について === #AboutPygments
     16The list of currently supported languages can be found on the [http://pygments.org/languages/ supported languages] page. The list represents the languages supported in the most recent version of Pygments, so the languages actually supported in your installation could differ if you have an older version installed. The listing of [http://pygments.org/docs/lexers/ supported lexers] provides additional information about the default mime type to keyword mappings.
    1817
    19 Trac 0.11 以降で、 [http://pygments.org/ pygments] はデフォルトのハイライトパッケージとなりました。ハイライト用のライブラリがピュアな Python コードで書かれていて、とても速く、拡張しやすく [http://pygments.org/docs/ ドキュメントが豊富です] 。
     18Explicit control of the mime type associated with a [WikiProcessors WikiProcessor] and file extension is available through the `mime_map` setting. For example, by default `.m` files are considered Objective-C files. In order to treat `.m` files as MATLAB files, add `text/matlab:m` to the [wiki:TracIni#mimeviewer-mime_map-option "[mimeviewer] mime_map"] option.
    2019
    21 Pygments のデフォルトのスタイルは、 trac.ini の [TracIni#mimeviewer-section mime-viewer] セクションで指定できます。デフォルトのスタイルは、 [/prefs/pygments 個人設定のシンタックスハイライトタブ] 上のスタイルを設定することで、オーバーライドされます。
     20If a mimetype property such as `svn:mime-type` is set to `text/plain`, there is no coloring even if file is known type like `java`.
    2221
    23 Pygments の構文解析エンジンが対応するリストは毎週のように更新されています。以下のリストが古い可能性は非常に高いです。 正確には [http://pygments.org/docs/lexers/ supported lexers] のページを参照してください。
     22=== Direct Rendering
    2423
     24Rich content may be directly //rendered// instead of syntax highlighted. This usually depends on which auxiliary packages are installed and 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. It will be syntax highlighted otherwise.
    2525
    26 == 対応しているシンタックスハイライト == #SyntaxColoringSupport
     26Similarly, 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. If you want to ensure that an HTML document gets syntax highlighted and not rendered, use the `text/xml` mimetype.
    2727
    28 === 対応している MIME タイプ === #KnownMIMETypes
     28HTML documents are directly rendered only if the `render_unsafe_html` settings are enabled in your TracIni file. See [TracIni#attachment-render_unsafe_content-option "[attachment] render_unsafe_content"], [TracIni#browser-render_unsafe_content-option "[browser] render_unsafe_content"] and [TracIni#wiki-render_unsafe_content-option "[wiki] render_unsafe_content"]. The setting is present in multiple sections because there are different security concerns depending on where the document comes from.
     29
     30=== Known MIME types
    2931
    3032[[KnownMimeTypes]]
    3133
    32 Note: 高度なコンテンツはシンタックスハイライトの代わりに直接レンダリングされるかもしれません。これはインストールされている予備のパッケージ及び設定したコンポーネントによって決まります。例えば、`text/x-rst` ドキュメントでは、`docutils` がインストールされていて、`trac.mimeview.rst.ReStructuredTextRenderer` が無効になっておらず、他にシンタックスハイライトが存在するような場合、`docutils` を通してレンダリングされます。
    33 
    34 同様の方法で、 MIME タイプ `text/x-trac-wiki` のドキュメントは Trac Wiki フォーマットを使ってレンダリングされます。ただし、 `trac.mimeview.api.WikiTextRenderer` コンポーネントは無効とされます。
    35 
    36 HTML ドキュメントは `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 
    11334----
    11435See also: WikiProcessors, WikiFormatting, TracWiki, TracBrowser