From 19ace9a07dca2b1f4a9561d010f562ee8f32c0c4 Mon Sep 17 00:00:00 2001 From: Andrew Nicols Date: Wed, 26 Mar 2014 18:02:49 +0800 Subject: [PATCH] Add UA sniffing for keyboard pointers --- themes/default/assets/css/main.css | 8 +++++++ themes/default/assets/js/ua.js | 33 ++++++++++++++++++++++++++ themes/default/layouts/main.handlebars | 1 + 3 files changed, 42 insertions(+) create mode 100644 themes/default/assets/js/ua.js diff --git a/themes/default/assets/css/main.css b/themes/default/assets/css/main.css index cdfe209e..a367c366 100644 --- a/themes/default/assets/css/main.css +++ b/themes/default/assets/css/main.css @@ -781,3 +781,11 @@ kbd .cmd { font-family: Monaco, Helvetica; } font-weight: bold; } +/* -- Platform/OS-specific Styles ------------------------------------------- */ +.mac-only, .pc-only { visibility: hidden; } + +.pc .mac-only, +.mac .pc-only { display: none; } + +.mac .mac-only, +.pc .pc-only { visibility: visible; } diff --git a/themes/default/assets/js/ua.js b/themes/default/assets/js/ua.js new file mode 100644 index 00000000..16cd9cc1 --- /dev/null +++ b/themes/default/assets/js/ua.js @@ -0,0 +1,33 @@ +// Quick and dirty platform/os sniff, used only to influence non-critical +// design elements in CSS. +(function () { + var ua = navigator.userAgent, + os = '', + platform = ''; + + if (/windows/i.test(ua)) { + platform = 'pc'; + os = 'win'; + } else if (/macintosh/i.test(ua)) { + platform = 'mac'; + os = 'osx'; + } else if (/ios/i.test(ua)) { + os = 'ios'; + + if (/(?:iphone|ipod)/i.test(ua)) { + platform = 'iphone mac'; + } else if (/ipad/i.test(ua)) { + platform = 'ipad mac'; + } + } else if (/linux/i.test(ua)) { + if (/android/i.test(ua)) { + platform = 'android pc'; + } else { + platform = 'pc'; + } + + os = 'linux'; + } + + document.documentElement.className += ' ' + platform + ' ' + os; +}()); diff --git a/themes/default/layouts/main.handlebars b/themes/default/layouts/main.handlebars index d0a03141..55936dd7 100644 --- a/themes/default/layouts/main.handlebars +++ b/themes/default/layouts/main.handlebars @@ -45,6 +45,7 @@ +