Rubyには、次の言語のサーバー側の構文を強調表示できるCodeRayソリューションがあります。
- ルビー
- と
- デルファイ
- HTML
- RHTML(レール)
- Nitro-xhtml
- CSS
- 差分
- Java
- Javascript
- ジョンソン
- ヤムル
強調表示プロセスはサーバー側で行われるため、クライアントをロードしません(Ruby On RailsなどのWebテクノロジーを使用している場合)。また、強調表示されたコードでhtmlファイルを作成するための個別のユーティリティ(コンソールなど)を開発することもできます。
CodeRayを使用した小さな例を検討し、特定のRubyファイルのハイライトを作成する小さなコンソールアプリケーションを作成します。
開始するには、簡単なコマンドでCodeRayをインストールしてください
gem install coderay
その後、プログラム自体を作成します(それを発明したのは自分ではないので、いわば元のそのままの形で保存します)
#!/usr/bin/env ruby
# courtesy: Helder
# obvio171.wordpress.com/2007/06/03/colorful-ruby-code-for-your-blog
# modified to output to stdout so can be used as a filter
# 2008-09-03 23:22
require 'rubygems'
require 'coderay'
if ARGV.length != 1
puts "Wrong number of arguments. Use: codecolor.rb <source_file>"
exit
end
rb_file = File.expand_path(ARGV[0])
print CodeRay.encode(
File.read(rb_file),
:ruby,
:html,
:line_numbers => :inline,
:hint => :info,
:css => :style,
:wrap => :div
)
この単純なプログラムを順番に分析します。まず、関心のあるクラスにアクセスするためにcoderayモジュールをプラグインします。 その後、コマンドライン引数の数を確認し、最初の引数からファイル名を抽出します。 次は、プログラムの最も重要な部分です。CodeRay.encode関数を使用し、次の引数を渡します。
- ハイライトされたテキスト
- 構文を強調する言語
- 出力形式
- 行番号の表示スタイル
- ハイライトされたコードの追加ヒントの形式
- スタイルを接続する方法(クラスまたはスタイル)
- 要素をラップする方法
そして、作成したプログラムに自分自身を強調するように依頼します。 これを行うには、次のコマンドを実行します
ruby codecolor.rb > test.html
その後、codecolor.rbプログラムの強調表示されたバージョンを含むtest.htmlファイル(任意のブラウザーで開くことができます)が作成されます。
実際、Rubyコード強調表示ジェネレーターを使用する際に知っておく必要があるのはこれだけです。 CodeRayのより詳細な研究については、 公式ウェブサイトをご覧になることをお勧めします