内容 †目的 †長い間日記を更新していないと、 1月6日(日)の日記。 後日更新。 1月7日(月)の日記。 後日更新。 のようなものを大量に作成する必要が出てくる。 そういえば、Perlで初めてサブルーチン使ったのもこのツールだったなぁ。 出力イメージ †こんな感じの出力になります。 2008年10月13日版の出力 あとはこれをブログに貼り付けていく作業が必要になるのだけど、、まあここまで自動でできるだけでも大分いいかと。。 <p>9月1日(月)の日記。</p> <p>後日更新。<br>この日の<a href="http://hinata.la.coocan.jp/pukiwiki/?%A5%E1%A5%E2%A5%E1%A5%E2%2F2008-09-01" target="blank">メモ</a>。</p> <p>9月2日(火)の日記。</p> <p>後日更新。<br>この日の<a href="http://hinata.la.coocan.jp/pukiwiki/?%A5%E1%A5%E2%A5%E1%A5%E2%2F2008-09-02" target="blank">メモ</a>。</p> ソース †#
# 後日更新文作成ツール
#
$memo_addr="http://hinata.la.coocan.jp/pukiwiki/?%A5%E1%A5%E2%A5%E1%A5%E2%2F";
$nen=$ARGV[0];
#2000年は土曜日から始まる
$youbi_cnt=5;
#その年が何曜日から始まるか
sub start_youbi{
my $cnt=2000;
for($cnt =2000 ; $cnt < $nen ; $cnt++){
$youbi_cnt++;
if ($cnt % 4 == 0){
$youbi_cnt++;
}
}
}
sub youbi_print{
if ($_[0]%7==0) {print FW "月";}
if ($_[0]%7==1) {print FW "火";}
if ($_[0]%7==2) {print FW "水";}
if ($_[0]%7==3) {print FW "木";}
if ($_[0]%7==4) {print FW "金";}
if ($_[0]%7==5) {print FW "土";}
if ($_[0]%7==6) {print FW "日";}
}
sub monthroop{
my $day=0;
my $day2="0";
my $month="0";
if ($_[0] < 10 ){$month="0" . $_[0];}else{$month=$_[0];}
mkdir $nen, 0777 ;
open(FW,">./$nen/${nen}_$month.txt");
for ( $day = $_[1] ; $day <= $_[2] ; $day++ ){
print FW "<p>" . $_[0] . "月" . $day . "日(";
&youbi_print("$youbi_cnt");
print FW ")の日記。</p>\n\n";
print FW "<p>後日更新。<br>この日の";
if ($day < 10 ){$day2="0" . $day;}else{$day2=$day;}
print FW "<a href=\"$memo_addr$nen\-$month\-$day2\" target=\"blank\">メモ</a>。";
print FW "</p>\n\n\n";
$youbi_cnt++;
}
close(FW);
}
sub yearprint {
my $feb_day=0;
if ($nen % 4 ==0 ){$feb_day=29;}else{$feb_day=28;}
#&monthroop("月","開始日","終了日",);
&monthroop("1","1","31");
&monthroop("2","1","$feb_day");
&monthroop("3","1","31");
&monthroop("4","1","30");
&monthroop("5","1","31");
&monthroop("6","1","30");
&monthroop("7","1","31");
&monthroop("8","1","31");
&monthroop("9","1","30");
&monthroop("10","1","31");
&monthroop("11","1","30");
&monthroop("12","1","31");
}
&start_youbi();
&yearprint();
更新履歴 †2008年10月5日(日) †サブ関数であるmonthroopの最後に出力ON,OFFフラグを追加した。 2008年10月13日(月祝) †近頃日記からWikiのメモメモにリンクするようにしているので、日にちごとのメモメモへのリンクのhtmlイメージも自動で作るように変更した。 2009年1月3日(土) †年を引数として指定するとその年の分をすべて月ごとに出力するように変更した。 C:\Documents and Settings\日向充\My Documents\08.Perl\日記\2009 のようなディレクトリに 2009_01.txt 2009_02.txt 2009_03.txt 2009_04.txt 2009_05.txt 2009_06.txt 2009_07.txt 2009_08.txt 2009_09.txt 2009_10.txt 2009_11.txt 2009_12.txt のようなファイルを自動生成するようにした。
|