mdview 0.2.0 → 0.3.0
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.
- data/README.md +4 -2
- data/lib/mdview/sinatra.rb +18 -3
- data/lib/mdview/version.rb +2 -2
- metadata +14 -14
data/README.md
CHANGED
@@ -2,13 +2,15 @@
|
|
2
2
|
|
3
3
|
File : README.md
|
4
4
|
Maintainer : Felix C. Stegerman <flx@obfusk.net>
|
5
|
-
Date : 2013-10-
|
5
|
+
Date : 2013-10-25
|
6
6
|
|
7
7
|
Copyright : Copyright (C) 2013 Felix C. Stegerman
|
8
|
-
Version : v0.
|
8
|
+
Version : v0.3.0
|
9
9
|
|
10
10
|
[]: }}}1
|
11
11
|
|
12
|
+
[](http://badge.fury.io/rb/mdview)
|
13
|
+
|
12
14
|
## Description
|
13
15
|
[]: {{{1
|
14
16
|
|
data/lib/mdview/sinatra.rb
CHANGED
@@ -2,13 +2,15 @@
|
|
2
2
|
#
|
3
3
|
# File : mdview/sinatra.rb
|
4
4
|
# Maintainer : Felix C. Stegerman <flx@obfusk.net>
|
5
|
-
# Date : 2013-10-
|
5
|
+
# Date : 2013-10-25
|
6
6
|
#
|
7
7
|
# Copyright : Copyright (C) 2013 Felix C. Stegerman
|
8
8
|
# Licence : GPLv2
|
9
9
|
#
|
10
10
|
# -- ; }}}1
|
11
11
|
|
12
|
+
require 'pathname'
|
13
|
+
|
12
14
|
require 'haml'
|
13
15
|
require 'sinatra/base'
|
14
16
|
|
@@ -22,11 +24,18 @@ class MDView::Sinatra < Sinatra::Base
|
|
22
24
|
File.directory?(f) ? "/dir=#{f}" : "/file=#{f}"
|
23
25
|
end
|
24
26
|
|
27
|
+
def subpath_of_pwd?(f)
|
28
|
+
c = Pathname.pwd.realpath.to_s
|
29
|
+
x = Pathname.new(f).realpath.to_s
|
30
|
+
"#{x}/".start_with? "#{c}/"
|
31
|
+
end
|
32
|
+
|
25
33
|
get '/' do
|
26
34
|
redirect "/dir=#{Dir.pwd}"
|
27
35
|
end
|
28
36
|
|
29
37
|
get '/dir=*' do |dir|
|
38
|
+
return 403 unless subpath_of_pwd? dir
|
30
39
|
@title = dir
|
31
40
|
@up = File.dirname dir
|
32
41
|
@files = Dir["#{dir}/*"].select do |x|
|
@@ -36,8 +45,10 @@ class MDView::Sinatra < Sinatra::Base
|
|
36
45
|
end
|
37
46
|
|
38
47
|
get '/file=*.md' do |file|
|
39
|
-
|
40
|
-
|
48
|
+
f = "#{file}.md"
|
49
|
+
return 403 unless subpath_of_pwd? f
|
50
|
+
@title = f
|
51
|
+
@html = MDView.md File.read f
|
41
52
|
haml :md
|
42
53
|
end
|
43
54
|
|
@@ -46,6 +57,10 @@ class MDView::Sinatra < Sinatra::Base
|
|
46
57
|
MDView.css
|
47
58
|
end
|
48
59
|
|
60
|
+
error 403 do
|
61
|
+
'Access forbidden'
|
62
|
+
end
|
63
|
+
|
49
64
|
end
|
50
65
|
|
51
66
|
# vim: set tw=70 sw=2 sts=2 et fdm=marker :
|
data/lib/mdview/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mdview
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-10-
|
12
|
+
date: 2013-10-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: haml
|
16
|
-
requirement: &
|
16
|
+
requirement: &12687660 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *12687660
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: pygments.rb
|
27
|
-
requirement: &
|
27
|
+
requirement: &12682780 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *12682780
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: redcarpet
|
38
|
-
requirement: &
|
38
|
+
requirement: &12680580 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *12680580
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: sinatra
|
49
|
-
requirement: &
|
49
|
+
requirement: &12678080 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *12678080
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: rake
|
60
|
-
requirement: &
|
60
|
+
requirement: &12675600 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *12675600
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rspec
|
71
|
-
requirement: &
|
71
|
+
requirement: &12660920 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,7 +76,7 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *12660920
|
80
80
|
description: ! 'markdown preview
|
81
81
|
|
82
82
|
|