Changes between Version 1 and Version 2 of TracSyntaxColoring
- Timestamp:
- Sep 2, 2019, 4:56:56 PM (5 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TracSyntaxColoring
v1 v2 1 = ソースコードのシンタックスカラーリング = #SyntaxColoringofSourceCode2 Trac は [WikiProcessors#CodeHighlightingSupport wiki プロセッサ] ブロック内の Wiki 形式のテキストと [wiki:TracBrowser リポジトリブラウザ] での、ソースコードの言語特有のシンタックスハイライトに対応しています。1 = Syntax Coloring of Source Code 2 Trac 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. 3 3 4 Trac では色付けを行うために、とても多くのプログラミング言語に対応している外部ライブラリを使用しています。 4 == About Pygments 5 5 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]. 7 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 問題があります] 8 The 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]. 11 9 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]. 12 11 13 シンタックスカラーリングを有効にするには、これらのパッケージのどれか 1 つまたは 1 つ以上をインストールするだけです ( 下記の [#ExtraSoftware その他のソフトウェア] を参照 ) 14 もし、これらのパッケージの中で適用できるものがなければ、 Trac はプレーンテキストとしてデータを表示します。 12 == Syntax Coloring Support 15 13 14 === Supported languages 16 15 17 === Pygments について === #AboutPygments 16 The 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. 18 17 19 Trac 0.11 以降で、 [http://pygments.org/ pygments] はデフォルトのハイライトパッケージとなりました。ハイライト用のライブラリがピュアな Python コードで書かれていて、とても速く、拡張しやすく [http://pygments.org/docs/ ドキュメントが豊富です] 。 18 Explicit 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. 20 19 21 Pygments のデフォルトのスタイルは、 trac.ini の [TracIni#mimeviewer-section mime-viewer] セクションで指定できます。デフォルトのスタイルは、 [/prefs/pygments 個人設定のシンタックスハイライトタブ] 上のスタイルを設定することで、オーバーライドされます。 20 If 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`. 22 21 23 Pygments の構文解析エンジンが対応するリストは毎週のように更新されています。以下のリストが古い可能性は非常に高いです。 正確には [http://pygments.org/docs/lexers/ supported lexers] のページを参照してください。 22 === Direct Rendering 24 23 24 Rich 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. 25 25 26 == 対応しているシンタックスハイライト == #SyntaxColoringSupport 26 Similarly, 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. 27 27 28 === 対応している MIME タイプ === #KnownMIMETypes 28 HTML 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 29 31 30 32 [[KnownMimeTypes]] 31 33 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-supported41 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 == その他のソフトウェア == #ExtraSoftware108 * GNU Enscript — http://directory.fsf.org/GNU/enscript.html109 * GNU Enscript for Windows — http://gnuwin32.sourceforge.net/packages/enscript.htm110 * !SilverCity — http://silvercity.sf.net/111 * **Pygments — http://pygments.org/**112 113 34 ---- 114 35 See also: WikiProcessors, WikiFormatting, TracWiki, TracBrowser