Skip to content

Instantly share code, notes, and snippets.

@maca
Created May 6, 2009 08:28
Show Gist options
  • Save maca/107435 to your computer and use it in GitHub Desktop.
Save maca/107435 to your computer and use it in GitHub Desktop.
require 'sinatra'
require 'pathname'
get %r{^(?!/files)(.+$)} do |path|
dir = './public/files' + path
pass unless File.exists?(dir)
@links = Dir[ dir + '*' ].map do |file|
url = file.gsub %r{^\./public}, ''
file_link( File.directory?( file ) ? url.gsub( %r{^/files}, '' ) + '/' : url )
end
erb :index
end
helpers do
def file_link(file)
filename = Pathname.new(file).basename
"<li><a href='#{file}' target='_self'>#{filename}</a></li>"
end
end
use_in_file_templates!
__END__
@@ index
<html>
<head>
<meta name="viewport" content="width=320; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"/>
<style type="text/css" media="screen">@import "/stylesheets/iui.css";</style>
<script type="application/x-javascript" src="/javascripts/iui.js"></script>
</head>
<body>
<div class="toolbar">
<h1 id="pageTitle"></h1>
</div>
<ul id="home" title="<%= @path %>" selected="true">
<%= @links %>
</ul>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment