crystal-dash-docset-generator 0.1.4 → 0.1.5

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: 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