X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=utils%2Fmkman.rb;h=55d6eff47e04991402097002d610fe5003f90c66;hb=f5cbd02a359c751065229e84534bb33ec259f2f1;hp=cb9cad3c00bcc6c02642ef0cb5cf589a698721a1;hpb=f233214188d61276924763106f3e6ad4849e63ce;p=m17n%2Fm17n-docs.git diff --git a/utils/mkman.rb b/utils/mkman.rb index cb9cad3..55d6eff 100644 --- a/utils/mkman.rb +++ b/utils/mkman.rb @@ -1,23 +1,24 @@ #! /usr/local/bin/ruby +# Usage: mkman.rb SRCDIR DSTDIR + #¼Â¹Ô¤¹¤ë¤È/tmp/doxyman¤ò¤Ä¤«¤Ã¤Æ¥Õ¥¡¥¤¥ë¤òʬ¤±¡¢ #¤â¤È¤Îdirectory¤Ë¤«¤­¤Ê¤ª¤¹¡£ # see also ¤ÎÃæ¿È¤ò woman ¸þ¤±¤Ë½ñ¤­´¹¤¨¤ë¡£ -usr_or_ja=$*[0] +$manext="."+$*[0] # # Setting up directory names. # $currentdir = Dir.pwd+"/" +$srcdir=$currentdir+$*[1]+"/" +$dstdir=$currentdir+$*[2]+"/" $doxywork = $currentdir+"doxywork/" -$srcman3 = $currentdir+usr_or_ja+"/man/man3/" -if usr_or_ja == "usr" - $dstman3m = $currentdir+"/man/man3m/" -else - $dstman3m = $currentdir+"/man/ja/man3m/" -end $sampledir="sample/man3/" +$headfile = $currentdir+"manhead" + +headbuf = open($headfile, "r").readlines # # Extra information about header strings Doxygen generates in a man file. @@ -84,7 +85,7 @@ def writedocumentation(buf, text, index) def datastructure(struct) - text = open(struct.concat(".3m"),"r").readlines + text = open(struct.concat($manext),"r").readlines buf = [] @@ -169,7 +170,7 @@ def documentfunc2 (dstart, title, func_text, short_text) #short_text¤Î´Ø¿ô̾¤Î£²¹Ô¸å¤¬brief¡£ brief = short_text[short_text.index(short_text.find{|i| i.index(ffname)}) + 2] #´Ø¿ô¤´¤È¤Î¥Õ¥¡¥¤¥ë¤òºî¤ë¡£ - file = open($doxywork+fname+".3m", "w") + file = open($doxywork+fname+$manext, "w") file.puts("@function") #¥Ø¥Ã¥À /^\.TH \"([^"]*)\"\s/ =~ title @@ -252,6 +253,9 @@ def desrewrite(text) ### TEST 6/24 line.gsub!(".RS 4","") +### letting verbatim end in place + line.gsub!(/^.nf/,".NF") + #removing "More..." hyperlink line.gsub!(/More.../,"") # ? ad hoc @@ -261,14 +265,15 @@ def desrewrite(text) if line =~ /Return\svalue:/ returndescribed = true end - line.gsub!(/^\\fBReturn value:\\fP/,"\n.SH RETURNS\n.PP") + line.gsub!(/^\\fBReturn value:\\fP/,"\n.SH RETURN VALUE\n.PP") if line =~ /Errors:/ errordescribed = true end line.gsub!(/^\\fBErrors:\\fP/,"\n.SH ERRORS\n.PP") line.gsub!(/^\\fBSee Also:\\fP/,"\n.SH \"SEE ALSO\"\n.PP") - line.gsub!(/^\\fB(.+)\\fP/){"\n.SS " << $1} + line.gsub!(/^\\fB(.+)[^\)]\\fP/){"\n.SS " << $1} + # [^\)] in the pattern is added to avoid the first function in see also section. #removing indentation if text[i - 1] =~ /^.PP/ @@ -338,6 +343,9 @@ def orewrite(text) text.each_with_index{|line,i| line.gsub!(/More.../,"") + + ### let verbatim end in place + line.gsub!(/^.nf/,".NF") # let the library name appear in the header if line =~ /^.TH/ @@ -392,7 +400,7 @@ end Dir.mkdir $doxywork unless FileTest.directory? $doxywork -Dir.chdir($srcman3) +Dir.chdir($srcdir) Dir.open(".").each{|filename| @@ -400,9 +408,13 @@ Dir.open(".").each{|filename| next end - #if filename =~ /\.c\./ - # next - #end + if filename =~ /\.[ch]\./ + next + end + + if filename =~ /\.txt\./ + next + end file = open(filename,"r") text = file.readlines @@ -444,7 +456,7 @@ Dir.open(".").each{|filename| #############################rewriting files -Dir.chdir($dstman3m) +Dir.chdir($dstdir) Dir.open(".").each{|f| File.delete(f) if FileTest.file?(f)} @@ -467,7 +479,8 @@ unless FileTest.directory? filename else buf = orewrite(text) end - filetowrite = open($dstman3m+filename,"w") + filetowrite = open($dstdir+filename,"w") + filetowrite.puts(headbuf) filetowrite.puts(buf) filetowrite.flush end