# -*- coding: utf-8 -*- # # @file # @brief # @author ongaeshi # @date 2011/06/25 require 'rubygems' require 'sinatra' require 'haml' require 'sass' $LOAD_PATH.unshift '../..' require 'milkode/cdweb/lib/database' require 'milkode/cdweb/lib/command' require 'milkode/cdweb/lib/mkurl' set :haml, :format => :html5 get '/' do @version = "0.2.2" @package_num = Database.instance.fileList('').size @file_num = Database.instance.fileNum haml :index end post '/search*' do path = unescape(params[:pathname]) case params[:shead] when 'all' path = "/home" when 'package' path = path.split('/')[0,3].join('/') end redirect Mkurl.new("#{path}", params).inherit_query_shead end get '/home*' do |path| before = Time.now path = path.sub(/^\//, "") record = Database.instance.record(path) if (record) view(record, params, before) else if (params[:query] and !params[:query].empty?) search(path, params, before) else filelist(path, params, before) end end end get %r{/help} do haml :help end # -- helper function -- helpers do # -- escape functions -- alias h escape_html alias escape_url escape def escape_path(src) escape_url(src).gsub("%2F", '/') end # -- utility -- def link(query) "#{query}" end def create_form(path, query, shead) shead = shead || 'directory' # こっちにすると'検索'ボタンを押した時に新しくウィンドウが開く #