yield 0.2.0 → 0.2.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.
- checksums.yaml +4 -4
- data/.gitignore +4 -1
- data/bin/yield +11 -10
- data/lib/yield.rb +8 -8
- data/lib/yield/markdown.rb +2 -4
- data/lib/yield/server.rb +18 -7
- data/lib/yield/version.rb +1 -1
- data/lib/yield/views/error.erb +2 -0
- data/yield.gemspec +2 -1
- metadata +18 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7d05c742780e6c9166f606a4686b5acee21bc486
|
4
|
+
data.tar.gz: 17055d7b5de8aa074c904985aee520670f1b5929
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d2c6589a5328150b9b5df2c291e10869c6e11e52b3625acdf26cc273d20eed2de5fa671b9c8fb7232c7e5dde2713aa80bb57864116df4fd5d1df03aed42c067a
|
7
|
+
data.tar.gz: e246e63eb5be03da6b18236d7df5d8e4707edcd32bd669e5ac5be00332e1a32a8e9366b1e51442d0070dc51af602117c4463388cedae5e4f7adab94fd5a3039a
|
data/.gitignore
CHANGED
data/bin/yield
CHANGED
@@ -3,25 +3,26 @@ require 'rbconfig'
|
|
3
3
|
require 'optparse'
|
4
4
|
require_relative '../lib/yield'
|
5
5
|
|
6
|
-
|
6
|
+
port = 4000
|
7
|
+
|
8
|
+
# Determine OS type and disable echo of hat notation characters (^C) if not Windows.
|
7
9
|
is_windows = (RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/)
|
8
10
|
`stty -echoctl` unless is_windows
|
9
11
|
|
10
|
-
|
11
|
-
|
12
|
-
OptionParser.new do |o|
|
13
|
-
o.banner = "Usage: #{o.program_name} MARKDOWN_FILE.md"
|
12
|
+
OptionParser.new do |opt|
|
13
|
+
opt.banner = "=* Usage: #{opt.program_name} MARKDOWN_FILE.md"
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
puts 'yield
|
15
|
+
opt.on('-h', '--help', 'View the help menu') { puts opt; Kernel.exit }
|
16
|
+
opt.on('-p PORT', '--port PORT', 'Specify port to run Yield on') { |o| port = o }
|
17
|
+
opt.on('-v', '--version', 'Display version number') do
|
18
|
+
puts '=* yield v' + Yield::VERSION
|
19
19
|
Kernel.exit
|
20
20
|
end
|
21
21
|
|
22
22
|
begin
|
23
|
-
|
23
|
+
opt.parse!
|
24
24
|
rescue OptionParser::InvalidOption => o
|
25
|
+
# Print invalid option message, but still run yield.
|
25
26
|
puts o.message
|
26
27
|
end
|
27
28
|
end
|
data/lib/yield.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
1
|
+
require 'sinatra'
|
2
|
+
require 'launchy'
|
3
|
+
require 'net/https'
|
4
|
+
require 'uri'
|
5
|
+
require 'json'
|
6
6
|
|
7
|
-
require_relative
|
8
|
-
require_relative
|
9
|
-
require_relative
|
7
|
+
require_relative 'yield/version'
|
8
|
+
require_relative 'yield/markdown'
|
9
|
+
require_relative 'yield/server'
|
10
10
|
|
11
11
|
module Yield
|
12
12
|
end
|
data/lib/yield/markdown.rb
CHANGED
@@ -1,12 +1,10 @@
|
|
1
1
|
module Yield
|
2
2
|
class Markdown < Sinatra::Base
|
3
3
|
|
4
|
-
@content = nil
|
5
|
-
@filename = nil
|
4
|
+
@content, @filename = nil
|
6
5
|
|
7
6
|
def self.init(filename = 'README.md')
|
8
7
|
@filename = filename.to_s
|
9
|
-
$stdout = StringIO.new
|
10
8
|
abort "Filename '#{@filename}' doesn't exist." unless File.exist?(@filename)
|
11
9
|
end
|
12
10
|
|
@@ -18,7 +16,7 @@ module Yield
|
|
18
16
|
response.body
|
19
17
|
end
|
20
18
|
|
21
|
-
def self.filename
|
19
|
+
def self.filename
|
22
20
|
@filename
|
23
21
|
end
|
24
22
|
|
data/lib/yield/server.rb
CHANGED
@@ -1,4 +1,7 @@
|
|
1
1
|
module Yield
|
2
|
+
|
3
|
+
class BadConnection < StandardError; end
|
4
|
+
|
2
5
|
class Server < Sinatra::Base
|
3
6
|
|
4
7
|
set :server, 'webrick'
|
@@ -15,7 +18,9 @@ module Yield
|
|
15
18
|
yield server if block_given?
|
16
19
|
end
|
17
20
|
rescue Errno::EADDRINUSE
|
18
|
-
$stderr.puts "=* Port #{port} is already in use
|
21
|
+
$stderr.puts "=* Port #{port} is already in use."
|
22
|
+
rescue Errno::EACCES
|
23
|
+
$stderr.puts "=* Port #{port} could not be used: Permission denied."
|
19
24
|
end
|
20
25
|
|
21
26
|
# Override quit! method from Sinatra
|
@@ -25,24 +30,30 @@ module Yield
|
|
25
30
|
end
|
26
31
|
|
27
32
|
get '/' do
|
28
|
-
|
29
|
-
|
30
|
-
|
33
|
+
begin
|
34
|
+
filename = Markdown.filename
|
35
|
+
content = Markdown.convert_to_html(File.read(filename))
|
36
|
+
erb :index, locals: { content: content, filename: filename }
|
37
|
+
rescue SocketError => e
|
38
|
+
erb :error
|
39
|
+
end
|
31
40
|
end
|
32
41
|
|
33
42
|
get '/:filename' do
|
34
|
-
filename = params[:filename]
|
35
43
|
begin
|
44
|
+
filename = params[:filename]
|
36
45
|
content = Markdown.convert_to_html(File.read(filename))
|
37
46
|
erb :index, locals: { content: content, filename: filename }
|
38
47
|
rescue Errno::EISDIR
|
39
48
|
raise Sinatra::NotFound
|
40
49
|
rescue Errno::ENOENT
|
41
50
|
raise Sinatra::NotFound
|
51
|
+
rescue SocketError => e
|
52
|
+
erb :error
|
42
53
|
end
|
43
|
-
end
|
54
|
+
end
|
44
55
|
|
45
|
-
not_found do
|
56
|
+
not_found do
|
46
57
|
filename = request.fullpath.split('/')[-1]
|
47
58
|
erb :'404', locals: { filename: filename }
|
48
59
|
end
|
data/lib/yield/version.rb
CHANGED
data/yield.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.email = 'caseyscarborough@gmail.com'
|
11
11
|
spec.description = 'A utility for previewing markdown files in GitHub Flavored Markdown.'
|
12
12
|
spec.summary = 'Yield is a command line utility written in Ruby that allows a user to render markdown files for previewing in a browser. It renders the markdown files using GitHub flavored markdown at http://localhost:4000/ using Sinatra and Thin.'
|
13
|
-
spec.homepage = '
|
13
|
+
spec.homepage = 'http://caseyscarborough.github.io/yield'
|
14
14
|
spec.license = 'MIT'
|
15
15
|
|
16
16
|
spec.files = `git ls-files`.split($/)
|
@@ -21,6 +21,7 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.required_ruby_version = '>= 1.9.3'
|
22
22
|
spec.add_development_dependency 'bundler', '~> 1.3'
|
23
23
|
spec.add_development_dependency 'rake'
|
24
|
+
spec.add_development_dependency 'rspec'
|
24
25
|
|
25
26
|
spec.add_dependency 'sinatra', '1.4.3'
|
26
27
|
spec.add_dependency 'launchy', '2.3.0'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yield
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Casey Scarborough
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-08-
|
11
|
+
date: 2013-08-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: sinatra
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -84,9 +98,10 @@ files:
|
|
84
98
|
- lib/yield/server.rb
|
85
99
|
- lib/yield/version.rb
|
86
100
|
- lib/yield/views/404.erb
|
101
|
+
- lib/yield/views/error.erb
|
87
102
|
- lib/yield/views/index.erb
|
88
103
|
- yield.gemspec
|
89
|
-
homepage:
|
104
|
+
homepage: http://caseyscarborough.github.io/yield
|
90
105
|
licenses:
|
91
106
|
- MIT
|
92
107
|
metadata: {}
|