mislav-hanna 0.1.6 → 0.1.7
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.
- data/Manifest +2 -2
- data/README.markdown +13 -7
- data/Rakefile +1 -1
- data/bin/hanna +1 -1
- data/hanna.gemspec +7 -8
- data/lib/hanna/hanna.rb +1 -1
- data/lib/hanna/rdoc_version.rb +1 -1
- data/lib/hanna/rdoctask.rb +1 -0
- data/lib/hanna/template_files/class_index.haml +2 -2
- data/lib/hanna/template_files/file_index.haml +4 -4
- data/lib/hanna/template_files/index.haml +3 -3
- data/lib/hanna/template_files/layout.haml +5 -5
- data/lib/hanna/template_files/method_index.haml +4 -4
- data/lib/hanna/template_files/method_list.haml +15 -12
- data/lib/hanna/template_files/page.haml +21 -21
- data/lib/hanna/template_files/sections.haml +42 -42
- data/lib/hanna/template_helpers.rb +8 -8
- metadata +33 -16
data/Manifest
CHANGED
|
@@ -9,11 +9,11 @@ lib/hanna/template_files/index.haml
|
|
|
9
9
|
lib/hanna/template_files/layout.haml
|
|
10
10
|
lib/hanna/template_files/method_index.haml
|
|
11
11
|
lib/hanna/template_files/method_list.haml
|
|
12
|
+
lib/hanna/template_files/method_search.js
|
|
12
13
|
lib/hanna/template_files/page.haml
|
|
14
|
+
lib/hanna/template_files/prototype-1.6.0.3.js
|
|
13
15
|
lib/hanna/template_files/sections.haml
|
|
14
16
|
lib/hanna/template_files/styles.sass
|
|
15
|
-
lib/hanna/template_files/prototype-1.6.0.3.js
|
|
16
|
-
lib/hanna/template_files/method_search.js
|
|
17
17
|
lib/hanna/template_helpers.rb
|
|
18
18
|
lib/hanna/template_page_patch.rb
|
|
19
19
|
lib/hanna.rb
|
data/README.markdown
CHANGED
|
@@ -14,26 +14,31 @@ The template was created by [Mislav][] and since then has seen contributions fro
|
|
|
14
14
|
start and made tons of fixes and enhancements to the template;
|
|
15
15
|
2. [Hongli Lai](http://blog.phusion.nl/) with the search filter for methods.
|
|
16
16
|
|
|
17
|
+
|
|
17
18
|
## Usage
|
|
18
19
|
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
There is a command-line tool installed with the Hanna gem:
|
|
21
|
+
|
|
22
|
+
hanna -h
|
|
23
|
+
|
|
24
|
+
This is a wrapper over `rdoc` and it forwards all the parameters to it. Manual usage
|
|
25
|
+
would require specifying Hanna as a template when invoking RDoc on the command-line:
|
|
21
26
|
|
|
22
|
-
rdoc -o doc --inline-source -T hanna lib/*.rb
|
|
27
|
+
rdoc -o doc --inline-source --format=html -T hanna lib/*.rb
|
|
23
28
|
|
|
24
29
|
Hanna requires the `--inline-source` (or `-S`) flag.
|
|
25
30
|
|
|
26
31
|
An alternative is to set the `RDOCOPT` environment variable:
|
|
27
32
|
|
|
28
|
-
RDOCOPT="-S -T hanna"
|
|
33
|
+
RDOCOPT="-S -f html -T hanna"
|
|
29
34
|
|
|
30
35
|
This will make RDoc always use Hanna unless it is explicitly overridden.
|
|
31
36
|
|
|
32
|
-
|
|
37
|
+
Another neat trick is to put the following line in your .gemrc:
|
|
33
38
|
|
|
34
|
-
|
|
39
|
+
rdoc: --inline-source --line-numbers --format=html --template=hanna
|
|
35
40
|
|
|
36
|
-
This
|
|
41
|
+
This will make RubyGems use Hanna when generating documentation for installed gems.
|
|
37
42
|
|
|
38
43
|
### Rake task
|
|
39
44
|
|
|
@@ -75,6 +80,7 @@ to generate docs for "actionpack" and "activerecord" type:
|
|
|
75
80
|
|
|
76
81
|
[sudo] hanna --gems actionpack activerecord
|
|
77
82
|
|
|
83
|
+
|
|
78
84
|
## You can help
|
|
79
85
|
|
|
80
86
|
Don't like something? Think you can design better? (You probably can.)
|
data/Rakefile
CHANGED
|
@@ -2,7 +2,7 @@ require 'echoe'
|
|
|
2
2
|
require 'lib/hanna/rdoc_version'
|
|
3
3
|
|
|
4
4
|
Echoe.new('hanna') do |p|
|
|
5
|
-
p.version = '0.1.
|
|
5
|
+
p.version = '0.1.7'
|
|
6
6
|
|
|
7
7
|
p.summary = "An RDoc template that scales"
|
|
8
8
|
p.description = "Hanna is an RDoc implemented in Haml, making its source clean and maintainable. It's built with simplicity, beauty and ease of browsing in mind."
|
data/bin/hanna
CHANGED
data/hanna.gemspec
CHANGED
|
@@ -2,17 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
Gem::Specification.new do |s|
|
|
4
4
|
s.name = %q{hanna}
|
|
5
|
-
s.version = "0.1.
|
|
5
|
+
s.version = "0.1.7"
|
|
6
6
|
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
|
8
8
|
s.authors = ["Mislav Marohni\304\207"]
|
|
9
|
-
s.date = %q{
|
|
9
|
+
s.date = %q{2009-02-17}
|
|
10
10
|
s.default_executable = %q{hanna}
|
|
11
11
|
s.description = %q{Hanna is an RDoc implemented in Haml, making its source clean and maintainable. It's built with simplicity, beauty and ease of browsing in mind.}
|
|
12
12
|
s.email = %q{mislav.marohnic@gmail.com}
|
|
13
13
|
s.executables = ["hanna"]
|
|
14
|
+
s.extra_rdoc_files = ["bin/hanna", "lib/hanna/hanna.rb", "lib/hanna/rdoc_version.rb", "lib/hanna/rdoctask.rb", "lib/hanna/template_files/class_index.haml", "lib/hanna/template_files/file_index.haml", "lib/hanna/template_files/index.haml", "lib/hanna/template_files/layout.haml", "lib/hanna/template_files/method_index.haml", "lib/hanna/template_files/method_list.haml", "lib/hanna/template_files/page.haml", "lib/hanna/template_files/sections.haml", "lib/hanna/template_files/styles.sass", "lib/hanna/template_files/prototype-1.6.0.3.js", "lib/hanna/template_files/method_search.js", "lib/hanna/template_helpers.rb", "lib/hanna/template_page_patch.rb", "lib/hanna.rb", "README.markdown"]
|
|
14
15
|
s.files = ["bin/hanna", "hanna.gemspec", "lib/hanna/hanna.rb", "lib/hanna/rdoc_version.rb", "lib/hanna/rdoctask.rb", "lib/hanna/template_files/class_index.haml", "lib/hanna/template_files/file_index.haml", "lib/hanna/template_files/index.haml", "lib/hanna/template_files/layout.haml", "lib/hanna/template_files/method_index.haml", "lib/hanna/template_files/method_list.haml", "lib/hanna/template_files/page.haml", "lib/hanna/template_files/sections.haml", "lib/hanna/template_files/styles.sass", "lib/hanna/template_files/prototype-1.6.0.3.js", "lib/hanna/template_files/method_search.js", "lib/hanna/template_helpers.rb", "lib/hanna/template_page_patch.rb", "lib/hanna.rb", "Manifest", "Rakefile", "README.markdown"]
|
|
15
16
|
s.homepage = %q{http://github.com/mislav/hanna}
|
|
17
|
+
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Hanna", "--main", "README.markdown"]
|
|
16
18
|
s.require_paths = ["lib"]
|
|
17
19
|
s.rubygems_version = %q{1.3.1}
|
|
18
20
|
s.summary = %q{An RDoc template that scales}
|
|
@@ -22,20 +24,17 @@ Gem::Specification.new do |s|
|
|
|
22
24
|
s.specification_version = 2
|
|
23
25
|
|
|
24
26
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
|
25
|
-
s.add_runtime_dependency(%q<rdoc>, ["~> 2.
|
|
27
|
+
s.add_runtime_dependency(%q<rdoc>, ["~> 2.3.0"])
|
|
26
28
|
s.add_runtime_dependency(%q<haml>, ["~> 2.0.4"])
|
|
27
29
|
s.add_runtime_dependency(%q<rake>, ["~> 0.8.2"])
|
|
28
|
-
s.add_development_dependency(%q<echoe>, [">= 0"])
|
|
29
30
|
else
|
|
30
|
-
s.add_dependency(%q<rdoc>, ["~> 2.
|
|
31
|
+
s.add_dependency(%q<rdoc>, ["~> 2.3.0"])
|
|
31
32
|
s.add_dependency(%q<haml>, ["~> 2.0.4"])
|
|
32
33
|
s.add_dependency(%q<rake>, ["~> 0.8.2"])
|
|
33
|
-
s.add_dependency(%q<echoe>, [">= 0"])
|
|
34
34
|
end
|
|
35
35
|
else
|
|
36
|
-
s.add_dependency(%q<rdoc>, ["~> 2.
|
|
36
|
+
s.add_dependency(%q<rdoc>, ["~> 2.3.0"])
|
|
37
37
|
s.add_dependency(%q<haml>, ["~> 2.0.4"])
|
|
38
38
|
s.add_dependency(%q<rake>, ["~> 0.8.2"])
|
|
39
|
-
s.add_dependency(%q<echoe>, [">= 0"])
|
|
40
39
|
end
|
|
41
40
|
end
|
data/lib/hanna/hanna.rb
CHANGED
data/lib/hanna/rdoc_version.rb
CHANGED
data/lib/hanna/rdoctask.rb
CHANGED
|
@@ -9,6 +9,7 @@ Rake::RDocTask.class_eval do
|
|
|
9
9
|
# Create the tasks defined by this task lib.
|
|
10
10
|
def define
|
|
11
11
|
@template = 'hanna'
|
|
12
|
+
options << '--format=html'
|
|
12
13
|
|
|
13
14
|
# inline source and UTF-8 are defaults:
|
|
14
15
|
options << '--inline-source' unless options.include? '--inline-source' or options.include? '-S'
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
%h1= values[
|
|
1
|
+
%h1= values[:list_title]
|
|
2
2
|
%ol#index-entries.classes
|
|
3
|
-
= render_class_tree make_class_tree(values[
|
|
3
|
+
= render_class_tree make_class_tree(values[:entries])
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
%h1= values[
|
|
1
|
+
%h1= values[:list_title]
|
|
2
2
|
- any_hidden = false
|
|
3
3
|
|
|
4
4
|
%ol#index-entries{ :class => 'files' }
|
|
5
|
-
- for entry in values[
|
|
6
|
-
- hide = entry[
|
|
5
|
+
- for entry in values[:entries]
|
|
6
|
+
- hide = entry[:name] =~ /\.rb$/
|
|
7
7
|
- any_hidden = true if hide
|
|
8
|
-
%li{ :class => hide ? 'other' : nil }= link_to entry[
|
|
8
|
+
%li{ :class => hide ? 'other' : nil }= link_to entry[:name], entry[:href]
|
|
9
9
|
|
|
10
10
|
- if any_hidden
|
|
11
11
|
%li
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
!!! Frameset
|
|
2
2
|
%html{ "xml:lang" => "en", :lang => "en", :xmlns => "http://www.w3.org/1999/xhtml" }
|
|
3
3
|
%head
|
|
4
|
-
%title= values[
|
|
5
|
-
%meta{ :content => "text/html; charset=#{values[
|
|
4
|
+
%title= values[:title]
|
|
5
|
+
%meta{ :content => "text/html; charset=#{values[:charset]}", "http-equiv" => "Content-Type" }
|
|
6
6
|
%frameset{ :cols => "20%, *", :border => "1", :frameborder => "1", :bordercolor => "gray" }
|
|
7
7
|
%frameset{ :rows => "15%, 35%, 50%" }
|
|
8
8
|
%frame{ :name => "Files", :title => "Files", :src => "fr_file_index.html" }
|
|
9
9
|
%frame{ :name => "Classes", :src => "fr_class_index.html" }
|
|
10
10
|
%frame{ :name => "Methods", :src => "fr_method_index.html" }
|
|
11
|
-
%frame{ :name => "docwin", :src => values[
|
|
11
|
+
%frame{ :name => "docwin", :src => values[:initial_page] }=""
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
!!! strict
|
|
2
|
-
- index = values[
|
|
2
|
+
- index = values[:list_title]
|
|
3
3
|
%html{ :lang => "en" }
|
|
4
4
|
%head
|
|
5
|
-
%title= values[
|
|
6
|
-
%meta{ 'http-equiv' => "Content-Type", :content => "text/html; charset=#{values[
|
|
7
|
-
%link{ :rel => "stylesheet", :href => values[
|
|
5
|
+
%title= values[:title]
|
|
6
|
+
%meta{ 'http-equiv' => "Content-Type", :content => "text/html; charset=#{values[:charset]}" }
|
|
7
|
+
%link{ :rel => "stylesheet", :href => values[:style_url], :type => "text/css", :media => "screen" }
|
|
8
8
|
- unless index
|
|
9
9
|
:javascript
|
|
10
10
|
function popupCode(url) {
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
- if index
|
|
28
28
|
#index= yield
|
|
29
29
|
- else
|
|
30
|
-
#wrapper{ :class => values[
|
|
30
|
+
#wrapper{ :class => values[:classmod] ? 'class' : 'file' }
|
|
31
31
|
= yield
|
|
32
32
|
#footer-push
|
|
33
33
|
#footer
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
%h1= values[
|
|
1
|
+
%h1= values[:list_title]
|
|
2
2
|
|
|
3
3
|
%script{:type => 'text/javascript'}
|
|
4
4
|
= read("prototype-1.6.0.3.js")
|
|
5
|
-
= build_javascript_search_index(values[
|
|
5
|
+
= build_javascript_search_index(values[:entries])
|
|
6
6
|
= read("method_search.js")
|
|
7
7
|
%form{:onsubmit => 'return performSearch()'}
|
|
8
8
|
%input{:type => 'text', :id => 'search', :class => 'untouched', :value => 'Enter search terms...'}
|
|
9
9
|
%ol#search-results{ :class => 'methods', :style => 'display: none' }
|
|
10
10
|
|
|
11
11
|
%ol#index-entries{ :class => 'methods' }
|
|
12
|
-
- for entry in values[
|
|
13
|
-
%li= link_to_method entry[
|
|
12
|
+
- for entry in values[:entries]
|
|
13
|
+
%li= link_to_method entry[:name], entry[:href]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
- methods = methods_from_sections values[
|
|
1
|
+
- methods = methods_from_sections values[:sections]
|
|
2
2
|
- unless methods.empty?
|
|
3
3
|
#method-list
|
|
4
4
|
%h2 Methods
|
|
@@ -7,28 +7,31 @@
|
|
|
7
7
|
%h3= type
|
|
8
8
|
%ol
|
|
9
9
|
- for method in list
|
|
10
|
-
|
|
10
|
+
- if method[:name].to_s.empty? && method[:callseq]
|
|
11
|
+
%li= link_to method[:callseq].gsub(/<br\s*\/?>/, "").split(/[\r\n]+/).map{ |s| s.split(/([({]+|\[\{|\s+(#?=>|→)\s+)/).first.sub(/^[A-Za-z0-9_:]+\./, "").sub(/\s+=\s+.*/, "=").strip }.uniq.join("<br />\n"), '#' + method[:aref]
|
|
12
|
+
- else
|
|
13
|
+
%li= link_to method[:name], '#' + method[:aref]
|
|
11
14
|
|
|
12
|
-
- if values[
|
|
15
|
+
- if values[:requires] or values[:toc] or values[:includes]
|
|
13
16
|
#context
|
|
14
|
-
- if values[
|
|
17
|
+
- if values[:requires]
|
|
15
18
|
#requires
|
|
16
19
|
%h2 Required files
|
|
17
20
|
%ol
|
|
18
|
-
- for req in values[
|
|
19
|
-
%li= link_to req[
|
|
21
|
+
- for req in values[:requires]
|
|
22
|
+
%li= link_to req[:name], req[:aref]
|
|
20
23
|
|
|
21
|
-
- if values[
|
|
24
|
+
- if values[:toc]
|
|
22
25
|
#contents
|
|
23
26
|
%h2 Contents
|
|
24
27
|
%ol
|
|
25
|
-
- for item in values[
|
|
26
|
-
%li= link_to values[
|
|
28
|
+
- for item in values[:toc]
|
|
29
|
+
%li= link_to values[:secname], values[:href]
|
|
27
30
|
|
|
28
|
-
- if values[
|
|
31
|
+
- if values[:includes]
|
|
29
32
|
#includes
|
|
30
33
|
%h2 Included modules
|
|
31
34
|
%ol
|
|
32
|
-
- for inc in values[
|
|
33
|
-
%li= link_to inc[
|
|
35
|
+
- for inc in values[:includes]
|
|
36
|
+
%li= link_to inc[:name], inc[:aref]
|
|
34
37
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
- file_page = !values[
|
|
2
|
-
- title_in_description = values[
|
|
1
|
+
- file_page = !values[:classmod]
|
|
2
|
+
- title_in_description = values[:description] && values[:description] =~ /^\s*<h1>/m
|
|
3
3
|
|
|
4
4
|
.header
|
|
5
5
|
- title = capture_haml do
|
|
6
6
|
- if file_page
|
|
7
|
-
= values[
|
|
7
|
+
= values[:short_name]
|
|
8
8
|
- else
|
|
9
|
-
%span.type= values[
|
|
10
|
-
= values[
|
|
9
|
+
%span.type= values[:classmod]
|
|
10
|
+
= values[:full_name]
|
|
11
11
|
- if title_in_description
|
|
12
12
|
.name= title
|
|
13
13
|
- else
|
|
@@ -15,36 +15,36 @@
|
|
|
15
15
|
|
|
16
16
|
- if file_page
|
|
17
17
|
.paths
|
|
18
|
-
= values[
|
|
19
|
-
- if values[
|
|
20
|
-
== (#{link_to 'view online', values[
|
|
18
|
+
= values[:full_path]
|
|
19
|
+
- if values[:cvsurl]
|
|
20
|
+
== (#{link_to 'view online', values[:cvsurl]})
|
|
21
21
|
- else
|
|
22
22
|
%ol.paths
|
|
23
|
-
- values[
|
|
23
|
+
- values[:infiles].each_with_index do |file, index|
|
|
24
24
|
%li{ :class => index > 0 ? 'other' : nil }
|
|
25
|
-
= link_to file[
|
|
26
|
-
- if file[
|
|
27
|
-
== (#{link_to 'view online', file[
|
|
28
|
-
- if values[
|
|
25
|
+
= link_to file[:full_path], file[:full_path_url]
|
|
26
|
+
- if file[:cvsurl]
|
|
27
|
+
== (#{link_to 'view online', file[:cvsurl]})
|
|
28
|
+
- if values[:infiles].size > 1
|
|
29
29
|
%li
|
|
30
30
|
%a.show{ :href => '#', :onclick => 'this.parentNode.parentNode.className += " expanded"; this.parentNode.removeChild(this); return false' } show all
|
|
31
31
|
|
|
32
|
-
- if values[
|
|
32
|
+
- if values[:parent] then
|
|
33
33
|
.parent
|
|
34
34
|
Parent:
|
|
35
|
-
%strong= link_to values[
|
|
35
|
+
%strong= link_to values[:parent], values[:par_url]
|
|
36
36
|
|
|
37
|
-
- if values[
|
|
37
|
+
- if values[:dtm_modified]
|
|
38
38
|
.last-update
|
|
39
39
|
Last Update:
|
|
40
|
-
%span.datetime= values[
|
|
40
|
+
%span.datetime= values[:dtm_modified]
|
|
41
41
|
|
|
42
42
|
#content
|
|
43
|
-
- if values[
|
|
44
|
-
#diagram= values[
|
|
43
|
+
- if values[:diagram]
|
|
44
|
+
#diagram= values[:diagram]
|
|
45
45
|
|
|
46
46
|
#text
|
|
47
|
-
- if values[
|
|
48
|
-
#description~ sanitize_code_blocks values[
|
|
47
|
+
- if values[:description]
|
|
48
|
+
#description~ sanitize_code_blocks values[:description]
|
|
49
49
|
|
|
50
50
|
= yield
|
|
@@ -1,83 +1,83 @@
|
|
|
1
|
-
- for section in values[
|
|
1
|
+
- for section in values[:sections]
|
|
2
2
|
#section
|
|
3
|
-
- if section[
|
|
4
|
-
%h2= link_to section[
|
|
5
|
-
- if section[
|
|
6
|
-
.section-comment= section[
|
|
3
|
+
- if section[:sectitle]
|
|
4
|
+
%h2= link_to section[:sectitle], section[:secsequence]
|
|
5
|
+
- if section[:seccomment]
|
|
6
|
+
.section-comment= section[:seccomment]
|
|
7
7
|
|
|
8
|
-
- if section[
|
|
8
|
+
- if section[:classlist]
|
|
9
9
|
#class-list
|
|
10
10
|
%h2 Classes and Modules
|
|
11
|
-
= section[
|
|
11
|
+
= section[:classlist]
|
|
12
12
|
|
|
13
|
-
- if section[
|
|
13
|
+
- if section[:constants]
|
|
14
14
|
#constants-list
|
|
15
15
|
%h2 Constants
|
|
16
16
|
.name-list
|
|
17
17
|
%table{ :summary => "Constants" }
|
|
18
|
-
- for const in section[
|
|
18
|
+
- for const in section[:constants]
|
|
19
19
|
%tr.top-aligned-row.context-row
|
|
20
|
-
%td.context-item-name= const[
|
|
20
|
+
%td.context-item-name= const[:name]
|
|
21
21
|
%td =
|
|
22
|
-
%td.context-item-value= const[
|
|
23
|
-
- if const[
|
|
22
|
+
%td.context-item-value= const[:value]
|
|
23
|
+
- if const[:desc] then
|
|
24
24
|
%td
|
|
25
|
-
%td.context-item-desc= const[
|
|
25
|
+
%td.context-item-desc= const[:desc]
|
|
26
26
|
|
|
27
|
-
- if section[
|
|
27
|
+
- if section[:aliases]
|
|
28
28
|
#aliases-list
|
|
29
29
|
%h2 External Aliases
|
|
30
30
|
.name-list
|
|
31
31
|
%table{ :summary => "External aliases" }
|
|
32
|
-
- for alia in section[
|
|
32
|
+
- for alia in section[:aliases]
|
|
33
33
|
%tr.top-aligned-row.context-row
|
|
34
|
-
%td.context-item-name= alia[
|
|
34
|
+
%td.context-item-name= alia[:old_name]
|
|
35
35
|
%td ->
|
|
36
|
-
%td.context-item-value= alia[
|
|
37
|
-
- if alia[
|
|
36
|
+
%td.context-item-value= alia[:new_name]
|
|
37
|
+
- if alia[:desc] then
|
|
38
38
|
%tr.top-aligned-row.context-row
|
|
39
39
|
%td
|
|
40
40
|
%td.context-item-desc{ :colspan => "2" }
|
|
41
|
-
= alia[
|
|
41
|
+
= alia[:desc]
|
|
42
42
|
|
|
43
|
-
- if section[
|
|
43
|
+
- if section[:attributes]
|
|
44
44
|
#attribute-list
|
|
45
45
|
%h2.section-bar Attributes
|
|
46
46
|
.name-list
|
|
47
47
|
%table
|
|
48
|
-
- for attr in section[
|
|
48
|
+
- for attr in section[:attributes]
|
|
49
49
|
%tr.top-aligned-row.context-row
|
|
50
|
-
%td.context-item-name= attr[
|
|
51
|
-
%td.context-item-value= attr[
|
|
52
|
-
%td.context-item-desc= attr[
|
|
50
|
+
%td.context-item-name= attr[:name]
|
|
51
|
+
%td.context-item-value= attr[:rw] ? "[#{attr[:rw]}]" : ' '
|
|
52
|
+
%td.context-item-desc= attr[:a_desc]
|
|
53
53
|
|
|
54
|
-
- if section[
|
|
54
|
+
- if section[:method_list]
|
|
55
55
|
#methods
|
|
56
|
-
- for list in section[
|
|
57
|
-
- if list[
|
|
58
|
-
%h2== #{list[
|
|
56
|
+
- for list in section[:method_list]
|
|
57
|
+
- if list[:methods] then
|
|
58
|
+
%h2== #{list[:type]} #{list[:category].downcase} methods
|
|
59
59
|
|
|
60
|
-
- for method in list[
|
|
61
|
-
.method{ :id => "method-#{method[
|
|
62
|
-
%a{ :name => method[
|
|
60
|
+
- for method in list[:methods]
|
|
61
|
+
.method{ :id => "method-#{method[:aref]}", :class => "#{list[:type]}-#{list[:category]}".downcase }
|
|
62
|
+
%a{ :name => method[:aref] }
|
|
63
63
|
.synopsis
|
|
64
64
|
- method_html = capture_haml do
|
|
65
|
-
- if method[
|
|
66
|
-
%span.name= method[
|
|
65
|
+
- if method[:callseq]
|
|
66
|
+
%span.name= method[:callseq]
|
|
67
67
|
- else
|
|
68
|
-
%span.name= method[
|
|
69
|
-
%span.arguments= method[
|
|
70
|
-
- if method[
|
|
71
|
-
%a.method-signature{ :href => method[
|
|
68
|
+
%span.name= method[:name]
|
|
69
|
+
%span.arguments= method[:params]
|
|
70
|
+
- if method[:codeurl]
|
|
71
|
+
%a.method-signature{ :href => method[:codeurl], :onclick => "popupCode(this.href); return false", :target => "Code" }
|
|
72
72
|
= method_html
|
|
73
73
|
- else
|
|
74
74
|
= method_html
|
|
75
|
-
- if method[
|
|
75
|
+
- if method[:m_desc]
|
|
76
76
|
.description
|
|
77
|
-
~ sanitize_code_blocks method[
|
|
78
|
-
- if method[
|
|
77
|
+
~ sanitize_code_blocks method[:m_desc]
|
|
78
|
+
- if method[:sourcecode]
|
|
79
79
|
.source
|
|
80
|
-
- name = "#{method[
|
|
80
|
+
- name = "#{method[:aref]}-source"
|
|
81
81
|
%a.source-toggle{ :href => "#", :onclick => "toggleCode('#{name}'); return false" }
|
|
82
82
|
[show source]
|
|
83
|
-
~ "<pre id='#{name}'>#{method[
|
|
83
|
+
~ "<pre id='#{name}'>#{method[:sourcecode]}</pre>"
|
|
@@ -56,9 +56,9 @@ module Hanna
|
|
|
56
56
|
def build_javascript_search_index(entries)
|
|
57
57
|
result = "var search_index = [\n"
|
|
58
58
|
entries.each do |entry|
|
|
59
|
-
entry[
|
|
59
|
+
entry[:name] =~ /\A(.+) \((.+)\)\Z/
|
|
60
60
|
method_name, module_name = $1, $2
|
|
61
|
-
html = link_to_method(entry[
|
|
61
|
+
html = link_to_method(entry[:name], entry[:href])
|
|
62
62
|
result << " { method: '#{method_name.downcase}', " <<
|
|
63
63
|
"module: '#{module_name.downcase}', " <<
|
|
64
64
|
"html: '#{html}' },\n"
|
|
@@ -69,20 +69,20 @@ module Hanna
|
|
|
69
69
|
|
|
70
70
|
def methods_from_sections(sections)
|
|
71
71
|
sections.inject(Hash.new {|h, k| h[k] = []}) do |methods, section|
|
|
72
|
-
section[
|
|
73
|
-
methods["#{ml[
|
|
74
|
-
end if section[
|
|
72
|
+
section[:method_list].each do |ml|
|
|
73
|
+
methods["#{ml[:type]} #{ml[:category]}".downcase].concat ml[:methods]
|
|
74
|
+
end if section[:method_list]
|
|
75
75
|
methods
|
|
76
76
|
end
|
|
77
77
|
end
|
|
78
78
|
|
|
79
79
|
def make_class_tree(entries)
|
|
80
80
|
entries.inject({}) do |tree, entry|
|
|
81
|
-
if entry[
|
|
82
|
-
leaf = entry[
|
|
81
|
+
if entry[:href]
|
|
82
|
+
leaf = entry[:name].split('::').inject(tree) do |branch, klass|
|
|
83
83
|
branch[klass] ||= {}
|
|
84
84
|
end
|
|
85
|
-
leaf['_href'] = entry[
|
|
85
|
+
leaf['_href'] = entry[:href]
|
|
86
86
|
end
|
|
87
87
|
tree
|
|
88
88
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: mislav-hanna
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- "Mislav Marohni\xC4\x87"
|
|
@@ -9,20 +9,22 @@ autorequire:
|
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
11
|
|
|
12
|
-
date:
|
|
12
|
+
date: 2009-02-17 00:00:00 -08:00
|
|
13
13
|
default_executable: hanna
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: rdoc
|
|
17
|
+
type: :runtime
|
|
17
18
|
version_requirement:
|
|
18
19
|
version_requirements: !ruby/object:Gem::Requirement
|
|
19
20
|
requirements:
|
|
20
21
|
- - ~>
|
|
21
22
|
- !ruby/object:Gem::Version
|
|
22
|
-
version: 2.
|
|
23
|
+
version: 2.3.0
|
|
23
24
|
version:
|
|
24
25
|
- !ruby/object:Gem::Dependency
|
|
25
26
|
name: haml
|
|
27
|
+
type: :runtime
|
|
26
28
|
version_requirement:
|
|
27
29
|
version_requirements: !ruby/object:Gem::Requirement
|
|
28
30
|
requirements:
|
|
@@ -32,6 +34,7 @@ dependencies:
|
|
|
32
34
|
version:
|
|
33
35
|
- !ruby/object:Gem::Dependency
|
|
34
36
|
name: rake
|
|
37
|
+
type: :runtime
|
|
35
38
|
version_requirement:
|
|
36
39
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
40
|
requirements:
|
|
@@ -39,23 +42,32 @@ dependencies:
|
|
|
39
42
|
- !ruby/object:Gem::Version
|
|
40
43
|
version: 0.8.2
|
|
41
44
|
version:
|
|
42
|
-
- !ruby/object:Gem::Dependency
|
|
43
|
-
name: echoe
|
|
44
|
-
version_requirement:
|
|
45
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
46
|
-
requirements:
|
|
47
|
-
- - ">="
|
|
48
|
-
- !ruby/object:Gem::Version
|
|
49
|
-
version: "0"
|
|
50
|
-
version:
|
|
51
45
|
description: Hanna is an RDoc implemented in Haml, making its source clean and maintainable. It's built with simplicity, beauty and ease of browsing in mind.
|
|
52
46
|
email: mislav.marohnic@gmail.com
|
|
53
47
|
executables:
|
|
54
48
|
- hanna
|
|
55
49
|
extensions: []
|
|
56
50
|
|
|
57
|
-
extra_rdoc_files:
|
|
58
|
-
|
|
51
|
+
extra_rdoc_files:
|
|
52
|
+
- bin/hanna
|
|
53
|
+
- lib/hanna/hanna.rb
|
|
54
|
+
- lib/hanna/rdoc_version.rb
|
|
55
|
+
- lib/hanna/rdoctask.rb
|
|
56
|
+
- lib/hanna/template_files/class_index.haml
|
|
57
|
+
- lib/hanna/template_files/file_index.haml
|
|
58
|
+
- lib/hanna/template_files/index.haml
|
|
59
|
+
- lib/hanna/template_files/layout.haml
|
|
60
|
+
- lib/hanna/template_files/method_index.haml
|
|
61
|
+
- lib/hanna/template_files/method_list.haml
|
|
62
|
+
- lib/hanna/template_files/page.haml
|
|
63
|
+
- lib/hanna/template_files/sections.haml
|
|
64
|
+
- lib/hanna/template_files/styles.sass
|
|
65
|
+
- lib/hanna/template_files/prototype-1.6.0.3.js
|
|
66
|
+
- lib/hanna/template_files/method_search.js
|
|
67
|
+
- lib/hanna/template_helpers.rb
|
|
68
|
+
- lib/hanna/template_page_patch.rb
|
|
69
|
+
- lib/hanna.rb
|
|
70
|
+
- README.markdown
|
|
59
71
|
files:
|
|
60
72
|
- bin/hanna
|
|
61
73
|
- hanna.gemspec
|
|
@@ -82,8 +94,13 @@ files:
|
|
|
82
94
|
has_rdoc: false
|
|
83
95
|
homepage: http://github.com/mislav/hanna
|
|
84
96
|
post_install_message:
|
|
85
|
-
rdoc_options:
|
|
86
|
-
|
|
97
|
+
rdoc_options:
|
|
98
|
+
- --line-numbers
|
|
99
|
+
- --inline-source
|
|
100
|
+
- --title
|
|
101
|
+
- Hanna
|
|
102
|
+
- --main
|
|
103
|
+
- README.markdown
|
|
87
104
|
require_paths:
|
|
88
105
|
- lib
|
|
89
106
|
required_ruby_version: !ruby/object:Gem::Requirement
|