chiver 0.0.0 → 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (5) hide show
  1. data/Gemfile +9 -5
  2. data/VERSION +1 -1
  3. data/lib/chiver/app.rb +60 -0
  4. metadata +2 -2
  5. data/lib/chiver.rb +0 -0
data/Gemfile CHANGED
@@ -1,13 +1,17 @@
1
1
  source "http://rubygems.org"
2
- # Add dependencies required to use your gem here.
3
- # Example:
4
- # gem "activesupport", ">= 2.3.5"
5
2
 
6
- # Add dependencies to develop your gem here.
7
- # Include everything needed to run rake, tests, features, etc.
3
+ gem "sinatra", :require => "sinatra/base"
4
+ gem "sinatra_more", :require => "sinatra_more/markup_plugin"
5
+ gem "i18n"
6
+ gem "haml"
7
+ gem "sass"
8
+ gem "redcarpet"
9
+ gem "nokogiri"
10
+
8
11
  group :development do
9
12
  gem "shoulda", ">= 0"
10
13
  gem "bundler", "~> 1.0.0"
11
14
  gem "jeweler", "~> 1.6.2"
12
15
  gem "rcov", ">= 0"
16
+ gem "awesome_print"
13
17
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.0
1
+ 0.0.1
@@ -0,0 +1,60 @@
1
+ require "date"
2
+ require "rubygems"
3
+ require "bundler/setup"
4
+ Bundler.require
5
+
6
+ module Chiver
7
+ class App < Sinatra::Base
8
+ register SinatraMore::MarkupPlugin
9
+ set :root, Dir.pwd
10
+ set :pages, File.join(root, "pages")
11
+ set :haml, :format => :html5
12
+ set :sass, :views => "#{root}/public/stylesheets"
13
+ set :title, "Chiver"
14
+ set :ext, ".md"
15
+
16
+ helpers do
17
+ def convert(name)
18
+ filename = File::basename(name) + settings.ext
19
+ text = File.read(File.join(settings.pages, filename))
20
+ text = Markdown.new(text, :fenced_code, :autolink, :generate_toc, :lax_htmlblock, :tables, :hard_wrap).to_html
21
+ html = Nokogiri::HTML(text)
22
+ before = html.css("code").to_s
23
+ after = before.gsub("\n", "<br>")
24
+ html.to_s.gsub(before, after)
25
+ end
26
+ end
27
+
28
+ before do
29
+ @title = settings.title
30
+ end
31
+
32
+ error { haml :error } unless development?
33
+
34
+ get "/stylesheets/:name.css" do
35
+ content_type "text/css", :charset => "utf-8"
36
+ sass params[:name].to_sym
37
+ end
38
+
39
+ get "/javascripts/:js.css" do
40
+ content_type "application/x-javascript", :charset => "utf-8"
41
+ "#{settings.root}/public/js/#{params[:name]}"
42
+ end
43
+
44
+ get "/" do
45
+ @entries = Dir::glob("#{settings.pages}/*#{settings.ext}")\
46
+ .sort{|a, b| b<=>a }\
47
+ .map{|file|
48
+ y, m, d, name = File::basename(file).split("-")
49
+ next unless [y, m, d, name].all?
50
+ { :date => Date.new(y.to_i, m.to_i, d.to_i), :name => name.split(".").first }
51
+ }
52
+ haml :index
53
+ end
54
+
55
+ get /^.([^\.]+).*$/ do
56
+ @text = convert(params[:captures][0])
57
+ haml :page
58
+ end
59
+ end
60
+ end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: chiver
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.0
5
+ version: 0.0.1
6
6
  platform: ruby
7
7
  authors:
8
8
  - Ryo NAKAMURA
@@ -73,7 +73,7 @@ files:
73
73
  - README.rdoc
74
74
  - Rakefile
75
75
  - VERSION
76
- - lib/chiver.rb
76
+ - lib/chiver/app.rb
77
77
  - test/helper.rb
78
78
  - test/test_chiver.rb
79
79
  has_rdoc: true
File without changes