61 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| # -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
 | |
| 
 | |
| gendefault
 | |
| 
 | |
| etitle "Documentation de ulib"
 | |
| array_from_lines ulibnames "$(list_files lib/ulib)"
 | |
| # faire les pages
 | |
| for ulibname in "${ulibnames[@]}"; do
 | |
|     awkrun <"lib/ulib/$ulibname" 'BEGIN {
 | |
|   in_func = 0
 | |
|   dump_doc = 0
 | |
|   dumped_doc = 0
 | |
|   print
 | |
| }
 | |
| !in_func && $0 ~ /^function / {
 | |
|   if (match($0, /function +([^ ]+)\(\)/, vs)) {
 | |
|     funcname = vs[1]
 | |
|     if (funcname !~ /^_/) {
 | |
|       in_func = 1
 | |
|       dump_doc = 1
 | |
|       dumped_doc = 0
 | |
|       print "==== " funcname " ===="
 | |
|       if ($0 ~ /}$/) {
 | |
|         in_func = 0
 | |
|         dump_doc = 0
 | |
|         dumped_doc = 0
 | |
|       }
 | |
|       next
 | |
|     }
 | |
|   }
 | |
| }
 | |
| in_func && dump_doc && $0 !~ /^ *#/ {
 | |
|   dump_doc = 0
 | |
| }
 | |
| in_func && dump_doc && $0 ~ /^ *#/ {
 | |
|   if (!dumped_doc) print "<code>"
 | |
|   gsub(/^ *#+/, "")
 | |
|   print
 | |
|   dumped_doc = 1
 | |
| }
 | |
| in_func && $0 ~ /}$/ {
 | |
|   if (dumped_doc) print "</code>"
 | |
|   in_func = 0
 | |
|   dump_doc = 0
 | |
|   dumped_doc = 0
 | |
| }
 | |
| END { if (in_func) print "</code>" }
 | |
| ' | setpage "$ulibname" ulib
 | |
| done
 | |
| eend
 | |
| 
 | |
| # faire l'entête
 | |
| addpage start <<EOF
 | |
| ==== Librairies ulib ====
 | |
| EOF
 | |
| for ulibname in "${ulibnames[@]}"; do
 | |
|     addpage start <<EOF
 | |
|   * [[${ns}ulib:$ulibname]]
 | |
| EOF
 | |
| done
 | 
