2010-12-05 29 views
6

Tengo algunas páginas web locales que se ejecutan dinámicamente en localhost que necesitan ser validadas, Doing cut n paste es una opción pero muy tediosa.¿Cómo validar HTML/CSS ejecutándose en localhost?

¿Cuáles son algunas opciones alternativas de validación fuera de línea para páginas HTML/CSS?

Respuesta

2

Firefox's Web Developer toolbar tiene la opción "Validar local".

+0

Gracias pekka pero fui con UNICORN ^! –

0

Puede descargar la página local usando curl y luego validarlo mediante un validador local o publicar de nuevo utilizando curl a la W3 Validator o el validador de HTML en línea de elección. O puede escribir una araña web simple en algún lenguaje de scripting y rastrear la web local, validando cada página como rastreada. clase de muestra de oruga en 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); 
    } 
} 

y un sub ejemplo para validar el uso de 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

gracias zoul, pero el unicornio es fácil, pero aún puedes hacer algunas cosas más con esto, gracias de todos modos. –

0

Me sale esta vieja pregunta cuando busco lo mismo. Esto es lo que funcionó para mí:

$ 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 

Ver the docs.

Cuestiones relacionadas