223 lines
4.8 KiB
JavaScript
223 lines
4.8 KiB
JavaScript
$(function(){
|
|
|
|
/************
|
|
CONFIG
|
|
************/
|
|
var config = {
|
|
|
|
defaultModules:{
|
|
blank: [
|
|
'css-mode',
|
|
'h5bp-content',
|
|
'modernizr',
|
|
'jquerymin',
|
|
'h5bp-htaccess',
|
|
'h5bp-chromeframe',
|
|
'h5bp-analytics',
|
|
'h5bp-iecond',
|
|
'h5bp-favicon',
|
|
'h5bp-appletouchicons',
|
|
'h5bp-scripts',
|
|
'h5bp-robots',
|
|
'h5bp-humans',
|
|
'h5bp-404',
|
|
'h5bp-adobecrossdomain'
|
|
],
|
|
initializr: [
|
|
'css-mode',
|
|
'izr-responsive',
|
|
'modernizr',
|
|
'respond',
|
|
'jquerymin',
|
|
'h5bp-chromeframe',
|
|
'h5bp-analytics',
|
|
'h5bp-favicon',
|
|
'h5bp-appletouchicons',
|
|
'h5bp-iecond'
|
|
],
|
|
bootstrap: [
|
|
'less-mode',
|
|
'boot-hero',
|
|
'modernizr',
|
|
'respond',
|
|
'jquerymin',
|
|
'h5bp-chromeframe',
|
|
'h5bp-analytics',
|
|
'h5bp-favicon',
|
|
'h5bp-appletouchicons',
|
|
'h5bp-iecond',
|
|
'less'
|
|
]
|
|
},
|
|
baseUrl:'http://localhost:8888/builder?'
|
|
};
|
|
|
|
/************
|
|
VARIABLES
|
|
************/
|
|
|
|
var params;
|
|
var modules = [];
|
|
var stylelang = '';
|
|
|
|
/**********
|
|
EVENTS
|
|
**********/
|
|
|
|
$('input').click(function(){
|
|
update();
|
|
});
|
|
|
|
|
|
$('#preconfig-blank').click(function(){
|
|
fillDefaultModules('blank');
|
|
});
|
|
|
|
$('#preconfig-initializr').click(function(){
|
|
fillDefaultModules('initializr');
|
|
});
|
|
|
|
$('#preconfig-bootstrap').click(function(){
|
|
fillDefaultModules('bootstrap');
|
|
});
|
|
|
|
/*********
|
|
LOGIC
|
|
*********/
|
|
|
|
function fillDefaultModules(type){
|
|
$('input').attr('checked', false);
|
|
|
|
for (var i = 0, curModule; curModule = config.defaultModules[type][i++];){
|
|
$('input[value=' + curModule +']').attr('checked', true);
|
|
};
|
|
update();
|
|
$('#hidden-section').fadeIn('slow');
|
|
}
|
|
|
|
function update(){
|
|
updateModules();
|
|
updateUrls();
|
|
}
|
|
|
|
function updateModules(){
|
|
modules = [];
|
|
$('input').each(function(){
|
|
if ($(this).is(':checked'))
|
|
modules.push($(this).val());
|
|
});
|
|
replaceSpecialModules();
|
|
}
|
|
|
|
function replaceSpecialModules(){
|
|
if (modules.indexOf('jquerymin') != -1 && modules.indexOf('jquerydev') != -1){
|
|
modules.remove('jquerymin');
|
|
modules.remove('jquerydev');
|
|
modules.push('jquery');
|
|
}
|
|
|
|
if (modules.indexOf('modernizr') != -1 && modules.indexOf('respond') != -1){
|
|
modules.remove('modernizr');
|
|
modules.remove('respond');
|
|
modules.push('modernizrrespond');
|
|
}
|
|
|
|
if (modules.indexOf('html5shiv') != -1 && modules.indexOf('respond') != -1){
|
|
modules.remove('html5shiv');
|
|
modules.remove('respond');
|
|
modules.push('html5shivrespond');
|
|
}
|
|
|
|
if (modules.indexOf('less-mode') != -1){
|
|
modules.remove('less-mode');
|
|
stylelang = 'less';
|
|
}
|
|
else
|
|
stylelang = '';
|
|
|
|
if (modules.indexOf('css-mode') != -1){
|
|
modules.remove('css-mode');
|
|
}
|
|
|
|
if (modules.indexOf('h5bp-content') != -1 || modules.indexOf('izr-responsive') != -1){
|
|
modules.push('h5bp-css');
|
|
modules.push('h5bp-csshelpers');
|
|
modules.push('h5bp-mediaqueryprint');
|
|
}
|
|
|
|
if (modules.indexOf('h5bp-content') != -1){
|
|
modules.push('h5bp-mediaqueries');
|
|
}
|
|
|
|
if (modules.indexOf('h5bp-iecond') == -1){
|
|
modules.push('simplehtmltag');
|
|
}
|
|
|
|
if (modules.indexOf('h5bp-scripts') == -1){
|
|
modules.push('izr-emptyscript');
|
|
}
|
|
|
|
if (modules.indexOf('boot-hero') != -1){
|
|
modules.push('boot-css');
|
|
modules.push('boot-scripts');
|
|
if (modules.indexOf('jquery') == -1 && modules.indexOf('jquerydev') == -1 && modules.indexOf('jquerymin') == -1){
|
|
modules.push('jquerymin');
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
function updateUrls(){
|
|
var modeParam = '';
|
|
|
|
if (stylelang != ''){
|
|
modeParam = 'mode=' + stylelang + '&';
|
|
}
|
|
|
|
params = '';
|
|
|
|
for (var i = 0, curModule; curModule = modules[i++];){
|
|
params += curModule + '&';
|
|
}
|
|
|
|
params = params.substring(0, params.length - 1);
|
|
|
|
$('#preview-url').val(config.baseUrl + 'print&' + modeParam + params);
|
|
$('#download-url').val(config.baseUrl + modeParam + params);
|
|
|
|
$('#preview-link').attr('href', config.baseUrl + 'print&' + modeParam + params);
|
|
$('#download-link').attr('href', config.baseUrl + modeParam + params);
|
|
}
|
|
|
|
/***********
|
|
HELPERS
|
|
***********/
|
|
|
|
if (!Array.indexOf){
|
|
Array.prototype.indexOf = function(searchedElement){
|
|
for (var i = 0; i < this.length; i++){
|
|
if (this[i] === searchedElement)
|
|
return i;
|
|
};
|
|
return -1;
|
|
};
|
|
}
|
|
|
|
Array.prototype.remove = function(searchedElement){
|
|
var i = this.indexOf(searchedElement);
|
|
if (i != -1)
|
|
this.splice(i, 1);
|
|
};
|
|
|
|
/***********
|
|
MAIN
|
|
***********/
|
|
|
|
if ($('input:checked').length > 0)
|
|
$('#hidden-section').fadeIn(0);
|
|
update();
|
|
|
|
|
|
});
|