Changeset 8972
- Timestamp:
- 03/02/08 23:26:18 (4 months ago)
- Files:
-
- spinoffs/pdoc/trunk/CHANGELOG (modified) (1 diff)
- spinoffs/pdoc/trunk/lib/pdoc/generators/html/helpers.rb (modified) (1 diff)
- spinoffs/pdoc/trunk/lib/pdoc/generators/html/website.rb (modified) (2 diffs)
- spinoffs/pdoc/trunk/lib/pdoc/parser/documentation_nodes.rb (modified) (15 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
spinoffs/pdoc/trunk/CHANGELOG
r8971 r8972 1 * Make PDoc::Generators::Html::Website#render accept an output directory as argument. [Tobie] 2 1 3 * Remove usage of class_eval to enable easier documentation by rdoc. Start documenting the code. [Tobie] 2 4 spinoffs/pdoc/trunk/lib/pdoc/generators/html/helpers.rb
r8944 r8972 32 32 name = short ? obj.name : obj.full_name 33 33 name = "<code>#{name}</code>" unless obj.is_a?(Documentation::Section) 34 link_to(name, path_to(obj), { :title => "#{obj.full_name} (#{obj.type})"}.merge(attributes))34 link_to(name, path_to(obj), { :title => "#{obj.full_name} (#{obj.type})" }.merge(attributes)) 35 35 end 36 36 spinoffs/pdoc/trunk/lib/pdoc/generators/html/website.rb
r8971 r8972 3 3 module Html 4 4 class Website 5 def initialize(file , output = OUTPUT_DIR)5 def initialize(file) 6 6 @file = file 7 7 string = File.open(@file){ |f| f.read } 8 8 @root = Parser.new(string).parse 9 9 @depth = 0 10 @output = File.expand_path(output)11 Dir.chdir(@output)12 10 end 13 11 14 def render 12 # Generates the website to the specified directory. 13 def render(output = OUTPUT_DIR) 14 Dir.chdir(File.expand_path(output)) 15 15 Page.new("index", "layout", variables).render_to_file("index.html") 16 16 … … 29 29 end 30 30 31 # Copies the the content ofassets folder to the generated website's31 # Copies the content of the assets folder to the generated website's 32 32 # root directory. 33 33 def copy_assets spinoffs/pdoc/trunk/lib/pdoc/parser/documentation_nodes.rb
r8971 r8972 4 4 5 5 def each 6 elements.first.elements.map {|e| e.elements.last }.each { |tag| yield tag }6 elements.first.elements.map { |e| e.elements.last }.each { |tag| yield tag } 7 7 end 8 8 9 9 # Returns an array of all deprecated object. 10 10 def deprecated 11 select {|e| e.deprecated? }11 select { |e| e.deprecated? } 12 12 end 13 13 14 14 # Returns an array of all documented aliases. 15 15 def aliases 16 select {|e| e.alias? }16 select { |e| e.alias? } 17 17 end 18 18 … … 84 84 # Returns an array of all documented instances which are global variables. 85 85 def globals 86 select { |e| e.global? }.sort_by {|e| e.name }86 select { |e| e.global? }.sort_by { |e| e.name } 87 87 end 88 88 alias children globals … … 90 90 # Returns an array of all documented Section instances. 91 91 def sections 92 select { |e| e.is_a?(Section) }.sort_by {|e| e.name }92 select { |e| e.is_a?(Section) }.sort_by { |e| e.name } 93 93 end 94 94 … … 111 111 # True if the instance was tagged as deprecated. 112 112 def deprecated? 113 tags.include?("deprecated") || ancestors.any? { |a| a.deprecated? }113 tags.include?("deprecated") || ancestors.any? { |a| a.deprecated? } 114 114 end 115 115 … … 128 128 def alias_of 129 129 if alias? 130 a = tags.find {|tag| tag.name == "alias of" }.value130 a = tags.find { |tag| tag.name == "alias of" }.value 131 131 root.find_by_name(a) 132 132 else … … 137 137 # Returns an array of all aliases of this instance. 138 138 def aliases 139 root.select { |a| a.alias_of == self }139 root.select { |a| a.alias_of == self } 140 140 end 141 141 … … 177 177 def section 178 178 if tags.include?("section") 179 value = tags.find {|tag| tag.name == "section" }.value180 root.sections.find {|s| s.name == value }179 value = tags.find { |tag| tag.name == "section" }.value 180 root.sections.find { |s| s.name == value } 181 181 else 182 182 namespace.section … … 208 208 # Returns all direct descendants of instance. 209 209 def children 210 root.descendants.select {|d| d.namespace === self }.sort_by {|e| e.name }210 root.descendants.select { |d| d.namespace === self }.sort_by { |e| e.name } 211 211 end 212 212 … … 298 298 299 299 def children 300 root.children.select {|d| d.section === self }.sort_by {|e| e.name }300 root.children.select { |d| d.section === self }.sort_by { |e| e.name } 301 301 end 302 302 303 303 def descendants 304 root.descendants.select {|d| d.section === self }.sort_by {|e| e.name }304 root.descendants.select { |d| d.section === self }.sort_by { |e| e.name } 305 305 end 306 306 … … 317 317 318 318 def ebnf_expressions 319 ebnf.elements.map {|e| e.elements.last }319 ebnf.elements.map { |e| e.elements.last } 320 320 end 321 321 … … 372 372 def related_to 373 373 if tags.include?("related to") 374 namespace = tags.find {|tag| tag.name == "related to" }.value374 namespace = tags.find { |tag| tag.name == "related to" }.value 375 375 root.find_by_name(namespace) 376 376 else … … 383 383 r.section 384 384 elsif tags.include?("section") 385 value = tags.find {|tag| tag.name == "section" }.value386 root.sections.find {|s| s.name == value }385 value = tags.find { |tag| tag.name == "section" }.value 386 root.sections.find { |s| s.name == value } 387 387 else 388 388 nil … … 452 452 # Returns a sorted array of KlassProperty 453 453 def klass_properties 454 root.klass_properties.select { |e| e.namespace === self }.sort_by { |e| e.name }454 root.klass_properties.select { |e| e.namespace === self }.sort_by { |e| e.name } 455 455 end 456 456 457 457 # Returns a sorted array of KlassMethod 458 458 def klass_methods 459 root.klass_methods.select { |e| e.namespace === self }.sort_by { |e| e.name }459 root.klass_methods.select { |e| e.namespace === self }.sort_by { |e| e.name } 460 460 end 461 461 462 462 # Returns a sorted array of InstanceProperty 463 463 def instance_properties 464 root.instance_properties.select { |e| e.namespace === self }.sort_by { |e| e.name }464 root.instance_properties.select { |e| e.namespace === self }.sort_by { |e| e.name } 465 465 end 466 466 467 467 # Returns a sorted array of InstanceMethod 468 468 def instance_methods 469 root.instance_methods.select { |e| e.namespace === self }.sort_by { |e| e.name }469 root.instance_methods.select { |e| e.namespace === self }.sort_by { |e| e.name } 470 470 end 471 471 472 472 # Returns a sorted array of Constant 473 473 def constants 474 root.constants.select { |e| e.namespace === self }.sort_by { |e| e.name }474 root.constants.select { |e| e.namespace === self }.sort_by { |e| e.name } 475 475 end 476 476 … … 480 480 481 481 def children 482 root.descendants.select {|e| e.namespace === self }.sort_by { |e| e.name }482 root.descendants.select { |e| e.namespace === self }.sort_by { |e| e.name } 483 483 end 484 484 485 485 def related_utilities 486 root.utilities.select {|e| e.related_to === self}.sort_by { |e| e.name }486 root.utilities.select { |e| e.related_to === self }.sort_by { |e| e.name } 487 487 end 488 488 … … 523 523 def all_methods 524 524 c = constructor 525 c ? (super << c).sort_by { |e| e.name } : super525 c ? (super << c).sort_by { |e| e.name } : super 526 526 end 527 527