forked from HPR/hpr-tools
		
	Moved project directories and files to an empty local repo
This commit is contained in:
		
							
								
								
									
										96
									
								
								Show_Submission/validate_html
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										96
									
								
								Show_Submission/validate_html
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,96 @@ | ||||
| #!/usr/bin/env perl | ||||
| #=============================================================================== | ||||
| # | ||||
| #         FILE: validate_html | ||||
| # | ||||
| #        USAGE: ./validate_html file | ||||
| # | ||||
| #  DESCRIPTION: Validate HTML show notes using HTML::Valid | ||||
| # | ||||
| #      OPTIONS: --- | ||||
| # REQUIREMENTS: --- | ||||
| #         BUGS: --- | ||||
| #        NOTES: Much of this code is as seen in 'htmlok' because the | ||||
| #               documentation with HTML::Valid is poor. | ||||
| #       AUTHOR: Dave Morriss (djm), Dave.Morriss@gmail.com | ||||
| #      VERSION: 0.0.3 | ||||
| #      CREATED: 2018-06-01 16:25:27 | ||||
| #     REVISION: 2019-11-10 21:25:06 | ||||
| # | ||||
| #=============================================================================== | ||||
|  | ||||
| use 5.010; | ||||
| use strict; | ||||
| use warnings; | ||||
| use utf8; | ||||
|  | ||||
| # In the POD, without explanation | ||||
| use FindBin '$Bin'; | ||||
|  | ||||
| # Found in 'htmlok', not documented | ||||
| use HTML::Valid 'sanitize_errors'; | ||||
| use Path::Tiny; | ||||
|  | ||||
| # | ||||
| # Version number (manually incremented) | ||||
| # | ||||
| our $VERSION = '0.0.3'; | ||||
|  | ||||
| # | ||||
| # Script and directory names | ||||
| # | ||||
| ( my $PROG = $0 ) =~ s|.*/||mx; | ||||
| ( my $DIR  = $0 ) =~ s|/?[^/]*$||mx; | ||||
| $DIR = '.' unless $DIR; | ||||
|  | ||||
| #------------------------------------------------------------------------------- | ||||
| # Declarations | ||||
| #------------------------------------------------------------------------------- | ||||
| # | ||||
| # Constants and other declarations | ||||
| # | ||||
| my $basedir = "$ENV{HOME}/HPR/Show_Submission"; | ||||
|  | ||||
| # | ||||
| # Enable Unicode mode | ||||
| # | ||||
| binmode STDOUT, ":encoding(UTF-8)"; | ||||
| binmode STDERR, ":encoding(UTF-8)"; | ||||
|  | ||||
| # | ||||
| # Create the object | ||||
| # | ||||
| my $htv = HTML::Valid->new( | ||||
|     quiet          => 1, # omit summary, etc | ||||
|     doctype        => 'omit', | ||||
|     show_body_only => 1, # print only the contents of the body tag as an HTML fragment | ||||
|     show_info      => 1, # test; omit info-level messages | ||||
|     show_warnings  => 1, # include warnings if set | ||||
| ); | ||||
|  | ||||
| # | ||||
| # We expect a file as an argument | ||||
| # | ||||
| my $file = shift @ARGV; | ||||
| die "Usage: $PROG filename\n" unless $file; | ||||
| my $content; | ||||
| if ( -f $file ) { | ||||
|     $content = path($file)->slurp_utf8(); | ||||
|     $htv->set_filename($file); | ||||
| } | ||||
| else { | ||||
|     die "$PROG: Cannot find '$file'.\n"; | ||||
| } | ||||
|  | ||||
| # | ||||
| # Largely undocumented but seen in 'htmlok' | ||||
| # | ||||
| my ( undef, $errors ) = $htv->run($content); | ||||
| if ($errors) { | ||||
|     print sanitize_errors ($errors); | ||||
|     exit 1; | ||||
| } | ||||
|  | ||||
| exit; | ||||
|  | ||||
| # vim: syntax=perl:ts=8:sw=4:et:ai:tw=78:fo=tcrqn21:fdm=marker | ||||
		Reference in New Issue
	
	Block a user