require 'cgi' def label_hssrc_config; 'hssrc plugin' end def label_hssrc_HsColour; 'HsColour command' end def hssrc_HsColour_default; 'HsColour' end # src: 外部ファイルを挿入する(HTMLエスケープ付き) # パラメタ: # file: ファイル名 # def hssrc( file ) hssrc_inline( File.read( file ) ) end # # src_inline: テキストを挿入する(HTMLエスケープ付き) # # パラメタ: テキスト文字列 # def hssrc_inline( str ) begin src = IO.popen( @options['hssrc.HsColour'] + ' -html', "r+" ) {|io| io.write( str ) io.close_write io.read } if %r[
(.*)
]m =~ src $1 else raise RuntimeError.new end rescue CGI::escapeHTML( str ) end end def saveconf_hssrc if @mode == 'saveconf' then @conf['hssrc.HsColour'] = @cgi.params['hssrc.HsColour'][0] end end add_conf_proc('hssrc', label_hssrc_config) do saveconf_hssrc @conf['hssrc.HsColour'] ||= "HsColour" str = <<-HTML

#{label_hssrc_HsColour}

HTML str end