= Nozlog.def v0.13 = by H_ear #if 0 Web Forumの過去ログをnifty形式に整形 ($no,$reno,$lx,$sub,$email,$url,$name,$dat,$msg,$t,$h,$pw,$w,$oya); 但しniftyの総発言数を親発言番号に変更 IDは発言者名から生成 #endif * mad for vz! 1 ^\ "" ?. &a("過去ログのみ処理対象です. よろしいです") ;#0.12+ (r<1)?{ &m("中止しました.") . } mp[, eu[+, ek[+, mi[-, mx[+, ;; #^ #> #d ;先頭予約行はパス #0.12- #^ #> #> ;先頭行末へ移動 (lh*we+lx<60)?{ &a("現行ログのようです. 強行します") ;#0.13+ (r<1)?{ &m("中止しました.") >z } #d ;先頭予約行をスキップ } #< #< ;念のため a=id, #O "forum.nif" #m (s)?'y' b=id, #W :l ; ---- main loop ---- #b #> #> #d #k #R "nul" #m (s)?'y' #i mb-, #56 "<>" #m "\n" #m "ay" #_ (4){ #e } &n o=r, ;oya (4){ #e } #b #_ #y ;雑情報削除 #^ #< &n n=r, #l &?("%05u/%05u ",n,o) ;no/oya &09 ;repl #g &n c=r, #l ;reno #g &n x=r, #l ;lx #d ;タイトル行 #x (2){#y} #_ #n #m #i ;urlのみ出力 #< (ct>1)?"参照先: " #< #^ (2){#x} #y #e #i ;name #< #b #> ps[=pa, #G ps], #< #s &10 #g #> ;name2id &#V(39) #> ;name (ct>1)?{ &x(38) #? #l &#V(39) #> } ;name #g &x(79) #? #l #d ;sub "( 1) " ;forum &x(15) mi+, " " mi-, ;date/time #> (c+1)?{ &?(" %05uへのコメント",c) } #m mb-, #_ #> #b #^ #< #y #C &#T(-b) #i &#T(-a) (ct>1)?>l #^ &#T(-b) #^ ;#0.13+ &m("名前を付けて保存してください.") :z ; ---- exit ---- mx], mi], ek], eu], mp], &d #] . 09: ; ---- repl < > &
#56 "
" #m "\n" #m "fy" #56 ">" #m ">" #m "fy" #56 "<" #m "<" #m "fy" #56 """ #m "$"" #m "fy" ;#0.11+ #56 "&" #m "&" #m "fy" 10: ; ---- name to id t=pa..0, &> u=r, &Im(u,0) &Ia(u,t) &Id(u,17576) v=r, u..0+=65, u..1=v/676+65, v=v%676+65, u..2=v%26+65, &Sn(pa) i=j-, (r){ j+=pa.i, i++, } &?("%c%c%c%05u ",u..0,u..1,u..2,j) 00: ; ---- long ---- (3+$)."[6]" * [Variables] a,b id c comment i counter j total n num o oya t name top word u use buf v tmp x (lx) [Buffers] pa as ps [History] 2005/06/16 0.10 初版 2006/12/22 0.11 WebForum v4.5 実体参照"変換に対応 2008/08/11 0.12 過去ログの先頭アーティクルを抽出していなかった 2008/08/16 0.13 過去ログ対応としたが現行ログで強行も可とした [Notes] 1回の#>で論理行末に移動しない事例あり,但しマクロ内ではなく,手入力で。 一応用心のため2度#>を発行する場合あり。 name2id…(^^; #>だけでラインバッファのエラーになることがあるが、マクロでは大丈夫なのか?