Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
B
bootstrap
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
bootstrap
Commits
d1070042
Commit
d1070042
authored
Nov 03, 2014
by
Heinrich Fenkart
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove duplicate code from Customizer/Gruntfile by sharing it
parent
203912b9
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
73 additions
and
70 deletions
+73
-70
.gitignore
.gitignore
+1
-0
Gruntfile.js
Gruntfile.js
+17
-42
docs/_includes/footer.html
docs/_includes/footer.html
+7
-13
docs/assets/js/src/customizer.js
docs/assets/js/src/customizer.js
+4
-15
grunt/configBridge.json
grunt/configBridge.json
+44
-0
No files found.
.gitignore
View file @
d1070042
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
_gh_pages
_gh_pages
_site
_site
.ruby-version
.ruby-version
docs/_data/configBridge.json
# Numerous always-ignore extensions
# Numerous always-ignore extensions
*.diff
*.diff
...
...
Gruntfile.js
View file @
d1070042
...
@@ -27,6 +27,13 @@ module.exports = function (grunt) {
...
@@ -27,6 +27,13 @@ module.exports = function (grunt) {
};
};
var
generateRawFiles
=
require
(
'
./grunt/bs-raw-files-generator.js
'
);
var
generateRawFiles
=
require
(
'
./grunt/bs-raw-files-generator.js
'
);
var
generateCommonJSModule
=
require
(
'
./grunt/bs-commonjs-generator.js
'
);
var
generateCommonJSModule
=
require
(
'
./grunt/bs-commonjs-generator.js
'
);
var
configBridge
=
grunt
.
file
.
readJSON
(
'
./grunt/configBridge.json
'
,
{
encoding
:
'
utf8
'
});
Object
.
keys
(
configBridge
.
paths
).
forEach
(
function
(
key
)
{
configBridge
.
paths
[
key
].
forEach
(
function
(
val
,
i
,
arr
)
{
arr
[
i
]
=
path
.
join
(
'
./docs/assets
'
,
val
);
});
});
// Project configuration.
// Project configuration.
grunt
.
initConfig
({
grunt
.
initConfig
({
...
@@ -38,21 +45,8 @@ module.exports = function (grunt) {
...
@@ -38,21 +45,8 @@ module.exports = function (grunt) {
'
* Copyright 2011-<%= grunt.template.today("yyyy") %> <%= pkg.author %>
\n
'
+
'
* Copyright 2011-<%= grunt.template.today("yyyy") %> <%= pkg.author %>
\n
'
+
'
* Licensed under <%= pkg.license.type %> (<%= pkg.license.url %>)
\n
'
+
'
* Licensed under <%= pkg.license.type %> (<%= pkg.license.url %>)
\n
'
+
'
*/
\n
'
,
'
*/
\n
'
,
// NOTE: This jqueryCheck/jqueryVersionCheck code is duplicated in customizer.js;
jqueryCheck
:
configBridge
.
config
.
jqueryCheck
.
join
(
'
\n
'
),
// if making changes here, be sure to update the other copy too.
jqueryVersionCheck
:
configBridge
.
config
.
jqueryVersionCheck
.
join
(
'
\n
'
),
jqueryCheck
:
[
'
if (typeof jQuery ===
\'
undefined
\'
) {
'
,
'
throw new Error(
\'
Bootstrap
\\\'
s JavaScript requires jQuery
\'
)
'
,
'
}
\n
'
].
join
(
'
\n
'
),
jqueryVersionCheck
:
[
'
+function ($) {
'
,
'
var version = $.fn.jquery.split(
\'
\'
)[0].split(
\'
.
\'
)
'
,
'
if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) {
'
,
'
throw new Error(
\'
Bootstrap
\\\'
s JavaScript requires jQuery version 1.9.1 or higher
\'
)
'
,
'
}
'
,
'
}(jQuery);
\n\n
'
].
join
(
'
\n
'
),
// Task configuration.
// Task configuration.
clean
:
{
clean
:
{
...
@@ -138,25 +132,11 @@ module.exports = function (grunt) {
...
@@ -138,25 +132,11 @@ module.exports = function (grunt) {
dest
:
'
dist/js/<%= pkg.name %>.min.js
'
dest
:
'
dist/js/<%= pkg.name %>.min.js
'
},
},
customize
:
{
customize
:
{
// NOTE: This src list is duplicated in footer.html; if making changes here, be sure to update the other copy too.
src
:
configBridge
.
paths
.
customizerJs
,
src
:
[
'
docs/assets/js/vendor/less.min.js
'
,
'
docs/assets/js/vendor/jszip.min.js
'
,
'
docs/assets/js/vendor/uglify.min.js
'
,
'
docs/assets/js/vendor/Blob.js
'
,
'
docs/assets/js/vendor/FileSaver.js
'
,
'
docs/assets/js/raw-files.min.js
'
,
'
docs/assets/js/src/customizer.js
'
],
dest
:
'
docs/assets/js/customize.min.js
'
dest
:
'
docs/assets/js/customize.min.js
'
},
},
docsJs
:
{
docsJs
:
{
// NOTE: This src list is duplicated in footer.html; if making changes here, be sure to update the other copy too.
src
:
configBridge
.
paths
.
docsJs
,
src
:
[
'
docs/assets/js/vendor/holder.js
'
,
'
docs/assets/js/vendor/ZeroClipboard.min.js
'
,
'
docs/assets/js/src/application.js
'
],
dest
:
'
docs/assets/js/docs.min.js
'
dest
:
'
docs/assets/js/docs.min.js
'
}
}
},
},
...
@@ -195,16 +175,7 @@ module.exports = function (grunt) {
...
@@ -195,16 +175,7 @@ module.exports = function (grunt) {
autoprefixer
:
{
autoprefixer
:
{
options
:
{
options
:
{
browsers
:
[
browsers
:
configBridge
.
config
.
autoprefixerBrowsers
'
Android 2.3
'
,
'
Android >= 4
'
,
'
Chrome >= 20
'
,
'
Firefox >= 24
'
,
// Firefox 24 is the latest ESR
'
Explorer >= 8
'
,
'
iOS >= 6
'
,
'
Opera >= 12
'
,
'
Safari >= 6
'
]
},
},
core
:
{
core
:
{
options
:
{
options
:
{
...
@@ -312,6 +283,10 @@ module.exports = function (grunt) {
...
@@ -312,6 +283,10 @@ module.exports = function (grunt) {
docs
:
{
docs
:
{
src
:
'
dist/*/*
'
,
src
:
'
dist/*/*
'
,
dest
:
'
docs/
'
dest
:
'
docs/
'
},
configBridge
:
{
src
:
'
grunt/configBridge.json
'
,
dest
:
'
docs/_data/configBridge.json
'
}
}
},
},
...
@@ -482,7 +457,7 @@ module.exports = function (grunt) {
...
@@ -482,7 +457,7 @@ module.exports = function (grunt) {
grunt
.
registerTask
(
'
lint-docs-css
'
,
[
'
csslint:docs
'
,
'
csslint:examples
'
]);
grunt
.
registerTask
(
'
lint-docs-css
'
,
[
'
csslint:docs
'
,
'
csslint:examples
'
]);
grunt
.
registerTask
(
'
docs-js
'
,
[
'
uglify:docsJs
'
,
'
uglify:customize
'
]);
grunt
.
registerTask
(
'
docs-js
'
,
[
'
uglify:docsJs
'
,
'
uglify:customize
'
]);
grunt
.
registerTask
(
'
lint-docs-js
'
,
[
'
jshint:assets
'
,
'
jscs:assets
'
]);
grunt
.
registerTask
(
'
lint-docs-js
'
,
[
'
jshint:assets
'
,
'
jscs:assets
'
]);
grunt
.
registerTask
(
'
docs
'
,
[
'
docs-css
'
,
'
lint-docs-css
'
,
'
docs-js
'
,
'
lint-docs-js
'
,
'
clean:docs
'
,
'
copy:docs
'
,
'
build-customizer
'
]);
grunt
.
registerTask
(
'
docs
'
,
[
'
docs-css
'
,
'
lint-docs-css
'
,
'
docs-js
'
,
'
lint-docs-js
'
,
'
clean:docs
'
,
'
copy:docs
'
,
'
copy:configBridge
'
,
'
build-customizer
'
]);
// Task for updating the cached npm packages used by the Travis build (which are controlled by test-infra/npm-shrinkwrap.json).
// Task for updating the cached npm packages used by the Travis build (which are controlled by test-infra/npm-shrinkwrap.json).
// This task should be run and the updated file should be committed whenever Bootstrap's dependencies change.
// This task should be run and the updated file should be committed whenever Bootstrap's dependencies change.
...
...
docs/_includes/footer.html
View file @
d1070042
...
@@ -43,25 +43,19 @@
...
@@ -43,25 +43,19 @@
{% if site.github %}
{% if site.github %}
<script
src=
"../assets/js/docs.min.js"
></script>
<script
src=
"../assets/js/docs.min.js"
></script>
{% else %}
{% else %}
<script
src=
"../assets/js/vendor/holder.js"
></script>
{% for file in site.data.configBridge.paths.docsJs %}
<script
src=
"
../assets/js/vendor/ZeroClipboard.min.js
"
></script>
<script
src=
"
{{ file }}
"
></script>
<script
src=
"../assets/js/src/application.js"
></script>
{% endfor %}
{% endif %}
{% endif %}
{% if page.slug == "customize" %}
{% if page.slug == "customize" %}
<script>
var
__configBridge
=
{{
site
.
data
.
configBridge
.
config
|
jsonify
}}
</script>
{% if site.github %}
{% if site.github %}
<script
src=
"../assets/js/customize.min.js"
></script>
<script
src=
"../assets/js/customize.min.js"
></script>
{% else %}
{% else %}
{% comment %}
{% for file in site.data.configBridge.paths.customizerJs %}
This list is repeated in our Gruntfile—update both when making changes.
<script
src=
"{{ file }}"
></script>
{% endcomment %}
{% endfor %}
<script
src=
"../assets/js/vendor/less.min.js"
></script>
<script
src=
"../assets/js/vendor/jszip.min.js"
></script>
<script
src=
"../assets/js/vendor/uglify.min.js"
></script>
<script
src=
"../assets/js/vendor/Blob.js"
></script>
<script
src=
"../assets/js/vendor/FileSaver.js"
></script>
<script
src=
"../assets/js/raw-files.min.js"
></script>
<script
src=
"../assets/js/src/customizer.js"
></script>
{% endif %}
{% endif %}
{% endif %}
{% endif %}
...
...
docs/assets/js/src/customizer.js
View file @
d1070042
...
@@ -6,13 +6,13 @@
...
@@ -6,13 +6,13 @@
* details, see http://creativecommons.org/licenses/by/3.0/.
* details, see http://creativecommons.org/licenses/by/3.0/.
*/
*/
/* global JSZip, less, saveAs, UglifyJS, __js, __less, __fonts */
/* global JSZip, less, saveAs, UglifyJS, __
configBridge, __
js, __less, __fonts */
window
.
onload
=
function
()
{
// wait for load in a dumb way because B-0
window
.
onload
=
function
()
{
// wait for load in a dumb way because B-0
'
use strict
'
;
'
use strict
'
;
var
cw
=
'
/*!
\n
'
+
var
cw
=
'
/*!
\n
'
+
'
* Bootstrap v3.3.0 (http://getbootstrap.com)
\n
'
+
'
* Bootstrap v3.3.0 (http://getbootstrap.com)
\n
'
+
'
* Copyright 2011-
2014
Twitter, Inc.
\n
'
+
'
* Copyright 2011-
'
+
new
Date
().
getFullYear
()
+
'
Twitter, Inc.
\n
'
+
'
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
\n
'
+
'
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
\n
'
+
'
*/
\n\n
'
'
*/
\n\n
'
...
@@ -319,19 +319,8 @@ window.onload = function () { // wait for load in a dumb way because B-0
...
@@ -319,19 +319,8 @@ window.onload = function () { // wait for load in a dumb way because B-0
function
generateJS
(
preamble
)
{
function
generateJS
(
preamble
)
{
var
$checked
=
$
(
'
#plugin-section input:checked
'
)
var
$checked
=
$
(
'
#plugin-section input:checked
'
)
var
jqueryCheck
=
[
var
jqueryCheck
=
__configBridge
.
jqueryCheck
.
join
(
'
\n
'
)
'
if (typeof jQuery ===
\'
undefined
\'
) {
'
,
var
jqueryVersionCheck
=
__configBridge
.
jqueryVersionCheck
.
join
(
'
\n
'
)
'
throw new Error(
\'
Bootstrap
\\\'
s JavaScript requires jQuery
\'
)
'
,
'
}
\n
'
].
join
(
'
\n
'
)
var
jqueryVersionCheck
=
[
'
+function ($) {
'
,
'
var version = $.fn.jquery.split(
\'
\'
)[0].split(
\'
.
\'
)
'
,
'
if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) {
'
,
'
throw new Error(
\'
Bootstrap
\\\'
s JavaScript requires jQuery version 1.9.1 or higher
\'
)
'
,
'
}
'
,
'
}(jQuery);
\n\n
'
].
join
(
'
\n
'
)
if
(
!
$checked
.
length
)
return
false
if
(
!
$checked
.
length
)
return
false
...
...
grunt/configBridge.json
0 → 100644
View file @
d1070042
{
"paths"
:
{
"customizerJs"
:
[
"../assets/js/vendor/autoprefixer.js"
,
"../assets/js/vendor/less.min.js"
,
"../assets/js/vendor/jszip.min.js"
,
"../assets/js/vendor/uglify.min.js"
,
"../assets/js/vendor/Blob.js"
,
"../assets/js/vendor/FileSaver.js"
,
"../assets/js/raw-files.min.js"
,
"../assets/js/src/customizer.js"
],
"docsJs"
:
[
"../assets/js/vendor/holder.js"
,
"../assets/js/vendor/ZeroClipboard.min.js"
,
"../assets/js/src/application.js"
]
},
"config"
:
{
"autoprefixerBrowsers"
:
[
"Android 2.3"
,
"Android >= 4"
,
"Chrome >= 20"
,
"Firefox >= 24"
,
"Explorer >= 8"
,
"iOS >= 6"
,
"Opera >= 12"
,
"Safari >= 6"
],
"jqueryCheck"
:
[
"if (typeof jQuery === 'undefined') {"
,
" throw new Error('Bootstrap
\\
's JavaScript requires jQuery')"
,
"}
\n
"
],
"jqueryVersionCheck"
:
[
"+function ($) {"
,
" var version = $.fn.jquery.split(' ')[0].split('.')"
,
" if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) {"
,
" throw new Error('Bootstrap
\\
's JavaScript requires jQuery version 1.9.1 or higher')"
,
" }"
,
"}(jQuery);
\n\n
"
]
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment