sdoc 1.0.0.rc3 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +8 -10
  3. data/Gemfile +1 -1
  4. data/Rakefile +0 -2
  5. data/lib/rdoc/generator/template/rails/_context.rhtml +6 -6
  6. data/lib/rdoc/generator/template/rails/class.rhtml +0 -0
  7. data/lib/rdoc/generator/template/rails/file.rhtml +0 -0
  8. data/lib/rdoc/generator/template/rails/index.rhtml +0 -0
  9. data/lib/rdoc/generator/template/rails/resources/css/main.css +11 -0
  10. data/lib/rdoc/generator/template/rails/resources/css/panel.css +0 -0
  11. data/lib/rdoc/generator/template/rails/resources/css/reset.css +0 -0
  12. data/lib/rdoc/generator/template/rails/resources/js/highlight.pack.js +0 -0
  13. data/lib/rdoc/generator/template/rails/resources/js/jquery-1.3.2.min.js +0 -0
  14. data/lib/rdoc/generator/template/rails/resources/js/main.js +0 -0
  15. data/lib/rdoc/generator/template/rails/resources/js/searchdoc.js +0 -0
  16. data/lib/rdoc/generator/template/rails/resources/panel/index.html +0 -0
  17. data/lib/rdoc/generator/template/sdoc/_context.rhtml +5 -5
  18. data/lib/rdoc/generator/template/sdoc/class.rhtml +0 -0
  19. data/lib/rdoc/generator/template/sdoc/file.rhtml +0 -0
  20. data/lib/rdoc/generator/template/sdoc/index.rhtml +0 -0
  21. data/lib/rdoc/generator/template/sdoc/resources/css/main.css +0 -0
  22. data/lib/rdoc/generator/template/sdoc/resources/css/panel.css +0 -0
  23. data/lib/rdoc/generator/template/sdoc/resources/css/reset.css +0 -0
  24. data/lib/rdoc/generator/template/sdoc/resources/i/arrows.png +0 -0
  25. data/lib/rdoc/generator/template/sdoc/resources/i/results_bg.png +0 -0
  26. data/lib/rdoc/generator/template/sdoc/resources/i/tree_bg.png +0 -0
  27. data/lib/rdoc/generator/template/sdoc/resources/js/highlight.pack.js +0 -0
  28. data/lib/rdoc/generator/template/sdoc/resources/js/jquery-1.3.2.min.js +0 -0
  29. data/lib/rdoc/generator/template/sdoc/resources/js/main.js +0 -0
  30. data/lib/rdoc/generator/template/sdoc/resources/js/searchdoc.js +0 -0
  31. data/lib/rdoc/generator/template/sdoc/resources/panel/index.html +0 -0
  32. data/lib/sdoc.rb +0 -2
  33. data/lib/sdoc/generator.rb +0 -74
  34. data/lib/sdoc/github.rb +13 -14
  35. data/lib/sdoc/helpers.rb +1 -1
  36. data/lib/sdoc/version.rb +1 -1
  37. data/sdoc.gemspec +1 -1
  38. data/spec/helpers_spec.rb +6 -4
  39. metadata +5 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 120a6beabf68f2666569422df6ec1016eed0bd0c
4
- data.tar.gz: 031417023b90f2454f88667848fecd9d681e244a
3
+ metadata.gz: 29716368d7c072908ecc4b13c04570fe435166e6
4
+ data.tar.gz: 706d48301caebca63b188da2033a7dee963bfaa8
5
5
  SHA512:
6
- metadata.gz: ba5f3f336a41df54bb8354d422c01a7a7b039f9924f24563dfb0577b7540cb0ba131c239ab3d074bd2acc136adc05b7fdcc616a0d0409c525dcc1c1f18f62447
7
- data.tar.gz: f405fc8f95d5c64fbcb0686b30f790dca1374f70d066dfde434425aa9e0a76131acf1898b8c86b0443a8f5bde3cd01498e6f7ea225d39080526ead3008cd7410
6
+ metadata.gz: 94539d716999ecf5b07ba5b93a2974e5fdc22b8f231449195c70129a74856e4ce9ef68bfff8d80ded0bcf4852b14be66110510fa62a7a4200dc04620f3ce0203
7
+ data.tar.gz: 42a050c73aa5ab6fc403d3b4f37fd66261b9edb78b974ec2bf2b76289f9734e3ce8b4e8a348a0d6e0743b89ff924dcf571cddf1a078ddbe051fc5f310eb90abc
@@ -6,24 +6,22 @@ rvm:
6
6
  - 1.9.3
7
7
  - 2.0.0
8
8
  - 2.1.0
9
- - 2.2.0
10
- - 2.3.0
11
- - 2.4.0
9
+ - 2.2.9
10
+ - 2.3.6
11
+ - 2.4.2
12
+ - 2.5.0
12
13
  - ruby-head
13
- - jruby-19mode
14
14
  - jruby-head
15
15
  matrix:
16
16
  allow_failures:
17
17
  - env: rdoc=master
18
18
  - rvm: jruby-head
19
19
  include:
20
- - { rvm: 1.9.3, env: rdoc=master }
21
- - { rvm: 2.0.0, env: rdoc=master }
22
- - { rvm: 2.1.0, env: rdoc=master }
23
- - { rvm: 2.2.0, env: rdoc=master }
24
- - { rvm: 2.3.0, env: rdoc=master }
20
+ - { rvm: 2.2.9, env: rdoc=master }
21
+ - { rvm: 2.3.6, env: rdoc=master }
22
+ - { rvm: 2.4.2, env: rdoc=master }
23
+ - { rvm: 2.5.0, env: rdoc=master }
25
24
  - { rvm: ruby-head, env: rdoc=master }
26
- - { rvm: jruby-19mode, env: rdoc=master }
27
25
  - { rvm: jruby-head, env: rdoc=master }
28
26
  notifications:
29
27
  email:
data/Gemfile CHANGED
@@ -7,5 +7,5 @@ gem "minitest"
7
7
  gem "hoe"
8
8
 
9
9
  if ENV["rdoc"] == "master"
10
- gem "rdoc", :github => "rdoc/rdoc"
10
+ gem "rdoc", :github => "ruby/rdoc"
11
11
  end
data/Rakefile CHANGED
@@ -1,5 +1,3 @@
1
- require 'rubygems'
2
-
3
1
  require 'bundler'
4
2
  Bundler::GemHelper.install_tasks
5
3
 
@@ -103,7 +103,7 @@
103
103
  <!-- Section constants -->
104
104
  <div class="sectiontitle">Constants</div>
105
105
  <table border='0' cellpadding='5'>
106
- <% context.each_constant do |const| %>
106
+ <% constants.each do |const| %>
107
107
  <tr valign='top'>
108
108
  <td class="attr-name"><%= h const.name %></td>
109
109
  <td>=</td>
@@ -182,7 +182,7 @@
182
182
  <% end %>
183
183
 
184
184
  <% if method.token_stream %>
185
- <% markup = method.sdoc_markup_code %>
185
+ <% markup = method.markup_code %>
186
186
  <div class="sourcecode">
187
187
  <%
188
188
  # generate github link
@@ -209,8 +209,8 @@
209
209
  </div>
210
210
  <% end %>
211
211
  </div>
212
- <% end #methods.each %>
213
- <% end #visibilities.each %>
214
- <% end #context.methods_by_type %>
215
- <% end #context.each_section %>
212
+ <% end %><%# methods.each %>
213
+ <% end %><%# visibilities.each %>
214
+ <% end %><%# context.methods_by_type %>
215
+ <% end %><%# context.each_section %>
216
216
  </div>
@@ -193,6 +193,7 @@ pre
193
193
  margin: 2em;
194
194
  margin-left: 3.5em;
195
195
  margin-right: 3.5em;
196
+ max-width: 980px;
196
197
  }
197
198
 
198
199
 
@@ -361,3 +362,13 @@ tt {
361
362
  animation-name: highlight;
362
363
  animation-duration: 1s;
363
364
  }
365
+
366
+ p code {
367
+ background: #eeeeee;
368
+ border-radius: 2px;
369
+ border: 1px solid #dddddd;
370
+ font-family: Consolas, Menlo, Courier, monospace;
371
+ font-size: 14px;
372
+ margin-bottom: 1px;
373
+ padding: 0 5px;
374
+ }
@@ -182,7 +182,7 @@
182
182
  <% end %>
183
183
 
184
184
  <% if method.token_stream %>
185
- <% markup = method.sdoc_markup_code %>
185
+ <% markup = method.markup_code %>
186
186
  <div class="sourcecode">
187
187
  <%
188
188
  # generate github link
@@ -209,8 +209,8 @@
209
209
  </div>
210
210
  <% end %>
211
211
  </div>
212
- <% end #methods.each %>
213
- <% end #visibilities.each %>
214
- <% end #context.methods_by_type %>
215
- <% end #context.each_section %>
212
+ <% end %><%# methods.each %>
213
+ <% end %><%# visibilities.each %>
214
+ <% end %><%# context.methods_by_type %>
215
+ <% end %><%# context.each_section %>
216
216
  </div>
@@ -1,5 +1,3 @@
1
- $:.unshift File.dirname(__FILE__)
2
- require "rubygems"
3
1
  gem 'rdoc'
4
2
 
5
3
  module SDoc; end
@@ -1,4 +1,3 @@
1
- require 'rubygems'
2
1
  require 'erb'
3
2
  require 'pathname'
4
3
  require 'fileutils'
@@ -20,77 +19,6 @@ class RDoc::Options
20
19
  attr_accessor :search_index
21
20
  end
22
21
 
23
- class RDoc::AnyMethod
24
-
25
- TITLE_AFTER = %w(def class module)
26
-
27
- ##
28
- # Turns the method's token stream into HTML.
29
- #
30
- # Prepends line numbers if +add_line_numbers+ is true.
31
-
32
- def sdoc_markup_code
33
- return '' unless @token_stream
34
-
35
- src = ""
36
- starting_title = false
37
-
38
- @token_stream.each do |t|
39
- next unless t
40
-
41
- style = case t
42
- when RDoc::RubyToken::TkFLOAT then 'ruby-number'
43
- when RDoc::RubyToken::TkINTEGER then 'ruby-number'
44
- when RDoc::RubyToken::TkCONSTANT then 'ruby-constant'
45
- when RDoc::RubyToken::TkKW then 'ruby-keyword'
46
- when RDoc::RubyToken::TkIVAR then 'ruby-ivar'
47
- when RDoc::RubyToken::TkOp then 'ruby-operator'
48
- when RDoc::RubyToken::TkId then 'ruby-identifier'
49
- when RDoc::RubyToken::TkNode then 'ruby-node'
50
- when RDoc::RubyToken::TkCOMMENT then 'ruby-comment'
51
- when RDoc::RubyToken::TkREGEXP then 'ruby-regexp'
52
- when RDoc::RubyToken::TkSTRING then 'ruby-string'
53
- when RDoc::RubyToken::TkVal then 'ruby-value'
54
- end
55
-
56
- if RDoc::RubyToken::TkId === t && starting_title
57
- starting_title = false
58
- style = 'ruby-keyword ruby-title'
59
- end
60
-
61
- if RDoc::RubyToken::TkKW === t && TITLE_AFTER.include?(t.text)
62
- starting_title = true
63
- end
64
-
65
- text = CGI.escapeHTML t.text
66
-
67
- if style then
68
- src << "<span class=\"#{style}\">#{text}</span>"
69
- else
70
- src << text
71
- end
72
- end
73
-
74
- # dedent the source
75
- indent = src.length
76
- lines = src.lines.to_a
77
- lines.shift if src =~ /\A.*#\ *File/i # remove '# File' comment
78
- lines.each do |line|
79
- if line =~ /^ *(?=\S)/
80
- n = $&.length
81
- indent = n if n < indent
82
- break if n == 0
83
- end
84
- end
85
- src.gsub!(/^#{' ' * indent}/, '') if indent > 0
86
-
87
- add_line_numbers(src) if self.class.add_line_numbers
88
-
89
- src
90
- end
91
-
92
- end
93
-
94
22
  class RDoc::Generator::SDoc
95
23
  RDoc::RDoc.add_generator self
96
24
 
@@ -121,8 +49,6 @@ class RDoc::Generator::SDoc
121
49
  attr_reader :store
122
50
 
123
51
  def self.setup_options(options)
124
- @github = false
125
-
126
52
  opt = options.option_parser
127
53
  opt.separator nil
128
54
  opt.separator "SDoc generator options:"
@@ -1,16 +1,15 @@
1
1
  module SDoc::GitHub
2
2
  def github_url(path)
3
+ return false unless have_git?
4
+
3
5
  unless @github_url_cache.has_key? path
4
6
  @github_url_cache[path] = false
5
7
  file = @store.find_file_named(path)
6
8
  if file
7
9
  base_url = repository_url(path)
8
10
  if base_url
9
- sha1 = commit_sha1(path)
10
- if sha1
11
- relative_url = path_relative_to_repository(path)
12
- @github_url_cache[path] = "#{base_url}#{sha1}#{relative_url}"
13
- end
11
+ relative_url = path_relative_to_repository(path)
12
+ @github_url_cache[path] = "#{base_url}#{last_commit_sha1}#{relative_url}"
14
13
  end
15
14
  end
16
15
  end
@@ -24,23 +23,23 @@ module SDoc::GitHub
24
23
  @have_git
25
24
  end
26
25
 
27
- def commit_sha1(path)
28
- return false unless have_git?
29
- name = File.basename(path)
30
- s = Dir.chdir(File.join(base_dir, File.dirname(path))) do
31
- `git log -1 --pretty=format:"commit %H" #{name}`
26
+ def last_commit_sha1
27
+ return @sha1 if defined?(@sha1)
28
+
29
+ @sha1 = Dir.chdir(base_dir) do
30
+ `git rev-parse HEAD`.chomp
32
31
  end
33
- m = s.match(/commit\s+(\S+)/)
34
- m ? m[1] : false
35
32
  end
36
33
 
37
34
  def repository_url(path)
38
- return false unless have_git?
35
+ return @repository_url if defined?(@repository_url)
36
+
39
37
  s = Dir.chdir(File.join(base_dir, File.dirname(path))) do
40
38
  `git config --get remote.origin.url`
41
39
  end
40
+
42
41
  m = s.match(%r{github.com[/:](.*)\.git$})
43
- m ? "https://github.com/#{m[1]}/blob/" : false
42
+ @repository_url = m ? "https://github.com/#{m[1]}/blob/" : false
44
43
  end
45
44
 
46
45
  def path_relative_to_repository(path)
@@ -21,7 +21,7 @@ module SDoc::Helpers
21
21
  #
22
22
  # strip_tags("<strong>Hello world</strong>") => "Hello world"
23
23
  def strip_tags(text)
24
- text.gsub(/\<\/?[a-zA-Z\s"\.\/\=]+\>/, "")
24
+ text.gsub(%r{</?[^>]+?>}, "")
25
25
  end
26
26
 
27
27
  # Truncates a given string. It tries to take whole sentences to have
@@ -1,3 +1,3 @@
1
1
  module SDoc
2
- VERSION = '1.0.0.rc3'
2
+ VERSION = '1.0.0'
3
3
  end
@@ -22,7 +22,7 @@ Gem::Specification.new do |s|
22
22
  s.rdoc_options = ["--charset=UTF-8"]
23
23
  s.extra_rdoc_files = ["README.md"]
24
24
 
25
- s.add_runtime_dependency("rdoc", "~> 5.0")
25
+ s.add_runtime_dependency("rdoc", ">= 5.0")
26
26
 
27
27
  s.files = `git ls-files`.split("\n")
28
28
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
@@ -10,10 +10,12 @@ describe SDoc::Helpers do
10
10
  describe "#strip_tags" do
11
11
  it "should strip out HTML tags from the given string" do
12
12
  strings = [
13
- [ %(<strong>Hello world</strong>), "Hello world" ],
14
- [ %(<a href="Streams.html">Streams</a> are great), "Streams are great" ],
15
- [ %(<a href="../Base.html">Base</a>), "Base" ],
16
- [ %(Some<br>\ntext), "Some\ntext" ]
13
+ [ %(<strong>Hello world</strong>), "Hello world" ],
14
+ [ %(<a href="Streams.html">Streams</a> are great), "Streams are great" ],
15
+ [ %(<a href="https://github.com?x=1&y=2#123">zzak/sdoc</a> Standalone), "zzak/sdoc Standalone" ],
16
+ [ %(<h1 id="module-AR::Cb-label-Foo+Bar">AR Cb</h1>), "AR Cb" ],
17
+ [ %(<a href="../Base.html">Base</a>), "Base" ],
18
+ [ %(Some<br>\ntext), "Some\ntext" ]
17
19
  ]
18
20
 
19
21
  strings.each do |(html, stripped)|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sdoc
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.rc3
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vladimir Kolesnikov
@@ -11,20 +11,20 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2017-08-26 00:00:00.000000000 Z
14
+ date: 2018-02-06 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rdoc
18
18
  requirement: !ruby/object:Gem::Requirement
19
19
  requirements:
20
- - - "~>"
20
+ - - ">="
21
21
  - !ruby/object:Gem::Version
22
22
  version: '5.0'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - "~>"
27
+ - - ">="
28
28
  - !ruby/object:Gem::Version
29
29
  version: '5.0'
30
30
  description: rdoc generator html with javascript search index.
@@ -120,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
120
  version: 1.3.6
121
121
  requirements: []
122
122
  rubyforge_project:
123
- rubygems_version: 2.6.11
123
+ rubygems_version: 2.6.12
124
124
  signing_key:
125
125
  specification_version: 4
126
126
  summary: rdoc html with javascript search index.