aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <smcv@debian.org>2014-11-26 00:02:55 +0000
committerSimon McVittie <smcv@debian.org>2014-12-01 21:29:46 +0000
commitceab72ad341bb216467a3bdaf6ee0a32be99de02 (patch)
treeea27cb07caa6eaf0b56a485cd967241d3ab3026c
parent5fe28eb4c29cb31bd6293beb67cccc9b01e967ec (diff)
downloadikiwiki-ceab72ad341bb216467a3bdaf6ee0a32be99de02.tar
ikiwiki-ceab72ad341bb216467a3bdaf6ee0a32be99de02.tar.gz
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.
-rw-r--r--IkiWiki.pm7
-rw-r--r--IkiWiki/Render.pm1
-rw-r--r--templates/page.tmpl1
3 files changed, 9 insertions, 0 deletions
diff --git a/IkiWiki.pm b/IkiWiki.pm
index dfe89ad32..03f058ef7 100644
--- a/IkiWiki.pm
+++ b/IkiWiki.pm
@@ -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 () {
diff --git a/IkiWiki/Render.pm b/IkiWiki/Render.pm
index 9d6f636a2..c1a3dcbf2 100644
--- a/IkiWiki/Render.pm
+++ b/IkiWiki/Render.pm
@@ -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 {
diff --git a/templates/page.tmpl b/templates/page.tmpl
index 301c737fe..9e8b330a4 100644
--- a/templates/page.tmpl
+++ b/templates/page.tmpl
@@ -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>