diff options
author | Simon McVittie <smcv@debian.org> | 2014-10-16 11:04:53 +0100 |
---|---|---|
committer | Simon McVittie <smcv@debian.org> | 2014-10-16 11:04:53 +0100 |
commit | 490a1eca7bed841848765b495a73fbc56e4808f4 (patch) | |
tree | d7eb5dd03d15a7c9c77dbf6d7a32028b53fcddad | |
parent | 1561fbb365adba5b9b793d3e52e59bee48d66546 (diff) | |
download | ikiwiki-490a1eca7bed841848765b495a73fbc56e4808f4.tar ikiwiki-490a1eca7bed841848765b495a73fbc56e4808f4.tar.gz |
Always produce HTML5 doctype and new attributes, but not new elements
According to caniuse.com, a significant fraction of Web users are
still using Internet Explorer versions that do not support HTML5
sectioning elements. However, claiming we're XHTML 1.0 Strict
means we can't use features invented in the last 12 years, even if
they degrade gracefully in older browsers (like the role and placeholder
attributes).
This means our output is no longer valid according to any particular
DTD. Real browsers and other non-validator user-agents have never
cared about DTD compliance anyway, so I don't think this is a real loss.
-rw-r--r-- | IkiWiki.pm | 2 | ||||
-rw-r--r-- | IkiWiki/Plugin/mirrorlist.pm | 2 | ||||
-rw-r--r-- | debian/control | 2 | ||||
-rwxr-xr-x | t/html.t | 30 | ||||
-rw-r--r-- | templates/googleform.tmpl | 2 | ||||
-rw-r--r-- | templates/page.tmpl | 12 | ||||
-rw-r--r-- | templates/searchform.tmpl | 2 |
7 files changed, 9 insertions, 43 deletions
diff --git a/IkiWiki.pm b/IkiWiki.pm index 1043ef402..dfe89ad32 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -274,7 +274,7 @@ sub getsetup () { html5 => { type => "boolean", default => 0, - description => "generate HTML5?", + description => "use elements new in HTML5 like <section>?", advanced => 0, safe => 1, rebuild => 1, diff --git a/IkiWiki/Plugin/mirrorlist.pm b/IkiWiki/Plugin/mirrorlist.pm index b7e532485..5afd9ec1a 100644 --- a/IkiWiki/Plugin/mirrorlist.pm +++ b/IkiWiki/Plugin/mirrorlist.pm @@ -53,7 +53,7 @@ sub pagetemplate (@) { sub mirrorlist ($) { my $page=shift; - return ($config{html5} ? '<nav id="mirrorlist">' : '<div>'). + return ($config{html5} ? '<nav' : '<div').' id="mirrorlist">'. (keys %{$config{mirrorlist}} > 1 ? gettext("Mirrors") : gettext("Mirror")). ": ". join(", ", diff --git a/debian/control b/debian/control index 5b9d55c4d..c0e6d7d02 100644 --- a/debian/control +++ b/debian/control @@ -5,7 +5,7 @@ Build-Depends: perl, debhelper (>= 9) Build-Depends-Indep: dpkg-dev (>= 1.9.0), libxml-simple-perl, libtext-markdown-discount-perl, libtimedate-perl, libhtml-template-perl, - libhtml-scrubber-perl, wdg-html-validator, + libhtml-scrubber-perl, libhtml-parser-perl, liburi-perl (>= 1.36), perlmagick, po4a (>= 0.34), libfile-chdir-perl, libyaml-libyaml-perl, python-support, librpc-xml-perl, libcgi-session-perl, ghostscript, diff --git a/t/html.t b/t/html.t deleted file mode 100755 index 84c561fa8..000000000 --- a/t/html.t +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/perl -use warnings; -use strict; -use Test::More; - -my @pages; - -BEGIN { - @pages=qw(index features news plugins/map security); - if (system("command -v validate >/dev/null") != 0) { - plan skip_all => "html validator not present"; - } - else { - plan(tests => int @pages + 2); - } - use_ok("IkiWiki"); -} - -# Have to build the html pages first. -# Note that just building them like this doesn't exersise all the possible -# html that can be generated, in particular it misses some of the action -# links at the top, etc. -ok(system("make >/dev/null") == 0); - -foreach my $page (@pages) { - print "# Validating $page\n"; - ok(system("validate html/$page.html") == 0); -} - -# TODO: validate form output html diff --git a/templates/googleform.tmpl b/templates/googleform.tmpl index b1c3078fb..155a08155 100644 --- a/templates/googleform.tmpl +++ b/templates/googleform.tmpl @@ -3,6 +3,6 @@ <div> <input name="sitesearch" value="<TMPL_VAR URL>" type="hidden" /> <input name="q" value="" id="searchbox" size="16" maxlength="255" type="text" - <TMPL_IF HTML5>placeholder="search"</TMPL_IF> /> + placeholder="search" /> </div> </form> diff --git a/templates/page.tmpl b/templates/page.tmpl index c709c4f85..45235cef8 100644 --- a/templates/page.tmpl +++ b/templates/page.tmpl @@ -1,9 +1,5 @@ -<TMPL_IF HTML5><!DOCTYPE html> +<!DOCTYPE html> <html> -<TMPL_ELSE><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> -</TMPL_IF> <head> <TMPL_IF DYNAMIC> <TMPL_IF FORCEBASEURL><base href="<TMPL_VAR FORCEBASEURL>" /><TMPL_ELSE> @@ -134,7 +130,7 @@ <div id="pagebody"> -<TMPL_IF HTML5><section id="content" role="main"><TMPL_ELSE><div id="content"></TMPL_IF> +<TMPL_IF HTML5><section<TMPL_ELSE><div</TMPL_IF> id="content" role="main"> <TMPL_VAR CONTENT> <TMPL_IF HTML5></section><TMPL_ELSE></div></TMPL_IF> @@ -146,7 +142,7 @@ <TMPL_UNLESS DYNAMIC> <TMPL_IF COMMENTS> -<TMPL_IF HTML5><section id="comments" role="complementary"><TMPL_ELSE><div id="comments"></TMPL_IF> +<TMPL_IF HTML5><section<TMPL_ELSE><div</TMPL_IF> id="comments" role="complementary"> <TMPL_VAR COMMENTS> <TMPL_IF ADDCOMMENTURL> <div class="addcomment"> @@ -161,7 +157,7 @@ </div> -<TMPL_IF HTML5><footer id="footer" class="pagefooter" role="contentinfo"><TMPL_ELSE><div id="footer" class="pagefooter"></TMPL_IF> +<TMPL_IF HTML5><footer<TMPL_ELSE><div</TMPL_IF> id="footer" class="pagefooter" role="contentinfo"> <TMPL_UNLESS DYNAMIC> <TMPL_IF HTML5><nav id="pageinfo"><TMPL_ELSE><div id="pageinfo"></TMPL_IF> diff --git a/templates/searchform.tmpl b/templates/searchform.tmpl index cb65d124c..8cdf745f9 100644 --- a/templates/searchform.tmpl +++ b/templates/searchform.tmpl @@ -1,6 +1,6 @@ <form method="get" action="<TMPL_VAR SEARCHACTION>" id="searchform"> <div> <input type="text" id="searchbox" name="P" value="" size="16" -<TMPL_IF HTML5>placeholder="search"</TMPL_IF> /> + placeholder="search" /> </div> </form> |