You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			59 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
$(function() {
 | 
						|
    $('#theme-select').change(function() {
 | 
						|
        var theme = themes[$( "#theme-select" ).val() ]; 
 | 
						|
        set_theme(theme);
 | 
						|
   });
 | 
						|
});
 | 
						|
 | 
						|
function set_theme(theme) {
 | 
						|
    $('link[title="main"]').attr('href', 'dist/css/' + theme);
 | 
						|
 | 
						|
    // persist selected theme in cookie 
 | 
						|
    setCookie('theme',theme,90);
 | 
						|
}
 | 
						|
 | 
						|
function setCookie(cname, cvalue, exdays) {
 | 
						|
    var d = new Date();
 | 
						|
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
 | 
						|
    var expires = "expires="+ d.toUTCString();
 | 
						|
    document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
 | 
						|
}
 | 
						|
 | 
						|
var themes = {
 | 
						|
    "default": "custom.css",
 | 
						|
    "hackernews" : "hackernews.css",
 | 
						|
    "terminal" : "terminal.css",
 | 
						|
}
 | 
						|
 | 
						|
//Loads the correct sidebar on window load,
 | 
						|
//collapses the sidebar on window resize.
 | 
						|
// Sets the min-height of #page-wrapper to window size
 | 
						|
$(function() {
 | 
						|
    $(window).bind("load resize", function() {
 | 
						|
        topOffset = 50;
 | 
						|
        width = (this.window.innerWidth > 0) ? this.window.innerWidth : this.screen.width;
 | 
						|
        if (width < 768) {
 | 
						|
            $('div.navbar-collapse').addClass('collapse');
 | 
						|
            topOffset = 100; // 2-row-menu
 | 
						|
        } else {
 | 
						|
            $('div.navbar-collapse').removeClass('collapse');
 | 
						|
        }
 | 
						|
 | 
						|
        height = ((this.window.innerHeight > 0) ? this.window.innerHeight : this.screen.height) - 1;
 | 
						|
        height = height - topOffset;
 | 
						|
        if (height < 1) height = 1;
 | 
						|
        if (height > topOffset) {
 | 
						|
            $("#page-wrapper").css("min-height", (height) + "px");
 | 
						|
        }
 | 
						|
    });
 | 
						|
 | 
						|
    var url = window.location;
 | 
						|
    var element = $('ul.nav a').filter(function() {
 | 
						|
        return this.href == url || url.href.indexOf(this.href) == 0;
 | 
						|
    }).addClass('active').parent().parent().addClass('in').parent();
 | 
						|
    if (element.is('li')) {
 | 
						|
        element.addClass('active');
 | 
						|
    }
 | 
						|
});
 | 
						|
 |