curldown 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.
Files changed (2) hide show
  1. data/lib/curldown.rb +20 -2
  2. metadata +37 -5
data/lib/curldown.rb CHANGED
@@ -1,5 +1,10 @@
1
- ['curb','kramdown'].each do |gem| require gem end
1
+ ['curb','github/markup','nokogiri','pygments.rb'].each do |gem| require gem end
2
2
  class Curldown
3
+ @@lexers = []
4
+ Pygments.lexers.each do |a|
5
+ @@lexers << a[1][:aliases]
6
+ end
7
+ @@lexers.flatten!
3
8
  def initialize
4
9
  @options = {:user => nil, :repo => nil, :branch => "master", :file => "readme.md", :url => nil}
5
10
  end
@@ -28,7 +33,20 @@ class Curldown
28
33
  end
29
34
  def fetch(url)
30
35
  if check_response_code(url)
31
- Kramdown::Document.new(Curl.get(url).body_str).to_html
36
+ html = GitHub::Markup.render("markdown.md", Curl.get(url).body_str)
37
+ doc = Nokogiri::HTML(html)
38
+ doc.css("pre").each do |pre|
39
+ if @@lexers.include?(pre.attributes["lang"].value)
40
+ lang = pre.attributes["lang"].value
41
+ else
42
+ lang = "sh"
43
+ end
44
+ highlight = Pygments.highlight(pre.content, :lexer => lang)
45
+ parsed = Nokogiri::HTML(highlight).css(".highlight")
46
+ pre.add_next_sibling(parsed)
47
+ pre.remove
48
+ end
49
+ doc.css("body").children.to_html
32
50
  else
33
51
  raise "#{url} is responding with a 404 error"
34
52
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: curldown
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-06-22 00:00:00.000000000 Z
12
+ date: 2013-06-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: curb
@@ -28,13 +28,13 @@ dependencies:
28
28
  - !ruby/object:Gem::Version
29
29
  version: 0.8.0
30
30
  - !ruby/object:Gem::Dependency
31
- name: kramdown
31
+ name: github-markup
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  none: false
34
34
  requirements:
35
35
  - - ! '>='
36
36
  - !ruby/object:Gem::Version
37
- version: 1.0.0
37
+ version: 0.7.5
38
38
  type: :runtime
39
39
  prerelease: false
40
40
  version_requirements: !ruby/object:Gem::Requirement
@@ -42,7 +42,39 @@ dependencies:
42
42
  requirements:
43
43
  - - ! '>='
44
44
  - !ruby/object:Gem::Version
45
- version: 1.0.0
45
+ version: 0.7.5
46
+ - !ruby/object:Gem::Dependency
47
+ name: nokogiri
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: 1.5.0
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: 1.5.0
62
+ - !ruby/object:Gem::Dependency
63
+ name: pygments.rb
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: 0.5.0
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: 0.5.0
46
78
  description: A simple tool to parse hosted markdown files into html
47
79
  email: ian@iankent.me
48
80
  executables: []