page.tmpl: tell mobile browsers we have a responsive layout, unless told not to

Mobile browsers typically assume that arbitrary web pages are
designed for a "desktop-sized" browser window (around 1000px)
and display that layout, zoomed out, in order to avoid breaking
naive designs that assume nobody will ever look at a website on
a phone or something. People who are actually doing "responsive
design" need to opt-in to mobile browsers rendering it at a
more normal size.
master
Simon McVittie 2014-11-26 00:02:55 +00:00
parent 5fe28eb4c2
commit ceab72ad34
3 changed files with 9 additions and 0 deletions

View File

@ -549,6 +549,13 @@ sub getsetup () {
safe => 0,
rebuild => 0,
},
responsive_layout => {
type => "boolean",
default => 1,
description => "theme has a responsive layout? (mobile-optimized)",
safe => 1,
rebuild => 1,
},
}
sub defaultconfig () {

View File

@ -134,6 +134,7 @@ sub genpage ($$) {
ctime => displaytime($pagectime{$page}, undef, 1),
baseurl => baseurl($page),
html5 => $config{html5},
responsive_layout => $config{responsive_layout},
);
run_hooks(pagetemplate => sub {

View File

@ -8,6 +8,7 @@
</TMPL_IF>
<TMPL_IF HTML5><meta charset="utf-8" /><TMPL_ELSE><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></TMPL_IF>
<title><TMPL_VAR TITLE></title>
<TMPL_IF RESPONSIVE_LAYOUT><meta name="viewport" content="width=device-width, initial-scale=1" /></TMPL_IF>
<TMPL_IF FAVICON>
<link rel="icon" href="<TMPL_VAR BASEURL><TMPL_VAR FAVICON>" type="image/x-icon" />
</TMPL_IF>