diff --git a/dat/doc-funcweb b/dat/doc-funcweb index cdc1d48..919de04 100644 --- a/dat/doc-funcweb +++ b/dat/doc-funcweb @@ -237,7 +237,7 @@ Haskell itself already has a few advantages when compared to OCaml: For one, it has a larger ecosystem, so for any task you can think of there is probably already at least one existing library. As an example, I was unable to find an actively maintained SQL DSL for OCaml, while there are several available for -Haskell. Another advantage that I found where the much more friendly and +Haskell. Another advantage that I found were the much more friendly and detailed error messages generated by the Haskell compiler, GHC. In terms of build systems, Haskell has standardized on L, which works alright most of the time. diff --git a/dat/ncdc b/dat/ncdc index 7448e75..da7b895 100644 --- a/dat/ncdc +++ b/dat/ncdc @@ -14,9 +14,9 @@ ncurses interface. - L) Convenient static binaries for Linux: -L<64-bit|https://dev.yorhel.nl/download/ncdc-linux-x86_64-1.20.tar.gz> - -L<32-bit|https://dev.yorhel.nl/download/ncdc-linux-i486-1.20.tar.gz> - -L. Check the +L<64-bit|https://dev.yorhel.nl/download/ncdc-linux-x86_64-1.20-6-g5111a.tar.gz> - +L<32-bit|https://dev.yorhel.nl/download/ncdc-linux-i486-1.20-6-g5111a.tar.gz> - +L. Check the L for more info. =item Development version diff --git a/dat/ncdc-install b/dat/ncdc-install index 3764677..c2392ee 100644 --- a/dat/ncdc-install +++ b/dat/ncdc-install @@ -38,11 +38,11 @@ compiling and/or installing it, I also offer statically linked binaries: =over -=item * L +=item * L -=item * L +=item * L -=item * L +=item * L =back diff --git a/dat/ncdu b/dat/ncdu index bd92cb1..52f6b84 100644 --- a/dat/ncdu +++ b/dat/ncdu @@ -13,12 +13,12 @@ POSIX-like environment with ncurses installed. =item Latest version -1.13 ([dllink ncdu-1.13.tar.gz download] +1.14 ([dllink ncdu-1.14.tar.gz download] - L) I also have convenient static binaries for Linux -L and -L. Download, +L and +L. Download, extract and run; no compilation or installation necessary (uses L). @@ -45,20 +45,19 @@ L - L - L - L - -L - +L - L - L - L - L - -L - L - -Mac OS X (L - L - L) - +Mac OS X (L - L - L) - L - L - L - L - L - -L +L Packages for RHEL and (open)SUSE can be found on the L. diff --git a/dat/ncdu-changelog b/dat/ncdu-changelog index 3a80774..263ec37 100644 --- a/dat/ncdu-changelog +++ b/dat/ncdu-changelog @@ -1,3 +1,13 @@ +1.14 - 2019-02-04 + - Add mtime display and sorting (Alex Wilson) + - Add (limited) --follow-symlinks option (Simon Doppler) + - Display larger file counts in browser UI + - Add -V, --version, and --help alias flags + - Fix crash when attempting to sort an empty directory + - Fix 100% CPU bug when ncdu loses the terminal + - Fix '--color=off' flag + - Fix some typos + 1.13 - 2018-01-29 - Add "extended information" mode and -e flag - Add file mode, modification time and uid/gid to info window with -e diff --git a/dat/ncdu-man b/dat/ncdu-man index 3ecd28e..784500f 100644 --- a/dat/ncdu-man +++ b/dat/ncdu-man @@ -20,11 +20,11 @@ provides a fast way to see what directories are using your disk space. =over -=item -h +=item -h, --help Print a short help message and quit. -=item -v +=item -v, -V, --version Print ncdu version and quit. @@ -67,6 +67,9 @@ when importing (to read this extra information in memory). This flag has no effect when importing a file that has been exported without the extended information. +This enables viewing and sorting by the latest child mtime, or modified time, +using 'm' and 'M', respectively. + =back =head2 Interface options @@ -169,6 +172,13 @@ displayed, but not their content, and they are not counted towards the disk usage statistics. See http://www.brynosaurus.com/cachedir/ +=item -L, --follow-symlinks + +Follow symlinks and count the size of the file they point to. As of ncdu 1.14, +this option will not follow symlinks to directories and will count each +symlinked file as a unique file (i.e. unlike how hard links are handled). This +is subject to change in later versions. + =back @@ -208,6 +218,11 @@ Order by number of items (press again for descending order) Toggle between showing disk usage and showing apparent size. +=item M + +Order by latest child mtime, or modified time. (press again for descending order) +Requires the -e flag. + =item d Delete the selected file or directory. An error message will be shown when the @@ -228,6 +243,10 @@ the current directory. Toggle display of child item counts. +=item m + +Toggle display of latest child mtime, or modified time. Requires the -e flag. + =item e Show/hide 'hidden' or 'excluded' files and directories. Please note that even @@ -264,6 +283,45 @@ Quit =back +=head1 FILE FLAGS + +Entries in the browser interface may be prefixed by a one-character flag. These +flags have the following meaning: + +=over + +=item ! + +An error occurred while reading this directory. + +=item . + +An error occurred while reading a subdirectory, so the indicated size may not be +correct. + +=item < + +File or directory is excluded from the statistics by using exlude patterns. + +=item > + +Directory is on another filesystem. + +=item @ + +This is neither a file nor a folder (symlink, socket, ...). + +=item H + +Same file was already counted (hard link). + +=item e + +Empty directory. + +=back + + =head1 EXAMPLES To scan and browse the directory you're currently in, all you need is a simple: diff --git a/dat/nginx-confgen b/dat/nginx-confgen index 9e72c6f..8ae5a74 100644 --- a/dat/nginx-confgen +++ b/dat/nginx-confgen @@ -41,14 +41,14 @@ See the L for more features. If you're on a x86_64 Linux system, you can simply use the binary: - curl -s https://dev.yorhel.nl/download/nginx-confgen-linux-amd64-1.1.tar.gz | tar -xzf- + curl -s https://dev.yorhel.nl/download/nginx-confgen-linux-amd64-1.2.tar.gz | tar -xzf- ./nginx-confgen output.conf To compile from source, install L and run: - git clone git://g.blicky.net/nginx-confgen.git + git clone https://code.blicky.net/yorhel/nginx-confgen.git cd nginx-confgen stack install The git repository is also available for L. +browsing|https://code.blicky.net/yorhel/nginx-confgen>. diff --git a/dat/nginx-confgen-changelog b/dat/nginx-confgen-changelog index c9a044a..20ca830 100644 --- a/dat/nginx-confgen-changelog +++ b/dat/nginx-confgen-changelog @@ -1,3 +1,11 @@ +1.2 - 2018-02-23 + - Preserve original string quoting and variable formatting + - Fix parser to be more lenient with argument formats + - Fix handling of the \\-escape sequence + - Fix handling of quoting & parenthesis in 'if' directive + - Fix handling of empty string in pre_if + - Remove support for parenthesis around pre_if arguments + 1.1 - 2018-01-24 - Add pre_warn directive - Add -i/-o/-v/-h command line arguments diff --git a/dat/nginx-confgen-man b/dat/nginx-confgen-man index d4efeb5..d7f7a25 100644 --- a/dat/nginx-confgen-man +++ b/dat/nginx-confgen-man @@ -16,10 +16,6 @@ nginx-confgen can be used to do pre-processing for nginx configuration files "compile-time" macro expansion and variable interpolation, which should make it less tedious to maintain large and complex configurations. -nginx-confgen does not currently support any command-line arguments. It simply -reads the configuration from standard input, and writes the processed -configuration to standard output. - nginx-confgen works by parsing the input into a syntax tree, modifying this tree, and then formatting the tree to generate the output. It is completely oblivious to nginx contexts and directives, so it is possible to do nonsensical @@ -111,8 +107,8 @@ new command). =head2 pre_if Similar to the C directive in nginx, except that this is evaluated during -preprocessing. nginx-confgen has a few warts with regards to parenthesis, -things usually work better without: +preprocessing. Also unlike C, parenthesis around the arguments are not +supported. Some examples: pre_if -f $certdir/ocsp.der { ssl_stapling on; @@ -214,68 +210,20 @@ nested macro expansion. =head1 BUGS & WARTS nginx-confgen is a quickly written hack to solve a particular use case, it is -quite likely to have some weird behavior and bugs. Here's a few I am aware of: +quite likely to have some weird behavior and bugs. -=over - -=item * +Comments and whitespace in the input files are thrown away and ignored. The +generated output is completely reformatted. The nginx configuration syntax is not as regular as I had hoped. It's possible for nginx modules to extend the syntax somewhat. A good example is the I directive in I. While nginx-confgen should be able to handle the I directive just fine, other extensions may cause syntax errors or will not survive a round-trip through nginx-confgen. - This applies to all I<*_by_lua_block> directives in the I. The I<_by_lua> directives that accept a string should work just fine. -=item * - -Be careful with parenthesis around if statements, e.g.: - - if ($a == $b) { } - -Will get converted into: - - if "(${a}" == "${b})" { } - -Which is unlikely what you want. As a workaround, add some spaces: - - if ( $a == $b ) { } - -=item * - -Arguments to directives may get reformatted, especially if they contain a -variable. This I not matter in most cases, but in some particular -scenarios it does. Here's a few examples of reformatting: - - return 301 http://blicky.net$request_uri; - # becomes: - return 301 "http://blicky.net${request_uri}"; - - add_header Something "${header}"; - # becomes: - add_header Something $header; - -This reformatting may cause different behavior for nginx directives that do not -support variable interpolation, such as C. - -=item * - -C does not like empty strings, e.g. - - pre_if $x == "" { } - -Will throw an error, use the following instead: - - pre_if $x { } - -=item * - -The error messages aren't always helpful. - -=back - +The error messages given by C aren't always helpful. =head1 AUTHOR diff --git a/dat/tuwf b/dat/tuwf index 404d135..9f0b642 100644 --- a/dat/tuwf +++ b/dat/tuwf @@ -38,9 +38,9 @@ information and details. =head2 Download B 1.2 ([dllink TUWF-1.2.tar.gz download] -- L) +- L) -TUWF is also available on a git repository at L. +TUWF is also available on a git repository at L. =head2 Websites using TUWF diff --git a/download/ncdu-1.14.tar.gz.asc b/download/ncdu-1.14.tar.gz.asc new file mode 100644 index 0000000..c384a21 --- /dev/null +++ b/download/ncdu-1.14.tar.gz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEEdEYNMrgIEOupr6LpYjlMaYwnOfoFAlxYaSIACgkQYjlMaYwn +OfqkmBAAq6TDPMcDMiXgcKkte2phU8ks8BizAdiydkjoQbFSBIpdeNrxTQMGvb6o +19MZEr29QfSBGB1UnaK1GWvYWxjRTDXMbKRYy5SFdcCi2vgsTJVkB1ydPfQ64t4Z +u3+h9zJzrlDDpFjGaGvidSLjE7/QCtPNO7nmxh8N2koX6i0q6xRYki+KBKaFr0/4 +HeKR8jHDam+1zHRD06BzelyqNcROolt/BUxhgRudrFIQFshsNK99MNjYaQOo6TJV +frMaGaYZJXhSMENQEvmTXEgj4pzoKn2MxKhywIAlRV85MPwDd+HxeaBsx4/k3JeS +gbNu4k2iJnG6rcNjTzHWyrqD0OGmwephp2AxyrdGS31L3Wl64oT0C2/zAcMnjbM4 +tnOO6FLrsu4vGalxGwvYYXj98aVfhYYac9P1v0ANcYWSqW8pL3XKJK/2Kx11v2Ko +p47q0FXr2NsQgBl54UMQLU3npVPrn9uI5RL9H5nxOIB3scCmiBuLXFrMAK+hslW0 +A79Yf/qgGyDBchDdajX3SZeGFEgc0F8JVuI7yQDg2oTIg8WwZBBgO3INmY/nu2zc +xDWRsGsyxsEQFw/6HvL2pcXx6Kz5XBy15TI7sZqnfT832tLmDHcyB61foyKKHFi/ +D21WsSsIHsoY+F4swnUl8hGhKyiD1V9AV1VXlBuUL+9wcJjRxDs= +=RqQk +-----END PGP SIGNATURE----- diff --git a/download/ncdu-1.14.tar.gz.md5 b/download/ncdu-1.14.tar.gz.md5 new file mode 100644 index 0000000..efe40f6 --- /dev/null +++ b/download/ncdu-1.14.tar.gz.md5 @@ -0,0 +1 @@ +d26c0aa57728c19969c3c5036fa272a0 ncdu-1.14.tar.gz diff --git a/download/ncdu-1.14.tar.gz.sha1 b/download/ncdu-1.14.tar.gz.sha1 new file mode 100644 index 0000000..3ec67f0 --- /dev/null +++ b/download/ncdu-1.14.tar.gz.sha1 @@ -0,0 +1 @@ +28c7003ad23d2e3a2d22d2c349bb0c7170752396 ncdu-1.14.tar.gz diff --git a/index.cgi b/index.cgi index def0703..033de53 100755 --- a/index.cgi +++ b/index.cgi @@ -12,6 +12,8 @@ BEGIN { ($ROOT = abs_path $0) =~ s{index\.cgi$}{}; } my @changes = ( + [ '2019-02-04', '/ncdu', 'ncdu 1.14 released' ], + [ '2018-02-23', '/nginx-confgen', 'nginx-confgen 1.2 released' ], [ '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' ], @@ -118,7 +120,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|intro|misc|request|response|xml))?} => \&tuwfmanual, + qr{tuwf/man(?:/(db|intro|misc|request|response|validate|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') }, @@ -478,8 +480,9 @@ sub htmlHeader { div class => 'notes'; txt 'Yoran Heling'; br; a href => 'mailto:projects@yorhel.nl', 'projects@yorhel.nl'; - br; a href => 'https://yorhel.nl', 'home'; - txt ' - '; a href => 'http://g.blicky.net', 'git repos'; + br; a href => 'https://yorhel.nl/', 'home'; + txt ' - '; a href => 'https://g.blicky.net/', 'git'; + txt ' - '; a href => 'https://niu.moe/@ayo', '@ayo'; br; b '= donate ='; a href => 'https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=BBF8LGT2LLNFN&lc=US¤cy_code=EUR&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted', 'paypal'; br; b '= pgp ='; @@ -511,7 +514,7 @@ sub htmlMenu { h1 class => 'title', "~ \u$o{page} ~" if $o{spec}{$o{page}}; my $m = sub { li; - my $s = ($_[0] =~ m{^/([^/]+)} && $o{spec}{$1} && $o{page} ne $1) || $_[0] =~ m{^http://}; + my $s = ($_[0] =~ m{^/([^/]+)} && $o{spec}{$1} && $o{page} ne $1) || $_[0] =~ m{^https?://}; my @c = ($s?'special':(), $_[2]?'menusel':(), $_[4]?'tiny':()); a href => $_[0], @c?(class => join ' ',@c):(), $_[1]; if($_[3]) { @@ -556,9 +559,11 @@ sub htmlMenu { $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'); + $m->('/tuwf/man/validate', '::Validate', $o{sec} eq 'man' && $o{sec2} eq 'validate'); $m->('/tuwf/man/xml', '::XML', $o{sec} eq 'man' && $o{sec2} eq 'xml'); }); $m->('/tuwf/changes', 'Changelog', $o{sec} eq 'changes'); + $m->('https://code.blicky.net/yorhel/tuwf/issues', 'Issues'); } elsif($o{page} eq 'yxml') { $m->('/yxml', 'Info', !$o{sec}); $m->('/yxml/man', 'Manual', $o{sec} eq 'man'); @@ -567,6 +572,7 @@ sub htmlMenu { $m->('/nginx-confgen', 'Info', !$o{sec}); $m->('/nginx-confgen/man', 'Manual', $o{sec} eq 'man'); $m->('/nginx-confgen/changes', 'Changelog', $o{sec} eq 'changes'); + $m->('https://code.blicky.net/yorhel/nginx-confgen/issues', 'Issues'); } else { $m->('/', 'Home', !$o{page}); $m->('/ncdu', 'Ncdu '); diff --git a/style.css b/style.css index f6b5a1d..d2e8894 100644 --- a/style.css +++ b/style.css @@ -38,8 +38,8 @@ h3 { margin-top: 0; margin-left: 10px } h1, h1 a { font-size: 19px; color: #000; margin-bottom: 5px; text-decoration: none } h2, h2 a { font-size: 16px; color: #000; margin-bottom: 1px; text-decoration: none } h3, h3 a { font-size: 15px; color: #000; margin-bottom: 1px; text-decoration: none } -li { margin-left: 35px; margin-right: 15px; text-align: justify } -p { margin: 3px 15px 13px 15px; text-align: justify } +li { margin-left: 35px; margin-right: 15px; /*text-align: justify*/ } +p { margin: 3px 15px 13px 15px; /*text-align: justify*/ } p + ul, p + ol { margin-top: -10px } pre { padding-left: 0 } pre, code, pre b { font: 11px monospace; }