- From: Mercurial notifier <nobody@w3.org>
- Date: Thu, 05 Aug 2010 14:47:23 +0000
- To: link-checker updates <www-validator-cvs@w3.org>
changeset: 323:d574b99cc78a user: ville date: Thu Oct 01 16:06:00 2009 +0000 files: bin/checklink docs/linkchecker.css description: Add "progress bar" for estimating progress on checking links in one document. diff -r 3cb4c9024ad5 -r d574b99cc78a bin/checklink --- a/bin/checklink Thu Oct 01 16:01:29 2009 +0000 +++ b/bin/checklink Thu Oct 01 16:06:00 2009 +0000 @@ -5,7 +5,7 @@ # (c) 1999-2009 World Wide Web Consortium # based on Renaud Bruyeron's checklink.pl # -# $Id: checklink,v 4.165 2009-10-01 16:01:29 ville Exp $ +# $Id: checklink,v 4.166 2009-10-01 16:06:00 ville Exp $ # # This program is licensed under the W3C(r) Software License: # http://www.w3.org/Consortium/Legal/copyright-software @@ -275,7 +275,7 @@ $PROGRAM = 'W3C-checklink'; $VERSION = '4.5'; $REVISION = sprintf('version %s (c) 1999-2009 W3C', $VERSION); - my ($cvsver) = q$Revision: 4.165 $ =~ /(\d+[\d\.]*\.\d+)/; + my ($cvsver) = q$Revision: 4.166 $ =~ /(\d+[\d\.]*\.\d+)/; $AGENT = sprintf('%s/%s [%s] %s', $PROGRAM, $VERSION, $cvsver, (W3C::UserAgent::USE_ROBOT_UA @@ -343,20 +343,22 @@ <meta name="generator" content="%s" /> <link rel="stylesheet" type="text/css" href="%s" /> <script type="text/javascript"> -function scroll_bottom(progress_pre_id) +function show_progress(progress_id, progress_text, progress_percentage) { - var progressPre = document.getElementById(progress_pre_id); - progressPre.scrollTop = progressPre.scrollHeight; -} -function show_progress(progress_text, progress_head_id, progress_pre_id) -{ - var progressHead = document.getElementById(progress_head_id); - var txt = document.createTextNode(progress_text); - var oChild = progressHead.childNodes[1]; - var oNewChild = document.createElement("span"); - oNewChild.appendChild(txt); - progressHead.replaceChild(oNewChild, oChild); - scroll_bottom(progress_pre_id); + var div = document.getElementById("progress" + progress_id); + + var head = div.getElementsByTagName("h3")[0]; + var text = document.createTextNode(progress_text); + var span = document.createElement("span"); + span.appendChild(text); + head.replaceChild(span, head.getElementsByTagName("span")[0]); + + var bar = div.getElementsByTagName("div")[0]; + bar.firstChild.style.width = progress_percentage; + bar.title = progress_percentage; + + var pre = div.getElementsByTagName("pre")[0]; + pre.scrollTop = pre.scrollHeight; } </script> EOF @@ -994,8 +996,12 @@ &encode(sprintf($Cfg{CSS_Validator_URI}, $esc_uri)), &encode($Opts{_Self_URI})); - printf ('<h3 class="status_progress" id="status_progress%s">Status: <span></span></h3>', $result_anchor); - printf("<pre class=\"progress\" id=\"pre_progress%s\">\n", $result_anchor); + printf(<<EOF, $result_anchor); +<div class="progress" id="progress%s"> +<h3>Status: <span></span></h3> +<div class="progressbar"><div></div></div> +<pre> +EOF } } @@ -1069,9 +1075,14 @@ } # Build the list of broken URI's - &hprintf("Checking %d links to build list of broken URI's\n", scalar (keys %links)) + + my $nlinks = scalar(keys(%links)); + + &hprintf("Checking %d links to build list of broken URI's\n", $nlinks) if ($Opts{Verbose}); + my %broken; + my $link_num = 0; while (my ($u, $ulinks) = each(%links)) { if ($Opts{Summary_Only}) { @@ -1079,9 +1090,11 @@ print ' ' if ($Opts{HTML} && !$Opts{Command_Line}); } else { &hprintf("\nChecking link %s\n", $u); - printf('<script type="text/javascript">show_progress("Checking link %s", "status_progress%s", "pre_progress%s");</script>' , &encode($u), $result_anchor, $result_anchor) + my $progress = ($link_num/$nlinks) * 100; + printf('<script type="text/javascript">show_progress("%s", "Checking link %s", "%.1f%%");</script>', $result_anchor, &encode($u), $progress) if (!$Opts{Command_Line} && $Opts{HTML} && !$Opts{Summary_Only}); } + $link_num++; # Check that a link is valid &check_validity($uri, $u, @@ -1122,12 +1135,12 @@ } &hprintf("\nProcessed in %s seconds.\n", &time_diff($start, &get_timestamp())) unless $Opts{Summary_Only}; - printf('<script type="text/javascript">show_progress("Done. Document processed in %s seconds.", "status_progress%s", "pre_progress%s");</script>' , &time_diff($start, &get_timestamp()), $result_anchor, $result_anchor) + printf('<script type="text/javascript">show_progress("%s", "Done. Document processed in %s seconds.", "100%");</script>', $result_anchor, &time_diff($start, &get_timestamp())) if ($Opts{HTML} && !$Opts{Summary_Only}); # Display results if ($Opts{HTML} && !$Opts{Summary_Only}) { - print("</pre>\n"); + print("</pre>\n</div>\n"); printf("<h2><a name=\"%s\">Results</a></h2>\n", $result_anchor); } print "\n" unless $Opts{Quiet}; diff -r 3cb4c9024ad5 -r d574b99cc78a docs/linkchecker.css --- a/docs/linkchecker.css Thu Oct 01 16:01:29 2009 +0000 +++ b/docs/linkchecker.css Thu Oct 01 16:06:00 2009 +0000 @@ -4,7 +4,7 @@ Copyright 2000-2009 W3C (MIT, INRIA, Keio). All Rights Reserved. See http://www.w3.org/Consortium/Legal/ipr-notice.html#Copyright - $Id: linkchecker.css,v 1.29 2009-02-10 18:10:29 ville Exp $ + $Id: linkchecker.css,v 1.30 2009-10-01 16:06:00 ville Exp $ */ html, body { @@ -56,7 +56,7 @@ white-space: pre; } -pre.progress { +div.progress pre { height: 12em; font-size: small; overflow: auto; @@ -65,7 +65,7 @@ margin-top: 0; } -h3.status_progress { +div.progress h3 { margin-bottom: 0; background: white; border: 1px solid #DCDDE0; @@ -73,6 +73,17 @@ padding: .4em .8em; text-indent: 0; overflow: hidden; +} + +div.progressbar { + border: 1px solid #DCDDE0; + border-bottom: 0; +} + +div.progressbar div { + height: .15em; + width: 0; + background-color: #55B05A; } fieldset {
Received on Thursday, 5 August 2010 14:47:46 UTC