curldown 2.0.0 → 2.1.0

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 (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/curldown.rb +10 -8
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8ac6237f445424ea2890467651d8562fb7ceb4fb539e0d4617623c5c74c709d6
4
- data.tar.gz: 7c7eb51380d773a0554227823c92b5fdb7d2ded8cece4b7a064a6e8f460c7c19
3
+ metadata.gz: 5ea9b6021f6c175cfcc850480ff92f96980dc1286c745ef25fe9a5a011670abb
4
+ data.tar.gz: f9e98da7a5337a801288dcafdcb5286d19673cf3777a464605130f5740a78354
5
5
  SHA512:
6
- metadata.gz: c8a020822385969123c0c260be7cc2af3d7c2187826070111c73fecdfa73c97d9e13230875f32d701641d1b5a63961530eb3bb09fb9213a3954b30885e725d0f
7
- data.tar.gz: 65b99e433ee55ea84bf6d251c509ae7a6f05c4c55ea39397be7bf519f5923d98af1ef59b847af03cb739389ebe6fdf292a75fb7cdcbb8bfc8df1215c6cf8e7e7
6
+ metadata.gz: 5e3534e2a6ef8e7e35943ae47130b8863ba05289500e0bdd9a76dfbfd67e2ea8efbe67907a66f89bd7d280680fd947a4f074efc024c8ba489a15eec97eaa00d8
7
+ data.tar.gz: 43a93ba4c4f92c96b9d23111649bd2f53f78e165ca9a27e260ad8bf3bb2f48a7bebf80184bbac480a26525da1d94a6c945671d119e271fcb3ceb66249aeca161
data/lib/curldown.rb CHANGED
@@ -25,8 +25,11 @@ module Curldown
25
25
  response
26
26
  end
27
27
  class Render
28
- attr_accessor :user, :repo, :url, :github, :bitbucket, :raw, :html
28
+ attr_accessor :user, :repo, :url, :github, :bitbucket, :raw, :html, :lexers
29
29
  def initialize(user: false, repo: false, url: false, github: false, bitbucket: false)
30
+ @lexers = []
31
+ Pygments.lexers.each{|k,v| @lexers << v[:aliases] }
32
+ @lexers.flatten!
30
33
  if url
31
34
  @raw = get(url, json: false)
32
35
  else
@@ -46,15 +49,11 @@ module Curldown
46
49
  @html= md.render(@raw)
47
50
  end
48
51
  def highlight!
49
- lexers = []
50
- Pygments.lexers.each do |k,v|
51
- lexers << v[:aliases]
52
- end
53
- lexers.flatten!
54
52
  doc = Nokogiri::HTML(@html)
55
53
  doc.css("pre").each do |pre|
56
- if lexers.include?(pre.children[0].attributes['class'].value)
57
- lang = pre.children[0].attributes['class'].value
54
+ attrs = pre.children[0].attributes['class']
55
+ if attrs
56
+ lang = validate_lexer(attrs.value)
58
57
  else
59
58
  lang = "sh"
60
59
  end
@@ -65,6 +64,9 @@ module Curldown
65
64
  end
66
65
  @html = doc.css("body").children.to_html
67
66
  end
67
+ def validate_lexer(string)
68
+ @lexers.include?(string) ? string : "sh"
69
+ end
68
70
 
69
71
  end
70
72
  class GitHub
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: curldown
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ian Kent
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-01-12 00:00:00.000000000 Z
11
+ date: 2021-03-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: curb