From 72a63e80ddc2bf8c35732ec7afccfccb40ab0ed8 Mon Sep 17 00:00:00 2001 From: Yorhel Date: Wed, 18 Jan 2012 11:32:59 +0100 Subject: [PATCH] Added Cache-Control header + use POD for the ncdu manual --- dat/ncdu-man | 251 ++++++++++++++++++++++++++++++--------------------- index.cgi | 15 +-- 2 files changed, 151 insertions(+), 115 deletions(-) diff --git a/dat/ncdu-man b/dat/ncdu-man index ac56f1e..e72347d 100644 --- a/dat/ncdu-man +++ b/dat/ncdu-man @@ -1,135 +1,180 @@ -ncdu(1) ncdu manual ncdu(1) +.TH ncdu 1 "Nov 3, 2011" "ncdu-1.8" "ncdu manual" + +=head1 NAME + +B - NCurses Disk Usage +=head1 SYNOPSIS -NAME - ncdu - NCurses Disk Usage +B [I] I -SYNOPSIS - ncdu [-hqvx] [--exclude PATTERN] [-X FILE] dir +=head1 DESCRIPTION + +ncdu (NCurses Disk Usage) is a curses-based version of the well-known 'du', and +provides a fast way to see what directories are using your disk space. -DESCRIPTION - ncdu (NCurses Disk Usage) is a curses-based version of the well-known 'du', - and provides a fast way to see what directories are using your disk space. +=head1 OPTIONS + +=over + +=item -h + +Print a short help message. + +=item -q + +Quiet mode. While calculating disk space, ncdu will update the screen 10 times +a second by default, this will be decreased to once every 2 seconds in quiet +mode. Use this feature to save bandwidth over remote connections. + +=item -r + +Read-only mode. This will disable the built-in file deletion feature. + +=item -v + +Print version. + +=item -x + +Only count files and directories on the same filesystem as the specified +I. + +=item --exclude I + +Exclude files that match I. This argument can be added multiple times +to add more patterns. + +=item -X I, --exclude-from I + +Exclude files that match any pattern in I. Patterns should be separated +by a newline. + +=back -OPTIONS - -h Print a small help message +=head1 KEYS - -q Quiet mode. While calculating disk space, ncdu will update the - screen 10 times a second by default, this will be decreased to once - every 2 seconds in quiet mode. Use this feature to save bandwidth - over remote connections. +=over - -r Read-only mode. This will disable the built-in file deletion fea‐ - ture. +=item ? - -v Print version. +Show help + keys + about screen - -x Only count files and directories on the same filesystem as the spec‐ - ified dir. +=item up, down j, k - --exclude PATTERN - Exclude files that match PATTERN. This argument can be added multi‐ - ple times to add more patterns. +Cycle through the items - -X FILE, --exclude-from FILE - Exclude files that match any pattern in FILE. Patterns should be - separated by a newline. +=item right, enter, l + +Open selected directory + +=item left, <, h + +Go to parent directory + +=item n + +Order by filename (press again for descending order) + +=item s + +Order by filesize (press again for descending order) + +=item a + +Toggle between showing disk usage and showing apparent size. + +=item d + +Delete the selected file or directory. An error message will be shown when the +contents of the directory do not match or do not exist anymore on the +filesystem. + +=item t + +Toggle dirs before files when sorting. + +=item g + +Toggle between showing percentage, graph, both, or none. Percentage is relative +to the size of the current directory, graph is relative to the largest item in +the current directory. + +=item e + +Show/hide 'hidden' or 'excluded' files and directories. Please note that even +though you can't see the hidden files and directories, they are still there and +they are still included in the directory sizes. If you suspect that the totals +shown at the bottom of the screen are not correct, make sure you haven't +enabled this option. + +=item i + +Show information about the current selected item. + +=item r + +Refresh/recalculate the current directory. + +=item q + +Quit + +=back -KEYS - ? Show help + keys + about screen +=head1 HARD LINKS - up, down j, k - Cycle through the items +Every disk usage analysis utility has its own way of (not) counting hard links. +There does not seem to be any universally agreed method of handling hard links, +and it is even inconsistent among different versions of ncdu. This section +explains what each version of ncdu does. - right, enter, l - Open selected directory +ncdu 1.5 and below does not support any hard link detection at all: each link +is considered a separate inode and its size is counted for every link. This +means that the displayed directory sizes are incorrect when analyzing +directories which contain hard links. - left, <, h - Go to parent directory +ncdu 1.6 has basic hard link detection: When a link to a previously encountered +inode is detected, the link is considered to have a file size of zero bytes. +Its size is not counted again, and the link is indicated in the browser +interface with a 'H' mark. The displayed directory sizes are only correct when +all links to an inode reside within that directory. When this is not the case, +the sizes may or may not be correct, depending on which links were considered +as "duplicate" and which as "original". The indicated size of the topmost +directory (that is, the one specified on the command line upon starting ncdu) +is always correct. - n Order by filename (press again for descending order) - - s Order by filesize (press again for descending order) - - a Toggle between showing disk usage and showing apparent size. - - d Delete the selected file or directory. An error message will be - shown when the contents of the directory do not match or do not - exist anymore on the filesystem. - - t Toggle dirs before files when sorting. - - g Toggle between showing percentage, graph, both, or none. Percentage - is relative to the size of the current directory, graph is relative - to the largest item in the current directory. - - e Show/hide 'hidden' or 'excluded' files and directories. Please note - that even though you can't see the hidden files and directories, - they are still there and they are still included in the directory - sizes. If you suspect that the totals shown at the bottom of the - screen are not correct, make sure you haven't enabled this option. - - i Show information about the current selected item. - - r Refresh/recalculate the current directory. - - q Quit +ncdu 1.7 and later has improved hard link detection. Each file that has more +than two links has the "H" mark visible in the browser interface. Each hard +link is counted exactly once for every directory it appears in. The indicated +size of each directory is therefore, correctly, the sum of the sizes of all +unique inodes that can be found in that directory. Note, however, that this may +not always be same as the space that will be reclaimed after deleting the +directory, as some inodes may still be accessible from hard links outside it. -HARD LINKS - Every disk usage analysis utility has its own way of (not) counting hard - links. There does not seem to be any universally agreed method of handling - hard links, and it is even inconsistent among different versions of ncdu. - This section explains what each version of ncdu does. +=head1 BUGS - ncdu 1.5 and below does not support any hard link detection at all: each - link is considered a separate inode and its size is counted for every link. - This means that the displayed directory sizes are incorrect when analyzing - directories which contain hard links. +Directory hard links are not supported. They will not be detected as being hard +links, and will thus be scanned and counted multiple times. - ncdu 1.6 has basic hard link detection: When a link to a previously encoun‐ - tered inode is detected, the link is considered to have a file size of zero - bytes. Its size is not counted again, and the link is indicated in the - browser interface with a 'H' mark. The displayed directory sizes are only - correct when all links to an inode reside within that directory. When this - is not the case, the sizes may or may not be correct, depending on which - links were considered as "duplicate" and which as "original". The indicated - size of the topmost directory (that is, the one specified on the command - line upon starting ncdu) is always correct. +Some minor glitches may appear when displaying filenames that contain multibyte +or multicolumn characters. - ncdu 1.7 has improved hard link detection. Each file that has more than two - links has the "H" mark visible in the browser interface. Each hard link is - counted exactly once for every directory it appears in. The indicated size - of each directory is therefore, correctly, the sum of the sizes of all - unique inodes that can be found in that directory. Note, however, that this - may not always be same as the space that will be reclaimed after deleting - the directory, as some inodes may still be accessible from hard links out‐ - side it. +Please report any other bugs you may find at the bug tracker, which can be +found on the web site at http://dev.yorhel.nl/ncdu -BUGS - Directory hard links are not supported. They will not be detected as being - hard links, and will thus be scanned and counted multiple times. +=head1 AUTHOR - Some minor glitches may appear when displaying filenames that contain - multibyte or multicolumn characters. - - Please report any other bugs you may find at the bug tracker, which can be - found on the web site at http://dev.yorhel.nl/ncdu +Written by Yoran Heling . -AUTHOR - Written by Yoran Heling . +=head1 SEE ALSO - -SEE ALSO - du(1) - - - -ncdu-1.8 Nov 3, 2011 ncdu(1) +L diff --git a/index.cgi b/index.cgi index c0cf81b..148a37a 100755 --- a/index.cgi +++ b/index.cgi @@ -13,7 +13,7 @@ BEGIN { ($ROOT = abs_path $0) =~ s{index\.cgi$}{}; } TUWF::register( qr{} => sub { podpage(shift, 'home', '', '', "Yorhel's Projects") }, qr{ncdu} => sub { podpage(shift, 'ncdu', 'ncdu', '', 'NCurses Disk Usage') }, - qr{ncdu/man} => sub { manpage(shift, 'ncdu-man', 'ncdu', 'man', 'Ncdu Manual') }, + 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/scr} => sub { podpage(shift, 'ncdu-scr', 'ncdu', 'scr', 'Ncdu Screenshots') }, qr{ncdc} => sub { podpage(shift, 'ncdc', 'ncdc', '', 'NCurses Direct Connect') }, @@ -34,23 +34,14 @@ TUWF::register( TUWF::set( logfile => '/www/err.log', - #pre_request_handler => sub { $ENV{REQUEST_URI} = $_[0]->reqGet('path')||''; 1 }, error_404_handler => \¬found, + # this is a fairly static site, allow some aggressive caching + pre_request_handler => sub { $_[0]->resHeader('Cache-Control', 's-max-age=86400, max-age=3600'); 1; }, ); TUWF::run(); -sub test { - my $s = shift; - $s->htmlHeader(title => 'Test', page => 'ncdu', sec => 'changes'); - (my $f = $INC{"TUWF.pm"}) =~ s/\.pm$/.pod/; - #$s->htmlPOD($f, 1); - $s->htmlPOD('home'); - $s->htmlFooter; -} - - sub podpage { my($s, $f, $p, $se, $t, $toc) = @_; $s->htmlHeader(title => $t, page => $p, sec => $se);