Merge pull request #13205 from twbs/fix-9951

Add Gist & Customizer URLs to customized files & config.json
This commit is contained in:
Chris Rebert 2014-03-28 11:01:01 -07:00
commit 44d32ed776
5 changed files with 31 additions and 16 deletions

View File

@ -78,6 +78,9 @@ module.exports = function (grunt) {
src: '<%= jshint.test.src %>'
},
assets: {
options: {
requireCamelCaseOrUpperCaseIdentifiers: null
},
src: '<%= jshint.assets.src %>'
}
},

File diff suppressed because one or more lines are too long

View File

@ -43,7 +43,7 @@ window.onload = function () { // wait for load in a dumb way because B-0
return match && decodeURIComponent(match[1].replace(/\+/g, ' '))
}
function createGist(configJson) {
function createGist(configJson, callback) {
var data = {
description: 'Bootstrap Customizer Config',
'public': true,
@ -61,10 +61,13 @@ window.onload = function () { // wait for load in a dumb way because B-0
})
.success(function (result) {
var origin = window.location.protocol + '//' + window.location.host
history.replaceState(false, document.title, origin + window.location.pathname + '?id=' + result.id)
var newUrl = origin + window.location.pathname + '?id=' + result.id
history.replaceState(false, document.title, newUrl)
callback(result.html_url, newUrl)
})
.error(function (err) {
showError('<strong>Ruh roh!</strong> Could not save gist file, configuration not saved.', err)
callback('<none>', '<none>')
})
}
@ -221,7 +224,7 @@ window.onload = function () { // wait for load in a dumb way because B-0
})
}
function generateCSS() {
function generateCSS(preamble) {
var oneChecked = false
var lessFileIncludes = {}
$('#less-section input').each(function() {
@ -242,8 +245,8 @@ window.onload = function () { // wait for load in a dumb way because B-0
$(this).val() && (vars[$(this).prev().text()] = $(this).val())
})
var bsLessSource = generateLESS('bootstrap.less', lessFileIncludes, vars)
var themeLessSource = generateLESS('theme.less', lessFileIncludes, vars)
var bsLessSource = preamble + generateLESS('bootstrap.less', lessFileIncludes, vars)
var themeLessSource = preamble + generateLESS('theme.less', lessFileIncludes, vars)
try {
compileLESS(bsLessSource, 'bootstrap', result)
@ -255,7 +258,7 @@ window.onload = function () { // wait for load in a dumb way because B-0
return result
}
function generateJavascript() {
function generateJavascript(preamble) {
var $checked = $('#plugin-section input:checked')
if (!$checked.length) return false
@ -265,8 +268,8 @@ window.onload = function () { // wait for load in a dumb way because B-0
.join('\n')
return {
'bootstrap.js': js,
'bootstrap.min.js': cw + uglify(js)
'bootstrap.js': preamble + js,
'bootstrap.min.js': preamble + cw + uglify(js)
}
}
@ -322,10 +325,19 @@ window.onload = function () { // wait for load in a dumb way because B-0
$compileBtn.attr('disabled', 'disabled')
generateZip(generateCSS(), generateJavascript(), generateFonts(), configJson, function (blob) {
$compileBtn.removeAttr('disabled')
saveAs(blob, 'bootstrap.zip')
createGist(configJson)
createGist(configJson, function (gistUrl, customizerUrl) {
configData.customizerUrl = customizerUrl
configJson = JSON.stringify(configData, null, 2)
var preamble = '/*!\n' +
' * Generated using the Bootstrap Customizer (' + customizerUrl + ')\n' +
' * Config saved to config.json and ' + gistUrl + '\n' +
' */\n'
generateZip(generateCSS(preamble), generateJavascript(preamble), generateFonts(), configJson, function (blob) {
$compileBtn.removeAttr('disabled')
saveAs(blob, 'bootstrap.zip')
})
})
});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long