diff --git a/.gitignore b/.gitignore deleted file mode 100644 index b844b14..0000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -Gemfile.lock diff --git a/Gemfile b/Gemfile index af46db7..fd4099b 100644 --- a/Gemfile +++ b/Gemfile @@ -1,5 +1 @@ gem 'erb' -gem 'rackup' - -gem 'nokogiri' -gem 'redcarpet' diff --git a/app.rb b/app.rb deleted file mode 100644 index 16e4cbd..0000000 --- a/app.rb +++ /dev/null @@ -1,105 +0,0 @@ - -require 'sinatra' -require 'erb' -require 'nokogiri' -require 'redcarpet' - -$root = "/home/pranshu/Documents/proj/perc/test" -Dir.chdir $root; - -class Sidebar - FileNode = Struct.new(:type, :name) - DirNode = Struct.new(:type, :name, :files) - - def initialize - @tree = process_dir "." - end - - def show(n=@tree, indent="") - if n.type == :dir - print indent, n.name, "\n" - n.files.each do |r| - show r, " " + indent - end - else - print indent, n.name, "\n" - end - end - - def html - builder = Nokogiri::HTML::Builder.new do |doc| - def deal_with_dir (doc, dir, path) - doc.li { - doc.text dir.name - doc.ul { - dir.files.each do |f| - fpath = File.join(path, f.name) - if f.type == :dir - deal_with_dir doc, f, fpath - else - doc.a(:href => fpath) { - doc.li { doc.text f.name } - } - end - end - } - } - end - doc.div { - deal_with_dir doc, @tree, @tree.name - } - end - builder.to_html().split(/\n/)[1..-1].join - end - - private - - def dir_files() - # Remove "." and ".." from file list - Dir.entries(".").filter {|f| f !~ /^\.\.?$/ } - end - - def process_dir(dir) - DirNode.new(:dir, dir, - Dir.chdir(dir) do - dir_files.map do |f| - if File.file? f - FileNode.new(:file, f) - else - process_dir f - end - end - end) - end - -end - -$sidebar = Sidebar.new - - -class Perc < Sinatra::Application - set :views, "." - set :markdown, :layout_engine => :erb - # @sidebar = Sidebar.new - - get "/" do - erb :main - end - - get "/*.*" do |path, ext| - if ext == "md" - md = markdown File.read(path + ".md") - - else - erb path.to_sym - end - end - - helpers do - def tree - $sidebar.html - end - end - -end - diff --git a/config.ru b/config.ru deleted file mode 100644 index 33d7cb7..0000000 --- a/config.ru +++ /dev/null @@ -1,2 +0,0 @@ -require './app' -run Perc