markup-preview-command 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/bin/markup-preview CHANGED
@@ -4,31 +4,7 @@ $:.unshift(File.dirname(__FILE__) + '/../lib')
4
4
 
5
5
  require 'rubygems' unless defined? Gem
6
6
  require 'markup-preview-command'
7
- require 'slop'
8
7
 
9
8
  Encoding.default_external = Encoding::UTF_8 if RUBY_VERSION =~ /1.9/
10
9
 
11
- def main
12
-
13
- help = <<-EOF
14
- useage:
15
- markup-preview -f path/to/foo.md -o browser
16
- or,
17
- cat foo.md | markup-preview -m markdown -o browser
18
- EOF
19
-
20
- opts = Slop.parse do
21
- on :h, :help, help, :tail => true do
22
- puts help
23
- exit
24
- end
25
- on :m, :markup=, 'markup'
26
- on :f, :filepath=, 'filepath'
27
- on :o, :output=, 'set "-o browser" if see result by browser'
28
- end
29
-
30
- Markup::Preview::Command::Render.execute(opts)
31
-
32
- end
33
-
34
- main
10
+ Markup::Preview::Command::Runner.run(ARGV)
@@ -3,7 +3,8 @@ require 'markup-preview-command/version'
3
3
  require 'markup-preview-command/util/util'
4
4
 
5
5
  module Markup::Preview::Command
6
- class Render
6
+
7
+ class Runner
7
8
 
8
9
  require 'github/markup'
9
10
  require 'fileutils'
@@ -15,20 +16,18 @@ module Markup::Preview::Command
15
16
  TMPFILE = File.join(TMPDIR, $$.to_s)
16
17
  FileUtils.mkdir_p(TMPDIR) unless FileTest.directory? TMPDIR
17
18
 
18
- def initialize(opts)
19
- @content = nil
20
- @format = nil
21
- @browser = false
22
- parse_options(opts)
19
+
20
+ def initialize(argv)
21
+ @opts = Options.new(argv)
23
22
  end
24
23
 
25
- def self.execute(opts)
26
- new(opts).execute
24
+ def self.run(argv)
25
+ self.new(argv).run
27
26
  end
28
27
 
29
- def execute
28
+ def run
30
29
  create_html
31
- if @browser
30
+ if @opts.browser
32
31
  open_browser
33
32
  exit($?.exitstatus || 0)
34
33
  else
@@ -41,7 +40,7 @@ module Markup::Preview::Command
41
40
  private
42
41
 
43
42
  def create_html
44
- render_result = GitHub::Markup.render("dummy.#{@format}", @content)
43
+ render_result = GitHub::Markup.render("dummy.#{@opts.format}", @opts.content)
45
44
  template_css = File.read(File.join(File.dirname(__FILE__), 'markup-preview-command', 'css', 'template.css'))
46
45
  gollum_css = File.read(File.join(File.dirname(__FILE__), 'markup-preview-command', 'css', 'gollum.css'))
47
46
  html = ERB.new(File.read(File.join(File.dirname(__FILE__), 'markup-preview-command', 'view', 'template.erb')))
@@ -54,12 +53,46 @@ module Markup::Preview::Command
54
53
  system "#{browser_command} #{TMPFILE}"
55
54
  end
56
55
 
57
- def parse_options(opts)
56
+ end
57
+
58
+
59
+ class Options
60
+
61
+ require 'slop'
62
+
63
+ attr_reader :format, :browser, :content
64
+
65
+ def initialize(argv)
66
+ parse(argv)
67
+ end
68
+
69
+
70
+ private
71
+
72
+ def parse(argv)
73
+
74
+ usage if argv.length == 0
75
+
76
+ help = <<-EOF
77
+ useage:
78
+ markup-preview -f path/to/foo.md -o browser
79
+ or,
80
+ cat foo.md | markup-preview -m markdown -o browser
81
+ EOF
82
+
83
+ opts = Slop.parse(argv) do
84
+ on :h, :help, help, :tail => true do
85
+ puts help
86
+ exit
87
+ end
88
+ on :m, :markup=, 'markup'
89
+ on :f, :filepath=, 'filepath'
90
+ on :o, :output=, 'set "-o browser" if see result by browser'
91
+ end
58
92
 
59
93
  extensions = ['md','mkd','mkdn','mkdn','mdown','markdown','org','pod',
60
94
  'creole','rst','rest','textile','rdoc','mediawiki']
61
95
 
62
-
63
96
  @format = opts[:markup].downcase if opts.markup?
64
97
 
65
98
  if opts.output? && (opts[:output] === 'browser')
@@ -77,5 +110,12 @@ module Markup::Preview::Command
77
110
  @content = opts.filepath? ? File.read(opts[:filepath]) : $stdin.read
78
111
 
79
112
  end
113
+
114
+ def usage
115
+ puts "Incorrect usage."
116
+ puts "Check out --help for options"
117
+ exit 1
118
+ end
119
+
80
120
  end
81
121
  end
@@ -1,7 +1,7 @@
1
1
  module Markup
2
2
  module Preview
3
3
  module Command
4
- VERSION = "0.0.2"
4
+ VERSION = "0.0.3"
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,124 +1,176 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: markup-preview-command
3
- version: !ruby/object:Gem::Version
4
- version: 0.0.2
3
+ version: !ruby/object:Gem::Version
4
+ hash: 25
5
5
  prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 3
10
+ version: 0.0.3
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - mori_dev
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2012-01-09 00:00:00.000000000Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
17
+
18
+ date: 2012-01-09 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
15
21
  name: github-markup
16
- requirement: &83288480 !ruby/object:Gem::Requirement
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
17
24
  none: false
18
- requirements:
25
+ requirements:
19
26
  - - ~>
20
- - !ruby/object:Gem::Version
27
+ - !ruby/object:Gem::Version
28
+ hash: 3
29
+ segments:
30
+ - 0
31
+ - 7
32
+ - 0
21
33
  version: 0.7.0
22
34
  type: :runtime
23
- prerelease: false
24
- version_requirements: *83288480
25
- - !ruby/object:Gem::Dependency
35
+ version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
26
37
  name: creole
27
- requirement: &83288090 !ruby/object:Gem::Requirement
38
+ prerelease: false
39
+ requirement: &id002 !ruby/object:Gem::Requirement
28
40
  none: false
29
- requirements:
41
+ requirements:
30
42
  - - ~>
31
- - !ruby/object:Gem::Version
43
+ - !ruby/object:Gem::Version
44
+ hash: 31
45
+ segments:
46
+ - 0
47
+ - 3
48
+ - 6
32
49
  version: 0.3.6
33
50
  type: :runtime
34
- prerelease: false
35
- version_requirements: *83288090
36
- - !ruby/object:Gem::Dependency
51
+ version_requirements: *id002
52
+ - !ruby/object:Gem::Dependency
37
53
  name: redcarpet
38
- requirement: &83287490 !ruby/object:Gem::Requirement
54
+ prerelease: false
55
+ requirement: &id003 !ruby/object:Gem::Requirement
39
56
  none: false
40
- requirements:
41
- - - =
42
- - !ruby/object:Gem::Version
57
+ requirements:
58
+ - - "="
59
+ - !ruby/object:Gem::Version
60
+ hash: 15
61
+ segments:
62
+ - 2
63
+ - 0
64
+ - 0
43
65
  version: 2.0.0
44
66
  type: :runtime
45
- prerelease: false
46
- version_requirements: *83287490
47
- - !ruby/object:Gem::Dependency
67
+ version_requirements: *id003
68
+ - !ruby/object:Gem::Dependency
48
69
  name: RedCloth
49
- requirement: &83287230 !ruby/object:Gem::Requirement
70
+ prerelease: false
71
+ requirement: &id004 !ruby/object:Gem::Requirement
50
72
  none: false
51
- requirements:
73
+ requirements:
52
74
  - - ~>
53
- - !ruby/object:Gem::Version
75
+ - !ruby/object:Gem::Version
76
+ hash: 55
77
+ segments:
78
+ - 4
79
+ - 2
80
+ - 0
54
81
  version: 4.2.0
55
82
  type: :runtime
56
- prerelease: false
57
- version_requirements: *83287230
58
- - !ruby/object:Gem::Dependency
83
+ version_requirements: *id004
84
+ - !ruby/object:Gem::Dependency
59
85
  name: rdoc
60
- requirement: &83286830 !ruby/object:Gem::Requirement
86
+ prerelease: false
87
+ requirement: &id005 !ruby/object:Gem::Requirement
61
88
  none: false
62
- requirements:
89
+ requirements:
63
90
  - - ~>
64
- - !ruby/object:Gem::Version
91
+ - !ruby/object:Gem::Version
92
+ hash: 31
93
+ segments:
94
+ - 3
95
+ - 6
96
+ - 0
65
97
  version: 3.6.0
66
98
  type: :runtime
67
- prerelease: false
68
- version_requirements: *83286830
69
- - !ruby/object:Gem::Dependency
99
+ version_requirements: *id005
100
+ - !ruby/object:Gem::Dependency
70
101
  name: org-ruby
71
- requirement: &83286470 !ruby/object:Gem::Requirement
102
+ prerelease: false
103
+ requirement: &id006 !ruby/object:Gem::Requirement
72
104
  none: false
73
- requirements:
105
+ requirements:
74
106
  - - ~>
75
- - !ruby/object:Gem::Version
107
+ - !ruby/object:Gem::Version
108
+ hash: 11
109
+ segments:
110
+ - 0
111
+ - 5
112
+ - 0
76
113
  version: 0.5.0
77
114
  type: :runtime
78
- prerelease: false
79
- version_requirements: *83286470
80
- - !ruby/object:Gem::Dependency
115
+ version_requirements: *id006
116
+ - !ruby/object:Gem::Dependency
81
117
  name: wikicloth
82
- requirement: &83286120 !ruby/object:Gem::Requirement
118
+ prerelease: false
119
+ requirement: &id007 !ruby/object:Gem::Requirement
83
120
  none: false
84
- requirements:
121
+ requirements:
85
122
  - - ~>
86
- - !ruby/object:Gem::Version
123
+ - !ruby/object:Gem::Version
124
+ hash: 3
125
+ segments:
126
+ - 0
127
+ - 7
128
+ - 0
87
129
  version: 0.7.0
88
130
  type: :runtime
89
- prerelease: false
90
- version_requirements: *83286120
91
- - !ruby/object:Gem::Dependency
131
+ version_requirements: *id007
132
+ - !ruby/object:Gem::Dependency
92
133
  name: rake
93
- requirement: &83285850 !ruby/object:Gem::Requirement
134
+ prerelease: false
135
+ requirement: &id008 !ruby/object:Gem::Requirement
94
136
  none: false
95
- requirements:
137
+ requirements:
96
138
  - - ~>
97
- - !ruby/object:Gem::Version
139
+ - !ruby/object:Gem::Version
140
+ hash: 59
141
+ segments:
142
+ - 0
143
+ - 9
144
+ - 0
98
145
  version: 0.9.0
99
146
  type: :runtime
100
- prerelease: false
101
- version_requirements: *83285850
102
- - !ruby/object:Gem::Dependency
147
+ version_requirements: *id008
148
+ - !ruby/object:Gem::Dependency
103
149
  name: slop
104
- requirement: &83072640 !ruby/object:Gem::Requirement
150
+ prerelease: false
151
+ requirement: &id009 !ruby/object:Gem::Requirement
105
152
  none: false
106
- requirements:
153
+ requirements:
107
154
  - - ~>
108
- - !ruby/object:Gem::Version
155
+ - !ruby/object:Gem::Version
156
+ hash: 31
157
+ segments:
158
+ - 2
159
+ - 4
160
+ - 0
109
161
  version: 2.4.0
110
162
  type: :runtime
111
- prerelease: false
112
- version_requirements: *83072640
113
- description: ! 'Previw your wiki file as local html file. (format: markdown, rest,
114
- textile, rdoc and so on.)'
115
- email:
163
+ version_requirements: *id009
164
+ description: "Previw your wiki file as local html file. (format: markdown, rest, textile, rdoc and so on.)"
165
+ email:
116
166
  - mori.dev.asdf@gmail.com
117
- executables:
167
+ executables:
118
168
  - markup-preview
119
169
  extensions: []
170
+
120
171
  extra_rdoc_files: []
121
- files:
172
+
173
+ files:
122
174
  - .gitignore
123
175
  - Gemfile
124
176
  - LICENSE
@@ -142,26 +194,36 @@ files:
142
194
  - test/test.textile
143
195
  homepage: https://github.com/wakaran/markup-preview-command
144
196
  licenses: []
197
+
145
198
  post_install_message:
146
199
  rdoc_options: []
147
- require_paths:
200
+
201
+ require_paths:
148
202
  - lib
149
- required_ruby_version: !ruby/object:Gem::Requirement
203
+ required_ruby_version: !ruby/object:Gem::Requirement
150
204
  none: false
151
- requirements:
152
- - - ! '>='
153
- - !ruby/object:Gem::Version
154
- version: '0'
155
- required_rubygems_version: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ hash: 3
209
+ segments:
210
+ - 0
211
+ version: "0"
212
+ required_rubygems_version: !ruby/object:Gem::Requirement
156
213
  none: false
157
- requirements:
158
- - - ! '>='
159
- - !ruby/object:Gem::Version
160
- version: '0'
214
+ requirements:
215
+ - - ">="
216
+ - !ruby/object:Gem::Version
217
+ hash: 3
218
+ segments:
219
+ - 0
220
+ version: "0"
161
221
  requirements: []
222
+
162
223
  rubyforge_project: markup-preview-command
163
224
  rubygems_version: 1.8.13
164
225
  signing_key:
165
226
  specification_version: 3
166
227
  summary: Previw your wiki file as local html file.
167
228
  test_files: []
229
+