Add TUWF 1.2
This commit is contained in:
parent
54947f15c2
commit
2192e68775
8 changed files with 58 additions and 13 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -1,2 +1,3 @@
|
|||
*.gz
|
||||
*.zip
|
||||
download/doc
|
||||
|
|
|
|||
7
dat/ncdu
7
dat/ncdu
|
|
@ -57,10 +57,11 @@ L<Puppy Linux|http://www.murga-linux.com/puppy/viewtopic.php?t=35024> -
|
|||
L<Solaris|http://www.opencsw.org/packages/ncdu> -
|
||||
L<Slackware|http://slackbuilds.org/repository/14.2/system/ncdu/> -
|
||||
L<Slax Linux|http://www.slax.org/modules.php?detail=ncdu> -
|
||||
L<Ubuntu|http://packages.ubuntu.com/search?searchon=sourcenames&keywords=ncdu>
|
||||
L<Ubuntu|http://packages.ubuntu.com/search?searchon=sourcenames&keywords=ncdu> -
|
||||
L<Void Linux|https://www.voidlinux.eu/packages/>
|
||||
|
||||
Packages for CentOS, RHEL and (open)SUSE can be found on the
|
||||
L<Open Build Service|https://build.opensuse.org/package/show?package=ncdu&project=utilities>.
|
||||
Packages for RHEL and (open)SUSE can be found on the
|
||||
L<Open Build Service|https://software.opensuse.org//download.html?project=utilities&package=ncdu>.
|
||||
|
||||
Packages for NetBSD, DragonFlyBSD, MirBSD and others can be found on
|
||||
L<pkgsrc|http://pkgsrc.se/sysutils/ncdu>.
|
||||
|
|
|
|||
14
dat/tuwf
14
dat/tuwf
|
|
@ -9,26 +9,24 @@ websites, it is also perfectly suited for small single-file websites.
|
|||
|
||||
=over
|
||||
|
||||
=item * Very small, and no extra modules required,
|
||||
=item * Very small, and no extra modules required for the base functionality,
|
||||
|
||||
=item * Easy URI-to-function mapping using regular expressions,
|
||||
=item * Easy built-in routing,
|
||||
|
||||
=item * Handy form validation functions,
|
||||
|
||||
=item * Easy XML/XHTML output generation functions,
|
||||
=item * Easy XML/HTML generation,
|
||||
|
||||
=item * Response buffering and output compression,
|
||||
|
||||
=item * Easy access to GET/POST data and cookies,
|
||||
=item * Easy access to request data,
|
||||
|
||||
=item * Support for CGI and FastCGI - optimized for FastCGI,
|
||||
=item * Support for CGI, FastCGI and a built-in web server,
|
||||
|
||||
=item * Uses UTF-8 for all text,
|
||||
|
||||
=item * Convenient SQL execution functions and correct transaction handling,
|
||||
|
||||
=item * Promotes code re-use,
|
||||
|
||||
=item * Open source (duh!) and available under a liberal MIT license.
|
||||
|
||||
=back
|
||||
|
|
@ -39,7 +37,7 @@ information and details.
|
|||
|
||||
=head2 Download
|
||||
|
||||
B<Latest packaged version:> 1.1 ([dllink TUWF-1.1.tar.gz download]
|
||||
B<Latest packaged version:> 1.2 ([dllink TUWF-1.2.tar.gz download]
|
||||
- L<CPAN mirror|http://search.cpan.org/dist/TUWF/>)
|
||||
|
||||
TUWF is also available on a git repository at L<https://g.blicky.net/tuwf.git/>.
|
||||
|
|
|
|||
|
|
@ -1,3 +1,27 @@
|
|||
1.2 - 2018-02-18
|
||||
- Add tuwf() exported function as alias to $self or $TUWF::OBJ
|
||||
- Add TUWF::get/put/post/etc() as better alternative to TUWF::register()
|
||||
- Add TUWF::hook() as better alternative to (pre|post)_request_handler
|
||||
- Add capture() to access route captures
|
||||
- Add standandlone HTTP dev server (requires HTTP::Server::Simple)
|
||||
- Add pass() and done() methods to prematurely abort the current handler
|
||||
- Add 'import_modules' setting
|
||||
- TUWF::Request: Add reqJSON()
|
||||
- TUWF::Request: Disallow control characters in HTTP request data
|
||||
- TUWF::Response: Add resJSON()
|
||||
- TUWF::Response: Add resBinary()
|
||||
- TUWF::Response: Add resFile() + mime_types/mime_default settings
|
||||
- TUWF::Response: Allow setting headers before resRedirect()
|
||||
- TUWF::Response: resRedirect() now sets a relative 'Location' HTTP header
|
||||
- TUWF::DB: Add DB query logging and profiling to non-TUWF database functions
|
||||
- TUWF::DB: Add dbVal()
|
||||
- TUWF::XML: Add functional-style DSL
|
||||
- TUWF::XML: Add HTML5 support
|
||||
- TUWF::XML: Add different naming convention support
|
||||
- TUWF::XML: Add 'mkclass' utility function
|
||||
- Improved error pages
|
||||
- Various documentation improvements
|
||||
|
||||
1.1 - 2017-11-26
|
||||
- Disallow exclamation mark in email address validation
|
||||
- Add reqProtocol() method
|
||||
|
|
|
|||
16
download/TUWF-1.2.tar.gz.asc
Normal file
16
download/TUWF-1.2.tar.gz.asc
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCgAdFiEEdEYNMrgIEOupr6LpYjlMaYwnOfoFAlqJW1IACgkQYjlMaYwn
|
||||
OfoX8xAAtvV3oCpZqDEEJl50MJTy8dncFo3nMxKfD7xbsv4pKbPh6sj3kEd+PcdM
|
||||
kbQxECdKZbNx8LgtjW7jNwIsU6SoEV4WZUWN3dZiVEGr+qF5Gc9101M1c5z99BPU
|
||||
D+2QjjbcHB1MepcRaKe76eT1+KLm/nA5OqfNgQ1z626r31JriB4d+Ppd8GlDfCDq
|
||||
UALjjv0qzwVEr4YBdeXClDYJ1vorEGoOyt/gqBuged86NDaeyqkZ2c/2y2HeB8If
|
||||
B2PCZbYx7DFAcOz7XSJuVkeHLUvOlK3zknWMZXXeK01ev+evuVgGwe8dktQGL01P
|
||||
dRl+vpJi++eFhJ57zwXYvAFlW9KWuor3YnPJms2eOZAZyHKc2WXjN581YT/Xt1s1
|
||||
+r5qndZXUfgrk8tUANRKff5oaZ9xwoZ1XqBu3M3Dqrtl2RCj3TLg8KXuh19Sy0KQ
|
||||
ijz1/7ZlIRXVAo+mqmb2ZE8OfqXrGRwXdCWJTZ9LsHnkY+kPfB8FdoUP93vrkV7Z
|
||||
1Fu0T2Et7UWKj6Xr4qyBf/CjJZK9cy1EXfnrKVJQa5YkRVqQbnnzKFI5gv7U+GgO
|
||||
hJG4Tr84bv3xJEGtcMyMrgnAcag8+7KZYiM2yd/fp7wUtxs1BJczyxevVhWMKcSM
|
||||
dNsVm76AF8vsC7CCOOCXJZ9w4DfDyEWkyV4dKbFk60hkslj7BnI=
|
||||
=YQqj
|
||||
-----END PGP SIGNATURE-----
|
||||
1
download/TUWF-1.2.tar.gz.md5
Normal file
1
download/TUWF-1.2.tar.gz.md5
Normal file
|
|
@ -0,0 +1 @@
|
|||
5028482611a415c22993adab05b9698e TUWF-1.2.tar.gz
|
||||
1
download/TUWF-1.2.tar.gz.sha1
Normal file
1
download/TUWF-1.2.tar.gz.sha1
Normal file
|
|
@ -0,0 +1 @@
|
|||
3b336c065e9f8a37b2f387f9ff645c2ab2da5485 TUWF-1.2.tar.gz
|
||||
|
|
@ -12,6 +12,7 @@ BEGIN { ($ROOT = abs_path $0) =~ s{index\.cgi$}{}; }
|
|||
|
||||
|
||||
my @changes = (
|
||||
[ '2018-02-18', '/tuwf', 'TUWF 1.2 released' ],
|
||||
[ '2018-01-29', '/ncdu', 'ncdu 1.13 released' ],
|
||||
[ '2018-01-24', '/nginx-confgen', 'nginx-confgen 1.1 released' ],
|
||||
[ '2018-01-19', '/nginx-confgen', 'New project: nginx-confgen' ],
|
||||
|
|
@ -117,7 +118,7 @@ TUWF::register(
|
|||
qr{nginx-confgen/man} => sub { podpage(shift, 'nginx-confgen-man', 'nginx-confgen', 'man', 'The nginx-confgen(1) Man Page', 1) },
|
||||
qr{nginx-confgen/changes} => sub { changelog(shift, 'nginx-confgen-changelog', undef, 'nginx-confgen', 'changes', 'nginx-confgen Changelog', 1) },
|
||||
qr{tuwf} => sub { podpage(shift, 'tuwf', 'tuwf', '', 'The Ultimate Website Framework') },
|
||||
qr{tuwf/man(?:/(db|misc|request|response|xml))?} => \&tuwfmanual,
|
||||
qr{tuwf/man(?:/(db|intro|misc|request|response|xml))?} => \&tuwfmanual,
|
||||
qr{tuwf/changes} => sub { changelog(shift, 'tuwf-changelog', 'TUWF', 'tuwf', 'changes', 'TUWF Changelog') },
|
||||
qr{ylib} => sub { podpage(shift, 'ylib/README.pod', 'ylib', '', 'Ylib') },
|
||||
qr{yxml} => sub { podpage(shift, 'yxml', 'yxml', '', 'Yxml - A small, fast and correct* XML parser') },
|
||||
|
|
@ -202,7 +203,7 @@ sub tuwfmanual {
|
|||
$mod .= '/'.($mod{$man} || ucfirst $man) if $man;
|
||||
(my $pm = $mod) =~ s/\//::/;
|
||||
$s->htmlHeader(title => $pm.' Documentation', page => 'tuwf', sec => 'man', sec2 => $man);
|
||||
(my $f = $INC{"$mod.pm"}) =~ s/\.pm$/.pod/;
|
||||
(my $f = $INC{"TUWF.pm"}) =~ s/TUWF\.pm$/$mod.pod/;
|
||||
$s->htmlPOD($f, 1);
|
||||
$s->htmlFooter;
|
||||
}
|
||||
|
|
@ -414,6 +415,7 @@ sub htmlPOD {
|
|||
$p->{podhtml_LOT} = {
|
||||
'TUWF' => '/tuwf/man',
|
||||
'TUWF::DB' => '/tuwf/man/db',
|
||||
'TUWF::Intro' => '/tuwf/man/intro',
|
||||
'TUWF::Misc' => '/tuwf/man/misc',
|
||||
'TUWF::Request' => '/tuwf/man/request',
|
||||
'TUWF::Response' => '/tuwf/man/response',
|
||||
|
|
@ -550,6 +552,7 @@ sub htmlMenu {
|
|||
$m->('/tuwf/man', 'Manual', $o{sec} eq 'man', sub {
|
||||
$m->('/tuwf/man', 'Main', $o{sec} eq 'man' && !$o{sec2});
|
||||
$m->('/tuwf/man/db', '::DB', $o{sec} eq 'man' && $o{sec2} eq 'db');
|
||||
$m->('/tuwf/man/intro', '::Intro', $o{sec} eq 'man' && $o{sec2} eq 'intro');
|
||||
$m->('/tuwf/man/misc', '::Misc', $o{sec} eq 'man' && $o{sec2} eq 'misc');
|
||||
$m->('/tuwf/man/request', '::Request', $o{sec} eq 'man' && $o{sec2} eq 'request');
|
||||
$m->('/tuwf/man/response', '::Response', $o{sec} eq 'man' && $o{sec2} eq 'response');
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue