yield 0.1.0 → 0.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ea16de90187bdc71533059a24947b51da99ed5f2
4
- data.tar.gz: 19c46b8d1505910dd6da4fd3fec830da754ebbb6
3
+ metadata.gz: 33095789491dcaf8af35fed8ba7508907d3d5e04
4
+ data.tar.gz: 7fee599e090db934d3781affa101109444345a02
5
5
  SHA512:
6
- metadata.gz: b4fb3356e9d9b3a0a19da44650b58de061fe308406feb161d37fa4accc3ff94272bb4a5abb8ad04ca2afd256c97b2ce61816fcf2704919d0c042fe30687b5f5e
7
- data.tar.gz: 22a9dc0dabb3ceab5faff97f0a23e15f5f2240d375ecef0d9936861966cb3a695fa0a5b9088b60b2602fc9632d9b9ee82c3e61acf6d62eeda4eade69b086cacb
6
+ metadata.gz: 83665eef2b98a62cd4542625939a7515d1b6466e611546d1f4ae31a0cbdf42380691bed5e765a51595d6564a3df785242d5d4bca39e0d282595a7963a7b207f7
7
+ data.tar.gz: 194c8d7daa3bff51a3b35e5cac827d5495b95dce2f3e1381f2bc27f8ed3a296bd201fd40aa4f7f6fb5f5a9bb319655288f106a7cc7c38b1912cfaf83f670d672
data/Gemfile CHANGED
@@ -4,6 +4,5 @@ source 'https://rubygems.org'
4
4
  gemspec
5
5
 
6
6
  gem "sinatra", "1.4.3"
7
- gem "octokit", "1.25.0"
8
7
  gem "thin", "1.5.1"
9
8
  gem "launchy", "2.3.0"
data/README.md CHANGED
@@ -6,10 +6,10 @@ Yield is a command line utility that generates a preview of README.md and markdo
6
6
 
7
7
  ### Dependencies
8
8
 
9
- * [Ruby v2.0.0](http://www.ruby-lang.org/en/)
9
+ * [Ruby v1.9.3](http://www.ruby-lang.org/en/) or greater
10
10
  * [sinatra](http://sinatrarb.com)
11
11
  * [thin](http://code.macournoyer.com/thin/)
12
- * [octokit](http://octokit.github.io)
12
+ * [launchy](https://github.com/copiousfreetime/launchy)
13
13
 
14
14
  Install the gem by issuing the following command:
15
15
 
@@ -17,6 +17,8 @@ Install the gem by issuing the following command:
17
17
  $ gem install yield
18
18
  ```
19
19
 
20
+ This will also install any necessary dependencies for the gem that are not currently installed.
21
+
20
22
  ## Usage
21
23
 
22
24
  From the root of your project, or any folder containing a README.md file, run the following command:
@@ -32,9 +34,7 @@ You may also specify a path to a markdown file you'd like to render, such as:
32
34
  $ yield UPDATES.md
33
35
  ```
34
36
 
35
- Then navigate to [localhost:4000](http://localhost:4000) in your browser to view the preview of the file.
36
-
37
- You can stop the server by pressing Control+C.
37
+ Then navigate to [localhost:4000](http://localhost:4000) in your browser to view the preview of the file. You can stop the server by pressing Control+C.
38
38
 
39
39
  ### Errors
40
40
 
data/bin/yield CHANGED
@@ -11,4 +11,4 @@ else
11
11
  Yield::Markdown.init
12
12
  end
13
13
 
14
- Yield::Markdown.run!
14
+ Yield::Server.run!
@@ -1,13 +1,13 @@
1
1
  require "sinatra"
2
- require "octokit"
3
2
  require "thin"
4
3
  require "launchy"
4
+ require "net/https"
5
+ require "uri"
6
+ require "json"
5
7
 
6
8
  require_relative "yield/version"
7
-
9
+ require_relative "yield/markdown"
10
+ require_relative "yield/server"
8
11
 
9
12
  module Yield
10
-
11
- require_relative "yield/markdown"
12
-
13
13
  end
@@ -1,8 +1,6 @@
1
1
  module Yield
2
2
  class Markdown < Sinatra::Base
3
3
 
4
- set :server, %w[thin]
5
- set :port, 4000
6
4
  @@content = nil
7
5
  @@filename = nil
8
6
 
@@ -15,45 +13,22 @@ module Yield
15
13
  end
16
14
  end
17
15
 
18
- # Override run! method from Sinatra
19
- def self.run!(options = {})
20
- set options
21
- handler = detect_rack_handler
22
- handler_name = handler.name.gsub(/.*::/, '')
23
- server_settings = settings.respond_to?(:server_settings) ? settings.server_settings : {}
24
- handler.run self, server_settings.merge(:Port => port, :Host => bind) do |server|
25
- unless handler_name =~ /cgi/i
26
- $stderr.puts "=* Yield is serving your markdown at http://localhost:#{port}/"
27
- end
28
- [:INT, :TERM].each { |sig| trap(sig) { quit!(server, handler_name) } }
29
- server.threaded = settings.threaded if server.respond_to? :threaded=
30
- set :running, true
31
- open_in_browser
32
- yield server if block_given?
33
- end
34
- rescue Errno::EADDRINUSE
35
- $stderr.puts "=* Port #{port} is already being used!"
36
- end
37
-
38
- # Override quit! method from Sinatra
39
- def self.quit!(server, handler_name)
40
- # Use Thin's hard #stop! if available, otherwise just #stop.
41
- server.respond_to?(:stop!) ? server.stop! : server.stop
42
- $stderr.puts "=* Stopping yield..." unless handler_name =~/cgi/i
16
+ def self.convert_to_html(text)
17
+ uri = URI('https://api.github.com/markdown')
18
+ req = Net::HTTP::Post.new(uri.to_s)
19
+ req.body = { :text => "#{text}", :mode => "gfm" }.to_json
20
+
21
+ response = Net::HTTP.start(uri.host, uri.port, :use_ssl => true) { |http| http.request(req) }
22
+ response.body
43
23
  end
44
24
 
45
- get '/' do
46
- @@content = Octokit.markdown(File.read(@@filename), mode: 'gfm')
47
- erb :index, locals: { content: @@content, filename: @@filename }
25
+ def self.filename
26
+ @@filename
48
27
  end
49
28
 
50
- not_found do
51
- erb :'404', locals: { filename: params[:filename] }
29
+ def self.content
30
+ @@content
52
31
  end
53
32
 
54
- def self.open_in_browser
55
- Launchy.open("http://localhost:#{port}/")
56
- end
57
-
58
33
  end
59
34
  end
@@ -0,0 +1,49 @@
1
+ module Yield
2
+ class Server < Sinatra::Base
3
+
4
+ set :server, %w[thin]
5
+ set :port, 4000
6
+
7
+ # Override run! method from Sinatra
8
+ def self.run!(options = {})
9
+ set options
10
+ handler = detect_rack_handler
11
+ handler_name = handler.name.gsub(/.*::/, '')
12
+ server_settings = settings.respond_to?(:server_settings) ? settings.server_settings : {}
13
+ handler.run self, server_settings.merge(:Port => port, :Host => bind) do |server|
14
+ unless handler_name =~ /cgi/i
15
+ $stderr.puts "=* Yield is serving your markdown at http://localhost:#{port}/"
16
+ end
17
+ [:INT, :TERM].each { |sig| trap(sig) { quit!(server, handler_name) } }
18
+ server.threaded = settings.threaded if server.respond_to? :threaded=
19
+ set :running, true
20
+ open_in_browser
21
+ yield server if block_given?
22
+ end
23
+ rescue Errno::EADDRINUSE
24
+ $stderr.puts "=* Port #{port} is already being used!"
25
+ end
26
+
27
+ # Override quit! method from Sinatra
28
+ def self.quit!(server, handler_name)
29
+ # Use Thin's hard #stop! if available, otherwise just #stop.
30
+ server.respond_to?(:stop!) ? server.stop! : server.stop
31
+ $stderr.puts "=* Stopping yield..." unless handler_name =~/cgi/i
32
+ end
33
+
34
+ get '/' do
35
+ @@content = Yield::Markdown.convert_to_html(File.read(Yield::Markdown.filename).to_s)
36
+ erb :index, locals: { content: @@content, filename: Yield::Markdown.filename }
37
+ end
38
+
39
+ not_found do
40
+ erb :'404', locals: { filename: params[:filename] }
41
+ end
42
+
43
+
44
+ def self.open_in_browser
45
+ Launchy.open("http://localhost:#{port}/")
46
+ end
47
+
48
+ end
49
+ end
@@ -1,3 +1,3 @@
1
1
  module Yield
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
@@ -4,27 +4,25 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'yield/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = "yield"
7
+ spec.name = 'yield'
8
8
  spec.version = Yield::VERSION
9
- spec.authors = ["Casey Scarborough"]
10
- spec.email = ["caseyscarborough@gmail.com"]
11
- spec.description = %q{A utility for previewing markdown files in GitHub Flavored Markdown.}
12
- spec.summary = %q{Yield is a command line utility written in Ruby that allows a user to render
13
- markdown files for previewing in a browser. It renders the markdown files using GitHub flavored
14
- markdown at http://localhost:4000/ using Sinatra and Thin.}
15
- spec.homepage = ""
16
- spec.license = "MIT"
9
+ spec.author = 'Casey Scarborough'
10
+ spec.email = 'caseyscarborough@gmail.com'
11
+ spec.description = 'A utility for previewing markdown files in GitHub Flavored Markdown.'
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 = 'https://github.com/caseyscarborough/yield'
14
+ spec.license = 'MIT'
17
15
 
18
16
  spec.files = `git ls-files`.split($/)
19
17
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
20
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
21
- spec.require_paths = ["lib"]
19
+ spec.require_paths = ['lib']
22
20
 
23
- spec.add_development_dependency "bundler", "~> 1.3"
24
- spec.add_development_dependency "rake"
21
+ spec.required_ruby_version = '>= 1.9.3'
22
+ spec.add_development_dependency 'bundler', '~> 1.3'
23
+ spec.add_development_dependency 'rake'
25
24
 
26
- spec.add_dependency "sinatra", "1.4.3"
27
- spec.add_dependency "octokit", "1.25.0"
28
- spec.add_dependency "thin", "1.5.1"
29
- spec.add_dependency "launchy", "2.3.0"
25
+ spec.add_dependency 'sinatra', '1.4.3'
26
+ spec.add_dependency 'thin', '1.5.1'
27
+ spec.add_dependency 'launchy', '2.3.0'
30
28
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yield
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Casey Scarborough
@@ -52,20 +52,6 @@ dependencies:
52
52
  - - '='
53
53
  - !ruby/object:Gem::Version
54
54
  version: 1.4.3
55
- - !ruby/object:Gem::Dependency
56
- name: octokit
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - '='
60
- - !ruby/object:Gem::Version
61
- version: 1.25.0
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - '='
67
- - !ruby/object:Gem::Version
68
- version: 1.25.0
69
55
  - !ruby/object:Gem::Dependency
70
56
  name: thin
71
57
  requirement: !ruby/object:Gem::Requirement
@@ -95,8 +81,7 @@ dependencies:
95
81
  - !ruby/object:Gem::Version
96
82
  version: 2.3.0
97
83
  description: A utility for previewing markdown files in GitHub Flavored Markdown.
98
- email:
99
- - caseyscarborough@gmail.com
84
+ email: caseyscarborough@gmail.com
100
85
  executables:
101
86
  - yield
102
87
  extensions: []
@@ -110,11 +95,12 @@ files:
110
95
  - bin/yield
111
96
  - lib/yield.rb
112
97
  - lib/yield/markdown.rb
98
+ - lib/yield/server.rb
113
99
  - lib/yield/version.rb
114
100
  - lib/yield/views/404.erb
115
101
  - lib/yield/views/index.erb
116
102
  - yield.gemspec
117
- homepage: ''
103
+ homepage: https://github.com/caseyscarborough/yield
118
104
  licenses:
119
105
  - MIT
120
106
  metadata: {}
@@ -126,7 +112,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
126
112
  requirements:
127
113
  - - '>='
128
114
  - !ruby/object:Gem::Version
129
- version: '0'
115
+ version: 1.9.3
130
116
  required_rubygems_version: !ruby/object:Gem::Requirement
131
117
  requirements:
132
118
  - - '>='
@@ -139,5 +125,5 @@ signing_key:
139
125
  specification_version: 4
140
126
  summary: Yield is a command line utility written in Ruby that allows a user to render
141
127
  markdown files for previewing in a browser. It renders the markdown files using
142
- GitHub flavored markdown at http://localhost:4000/ using Sinatra and Thin.
128
+ GitHub flavored markdown at http://localhost:4000/ using Sinatra and Thin.
143
129
  test_files: []