customize.html 13.2 KB
Newer Older
Mark Otto's avatar
Mark Otto committed
1
---
2
layout: default
Mark Otto's avatar
Mark Otto committed
3
title: Customize and download
Mark Otto's avatar
Mark Otto committed
4
slug: customize
Quy Ton's avatar
Quy Ton committed
5
lead: Customize Bootstrap's components, Less variables, and jQuery plugins to get your very own version.
Mark Otto's avatar
Mark Otto committed
6
7
---

8

9
10
11
12
13
14
<!-- less.js isn't IE8-compatible and throws an exception during initialization, so our Blob compatibility check and error messaging code never get called in that case.
  So we use a conditional comment instead to inform folks about the lack of IE8 support.
-->
<!--[if lt IE 9]>
  <style>
    .bs-customizer,
15
    .bs-customizer-import,
16
17
18
19
    .bs-docs-sidebar {
      display: none;
    }
  </style>
20
  <div class="alert alert-danger">
21
22
23
24
25
    <strong>The Bootstrap Customizer does not support IE9 and below.</strong><br>
    Please take a second to <a href="http://browsehappy.com/">upgrade to a more modern browser</a>.
  </div>
<![endif]-->

Mark Otto's avatar
Mark Otto committed
26
<!-- Customizer form -->
27

28
29
30
31
32
<div id="defaults-change-alert" class="alert alert-warning alert-dismissible" role="alert">
  <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  <strong>Heads up!</strong> The default value for <code>@brand-primary</code> has changed in the latest release to improve contrast and accessibility. Please double check your compiled CSS when upgrading.
</div>

33
34
<div class="bs-docs-section bs-customizer-import">
  <div id="import-drop-target" class="bs-dropzone">
35
36
37
    <div class="import-header">
      <span class="glyphicon glyphicon-download-alt" aria-hidden="true"></span>
    </div>
38
39
40
41
42
    <p class="lead">Have an existing configuration? Upload your <code>config.json</code> to import it.</p>
    <p>Drag and drop here, or <label id="import-manual-trigger" class="btn-link">manually upload<input type="file" id="import-file-select" class="hidden"></label>.</p>
    <hr>
    <p><strong>Don't have one?</strong> That's okay—just start customizing the fields below.</p>
  </div>
43
</div>
44

45
<form class="bs-customizer">
46
  <div class="bs-docs-section" id="less-section">
47
    <button class="btn btn-default toggle" type="button">Toggle all</button>
Quy Ton's avatar
Quy Ton committed
48
    <h1 id="less" class="page-header">Less files</h1>
49

Quy Ton's avatar
Quy Ton committed
50
    <p class="lead">Choose which Less files to compile into your custom build of Bootstrap. Not sure which files to use? Read through the <a href="../css/">CSS</a> and <a href="../components/">Components</a> pages in the docs.</p>
Mark Otto's avatar
Mark Otto committed
51

Mark Otto's avatar
Mark Otto committed
52
    <div class="row">
Mark Otto's avatar
Mark Otto committed
53
      <div class="col-xs-6 col-sm-4">
54
        <h3>Common CSS</h3>
Mark Otto's avatar
Mark Otto committed
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
        <div class="checkbox">
          <label>
            <input type="checkbox" checked value="print.less">
            Print media styles
          </label>
        </div>
        <div class="checkbox">
          <label>
            <input type="checkbox" checked value="type.less">
            Typography
          </label>
        </div>
        <div class="checkbox">
          <label>
            <input type="checkbox" checked value="code.less">
            Code
          </label>
        </div>
73
74
75
76
77
78
        <div class="checkbox">
          <label>
            <input type="checkbox" checked value="grid.less">
            Grid system
          </label>
        </div>
Mark Otto's avatar
Mark Otto committed
79
80
81
82
83
84
85
86
        <div class="checkbox">
          <label>
            <input type="checkbox" checked value="tables.less">
            Tables
          </label>
        </div>
        <div class="checkbox">
          <label>
87
            <input type="checkbox" checked value="forms.less" data-dependents="navbar.less,input-groups.less">
Mark Otto's avatar
Mark Otto committed
88
89
90
91
92
            Forms
          </label>
        </div>
        <div class="checkbox">
          <label>
93
            <input type="checkbox" checked value="buttons.less" data-dependents="button-groups.less">
Mark Otto's avatar
Mark Otto committed
94
95
96
            Buttons
          </label>
        </div>
97
98
99
100
101
102
        <div class="checkbox">
          <label>
            <input type="checkbox" checked value="responsive-utilities.less">
            Responsive utilities
          </label>
        </div>
103
104
      </div><!-- .col-xs-6 .col-sm-4 -->

Mark Otto's avatar
Mark Otto committed
105
      <div class="col-xs-6 col-sm-4">
106
        <h3>Components</h3>
Mark Otto's avatar
Mark Otto committed
107
108
        <div class="checkbox">
          <label>
109
110
            <input type="checkbox" checked value="glyphicons.less">
            Glyphicons
Mark Otto's avatar
Mark Otto committed
111
          </label>
112
        </div>
Mark Otto's avatar
Mark Otto committed
113
114
        <div class="checkbox">
          <label>
115
            <input type="checkbox" checked value="button-groups.less" data-dependencies="buttons.less">
116
            Button groups
Mark Otto's avatar
Mark Otto committed
117
118
119
120
          </label>
        </div>
        <div class="checkbox">
          <label>
121
            <input type="checkbox" checked value="input-groups.less" data-dependencies="forms.less">
122
            Input groups
Mark Otto's avatar
Mark Otto committed
123
124
125
126
          </label>
        </div>
        <div class="checkbox">
          <label>
127
            <input type="checkbox" checked value="navs.less" data-dependents="navbar.less">
Mark Otto's avatar
Mark Otto committed
128
129
130
131
132
            Navs
          </label>
        </div>
        <div class="checkbox">
          <label>
133
            <input type="checkbox" checked value="navbar.less" data-dependencies="forms.less,navs.less">
Mark Otto's avatar
Mark Otto committed
134
135
136
            Navbar
          </label>
        </div>
137
138
139
140
141
142
        <div class="checkbox">
          <label>
            <input type="checkbox" checked value="breadcrumbs.less">
            Breadcrumbs
          </label>
        </div>
Mark Otto's avatar
Mark Otto committed
143
144
145
146
147
148
149
150
151
152
153
154
155
156
        <div class="checkbox">
          <label>
            <input type="checkbox" checked value="pagination.less">
            Pagination
          </label>
        </div>
        <div class="checkbox">
          <label>
            <input type="checkbox" checked value="pager.less">
            Pager
          </label>
        </div>
        <div class="checkbox">
          <label>
157
158
            <input type="checkbox" checked value="labels.less">
            Labels
Mark Otto's avatar
Mark Otto committed
159
160
161
162
          </label>
        </div>
        <div class="checkbox">
          <label>
163
164
            <input type="checkbox" checked value="badges.less">
            Badges
Mark Otto's avatar
Mark Otto committed
165
166
167
168
          </label>
        </div>
        <div class="checkbox">
          <label>
169
170
            <input type="checkbox" checked value="jumbotron.less">
            Jumbotron
Mark Otto's avatar
Mark Otto committed
171
172
173
174
          </label>
        </div>
        <div class="checkbox">
          <label>
175
176
            <input type="checkbox" checked value="thumbnails.less">
            Thumbnails
Mark Otto's avatar
Mark Otto committed
177
          </label>
178
        </div>
Mark Otto's avatar
Mark Otto committed
179
180
181
182
183
184
185
186
        <div class="checkbox">
          <label>
            <input type="checkbox" checked value="alerts.less">
            Alerts
          </label>
        </div>
        <div class="checkbox">
          <label>
187
188
            <input type="checkbox" checked value="progress-bars.less">
            Progress bars
Mark Otto's avatar
Mark Otto committed
189
190
191
192
          </label>
        </div>
        <div class="checkbox">
          <label>
193
194
            <input type="checkbox" checked value="media.less">
            Media items
Mark Otto's avatar
Mark Otto committed
195
196
197
198
          </label>
        </div>
        <div class="checkbox">
          <label>
199
200
            <input type="checkbox" checked value="list-group.less">
            List groups
Mark Otto's avatar
Mark Otto committed
201
202
203
204
          </label>
        </div>
        <div class="checkbox">
          <label>
205
206
            <input type="checkbox" checked value="panels.less">
            Panels
Mark Otto's avatar
Mark Otto committed
207
208
209
          </label>
        </div>
        <div class="checkbox">
Mark Otto's avatar
Mark Otto committed
210
211
212
213
214
215
          <label>
            <input type="checkbox" checked value="responsive-embed.less">
            Responsive embed
          </label>
        </div>
        <div class="checkbox">
Mark Otto's avatar
Mark Otto committed
216
          <label>
217
218
            <input type="checkbox" checked value="wells.less">
            Wells
Mark Otto's avatar
Mark Otto committed
219
220
221
222
          </label>
        </div>
        <div class="checkbox">
          <label>
223
224
            <input type="checkbox" checked value="close.less">
            Close icon
Mark Otto's avatar
Mark Otto committed
225
226
          </label>
        </div>
227
228
229
230
      </div><!-- .col-xs-6 .col-sm-4 -->

      <div class="col-xs-6 col-sm-4">
        <h3>JavaScript components</h3>
231
232
233
234
235
236
        <div class="checkbox">
          <label>
            <input type="checkbox" checked value="component-animations.less">
            Component animations (for JS)
          </label>
        </div>
Mark Otto's avatar
Mark Otto committed
237
238
        <div class="checkbox">
          <label>
239
240
            <input type="checkbox" checked value="dropdowns.less">
            Dropdowns
Mark Otto's avatar
Mark Otto committed
241
242
243
244
          </label>
        </div>
        <div class="checkbox">
          <label>
245
246
            <input type="checkbox" checked value="tooltip.less">
            Tooltips
Mark Otto's avatar
Mark Otto committed
247
248
          </label>
        </div>
Mark Otto's avatar
Mark Otto committed
249
250
        <div class="checkbox">
          <label>
251
252
            <input type="checkbox" checked value="popovers.less">
            Popovers
Mark Otto's avatar
Mark Otto committed
253
254
          </label>
        </div>
Mark Otto's avatar
Mark Otto committed
255
256
        <div class="checkbox">
          <label>
257
258
            <input type="checkbox" checked value="modals.less">
            Modals
Mark Otto's avatar
Mark Otto committed
259
260
261
262
          </label>
        </div>
        <div class="checkbox">
          <label>
263
264
            <input type="checkbox" checked value="carousel.less">
            Carousel
Mark Otto's avatar
Mark Otto committed
265
          </label>
266
        </div>
267
268
      </div><!-- .col-xs-6 .col-sm-4 -->
    </div><!-- /.row -->
Mark Otto's avatar
Mark Otto committed
269
  </div>
270

271
  <div class="bs-docs-section" id="plugin-section">
272
273
274
    <button class="btn btn-default toggle" type="button">Toggle all</button>
    <h1 id="plugins" class="page-header">jQuery plugins</h1>

275
    <p class="lead">Choose which jQuery plugins should be included in your custom JavaScript files. Unsure what to include? Read the <a href="../javascript/">JavaScript</a> page in the docs.</p>
Mark Otto's avatar
Mark Otto committed
276
277
278
279
280
281
282
283
    <div class="row">
      <div class="col-lg-6">
        <h4>Linked to components</h4>
        <div class="checkbox">
          <label>
            <input type="checkbox" checked value="alert.js">
            Alert dismissal
          </label>
syed's avatar
syed committed
284
        </div>
Mark Otto's avatar
Mark Otto committed
285
286
287
288
289
        <div class="checkbox">
          <label>
            <input type="checkbox" checked value="button.js">
            Advanced buttons
          </label>
290
        </div>
Mark Otto's avatar
Mark Otto committed
291
292
293
294
295
        <div class="checkbox">
          <label>
            <input type="checkbox" checked value="carousel.js">
            Carousel functionality
          </label>
syed's avatar
syed committed
296
        </div>
Mark Otto's avatar
Mark Otto committed
297
298
299
300
301
302
303
304
305
306
307
308
309
310
        <div class="checkbox">
          <label>
            <input type="checkbox" checked value="dropdown.js">
            Dropdowns
          </label>
        </div>
        <div class="checkbox">
          <label>
            <input type="checkbox" checked value="modal.js">
            Modals
          </label>
        </div>
        <div class="checkbox">
          <label>
Mark Otto's avatar
Mark Otto committed
311
            <input type="checkbox" checked value="tooltip.js">
Mark Otto's avatar
Mark Otto committed
312
313
314
315
316
            Tooltips
          </label>
        </div>
        <div class="checkbox">
          <label>
317
            <input type="checkbox" checked value="popover.js" data-dependencies="tooltip.js">
Mark Otto's avatar
Mark Otto committed
318
319
320
321
322
323
            Popovers <small>(requires Tooltips)</small>
          </label>
        </div>
        <div class="checkbox">
          <label>
            <input type="checkbox" checked value="tab.js">
Chris Rebert's avatar
Chris Rebert committed
324
            Togglable tabs
Mark Otto's avatar
Mark Otto committed
325
          </label>
syed's avatar
syed committed
326
        </div>
Mark Otto's avatar
Mark Otto committed
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
      </div>
      <div class="col-lg-6">
        <h4>Magic</h4>
        <div class="checkbox">
          <label>
            <input type="checkbox" checked value="affix.js">
            Affix
          </label>
        </div>
        <div class="checkbox">
          <label>
            <input type="checkbox" checked value="collapse.js">
            Collapse
          </label>
        </div>
        <div class="checkbox">
          <label>
            <input type="checkbox" checked value="scrollspy.js">
            Scrollspy
          </label>
        </div>
        <div class="checkbox">
          <label>
            <input type="checkbox" checked value="transition.js">
            Transitions <small>(required for any kind of animation)</small>
          </label>
        </div>
      </div>
Mark Otto's avatar
Mark Otto committed
355
    </div>
356

Mark Otto's avatar
Mark Otto committed
357
358
359
360
    <div class="bs-callout bs-callout-info">
      <h4>Produces two files</h4>
      <p>All checked plugins will be compiled into a readable <code>bootstrap.js</code> and a minified <code>bootstrap.min.js</code>. We recommend you use the minified version in production.</p>
    </div>
361

Mark Otto's avatar
Mark Otto committed
362
363
364
365
366
    <div class="bs-callout bs-callout-danger">
      <h4>jQuery required</h4>
      <p>All plugins require the latest version of <a href="http://jquery.com/" target="_blank">jQuery</a> to be included.</p>
    </div>
  </div>
Mark Otto's avatar
Mark Otto committed
367

368
  <div class="bs-docs-section" id="less-variables-section">
369
    <button class="btn btn-default toggle" type="button">Reset to defaults</button>
Quy Ton's avatar
Quy Ton committed
370
    <h1 id="less-variables" class="page-header">Less variables</h1>
371

Quy Ton's avatar
Quy Ton committed
372
    <p class="lead">Customize Less variables to define colors, sizes and more inside your custom CSS stylesheets.</p>
373
    {% include customizer-variables.html %}
Mark Otto's avatar
Mark Otto committed
374
  </div>
Mark Otto's avatar
Mark Otto committed
375

Mark Otto's avatar
Mark Otto committed
376
  <div class="bs-docs-section">
377
378
    <h1 id="download" class="page-header">Download</h1>

Mark Otto's avatar
Mark Otto committed
379
    <p class="lead">Hooray! Your custom version of Bootstrap is now ready to be compiled. Just click the button below to finish the process.</p>
380
381
382
383
384
    <div id="firefox-customizer-alert" class="alert alert-warning alert-dismissible fade in" role="alert">
      <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
      <h4>Warning for Firefox users!</h4>
      <p>Due to a possible browser bug, the customizer download randomly fails in Firefox. If this happens to you, we advise either retrying in Firefox or using one of the other browsers supported by the Customizer (Chrome or IE10+).</p>
    </div>
Mark Otto's avatar
Mark Otto committed
385
    <div class="bs-customize-download">
386
      <button type="submit" id="btn-compile" disabled class="btn btn-block btn-lg btn-outline" onclick="ga('send', 'event', 'Customize', 'Download', 'Customize and Download');">Compile and Download</button>
Mark Otto's avatar
Mark Otto committed
387
388
    </div>
  </div><!-- /download -->
389
</form>