mirror of
https://github.com/fluencelabs/redis
synced 2025-03-19 17:10:50 +00:00
Simple Ruby script to generate reference doc added.
This commit is contained in:
parent
0fd6d548ca
commit
d998170809
38
src/modules/gendoc.rb
Normal file
38
src/modules/gendoc.rb
Normal file
@ -0,0 +1,38 @@
|
||||
# gendoc.rb -- Converts the top-comments inside module.c to modules API
|
||||
# reference documentaiton in markdown format.
|
||||
|
||||
# Convert the C comment to markdown
|
||||
def markdown(s)
|
||||
s = s.gsub(/\*\/$/,"")
|
||||
s = s.gsub(/^ \* {0,1}/,"")
|
||||
s = s.gsub(/^\/\* /,"")
|
||||
s.chop! while s[-1] == "\n" || s[-1] == " "
|
||||
return s
|
||||
end
|
||||
|
||||
# Given the source code array and the index at which an exported symbol was
|
||||
# detected, extracts and outputs the documentation.
|
||||
def docufy(src,i)
|
||||
m = /RM_[A-z0-9]+/.match(src[i])
|
||||
proto = src[i].sub("{","").strip+";\n"
|
||||
puts "## #{m[0]}\n\n"
|
||||
puts " #{proto}\n"
|
||||
comment = ""
|
||||
while true
|
||||
i = i-1
|
||||
comment = src[i]+comment
|
||||
break if src[i] =~ /\/\*/
|
||||
end
|
||||
comment = markdown(comment)
|
||||
puts comment+"\n\n"
|
||||
end
|
||||
|
||||
puts "# Modules API reference\n\n"
|
||||
src = File.open("../module.c").to_a
|
||||
src.each_with_index{|line,i|
|
||||
if line =~ /RM_/ && line[0] != ' ' && line[0] != '#' && line[0] != '/'
|
||||
if src[i-1] =~ /\*\//
|
||||
docufy(src,i)
|
||||
end
|
||||
end
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user