BEGIN { ls="ls ????-????" nr_cycles = 0; while (ls | getline cycle) { start[nr_cycles] = substr(cycle, 1, 4) + 0; end[nr_cycles] = substr(cycle, 6, 4) + 0; nr_cycles++ } } /^Zyklus : / { zyklus = $3; for (i = 4; i <= NF; i ++) { zyklus = zyklus " " $i; } print "" print "" print "" print "hjp: perry rhodan: zusammenfassungen: " zyklus "" print "" print "" print " " print "
" print "

" zyklus "

" next } /^Nummer : / { nr = $3; next; } /^Titel : / { if (inpara) { print "

" inpara = 0 } jpegfile = sprintf("%04d.jpg", nr); cmnd = "./jpegsize " html_dir "/" jpegfile; printf "\n", cmnd; jpegsize=""; cmnd | getline jpegsize close(cmnd); if (jpegsize == "") { jpegfile="pr-none.jpg"; } printf "

\n", jpegsize, jpegfile; printf "

%d - %s", nr, nr, $3; for (i = 4; i <= NF; i ++) { printf " %s", $i; } print "

" next; } /^Hauptpersonen : / { if (inpara) { print "

" inpara = 0 } print "

" $1 "

" print "
" printf "
" for (i = 3; i <= NF; i ++) { printf "%s ", $i; } cont = ($0 ~ /,[ \t]*$/); if (cont) { print "
" } pers = 1; next; } /^Autor/ { print "

" $1 "

" autor = $3; for (i = 4; i <= NF; i ++) { autor = autor " " $i; } a = autor; sub(/ /, "_", a); print "

" autor "

"; next } /^Verweise/ { if (inpara) { print "

" inpara = 0 } print "

" $1 "

" printf "

" refline = $0; sub(/.*: */, "", refline); split(refline, refarr, /, */) for (i = 1; refarr[i] != ""; i ++) { if (refarr[i] ~ /^PR /) { nr = substr(refarr[i], 4) + 0; for (j = 0; j < nr_cycles; j++) { if (start[j] <= nr && nr <= end[j]) break; } if (j < nr_cycles) { refarr[i] = sprintf("PR %d", start[j], end[j], nr, nr); } } printf "%s", refarr[i]; if (refarr[i+1] != "") printf ", "; } print "

" next } /^[A-Z]/ { if (inpara) { print "

" inpara = 0 } if (pers) print "
" print "

" $1 "

" print "

" inpara = 1 for (i = 3; i <= NF; i ++) { printf "%s ", $i; } pers = 0; next } !pers && /^[ ]+/ { if ($0 ~ /^ / || $0 ~ /^\t / || $0 ~ /^\t\t /) { print "

" print "\t\t

"; } print } pers && /^[ ]+/ { if (cont) { print $0 } else { print "

", $0 } cont = ($0 ~ /,[ \t]*$/); } END { if (inpara) { print "

" inpara = 0 } print "
" print "
" print "
" } # vim:sw=8