markup-preview-command 0.0.2 → 0.0.3

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/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
+