module Docs class Ruby < Rdoc # Instructions: # 1. Download Ruby's source code # 2. Run "./configure && make html" (in the Ruby directory) # 3. Copy the ".ext/html" directory to "docs/ruby~[version]" include FixInternalUrlsBehavior self.links = { home: 'https://www.ruby-lang.org/', code: 'https://github.com/ruby/ruby' } html_filters.replace 'rdoc/entries', 'ruby/entries' options[:root_title] = 'Ruby Programming Language' options[:title] = ->(filter) { filter.slug == 'globals_rdoc' ? 'Globals' : false } options[:skip] += %w( contributing_rdoc.html contributors_rdoc.html dtrace_probes_rdoc.html maintainers_rdoc.html regexp_rdoc.html standard_library_rdoc.html syntax_rdoc.html extension_rdoc.html extension_ja_rdoc.html Data.html English.html Fcntl.html Kconv.html NKF.html OLEProperty.html OptParse.html UnicodeNormalize.html) options[:skip_patterns] += [ /\Alib\//, /\ADEBUGGER__/, /\AException2MessageMapper/, /\AJSON\/Ext/, /\AGem/, /\AHTTP/i, /\AIRB/, /\AMakeMakefile/i, /\ANQXML/, /\APride/, /\AProfiler__/, /\APsych\//, /\ARacc/, /\ARake/, /\ARbConfig/, /\ARDoc/, /\AREXML/, /\ARSS/, /\AShell\//, /\ATest/, /\AWEBrick/, /win32/i, /\AXML/, /\AXMP/] options[:attribution] = <<-HTML Ruby Core © 1993–2024 Yukihiro Matsumoto<br> Licensed under the Ruby License.<br> Ruby Standard Library © contributors<br> Licensed under their own licenses. HTML version '3.4' do self.release = '3.4.1' end version '3.3' do self.release = '3.3.0' end version '3.2' do self.release = '3.2.2' end version '3.1' do self.release = '3.1.4' end version '3' do self.release = '3.0.6' end version '2.7' do self.release = '2.7.2' end version '2.6' do self.release = '2.6.3' end version '2.5' do self.release = '2.5.3' end version '2.4' do self.release = '2.4.5' end version '2.3' do self.release = '2.3.8' end version '2.2' do self.release = '2.2.10' end def get_latest_version(opts) tags = get_github_tags('ruby', 'ruby', opts) tags.each do |tag| version = tag['name'].gsub(/_/, '.')[1..-1] if !/^([0-9.]+)$/.match(version).nil? && version.count('.') == 2 return version end end end endend
module Docs
class Ruby < Rdoc
# Instructions:
# 1. Download Ruby's source code
# 2. Run "./configure && make html" (in the Ruby directory)
# 3. Copy the ".ext/html" directory to "docs/ruby~[version]"
include FixInternalUrlsBehavior
self.links = {
home: 'https://www.ruby-lang.org/',
code: 'https://github.com/ruby/ruby'
}
html_filters.replace 'rdoc/entries', 'ruby/entries'
options[:root_title] = 'Ruby Programming Language'
options[:title] = ->(filter) { filter.slug == 'globals_rdoc' ? 'Globals' : false }
options[:skip] += %w(
contributing_rdoc.html
contributors_rdoc.html
dtrace_probes_rdoc.html
maintainers_rdoc.html
regexp_rdoc.html
standard_library_rdoc.html
syntax_rdoc.html
extension_rdoc.html
extension_ja_rdoc.html
Data.html
English.html
Fcntl.html
Kconv.html
NKF.html
OLEProperty.html
OptParse.html
UnicodeNormalize.html)
options[:skip_patterns] += [
/\Alib\//,
/\ADEBUGGER__/,
/\AException2MessageMapper/,
/\AJSON\/Ext/,
/\AGem/,
/\AHTTP/i,
/\AIRB/,
/\AMakeMakefile/i,
/\ANQXML/,
/\APride/,
/\AProfiler__/,
/\APsych\//,
/\ARacc/,
/\ARake/,
/\ARbConfig/,
/\ARDoc/,
/\AREXML/,
/\ARSS/,
/\AShell\//,
/\ATest/,
/\AWEBrick/,
/win32/i,
/\AXML/,
/\AXMP/]
options[:attribution] = <<-HTML
Ruby Core © 1993–2024 Yukihiro Matsumoto<br>
Licensed under the Ruby License.<br>
Ruby Standard Library © contributors<br>
Licensed under their own licenses.
HTML
version '3.4' do
self.release = '3.4.1'
end
version '3.3' do
self.release = '3.3.0'
end
version '3.2' do
self.release = '3.2.2'
end
version '3.1' do
self.release = '3.1.4'
end
version '3' do
self.release = '3.0.6'
end
version '2.7' do
self.release = '2.7.2'
end
version '2.6' do
self.release = '2.6.3'
end
version '2.5' do
self.release = '2.5.3'
end
version '2.4' do
self.release = '2.4.5'
end
version '2.3' do
self.release = '2.3.8'
end
version '2.2' do
self.release = '2.2.10'
end
def get_latest_version(opts)
tags = get_github_tags('ruby', 'ruby', opts)
tags.each do |tag|
version = tag['name'].gsub(/_/, '.')[1..-1]
if !/^([0-9.]+)$/.match(version).nil? && version.count('.') == 2
return version
end
end
end
end
end