`

rails 源码语法高亮 和 代码显示格式化

阅读更多
代码语法高亮

      rhighlightjs

官网:

      http://softwaremaniacs.org/soft/highlight/en/

使用起来比较简单

enviroment.rb
  config.gem 'romanvbabenko-rhighlightjs', :lib => 'rhighlightjs',
      :source => 'http://gems.github.com'


sudo rake gems:install


#your.view
= highlighter :style => 'sunburst', :languages => ["css", "html-xml", "django", "rubyscript", "www"]



html的显示和整理

      html tidy
也很简单

      tidy介绍
http://www.w3.org/People/Raggett/tidy/

 config.gem "tidy"


    Tidy.path = '/usr/lib/libtidy.A.dylib'
    curl = Monitoring::Index.find(params[:id]).url
    @source = Nokogiri::HTML(open(curl)).to_html#.gsub(/\s{4,}/,'')
    charset = @source[/meta http-equiv=".+content=".+charset=[^"]+/].split("=").last rescue "utf8"
    @source = Iconv.new('UTF-8', charset).iconv(@source) unless charset == "utf8"
    opts = {
      #:output_xhtml  => true,
      :wrap          => 0,
      :char_encoding => charset,
      :show_warnings => true,
      #:show_body_only => true,
      #:doctype => 'omit',
      :indent        => true, # optional 
    }
    Tidy.open(opts) do |tidy|
       @source = tidy.clean(@source) 
       #puts tidy.errors # array
       #puts tidy.diagnostics # array
       #puts xml
     end  



Tidy Ruby Gem
Tidy: http://tidy.sourceforge.net/
Tidy-Ruby: http://rubyforge.org/projects/tidy/

If you're experiencing a Segmentation Fault (Rails app could not start)
see http://github.com/FireRabbit/tidy/tree

List of Tidy-Ruby Options
===========================================
See http://tidy.sourceforge.net/docs/quickref.html

libtidy is the backend of this gem.
Just replace hyphens with underscores.

For example,
   show-warnings will be show_warnings
   show-body-only will be show_body_only
   etc


Installation
===========================================
# Do not use gem install tidy. It is outdated and buggy
# if you've done so already, do gem uninstall tidy and
# follow the directions below

$ git clone git://github.com/FireRabbit/tidy.git
$ cd tidy/
$ sudo ruby setup.rb


#Rails app? make Tidy a dependency environment.rb
#===========================================
 Rails::Initializer.run do |config| 
   ...
   config.gem "tidy"
 end

 To install the gem on another machine, 
 run rake gems:install



#Usage & Examples
#===========================================
 require 'tidy'

# This might be required if your app is crashing. 
# This is only available in the forked tidy. 
# see Installation above
Tidy.fresh_tidy_version = true 

 Tidy.path = '/usr/lib/tidylib.so'
 html = '<html><title>title</title>Body</html>'

 Tidy.open(:show_warnings=>true) do |tidy|
    puts tidy.options.show_warnings # returns True
    xml = tidy.clean(html) # See note below

    puts tidy.errors # array
    puts tidy.diagnostics # array
    puts xml
  end



Note: The code above will add a DOCTYPE, html, head, body tags where
appropriate, if they do
  not exist.

If you would like to check and clean an HTML SNIPPET, use these options:

    opts = {
      :show_warnings => true,
      :show_body_only => true,
      :doctype => 'omit',
      :indent => true, # optional 
    }

    Tidy.open(opts) do |tidy|
      puts tidy.clean(html)
      diagnostics = tidy.diagnostics 
      errors = tidy.errors 
    end







分享到:
评论
1 楼 fireflyman 2010-06-25  
awsome

相关推荐

    JAVA上百实例源码以及开源项目源代码

    Java源码,文件操作,图片水印 util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、...

    java开源包8

    JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮以及一些通用的面向对象方法。 Java数据库连接池 BoneCP BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接...

    jekyll gem

    3. **pygments.rb-0.6.0.gem**: Pygments.rb 是Ruby版的Pygments语法高亮工具,用于代码块的美化和高亮显示。在Jekyll中,它可以自动识别并美化代码段,让技术文章更易于阅读。 4. **ffi-1.9.6-x86-mingw32.gem**: ...

    APICloud-Studio-RCP-Mac:APICloud提供的一款开源免费HTML编码工具,方便开发者进行应用的开发和调试,源码详见APICloud-Studio项目。 此为Mac版APICloud Studio的product

    代码编辑器支持智能提示、语法高亮和自动格式化,帮助提高编写代码的效率。资源管理器则允许开发者轻松管理项目的文件和资源,如图片、音频、样式表等。项目管理功能使得创建、导入和组织多个项目变得简单。内置的...

    java开源包10

    JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮以及一些通用的面向对象方法。 Java数据库连接池 BoneCP BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接...

    java开源包1

    JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮以及一些通用的面向对象方法。 Java数据库连接池 BoneCP BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接...

    java开源包11

    JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮以及一些通用的面向对象方法。 Java数据库连接池 BoneCP BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接...

    java开源包2

    JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮以及一些通用的面向对象方法。 Java数据库连接池 BoneCP BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接...

    java开源包3

    JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮以及一些通用的面向对象方法。 Java数据库连接池 BoneCP BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接...

    java开源包6

    JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮以及一些通用的面向对象方法。 Java数据库连接池 BoneCP BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接...

    java开源包5

    JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮以及一些通用的面向对象方法。 Java数据库连接池 BoneCP BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接...

    java开源包4

    JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮以及一些通用的面向对象方法。 Java数据库连接池 BoneCP BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接...

    java开源包7

    JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮以及一些通用的面向对象方法。 Java数据库连接池 BoneCP BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接...

    java开源包9

    JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮以及一些通用的面向对象方法。 Java数据库连接池 BoneCP BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接...

    java开源包101

    JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮以及一些通用的面向对象方法。 Java数据库连接池 BoneCP BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接...

    Java资源包01

    JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮以及一些通用的面向对象方法。 Java数据库连接池 BoneCP BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接...

    revue.io:查看差异的在线工具

    1. **文件对比**:显示两个文件的逐行差异,高亮显示新增、删除和修改的部分。 2. **版本历史**:追踪文件的版本历史,展示每次更改的时间、作者以及变更说明。 3. **代码审查**:支持多人协作,允许团队成员在代码...

Global site tag (gtag.js) - Google Analytics