2010-12-05 10 views
6

localhostで動的に実行されるいくつかのローカルWebページがあるので、検証する必要があります。Do n cut pasteはオプションですが、非常に面倒です。localhostで動作するHTML/CSSを検証する方法は?

HTML/CSSページの代替のオフライン検証オプションは何ですか?

答えて

5
+1

+1、私は前にそのツールを見かけることはありません。 =) –

+0

それは私の人生を救った! –

2

FirefoxのWeb Developer toolbarには「ローカル検証」オプションがあります。

+0

ありがとうペッカしかし、私は^ UNICORNと一緒に行きました! –

0

あなたはcurlを使用して、ローカルのページをダウンロードして、地元のバリデータを使用して、それを検証したりW3 Validatorまたは選択のあなたのオンラインHTMLバリデータにcurlを使用して再度投稿することができます。または、単純なWebスパイダーをスクリプト言語で記述し、ローカルWebをクロールして各ページをクロールして検証することもできます。 Perlでのサンプルクローラークラス:

package Test::Crawler; 

use Moose; 
use WWW::Mechanize; 

has client => (
    is => 'ro', 
    isa => 'WWW::Mechanize', 
    default => sub { WWW::Mechanize->new }, 
); 

has handler => (
    is => 'ro', 
    isa => 'CodeRef', 
    default => sub {}, 
); 

sub crawl 
{ 
    my ($self, $url, $visited) = (@_, {}); 

    # Already seen that. 
    return if $visited->{$url}++; 

    # Not seen yet, get. 
    $self->client->get($url); 
    $self->handler->($url, $self->client); 

    # Follow all links. 
    my @uris = map { $_->URI } $self->client->links; 
    for my $uri (@uris) { 
     # Skip mailtos, ftp and such. 
     next if $uri->scheme; 
     # Skip external links. 
     next if $uri->host; 
     $self->crawl($uri->rel, $visited); 
    } 
} 

とサンプルサブvalidator.nuを使用して検証する:

sub is_valid { 
    my ($code, $page_url) = @_; 
    my $ua = LWP::UserAgent->new; 
    my $url = 'http://validator.nu/?out=gnu'; 
    my $response = $ua->post($url, Content_Type => 'text/html', Content => $code); 
    return $response->as_string !~ /error/; 
} 
+1

感謝zoul、しかしユニコーンはイージーではありませんが、まだあなたはこれでいくつかのものをやってもらえます、どうもありがとうございます。 –

2

はFirefox用拡張機能HTML Validatorを試してみてください - ローカルで動作します。

0

私はこれを探しているときにかなり古い質問にぶつかった。ここに私のために働いたものがあります:

$ curl -H "Content-Type: text/html; charset=utf-8" \ 
    --data-binary "$(curl http://localhost:8080/url/to/test)" \ 
    https://validator.w3.org/nu/?out=gnu 

the docsを参照してください。

関連する問題