template: Add license-specific styles and behaviors.

This commit is contained in:
Bradley Sepos
2016-05-13 18:30:05 -04:00
parent 59ca1f75e0
commit 1e29761d78
3 changed files with 147 additions and 134 deletions

View File

@@ -59,6 +59,13 @@ article.docs nav .breadcrumbs {
margin: 1em 0 0;
}
.license article.docs nav .breadcrumbs .language-separator,
.license article.docs nav .breadcrumbs .language,
.license article.docs nav .breadcrumbs .version-separator,
.license article.docs nav .breadcrumbs .version {
display: none;
}
article.docs nav .system-select,
article.docs nav .system-select li {
margin: 0;
@@ -210,6 +217,10 @@ article.docs h6 {
letter-spacing: -0.005em;
}
.license article.docs footer {
display: none;
}
article.docs footer p,
article.docs footer small {
font-size: 0.75rem;
@@ -360,7 +371,7 @@ article.docs .footnotes {
font-size: 1.125rem;
}
.js article.docs {
.js:not(.license) article.docs {
position: relative;
padding-left: 350px;
padding-right: 50px;
@@ -371,13 +382,13 @@ article.docs .footnotes {
font-size: 0.9rem;
}
.js article.docs nav {
.js:not(.license) article.docs nav {
position: relative;
padding-left: 350px;
padding-right: 50px;
}
.js article.docs nav .navigation {
.js:not(.license) article.docs nav .navigation {
display: block;
}

View File

@@ -1,147 +1,149 @@
$.featherlight.autoBind = false;
$(document).ready(function() {
$(document).ready(function(){
$('body').addClass('js');
var navigation = $('article.docs nav .navigation');
var navigation_headings = navigation.find('h2');
navigation_headings.click(function(){
$(this).addClass('selected').next('ul').slideDown(250);
navigation_headings.not(this).removeClass('selected').next('ul').slideUp(250);
});
navigation_headings.next('ul').has('a.selected').show().prev('h2').addClass('selected');
navigation_headings.next('ul').not(':has(a.selected)').hide();
if (!$('body').hasClass("license")){
var navigation = $('article.docs nav .navigation');
var navigation_headings = navigation.find('h2');
navigation_headings.click(function(){
$(this).addClass('selected').next('ul').slideDown(250);
navigation_headings.not(this).removeClass('selected').next('ul').slideUp(250);
});
navigation_headings.next('ul').has('a.selected').show().prev('h2').addClass('selected');
navigation_headings.next('ul').not(':has(a.selected)').hide();
var nav = $('article.docs nav');
var system_select = $('<ul class="system-select">Instructions:<li class="system-select-all">All</li><li class="system-select-lin">Linux</li><li class="system-select-mac">Mac</li><li class="system-select-win">Windows</li></ul>').prependTo(nav);
var system_select_lin = $('.system-select-lin');
var system_select_mac = $('.system-select-mac');
var system_select_win = $('.system-select-win');
var system_select_all = $('.system-select-all');
var nav = $('article.docs nav');
var system_select = $('<ul class="system-select">Instructions:<li class="system-select-all">All</li><li class="system-select-lin">Linux</li><li class="system-select-mac">Mac</li><li class="system-select-win">Windows</li></ul>').prependTo(nav);
var system_select_lin = $('.system-select-lin');
var system_select_mac = $('.system-select-mac');
var system_select_win = $('.system-select-win');
var system_select_all = $('.system-select-all');
var system_switch = function(control, scroll){
var header = $('article.docs header').first();
var system_lin = $('.system-lin');
var system_mac = $('.system-mac');
var system_win = $('.system-win');
var classes = $(control).attr('class').split(' ');
classes.forEach(function(target){
switch (target){
case 'system-select-lin':
if (system_select_lin.hasClass('selected')){
var system_switch = function(control, scroll){
var header = $('article.docs header').first();
var system_lin = $('.system-lin');
var system_mac = $('.system-mac');
var system_win = $('.system-win');
var classes = $(control).attr('class').split(' ');
classes.forEach(function(target){
switch (target){
case 'system-select-lin':
if (system_select_lin.hasClass('selected')){
break;
}
system_select_lin.addClass('selected');
system_select_all.removeClass('selected');
system_select_mac.removeClass('selected');
system_select_win.removeClass('selected');
system_mac.addClass('hidden');
system_win.addClass('hidden');
system_lin.removeClass('hidden');
var cur_offset = $(window).scrollTop();
var new_offset = system_lin.first().offset();
if (typeof new_offset != 'undefined'){
new_offset = new_offset.top - header.height()+10;
new_offset < 0 ? 0 : new_offset;
} else {
new_offset = 0;
}
if (scroll === true && new_offset < cur_offset){
$("html, body").animate({ scrollTop: new_offset }, 250);
}
Cookies.set('system', 'lin', { expires: 7 });
break;
}
system_select_lin.addClass('selected');
system_select_all.removeClass('selected');
system_select_mac.removeClass('selected');
system_select_win.removeClass('selected');
system_mac.addClass('hidden');
system_win.addClass('hidden');
system_lin.removeClass('hidden');
var cur_offset = $(window).scrollTop();
var new_offset = system_lin.first().offset();
if (typeof new_offset != 'undefined'){
new_offset = new_offset.top - header.height()+10;
new_offset < 0 ? 0 : new_offset;
} else {
new_offset = 0;
}
if (scroll === true && new_offset < cur_offset){
$("html, body").animate({ scrollTop: new_offset }, 250);
}
Cookies.set('system', 'lin', { expires: 7 });
case 'system-select-mac':
if (system_select_mac.hasClass('selected')){
break;
}
system_select_mac.addClass('selected');
system_select_all.removeClass('selected');
system_select_lin.removeClass('selected');
system_select_win.removeClass('selected');
system_lin.addClass('hidden');
system_win.addClass('hidden');
system_mac.removeClass('hidden');
var cur_offset = $(window).scrollTop();
var new_offset = system_mac.first().offset();
if (typeof new_offset != 'undefined'){
new_offset = new_offset.top - header.height()+10;
new_offset < 0 ? 0 : new_offset;
} else {
new_offset = 0;
}
if (scroll === true && new_offset < cur_offset){
$("html, body").animate({ scrollTop: new_offset }, 250);
}
Cookies.set('system', 'mac', { expires: 7 });
break;
case 'system-select-win':
if (system_select_win.hasClass('selected')){
break;
}
system_select_win.addClass('selected');
system_select_all.removeClass('selected');
system_select_lin.removeClass('selected');
system_select_mac.removeClass('selected');
system_lin.addClass('hidden');
system_mac.addClass('hidden');
system_win.removeClass('hidden');
var cur_offset = $(window).scrollTop();
var new_offset = system_win.first().offset();
if (typeof new_offset != 'undefined'){
new_offset = new_offset.top - header.height()+10;
new_offset < 0 ? 0 : new_offset;
} else {
new_offset = 0;
}
if (scroll === true && new_offset < cur_offset){
$("html, body").animate({ scrollTop: new_offset }, 250);
}
Cookies.set('system', 'win', { expires: 7 });
break;
case 'system-select-all':
if (system_select_all.hasClass('selected')){
break;
}
system_select_all.addClass('selected');
system_select_lin.removeClass('selected');
system_select_mac.removeClass('selected');
system_select_win.removeClass('selected');
system_lin.removeClass('hidden');
system_mac.removeClass('hidden');
system_win.removeClass('hidden');
if (scroll === true){
$("html, body").animate({ scrollTop: 0 }, 250);
}
Cookies.remove('system');
break;
default:
break;
}
});
};
system_select.find('li').click(function(){
system_switch(this, true);
});
var system = Cookies.get('system');
if (typeof system != 'undefined'){
switch (system){
case 'lin':
system_switch(system_select_lin, false);
break;
case 'system-select-mac':
if (system_select_mac.hasClass('selected')){
break;
}
system_select_mac.addClass('selected');
system_select_all.removeClass('selected');
system_select_lin.removeClass('selected');
system_select_win.removeClass('selected');
system_lin.addClass('hidden');
system_win.addClass('hidden');
system_mac.removeClass('hidden');
var cur_offset = $(window).scrollTop();
var new_offset = system_mac.first().offset();
if (typeof new_offset != 'undefined'){
new_offset = new_offset.top - header.height()+10;
new_offset < 0 ? 0 : new_offset;
} else {
new_offset = 0;
}
if (scroll === true && new_offset < cur_offset){
$("html, body").animate({ scrollTop: new_offset }, 250);
}
Cookies.set('system', 'mac', { expires: 7 });
case 'mac':
system_switch(system_select_mac, false);
break;
case 'system-select-win':
if (system_select_win.hasClass('selected')){
break;
}
system_select_win.addClass('selected');
system_select_all.removeClass('selected');
system_select_lin.removeClass('selected');
system_select_mac.removeClass('selected');
system_lin.addClass('hidden');
system_mac.addClass('hidden');
system_win.removeClass('hidden');
var cur_offset = $(window).scrollTop();
var new_offset = system_win.first().offset();
if (typeof new_offset != 'undefined'){
new_offset = new_offset.top - header.height()+10;
new_offset < 0 ? 0 : new_offset;
} else {
new_offset = 0;
}
if (scroll === true && new_offset < cur_offset){
$("html, body").animate({ scrollTop: new_offset }, 250);
}
Cookies.set('system', 'win', { expires: 7 });
break;
case 'system-select-all':
if (system_select_all.hasClass('selected')){
break;
}
system_select_all.addClass('selected');
system_select_lin.removeClass('selected');
system_select_mac.removeClass('selected');
system_select_win.removeClass('selected');
system_lin.removeClass('hidden');
system_mac.removeClass('hidden');
system_win.removeClass('hidden');
if (scroll === true){
$("html, body").animate({ scrollTop: 0 }, 250);
}
Cookies.remove('system');
case 'win':
system_switch(system_select_win, false);
break;
default:
system_switch(system_select_all, false);
break;
}
});
};
system_select.find('li').click(function(){
system_switch(this, true);
});
var system = Cookies.get('system');
if (typeof system != 'undefined'){
switch (system){
case 'lin':
system_switch(system_select_lin, false);
break;
case 'mac':
system_switch(system_select_mac, false);
break;
case 'win':
system_switch(system_select_win, false);
break;
default:
system_switch(system_select_all, false);
break;
} else {
system_switch(system_select_all, false);
}
} else {
system_switch(system_select_all, false);
}
$('article.docs figure > a:has(img)').featherlight({type: 'image', openSpeed: 150, closeSpeed: 150});

View File

@@ -1,5 +1,5 @@
<nav>
<div class="breadcrumbs"><a href="{{ base.relpath }}">Docs</a>&nbsp;> <a href="{{ base.relpath }}{{ document.language-code slug }}/">{{ document.language }}</a>&nbsp;> <a href="{{ base.relpath }}{{ document.language-code slug }}/{{ document.project-version slug }}/">{{ document.project }} {{ document.project-version }}</a>&nbsp;> {{ document.title }}</div>
<div class="breadcrumbs"><a href="{{ base.relpath }}">Docs</a><span class="language-separator">&nbsp;> </span><span class="language"><a href="{{ base.relpath }}{{ document.language-code slug }}/">{{ document.language }}</a></span><span class="version-separator">&nbsp;> </span><span class="version"><a class="version" href="{{ base.relpath }}{{ document.language-code slug }}/{{ document.project-version slug }}/">{{ document.project }} {{ document.project-version }}</a></span>&nbsp;> {{ document.title }}</div>
<div class="navigation">
{{ include.navigation }}
</div>