diff --git a/dat/home b/dat/home index 577b16e..65c40fd 100644 --- a/dat/home +++ b/dat/home @@ -12,6 +12,8 @@ you decide to do with it. =over +=item C<2012-01-19 > TUWF 0.2 released. + =item C<2012-01-17 > Complete site redesign. =item C<2011-12-30 > ncdc 1.7 released! diff --git a/dat/tuwf b/dat/tuwf index 3341784..7559624 100644 --- a/dat/tuwf +++ b/dat/tuwf @@ -39,7 +39,7 @@ information and details. =head2 Download -B 0.1 ([dllink TUWF-0.1.tar.gz download] +B 0.2 ([dllink TUWF-0.2.tar.gz download] - L) TUWF is also available on a git repository at L. diff --git a/dat/tuwf-changelog b/dat/tuwf-changelog new file mode 100644 index 0000000..b614397 --- /dev/null +++ b/dat/tuwf-changelog @@ -0,0 +1,7 @@ +0.2 - 2012-01-19 + - Fixed bug with in-place utf8_decode() in recent Perls + - Lowered minimum Perl version to 5.8.0 + +0.1 - 2011-02-07 + Initial version + diff --git a/download/TUWF-0.2.tar.gz.asc b/download/TUWF-0.2.tar.gz.asc new file mode 100644 index 0000000..b1028f5 --- /dev/null +++ b/download/TUWF-0.2.tar.gz.asc @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.11 (GNU/Linux) + +iQIcBAABCgAGBQJPF9/6AAoJEGI5TGmMJzn6ZNwP/2zfqGyUV+KUmXPFuFXVWY4s +xE2O+mgZpN+Gr53ZLG05OrlwnwJhDoQmiBjOvoOo5gHpMvRilGE6wbcoClV+VFX1 +4L4FDJMAz9ij7iUP4Ex4lo09RjSfDt78RbK4ThnzA+n0+NwEJ71heolOVZQLl4f5 +GLLsx787djtNI1cA7s8h57PxAHiNQX9O3egHTNP46mHd7zMQ7EDUFf6yOiHoiliR +8zcWWj0p2PwkI01D7DP754MU5XAU7cM4Qyx8IvGtFVGPT1LCZ4VtBfMnQTkIV2Op +EBD4Qfj/V3r1trOf+4RujNY9kfZKotUvMLIgZ57o5JL8mMY243Q74Kb4ATFmFyvs +APt//iR/l9CpP1ztq3GDjrHn0OZw1u4STEBzZZHU8B5T4690ZOXIC82b+kxA/wSA +sPq4bbm+FpDdPGlFVAb7iR/7aJfNHzkMHVvcOGowdtik1kfb94/xX1R0R2dWOWVY +Bz+jyCeBAAsk05cicYDdjuJl/N09KO2i5Bos0SwiXzp2d/HQoGMqJU9R8OiobgZ9 +ZsU33kQdN/9ZAjzeKqiKe88Oz4LUb2YfKUgajDZDW6pHuYmoa22Fz1hLtvDVOsOY +iIE5fV2ciylVJbkotFf3rtxv1KY5uIWSc6Dxgwn0VcHEkz7GAwYLz0FZ3focb9M2 +rkMamcnJkkBflSYKElEo +=0AT+ +-----END PGP SIGNATURE----- diff --git a/download/TUWF-0.2.tar.gz.md5 b/download/TUWF-0.2.tar.gz.md5 new file mode 100644 index 0000000..9635447 --- /dev/null +++ b/download/TUWF-0.2.tar.gz.md5 @@ -0,0 +1 @@ +8d2e443764dea673d2a30379cd9fa149 TUWF-0.2.tar.gz diff --git a/download/TUWF-0.2.tar.gz.sha1 b/download/TUWF-0.2.tar.gz.sha1 new file mode 100644 index 0000000..55bd897 --- /dev/null +++ b/download/TUWF-0.2.tar.gz.sha1 @@ -0,0 +1 @@ +0d3e86975e47f07fe12b25dc1753cb6a105cc6df TUWF-0.2.tar.gz diff --git a/img/external.gif b/img/external.gif new file mode 100644 index 0000000..9f8a6e4 Binary files /dev/null and b/img/external.gif differ diff --git a/index.cgi b/index.cgi index 7c6a07d..478d773 100755 --- a/index.cgi +++ b/index.cgi @@ -14,15 +14,16 @@ TUWF::register( qr{} => sub { podpage(shift, 'home', '', '', "Yorhel's Projects") }, qr{ncdu} => sub { podpage(shift, 'ncdu', 'ncdu', '', 'NCurses Disk Usage') }, qr{ncdu/man} => sub { podpage(shift, 'ncdu-man', 'ncdu', 'man', 'Ncdu Manual') }, - qr{ncdu/changes} => sub { changelog(shift, 'ncdu-changelog', 'ncdu', 'changes', 'Ncdu Changelog') }, + qr{ncdu/changes} => sub { changelog(shift, 'ncdu-changelog', 'ncdu', 'ncdu', 'changes', 'Ncdu Changelog') }, qr{ncdu/scr} => sub { podpage(shift, 'ncdu-scr', 'ncdu', 'scr', 'Ncdu Screenshots') }, qr{ncdc} => sub { podpage(shift, 'ncdc', 'ncdc', '', 'NCurses Direct Connect') }, qr{ncdc/faq} => sub { podpage(shift, 'ncdc-faq', 'ncdc', 'faq', 'Ncdc Q&A', 1) }, qr{ncdc/scr} => sub { podpage(shift, 'ncdc-scr', 'ncdc', 'scr', 'Ncdc Screenshots') }, qr{ncdc/man} => sub { podpage(shift, 'ncdc-man', 'ncdc', 'man', 'Ncdc Manual', 1) }, - qr{ncdc/changes} => sub { changelog(shift, 'ncdc-changelog', 'ncdc', 'changes', 'Ncdc Changelog') }, + qr{ncdc/changes} => sub { changelog(shift, 'ncdc-changelog', 'ncdc', 'ncdc', 'changes', 'Ncdc Changelog') }, qr{tuwf} => sub { podpage(shift, 'tuwf', 'tuwf', '', 'The Ultimate Website Framework') }, qr{tuwf/man(?:/(db|misc|request|response|xml))?} => \&tuwfmanual, + qr{tuwf/changes} => sub { changelog(shift, 'tuwf-changelog', 'TUWF', 'tuwf', 'changes', 'TUWF Changelog') }, qr{doc} => sub { podpage(shift, 'doc', 'doc', '', 'Articles') }, qr{doc/sqlaccess} => sub { podpage(shift, 'sqlaccess', 'doc', '', 'Multi-threaded Access to an SQLite3 Database', 1) }, qr{dump} => sub { podpage(shift, 'dump', 'dump', '', 'Code dump') }, @@ -51,7 +52,7 @@ sub podpage { sub changelog { - my($s, $f, $p, $se, $t) = @_; + my($s, $f, $pr, $p, $se, $t) = @_; $s->htmlHeader(title => $t, page => $p, sec => $se); open my $F, '<', "$ROOT/dat/$f" or die $!; ul; @@ -60,7 +61,7 @@ sub changelog { li style => 'list-style-type: none; margin: 0'; b $1; txt " - $2 - "; - lit $s->genDLLink("$p-$1.tar.gz"); + lit $s->genDLLink("$pr-$1.tar.gz"); br; ul; for (split(/\r?\n\s+-\s+/, $v)) { @@ -213,7 +214,7 @@ sub htmlMenu { my($s, %o) = @_; my $m = sub { li; - a href => $_[0], $_[2]?(class=>'menusel'):(), $_[1]; + a href => $_[0], $_[0]!~/^\//?(class=>'external'):$_[2]?(class=>'menusel'):(), $_[1]; if($_[2] && $_[3]) { ul; $_[3]->(); @@ -228,7 +229,7 @@ sub htmlMenu { $m->('/ncdu/man', 'Manual', $o{sec} eq 'man'); $m->('/ncdu/changes', 'Changelog', $o{sec} eq 'changes'); $m->('/ncdu/scr', 'Screenshots', $o{sec} eq 'scr'); - $m->('http://sourceforge.net/tracker/?group_id=200175', 'Bug tracker (ext)'); # TODO: wikipedia-style extern image or something + $m->('http://sourceforge.net/tracker/?group_id=200175', 'Bug tracker '); }); $m->('/ncdc', 'Ncdc', $o{page} eq 'ncdc', sub { $m->('/ncdc', 'Info', !$o{sec}); @@ -237,7 +238,7 @@ sub htmlMenu { $m->('/ncdc/changes', 'Changelog', $o{sec} eq 'changes'); $m->('/ncdc/scr', 'Screenshots', $o{sec} eq 'scr'); }); - $m->('/tuwf', 'TUWF', $o{page} eq 'tuwf', sub { + $m->('/tuwf', 'Tuwf', $o{page} eq 'tuwf', sub { $m->('/tuwf', 'Info', !$o{sec}); $m->('/tuwf/man', 'Manual', $o{sec} eq 'man', sub { $m->('/tuwf/man', 'Main', !$o{sec2}); @@ -247,6 +248,7 @@ sub htmlMenu { $m->('/tuwf/man/response', '::Response', $o{sec2} eq 'response'); $m->('/tuwf/man/xml', '::XML', $o{sec2} eq 'xml'); }); + $m->('/tuwf/changes', 'Changelog', $o{sec} eq 'changes'); }); $m->('/doc', 'Articles', $o{page} eq 'doc'); $m->('/dump', 'Code dump', $o{page} eq 'dump', sub { @@ -300,6 +302,7 @@ sub printCSS { .indexgroup li { list-style-type: none; margin-left: 0px } .indexgroup li li { margin-left: 20px } .indexgroup + .dummyTopAnchor + p { margin-top: 20px } + a.external:after { content: url(/img/external.gif) } b { font-weight: bold } h1.title { margin-top: 0; font-size: 25px } h1 { margin-top: 50px; }