crystal-dash-docset-generator 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dfacad66ca3f1ec4ebd00299532a724026cfa321
4
- data.tar.gz: 18c89e86a56f3270042ddcce0b67797b42745c45
3
+ metadata.gz: ab1d19b98866b6a8ea08c8d4869c0a226f8d3eb8
4
+ data.tar.gz: f12325fd4140b4385a0e2d473752010377e1ab68
5
5
  SHA512:
6
- metadata.gz: 9bc2b99b099e3dd736521967cede00b05a5948f4bd495d7874ee29307c45fd4a57e60328a4460e0f68da7bc256e557b8065f31fac6b7772d1141678f68afe0ca
7
- data.tar.gz: abde9bd9cf62206f8043ef4219dfa913e5f319ce1075fe96df4b71c7bc3cebce65fa9b4aeb151aef68aafa473d361797b88691df9984566588fde4a8ade301ca
6
+ metadata.gz: b6f0dff0d6e989e940861ac5d3d5ec1ed4e6c833ab7afa7d5cb1c5562e2260bd3c81bb9907ed6fb08557a0caf38a068dd5c0c0be408c89511d68f2e5d6ec75c2
7
+ data.tar.gz: 7bc2009888fd0e8e0fe07ed26734c2dc3359bfadc6afb695d43609437604aa206578532d8ace0dcc6bcbf53eda6f3209fb317c65ce852b701278dda89800755e
data/README.md CHANGED
@@ -16,4 +16,4 @@ $ gem install crystal-dash-docset-generator
16
16
  $ crystal-dash-docset-generator
17
17
  ```
18
18
 
19
- This will fetch all API documents from http://crystal-lang.org/api/ and generate Docset in `crystal` in your current directory.
19
+ This will fetch all API documents from https://crystal-lang.org/api/ and generate Docset in `crystal` in your current directory.
@@ -19,6 +19,7 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib"]
20
20
 
21
21
  spec.add_runtime_dependency "nokogiri", "~> 1.6"
22
+ spec.add_runtime_dependency "open_uri_allow_redirect", "~> 0.0.1"
22
23
 
23
24
  spec.add_development_dependency "bundler", "~> 1.10"
24
25
  spec.add_development_dependency "rake", "~> 10.0"
@@ -3,7 +3,7 @@
3
3
  require "crystal/dash/docset/generator"
4
4
 
5
5
  @generator = Crystal::Dash::Docset::Generator::Generator.new(
6
- root_url: "http://crystal-lang.org/api/",
6
+ root_url: "https://crystal-lang.org/api/",
7
7
  package_name: "crystal"
8
8
  )
9
9
  @generator.prepare_directory
@@ -2,6 +2,7 @@ require "crystal/dash/docset/generator/version"
2
2
  require "open-uri"
3
3
  require "nokogiri"
4
4
  require "fileutils"
5
+ require "open_uri_allow_redirect"
5
6
 
6
7
  module Crystal::Dash::Docset::Generator
7
8
  class Generator
@@ -30,24 +31,29 @@ module Crystal::Dash::Docset::Generator
30
31
  def create_css
31
32
  Dir.chdir(@output_directory)
32
33
  Dir.mkdir("css")
33
- open("css/style.css", "wb") do |output|
34
- open("#{root_url}css/style.css") do |f|
35
- content = f.read
36
- # Remove unwanted styles
37
- content.gsub!(/left: 20%;/, "")
38
- content.gsub!(/right: 0;/, "")
39
- content.gsub!(/position: absolute;/, "")
40
- content.gsub!(/overflow: hidden;/, "")
41
- output.write(content)
34
+ OpenURI.allow_redirect do
35
+ open("css/style.css", "wb") do |output|
36
+ open("#{root_url}css/style.css") do |f|
37
+ content = f.read
38
+ # Remove unwanted styles
39
+ content.gsub!(/left: 20%;/, "")
40
+ content.gsub!(/right: 0;/, "")
41
+ content.gsub!(/position: absolute;/, "")
42
+ content.gsub!(/overflow: hidden;/, "")
43
+ output.write(content)
44
+ end
42
45
  end
43
46
  end
44
47
  end
45
48
 
46
49
  def set_page_urls
47
50
  charset = nil
48
- root_html = open(@root_url) do |f|
49
- charset = f.charset
50
- f.read
51
+ root_html = nil
52
+ OpenURI.allow_redirect do
53
+ root_html = open(@root_url) do |f|
54
+ charset = f.charset
55
+ f.read
56
+ end
51
57
  end
52
58
  root_doc = Nokogiri::HTML.parse(root_html, nil, charset)
53
59
  types_list = root_doc.css("div#types-list")
@@ -62,22 +68,25 @@ module Crystal::Dash::Docset::Generator
62
68
  yield url if block_given?
63
69
  charset = nil
64
70
  FileUtils.mkdir_p(File.dirname(url))
65
- open(url, "wb") do |output|
66
- html = open(URI.join(@root_url, url)) do |f|
67
- charset = f.charset
68
- f.read
69
- end
70
- doc = Nokogiri::HTML.parse(html, nil, charset)
71
- doc.title = doc.title.gsub(" - github.com/manastech/crystal", "")
72
- doc.css("div#types-list").remove
73
- doc.css("a.method-permalink").remove
74
- doc.css("script").remove
75
- doc.css("a").each do |node|
76
- node.remove if node.attr("href") == "https://travis-ci.org/manastech/crystal"
77
- node.remove if node.attr("href") == "https://www.bountysource.com/teams/crystal-lang/fundraisers/702-crystal-language"
71
+ OpenURI.allow_redirect do
72
+ open(url, "wb") do |output|
73
+ html = open(URI.join(@root_url, url)) do |f|
74
+ charset = f.charset
75
+ f.read
76
+ end
77
+ doc = Nokogiri::HTML.parse(html, nil, charset)
78
+ doc.title = doc.title.gsub(" - github.com/manastech/crystal", "")
79
+ doc.css("div#types-list").remove
80
+ doc.css("a.method-permalink").remove
81
+ doc.css("script").remove
82
+ doc.css("a").each do |node|
83
+ node.remove if node.attr("href") == "https://travis-ci.org/manastech/crystal"
84
+ node.remove if node.attr("href") == "https://www.bountysource.com/teams/crystal-lang/fundraisers/702-crystal-language"
85
+ end
86
+ output.write(doc.to_html)
78
87
  end
79
- output.write(doc.to_html)
80
88
  end
89
+ sleep 10
81
90
  end
82
91
  end
83
92
 
@@ -2,7 +2,7 @@ module Crystal
2
2
  module Dash
3
3
  module Docset
4
4
  module Generator
5
- VERSION = "0.1.4"
5
+ VERSION = "0.1.5"
6
6
  end
7
7
  end
8
8
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: crystal-dash-docset-generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hirofumi Wakasugi
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-12-03 00:00:00.000000000 Z
11
+ date: 2016-07-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.6'
27
+ - !ruby/object:Gem::Dependency
28
+ name: open_uri_allow_redirect
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.0.1
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.0.1
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bundler
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -107,7 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
107
121
  version: '0'
108
122
  requirements: []
109
123
  rubyforge_project:
110
- rubygems_version: 2.4.5.1
124
+ rubygems_version: 2.5.1
111
125
  signing_key:
112
126
  specification_version: 4
113
127
  summary: This is a docset generator for Crystal API documents using Dashing