Compare commits
1211 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b4c4072679 | |||
| 04b00365da | |||
| 92fd785e97 | |||
| aadc76694d | |||
| 4be4e8ec35 | |||
| 14c1e926a6 | |||
| 87e2f0bbc5 | |||
| 573b3f4415 | |||
| 7d59745955 | |||
| b8238b6efb | |||
| 0822cc5458 | |||
| f0de5ad2ac | |||
| 790cb187f1 | |||
| d991ef2ab1 | |||
| 514ea6ea76 | |||
| beca8a6b74 | |||
| de683e9003 | |||
| 60b202de32 | |||
| d9b502dfb8 | |||
| c9789f7515 | |||
| b9bd82b496 | |||
| 37d0a30589 | |||
| 1c7fe5d887 | |||
| eb24718add | |||
| 6b2a010357 | |||
| 839b0c893f | |||
| 0992a85932 | |||
| 3469339068 | |||
| cec434a4c3 | |||
| 2f27d9851c | |||
| a61322c2fb | |||
| 01e0f8c653 | |||
| cf998040ec | |||
| ef80765726 | |||
| 40b7a909a6 | |||
| 16111a5e45 | |||
| e6a6fd2585 | |||
| 8c7f9c66a7 | |||
| c4d47fb1ea | |||
| 30fd4be093 | |||
| 501aabf572 | |||
| 366e1e0a6d | |||
| 1bf070b4ce | |||
| d8a7a380bc | |||
| e3f3542d0b | |||
| c8874ff285 | |||
| 60c9ff4364 | |||
| beb60309d1 | |||
| 2fa77bf197 | |||
| 3b56227553 | |||
| 4814281540 | |||
| accfdaafdb | |||
| 0fe9148b91 | |||
| 5e4db94c24 | |||
| 6a9cd513c0 | |||
| 042bb9b515 | |||
| 1629df8008 | |||
| a4b31d39a2 | |||
| a866a51a2e | |||
| ee91afba63 | |||
| 566380b257 | |||
| c25e8182ba | |||
| 45656fc7fc | |||
| 31fdb2e25e | |||
| c97d304c0c | |||
| 9443eb6e21 | |||
| 15c7e73abd | |||
| 31b9240dd0 | |||
| cb0fed6693 | |||
| db8a78fae6 | |||
| 4b86a91e53 | |||
| 7ec817ea46 | |||
| d6048031ed | |||
| b1f1d7871f | |||
| 1fe4ed8823 | |||
| dbe8aed76e | |||
| 6b9bb547bf | |||
| 0bfbf1446d | |||
| 8f0bc9e79b | |||
| d2ea2cdedd | |||
| f328ebbc73 | |||
| b7b2e4f8a1 | |||
| 7d655c3549 | |||
| 2f44d8d2da | |||
| 6014e63054 | |||
| ed2cf5b3e3 | |||
| e38d08d4c0 | |||
| baadc33c88 | |||
| 135e834bf4 | |||
| 3cc65cb86c | |||
| dd4ce35ddc | |||
| a5fc3e0667 | |||
| 3b6b8e9f41 | |||
| f20c3368e4 | |||
| c4eea3abde | |||
| b7764d8a33 | |||
| ab0c055bc6 | |||
| d6e3b6b5a4 | |||
| ee71fb492f | |||
| 5b0f956a60 | |||
| d9a0abaa06 | |||
| db9ec13ce4 | |||
| e5be883bb9 | |||
| 929598784f | |||
| 6803ff70f9 | |||
| 6afb1055e3 | |||
| 2428904b4b | |||
| 22f1cc44ca | |||
| f3268db4b4 | |||
| 01b465928e | |||
| bbb3c0a0e6 | |||
| 650c77ddb9 | |||
| b80bf2c138 | |||
| 38c5c13d38 | |||
| 598e9e6f13 | |||
| 60bb95e611 | |||
| 1da1994ba4 | |||
| a67c86e40f | |||
| c34ef69100 | |||
| c55329085e | |||
| 370fa45fbe | |||
| 4503ad7808 | |||
| 337741fc9a | |||
| f9ee99cf6f | |||
| 5ae1df617f | |||
| a23eb06536 | |||
| ecc24953a5 | |||
| 98aeb0acf1 | |||
| fdd1daeae1 | |||
| 4b34f4947a | |||
| 6f275c6148 | |||
| a809daf284 | |||
| 77c68e4bc2 | |||
| a7231854c9 | |||
| 8a16746542 | |||
| e195457728 | |||
| aaf80d410a | |||
| 19e2ad0eb6 | |||
| 6f894c62a5 | |||
| 42efd9f730 | |||
| 4de3a77a64 | |||
| 88e816956a | |||
| b242ff7851 | |||
| 767a293b4d | |||
| 56a24027c3 | |||
| d3b3b4c48f | |||
| d7c93fc647 | |||
| 53f9e25150 | |||
| 649d8c985e | |||
| 839f83c610 | |||
| 6e5a2fedaa | |||
| cf852c1f62 | |||
| 9fdc9887cf | |||
| edfc0bf8b3 | |||
| 1eb6a1d8c8 | |||
| 5eff3cdd5d | |||
| 1d87bcc9f5 | |||
| 976b4ea263 | |||
| ccf4c2fbe3 | |||
| 2c2a847e75 | |||
| aeb0e85151 | |||
| b5ad50686c | |||
| bf3dea668f | |||
| 684c9d8d05 | |||
| 848ca6e315 | |||
| 1c0e4fc7bb | |||
| f69d12af3d | |||
| 6f8e315b1d | |||
| 3096a377a2 | |||
| aa997e274e | |||
| 330b143b40 | |||
| 9749d6afc2 | |||
| b9c7f29134 | |||
| 340d90138c | |||
| 2a5fde272c | |||
| 9835549faf | |||
| e867ae7b60 | |||
| 90cdef8dfe | |||
| 0a7c840173 | |||
| dfbac13ad1 | |||
| 5da8b315c0 | |||
| da0217405f | |||
| f152dead92 | |||
| 68ff08cc91 | |||
| b6960d8cf9 | |||
| d594d6377a | |||
| defe85bb51 | |||
| 7a3a88acc6 | |||
| 48211ad9f5 | |||
| 0834bd51ec | |||
| f74990d898 | |||
| d09b46fe37 | |||
| effba9e55c | |||
| 2c0ed072b0 | |||
| 4d195222d4 | |||
| a9e661a2b5 | |||
| fad0fb683b | |||
| e2434fefbd | |||
| f59bf47081 | |||
| ddd59f22c7 | |||
| 24a36df9f6 | |||
| 7f7039321d | |||
| a55605ca57 | |||
| 442012f0f5 | |||
| 5a2966a2c2 | |||
| d23006a6bd | |||
| ccafc8a010 | |||
| 558bc52432 | |||
| 818c56f078 | |||
| 82a758344d | |||
| e194c3e4f4 | |||
| 5da30ee5fb | |||
| d5345f806c | |||
| dc32555f5b | |||
| 704dfb2f1d | |||
| a27bf30f0d | |||
| c1e82732cf | |||
| a24e47b5b8 | |||
| 43d130762b | |||
| 5e4f663e69 | |||
| b6575cc72e | |||
| a6705246d0 | |||
| e21b6459ad | |||
| 30d8eb3ed5 | |||
| 0a1434b23b | |||
| 3f493f0d0d | |||
| f706acb11c | |||
| 5abe33f5d8 | |||
| 6b67a83631 | |||
| 2c9f43f685 | |||
| c00f29e4d4 | |||
| 9726fded1c | |||
| 5d776bcfd2 | |||
| bbe4625672 | |||
| 7f9ff0ba5b | |||
| e9eff0cbff | |||
| 96e5fa6143 | |||
| 7c456c8554 | |||
| 219d275ae6 | |||
| dc4e80a655 | |||
| 5bd8cdca91 | |||
| dc6142751f | |||
| 529ecc5a77 | |||
| cddca18f12 | |||
| 9d985978a3 | |||
| 847b632577 | |||
| e324a1beb0 | |||
| 83a6a55d2c | |||
| 165729254b | |||
| ab5d7f863c | |||
| 9f29785783 | |||
| c105906780 | |||
| 18adc44171 | |||
| 070c125cec | |||
| 68d1d7fc83 | |||
| b5ceca14db | |||
| 9376a7c221 | |||
| cacc213762 | |||
| b9292ff90c | |||
| 3bd9a26c01 | |||
| 820a3b27b6 | |||
| 1747caf19d | |||
| 437654030a | |||
| 10e72e158d | |||
| 91fbadad5b | |||
| c362e72660 | |||
| 66b70016d0 | |||
| 2526c3fdbe | |||
| a7eb9c294a | |||
| 1c5b8e967e | |||
| be45a821bb | |||
| 1413f976ae | |||
| cc6fda2262 | |||
| 2c7ab23d7a | |||
| 2877f84579 | |||
| f4466dd9c7 | |||
| 81679981c5 | |||
| 306c1b4914 | |||
| ed74992853 | |||
| 12916b06aa | |||
| e31c7fb8a5 | |||
| 8b959cacbc | |||
| 0f2a423b8d | |||
| 15a4399015 | |||
| 869b69c66c | |||
| 06582edb2a | |||
| d470fb72da | |||
| 68cbba347b | |||
| eca23e9b0f | |||
| f514c87d6b | |||
| 30d6a71ccd | |||
| 439ff09701 | |||
| c8862d91bc | |||
| 0dece7a71f | |||
| 139f1be49d | |||
| ea61cdb740 | |||
| 32d425967a | |||
| 85c57c6ba8 | |||
| e8b3c36068 | |||
| dbb244cb97 | |||
| fbec803b55 | |||
| bca3ff4ed6 | |||
| f087b3428c | |||
| fe7b6decb1 | |||
| 322a56354f | |||
| 721b568303 | |||
| c5173cdb92 | |||
| 52e669d619 | |||
| 38c546c785 | |||
| 12aa060efd | |||
| e9c32fdf6d | |||
| acc037de15 | |||
| ddd154481b | |||
| fa6a6dbb92 | |||
| 78390d12af | |||
| cb69aa976f | |||
| fe8df5022b | |||
| f1349a2450 | |||
| 8fb36cb3dd | |||
| 296b838405 | |||
| bf3a5df371 | |||
| 783120dffa | |||
| 014d3cedf5 | |||
| bfc97fdaf6 | |||
| 693fd0db2a | |||
| fda5bb135e | |||
| 74f51105e9 | |||
| 942f9c5df4 | |||
| 02097700e8 | |||
| dc10e6bbf8 | |||
| e6e4d93d5e | |||
| 701f871e7d | |||
| e0d0190803 | |||
| 5d1b4206b1 | |||
| 8df2811d49 | |||
| 8b417c39e7 | |||
| ace6dc0c25 | |||
| a10d68f291 | |||
| a367fd4938 | |||
| 88c2497368 | |||
| 5702e1be6e | |||
| 4d593618e0 | |||
| 05655ff4ff | |||
| 1700e48e7f | |||
| 0df0b5f1f5 | |||
| cd1f72f484 | |||
| 303767350c | |||
| 6ec7c72e5b | |||
| 41889f74d0 | |||
| c8856eeff3 | |||
| 54486de88c | |||
| f2bbee2075 | |||
| ddf5ceccce | |||
| cf7d7a7b5d | |||
| 02c0b788cd | |||
| 0a1d296e19 | |||
| 79b7017227 | |||
| d38bda1480 | |||
| 62c78e46f8 | |||
| 91bcccd9a8 | |||
| ebed09ec01 | |||
| f3b3814606 | |||
| 823b5accd3 | |||
| 7e6cc0bf7e | |||
| 76f9c9128e | |||
| 51f293ba4c | |||
| 075e320a83 | |||
| 21957a3d9e | |||
| 953dc3a6f2 | |||
| fb51efcbd4 | |||
| 2320a09898 | |||
| 22d1506d23 | |||
| 28da31218f | |||
| 68f26d959f | |||
| e4866c4b3c | |||
| 5d6cf2ee19 | |||
| 2c93190283 | |||
| a8b9342aea | |||
| c9dbd2d601 | |||
| 72e2d4bb77 | |||
| 7ea343d570 | |||
| ead5dbeba5 | |||
| 2f39f86bd7 | |||
| 381d967ec8 | |||
| 46b5e0cbc6 | |||
| fc42ac6a56 | |||
| 46d38b10b8 | |||
| d0c75bbc83 | |||
| d350f577e9 | |||
| 46347fff01 | |||
| be03a53086 | |||
| 14b941744c | |||
| bf48c31406 | |||
| 64326322b4 | |||
| d5697fcf6b | |||
| 3b3dd3ac3c | |||
| 404e4d9e9a | |||
| cbf1dace2f | |||
| b5af762ef5 | |||
| 68cfedb34a | |||
| f1136228a7 | |||
| bf10a43ed9 | |||
| 5bb6c42405 | |||
| a6968c4934 | |||
| 9352fe1750 | |||
| f595e146d6 | |||
| 31c1eba51b | |||
| 92e7f166e7 | |||
| 81c3c1c68c | |||
| 41ad16fe40 | |||
| 233e050adf | |||
| c33169a6ba | |||
| ba2a99e7c4 | |||
| 45046544a6 | |||
| 0b9d4e78ad | |||
| 7f3b94c453 | |||
| d6ac499ca8 | |||
| 280d4aeb30 | |||
| 7426ced0fb | |||
| 24b5e6cb14 | |||
| a2fc01444e | |||
| edc3eee5ea | |||
| 21f29a7682 | |||
| 8e6697f2b2 | |||
| ac6625de5f | |||
| 0a3e034891 | |||
| 97bf02d787 | |||
| 3074737d90 | |||
| e0a007b929 | |||
| b06724a1a4 | |||
| 709870aa3e | |||
| 57eb2a8018 | |||
| 0ac50d28b5 | |||
| 78f7ad95f4 | |||
| bf78333531 | |||
| 463eae25b0 | |||
| e24b46b7f3 | |||
| ae0ba0686e | |||
| cd55963930 | |||
| 432eaff29c | |||
| 0048446db9 | |||
| 6b017b9bea | |||
| fda641fb6c | |||
| ed5c5994a7 | |||
| d19ca23f8f | |||
| fa778792c5 | |||
| df9a1c29f4 | |||
| 31007c01d8 | |||
| 5af5c2ed36 | |||
| b18c009051 | |||
| 48a8dd2a23 | |||
| 4702e75410 | |||
| ec8394cb6e | |||
| 7e534ce98a | |||
| e4f522990e | |||
| 6203535d2f | |||
| d76c305cbb | |||
| 7d649c9d4a | |||
| 3726ce24bb | |||
| 11ee1633b4 | |||
| dd8b745b88 | |||
| e73cd15fc8 | |||
| 630a88d3ce | |||
| a2369021ce | |||
| 1bd4723038 | |||
| b892a37320 | |||
| 7c9597f4e7 | |||
| 1b814458c9 | |||
| 7763cab608 | |||
| 5cf7c803e2 | |||
| d36e37214b | |||
| 86d5ed6f4f | |||
| fd1e9b1498 | |||
| f8ac403d8b | |||
| bc4f5d565e | |||
| 5035592988 | |||
| c6c1ada600 | |||
| a90334eebb | |||
| 239ce24f92 | |||
| 085d6d185d | |||
| 32181816f7 | |||
| c77d4266c0 | |||
| 46764a7165 | |||
| da43c7c27c | |||
| 40a8a93b22 | |||
| d49dd766c8 | |||
| a4a6244eb7 | |||
| 82715ae96d | |||
| a2690c6d86 | |||
| 57f8dbe25c | |||
| f8374a754d | |||
| 8ecffcb32f | |||
| e1f6458e36 | |||
| 0944e036ae | |||
| ecbb0ed4df | |||
| e9a648cd39 | |||
| 474471b831 | |||
| 24e277b85a | |||
| 498a28b4cd | |||
| b29d947477 | |||
| 0540b63ab0 | |||
| aec8b08930 | |||
| 88b1e44dd6 | |||
| 4a2443901f | |||
| bda3d57a00 | |||
| 003fcccceb | |||
| f4d3d7da2e | |||
| a4bf6ef0a0 | |||
| af871d57c9 | |||
| c3ea955661 | |||
| a419e70a42 | |||
| ebf94c53a5 | |||
| 1716b0fdb5 | |||
| fe38d12f12 | |||
| 667179f406 | |||
| c92a75999f | |||
| 532ee08213 | |||
| 443c43f6c4 | |||
| 67585bd34e | |||
| 6c3cd6fd9d | |||
| a6206c98d5 | |||
| 2d90c816ac | |||
| 2769241aeb | |||
| 37460e58d3 | |||
| cc3de8bd6e | |||
| 13be8b2031 | |||
| c15877445c | |||
| 78992bbf42 | |||
| 2a20761f07 | |||
| 3b3def4898 | |||
| 239e6a7d21 | |||
| cedb3c7c56 | |||
| 783f4885ab | |||
| 26ca131a95 | |||
| 143fef9f95 | |||
| 917b46a343 | |||
| caa79ed594 | |||
| 6881c193ca | |||
| 03a406d920 | |||
| f69e244a60 | |||
| cd876fb659 | |||
| 6f3bef195a | |||
| 1ea09b751e | |||
| 6e25aacc91 | |||
| 6aa15eb01f | |||
| 6c4b276cd4 | |||
| 7857089065 | |||
| 0bcbcf69ec | |||
| e4e2e37c5c | |||
| 5aa1018496 | |||
| faa760f563 | |||
| 2ead9a5bc3 | |||
| 5331fe39df | |||
| 595e1a189c | |||
| a40ab1cd66 | |||
| 15bb78ce80 | |||
| e1deba30aa | |||
| 537c5cc33d | |||
| 65d322958c | |||
| 38303dd997 | |||
| bbadd429a8 | |||
| 2c8eff0eec | |||
| 0489c708c7 | |||
| 39791a8ea8 | |||
| cd2b12f788 | |||
| 10faf28aef | |||
| 76e42edb29 | |||
| f29f98501c | |||
| 1f8e2d2617 | |||
| 61332d727e | |||
| f2bd7d9f27 | |||
| 6c5c3c81ec | |||
| 7a0f5c6c00 | |||
| cc4f8b9f6c | |||
| 501a2d69e1 | |||
| 7762a77c21 | |||
| 138b5a8c05 | |||
| d4a16d35eb | |||
| 3fa4ca2d87 | |||
| dfb3175d4b | |||
| 08b8571cb8 | |||
| 5ff5d351bf | |||
| c52368d3c5 | |||
| df8e3c6ee3 | |||
| bc4ecd9984 | |||
| 9341bb756b | |||
| 9d890a8412 | |||
| 7e4629fbbe | |||
| 73ef263d5f | |||
| bf590d8c81 | |||
| a1d2ee6542 | |||
| de36456f5d | |||
| 1f0043a7f5 | |||
| acf2a64016 | |||
| 8cda830eaf | |||
| f25129361b | |||
| f46813a8c8 | |||
| 9d5f9eca85 | |||
| 69d4c3f9a1 | |||
| 3737904859 | |||
| 209852c805 | |||
| 02f6bd65f5 | |||
| e8c5b3c9a5 | |||
| b1bdca0fdb | |||
| 00d6f26270 | |||
| 0f85e8b7f8 | |||
| beb0b64096 | |||
| afd931262c | |||
| 2da2169a56 | |||
| 2137cd65fb | |||
| 010a5dd84d | |||
| 8878facc67 | |||
| a976a1583c | |||
| e27b1355b5 | |||
| b5373d8561 | |||
| 66ad3d62c6 | |||
| 545edf5459 | |||
| 609142eee2 | |||
| 3568146b28 | |||
| 215d92bacd | |||
| 4751a0a274 | |||
| 7d412b1e14 | |||
| 55982664d0 | |||
| 1eaf1cf418 | |||
| 601e252074 | |||
| d797a5fbd7 | |||
| 17d8c78e52 | |||
| 438f745ea2 | |||
| b5a8c0a45e | |||
| 2719ac3e9b | |||
| 67eae2a503 | |||
| 96a1797af1 | |||
| 1b7a3ca416 | |||
| 303a33f15c | |||
| 3b67ece2d1 | |||
| 4674945fa8 | |||
| b444582ccd | |||
| 8610fd9b2b | |||
| 85dcbd0b34 | |||
| cf9334bd7d | |||
| 22c4f3d058 | |||
| 15317419f4 | |||
| 8a5dde556b | |||
| 1c9d5c43b0 | |||
| a2b9a5e1fe | |||
| fcd08fce8f | |||
| 54e3a26dda | |||
| 96542f14ab | |||
| 12d5c88c20 | |||
| bdc3ff99f3 | |||
| 72f176d1f5 | |||
| 1b8f4f5bc5 | |||
| f15eb7b499 | |||
| cfa039d2e0 | |||
| eb8aad85b8 | |||
| f744ad57fc | |||
| ec6b320003 | |||
| bb9d1af1ca | |||
| aa07523e69 | |||
| d9593e217d | |||
| 0682780cd8 | |||
| d9fe9af966 | |||
| 5cbb826961 | |||
| 019d9bf0f3 | |||
| be64955e25 | |||
| 3424df22ee | |||
| ac4420237c | |||
| 4775bc910c | |||
| 5da217b96e | |||
| 582b178723 | |||
| 535dfc2153 | |||
| 6160667b19 | |||
| 5f97e04aa3 | |||
| 115c7b82c4 | |||
| a9764c34a7 | |||
| 361889def9 | |||
| 5d41742f17 | |||
| 8d00fe4c03 | |||
| 1973c64342 | |||
| 46c10c8b58 | |||
| 190d3c9c3e | |||
| e2ecd2df6c | |||
| 45978b6674 | |||
| b1c93c2700 | |||
| 6e7ba4e24a | |||
| 311c00a29b | |||
| 13199c0020 | |||
| 6dc13573bf | |||
| 1c134d9a7f | |||
| b52d29095a | |||
| 4f918ce52c | |||
| 94f9f9de73 | |||
| e5060b8d92 | |||
| 8a2b9f4a5f | |||
| 099cec1ca7 | |||
| 06c718b1d3 | |||
| 55facf1f2e | |||
| 6477ad1acf | |||
| 5fc5d26917 | |||
| fe3ed433e4 | |||
| 320b75de63 | |||
| 9e0d87a4dd | |||
| 471d913ab6 | |||
| cbc7873bb4 | |||
| 2b5e09038a | |||
| 5d63e8e2a8 | |||
| aa2cec6f2f | |||
| 01572f00bb | |||
| 58dd1f20ae | |||
| 6cf3752b9b | |||
| 78cb09b440 | |||
| ed13ec50f8 | |||
| e59642838f | |||
| 2fda6a45aa | |||
| 47697c5f35 | |||
| afaee0ca13 | |||
| 73cf9c4db8 | |||
| a1951ed7c0 | |||
| e510306196 | |||
| a12c19b3c8 | |||
| a667fd93ab | |||
| 4e979f084d | |||
| e4d4ef43b0 | |||
| e71e2b4be2 | |||
| 94ba211c40 | |||
| b745b7768a | |||
| 887f11d47f | |||
| 47cf3cc62f | |||
| bb85bbc657 | |||
| 7ed82c1223 | |||
| 8e271d664b | |||
| c531a75ff0 | |||
| 1e190d8036 | |||
| c9cef741f6 | |||
| 45dddc59a1 | |||
| 44e35e9dfa | |||
| 937cfa6a88 | |||
| 1166b39630 | |||
| e79eb75e09 | |||
| e6e0e2ac9b | |||
| 4d2f584fdd | |||
| 9ae137aede | |||
| 80ced60778 | |||
| 50638530e6 | |||
| dda951d1e1 | |||
| ae275dccb8 | |||
| b7233a49dd | |||
| 3f12c746e5 | |||
| 2327d30ef5 | |||
| 8b763286df | |||
| d71efb855b | |||
| 97247a157c | |||
| d8eb75d6e8 | |||
| f1854a3cec | |||
| 2ab0c8de1a | |||
| 04a20fb402 | |||
| 7b7a02542b | |||
| 41253fb073 | |||
| a3c474c404 | |||
| f4f6783cc0 | |||
| 263ed4e239 | |||
| f37d4b0918 | |||
| 01dadc05f4 | |||
| 663fd4ff62 | |||
| a8b18b6f54 | |||
| 25f8ef3260 | |||
| c8b8d914b8 | |||
| 7f5aa177f5 | |||
| 0c24f51d2a | |||
| 05571db109 | |||
| 1ae194597c | |||
| 256a25f25c | |||
| 5b947b8a2f | |||
| f9deb8017a | |||
| 2b22c0c56e | |||
| 9e6322dbab | |||
| 077577c7f3 | |||
| b86e1fb62a | |||
| b8715ddfd0 | |||
| 79e05d0c0e | |||
| 51b43acf20 | |||
| 39f779b5d3 | |||
| ded21ebc91 | |||
| bb61175eba | |||
| 54c645e33d | |||
| fd509cb370 | |||
| ada5589184 | |||
| 74bda55d4c | |||
| 48f5626499 | |||
| 27e9214e05 | |||
| ddefdbf31f | |||
| 6bfa58ea4d | |||
| 6a1521327b | |||
| b0437bef76 | |||
| ff38c14948 | |||
| ae9a2bd93a | |||
| dee57462e2 | |||
| e1659b2c4e | |||
| 2ee035403d | |||
| 61a8ef2feb | |||
| 9c72246d49 | |||
| f3479a3953 | |||
| f933a41c7b | |||
| 780636d955 | |||
| b14d946afb | |||
| 41093a328e | |||
| a80dafbb18 | |||
| 5144c77b27 | |||
| 50df524ba1 | |||
| dbcd87331d | |||
| 662fface3b | |||
| 0b0d7f104c | |||
| 2a6deb92b1 | |||
| 75e5279e01 | |||
| f6ac297903 | |||
| e9b04acb92 | |||
| 57ea6fea76 | |||
| 2df0a0fdeb | |||
| 4bf93a2d76 | |||
| 97a23ef2e6 | |||
| d684607976 | |||
| 0040a78058 | |||
| 41f4c60a91 | |||
| cf33664b0c | |||
| d96047f45f | |||
| a74457a203 | |||
| cf4fd1abbe | |||
| e31f06b857 | |||
| 9f8ce77751 | |||
| 5df1e2c00a | |||
| e06c257e6b | |||
| f6c7ac51f2 | |||
| 08e4475f00 | |||
| 3c89f7bb5f | |||
| 85f1f2257b | |||
| 03eee23952 | |||
| 4eee78e051 | |||
| a525a6fe33 | |||
| 8ed77c41f0 | |||
| 0cb3ba6b23 | |||
| aeed751a7f | |||
| 80a645b52a | |||
| 3823d29c04 | |||
| f61dd7239b | |||
| 25c6175311 | |||
| fa38ab573b | |||
| 88deb08ff2 | |||
| 2b2b3303e1 | |||
| 33c6ab9b20 | |||
| d27dcf3b07 | |||
| 1482030679 | |||
| 1e2edaef48 | |||
| fc7ecd78c8 | |||
| 4a84145c43 | |||
| 86a577d76b | |||
| 48546c2735 | |||
| 7ec1778103 | |||
| 6977d35eed | |||
| 225d0e0af3 | |||
| 1bb7c0e669 | |||
| 3c742fc08b | |||
| 72323051c3 | |||
| c2e899f2a0 | |||
| fe93b926b4 | |||
| fbc053692d | |||
| b979cd9e67 | |||
| 7aaf141371 | |||
| e8fd7e6c96 | |||
| 735001cb26 | |||
| 5637c6fb70 | |||
| fab1a80dcb | |||
| 060e216712 | |||
| 6905dbe98d | |||
| 1f70dd71c8 | |||
| 31b30ab88e | |||
| e191964ff8 | |||
| 9795e9bbe6 | |||
| 196fb1d86a | |||
| 59eba9afbc | |||
| 0e62011da0 | |||
| 364dbb7931 | |||
| be8d5243f4 | |||
| a9bf1e6e35 | |||
| 1f30faac73 | |||
| b2ebd5c46c | |||
| 7fa99fb1fe | |||
| 178397ae5e | |||
| 6bf661aceb | |||
| 04164e4367 | |||
| b63543181a | |||
| cfac4bb59d | |||
| 84a9c74efd | |||
| 22a9a83656 | |||
| d63ebe3f3c | |||
| 87ce3489d3 | |||
| 761429d88a | |||
| 134d11b528 | |||
| e56a700849 | |||
| 5184da39f4 | |||
| a30045daef | |||
| fe6a4b0b54 | |||
| 16b4ac0d8f | |||
| 9d5c431223 | |||
| 1e9b450619 | |||
| 6474190746 | |||
| 79067721b1 | |||
| 4bb2a13776 | |||
| f75277e62d | |||
| 880bdbc4dd | |||
| c10a357bb3 | |||
| fa6a131eb6 | |||
| b7b4fd5c82 | |||
| 7590e65f6f | |||
| e2fc202df2 | |||
| c98b75c979 | |||
| 394922a1bf | |||
| 87aa61001e | |||
| c37aa99e28 | |||
| 4912dd441d | |||
| e38fa4b1f4 | |||
| 5b2f2ed821 | |||
| 4ea7c47235 | |||
| 7ce048bccd | |||
| cd441e082f | |||
| 6245886b26 | |||
| 802ced9ca5 | |||
| f085dbadd1 | |||
| 2a0cf0f131 | |||
| 0dda2c4659 | |||
| 614d52bd7f | |||
| 5247b15411 | |||
| 685785d2c2 | |||
| 5b8838aeac | |||
| b05fc00d59 | |||
| 76cfe17002 | |||
| e25bcb93fc | |||
| dcf75697ec | |||
| cf70fb629f | |||
| fa1e1e34df | |||
| fae6c36874 | |||
| 48fc0ad569 | |||
| d76c899142 | |||
| e9f374f041 | |||
| 5b8ff7061b | |||
| 393f4a7b42 | |||
| 8281a9023a | |||
| 77dea2c5eb | |||
| 6c2fa9430c | |||
| b9105b98f9 | |||
| ee750bbce1 | |||
| 117f65d431 | |||
| 1d4660beea | |||
| 3c1a0fbda4 | |||
| 89d7ec5290 | |||
| 6c23fff4d6 | |||
| c8fa2600f2 | |||
| aac3736eea | |||
| cb1a59caa0 | |||
| ba90d0fc5e | |||
| 326b665065 | |||
| a8316c780d | |||
| 39f8996d6a | |||
| 51c9fa1697 | |||
| 6a663081a7 | |||
| a1ad6d124a | |||
| 62f6368344 | |||
| 25bc298aff | |||
| 4008d666a5 | |||
| 16fa610ea4 | |||
| 478396fd4e | |||
| 2ee9b2717b | |||
| 426e7d9fbd | |||
| 9581cbfe32 | |||
| 40ab928315 | |||
| e20d2dfe9d | |||
| 750badabf7 | |||
| 74b167b86d | |||
| 463de252a9 | |||
| 6e622ee763 | |||
| 93b1519017 | |||
| 5cb116beb8 | |||
| 2d4f5eb5a4 | |||
| fae691c3d9 | |||
| f22b06097a | |||
| f36060dab5 | |||
| 9343e1e933 | |||
| a12f0e551f | |||
| 549d61fc28 | |||
| 7d324ee35b | |||
| 3c775f2432 | |||
| 280dfda6ed | |||
| c884d6eaa6 | |||
| 338c7ef2b6 | |||
| 5b5352c92d | |||
| f0ed383e51 | |||
| 713105774f | |||
| a750551fee | |||
| 5d8e78e0fa | |||
| 83846ba0d6 | |||
| 75d952ffd8 | |||
| 0ca210395c | |||
| 3ea309568f | |||
| c74dddd02e | |||
| 6f8226a393 | |||
| 64e87a85f5 | |||
| f4877c2369 | |||
| 148e5a3d89 | |||
| f495a8d0cc | |||
| 413c05a09d | |||
| 93be608bf0 | |||
| dbea3e2784 | |||
| 646c87c151 | |||
| 7800fee7e0 | |||
| 07f80e6fd8 | |||
| 50a945e084 | |||
| 25d0b341a9 | |||
| 9887d3cf4a | |||
| 410decafad | |||
| 16cf6b30cd | |||
| 8b696ad0b5 | |||
| db9925510b | |||
| 20676ddd4d | |||
| 5f861ef517 | |||
| 7d1c8c2a0c | |||
| 3f2f96b0d7 | |||
| e2b777d9a3 | |||
| 7cc916d137 | |||
| c7f6499235 | |||
| e2336ef02a | |||
| 6d447079a4 | |||
| 7ff1b074ea | |||
| dc6eaafb00 | |||
| 19ea4668e5 | |||
| 3d770ab7bd | |||
| 095e052606 | |||
| cd6915cdb4 | |||
| 68146db004 | |||
| 3c07eaa251 | |||
| c6ee96c025 | |||
| a645664e50 | |||
| 62c386259b | |||
| b4125748b0 | |||
| 4d6434a2c7 | |||
| 26dad5f56d | |||
| 3ad52ca632 | |||
| 70e81e6f55 | |||
| fb29075926 | |||
| cd2d82150c | |||
| 98ebd54800 | |||
| 6f4360c47b | |||
| c31a4e5131 | |||
| c09e8473e2 | |||
| a683497dbc | |||
| 2e3306d5dd | |||
| b77ed4a3a3 | |||
| 244a9ab79d | |||
| 3761d50c5a | |||
| a85499749a | |||
| e7e183e55d | |||
| d65e815a48 | |||
| 94a3d4eb14 | |||
| 8c2db7d7d6 | |||
| 78849cf52e | |||
| cd466f1d0b | |||
| 27845e4492 | |||
| 508a93d9e3 | |||
| 6662f62236 | |||
| 87af5d3bbe | |||
| 71669dda63 | |||
| e80f37b600 | |||
| 160fe7ca59 | |||
| 59153205b3 | |||
| 3875a9f31b | |||
| b353565d4e | |||
| f2dadecbf3 | |||
| 7301931a6d | |||
| f5a2d82a3a | |||
| 83e46b8df9 | |||
| 5bd9217f9b | |||
| 1e717991e8 | |||
| eb62c977cd | |||
| 3a5b4cc7df | |||
| b2b000b750 | |||
| 089f42a07f | |||
| d704d6f0ed | |||
| ce140662a0 | |||
| 9df832b4bb | |||
| 40298ddbf1 | |||
| ff92344f0d | |||
| b54264cde0 | |||
| 64ba423b6d | |||
| d14f06fc4e | |||
| 143b6ae2de | |||
| 9aa5a6db12 | |||
| af88f54e5d | |||
| 47e0647086 | |||
| 6a974f9ff7 | |||
| bae3cfd183 | |||
| 3add79c071 | |||
| 36e78bd7ac | |||
| 626b45d691 | |||
| fb31cdba9c | |||
| b1cb556503 | |||
| 7b726f974f | |||
| cda48d41ba | |||
| 3ead14a1e0 | |||
| 2cbff258b9 | |||
| 1db72f8d77 | |||
| 2e6d4e9439 | |||
| bf875d9e36 | |||
| c7ffe6edc8 | |||
| f453909f39 | |||
| 5dd47f1196 | |||
| 7ed02b461b | |||
| 97cbefa72f | |||
| bd19b42c15 | |||
| 681b601561 | |||
| a0cd886c56 | |||
| c90c66e61f | |||
| 081a07c168 | |||
| 017b7cb804 | |||
| 0c817bf5e2 | |||
| 3985379cca | |||
| f2e39233f5 | |||
| 4a907709ba | |||
| 5ef2b6561a | |||
| fc2481b8e5 | |||
| c65006601e | |||
| ca63ea2f26 | |||
| aff3694f28 | |||
| 550e375af0 | |||
| c028e33358 | |||
| 269ce715f1 | |||
| 97c7a83a8f | |||
| bba0b34c36 | |||
| c1c7528dd9 | |||
| df869f1eb0 | |||
| c3f5d7c62d | |||
| f8d68002dc | |||
| ff6dd0cf56 | |||
| 860a96939a | |||
| f109be4e8a | |||
| 857b8fb8be | |||
| a1aa2b188a | |||
| 2ecbd36cbf | |||
| 10d68406fe | |||
| 2c5ac562d2 | |||
| 5a614fb86d | |||
| 09ec0b843e | |||
| 8ee0679522 | |||
| 53cec198c0 | |||
| 22918f8f92 | |||
| dd127611e1 | |||
| 094e65eb9d | |||
| de53f62a04 | |||
| 47e2c43401 | |||
| b8d8704f90 | |||
| 446f9199c6 | |||
| f0ff20ec40 | |||
| 257890f839 | |||
| 060100cf3a | |||
| 094e12f68d | |||
| c44bd1edf4 | |||
| 632c6d22a2 | |||
| eef87c96af | |||
| 348668ec13 | |||
| 589242604f | |||
| b79c100967 | |||
| c56eb0962a | |||
| 8df906e641 | |||
| 9cceb0bba7 | |||
| 5563b8448e | |||
| 8eb1488861 | |||
| 37ba0eba02 | |||
| eb3a4b8f75 | |||
| 82ea5847a7 | |||
| 041b8bdfd3 | |||
| 31e8a358c3 | |||
| ad9bfeef7a | |||
| 9a4ee790e1 | |||
| 9a3a297a47 | |||
| 2d3a0babd2 | |||
| 4a276b1620 | |||
| af14f6db5d | |||
| 91a7274a43 | |||
| a38bc90b48 | |||
| ebc1fe907d | |||
| 3a751a63d4 | |||
| 555a3b0478 | |||
| 0b827965d3 | |||
| 354f99f0bd | |||
| b8a8927b0c | |||
| 4ca1cba3f8 | |||
| b07b869b26 | |||
| 806a82ef83 | |||
| 037107480d | |||
| f836473129 | |||
| fc96bc8bba | |||
| 5b401a8c16 | |||
| 5e5965ca6f | |||
| b1d7c34086 | |||
| 9889948f58 | |||
| a7b49a7d92 | |||
| 10c6db4b14 | |||
| 4b53778150 | |||
| a404ac33bb | |||
| 452d8c1df0 | |||
| bf9d8fcc07 | |||
| 3aa89ded21 | |||
| 4fbb400754 | |||
| f5fd5e7523 |
@@ -34,3 +34,4 @@ nbproject
|
||||
.CVS
|
||||
.idea
|
||||
node_modules
|
||||
dist
|
||||
|
||||
@@ -0,0 +1,368 @@
|
||||
## 2.3.2 re-release (July 26, 2013)
|
||||
|
||||
Patch to update jQuery in Bower and bump Recess to 1.1.9.
|
||||
|
||||
## 2.3.2 (May 17, 2013)
|
||||
|
||||
Fix dropdown for firefox (middleclick) and mobile.
|
||||
|
||||
## 2.3.1 (February 28, 2013)
|
||||
|
||||
Patch release for @fat's n00bery
|
||||
|
||||
- fix missing event type in dropdown
|
||||
- fix delegated data-attrs for popover/tooltip
|
||||
- make carousel actually pause when you click cycle
|
||||
- fix jshint ref in makefile
|
||||
- fix trying to remove backdrop when no backdrop
|
||||
|
||||
## 2.3.0 (February 7, 2013)
|
||||
|
||||
Minor release to add carousel indicators, improve tooltips, improve dev setup, and fix hella bugs.
|
||||
|
||||
- **Repository changes:**
|
||||
- **Local instead of global dependencies** for our makefile and install process. Now getting started is way easier—just run `npm install`.
|
||||
- Upgraded to jQuery 1.9. No changes were needed, but we did upgrade the included jQuery file to the latest release.
|
||||
- Moved changelog to be within the repo instead of as a wiki page.
|
||||
- **New and improved features:**
|
||||
- **Added carousel indicators!** Add the HTML and it automagically works.
|
||||
- **Added `container` option to tooltips.** The default option is still `insertAfter`, but now you may specify where to insert tooltips (and by extension, popovers) with the optional container parameter.
|
||||
- Improved popovers now utilize `max-width` instead of `width`, have been widened from 240px to 280px, and will automatically hide the title if one has not been set via CSS `:empty` selector.
|
||||
- Improved tooltip alignment on edges with [#6713](https://github.com/twbs/bootstrap/pull/6713).
|
||||
- **Improved accessibility for links in all components.** After merging [#6441](https://github.com/twbs/bootstrap/pull/6441), link hover states now apply to the `:focus` state as well. This goes for basic `<a>` tags, as well as buttons, navs, dropdowns, and more.
|
||||
- Added print utility classes to show and hide content between `screen` and `print` via CSS.
|
||||
- Updated input groups to make them behave more like default form controls. Added `display: inline-block;`, increased `margin-bottom`, and added `vertical-align: middle;` to match `<input>` styles.
|
||||
- Added `.horizontal-three-colors()` gradient mixin (with example in the CSS tests file).
|
||||
- Added `.text-left`, `.text-center`, and `.text-right` utility classes for easy typographic alignment.
|
||||
- Added `@ms-viewport` so IE10 can use responsive CSS when in split-screen mode.
|
||||
- **Docs changes:**
|
||||
- Added [new justified navigation example](https://f.cloud.github.com/assets/98681/25869/5e2f812c-4afa-11e2-9293-501cd689232d.png).
|
||||
- Added sticky footer with fixed navbar example.
|
||||
|
||||
See more on the [2.3.0 pull request](https://github.com/twbs/bootstrap/pull/6346).
|
||||
|
||||
|
||||
## 2.2.2 (December 8, 2012)
|
||||
|
||||
Bugfix release addressing docs, CSS, and some JavaScript issues. Key changes include:
|
||||
|
||||
- **Docs:**
|
||||
- Assets (illustrations and examples) are now retina-ready.
|
||||
- Replaced [Placehold.it](http://placehold.it) with [Holder.js](http://imsky.github.com/holder/), a client-side and retina-ready placeholder image tool.
|
||||
- **Dropdowns:** Temporary fix added for dropdowns on mobile to prevent them from closing early.
|
||||
- **Popovers:**
|
||||
- No longer inherits `font-size: 0;` when placed in button groups.
|
||||
- Arrows refactored to work in IE8, and use less code.
|
||||
- Plugin no longer inserts popover content into a `<p>`, but rather directly into `.popover-content`.
|
||||
- **Labels and badges:** Now [automatically collapse](https://github.com/twbs/bootstrap/commit/ead5dbeba5cd7acfa560bfb353f5e7c4f4a19256) if they have no content.
|
||||
- **Tables:** Nesting support with `.table-bordered` and `.table-striped` greatly improved.
|
||||
- **Typeahead:**
|
||||
- Now [inserts dropdown menu after the input](https://github.com/twbs/bootstrap/commit/1747caf19d59cad7fdc90ae56a00e0e2849f95f4) instead of at the close of the document.
|
||||
- Hitting escape will place focus back on the `<input>`.
|
||||
- Print styles, from HTML5 Boilerplate, have been added.
|
||||
|
||||
See more on the [2.2.2 milestone](https://github.com/twbs/bootstrap/issues?milestone=17&state=closed).
|
||||
|
||||
|
||||
## 2.2.1 (October 30, 2012)
|
||||
|
||||
Hotfix release to address the carousel bug reports.
|
||||
|
||||
|
||||
## 2.2.0 (October 29, 2012)
|
||||
|
||||
### tl;dr
|
||||
|
||||
2.1.2 is now 2.2.0: four new example templates, added media component, new typographic scale, fixed that box-shadow mixin bug, fixed z-index issues, and [more](https://github.com/twbs/bootstrap/issues?milestone=15&page=1&state=closed).
|
||||
|
||||
### Highlights
|
||||
|
||||
- **Added four new example templates** to the docs, including a narrow marketing page, sign in form, sticky footer, and a fancy carousel (created for an upcoming .net magazine article).
|
||||
- **Added the media component**, to create larger common components like comments, Tweets, etc.
|
||||
- **New variable-driven typographic scale** based on `@baseFontSize` and `@baseLineHeight`.
|
||||
- Revamped mini, small, and large padding via new variables for inputs and buttons so everything is the same size.
|
||||
- Reverted 2.1.1's `.box-shadow();` mixin change that caused compiler errors.
|
||||
- Improved dropdown submenus to support dropups and left-aligned submenus.
|
||||
- Fixed z-index issues with tooltips and popovers in modals.
|
||||
- Hero unit now sets basic type styles for the entire component, rather than on `.hero-unit p { ... }`.
|
||||
- Updated JavaScript plugins and docs to jQuery 1.8.1.
|
||||
- Added Contributing.md file.
|
||||
- Added support for installing Bootstrap via [Bower](http://twitter.github.com/bower).
|
||||
- Miscellaneous variable improvements across the board.
|
||||
- Miscellaneous documentation typos fixed.
|
||||
|
||||
For the full list of issues included in this release, visit the [2.2.0 milestone on GitHub](https://github.com/twbs/bootstrap/issues?milestone=15&page=1&state=closed)
|
||||
|
||||
|
||||
|
||||
## 2.1.1 (September 4, 2012)
|
||||
|
||||
* New feature: alert text. We documented these new classes, like `.text-success`, at the bottom of the [Typography section](http://twbs.github.com/bootstrap/base-css.html#typography) along with the long undocumented `.muted`.
|
||||
* Fixed a lot of typos in the docs. Spelling is hard.
|
||||
* Made the `.box-shadow()` mixin more durable. It no longer requires escaping for multiple shadows, meaning you can easily use variables and functions in them once again.
|
||||
* Widened `.dl-horizontal dt` and `.horizontal-form .control-group` to better handle the increased font-size.
|
||||
* Dropdown submenus improved: now you only see the next level, not all levels, on hover of the submenu toggle.
|
||||
* Clarified jQuery and Bootstrap template requirements in Getting Started section.
|
||||
* `select` now utilizes `@inputBorder`.
|
||||
* `.lead` now scales up from `@baseFontSize` instead of being a fixed font-size and line-height.
|
||||
* Fixed the vertical three color gradient in latest Firefox.
|
||||
* Reordered some variables that caused errors in certain Less compilers.
|
||||
|
||||
View all closed issues on the [2.1.1 milestone](https://github.com/twbs/bootstrap/issues?milestone=14&state=closed).
|
||||
|
||||
|
||||
## 2.1.0 (August 20, 2012)
|
||||
|
||||
### Key changes
|
||||
|
||||
* Submenu support on dropdowns
|
||||
* Affix JavaScript plugin
|
||||
* Block level buttons
|
||||
* State classes on table rows
|
||||
* Improved disabled states on navs and dropdowns
|
||||
* The navbar component is now white by default, with an optional class to darken it
|
||||
* Improved prepended and appended inputs
|
||||
* New base font-size and line-height
|
||||
* Added variable for navbar collapse trigger point
|
||||
* Fluid grid offsets
|
||||
* Fluid grid system variables are no longer fixed percentages
|
||||
* Removed LESS docs page
|
||||
|
||||
For full set of changes, see the completed milestone: https://github.com/twbs/bootstrap/issues?milestone=7&page=1&state=closed
|
||||
|
||||
## 2.0.4 (June 1, 2012)
|
||||
|
||||
|
||||
### Docs
|
||||
|
||||
- Added `type="button"` to all dismiss buttons in alerts and modals to avoid a bug in which they prevent their parent's `form` from properly submitting.
|
||||
- Added simple documentation to Base CSS for `.lead`.
|
||||
- Added new CSS test to illustrate how the navbar, static and fixed, behaves.
|
||||
- Clarified grid sizing copy to include mention of responsive variations.
|
||||
- Reformatted the LESS docs page to prevent terrible table displays at smaller grid sizes.
|
||||
- Miscellaneous typos and tweaks.
|
||||
|
||||
### CSS
|
||||
|
||||
- Refactored forms.less to make our selectors more specific for fewer overrides and less code. Instead of a generic `input` selector and various resets, we target each type of input like `input[type="text"]`, `input[type="password"]`, etc.
|
||||
- Form field state (e.g., success or error) now applies to checkbox and radio labels.
|
||||
- Removed redundant CSS on `<p>` for `font-family`, `font-size`, and `line-height`.
|
||||
- Removed redundant `color` declaration from the `<label>` element.
|
||||
- Added variables for dropdown dividers border colors.
|
||||
- `legend` and `.form-actions` share the same `border-color`, `#e5e5e5`.
|
||||
- Fixed some responsive issues with input-prepend and -append, notably with the fluid grid.
|
||||
- Added special CSS to prevent `max-width: 100%;` on images from messing up Google Maps rendering.
|
||||
- Scope opened dropdowns to only immediate children to avoid unintended cascade.
|
||||
- Similarly, scope floated-right dropdowns to immediate children with `.pull-right > .dropdown-menu`.
|
||||
- Updated `.placeholder()` mixin to use `&` operator in Less for proper output when compiling.
|
||||
- Added `-ms-input-placeholder` to `.placeholder()` mixin.
|
||||
- Added CSS3 hyphens mixin.
|
||||
- Fixed a bug in IE7/8 where certain form controls would not show text if the parent had a filter opacity set.
|
||||
|
||||
|
||||
## 2.0.3 (April 24, 2012)
|
||||
|
||||
Running makefile now require JSHint and Recess.
|
||||
|
||||
### HTML and CSS
|
||||
|
||||
- Overhauled the responsive utility classes to simplify required CSS, add `!important` to all declarations, and use `display: inherit` in place of `display: block` to account for different types of elements.
|
||||
- Removed `>` from fluid grid column selectors, meaning every element with a `.span*` class within a `.row-fluid` will use percentage widths instead of fixed-pixels.
|
||||
- Fixed regression in responsive images support as of 2.0.1. We've re-added `max-width: 100%;` to images by default. We removed it in our last release since we had folks complaining about Google Maps integration and other projects, but we're taking a different stance now on these things and will require developers to make these tweaks on their end.
|
||||
- Added variable `@navbarBrandColor` for the brand element in navbars, which defaults to `@navbarLinkColor`.
|
||||
- Font-family mixins now use variables for their stacks.
|
||||
- Fixed an unescaped `filter` on the `.reset-filter()` mixin that was causing some errors depending on your compiler.
|
||||
- Fixed regression in `.form-actions` background, which was too dark, by adding a new variable `@formActionsBackground` and changing the color to `#f5f5f5` instead of `#eee`.
|
||||
- Fixed an issue on button group dropdowns where the background color was not using the button's darker color when the dropdown is open.
|
||||
- Generalized and simplified the open dropdown classes while adding smarter defaults. Instead of `.dropdown.open`, we now use just `.open`. On the defaults side, all dropdown menus now have rounded corners to start.
|
||||
- Improved active `.dropdown-toggle` styles (for dropdown buttons) by darkening the background and sharpening the inset shadow to match the active state of buttons.
|
||||
- Direction of animation on progress bars reversed.
|
||||
- Fixed input-prepend/append issue with uneditable inputs: `.uneditable-input` was being floated and a missing comma meant its `border-radius` for the append option wasn't being applied properly.
|
||||
- Removed `height: auto;` from `img` since it was overriding dimensions set via HTML attributes.
|
||||
- Fixed an issue of double borders on the top of tables with captions or colgroups.
|
||||
- Fixed issue with anchor buttons in the `.navbar-text`. Instead of a general styling on all anchors within an element with that class, we now have a new class to specifically apply appropriate link color.
|
||||
- Added support for `@navbarHeight` on the brand/project name and nav links for complete navbar height customization.
|
||||
- Fixed the black borders on buttons problem in IE7 by removing the border, increasing the line-height, and providing darker background colors.
|
||||
- Removed excess padding on `.search-query` inputs in IE7 since it doesn't have border-radius.
|
||||
- Updated alert messages in Components to use `button` elements as close icons instead of `a`. Both can be used, but an `a` will require `href="#"` for dismissal on iOS devices.
|
||||
- Fixed an issue with prepended/appended inputs in Firefox where `select` elements required two clicks to toggle the dropdown. Resolved by moving the `position: relative` to the `select` by default instead of on `:focus`.
|
||||
- Added a new mixin, `.backface-visibility`, to help refine CSS 3D tranforms. Examples and explanation of usage can be found on [CSS Tricks](http://css-tricks.com/almanac/properties/b/backface-visibility/).
|
||||
- Changed specificity of grid classes in responsive layouts under 767px to accurately target `input`, `select`, and `textarea` elements that use `.span*` classes.
|
||||
- Horizontal description lists, `.dl-horizontal`, now truncate terms that are too long to fit in their fixed-width column. In the < 767px responsive layout, they change to their default stacked layout.
|
||||
- Changed tabbable tabs to prevent issues in left and right aligned tabs. `.tab-content` would not growing to its parent's full width due to `display: table`. We removed that and the `width: 100%` and instead just set `overflow: auto` to clear the left and right aligned tabs.
|
||||
- Updated thumbnails to support fluid grid column sizing.
|
||||
- Added `>` to most of the button group selectors
|
||||
- Added new variable, `@inputBorderRadius`, to all form controls that previously made use of the static `3px` value everywhere.
|
||||
- Changed the way we do `border-radius` for tables. Instead of the regular mixin that zeros out all other corners, we specify one corner only so they can be combined for use on single column table headers.
|
||||
- Updated Glyphicons Halflings from 1.5 to 1.6, introducing 20 new icons.
|
||||
- Added an `offset` paramater to the `.makeColumn`.
|
||||
- Increased the specificity of all tabbable nav selectors to include `.nav-collapse` to appropriately scope the responsive navbar behavior.
|
||||
- Fixed uneditable inputs: text now cuts off and does not wrap, making it behave just like a default `input`.
|
||||
- Labels and badges are now `vertical-align: baseline;` so they line up with surrounding text.
|
||||
|
||||
### Javascript
|
||||
|
||||
- Add jshint support
|
||||
- Add travis-ci support w/ headless phantom integration
|
||||
- Replace UA sniffing in bootstrap-transitions.js
|
||||
- Add MSTransitionEnd event to transition plugin
|
||||
- Fix pause method in carousel (shouldn't restart when hovering over controls)
|
||||
- Fix crazy opera bug #1776
|
||||
- Don't open dropdown if target element is disabled
|
||||
- Always select last item in scrollspy if you've reached the bottom of the document or element
|
||||
- Typeahead should escape regexp special chars
|
||||
- If interval is false on carousel, do not auto-cycle
|
||||
- Add preventDefault support for all initial event types (show, close, hide, etc.)
|
||||
- Fix collapse bug in ie7+ for initial collapse in
|
||||
- Fix nested collapse bug
|
||||
- If transitioning collapse, don't start new transition
|
||||
- Try to autodetect when to use html/text method in tooltip/popovers to help prevent xss
|
||||
- Add bootstrap + bootstrap.min.js to gh-pages for @remy and jsbin support
|
||||
|
||||
### Documentation and repo
|
||||
|
||||
- Combined badges and labels into a single LESS file, labels-badges.less, to reduce repeated CSS.
|
||||
- Separated responsive features into multiple files. We now have a file for each grouping of media queries (tablets and down, tablets to desktops, and large desktops). Additionally, the visible/hidden utility classes and the responsive navbar are in their own files. The output is the same in the compiled CSS, but this should give folks a bit more flexibility.
|
||||
- Added a new CSS Tests page in the docs (not in the top nav) for better testing of edge cases and extending the use of standard components.
|
||||
- Removed the bootstrap.zip file from the repo and the make process for faster building and a lighter repo. From now on, the zip will only be in the documentation branch.
|
||||
- Fixed incorrect use of class instead of ID for tabs example and added documentation for multiple ways of toggling tabs.
|
||||
- Fixed required markup listed for the specialized navbar search field.
|
||||
- Removed all mention of `@siteWidth`, a variable no longer in use.
|
||||
- Removed mentions of unused `@buttonPrimaryBackground` variable, which is no longer in use.
|
||||
- Updated LESS docs page to include all the new variables we added in previous releases.
|
||||
- Removed broken "dropup" menus from tabs and pills examples (shouldn't have been there in the first place).
|
||||
- Replaced `.badge-error` with `.badge-important`. The error option is not a valid class and was a typo in the docs.
|
||||
- Fixed mention of how to add plain text to the navbar. Previously the docs stated you only needed a `p` tag, but the required HTML is any element with class `.navbar-text`.
|
||||
- Clarified the use of `.tabbable` for tabs. The wrapping class is only required for left and right tabs to clear their floats. Also added mention of `.fade` to fade in tabs.
|
||||
- Updated forms documentation:
|
||||
- Remove unnecessary duplicate help text in first example
|
||||
- Added mention of required `input` class, `.search-query`, for the search form variation
|
||||
- Removed incorrect mention of form fields being `display: block;` to start as fields are `inline-block` to start.
|
||||
- Added mention of `data-target` attribute for the dropdowns javascript plugin to show how to keep custom URLs intact on links with `.dropdown-toggle` class.
|
||||
- Updated the Kippt screenshot on the homepage to reflect their recent responsive redesign and upgrade to 2.0.2.
|
||||
|
||||
|
||||
## 2.0.2 (March 12, 2012)
|
||||
|
||||
Overview of docs changes, bugfixes, and new features.
|
||||
|
||||
### Documentation updates
|
||||
|
||||
- All docs pages now have distinct titles, such as <em>Scaffolding · Twitter Bootstrap</em>.
|
||||
- Updated the Apple touch icons (now black on black instead of the blue grid) and fixed the links to them in the docs.
|
||||
- Added new global styles docs section to the Scaffolding page.
|
||||
- Required use of HTML5 doctype
|
||||
- Overview of global typographic and links details
|
||||
- Mention of our embedded CSS reset via [Normalize.css](http://necolas.github.com/normalize.css/)
|
||||
- Added version number to the download button on the docs homepage.
|
||||
- Updated progress bars section to simplify how the classes stack and more clearly indicate the available optional classes and styles.
|
||||
- Added a new example, [SoundReady.fm](http://soundready.fm), to the homepage
|
||||
- Added various sizes to the docs for button groups
|
||||
|
||||
### Resolved bugs
|
||||
|
||||
- Removed all IE7 hacks and floats from `.input-prepend` and `.input-append`, however, this requires you to **ensure there is no whitespace in your code** between `.add-on` and the `input`.
|
||||
- In `.input-prepend` and `.input-append`, added ability to use add-ons on both sides when you chain the selectors.
|
||||
- Updated lingering `.btn-dark` reference to `.btn-inverse`.
|
||||
- Fixed issue with content being cut off in `.tab-content` for tabbable sections.
|
||||
- Updated `.navbar .container` to use `width: auto;` to start and then reset the fixed widths via the `#gridSystem` mixin (it's a little dirty, but required to avoid adding another class).
|
||||
- Modal footer buttons are now aligned by their parent via `text-align: right;` instead of `float: right` on the button level. This was changed to allow the use of `.pull-left` and `.pull-right` to align buttons easily. Double check your button order with this change!
|
||||
- Fixed problem where default striped progress bar was green instead of blue.
|
||||
- Fixed CSS selector used for `input` and `textarea` grid sizes to properly apply the CSS (was `input > .span*` and now is `input.span*`).
|
||||
|
||||
### New features
|
||||
|
||||
- Horizontal dividers support added to nav lists
|
||||
- Added basic version of badges
|
||||
- Added visible/hidden classes for devices
|
||||
- Added support for buttons in input-prepend/append component
|
||||
- Added .navbar-fixed-bottom support
|
||||
- Added .dropup support for dropdown menus to pop them upward instead of downward (this is automatically done for the newly added fixed bottom navbar).
|
||||
- Added mixin for [new image replacement technique](http://www.zeldman.com/2012/03/01/replacing-the-9999px-hack-new-image-replacement/)
|
||||
- Added pause on hover for the carousel
|
||||
- Added tons of new variables for typography, buttons, forms, dropdowns, navbar, and more for the LESS pros out there. These variables have also been reflected on the Customize page.
|
||||
- Added new horizontal description list variation
|
||||
- Added `.disabled` class support to the pager component (also added a mention of this to the docs)
|
||||
- Added `.well-large` and `.well-small` classes for extending the well component
|
||||
|
||||
For a full issue-by-issue rundown of the release, check out the now closed [2.0.2 milestone on GitHub](https://github.com/twbs/bootstrap/issues?sort=created&direction=desc&state=closed&page=1&milestone=9)
|
||||
|
||||
## v2.0.1 (February 17, 2012)
|
||||
|
||||
Overview of changes:
|
||||
|
||||
- Previously the docs called for use of `.control-label` in the examples, but the CSS didn't make clear use of it. This class is required for horizontal forms and has been reflected in the CSS.
|
||||
- We've tried our best to improve rendering of buttons and icons across all browsers. Some issues remain; Firefox throws an `!important`on `line-height` for inputs, so that's the big one.
|
||||
- We refined the label component style to move away from uppercase.
|
||||
- Added the black button option, `.btn-inverse`.
|
||||
- Added a mini button class, `.btn-mini`.
|
||||
- We had to re-add the protocol, `http:` to the HTML5 schim because IE7-8 wouldn't recognize it, dropping some HTML5 support for those browsers and introducing major performance issues.
|
||||
- Resolved some issues with responsive layouts where media queries would overlap at 768px and 980px.
|
||||
- Rearranged Scaffolding docs page to split fixed and fluid grid systems.
|
||||
- Tons of docs updates for typos and language changes.
|
||||
|
||||
For full list of changes, see the now closed [v2.0.1 milestone](https://github.com/twbs/bootstrap/issues?milestone=8&state=closed).
|
||||
|
||||
## v2.0.0 (January 28, 2012)
|
||||
Complete rewrite of the library. For full details, head to the upgrading doc at http://twbs.github.com/bootstrap/upgrading.html.
|
||||
|
||||
## v1.4.0
|
||||
### Key bug fixes and changes
|
||||
- **Updated tables** to make no border the default and add options for condensed and bordered versions
|
||||
- **Updated form states** to expand on error styles and provide warning and success variations
|
||||
- New javascript plugin for button states
|
||||
- Switched to strict mode for Javascript plugins
|
||||
- Added more data attribute controls to our plugins
|
||||
- Full list of 25+ issues fixed: https://github.com/twbs/bootstrap/issues?milestone=6&state=closed
|
||||
|
||||
## v1.3.0
|
||||
### New features
|
||||
- **Javascript plugins** for modals, alerts, dropdowns, scrollspy, tabs, tooltips, and popovers that work with jQuery and Ender
|
||||
- **Massively updated docs** for both the main page and for the new javascript plugins
|
||||
- **Inline labels** for marking inline content with key visual flags
|
||||
- Media thumbnails
|
||||
- Breadcrumbs
|
||||
|
||||
### Updated docs
|
||||
- Added complete javascript page with detailed documentation for how to use plugins
|
||||
- Three complete example pages of using Bootstrap, linked from main docs page with thumbnails
|
||||
- Added section for compiling Less, for guidelines on how to recompile Bootstrap with Less
|
||||
- Added section for customizing grid variables in Less to roll your own grid system
|
||||
- Added section for code for using pre and code tags
|
||||
- Added section for form field sizes that match grid column sizes
|
||||
|
||||
### Key bug fixes and changes
|
||||
- Updated table styles to be just a tad bit more refined
|
||||
- Added new form input sizes based on the Bootstrap grid system (meaning now you can do `input.span5` for a 280px-wide input)
|
||||
- Removed `:focus` states from `:active` links in Firefox
|
||||
- Fixed unqualified `.clearfix` in forms.less that added bottom margin to all containers
|
||||
- Updated `.container()` mixing to be `.fixed-container()` to prevent conflicts when compiling
|
||||
- Added focus states (either `box-shadow` or `outline` on `:focus`) to all buttons, links, and inputs
|
||||
- No longer require `h3` in topbar, but still support for backwards compatibility
|
||||
|
||||
## v1.2.0
|
||||
- **Dropdowns refactored** to be extensible (now work in ul.tabs)
|
||||
- **Added HTML5 form support** by generalizing the form selectors (e.g., input instead of input[type=text|password])
|
||||
- **Gradients back in IE**, but removed rounded corners in IE9 to prevent background bleed on buttons and alert messages
|
||||
- **Simplified the grid CSS** by removing the static .span1-16 classes in favor of CSS-style regex for column styles in the grid
|
||||
- **Added .one-third and .two-thirds columns** to the grid system
|
||||
- Fixed bug in disabled buttons where they received :active styles
|
||||
- Bug fixes
|
||||
|
||||
## v1.1.1
|
||||
- **Redesigned alerts** to be more readable
|
||||
- **Refactored buttons and alerts CSS** to be simpler
|
||||
- Updated grid system to be more specific and not require .column or columns
|
||||
- Improved on specificity of CSS selectors by removing unnecessary tag and parent selectors
|
||||
- Miscellaneous updates to docs
|
||||
- Bug fixes
|
||||
|
||||
## v1.1.0
|
||||
- **Added support for IE7 and IE8**
|
||||
- Added examples directory with first example usage of Bootstrap for a simple website
|
||||
- Syntax fixes for gradients and color-stops
|
||||
- Miscellaneous updates to docs
|
||||
- Bug fixes
|
||||
|
||||
## v1.0.0
|
||||
- **Initial release**
|
||||
@@ -0,0 +1,75 @@
|
||||
# Contributing to Bootstrap
|
||||
|
||||
Looking to contribute something to Bootstrap? **Here's how you can help.**
|
||||
|
||||
|
||||
|
||||
## Reporting issues
|
||||
|
||||
We only accept issues that are bug reports or feature requests. Bugs must be isolated and reproducible problems that we can fix within the Bootstrap core. Please read the following guidelines before opening any issue.
|
||||
|
||||
1. **Search for existing issues.** We get a lot of duplicate issues, and you'd help us out a lot by first checking if someone else has reported the same issue. Moreover, the issue may have already been resolved with a fix available.
|
||||
2. **Create an isolated and reproducible test case.** Be sure the problem exists in Bootstrap's code with a [reduced test case](http://css-tricks.com/reduced-test-cases/) that should be included in each bug report.
|
||||
3. **Include a live example.** Make use of jsFiddle or jsBin to share your isolated test cases.
|
||||
4. **Share as much information as possible.** Include operating system and version, browser and version, version of Bootstrap, customized or vanilla build, etc. where appropriate. Also include steps to reproduce the bug.
|
||||
|
||||
|
||||
|
||||
## Key branches
|
||||
|
||||
- `master` is the latest, deployed version.
|
||||
- `gh-pages` is the hosted docs (not to be used for pull requests).
|
||||
- `*-wip` is the official work in progress branch for the next release.
|
||||
|
||||
|
||||
|
||||
## Notes on the repo
|
||||
|
||||
As of v2.0.0, Bootstrap's documentation is powered by Mustache templates and built via `make` before each commit and release. This was done to enable internationalization (translation) in a future release by uploading our strings to the [Twitter Translation Center](http://translate.twttr.com/). Any edits to the docs should be first done in the Mustache files and then recompiled into the HTML.
|
||||
|
||||
|
||||
|
||||
## Pull requests
|
||||
|
||||
- Try to submit pull requests against the latest `*-wip` branch for easier merging
|
||||
- Any changes to the docs must be made to the Mustache templates, not just the compiled HTML pages
|
||||
- CSS changes must be done in .less files first, never just the compiled files
|
||||
- If modifying the .less files, always recompile and commit the compiled files bootstrap.css and bootstrap.min.css
|
||||
- Try not to pollute your pull request with unintended changes--keep them simple and small
|
||||
- Try to share which browsers your code has been tested in before submitting a pull request
|
||||
|
||||
|
||||
|
||||
## Coding standards: HTML
|
||||
|
||||
- Two spaces for indentation, never tabs
|
||||
- Double quotes only, never single quotes
|
||||
- Always use proper indentation
|
||||
- Use tags and elements appropriate for an HTML5 doctype (e.g., self-closing tags)
|
||||
|
||||
|
||||
|
||||
## Coding standards: CSS
|
||||
|
||||
- Adhere to the [Recess CSS property order](http://markdotto.com/2011/11/29/css-property-order/)
|
||||
- Multiple-line approach (one property and value per line)
|
||||
- Always a space after a property's colon (.e.g, `display: block;` and not `display:block;`)
|
||||
- End all lines with a semi-colon
|
||||
- For multiple, comma-separated selectors, place each selector on it's own line
|
||||
- Attribute selectors, like `input[type="text"]` should always wrap the attribute's value in double quotes, for consistency and safety (see this [blog post on unquoted attribute values](http://mathiasbynens.be/notes/unquoted-attribute-values) that can lead to XSS attacks).
|
||||
|
||||
|
||||
|
||||
## Coding standards: JS
|
||||
|
||||
- No semicolons
|
||||
- Comma first
|
||||
- 2 spaces (no tabs)
|
||||
- strict mode
|
||||
- "Attractive"
|
||||
|
||||
|
||||
|
||||
## License
|
||||
|
||||
By contributing your code, you agree to license your contribution under the terms of the APLv2: https://github.com/twbs/bootstrap/blob/master/LICENSE
|
||||
@@ -15,20 +15,20 @@ build:
|
||||
@echo "\n${HR}"
|
||||
@echo "Building Bootstrap..."
|
||||
@echo "${HR}\n"
|
||||
@jshint js/*.js --config js/.jshintrc
|
||||
@jshint js/tests/unit/*.js --config js/.jshintrc
|
||||
@./node_modules/.bin/jshint js/*.js --config js/.jshintrc
|
||||
@./node_modules/.bin/jshint js/tests/unit/*.js --config js/.jshintrc
|
||||
@echo "Running JSHint on javascript... ${CHECK} Done"
|
||||
@recess --compile ${BOOTSTRAP_LESS} > ${BOOTSTRAP}
|
||||
@recess --compile ${BOOTSTRAP_RESPONSIVE_LESS} > ${BOOTSTRAP_RESPONSIVE}
|
||||
@./node_modules/.bin/recess --compile ${BOOTSTRAP_LESS} > ${BOOTSTRAP}
|
||||
@./node_modules/.bin/recess --compile ${BOOTSTRAP_RESPONSIVE_LESS} > ${BOOTSTRAP_RESPONSIVE}
|
||||
@echo "Compiling LESS with Recess... ${CHECK} Done"
|
||||
@node docs/build
|
||||
@cp img/* docs/assets/img/
|
||||
@cp js/*.js docs/assets/js/
|
||||
@cp js/tests/vendor/jquery.js docs/assets/js/
|
||||
@echo "Compiling documentation... ${CHECK} Done"
|
||||
@cat js/bootstrap-transition.js js/bootstrap-alert.js js/bootstrap-button.js js/bootstrap-carousel.js js/bootstrap-collapse.js js/bootstrap-dropdown.js js/bootstrap-modal.js js/bootstrap-tooltip.js js/bootstrap-popover.js js/bootstrap-scrollspy.js js/bootstrap-tab.js js/bootstrap-typeahead.js > docs/assets/js/bootstrap.js
|
||||
@uglifyjs -nc docs/assets/js/bootstrap.js > docs/assets/js/bootstrap.min.tmp.js
|
||||
@echo "/**\n* Bootstrap.js by @fat & @mdo\n* Copyright 2012 Twitter, Inc.\n* http://www.apache.org/licenses/LICENSE-2.0.txt\n*/" > docs/assets/js/copyright.js
|
||||
@cat js/bootstrap-transition.js js/bootstrap-alert.js js/bootstrap-button.js js/bootstrap-carousel.js js/bootstrap-collapse.js js/bootstrap-dropdown.js js/bootstrap-modal.js js/bootstrap-tooltip.js js/bootstrap-popover.js js/bootstrap-scrollspy.js js/bootstrap-tab.js js/bootstrap-typeahead.js js/bootstrap-affix.js > docs/assets/js/bootstrap.js
|
||||
@./node_modules/.bin/uglifyjs -nc docs/assets/js/bootstrap.js > docs/assets/js/bootstrap.min.tmp.js
|
||||
@echo "/**\n* Bootstrap.js v2.3.2 by @fat & @mdo\n* Copyright 2013 Twitter, Inc.\n* http://www.apache.org/licenses/LICENSE-2.0.txt\n*/" > docs/assets/js/copyright.js
|
||||
@cat docs/assets/js/copyright.js docs/assets/js/bootstrap.min.tmp.js > docs/assets/js/bootstrap.min.js
|
||||
@rm docs/assets/js/copyright.js docs/assets/js/bootstrap.min.tmp.js
|
||||
@echo "Compiling and minifying javascript... ${CHECK} Done"
|
||||
@@ -43,33 +43,65 @@ build:
|
||||
#
|
||||
|
||||
test:
|
||||
jshint js/*.js --config js/.jshintrc
|
||||
jshint js/tests/unit/*.js --config js/.jshintrc
|
||||
./node_modules/.bin/jshint js/*.js --config js/.jshintrc
|
||||
./node_modules/.bin/jshint js/tests/unit/*.js --config js/.jshintrc
|
||||
node js/tests/server.js &
|
||||
phantomjs js/tests/phantom.js "http://localhost:3000/js/tests"
|
||||
kill -9 `cat js/tests/pid.txt`
|
||||
rm js/tests/pid.txt
|
||||
|
||||
#
|
||||
# CLEANS THE ROOT DIRECTORY OF PRIOR BUILDS
|
||||
#
|
||||
|
||||
clean:
|
||||
rm -r bootstrap
|
||||
|
||||
#
|
||||
# BUILD SIMPLE BOOTSTRAP DIRECTORY
|
||||
# recess & uglifyjs are required
|
||||
#
|
||||
|
||||
bootstrap:
|
||||
mkdir -p bootstrap/img
|
||||
mkdir -p bootstrap/css
|
||||
bootstrap: bootstrap-img bootstrap-css bootstrap-js
|
||||
|
||||
|
||||
#
|
||||
# JS COMPILE
|
||||
#
|
||||
bootstrap-js: bootstrap/js/*.js
|
||||
|
||||
bootstrap/js/*.js: js/*.js
|
||||
mkdir -p bootstrap/js
|
||||
cp img/* bootstrap/img/
|
||||
recess --compile ${BOOTSTRAP_LESS} > bootstrap/css/bootstrap.css
|
||||
recess --compress ${BOOTSTRAP_LESS} > bootstrap/css/bootstrap.min.css
|
||||
recess --compile ${BOOTSTRAP_RESPONSIVE_LESS} > bootstrap/css/bootstrap-responsive.css
|
||||
recess --compress ${BOOTSTRAP_RESPONSIVE_LESS} > bootstrap/css/bootstrap-responsive.min.css
|
||||
cat js/bootstrap-transition.js js/bootstrap-alert.js js/bootstrap-button.js js/bootstrap-carousel.js js/bootstrap-collapse.js js/bootstrap-dropdown.js js/bootstrap-modal.js js/bootstrap-tooltip.js js/bootstrap-popover.js js/bootstrap-scrollspy.js js/bootstrap-tab.js js/bootstrap-typeahead.js > bootstrap/js/bootstrap.js
|
||||
uglifyjs -nc bootstrap/js/bootstrap.js > bootstrap/js/bootstrap.min.tmp.js
|
||||
echo "/*!\n* Bootstrap.js by @fat & @mdo\n* Copyright 2012 Twitter, Inc.\n* http://www.apache.org/licenses/LICENSE-2.0.txt\n*/" > bootstrap/js/copyright.js
|
||||
cat js/bootstrap-transition.js js/bootstrap-alert.js js/bootstrap-button.js js/bootstrap-carousel.js js/bootstrap-collapse.js js/bootstrap-dropdown.js js/bootstrap-modal.js js/bootstrap-tooltip.js js/bootstrap-popover.js js/bootstrap-scrollspy.js js/bootstrap-tab.js js/bootstrap-typeahead.js js/bootstrap-affix.js > bootstrap/js/bootstrap.js
|
||||
./node_modules/.bin/uglifyjs -nc bootstrap/js/bootstrap.js > bootstrap/js/bootstrap.min.tmp.js
|
||||
echo "/*!\n* Bootstrap.js by @fat & @mdo\n* Copyright 2013 Twitter, Inc.\n* http://www.apache.org/licenses/LICENSE-2.0.txt\n*/" > bootstrap/js/copyright.js
|
||||
cat bootstrap/js/copyright.js bootstrap/js/bootstrap.min.tmp.js > bootstrap/js/bootstrap.min.js
|
||||
rm bootstrap/js/copyright.js bootstrap/js/bootstrap.min.tmp.js
|
||||
|
||||
#
|
||||
# CSS COMPLILE
|
||||
#
|
||||
|
||||
bootstrap-css: bootstrap/css/*.css
|
||||
|
||||
bootstrap/css/*.css: less/*.less
|
||||
mkdir -p bootstrap/css
|
||||
./node_modules/.bin/recess --compile ${BOOTSTRAP_LESS} > bootstrap/css/bootstrap.css
|
||||
./node_modules/.bin/recess --compress ${BOOTSTRAP_LESS} > bootstrap/css/bootstrap.min.css
|
||||
./node_modules/.bin/recess --compile ${BOOTSTRAP_RESPONSIVE_LESS} > bootstrap/css/bootstrap-responsive.css
|
||||
./node_modules/.bin/recess --compress ${BOOTSTRAP_RESPONSIVE_LESS} > bootstrap/css/bootstrap-responsive.min.css
|
||||
|
||||
#
|
||||
# IMAGES
|
||||
#
|
||||
|
||||
bootstrap-img: bootstrap/img/*
|
||||
|
||||
bootstrap/img/*: img/*
|
||||
mkdir -p bootstrap/img
|
||||
cp img/* bootstrap/img/
|
||||
|
||||
|
||||
#
|
||||
# MAKE FOR GH-PAGES 4 FAT & MDO ONLY (O_O )
|
||||
#
|
||||
@@ -91,4 +123,4 @@ watch:
|
||||
watchr -e "watch('less/.*\.less') { system 'make' }"
|
||||
|
||||
|
||||
.PHONY: docs watch gh-pages
|
||||
.PHONY: docs watch gh-pages bootstrap-img bootstrap-css bootstrap-js
|
||||
@@ -1,25 +1,26 @@
|
||||
[Twitter Bootstrap](http://twitter.github.com/bootstrap) [](http://travis-ci.org/twitter/bootstrap)
|
||||
=================
|
||||
# [Bootstrap v2.3.2](http://twbs.github.com/bootstrap) [](http://travis-ci.org/twbs/bootstrap)
|
||||
|
||||
Bootstrap provides simple and flexible HTML, CSS, and Javascript for popular user interface components and interactions. In other words, it's a front-end toolkit for faster, more beautiful web development. It's created and maintained by [Mark Otto](http://twitter.com/mdo) and [Jacob Thornton](http://twitter.com/fat) at Twitter.
|
||||
Bootstrap is a sleek, intuitive, and powerful front-end framework for faster and easier web development, created and maintained by [Mark Otto](http://twitter.com/mdo) and [Jacob Thornton](http://twitter.com/fat).
|
||||
|
||||
To get started, checkout http://twitter.github.com/bootstrap!
|
||||
To get started, checkout [http://getbootstrap.com](http://getbootstrap.com)!
|
||||
|
||||
|
||||
|
||||
Quick start
|
||||
-----------
|
||||
## Quick start
|
||||
|
||||
Clone the repo, `git clone git@github.com:twitter/bootstrap.git`, or [download the latest release](https://github.com/twitter/bootstrap/zipball/master).
|
||||
Three quick start options are available:
|
||||
|
||||
* [Download the latest release](https://github.com/twbs/bootstrap/zipball/master).
|
||||
* Clone the repo: `git clone git://github.com/twbs/bootstrap.git`.
|
||||
* Install with Twitter's [Bower](http://bower.io): `bower install bootstrap`.
|
||||
|
||||
|
||||
|
||||
Versioning
|
||||
----------
|
||||
## Versioning
|
||||
|
||||
For transparency and insight into our release cycle, and for striving to maintain backward compatibility, Bootstrap will be maintained under the Semantic Versioning guidelines as much as possible.
|
||||
|
||||
Releases will be numbered with the follow format:
|
||||
Releases will be numbered with the following format:
|
||||
|
||||
`<major>.<minor>.<patch>`
|
||||
|
||||
@@ -29,98 +30,73 @@ And constructed with the following guidelines:
|
||||
* New additions without breaking backward compatibility bumps the minor (and resets the patch)
|
||||
* Bug fixes and misc changes bumps the patch
|
||||
|
||||
For more information on SemVer, please visit http://semver.org/.
|
||||
For more information on SemVer, please visit [http://semver.org/](http://semver.org/).
|
||||
|
||||
|
||||
|
||||
Bug tracker
|
||||
-----------
|
||||
## Bug tracker
|
||||
|
||||
Have a bug? Please create an issue here on GitHub! Also, when filing please make sure you're familiar with [necolas's guidelines](https://github.com/necolas/issue-guidelines). thanks! <3
|
||||
|
||||
https://github.com/twitter/bootstrap/issues
|
||||
Have a bug or a feature request? [Please open a new issue](https://github.com/twbs/bootstrap/issues). Before opening any issue, please search for existing issues and read the [Issue Guidelines](https://github.com/necolas/issue-guidelines), written by [Nicolas Gallagher](https://github.com/necolas/).
|
||||
|
||||
|
||||
|
||||
Twitter account
|
||||
---------------
|
||||
## Community
|
||||
|
||||
Keep up to date on announcements and more by following Bootstrap on Twitter, [@TwBootstrap](http://twitter.com/TwBootstrap).
|
||||
Keep track of development and community news.
|
||||
|
||||
* Follow [@twbootstrap on Twitter](http://twitter.com/twbootstrap).
|
||||
* Read and subscribe to the [The Official Twitter Bootstrap Blog](http://blog.getbootstrap.com).
|
||||
* Have a question that's not a feature request or bug report? [Ask on the mailing list.](http://groups.google.com/group/twitter-bootstrap)
|
||||
* Chat with fellow Bootstrappers in IRC. On the `irc.freenode.net` server, in the `##twitter-bootstrap` channel.
|
||||
|
||||
|
||||
|
||||
Blog
|
||||
----
|
||||
## Compiling CSS and JavaScript
|
||||
|
||||
Read more detailed announcements, discussions, and more on [The Official Twitter Bootstrap Blog](http://blog.getbootstrap.com).
|
||||
|
||||
|
||||
|
||||
Mailing list
|
||||
------------
|
||||
|
||||
Have a question? Ask on our mailing list!
|
||||
|
||||
twitter-bootstrap@googlegroups.com
|
||||
|
||||
http://groups.google.com/group/twitter-bootstrap
|
||||
|
||||
|
||||
|
||||
IRC
|
||||
---
|
||||
|
||||
Server: irc.freenode.net
|
||||
|
||||
Channel: ##twitter-bootstrap (the double ## is not a typo)
|
||||
|
||||
|
||||
|
||||
Developers
|
||||
----------
|
||||
|
||||
We have included a makefile with convenience methods for working with the Bootstrap library.
|
||||
|
||||
+ **dependencies**
|
||||
Our makefile depends on you having recess, uglify.js, and jshint installed. To install, just run the following command in npm:
|
||||
Bootstrap includes a [makefile](Makefile) with convenient methods for working with the framework. Before getting started, be sure to install [the necessary local dependencies](package.json):
|
||||
|
||||
```
|
||||
$ npm install recess uglify-js jshint -g
|
||||
$ npm install
|
||||
```
|
||||
|
||||
+ **build** - `make`
|
||||
Runs the recess compiler to rebuild the `/less` files and compiles the docs pages. Requires recess and uglify-js. <a href="http://twitter.github.com/bootstrap/less.html#compiling">Read more in our docs »</a>
|
||||
When completed, you'll be able to run the various make commands provided:
|
||||
|
||||
+ **test** - `make test`
|
||||
Runs jshint and qunit tests headlessly in phantom js (used for ci). Depends on having phatomjs installed.
|
||||
#### build - `make`
|
||||
Runs the recess compiler to rebuild the `/less` files and compiles the docs. Requires recess and uglify-js.
|
||||
|
||||
+ **watch** - `make watch`
|
||||
#### test - `make test`
|
||||
Runs jshint and qunit tests headlessly in [phantomjs](http://code.google.com/p/phantomjs/) (used for ci). Depends on having phantomjs installed.
|
||||
|
||||
#### watch - `make watch`
|
||||
This is a convenience method for watching just Less files and automatically building them whenever you save. Requires the Watchr gem.
|
||||
|
||||
|
||||
Contributing
|
||||
------------
|
||||
|
||||
Please make all pull requests against wip-* branches. Also, if your unit test contains javascript patches or features - you must include relevant unit tests. Thanks!
|
||||
Should you encounter problems with installing dependencies or running the makefile commands, be sure to first uninstall any previous versions (global and local) you may have installed, and then rerun `npm install`.
|
||||
|
||||
|
||||
Authors
|
||||
-------
|
||||
|
||||
## Contributing
|
||||
|
||||
Please submit all pull requests against *-wip branches. If your pull request contains JavaScript patches or features, you must include relevant unit tests. All HTML and CSS should conform to the [Code Guide](http://github.com/mdo/code-guide), maintained by [Mark Otto](http://github.com/mdo).
|
||||
|
||||
Thanks!
|
||||
|
||||
|
||||
|
||||
## Authors
|
||||
|
||||
**Mark Otto**
|
||||
|
||||
+ http://twitter.com/mdo
|
||||
+ http://github.com/markdotto
|
||||
+ [http://twitter.com/mdo](http://twitter.com/mdo)
|
||||
+ [http://github.com/mdo](http://github.com/mdo)
|
||||
|
||||
**Jacob Thornton**
|
||||
|
||||
+ http://twitter.com/fat
|
||||
+ http://github.com/fat
|
||||
+ [http://twitter.com/fat](http://twitter.com/fat)
|
||||
+ [http://github.com/fat](http://github.com/fat)
|
||||
|
||||
|
||||
|
||||
Copyright and license
|
||||
---------------------
|
||||
## Copyright and license
|
||||
|
||||
Copyright 2012 Twitter, Inc.
|
||||
|
||||
@@ -128,7 +104,7 @@ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this work except in compliance with the License.
|
||||
You may obtain a copy of the License in the LICENSE file, or at:
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
[http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"name": "bootstrap",
|
||||
"version": "2.3.2",
|
||||
"main": ["./docs/assets/js/bootstrap.js", "./docs/assets/css/bootstrap.css"],
|
||||
"dependencies": {
|
||||
"jquery": ">=1.8.0 <2.1.0"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"name": "twbs/bootstrap"
|
||||
, "description": "Sleek, intuitive, and powerful front-end framework for faster and easier web development."
|
||||
, "keywords": ["bootstrap", "css"]
|
||||
, "homepage": "http://twbs.github.com/bootstrap/"
|
||||
, "author": "Twitter Inc."
|
||||
, "license": "Apache-2.0"
|
||||
|
||||
}
|
||||
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 128 KiB After Width: | Height: | Size: 122 KiB |
|
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 79 KiB |
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 6.3 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 61 KiB |
|
After Width: | Height: | Size: 133 KiB |
|
After Width: | Height: | Size: 71 KiB |
|
After Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 47 KiB |
|
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 332 KiB |
|
Before Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 204 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 133 KiB |
|
After Width: | Height: | Size: 115 KiB |
|
After Width: | Height: | Size: 131 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 7.0 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 172 KiB |
|
After Width: | Height: | Size: 205 KiB |
|
After Width: | Height: | Size: 81 KiB |
|
After Width: | Height: | Size: 134 KiB |
|
After Width: | Height: | Size: 134 KiB |
|
Before Width: | Height: | Size: 398 B |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 316 B |
|
Before Width: | Height: | Size: 305 B |
|
Before Width: | Height: | Size: 213 B |
|
Before Width: | Height: | Size: 345 B |
|
Before Width: | Height: | Size: 117 B |
|
Before Width: | Height: | Size: 172 B |
|
Before Width: | Height: | Size: 301 B |
|
Before Width: | Height: | Size: 292 B |
|
Before Width: | Height: | Size: 405 B |
|
After Width: | Height: | Size: 84 B |
|
Before Width: | Height: | Size: 370 B |
|
Before Width: | Height: | Size: 312 B |
|
Before Width: | Height: | Size: 452 B |
|
Before Width: | Height: | Size: 264 B |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1008 B |
@@ -17,7 +17,7 @@ To target a specific plugin, just include the plugins name as a namespace along
|
||||
|
||||
---
|
||||
|
||||
### PROGRAMATIC API
|
||||
### PROGRAMMATIC API
|
||||
|
||||
We also believe you should be able to use all plugins provided by Bootstrap purely through the JS API.
|
||||
|
||||
|
||||
@@ -6,11 +6,23 @@
|
||||
|
||||
$(function(){
|
||||
|
||||
var $window = $(window)
|
||||
|
||||
// Disable certain links in docs
|
||||
$('section [href^=#]').click(function (e) {
|
||||
e.preventDefault()
|
||||
})
|
||||
|
||||
// side bar
|
||||
setTimeout(function () {
|
||||
$('.bs-docs-sidenav').affix({
|
||||
offset: {
|
||||
top: function () { return $window.width() <= 980 ? 290 : 210 }
|
||||
, bottom: 270
|
||||
}
|
||||
})
|
||||
}, 100)
|
||||
|
||||
// make code pretty
|
||||
window.prettyPrint && prettyPrint()
|
||||
|
||||
@@ -21,64 +33,24 @@
|
||||
$(this).parents('.add-on')[method]('active')
|
||||
})
|
||||
|
||||
// position static twipsies for components page
|
||||
if ($(".twipsies a").length) {
|
||||
$(window).on('load resize', function () {
|
||||
$(".twipsies a").each(function () {
|
||||
$(this)
|
||||
.tooltip({
|
||||
placement: $(this).attr('title')
|
||||
, trigger: 'manual'
|
||||
})
|
||||
.tooltip('show')
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
// add tipsies to grid for scaffolding
|
||||
if ($('#grid-system').length) {
|
||||
$('#grid-system').tooltip({
|
||||
selector: '.show-grid > div'
|
||||
if ($('#gridSystem').length) {
|
||||
$('#gridSystem').tooltip({
|
||||
selector: '.show-grid > [class*="span"]'
|
||||
, title: function () { return $(this).width() + 'px' }
|
||||
})
|
||||
}
|
||||
|
||||
// fix sub nav on scroll
|
||||
var $win = $(window)
|
||||
, $nav = $('.subnav')
|
||||
, navTop = $('.subnav').length && $('.subnav').offset().top - 40
|
||||
, isFixed = 0
|
||||
|
||||
processScroll()
|
||||
|
||||
// hack sad times - holdover until rewrite for 2.1
|
||||
$nav.on('click', function () {
|
||||
if (!isFixed) setTimeout(function () { $win.scrollTop($win.scrollTop() - 47) }, 10)
|
||||
})
|
||||
|
||||
$win.on('scroll', processScroll)
|
||||
|
||||
function processScroll() {
|
||||
var i, scrollTop = $win.scrollTop()
|
||||
if (scrollTop >= navTop && !isFixed) {
|
||||
isFixed = 1
|
||||
$nav.addClass('subnav-fixed')
|
||||
} else if (scrollTop <= navTop && isFixed) {
|
||||
isFixed = 0
|
||||
$nav.removeClass('subnav-fixed')
|
||||
}
|
||||
}
|
||||
|
||||
// tooltip demo
|
||||
$('.tooltip-demo.well').tooltip({
|
||||
selector: "a[rel=tooltip]"
|
||||
$('.tooltip-demo').tooltip({
|
||||
selector: "a[data-toggle=tooltip]"
|
||||
})
|
||||
|
||||
$('.tooltip-test').tooltip()
|
||||
$('.popover-test').popover()
|
||||
|
||||
// popover demo
|
||||
$("a[rel=popover]")
|
||||
$("a[data-toggle=popover]")
|
||||
.popover()
|
||||
.click(function(e) {
|
||||
e.preventDefault()
|
||||
@@ -119,7 +91,7 @@
|
||||
})
|
||||
|
||||
// request built javascript
|
||||
$('.download-btn').on('click', function () {
|
||||
$('.download-btn .btn').on('click', function () {
|
||||
|
||||
var css = $("#components.download input:checked")
|
||||
.map(function () { return this.value })
|
||||
@@ -181,4 +153,4 @@ $.ajaxTransport('jsonpi', function(opts, originalOptions, jqXHR) {
|
||||
}
|
||||
})
|
||||
|
||||
}(window.jQuery)
|
||||
}(window.jQuery)
|
||||
|
||||
@@ -0,0 +1,117 @@
|
||||
/* ==========================================================
|
||||
* bootstrap-affix.js v2.3.2
|
||||
* http://twbs.github.com/bootstrap/javascript.html#affix
|
||||
* ==========================================================
|
||||
* Copyright 2013 Twitter, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* ========================================================== */
|
||||
|
||||
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* AFFIX CLASS DEFINITION
|
||||
* ====================== */
|
||||
|
||||
var Affix = function (element, options) {
|
||||
this.options = $.extend({}, $.fn.affix.defaults, options)
|
||||
this.$window = $(window)
|
||||
.on('scroll.affix.data-api', $.proxy(this.checkPosition, this))
|
||||
.on('click.affix.data-api', $.proxy(function () { setTimeout($.proxy(this.checkPosition, this), 1) }, this))
|
||||
this.$element = $(element)
|
||||
this.checkPosition()
|
||||
}
|
||||
|
||||
Affix.prototype.checkPosition = function () {
|
||||
if (!this.$element.is(':visible')) return
|
||||
|
||||
var scrollHeight = $(document).height()
|
||||
, scrollTop = this.$window.scrollTop()
|
||||
, position = this.$element.offset()
|
||||
, offset = this.options.offset
|
||||
, offsetBottom = offset.bottom
|
||||
, offsetTop = offset.top
|
||||
, reset = 'affix affix-top affix-bottom'
|
||||
, affix
|
||||
|
||||
if (typeof offset != 'object') offsetBottom = offsetTop = offset
|
||||
if (typeof offsetTop == 'function') offsetTop = offset.top()
|
||||
if (typeof offsetBottom == 'function') offsetBottom = offset.bottom()
|
||||
|
||||
affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ?
|
||||
false : offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ?
|
||||
'bottom' : offsetTop != null && scrollTop <= offsetTop ?
|
||||
'top' : false
|
||||
|
||||
if (this.affixed === affix) return
|
||||
|
||||
this.affixed = affix
|
||||
this.unpin = affix == 'bottom' ? position.top - scrollTop : null
|
||||
|
||||
this.$element.removeClass(reset).addClass('affix' + (affix ? '-' + affix : ''))
|
||||
}
|
||||
|
||||
|
||||
/* AFFIX PLUGIN DEFINITION
|
||||
* ======================= */
|
||||
|
||||
var old = $.fn.affix
|
||||
|
||||
$.fn.affix = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('affix')
|
||||
, options = typeof option == 'object' && option
|
||||
if (!data) $this.data('affix', (data = new Affix(this, options)))
|
||||
if (typeof option == 'string') data[option]()
|
||||
})
|
||||
}
|
||||
|
||||
$.fn.affix.Constructor = Affix
|
||||
|
||||
$.fn.affix.defaults = {
|
||||
offset: 0
|
||||
}
|
||||
|
||||
|
||||
/* AFFIX NO CONFLICT
|
||||
* ================= */
|
||||
|
||||
$.fn.affix.noConflict = function () {
|
||||
$.fn.affix = old
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
/* AFFIX DATA-API
|
||||
* ============== */
|
||||
|
||||
$(window).on('load', function () {
|
||||
$('[data-spy="affix"]').each(function () {
|
||||
var $spy = $(this)
|
||||
, data = $spy.data()
|
||||
|
||||
data.offset = data.offset || {}
|
||||
|
||||
data.offsetBottom && (data.offset.bottom = data.offsetBottom)
|
||||
data.offsetTop && (data.offset.top = data.offsetTop)
|
||||
|
||||
$spy.affix(data)
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
}(window.jQuery);
|
||||
@@ -1,8 +1,8 @@
|
||||
/* ==========================================================
|
||||
* bootstrap-alert.js v2.0.4
|
||||
* http://twitter.github.com/bootstrap/javascript.html#alerts
|
||||
* bootstrap-alert.js v2.3.2
|
||||
* http://twbs.github.com/bootstrap/javascript.html#alerts
|
||||
* ==========================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
* Copyright 2013 Twitter, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -68,6 +68,8 @@
|
||||
/* ALERT PLUGIN DEFINITION
|
||||
* ======================= */
|
||||
|
||||
var old = $.fn.alert
|
||||
|
||||
$.fn.alert = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
@@ -80,11 +82,18 @@
|
||||
$.fn.alert.Constructor = Alert
|
||||
|
||||
|
||||
/* ALERT NO CONFLICT
|
||||
* ================= */
|
||||
|
||||
$.fn.alert.noConflict = function () {
|
||||
$.fn.alert = old
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
/* ALERT DATA-API
|
||||
* ============== */
|
||||
|
||||
$(function () {
|
||||
$('body').on('click.alert.data-api', dismiss, Alert.prototype.close)
|
||||
})
|
||||
$(document).on('click.alert.data-api', dismiss, Alert.prototype.close)
|
||||
|
||||
}(window.jQuery);
|
||||
@@ -1,8 +1,8 @@
|
||||
/* ============================================================
|
||||
* bootstrap-button.js v2.0.4
|
||||
* http://twitter.github.com/bootstrap/javascript.html#buttons
|
||||
* bootstrap-button.js v2.3.2
|
||||
* http://twbs.github.com/bootstrap/javascript.html#buttons
|
||||
* ============================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
* Copyright 2013 Twitter, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -51,7 +51,7 @@
|
||||
}
|
||||
|
||||
Button.prototype.toggle = function () {
|
||||
var $parent = this.$element.parent('[data-toggle="buttons-radio"]')
|
||||
var $parent = this.$element.closest('[data-toggle="buttons-radio"]')
|
||||
|
||||
$parent && $parent
|
||||
.find('.active')
|
||||
@@ -64,6 +64,8 @@
|
||||
/* BUTTON PLUGIN DEFINITION
|
||||
* ======================== */
|
||||
|
||||
var old = $.fn.button
|
||||
|
||||
$.fn.button = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
@@ -82,15 +84,22 @@
|
||||
$.fn.button.Constructor = Button
|
||||
|
||||
|
||||
/* BUTTON NO CONFLICT
|
||||
* ================== */
|
||||
|
||||
$.fn.button.noConflict = function () {
|
||||
$.fn.button = old
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
/* BUTTON DATA-API
|
||||
* =============== */
|
||||
|
||||
$(function () {
|
||||
$('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) {
|
||||
var $btn = $(e.target)
|
||||
if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
|
||||
$btn.button('toggle')
|
||||
})
|
||||
$(document).on('click.button.data-api', '[data-toggle^=button]', function (e) {
|
||||
var $btn = $(e.target)
|
||||
if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
|
||||
$btn.button('toggle')
|
||||
})
|
||||
|
||||
}(window.jQuery);
|
||||
@@ -1,8 +1,8 @@
|
||||
/* ==========================================================
|
||||
* bootstrap-carousel.js v2.0.4
|
||||
* http://twitter.github.com/bootstrap/javascript.html#carousel
|
||||
* bootstrap-carousel.js v2.3.2
|
||||
* http://twbs.github.com/bootstrap/javascript.html#carousel
|
||||
* ==========================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
* Copyright 2013 Twitter, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -28,8 +28,8 @@
|
||||
|
||||
var Carousel = function (element, options) {
|
||||
this.$element = $(element)
|
||||
this.$indicators = this.$element.find('.carousel-indicators')
|
||||
this.options = options
|
||||
this.options.slide && this.slide(this.options.slide)
|
||||
this.options.pause == 'hover' && this.$element
|
||||
.on('mouseenter', $.proxy(this.pause, this))
|
||||
.on('mouseleave', $.proxy(this.cycle, this))
|
||||
@@ -39,19 +39,24 @@
|
||||
|
||||
cycle: function (e) {
|
||||
if (!e) this.paused = false
|
||||
if (this.interval) clearInterval(this.interval);
|
||||
this.options.interval
|
||||
&& !this.paused
|
||||
&& (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
|
||||
return this
|
||||
}
|
||||
|
||||
, getActiveIndex: function () {
|
||||
this.$active = this.$element.find('.item.active')
|
||||
this.$items = this.$active.parent().children()
|
||||
return this.$items.index(this.$active)
|
||||
}
|
||||
|
||||
, to: function (pos) {
|
||||
var $active = this.$element.find('.active')
|
||||
, children = $active.parent().children()
|
||||
, activePos = children.index($active)
|
||||
var activeIndex = this.getActiveIndex()
|
||||
, that = this
|
||||
|
||||
if (pos > (children.length - 1) || pos < 0) return
|
||||
if (pos > (this.$items.length - 1) || pos < 0) return
|
||||
|
||||
if (this.sliding) {
|
||||
return this.$element.one('slid', function () {
|
||||
@@ -59,15 +64,19 @@
|
||||
})
|
||||
}
|
||||
|
||||
if (activePos == pos) {
|
||||
if (activeIndex == pos) {
|
||||
return this.pause().cycle()
|
||||
}
|
||||
|
||||
return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos]))
|
||||
return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos]))
|
||||
}
|
||||
|
||||
, pause: function (e) {
|
||||
if (!e) this.paused = true
|
||||
if (this.$element.find('.next, .prev').length && $.support.transition.end) {
|
||||
this.$element.trigger($.support.transition.end)
|
||||
this.cycle(true)
|
||||
}
|
||||
clearInterval(this.interval)
|
||||
this.interval = null
|
||||
return this
|
||||
@@ -84,13 +93,13 @@
|
||||
}
|
||||
|
||||
, slide: function (type, next) {
|
||||
var $active = this.$element.find('.active')
|
||||
var $active = this.$element.find('.item.active')
|
||||
, $next = next || $active[type]()
|
||||
, isCycling = this.interval
|
||||
, direction = type == 'next' ? 'left' : 'right'
|
||||
, fallback = type == 'next' ? 'first' : 'last'
|
||||
, that = this
|
||||
, e = $.Event('slide')
|
||||
, e
|
||||
|
||||
this.sliding = true
|
||||
|
||||
@@ -98,8 +107,21 @@
|
||||
|
||||
$next = $next.length ? $next : this.$element.find('.item')[fallback]()
|
||||
|
||||
e = $.Event('slide', {
|
||||
relatedTarget: $next[0]
|
||||
, direction: direction
|
||||
})
|
||||
|
||||
if ($next.hasClass('active')) return
|
||||
|
||||
if (this.$indicators.length) {
|
||||
this.$indicators.find('.active').removeClass('active')
|
||||
this.$element.one('slid', function () {
|
||||
var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()])
|
||||
$nextIndicator && $nextIndicator.addClass('active')
|
||||
})
|
||||
}
|
||||
|
||||
if ($.support.transition && this.$element.hasClass('slide')) {
|
||||
this.$element.trigger(e)
|
||||
if (e.isDefaultPrevented()) return
|
||||
@@ -133,15 +155,18 @@
|
||||
/* CAROUSEL PLUGIN DEFINITION
|
||||
* ========================== */
|
||||
|
||||
var old = $.fn.carousel
|
||||
|
||||
$.fn.carousel = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('carousel')
|
||||
, options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option)
|
||||
, action = typeof option == 'string' ? option : options.slide
|
||||
if (!data) $this.data('carousel', (data = new Carousel(this, options)))
|
||||
if (typeof option == 'number') data.to(option)
|
||||
else if (typeof option == 'string' || (option = options.slide)) data[option]()
|
||||
else if (options.interval) data.cycle()
|
||||
else if (action) data[action]()
|
||||
else if (options.interval) data.pause().cycle()
|
||||
})
|
||||
}
|
||||
|
||||
@@ -153,17 +178,30 @@
|
||||
$.fn.carousel.Constructor = Carousel
|
||||
|
||||
|
||||
/* CAROUSEL NO CONFLICT
|
||||
* ==================== */
|
||||
|
||||
$.fn.carousel.noConflict = function () {
|
||||
$.fn.carousel = old
|
||||
return this
|
||||
}
|
||||
|
||||
/* CAROUSEL DATA-API
|
||||
* ================= */
|
||||
|
||||
$(function () {
|
||||
$('body').on('click.carousel.data-api', '[data-slide]', function ( e ) {
|
||||
var $this = $(this), href
|
||||
, $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
|
||||
, options = !$target.data('modal') && $.extend({}, $target.data(), $this.data())
|
||||
$target.carousel(options)
|
||||
e.preventDefault()
|
||||
})
|
||||
$(document).on('click.carousel.data-api', '[data-slide], [data-slide-to]', function (e) {
|
||||
var $this = $(this), href
|
||||
, $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
|
||||
, options = $.extend({}, $target.data(), $this.data())
|
||||
, slideIndex
|
||||
|
||||
$target.carousel(options)
|
||||
|
||||
if (slideIndex = $this.attr('data-slide-to')) {
|
||||
$target.data('carousel').pause().to(slideIndex).cycle()
|
||||
}
|
||||
|
||||
e.preventDefault()
|
||||
})
|
||||
|
||||
}(window.jQuery);
|
||||
@@ -1,8 +1,8 @@
|
||||
/* =============================================================
|
||||
* bootstrap-collapse.js v2.0.4
|
||||
* http://twitter.github.com/bootstrap/javascript.html#collapse
|
||||
* bootstrap-collapse.js v2.3.2
|
||||
* http://twbs.github.com/bootstrap/javascript.html#collapse
|
||||
* =============================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
* Copyright 2013 Twitter, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -52,7 +52,7 @@
|
||||
, actives
|
||||
, hasData
|
||||
|
||||
if (this.transitioning) return
|
||||
if (this.transitioning || this.$element.hasClass('in')) return
|
||||
|
||||
dimension = this.dimension()
|
||||
scroll = $.camelCase(['scroll', dimension].join('-'))
|
||||
@@ -67,12 +67,12 @@
|
||||
|
||||
this.$element[dimension](0)
|
||||
this.transition('addClass', $.Event('show'), 'shown')
|
||||
this.$element[dimension](this.$element[0][scroll])
|
||||
$.support.transition && this.$element[dimension](this.$element[0][scroll])
|
||||
}
|
||||
|
||||
, hide: function () {
|
||||
var dimension
|
||||
if (this.transitioning) return
|
||||
if (this.transitioning || !this.$element.hasClass('in')) return
|
||||
dimension = this.dimension()
|
||||
this.reset(this.$element[dimension]())
|
||||
this.transition('removeClass', $.Event('hide'), 'hidden')
|
||||
@@ -120,14 +120,16 @@
|
||||
}
|
||||
|
||||
|
||||
/* COLLAPSIBLE PLUGIN DEFINITION
|
||||
* ============================== */
|
||||
/* COLLAPSE PLUGIN DEFINITION
|
||||
* ========================== */
|
||||
|
||||
var old = $.fn.collapse
|
||||
|
||||
$.fn.collapse = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('collapse')
|
||||
, options = typeof option == 'object' && option
|
||||
, options = $.extend({}, $.fn.collapse.defaults, $this.data(), typeof option == 'object' && option)
|
||||
if (!data) $this.data('collapse', (data = new Collapse(this, options)))
|
||||
if (typeof option == 'string') data[option]()
|
||||
})
|
||||
@@ -140,18 +142,26 @@
|
||||
$.fn.collapse.Constructor = Collapse
|
||||
|
||||
|
||||
/* COLLAPSIBLE DATA-API
|
||||
/* COLLAPSE NO CONFLICT
|
||||
* ==================== */
|
||||
|
||||
$(function () {
|
||||
$('body').on('click.collapse.data-api', '[data-toggle=collapse]', function ( e ) {
|
||||
var $this = $(this), href
|
||||
, target = $this.attr('data-target')
|
||||
|| e.preventDefault()
|
||||
|| (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
|
||||
, option = $(target).data('collapse') ? 'toggle' : $this.data()
|
||||
$(target).collapse(option)
|
||||
})
|
||||
$.fn.collapse.noConflict = function () {
|
||||
$.fn.collapse = old
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
/* COLLAPSE DATA-API
|
||||
* ================= */
|
||||
|
||||
$(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) {
|
||||
var $this = $(this), href
|
||||
, target = $this.attr('data-target')
|
||||
|| e.preventDefault()
|
||||
|| (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
|
||||
, option = $(target).data('collapse') ? 'toggle' : $this.data()
|
||||
$this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
|
||||
$(target).collapse(option)
|
||||
})
|
||||
|
||||
}(window.jQuery);
|
||||
@@ -1,8 +1,8 @@
|
||||
/* ============================================================
|
||||
* bootstrap-dropdown.js v2.0.4
|
||||
* http://twitter.github.com/bootstrap/javascript.html#dropdowns
|
||||
* bootstrap-dropdown.js v2.3.2
|
||||
* http://twbs.github.com/bootstrap/javascript.html#dropdowns
|
||||
* ============================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
* Copyright 2013 Twitter, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -26,7 +26,7 @@
|
||||
/* DROPDOWN CLASS DEFINITION
|
||||
* ========================= */
|
||||
|
||||
var toggle = '[data-toggle="dropdown"]'
|
||||
var toggle = '[data-toggle=dropdown]'
|
||||
, Dropdown = function (element) {
|
||||
var $el = $(element).on('click.dropdown.data-api', this.toggle)
|
||||
$('html').on('click.dropdown.data-api', function () {
|
||||
@@ -41,40 +41,101 @@
|
||||
, toggle: function (e) {
|
||||
var $this = $(this)
|
||||
, $parent
|
||||
, selector
|
||||
, isActive
|
||||
|
||||
if ($this.is('.disabled, :disabled')) return
|
||||
|
||||
selector = $this.attr('data-target')
|
||||
|
||||
if (!selector) {
|
||||
selector = $this.attr('href')
|
||||
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
|
||||
}
|
||||
|
||||
$parent = $(selector)
|
||||
$parent.length || ($parent = $this.parent())
|
||||
$parent = getParent($this)
|
||||
|
||||
isActive = $parent.hasClass('open')
|
||||
|
||||
clearMenus()
|
||||
|
||||
if (!isActive) $parent.toggleClass('open')
|
||||
if (!isActive) {
|
||||
if ('ontouchstart' in document.documentElement) {
|
||||
// if mobile we we use a backdrop because click events don't delegate
|
||||
$('<div class="dropdown-backdrop"/>').insertBefore($(this)).on('click', clearMenus)
|
||||
}
|
||||
$parent.toggleClass('open')
|
||||
}
|
||||
|
||||
$this.focus()
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
, keydown: function (e) {
|
||||
var $this
|
||||
, $items
|
||||
, $active
|
||||
, $parent
|
||||
, isActive
|
||||
, index
|
||||
|
||||
if (!/(38|40|27)/.test(e.keyCode)) return
|
||||
|
||||
$this = $(this)
|
||||
|
||||
e.preventDefault()
|
||||
e.stopPropagation()
|
||||
|
||||
if ($this.is('.disabled, :disabled')) return
|
||||
|
||||
$parent = getParent($this)
|
||||
|
||||
isActive = $parent.hasClass('open')
|
||||
|
||||
if (!isActive || (isActive && e.keyCode == 27)) {
|
||||
if (e.which == 27) $parent.find(toggle).focus()
|
||||
return $this.click()
|
||||
}
|
||||
|
||||
$items = $('[role=menu] li:not(.divider):visible a', $parent)
|
||||
|
||||
if (!$items.length) return
|
||||
|
||||
index = $items.index($items.filter(':focus'))
|
||||
|
||||
if (e.keyCode == 38 && index > 0) index-- // up
|
||||
if (e.keyCode == 40 && index < $items.length - 1) index++ // down
|
||||
if (!~index) index = 0
|
||||
|
||||
$items
|
||||
.eq(index)
|
||||
.focus()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function clearMenus() {
|
||||
$(toggle).parent().removeClass('open')
|
||||
$('.dropdown-backdrop').remove()
|
||||
$(toggle).each(function () {
|
||||
getParent($(this)).removeClass('open')
|
||||
})
|
||||
}
|
||||
|
||||
function getParent($this) {
|
||||
var selector = $this.attr('data-target')
|
||||
, $parent
|
||||
|
||||
if (!selector) {
|
||||
selector = $this.attr('href')
|
||||
selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
|
||||
}
|
||||
|
||||
$parent = selector && $(selector)
|
||||
|
||||
if (!$parent || !$parent.length) $parent = $this.parent()
|
||||
|
||||
return $parent
|
||||
}
|
||||
|
||||
|
||||
/* DROPDOWN PLUGIN DEFINITION
|
||||
* ========================== */
|
||||
|
||||
var old = $.fn.dropdown
|
||||
|
||||
$.fn.dropdown = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
@@ -87,14 +148,22 @@
|
||||
$.fn.dropdown.Constructor = Dropdown
|
||||
|
||||
|
||||
/* DROPDOWN NO CONFLICT
|
||||
* ==================== */
|
||||
|
||||
$.fn.dropdown.noConflict = function () {
|
||||
$.fn.dropdown = old
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
/* APPLY TO STANDARD DROPDOWN ELEMENTS
|
||||
* =================================== */
|
||||
|
||||
$(function () {
|
||||
$('html').on('click.dropdown.data-api', clearMenus)
|
||||
$('body')
|
||||
.on('click.dropdown', '.dropdown form', function (e) { e.stopPropagation() })
|
||||
.on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle)
|
||||
})
|
||||
$(document)
|
||||
.on('click.dropdown.data-api', clearMenus)
|
||||
.on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
|
||||
.on('click.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
|
||||
.on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
|
||||
|
||||
}(window.jQuery);
|
||||
}(window.jQuery);
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/* =========================================================
|
||||
* bootstrap-modal.js v2.0.4
|
||||
* http://twitter.github.com/bootstrap/javascript.html#modals
|
||||
* bootstrap-modal.js v2.3.2
|
||||
* http://twbs.github.com/bootstrap/javascript.html#modals
|
||||
* =========================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
* Copyright 2013 Twitter, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -26,10 +26,11 @@
|
||||
/* MODAL CLASS DEFINITION
|
||||
* ====================== */
|
||||
|
||||
var Modal = function (content, options) {
|
||||
var Modal = function (element, options) {
|
||||
this.options = options
|
||||
this.$element = $(content)
|
||||
this.$element = $(element)
|
||||
.delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
|
||||
this.options.remote && this.$element.find('.modal-body').load(this.options.remote)
|
||||
}
|
||||
|
||||
Modal.prototype = {
|
||||
@@ -48,30 +49,32 @@
|
||||
|
||||
if (this.isShown || e.isDefaultPrevented()) return
|
||||
|
||||
$('body').addClass('modal-open')
|
||||
|
||||
this.isShown = true
|
||||
|
||||
escape.call(this)
|
||||
backdrop.call(this, function () {
|
||||
this.escape()
|
||||
|
||||
this.backdrop(function () {
|
||||
var transition = $.support.transition && that.$element.hasClass('fade')
|
||||
|
||||
if (!that.$element.parent().length) {
|
||||
that.$element.appendTo(document.body) //don't move modals dom position
|
||||
}
|
||||
|
||||
that.$element
|
||||
.show()
|
||||
that.$element.show()
|
||||
|
||||
if (transition) {
|
||||
that.$element[0].offsetWidth // force reflow
|
||||
}
|
||||
|
||||
that.$element.addClass('in')
|
||||
that.$element
|
||||
.addClass('in')
|
||||
.attr('aria-hidden', false)
|
||||
|
||||
that.enforceFocus()
|
||||
|
||||
transition ?
|
||||
that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) :
|
||||
that.$element.trigger('shown')
|
||||
that.$element.one($.support.transition.end, function () { that.$element.focus().trigger('shown') }) :
|
||||
that.$element.focus().trigger('shown')
|
||||
|
||||
})
|
||||
}
|
||||
@@ -89,98 +92,111 @@
|
||||
|
||||
this.isShown = false
|
||||
|
||||
$('body').removeClass('modal-open')
|
||||
this.escape()
|
||||
|
||||
escape.call(this)
|
||||
$(document).off('focusin.modal')
|
||||
|
||||
this.$element.removeClass('in')
|
||||
this.$element
|
||||
.removeClass('in')
|
||||
.attr('aria-hidden', true)
|
||||
|
||||
$.support.transition && this.$element.hasClass('fade') ?
|
||||
hideWithTransition.call(this) :
|
||||
hideModal.call(this)
|
||||
this.hideWithTransition() :
|
||||
this.hideModal()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* MODAL PRIVATE METHODS
|
||||
* ===================== */
|
||||
|
||||
function hideWithTransition() {
|
||||
var that = this
|
||||
, timeout = setTimeout(function () {
|
||||
that.$element.off($.support.transition.end)
|
||||
hideModal.call(that)
|
||||
}, 500)
|
||||
|
||||
this.$element.one($.support.transition.end, function () {
|
||||
clearTimeout(timeout)
|
||||
hideModal.call(that)
|
||||
})
|
||||
}
|
||||
|
||||
function hideModal(that) {
|
||||
this.$element
|
||||
.hide()
|
||||
.trigger('hidden')
|
||||
|
||||
backdrop.call(this)
|
||||
}
|
||||
|
||||
function backdrop(callback) {
|
||||
var that = this
|
||||
, animate = this.$element.hasClass('fade') ? 'fade' : ''
|
||||
|
||||
if (this.isShown && this.options.backdrop) {
|
||||
var doAnimate = $.support.transition && animate
|
||||
|
||||
this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
|
||||
.appendTo(document.body)
|
||||
|
||||
if (this.options.backdrop != 'static') {
|
||||
this.$backdrop.click($.proxy(this.hide, this))
|
||||
, enforceFocus: function () {
|
||||
var that = this
|
||||
$(document).on('focusin.modal', function (e) {
|
||||
if (that.$element[0] !== e.target && !that.$element.has(e.target).length) {
|
||||
that.$element.focus()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
|
||||
, escape: function () {
|
||||
var that = this
|
||||
if (this.isShown && this.options.keyboard) {
|
||||
this.$element.on('keyup.dismiss.modal', function ( e ) {
|
||||
e.which == 27 && that.hide()
|
||||
})
|
||||
} else if (!this.isShown) {
|
||||
this.$element.off('keyup.dismiss.modal')
|
||||
}
|
||||
}
|
||||
|
||||
this.$backdrop.addClass('in')
|
||||
, hideWithTransition: function () {
|
||||
var that = this
|
||||
, timeout = setTimeout(function () {
|
||||
that.$element.off($.support.transition.end)
|
||||
that.hideModal()
|
||||
}, 500)
|
||||
|
||||
doAnimate ?
|
||||
this.$backdrop.one($.support.transition.end, callback) :
|
||||
callback()
|
||||
this.$element.one($.support.transition.end, function () {
|
||||
clearTimeout(timeout)
|
||||
that.hideModal()
|
||||
})
|
||||
}
|
||||
|
||||
} else if (!this.isShown && this.$backdrop) {
|
||||
this.$backdrop.removeClass('in')
|
||||
, hideModal: function () {
|
||||
var that = this
|
||||
this.$element.hide()
|
||||
this.backdrop(function () {
|
||||
that.removeBackdrop()
|
||||
that.$element.trigger('hidden')
|
||||
})
|
||||
}
|
||||
|
||||
$.support.transition && this.$element.hasClass('fade')?
|
||||
this.$backdrop.one($.support.transition.end, $.proxy(removeBackdrop, this)) :
|
||||
removeBackdrop.call(this)
|
||||
, removeBackdrop: function () {
|
||||
this.$backdrop && this.$backdrop.remove()
|
||||
this.$backdrop = null
|
||||
}
|
||||
|
||||
} else if (callback) {
|
||||
callback()
|
||||
}
|
||||
}
|
||||
, backdrop: function (callback) {
|
||||
var that = this
|
||||
, animate = this.$element.hasClass('fade') ? 'fade' : ''
|
||||
|
||||
function removeBackdrop() {
|
||||
this.$backdrop.remove()
|
||||
this.$backdrop = null
|
||||
}
|
||||
if (this.isShown && this.options.backdrop) {
|
||||
var doAnimate = $.support.transition && animate
|
||||
|
||||
function escape() {
|
||||
var that = this
|
||||
if (this.isShown && this.options.keyboard) {
|
||||
$(document).on('keyup.dismiss.modal', function ( e ) {
|
||||
e.which == 27 && that.hide()
|
||||
})
|
||||
} else if (!this.isShown) {
|
||||
$(document).off('keyup.dismiss.modal')
|
||||
}
|
||||
this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
|
||||
.appendTo(document.body)
|
||||
|
||||
this.$backdrop.click(
|
||||
this.options.backdrop == 'static' ?
|
||||
$.proxy(this.$element[0].focus, this.$element[0])
|
||||
: $.proxy(this.hide, this)
|
||||
)
|
||||
|
||||
if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
|
||||
|
||||
this.$backdrop.addClass('in')
|
||||
|
||||
if (!callback) return
|
||||
|
||||
doAnimate ?
|
||||
this.$backdrop.one($.support.transition.end, callback) :
|
||||
callback()
|
||||
|
||||
} else if (!this.isShown && this.$backdrop) {
|
||||
this.$backdrop.removeClass('in')
|
||||
|
||||
$.support.transition && this.$element.hasClass('fade')?
|
||||
this.$backdrop.one($.support.transition.end, callback) :
|
||||
callback()
|
||||
|
||||
} else if (callback) {
|
||||
callback()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* MODAL PLUGIN DEFINITION
|
||||
* ======================= */
|
||||
|
||||
var old = $.fn.modal
|
||||
|
||||
$.fn.modal = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
@@ -201,18 +217,31 @@
|
||||
$.fn.modal.Constructor = Modal
|
||||
|
||||
|
||||
/* MODAL NO CONFLICT
|
||||
* ================= */
|
||||
|
||||
$.fn.modal.noConflict = function () {
|
||||
$.fn.modal = old
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
/* MODAL DATA-API
|
||||
* ============== */
|
||||
|
||||
$(function () {
|
||||
$('body').on('click.modal.data-api', '[data-toggle="modal"]', function ( e ) {
|
||||
var $this = $(this), href
|
||||
, $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
|
||||
, option = $target.data('modal') ? 'toggle' : $.extend({}, $target.data(), $this.data())
|
||||
$(document).on('click.modal.data-api', '[data-toggle="modal"]', function (e) {
|
||||
var $this = $(this)
|
||||
, href = $this.attr('href')
|
||||
, $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
|
||||
, option = $target.data('modal') ? 'toggle' : $.extend({ remote:!/#/.test(href) && href }, $target.data(), $this.data())
|
||||
|
||||
e.preventDefault()
|
||||
$target.modal(option)
|
||||
})
|
||||
e.preventDefault()
|
||||
|
||||
$target
|
||||
.modal(option)
|
||||
.one('hide', function () {
|
||||
$this.focus()
|
||||
})
|
||||
})
|
||||
|
||||
}(window.jQuery);
|
||||
}(window.jQuery);
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/* ===========================================================
|
||||
* bootstrap-popover.js v2.0.4
|
||||
* http://twitter.github.com/bootstrap/javascript.html#popovers
|
||||
* bootstrap-popover.js v2.3.2
|
||||
* http://twbs.github.com/bootstrap/javascript.html#popovers
|
||||
* ===========================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
* Copyright 2013 Twitter, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -26,7 +26,7 @@
|
||||
/* POPOVER PUBLIC CLASS DEFINITION
|
||||
* =============================== */
|
||||
|
||||
var Popover = function ( element, options ) {
|
||||
var Popover = function (element, options) {
|
||||
this.init('popover', element, options)
|
||||
}
|
||||
|
||||
@@ -43,8 +43,8 @@
|
||||
, title = this.getTitle()
|
||||
, content = this.getContent()
|
||||
|
||||
$tip.find('.popover-title')[this.isHTML(title) ? 'html' : 'text'](title)
|
||||
$tip.find('.popover-content > *')[this.isHTML(content) ? 'html' : 'text'](content)
|
||||
$tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
|
||||
$tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content)
|
||||
|
||||
$tip.removeClass('fade top bottom left right in')
|
||||
}
|
||||
@@ -58,8 +58,8 @@
|
||||
, $e = this.$element
|
||||
, o = this.options
|
||||
|
||||
content = $e.attr('data-content')
|
||||
|| (typeof o.content == 'function' ? o.content.call($e[0]) : o.content)
|
||||
content = (typeof o.content == 'function' ? o.content.call($e[0]) : o.content)
|
||||
|| $e.attr('data-content')
|
||||
|
||||
return content
|
||||
}
|
||||
@@ -71,12 +71,18 @@
|
||||
return this.$tip
|
||||
}
|
||||
|
||||
, destroy: function () {
|
||||
this.hide().$element.off('.' + this.type).removeData(this.type)
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
|
||||
/* POPOVER PLUGIN DEFINITION
|
||||
* ======================= */
|
||||
|
||||
var old = $.fn.popover
|
||||
|
||||
$.fn.popover = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
@@ -91,8 +97,18 @@
|
||||
|
||||
$.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, {
|
||||
placement: 'right'
|
||||
, trigger: 'click'
|
||||
, content: ''
|
||||
, template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'
|
||||
, template: '<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
|
||||
})
|
||||
|
||||
}(window.jQuery);
|
||||
|
||||
/* POPOVER NO CONFLICT
|
||||
* =================== */
|
||||
|
||||
$.fn.popover.noConflict = function () {
|
||||
$.fn.popover = old
|
||||
return this
|
||||
}
|
||||
|
||||
}(window.jQuery);
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/* =============================================================
|
||||
* bootstrap-scrollspy.js v2.0.4
|
||||
* http://twitter.github.com/bootstrap/javascript.html#scrollspy
|
||||
* bootstrap-scrollspy.js v2.3.2
|
||||
* http://twbs.github.com/bootstrap/javascript.html#scrollspy
|
||||
* =============================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
* Copyright 2013 Twitter, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -23,15 +23,15 @@
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* SCROLLSPY CLASS DEFINITION
|
||||
* ========================== */
|
||||
/* SCROLLSPY CLASS DEFINITION
|
||||
* ========================== */
|
||||
|
||||
function ScrollSpy( element, options) {
|
||||
function ScrollSpy(element, options) {
|
||||
var process = $.proxy(this.process, this)
|
||||
, $element = $(element).is('body') ? $(window) : $(element)
|
||||
, href
|
||||
this.options = $.extend({}, $.fn.scrollspy.defaults, options)
|
||||
this.$scrollElement = $element.on('scroll.scroll.data-api', process)
|
||||
this.$scrollElement = $element.on('scroll.scroll-spy.data-api', process)
|
||||
this.selector = (this.options.target
|
||||
|| ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
|
||||
|| '') + ' .nav li > a'
|
||||
@@ -58,8 +58,8 @@
|
||||
, href = $el.data('target') || $el.attr('href')
|
||||
, $href = /^#\w/.test(href) && $(href)
|
||||
return ( $href
|
||||
&& href.length
|
||||
&& [[ $href.position().top, href ]] ) || null
|
||||
&& $href.length
|
||||
&& [[ $href.position().top + (!$.isWindow(self.$scrollElement.get(0)) && self.$scrollElement.scrollTop()), href ]] ) || null
|
||||
})
|
||||
.sort(function (a, b) { return a[0] - b[0] })
|
||||
.each(function () {
|
||||
@@ -108,7 +108,7 @@
|
||||
.parent('li')
|
||||
.addClass('active')
|
||||
|
||||
if (active.parent('.dropdown-menu')) {
|
||||
if (active.parent('.dropdown-menu').length) {
|
||||
active = active.closest('li.dropdown').addClass('active')
|
||||
}
|
||||
|
||||
@@ -121,7 +121,9 @@
|
||||
/* SCROLLSPY PLUGIN DEFINITION
|
||||
* =========================== */
|
||||
|
||||
$.fn.scrollspy = function ( option ) {
|
||||
var old = $.fn.scrollspy
|
||||
|
||||
$.fn.scrollspy = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('scrollspy')
|
||||
@@ -138,10 +140,19 @@
|
||||
}
|
||||
|
||||
|
||||
/* SCROLLSPY NO CONFLICT
|
||||
* ===================== */
|
||||
|
||||
$.fn.scrollspy.noConflict = function () {
|
||||
$.fn.scrollspy = old
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
/* SCROLLSPY DATA-API
|
||||
* ================== */
|
||||
|
||||
$(function () {
|
||||
$(window).on('load', function () {
|
||||
$('[data-spy="scroll"]').each(function () {
|
||||
var $spy = $(this)
|
||||
$spy.scrollspy($spy.data())
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/* ========================================================
|
||||
* bootstrap-tab.js v2.0.4
|
||||
* http://twitter.github.com/bootstrap/javascript.html#tabs
|
||||
* bootstrap-tab.js v2.3.2
|
||||
* http://twbs.github.com/bootstrap/javascript.html#tabs
|
||||
* ========================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
* Copyright 2013 Twitter, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -26,7 +26,7 @@
|
||||
/* TAB CLASS DEFINITION
|
||||
* ==================== */
|
||||
|
||||
var Tab = function ( element ) {
|
||||
var Tab = function (element) {
|
||||
this.element = $(element)
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
|
||||
if ( $this.parent('li').hasClass('active') ) return
|
||||
|
||||
previous = $ul.find('.active a').last()[0]
|
||||
previous = $ul.find('.active:last a')[0]
|
||||
|
||||
e = $.Event('show', {
|
||||
relatedTarget: previous
|
||||
@@ -110,6 +110,8 @@
|
||||
/* TAB PLUGIN DEFINITION
|
||||
* ===================== */
|
||||
|
||||
var old = $.fn.tab
|
||||
|
||||
$.fn.tab = function ( option ) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
@@ -122,14 +124,21 @@
|
||||
$.fn.tab.Constructor = Tab
|
||||
|
||||
|
||||
/* TAB NO CONFLICT
|
||||
* =============== */
|
||||
|
||||
$.fn.tab.noConflict = function () {
|
||||
$.fn.tab = old
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
/* TAB DATA-API
|
||||
* ============ */
|
||||
|
||||
$(function () {
|
||||
$('body').on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
|
||||
e.preventDefault()
|
||||
$(this).tab('show')
|
||||
})
|
||||
$(document).on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
|
||||
e.preventDefault()
|
||||
$(this).tab('show')
|
||||
})
|
||||
|
||||
}(window.jQuery);
|
||||
@@ -1,9 +1,9 @@
|
||||
/* ===========================================================
|
||||
* bootstrap-tooltip.js v2.0.4
|
||||
* http://twitter.github.com/bootstrap/javascript.html#tooltips
|
||||
* bootstrap-tooltip.js v2.3.2
|
||||
* http://twbs.github.com/bootstrap/javascript.html#tooltips
|
||||
* Inspired by the original jQuery.tipsy by Jason Frame
|
||||
* ===========================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
* Copyright 2013 Twitter, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -38,17 +38,27 @@
|
||||
, init: function (type, element, options) {
|
||||
var eventIn
|
||||
, eventOut
|
||||
, triggers
|
||||
, trigger
|
||||
, i
|
||||
|
||||
this.type = type
|
||||
this.$element = $(element)
|
||||
this.options = this.getOptions(options)
|
||||
this.enabled = true
|
||||
|
||||
if (this.options.trigger != 'manual') {
|
||||
eventIn = this.options.trigger == 'hover' ? 'mouseenter' : 'focus'
|
||||
eventOut = this.options.trigger == 'hover' ? 'mouseleave' : 'blur'
|
||||
this.$element.on(eventIn, this.options.selector, $.proxy(this.enter, this))
|
||||
this.$element.on(eventOut, this.options.selector, $.proxy(this.leave, this))
|
||||
triggers = this.options.trigger.split(' ')
|
||||
|
||||
for (i = triggers.length; i--;) {
|
||||
trigger = triggers[i]
|
||||
if (trigger == 'click') {
|
||||
this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
|
||||
} else if (trigger != 'manual') {
|
||||
eventIn = trigger == 'hover' ? 'mouseenter' : 'focus'
|
||||
eventOut = trigger == 'hover' ? 'mouseleave' : 'blur'
|
||||
this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
|
||||
this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
|
||||
}
|
||||
}
|
||||
|
||||
this.options.selector ?
|
||||
@@ -57,7 +67,7 @@
|
||||
}
|
||||
|
||||
, getOptions: function (options) {
|
||||
options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data())
|
||||
options = $.extend({}, $.fn[this.type].defaults, this.$element.data(), options)
|
||||
|
||||
if (options.delay && typeof options.delay == 'number') {
|
||||
options.delay = {
|
||||
@@ -70,7 +80,15 @@
|
||||
}
|
||||
|
||||
, enter: function (e) {
|
||||
var self = $(e.currentTarget)[this.type](this._options).data(this.type)
|
||||
var defaults = $.fn[this.type].defaults
|
||||
, options = {}
|
||||
, self
|
||||
|
||||
this._options && $.each(this._options, function (key, value) {
|
||||
if (defaults[key] != value) options[key] = value
|
||||
}, this)
|
||||
|
||||
self = $(e.currentTarget)[this.type](options).data(this.type)
|
||||
|
||||
if (!self.options.delay || !self.options.delay.show) return self.show()
|
||||
|
||||
@@ -95,14 +113,16 @@
|
||||
|
||||
, show: function () {
|
||||
var $tip
|
||||
, inside
|
||||
, pos
|
||||
, actualWidth
|
||||
, actualHeight
|
||||
, placement
|
||||
, tp
|
||||
, e = $.Event('show')
|
||||
|
||||
if (this.hasContent() && this.enabled) {
|
||||
this.$element.trigger(e)
|
||||
if (e.isDefaultPrevented()) return
|
||||
$tip = this.tip()
|
||||
this.setContent()
|
||||
|
||||
@@ -114,19 +134,18 @@
|
||||
this.options.placement.call(this, $tip[0], this.$element[0]) :
|
||||
this.options.placement
|
||||
|
||||
inside = /in/.test(placement)
|
||||
|
||||
$tip
|
||||
.remove()
|
||||
.detach()
|
||||
.css({ top: 0, left: 0, display: 'block' })
|
||||
.appendTo(inside ? this.$element : document.body)
|
||||
|
||||
pos = this.getPosition(inside)
|
||||
this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
|
||||
|
||||
pos = this.getPosition()
|
||||
|
||||
actualWidth = $tip[0].offsetWidth
|
||||
actualHeight = $tip[0].offsetHeight
|
||||
|
||||
switch (inside ? placement.split(' ')[1] : placement) {
|
||||
switch (placement) {
|
||||
case 'bottom':
|
||||
tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}
|
||||
break
|
||||
@@ -141,56 +160,100 @@
|
||||
break
|
||||
}
|
||||
|
||||
$tip
|
||||
.css(tp)
|
||||
.addClass(placement)
|
||||
.addClass('in')
|
||||
this.applyPlacement(tp, placement)
|
||||
this.$element.trigger('shown')
|
||||
}
|
||||
}
|
||||
|
||||
, isHTML: function(text) {
|
||||
// html string detection logic adapted from jQuery
|
||||
return typeof text != 'string'
|
||||
|| ( text.charAt(0) === "<"
|
||||
&& text.charAt( text.length - 1 ) === ">"
|
||||
&& text.length >= 3
|
||||
) || /^(?:[^<]*<[\w\W]+>[^>]*$)/.exec(text)
|
||||
, applyPlacement: function(offset, placement){
|
||||
var $tip = this.tip()
|
||||
, width = $tip[0].offsetWidth
|
||||
, height = $tip[0].offsetHeight
|
||||
, actualWidth
|
||||
, actualHeight
|
||||
, delta
|
||||
, replace
|
||||
|
||||
$tip
|
||||
.offset(offset)
|
||||
.addClass(placement)
|
||||
.addClass('in')
|
||||
|
||||
actualWidth = $tip[0].offsetWidth
|
||||
actualHeight = $tip[0].offsetHeight
|
||||
|
||||
if (placement == 'top' && actualHeight != height) {
|
||||
offset.top = offset.top + height - actualHeight
|
||||
replace = true
|
||||
}
|
||||
|
||||
if (placement == 'bottom' || placement == 'top') {
|
||||
delta = 0
|
||||
|
||||
if (offset.left < 0){
|
||||
delta = offset.left * -2
|
||||
offset.left = 0
|
||||
$tip.offset(offset)
|
||||
actualWidth = $tip[0].offsetWidth
|
||||
actualHeight = $tip[0].offsetHeight
|
||||
}
|
||||
|
||||
this.replaceArrow(delta - width + actualWidth, actualWidth, 'left')
|
||||
} else {
|
||||
this.replaceArrow(actualHeight - height, actualHeight, 'top')
|
||||
}
|
||||
|
||||
if (replace) $tip.offset(offset)
|
||||
}
|
||||
|
||||
, replaceArrow: function(delta, dimension, position){
|
||||
this
|
||||
.arrow()
|
||||
.css(position, delta ? (50 * (1 - delta / dimension) + "%") : '')
|
||||
}
|
||||
|
||||
, setContent: function () {
|
||||
var $tip = this.tip()
|
||||
, title = this.getTitle()
|
||||
|
||||
$tip.find('.tooltip-inner')[this.isHTML(title) ? 'html' : 'text'](title)
|
||||
$tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
|
||||
$tip.removeClass('fade in top bottom left right')
|
||||
}
|
||||
|
||||
, hide: function () {
|
||||
var that = this
|
||||
, $tip = this.tip()
|
||||
, e = $.Event('hide')
|
||||
|
||||
this.$element.trigger(e)
|
||||
if (e.isDefaultPrevented()) return
|
||||
|
||||
$tip.removeClass('in')
|
||||
|
||||
function removeWithAnimation() {
|
||||
var timeout = setTimeout(function () {
|
||||
$tip.off($.support.transition.end).remove()
|
||||
$tip.off($.support.transition.end).detach()
|
||||
}, 500)
|
||||
|
||||
$tip.one($.support.transition.end, function () {
|
||||
clearTimeout(timeout)
|
||||
$tip.remove()
|
||||
$tip.detach()
|
||||
})
|
||||
}
|
||||
|
||||
$.support.transition && this.$tip.hasClass('fade') ?
|
||||
removeWithAnimation() :
|
||||
$tip.remove()
|
||||
$tip.detach()
|
||||
|
||||
this.$element.trigger('hidden')
|
||||
|
||||
return this
|
||||
}
|
||||
|
||||
, fixTitle: function () {
|
||||
var $e = this.$element
|
||||
if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
|
||||
$e.attr('data-original-title', $e.attr('title') || '').removeAttr('title')
|
||||
$e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
|
||||
}
|
||||
}
|
||||
|
||||
@@ -198,11 +261,12 @@
|
||||
return this.getTitle()
|
||||
}
|
||||
|
||||
, getPosition: function (inside) {
|
||||
return $.extend({}, (inside ? {top: 0, left: 0} : this.$element.offset()), {
|
||||
width: this.$element[0].offsetWidth
|
||||
, height: this.$element[0].offsetHeight
|
||||
})
|
||||
, getPosition: function () {
|
||||
var el = this.$element[0]
|
||||
return $.extend({}, (typeof el.getBoundingClientRect == 'function') ? el.getBoundingClientRect() : {
|
||||
width: el.offsetWidth
|
||||
, height: el.offsetHeight
|
||||
}, this.$element.offset())
|
||||
}
|
||||
|
||||
, getTitle: function () {
|
||||
@@ -220,6 +284,10 @@
|
||||
return this.$tip = this.$tip || $(this.options.template)
|
||||
}
|
||||
|
||||
, arrow: function(){
|
||||
return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow")
|
||||
}
|
||||
|
||||
, validate: function () {
|
||||
if (!this.$element[0].parentNode) {
|
||||
this.hide()
|
||||
@@ -240,8 +308,13 @@
|
||||
this.enabled = !this.enabled
|
||||
}
|
||||
|
||||
, toggle: function () {
|
||||
this[this.tip().hasClass('in') ? 'hide' : 'show']()
|
||||
, toggle: function (e) {
|
||||
var self = e ? $(e.currentTarget)[this.type](this._options).data(this.type) : this
|
||||
self.tip().hasClass('in') ? self.hide() : self.show()
|
||||
}
|
||||
|
||||
, destroy: function () {
|
||||
this.hide().$element.off('.' + this.type).removeData(this.type)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -250,6 +323,8 @@
|
||||
/* TOOLTIP PLUGIN DEFINITION
|
||||
* ========================= */
|
||||
|
||||
var old = $.fn.tooltip
|
||||
|
||||
$.fn.tooltip = function ( option ) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
@@ -267,9 +342,20 @@
|
||||
, placement: 'top'
|
||||
, selector: false
|
||||
, template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
|
||||
, trigger: 'hover'
|
||||
, trigger: 'hover focus'
|
||||
, title: ''
|
||||
, delay: 0
|
||||
, html: false
|
||||
, container: false
|
||||
}
|
||||
|
||||
|
||||
/* TOOLTIP NO CONFLICT
|
||||
* =================== */
|
||||
|
||||
$.fn.tooltip.noConflict = function () {
|
||||
$.fn.tooltip = old
|
||||
return this
|
||||
}
|
||||
|
||||
}(window.jQuery);
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/* ===================================================
|
||||
* bootstrap-transition.js v2.0.4
|
||||
* http://twitter.github.com/bootstrap/javascript.html#transitions
|
||||
* bootstrap-transition.js v2.3.2
|
||||
* http://twbs.github.com/bootstrap/javascript.html#transitions
|
||||
* ===================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
* Copyright 2013 Twitter, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -20,14 +20,14 @@
|
||||
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
|
||||
* ======================================================= */
|
||||
|
||||
$(function () {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
|
||||
* ======================================================= */
|
||||
|
||||
$.support.transition = (function () {
|
||||
|
||||
var transitionEnd = (function () {
|
||||
@@ -36,8 +36,7 @@
|
||||
, transEndEventNames = {
|
||||
'WebkitTransition' : 'webkitTransitionEnd'
|
||||
, 'MozTransition' : 'transitionend'
|
||||
, 'OTransition' : 'oTransitionEnd'
|
||||
, 'msTransition' : 'MSTransitionEnd'
|
||||
, 'OTransition' : 'oTransitionEnd otransitionend'
|
||||
, 'transition' : 'transitionend'
|
||||
}
|
||||
, name
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/* =============================================================
|
||||
* bootstrap-typeahead.js v2.0.4
|
||||
* http://twitter.github.com/bootstrap/javascript.html#typeahead
|
||||
* bootstrap-typeahead.js v2.3.2
|
||||
* http://twbs.github.com/bootstrap/javascript.html#typeahead
|
||||
* =============================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
* Copyright 2013 Twitter, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -33,8 +33,8 @@
|
||||
this.sorter = this.options.sorter || this.sorter
|
||||
this.highlighter = this.options.highlighter || this.highlighter
|
||||
this.updater = this.options.updater || this.updater
|
||||
this.$menu = $(this.options.menu).appendTo('body')
|
||||
this.source = this.options.source
|
||||
this.$menu = $(this.options.menu)
|
||||
this.shown = false
|
||||
this.listen()
|
||||
}
|
||||
@@ -56,16 +56,18 @@
|
||||
}
|
||||
|
||||
, show: function () {
|
||||
var pos = $.extend({}, this.$element.offset(), {
|
||||
var pos = $.extend({}, this.$element.position(), {
|
||||
height: this.$element[0].offsetHeight
|
||||
})
|
||||
|
||||
this.$menu.css({
|
||||
top: pos.top + pos.height
|
||||
, left: pos.left
|
||||
})
|
||||
this.$menu
|
||||
.insertAfter(this.$element)
|
||||
.css({
|
||||
top: pos.top + pos.height
|
||||
, left: pos.left
|
||||
})
|
||||
.show()
|
||||
|
||||
this.$menu.show()
|
||||
this.shown = true
|
||||
return this
|
||||
}
|
||||
@@ -77,17 +79,23 @@
|
||||
}
|
||||
|
||||
, lookup: function (event) {
|
||||
var that = this
|
||||
, items
|
||||
, q
|
||||
var items
|
||||
|
||||
this.query = this.$element.val()
|
||||
|
||||
if (!this.query) {
|
||||
if (!this.query || this.query.length < this.options.minLength) {
|
||||
return this.shown ? this.hide() : this
|
||||
}
|
||||
|
||||
items = $.grep(this.source, function (item) {
|
||||
items = $.isFunction(this.source) ? this.source(this.query, $.proxy(this.process, this)) : this.source
|
||||
|
||||
return items ? this.process(items) : this
|
||||
}
|
||||
|
||||
, process: function (items) {
|
||||
var that = this
|
||||
|
||||
items = $.grep(items, function (item) {
|
||||
return that.matcher(item)
|
||||
})
|
||||
|
||||
@@ -164,23 +172,71 @@
|
||||
|
||||
, listen: function () {
|
||||
this.$element
|
||||
.on('focus', $.proxy(this.focus, this))
|
||||
.on('blur', $.proxy(this.blur, this))
|
||||
.on('keypress', $.proxy(this.keypress, this))
|
||||
.on('keyup', $.proxy(this.keyup, this))
|
||||
|
||||
if ($.browser.webkit || $.browser.msie) {
|
||||
this.$element.on('keydown', $.proxy(this.keypress, this))
|
||||
if (this.eventSupported('keydown')) {
|
||||
this.$element.on('keydown', $.proxy(this.keydown, this))
|
||||
}
|
||||
|
||||
this.$menu
|
||||
.on('click', $.proxy(this.click, this))
|
||||
.on('mouseenter', 'li', $.proxy(this.mouseenter, this))
|
||||
.on('mouseleave', 'li', $.proxy(this.mouseleave, this))
|
||||
}
|
||||
|
||||
, eventSupported: function(eventName) {
|
||||
var isSupported = eventName in this.$element
|
||||
if (!isSupported) {
|
||||
this.$element.setAttribute(eventName, 'return;')
|
||||
isSupported = typeof this.$element[eventName] === 'function'
|
||||
}
|
||||
return isSupported
|
||||
}
|
||||
|
||||
, move: function (e) {
|
||||
if (!this.shown) return
|
||||
|
||||
switch(e.keyCode) {
|
||||
case 9: // tab
|
||||
case 13: // enter
|
||||
case 27: // escape
|
||||
e.preventDefault()
|
||||
break
|
||||
|
||||
case 38: // up arrow
|
||||
e.preventDefault()
|
||||
this.prev()
|
||||
break
|
||||
|
||||
case 40: // down arrow
|
||||
e.preventDefault()
|
||||
this.next()
|
||||
break
|
||||
}
|
||||
|
||||
e.stopPropagation()
|
||||
}
|
||||
|
||||
, keydown: function (e) {
|
||||
this.suppressKeyPressRepeat = ~$.inArray(e.keyCode, [40,38,9,13,27])
|
||||
this.move(e)
|
||||
}
|
||||
|
||||
, keypress: function (e) {
|
||||
if (this.suppressKeyPressRepeat) return
|
||||
this.move(e)
|
||||
}
|
||||
|
||||
, keyup: function (e) {
|
||||
switch(e.keyCode) {
|
||||
case 40: // down arrow
|
||||
case 38: // up arrow
|
||||
case 16: // shift
|
||||
case 17: // ctrl
|
||||
case 18: // alt
|
||||
break
|
||||
|
||||
case 9: // tab
|
||||
@@ -202,54 +258,41 @@
|
||||
e.preventDefault()
|
||||
}
|
||||
|
||||
, keypress: function (e) {
|
||||
if (!this.shown) return
|
||||
|
||||
switch(e.keyCode) {
|
||||
case 9: // tab
|
||||
case 13: // enter
|
||||
case 27: // escape
|
||||
e.preventDefault()
|
||||
break
|
||||
|
||||
case 38: // up arrow
|
||||
if (e.type != 'keydown') break
|
||||
e.preventDefault()
|
||||
this.prev()
|
||||
break
|
||||
|
||||
case 40: // down arrow
|
||||
if (e.type != 'keydown') break
|
||||
e.preventDefault()
|
||||
this.next()
|
||||
break
|
||||
}
|
||||
|
||||
e.stopPropagation()
|
||||
, focus: function (e) {
|
||||
this.focused = true
|
||||
}
|
||||
|
||||
, blur: function (e) {
|
||||
var that = this
|
||||
setTimeout(function () { that.hide() }, 150)
|
||||
this.focused = false
|
||||
if (!this.mousedover && this.shown) this.hide()
|
||||
}
|
||||
|
||||
, click: function (e) {
|
||||
e.stopPropagation()
|
||||
e.preventDefault()
|
||||
this.select()
|
||||
this.$element.focus()
|
||||
}
|
||||
|
||||
, mouseenter: function (e) {
|
||||
this.mousedover = true
|
||||
this.$menu.find('.active').removeClass('active')
|
||||
$(e.currentTarget).addClass('active')
|
||||
}
|
||||
|
||||
, mouseleave: function (e) {
|
||||
this.mousedover = false
|
||||
if (!this.focused && this.shown) this.hide()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* TYPEAHEAD PLUGIN DEFINITION
|
||||
* =========================== */
|
||||
|
||||
var old = $.fn.typeahead
|
||||
|
||||
$.fn.typeahead = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
@@ -265,21 +308,28 @@
|
||||
, items: 8
|
||||
, menu: '<ul class="typeahead dropdown-menu"></ul>'
|
||||
, item: '<li><a href="#"></a></li>'
|
||||
, minLength: 1
|
||||
}
|
||||
|
||||
$.fn.typeahead.Constructor = Typeahead
|
||||
|
||||
|
||||
/* TYPEAHEAD NO CONFLICT
|
||||
* =================== */
|
||||
|
||||
$.fn.typeahead.noConflict = function () {
|
||||
$.fn.typeahead = old
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
/* TYPEAHEAD DATA-API
|
||||
* ================== */
|
||||
|
||||
$(function () {
|
||||
$('body').on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
|
||||
var $this = $(this)
|
||||
if ($this.data('typeahead')) return
|
||||
e.preventDefault()
|
||||
$this.typeahead($this.data())
|
||||
})
|
||||
$(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
|
||||
var $this = $(this)
|
||||
if ($this.data('typeahead')) return
|
||||
$this.typeahead($this.data())
|
||||
})
|
||||
|
||||
}(window.jQuery);
|
||||
}(window.jQuery);
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
.pun, .opn, .clo { color: #93a1a1; }
|
||||
.fun { color: #dc322f; }
|
||||
.str, .atv { color: #D14; }
|
||||
.kwd, .linenums .tag { color: #1e347b; }
|
||||
.kwd, .prettyprint .tag { color: #1e347b; }
|
||||
.typ, .atn, .dec, .var { color: teal; }
|
||||
.pln { color: #48484c; }
|
||||
|
||||
@@ -21,10 +21,10 @@
|
||||
/* Specify class=linenums on a pre to get line numbering */
|
||||
ol.linenums {
|
||||
margin: 0 0 0 33px; /* IE indents via margin-left */
|
||||
}
|
||||
}
|
||||
ol.linenums li {
|
||||
padding-left: 12px;
|
||||
color: #bebec5;
|
||||
line-height: 18px;
|
||||
line-height: 20px;
|
||||
text-shadow: 0 1px 0 #fff;
|
||||
}
|
||||
@@ -0,0 +1,401 @@
|
||||
/*
|
||||
|
||||
Holder - 1.9 - client side image placeholders
|
||||
(c) 2012-2013 Ivan Malopinsky / http://imsky.co
|
||||
|
||||
Provided under the Apache 2.0 License: http://www.apache.org/licenses/LICENSE-2.0
|
||||
Commercial use requires attribution.
|
||||
|
||||
*/
|
||||
|
||||
var Holder = Holder || {};
|
||||
(function (app, win) {
|
||||
|
||||
var preempted = false,
|
||||
fallback = false,
|
||||
canvas = document.createElement('canvas');
|
||||
|
||||
//getElementsByClassName polyfill
|
||||
document.getElementsByClassName||(document.getElementsByClassName=function(e){var t=document,n,r,i,s=[];if(t.querySelectorAll)return t.querySelectorAll("."+e);if(t.evaluate){r=".//*[contains(concat(' ', @class, ' '), ' "+e+" ')]",n=t.evaluate(r,t,null,0,null);while(i=n.iterateNext())s.push(i)}else{n=t.getElementsByTagName("*"),r=new RegExp("(^|\\s)"+e+"(\\s|$)");for(i=0;i<n.length;i++)r.test(n[i].className)&&s.push(n[i])}return s})
|
||||
|
||||
//getComputedStyle polyfill
|
||||
window.getComputedStyle||(window.getComputedStyle=function(e,t){return this.el=e,this.getPropertyValue=function(t){var n=/(\-([a-z]){1})/g;return t=="float"&&(t="styleFloat"),n.test(t)&&(t=t.replace(n,function(){return arguments[2].toUpperCase()})),e.currentStyle[t]?e.currentStyle[t]:null},this})
|
||||
|
||||
//http://javascript.nwbox.com/ContentLoaded by Diego Perini with modifications
|
||||
function contentLoaded(n,t){var l="complete",s="readystatechange",u=!1,h=u,c=!0,i=n.document,a=i.documentElement,e=i.addEventListener?"addEventListener":"attachEvent",v=i.addEventListener?"removeEventListener":"detachEvent",f=i.addEventListener?"":"on",r=function(e){(e.type!=s||i.readyState==l)&&((e.type=="load"?n:i)[v](f+e.type,r,u),!h&&(h=!0)&&t.call(n,null))},o=function(){try{a.doScroll("left")}catch(n){setTimeout(o,50);return}r("poll")};if(i.readyState==l)t.call(n,"lazy");else{if(i.createEventObject&&a.doScroll){try{c=!n.frameElement}catch(y){}c&&o()}i[e](f+"DOMContentLoaded",r,u),i[e](f+s,r,u),n[e](f+"load",r,u)}};
|
||||
|
||||
//https://gist.github.com/991057 by Jed Schmidt with modifications
|
||||
function selector(a){
|
||||
a=a.match(/^(\W)?(.*)/);var b=document["getElement"+(a[1]?a[1]=="#"?"ById":"sByClassName":"sByTagName")](a[2]);
|
||||
var ret=[]; b!=null&&(b.length?ret=b:b.length==0?ret=b:ret=[b]); return ret;
|
||||
}
|
||||
|
||||
//shallow object property extend
|
||||
function extend(a,b){var c={};for(var d in a)c[d]=a[d];for(var e in b)c[e]=b[e];return c}
|
||||
|
||||
//hasOwnProperty polyfill
|
||||
if (!Object.prototype.hasOwnProperty)
|
||||
Object.prototype.hasOwnProperty = function(prop) {
|
||||
var proto = this.__proto__ || this.constructor.prototype;
|
||||
return (prop in this) && (!(prop in proto) || proto[prop] !== this[prop]);
|
||||
}
|
||||
|
||||
function text_size(width, height, template) {
|
||||
var dimension_arr = [height, width].sort();
|
||||
var maxFactor = Math.round(dimension_arr[1] / 16),
|
||||
minFactor = Math.round(dimension_arr[0] / 16);
|
||||
var text_height = Math.max(template.size, maxFactor);
|
||||
return {
|
||||
height: text_height
|
||||
}
|
||||
}
|
||||
|
||||
function draw(ctx, dimensions, template, ratio) {
|
||||
var ts = text_size(dimensions.width, dimensions.height, template);
|
||||
var text_height = ts.height;
|
||||
var width = dimensions.width * ratio, height = dimensions.height * ratio;
|
||||
var font = template.font ? template.font : "sans-serif";
|
||||
canvas.width = width;
|
||||
canvas.height = height;
|
||||
ctx.textAlign = "center";
|
||||
ctx.textBaseline = "middle";
|
||||
ctx.fillStyle = template.background;
|
||||
ctx.fillRect(0, 0, width, height);
|
||||
ctx.fillStyle = template.foreground;
|
||||
ctx.font = "bold " + text_height + "px "+font;
|
||||
var text = template.text ? template.text : (dimensions.width + "x" + dimensions.height);
|
||||
if (ctx.measureText(text).width / width > 1) {
|
||||
text_height = template.size / (ctx.measureText(text).width / width);
|
||||
}
|
||||
//Resetting font size if necessary
|
||||
ctx.font = "bold " + (text_height * ratio) + "px "+font;
|
||||
ctx.fillText(text, (width / 2), (height / 2), width);
|
||||
return canvas.toDataURL("image/png");
|
||||
}
|
||||
|
||||
function render(mode, el, holder, src) {
|
||||
var dimensions = holder.dimensions,
|
||||
theme = holder.theme,
|
||||
text = holder.text ? decodeURIComponent(holder.text) : holder.text;
|
||||
var dimensions_caption = dimensions.width + "x" + dimensions.height;
|
||||
theme = (text ? extend(theme, { text: text }) : theme);
|
||||
theme = (holder.font ? extend(theme, {font: holder.font}) : theme);
|
||||
|
||||
var ratio = 1;
|
||||
if(window.devicePixelRatio && window.devicePixelRatio > 1){
|
||||
ratio = window.devicePixelRatio;
|
||||
}
|
||||
|
||||
if (mode == "image") {
|
||||
el.setAttribute("data-src", src);
|
||||
el.setAttribute("alt", text ? text : theme.text ? theme.text + " [" + dimensions_caption + "]" : dimensions_caption);
|
||||
|
||||
if(fallback || !holder.auto){
|
||||
el.style.width = dimensions.width + "px";
|
||||
el.style.height = dimensions.height + "px";
|
||||
}
|
||||
|
||||
if (fallback) {
|
||||
el.style.backgroundColor = theme.background;
|
||||
|
||||
}
|
||||
else{
|
||||
el.setAttribute("src", draw(ctx, dimensions, theme, ratio));
|
||||
}
|
||||
} else {
|
||||
if (!fallback) {
|
||||
el.style.backgroundImage = "url(" + draw(ctx, dimensions, theme, ratio) + ")";
|
||||
el.style.backgroundSize = dimensions.width+"px "+dimensions.height+"px";
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
function fluid(el, holder, src) {
|
||||
var dimensions = holder.dimensions,
|
||||
theme = holder.theme,
|
||||
text = holder.text;
|
||||
var dimensions_caption = dimensions.width + "x" + dimensions.height;
|
||||
theme = (text ? extend(theme, {
|
||||
text: text
|
||||
}) : theme);
|
||||
|
||||
var fluid = document.createElement("div");
|
||||
|
||||
fluid.style.backgroundColor = theme.background;
|
||||
fluid.style.color = theme.foreground;
|
||||
fluid.className = el.className + " holderjs-fluid";
|
||||
fluid.style.width = holder.dimensions.width + (holder.dimensions.width.indexOf("%")>0?"":"px");
|
||||
fluid.style.height = holder.dimensions.height + (holder.dimensions.height.indexOf("%")>0?"":"px");
|
||||
fluid.id = el.id;
|
||||
|
||||
el.style.width=0;
|
||||
el.style.height=0;
|
||||
|
||||
if (theme.text) {
|
||||
fluid.appendChild(document.createTextNode(theme.text))
|
||||
} else {
|
||||
fluid.appendChild(document.createTextNode(dimensions_caption))
|
||||
fluid_images.push(fluid);
|
||||
setTimeout(fluid_update, 0);
|
||||
}
|
||||
|
||||
el.parentNode.insertBefore(fluid, el.nextSibling)
|
||||
|
||||
if(window.jQuery){
|
||||
jQuery(function($){
|
||||
$(el).on("load", function(){
|
||||
el.style.width = fluid.style.width;
|
||||
el.style.height = fluid.style.height;
|
||||
$(el).show();
|
||||
$(fluid).remove();
|
||||
});
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function fluid_update() {
|
||||
for (i in fluid_images) {
|
||||
if(!fluid_images.hasOwnProperty(i)) continue;
|
||||
var el = fluid_images[i],
|
||||
label = el.firstChild;
|
||||
|
||||
el.style.lineHeight = el.offsetHeight+"px";
|
||||
label.data = el.offsetWidth + "x" + el.offsetHeight;
|
||||
}
|
||||
}
|
||||
|
||||
function parse_flags(flags, options) {
|
||||
|
||||
var ret = {
|
||||
theme: settings.themes.gray
|
||||
}, render = false;
|
||||
|
||||
for (sl = flags.length, j = 0; j < sl; j++) {
|
||||
var flag = flags[j];
|
||||
if (app.flags.dimensions.match(flag)) {
|
||||
render = true;
|
||||
ret.dimensions = app.flags.dimensions.output(flag);
|
||||
} else if (app.flags.fluid.match(flag)) {
|
||||
render = true;
|
||||
ret.dimensions = app.flags.fluid.output(flag);
|
||||
ret.fluid = true;
|
||||
} else if (app.flags.colors.match(flag)) {
|
||||
ret.theme = app.flags.colors.output(flag);
|
||||
} else if (options.themes[flag]) {
|
||||
//If a theme is specified, it will override custom colors
|
||||
ret.theme = options.themes[flag];
|
||||
} else if (app.flags.text.match(flag)) {
|
||||
ret.text = app.flags.text.output(flag);
|
||||
} else if(app.flags.font.match(flag)){
|
||||
ret.font = app.flags.font.output(flag);
|
||||
}
|
||||
else if(app.flags.auto.match(flag)){
|
||||
ret.auto = true;
|
||||
}
|
||||
}
|
||||
|
||||
return render ? ret : false;
|
||||
|
||||
};
|
||||
|
||||
if (!canvas.getContext) {
|
||||
fallback = true;
|
||||
} else {
|
||||
if (canvas.toDataURL("image/png")
|
||||
.indexOf("data:image/png") < 0) {
|
||||
//Android doesn't support data URI
|
||||
fallback = true;
|
||||
} else {
|
||||
var ctx = canvas.getContext("2d");
|
||||
}
|
||||
}
|
||||
|
||||
var fluid_images = [];
|
||||
|
||||
var settings = {
|
||||
domain: "holder.js",
|
||||
images: "img",
|
||||
bgnodes: ".holderjs",
|
||||
themes: {
|
||||
"gray": {
|
||||
background: "#eee",
|
||||
foreground: "#aaa",
|
||||
size: 12
|
||||
},
|
||||
"social": {
|
||||
background: "#3a5a97",
|
||||
foreground: "#fff",
|
||||
size: 12
|
||||
},
|
||||
"industrial": {
|
||||
background: "#434A52",
|
||||
foreground: "#C2F200",
|
||||
size: 12
|
||||
}
|
||||
},
|
||||
stylesheet: ".holderjs-fluid {font-size:16px;font-weight:bold;text-align:center;font-family:sans-serif;margin:0}"
|
||||
};
|
||||
|
||||
|
||||
app.flags = {
|
||||
dimensions: {
|
||||
regex: /^(\d+)x(\d+)$/,
|
||||
output: function (val) {
|
||||
var exec = this.regex.exec(val);
|
||||
return {
|
||||
width: +exec[1],
|
||||
height: +exec[2]
|
||||
}
|
||||
}
|
||||
},
|
||||
fluid: {
|
||||
regex: /^([0-9%]+)x([0-9%]+)$/,
|
||||
output: function (val) {
|
||||
var exec = this.regex.exec(val);
|
||||
return {
|
||||
width: exec[1],
|
||||
height: exec[2]
|
||||
}
|
||||
}
|
||||
},
|
||||
colors: {
|
||||
regex: /#([0-9a-f]{3,})\:#([0-9a-f]{3,})/i,
|
||||
output: function (val) {
|
||||
var exec = this.regex.exec(val);
|
||||
return {
|
||||
size: settings.themes.gray.size,
|
||||
foreground: "#" + exec[2],
|
||||
background: "#" + exec[1]
|
||||
}
|
||||
}
|
||||
},
|
||||
text: {
|
||||
regex: /text\:(.*)/,
|
||||
output: function (val) {
|
||||
return this.regex.exec(val)[1];
|
||||
}
|
||||
},
|
||||
font: {
|
||||
regex: /font\:(.*)/,
|
||||
output: function(val){
|
||||
return this.regex.exec(val)[1];
|
||||
}
|
||||
},
|
||||
auto: {
|
||||
regex: /^auto$/
|
||||
}
|
||||
}
|
||||
|
||||
for (var flag in app.flags) {
|
||||
if(!app.flags.hasOwnProperty(flag)) continue;
|
||||
app.flags[flag].match = function (val) {
|
||||
return val.match(this.regex)
|
||||
}
|
||||
}
|
||||
|
||||
app.add_theme = function (name, theme) {
|
||||
name != null && theme != null && (settings.themes[name] = theme);
|
||||
return app;
|
||||
};
|
||||
|
||||
app.add_image = function (src, el) {
|
||||
var node = selector(el);
|
||||
if (node.length) {
|
||||
for (var i = 0, l = node.length; i < l; i++) {
|
||||
var img = document.createElement("img")
|
||||
img.setAttribute("data-src", src);
|
||||
node[i].appendChild(img);
|
||||
}
|
||||
}
|
||||
return app;
|
||||
};
|
||||
|
||||
app.run = function (o) {
|
||||
var options = extend(settings, o), images = [];
|
||||
|
||||
if(options.images instanceof window.NodeList){
|
||||
imageNodes = options.images;
|
||||
}
|
||||
else if(options.images instanceof window.Node){
|
||||
imageNodes = [options.images];
|
||||
}
|
||||
else{
|
||||
imageNodes = selector(options.images);
|
||||
}
|
||||
|
||||
if(options.elements instanceof window.NodeList){
|
||||
bgnodes = options.bgnodes;
|
||||
}
|
||||
else if(options.bgnodes instanceof window.Node){
|
||||
bgnodes = [options.bgnodes];
|
||||
}
|
||||
else{
|
||||
bgnodes = selector(options.bgnodes);
|
||||
}
|
||||
|
||||
preempted = true;
|
||||
|
||||
for (i = 0, l = imageNodes.length; i < l; i++) images.push(imageNodes[i]);
|
||||
|
||||
var holdercss = document.getElementById("holderjs-style");
|
||||
|
||||
if(!holdercss){
|
||||
holdercss = document.createElement("style");
|
||||
holdercss.setAttribute("id", "holderjs-style");
|
||||
holdercss.type = "text/css";
|
||||
document.getElementsByTagName("head")[0].appendChild(holdercss);
|
||||
}
|
||||
|
||||
if(holdercss.styleSheet){
|
||||
holdercss.styleSheet += options.stylesheet;
|
||||
}
|
||||
else{
|
||||
holdercss.textContent+= options.stylesheet;
|
||||
}
|
||||
|
||||
var cssregex = new RegExp(options.domain + "\/(.*?)\"?\\)");
|
||||
|
||||
for (var l = bgnodes.length, i = 0; i < l; i++) {
|
||||
var src = window.getComputedStyle(bgnodes[i], null)
|
||||
.getPropertyValue("background-image");
|
||||
var flags = src.match(cssregex);
|
||||
if (flags) {
|
||||
var holder = parse_flags(flags[1].split("/"), options);
|
||||
if (holder) {
|
||||
render("background", bgnodes[i], holder, src);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (var l = images.length, i = 0; i < l; i++) {
|
||||
var src = images[i].getAttribute("src") || images[i].getAttribute("data-src");
|
||||
if (src != null && src.indexOf(options.domain) >= 0) {
|
||||
var holder = parse_flags(src.substr(src.lastIndexOf(options.domain) + options.domain.length + 1)
|
||||
.split("/"), options);
|
||||
if (holder) {
|
||||
if (holder.fluid) {
|
||||
fluid(images[i], holder, src);
|
||||
} else {
|
||||
render("image", images[i], holder, src);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return app;
|
||||
};
|
||||
|
||||
contentLoaded(win, function () {
|
||||
if (window.addEventListener) {
|
||||
window.addEventListener("resize", fluid_update, false);
|
||||
window.addEventListener("orientationchange", fluid_update, false);
|
||||
} else {
|
||||
window.attachEvent("onresize", fluid_update)
|
||||
}
|
||||
preempted || app.run();
|
||||
});
|
||||
|
||||
if ( typeof define === "function" && define.amd ) {
|
||||
define( "Holder", [], function () { return app; } );
|
||||
}
|
||||
|
||||
})(Holder, window);
|
||||
@@ -0,0 +1,8 @@
|
||||
/*
|
||||
HTML5 Shiv v3.6.2pre | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
||||
*/
|
||||
(function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag();
|
||||
a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x<style>article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}</style>";
|
||||
c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="<xyz></xyz>";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||
|
||||
"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",version:"3.6.2pre",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);if(g)return a.createDocumentFragment();
|
||||
for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d<h;d++)c.createElement(e[d]);return c}};l.html5=e;q(f)})(this,document);
|
||||
@@ -2,7 +2,7 @@
|
||||
var hogan = require('hogan.js')
|
||||
, fs = require('fs')
|
||||
, prod = process.argv[2] == 'production'
|
||||
, title = 'Twitter Bootstrap'
|
||||
, title = 'Bootstrap'
|
||||
|
||||
var layout, pages
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 472 B After Width: | Height: | Size: 365 B |
|
Before Width: | Height: | Size: 115 B After Width: | Height: | Size: 81 B |
@@ -0,0 +1,539 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Customize · Bootstrap</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<!-- Le styles -->
|
||||
<link href="assets/css/bootstrap.css" rel="stylesheet">
|
||||
<link href="assets/css/bootstrap-responsive.css" rel="stylesheet">
|
||||
<link href="assets/css/docs.css" rel="stylesheet">
|
||||
<link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
|
||||
|
||||
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="assets/js/html5shiv.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<!-- Le fav and touch icons -->
|
||||
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-icon-144-precomposed.png">
|
||||
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-icon-114-precomposed.png">
|
||||
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-icon-72-precomposed.png">
|
||||
<link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-precomposed.png">
|
||||
<link rel="shortcut icon" href="assets/ico/favicon.png">
|
||||
|
||||
<script type="text/javascript">
|
||||
var _gaq = _gaq || [];
|
||||
_gaq.push(['_setAccount', 'UA-146052-10']);
|
||||
_gaq.push(['_trackPageview']);
|
||||
(function() {
|
||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body data-spy="scroll" data-target=".bs-docs-sidebar">
|
||||
|
||||
<!-- Navbar
|
||||
================================================== -->
|
||||
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||
<div class="navbar-inner">
|
||||
<div class="container">
|
||||
<button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a class="brand" href="./index.html">Bootstrap</a>
|
||||
<div class="nav-collapse collapse">
|
||||
<ul class="nav">
|
||||
<li class="">
|
||||
<a href="./index.html">Home</a>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="./getting-started.html">Get started</a>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="./scaffolding.html">Scaffolding</a>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="./base-css.html">Base CSS</a>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="./components.html">Components</a>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="./javascript.html">JavaScript</a>
|
||||
</li>
|
||||
<li class="active">
|
||||
<a href="./customize.html">Customize</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Masthead
|
||||
================================================== -->
|
||||
<header class="jumbotron subhead" id="overview">
|
||||
<div class="container">
|
||||
<h1>Customize and download</h1>
|
||||
<p class="lead"><a href="https://github.com/twitter/bootstrap/archive/v2.3.2.zip">Download Bootstrap</a> or customize variables, components, JavaScript plugins, and more.</p>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
|
||||
<div class="container">
|
||||
|
||||
<!-- Docs nav
|
||||
================================================== -->
|
||||
<div class="row">
|
||||
<div class="span3 bs-docs-sidebar">
|
||||
<ul class="nav nav-list bs-docs-sidenav">
|
||||
<li><a href="#components"><i class="icon-chevron-right"></i> 1. Choose components</a></li>
|
||||
<li><a href="#plugins"><i class="icon-chevron-right"></i> 2. Select jQuery plugins</a></li>
|
||||
<li><a href="#variables"><i class="icon-chevron-right"></i> 3. Customize variables</a></li>
|
||||
<li><a href="#download"><i class="icon-chevron-right"></i> 4. Download</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="span9">
|
||||
|
||||
|
||||
<!-- Customize form
|
||||
================================================== -->
|
||||
<form>
|
||||
<section class="download" id="components">
|
||||
<div class="page-header">
|
||||
<a class="btn btn-small pull-right toggle-all" href="#">Toggle all</a>
|
||||
<h1>
|
||||
1. Choose components
|
||||
</h1>
|
||||
</div>
|
||||
<div class="row download-builder">
|
||||
<div class="span3">
|
||||
<h3>Scaffolding</h3>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="reset.less"> Normalize and reset</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="scaffolding.less"> Body type and links</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="grid.less"> Grid system</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="layouts.less"> Layouts</label>
|
||||
<h3>Base CSS</h3>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="type.less"> Headings, body, etc</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="code.less"> Code and pre</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="labels-badges.less"> Labels and badges</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="tables.less"> Tables</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="forms.less"> Forms</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="buttons.less"> Buttons</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="sprites.less"> Icons</label>
|
||||
</div><!-- /span -->
|
||||
<div class="span3">
|
||||
<h3>Components</h3>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="button-groups.less"> Button groups and dropdowns</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="navs.less"> Navs, tabs, and pills</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="navbar.less"> Navbar</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="breadcrumbs.less"> Breadcrumbs</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="pagination.less"> Pagination</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="pager.less"> Pager</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="thumbnails.less"> Thumbnails</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="alerts.less"> Alerts</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="progress-bars.less"> Progress bars</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="hero-unit.less"> Hero unit</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="media.less"> Media component</label>
|
||||
<h3>JS Components</h3>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="tooltip.less"> Tooltips</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="popovers.less"> Popovers</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="modals.less"> Modals</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="dropdowns.less"> Dropdowns</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="accordion.less"> Collapse</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="carousel.less"> Carousel</label>
|
||||
</div><!-- /span -->
|
||||
<div class="span3">
|
||||
<h3>Miscellaneous</h3>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="wells.less"> Wells</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="close.less"> Close icon</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="utilities.less"> Utilities</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="component-animations.less"> Component animations</label>
|
||||
<h3>Responsive</h3>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="responsive-utilities.less"> Visible/hidden classes</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="responsive-767px-max.less"> Narrow tablets and below (<767px)</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="responsive-768px-979px.less"> Tablets to desktops (767-979px)</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="responsive-1200px-min.less"> Large desktops (>1200px)</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="responsive-navbar.less"> Responsive navbar</label>
|
||||
</div><!-- /span -->
|
||||
</div><!-- /row -->
|
||||
</section>
|
||||
|
||||
<section class="download" id="plugins">
|
||||
<div class="page-header">
|
||||
<a class="btn btn-small pull-right toggle-all" href="#">Toggle all</a>
|
||||
<h1>
|
||||
2. Select jQuery plugins
|
||||
</h1>
|
||||
</div>
|
||||
<div class="row download-builder">
|
||||
<div class="span3">
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" checked="true" value="bootstrap-transition.js">
|
||||
Transitions <small>(required for any animation)</small>
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" checked="true" value="bootstrap-modal.js">
|
||||
Modals
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" checked="true" value="bootstrap-dropdown.js">
|
||||
Dropdowns
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" checked="true" value="bootstrap-scrollspy.js">
|
||||
Scrollspy
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" checked="true" value="bootstrap-tab.js">
|
||||
Togglable tabs
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" checked="true" value="bootstrap-tooltip.js">
|
||||
Tooltips
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" checked="true" value="bootstrap-popover.js">
|
||||
Popovers <small>(requires Tooltips)</small>
|
||||
</label>
|
||||
</div><!-- /span -->
|
||||
<div class="span3">
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" checked="true" value="bootstrap-affix.js">
|
||||
Affix
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" checked="true" value="bootstrap-alert.js">
|
||||
Alert messages
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" checked="true" value="bootstrap-button.js">
|
||||
Buttons
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" checked="true" value="bootstrap-collapse.js">
|
||||
Collapse
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" checked="true" value="bootstrap-carousel.js">
|
||||
Carousel
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" checked="true" value="bootstrap-typeahead.js">
|
||||
Typeahead
|
||||
</label>
|
||||
</div><!-- /span -->
|
||||
<div class="span3">
|
||||
<h4 class="muted">Heads up!</h4>
|
||||
<p class="muted">All checked plugins will be compiled into a single file, bootstrap.js. All plugins require the latest version of <a href="http://jquery.com/" target="_blank">jQuery</a> to be included.</p>
|
||||
</div><!-- /span -->
|
||||
</div><!-- /row -->
|
||||
</section>
|
||||
|
||||
|
||||
<section class="download" id="variables">
|
||||
<div class="page-header">
|
||||
<a class="btn btn-small pull-right toggle-all" href="#">Reset to defaults</a>
|
||||
<h1>
|
||||
3. Customize variables
|
||||
</h1>
|
||||
</div>
|
||||
<div class="row download-builder">
|
||||
<div class="span3">
|
||||
<h3>Scaffolding</h3>
|
||||
<label>@bodyBackground</label>
|
||||
<input type="text" class="span3" placeholder="@white">
|
||||
<label>@textColor</label>
|
||||
<input type="text" class="span3" placeholder="@grayDark">
|
||||
|
||||
<h3>Links</h3>
|
||||
<label>@linkColor</label>
|
||||
<input type="text" class="span3" placeholder="#08c">
|
||||
<label>@linkColorHover</label>
|
||||
<input type="text" class="span3" placeholder="darken(@linkColor, 15%)">
|
||||
<h3>Colors</h3>
|
||||
<label>@blue</label>
|
||||
<input type="text" class="span3" placeholder="#049cdb">
|
||||
<label>@green</label>
|
||||
<input type="text" class="span3" placeholder="#46a546">
|
||||
<label>@red</label>
|
||||
<input type="text" class="span3" placeholder="#9d261d">
|
||||
<label>@yellow</label>
|
||||
<input type="text" class="span3" placeholder="#ffc40d">
|
||||
<label>@orange</label>
|
||||
<input type="text" class="span3" placeholder="#f89406">
|
||||
<label>@pink</label>
|
||||
<input type="text" class="span3" placeholder="#c3325f">
|
||||
<label>@purple</label>
|
||||
<input type="text" class="span3" placeholder="#7a43b6">
|
||||
|
||||
<h3>Sprites</h3>
|
||||
<label>@iconSpritePath</label>
|
||||
<input type="text" class="span3" placeholder="'../img/glyphicons-halflings.png'">
|
||||
<label>@iconWhiteSpritePath</label>
|
||||
<input type="text" class="span3" placeholder="'../img/glyphicons-halflings-white.png'">
|
||||
|
||||
<h3>Grid system</h3>
|
||||
<label>@gridColumns</label>
|
||||
<input type="text" class="span3" placeholder="12">
|
||||
<label>@gridColumnWidth</label>
|
||||
<input type="text" class="span3" placeholder="60px">
|
||||
<label>@gridGutterWidth</label>
|
||||
<input type="text" class="span3" placeholder="20px">
|
||||
<label>@gridColumnWidth1200</label>
|
||||
<input type="text" class="span3" placeholder="70px">
|
||||
<label>@gridGutterWidth1200</label>
|
||||
<input type="text" class="span3" placeholder="30px">
|
||||
<label>@gridColumnWidth768</label>
|
||||
<input type="text" class="span3" placeholder="42px">
|
||||
<label>@gridGutterWidth768</label>
|
||||
<input type="text" class="span3" placeholder="20px">
|
||||
|
||||
</div><!-- /span -->
|
||||
<div class="span3">
|
||||
|
||||
<h3>Typography</h3>
|
||||
<label>@sansFontFamily</label>
|
||||
<input type="text" class="span3" placeholder="'Helvetica Neue', Helvetica, Arial, sans-serif">
|
||||
<label>@serifFontFamily</label>
|
||||
<input type="text" class="span3" placeholder="Georgia, 'Times New Roman', Times, serif">
|
||||
<label>@monoFontFamily</label>
|
||||
<input type="text" class="span3" placeholder="Menlo, Monaco, 'Courier New', monospace">
|
||||
|
||||
<label>@baseFontSize</label>
|
||||
<input type="text" class="span3" placeholder="14px">
|
||||
<label>@baseFontFamily</label>
|
||||
<input type="text" class="span3" placeholder="@sansFontFamily">
|
||||
<label>@baseLineHeight</label>
|
||||
<input type="text" class="span3" placeholder="20px">
|
||||
|
||||
<label>@altFontFamily</label>
|
||||
<input type="text" class="span3" placeholder="@serifFontFamily">
|
||||
<label>@headingsFontFamily</label>
|
||||
<input type="text" class="span3" placeholder="inherit">
|
||||
<label>@headingsFontWeight</label>
|
||||
<input type="text" class="span3" placeholder="bold">
|
||||
<label>@headingsColor</label>
|
||||
<input type="text" class="span3" placeholder="inherit">
|
||||
|
||||
<label>@fontSizeLarge</label>
|
||||
<input type="text" class="span3" placeholder="@baseFontSize * 1.25">
|
||||
<label>@fontSizeSmall</label>
|
||||
<input type="text" class="span3" placeholder="@baseFontSize * 0.85">
|
||||
<label>@fontSizeMini</label>
|
||||
<input type="text" class="span3" placeholder="@baseFontSize * 0.75">
|
||||
|
||||
<label>@paddingLarge</label>
|
||||
<input type="text" class="span3" placeholder="11px 19px">
|
||||
<label>@paddingSmall</label>
|
||||
<input type="text" class="span3" placeholder="2px 10px">
|
||||
<label>@paddingMini</label>
|
||||
<input type="text" class="span3" placeholder="1px 6px">
|
||||
|
||||
<label>@baseBorderRadius</label>
|
||||
<input type="text" class="span3" placeholder="4px">
|
||||
<label>@borderRadiusLarge</label>
|
||||
<input type="text" class="span3" placeholder="6px">
|
||||
<label>@borderRadiusSmall</label>
|
||||
<input type="text" class="span3" placeholder="3px">
|
||||
|
||||
<label>@heroUnitBackground</label>
|
||||
<input type="text" class="span3" placeholder="@grayLighter">
|
||||
<label>@heroUnitHeadingColor</label>
|
||||
<input type="text" class="span3" placeholder="inherit">
|
||||
<label>@heroUnitLeadColor</label>
|
||||
<input type="text" class="span3" placeholder="inherit">
|
||||
|
||||
<h3>Tables</h3>
|
||||
<label>@tableBackground</label>
|
||||
<input type="text" class="span3" placeholder="transparent">
|
||||
<label>@tableBackgroundAccent</label>
|
||||
<input type="text" class="span3" placeholder="#f9f9f9">
|
||||
<label>@tableBackgroundHover</label>
|
||||
<input type="text" class="span3" placeholder="#f5f5f5">
|
||||
<label>@tableBorder</label>
|
||||
<input type="text" class="span3" placeholder="#ddd">
|
||||
|
||||
<h3>Forms</h3>
|
||||
<label>@placeholderText</label>
|
||||
<input type="text" class="span3" placeholder="@grayLight">
|
||||
<label>@inputBackground</label>
|
||||
<input type="text" class="span3" placeholder="@white">
|
||||
<label>@inputBorder</label>
|
||||
<input type="text" class="span3" placeholder="#ccc">
|
||||
<label>@inputBorderRadius</label>
|
||||
<input type="text" class="span3" placeholder="3px">
|
||||
<label>@inputDisabledBackground</label>
|
||||
<input type="text" class="span3" placeholder="@grayLighter">
|
||||
<label>@formActionsBackground</label>
|
||||
<input type="text" class="span3" placeholder="#f5f5f5">
|
||||
<label>@btnPrimaryBackground</label>
|
||||
<input type="text" class="span3" placeholder="@linkColor">
|
||||
<label>@btnPrimaryBackgroundHighlight</label>
|
||||
<input type="text" class="span3" placeholder="darken(@white, 10%)">
|
||||
|
||||
</div><!-- /span -->
|
||||
<div class="span3">
|
||||
|
||||
<h3>Form states & alerts</h3>
|
||||
<label>@warningText</label>
|
||||
<input type="text" class="span3" placeholder="#c09853">
|
||||
<label>@warningBackground</label>
|
||||
<input type="text" class="span3" placeholder="#fcf8e3">
|
||||
<label>@errorText</label>
|
||||
<input type="text" class="span3" placeholder="#b94a48">
|
||||
<label>@errorBackground</label>
|
||||
<input type="text" class="span3" placeholder="#f2dede">
|
||||
<label>@successText</label>
|
||||
<input type="text" class="span3" placeholder="#468847">
|
||||
<label>@successBackground</label>
|
||||
<input type="text" class="span3" placeholder="#dff0d8">
|
||||
<label>@infoText</label>
|
||||
<input type="text" class="span3" placeholder="#3a87ad">
|
||||
<label>@infoBackground</label>
|
||||
<input type="text" class="span3" placeholder="#d9edf7">
|
||||
|
||||
<h3>Navbar</h3>
|
||||
<label>@navbarHeight</label>
|
||||
<input type="text" class="span3" placeholder="40px">
|
||||
<label>@navbarBackground</label>
|
||||
<input type="text" class="span3" placeholder="@grayDarker">
|
||||
<label>@navbarBackgroundHighlight</label>
|
||||
<input type="text" class="span3" placeholder="@grayDark">
|
||||
<label>@navbarText</label>
|
||||
<input type="text" class="span3" placeholder="@grayLight">
|
||||
<label>@navbarBrandColor</label>
|
||||
<input type="text" class="span3" placeholder="@navbarLinkColor">
|
||||
<label>@navbarLinkColor</label>
|
||||
<input type="text" class="span3" placeholder="@grayLight">
|
||||
<label>@navbarLinkColorHover</label>
|
||||
<input type="text" class="span3" placeholder="@white">
|
||||
<label>@navbarLinkColorActive</label>
|
||||
<input type="text" class="span3" placeholder="@navbarLinkColorHover">
|
||||
<label>@navbarLinkBackgroundHover</label>
|
||||
<input type="text" class="span3" placeholder="transparent">
|
||||
<label>@navbarLinkBackgroundActive</label>
|
||||
<input type="text" class="span3" placeholder="@navbarBackground">
|
||||
<label>@navbarSearchBackground</label>
|
||||
<input type="text" class="span3" placeholder="lighten(@navbarBackground, 25%)">
|
||||
<label>@navbarSearchBackgroundFocus</label>
|
||||
<input type="text" class="span3" placeholder="@white">
|
||||
<label>@navbarSearchBorder</label>
|
||||
<input type="text" class="span3" placeholder="darken(@navbarSearchBackground, 30%)">
|
||||
<label>@navbarSearchPlaceholderColor</label>
|
||||
<input type="text" class="span3" placeholder="#ccc">
|
||||
|
||||
<label>@navbarCollapseWidth</label>
|
||||
<input type="text" class="span3" placeholder="979px">
|
||||
<label>@navbarCollapseDesktopWidth</label>
|
||||
<input type="text" class="span3" placeholder="@navbarCollapseWidth + 1">
|
||||
|
||||
<h3>Dropdowns</h3>
|
||||
<label>@dropdownBackground</label>
|
||||
<input type="text" class="span3" placeholder="@white">
|
||||
<label>@dropdownBorder</label>
|
||||
<input type="text" class="span3" placeholder="rgba(0,0,0,.2)">
|
||||
<label>@dropdownLinkColor</label>
|
||||
<input type="text" class="span3" placeholder="@grayDark">
|
||||
<label>@dropdownLinkColorHover</label>
|
||||
<input type="text" class="span3" placeholder="@white">
|
||||
<label>@dropdownLinkBackgroundHover</label>
|
||||
<input type="text" class="span3" placeholder="@linkColor">
|
||||
</div><!-- /span -->
|
||||
</div><!-- /row -->
|
||||
</section>
|
||||
|
||||
<section class="download" id="download">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
4. Download
|
||||
</h1>
|
||||
</div>
|
||||
<div class="download-btn">
|
||||
<a class="btn btn-primary" href="#" onclick="_gaq.push(['_trackEvent', 'Customize', 'Download', 'Customize and Download']);">Customize and Download</a>
|
||||
<h4>What's included?</h4>
|
||||
<p>Downloads include compiled CSS, compiled and minified CSS, and compiled jQuery plugins, all nicely packed up into a zipball for your convenience.</p>
|
||||
</div>
|
||||
</section><!-- /download -->
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<!-- Footer
|
||||
================================================== -->
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p>Designed and built with all the love in the world by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.</p>
|
||||
<p>Code licensed under <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>, documentation under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
|
||||
<p><a href="http://glyphicons.com">Glyphicons Free</a> licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
|
||||
<ul class="footer-links">
|
||||
<li><a href="http://blog.getbootstrap.com">Blog</a></li>
|
||||
<li class="muted">·</li>
|
||||
<li><a href="https://github.com/twbs/bootstrap/issues?state=open">Issues</a></li>
|
||||
<li class="muted">·</li>
|
||||
<li><a href="https://github.com/twbs/bootstrap/releases">Changelog</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
<!-- Le javascript
|
||||
================================================== -->
|
||||
<!-- Placed at the end of the document so the pages load faster -->
|
||||
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
|
||||
<script src="assets/js/jquery.js"></script>
|
||||
<script src="assets/js/bootstrap-transition.js"></script>
|
||||
<script src="assets/js/bootstrap-alert.js"></script>
|
||||
<script src="assets/js/bootstrap-modal.js"></script>
|
||||
<script src="assets/js/bootstrap-dropdown.js"></script>
|
||||
<script src="assets/js/bootstrap-scrollspy.js"></script>
|
||||
<script src="assets/js/bootstrap-tab.js"></script>
|
||||
<script src="assets/js/bootstrap-tooltip.js"></script>
|
||||
<script src="assets/js/bootstrap-popover.js"></script>
|
||||
<script src="assets/js/bootstrap-button.js"></script>
|
||||
<script src="assets/js/bootstrap-collapse.js"></script>
|
||||
<script src="assets/js/bootstrap-carousel.js"></script>
|
||||
<script src="assets/js/bootstrap-typeahead.js"></script>
|
||||
<script src="assets/js/bootstrap-affix.js"></script>
|
||||
|
||||
<script src="assets/js/holder/holder.js"></script>
|
||||
<script src="assets/js/google-code-prettify/prettify.js"></script>
|
||||
|
||||
<script src="assets/js/application.js"></script>
|
||||
|
||||
|
||||
<!-- Analytics
|
||||
================================================== -->
|
||||
<script>
|
||||
var _gauges = _gauges || [];
|
||||
(function() {
|
||||
var t = document.createElement('script');
|
||||
t.type = 'text/javascript';
|
||||
t.async = true;
|
||||
t.id = 'gauges-tracker';
|
||||
t.setAttribute('data-site-id', '4f0dc9fef5a1f55508000013');
|
||||
t.src = '//secure.gaug.es/track.js';
|
||||
var s = document.getElementsByTagName('script')[0];
|
||||
s.parentNode.insertBefore(t, s);
|
||||
})();
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,454 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Download · Twitter Bootstrap</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<!-- Le styles -->
|
||||
<link href="assets/css/bootstrap.css" rel="stylesheet">
|
||||
<link href="assets/css/bootstrap-responsive.css" rel="stylesheet">
|
||||
<link href="assets/css/docs.css" rel="stylesheet">
|
||||
<link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
|
||||
|
||||
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<!-- Le fav and touch icons -->
|
||||
<link rel="shortcut icon" href="assets/ico/favicon.ico">
|
||||
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-icon-144-precomposed.png">
|
||||
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-icon-114-precomposed.png">
|
||||
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-icon-72-precomposed.png">
|
||||
<link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-precomposed.png">
|
||||
|
||||
</head>
|
||||
|
||||
<body data-spy="scroll" data-target=".subnav" data-offset="50">
|
||||
|
||||
|
||||
<!-- Navbar
|
||||
================================================== -->
|
||||
<div class="navbar navbar-fixed-top">
|
||||
<div class="navbar-inner">
|
||||
<div class="container">
|
||||
<button type="button"class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a class="brand" href="./index.html">Bootstrap</a>
|
||||
<div class="nav-collapse collapse">
|
||||
<ul class="nav">
|
||||
<li class="">
|
||||
<a href="./index.html">Overview</a>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="./scaffolding.html">Scaffolding</a>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="./base-css.html">Base CSS</a>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="./components.html">Components</a>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="./javascript.html">Javascript plugins</a>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="./less.html">Using LESS</a>
|
||||
</li>
|
||||
<li class="divider-vertical"></li>
|
||||
<li class="active">
|
||||
<a href="./download.html">Customize</a>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="./examples.html">Examples</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
|
||||
<!-- Masthead
|
||||
================================================== -->
|
||||
<header class="jumbotron subhead" id="overview">
|
||||
<h1>Customize and download</h1>
|
||||
<p class="lead"><a href="https://github.com/twitter/bootstrap/zipball/master">Download the full repository</a> or customize your entire Bootstrap build by selecting only the components, javascript plugins, and assets you need.</p>
|
||||
<div class="subnav">
|
||||
<ul class="nav nav-pills">
|
||||
<li><a href="#components">1. Choose components</a></li>
|
||||
<li><a href="#plugins">2. Select jQuery plugins</a></li>
|
||||
<li><a href="#variables">3. Customize variables</a></li>
|
||||
<li><a href="#download">4. Download</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<section class="download" id="components">
|
||||
<div class="page-header">
|
||||
<a class="btn btn-small pull-right toggle-all" href="#">Toggle all</a>
|
||||
<h1>
|
||||
1. Choose components
|
||||
<small>Get just the CSS you need</small>
|
||||
</h1>
|
||||
</div>
|
||||
<div class="row download-builder">
|
||||
<div class="span3">
|
||||
<h3>Scaffolding</h3>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="reset.less"> Normalize and reset</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="scaffolding.less"> Body type and links</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="grid.less"> Grid system</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="layouts.less"> Layouts</label>
|
||||
<h3>Base CSS</h3>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="type.less"> Headings, body, etc</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="code.less"> Code and pre</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="labels-badges.less"> Labels and badges</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="tables.less"> Tables</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="forms.less"> Forms</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="buttons.less"> Buttons</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="sprites.less"> Icons</label>
|
||||
</div><!-- /span -->
|
||||
<div class="span3">
|
||||
<h3>Components</h3>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="button-groups.less"> Button groups and dropdowns</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="navs.less"> Navs, tabs, and pills</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="navbar.less"> Navbar</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="breadcrumbs.less"> Breadcrumbs</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="pagination.less"> Pagination</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="pager.less"> Pager</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="thumbnails.less"> Thumbnails</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="alerts.less"> Alerts</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="progress-bars.less"> Progress bars</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="hero-unit.less"> Hero unit</label>
|
||||
</div><!-- /span -->
|
||||
<div class="span3">
|
||||
<h3>JS Components</h3>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="tooltip.less"> Tooltips</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="popovers.less"> Popovers</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="modals.less"> Modals</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="dropdowns.less"> Dropdowns</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="accordion.less"> Collapse</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="carousel.less"> Carousel</label>
|
||||
</div><!-- /span -->
|
||||
<div class="span3">
|
||||
<h3>Miscellaneous</h3>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="wells.less"> Wells</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="close.less"> Close icon</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="utilities.less"> Utilities</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="component-animations.less"> Component animations</label>
|
||||
<h3>Responsive</h3>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="responsive-utilities.less"> Visible/hidden classes</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="responsive-767px-max.less"> Narrow tablets and below (<767px)</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="responsive-768px-979px.less"> Tablets to desktops (767-979px)</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="responsive-1200px-min.less"> Large desktops (>1200px)</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="responsive-navbar.less"> Responsive navbar</label>
|
||||
</div><!-- /span -->
|
||||
</div><!-- /row -->
|
||||
</section>
|
||||
|
||||
<section class="download" id="plugins">
|
||||
<div class="page-header">
|
||||
<a class="btn btn-small pull-right toggle-all" href="#">Toggle all</a>
|
||||
<h1>
|
||||
2. Select jQuery plugins
|
||||
<small>Quickly add only the necessary javascript</small>
|
||||
</h1>
|
||||
</div>
|
||||
<div class="row download-builder">
|
||||
<div class="span4">
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" checked="true" value="bootstrap-transition.js">
|
||||
Transitions <small>(required for any animation)</small>
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" checked="true" value="bootstrap-modal.js">
|
||||
Modals
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" checked="true" value="bootstrap-dropdown.js">
|
||||
Dropdowns
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" checked="true" value="bootstrap-scrollspy.js">
|
||||
Scrollspy
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" checked="true" value="bootstrap-tab.js">
|
||||
Togglable tabs
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" checked="true" value="bootstrap-tooltip.js">
|
||||
Tooltips
|
||||
</label>
|
||||
</div><!-- /span -->
|
||||
<div class="span4">
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" checked="true" value="bootstrap-popover.js">
|
||||
Popovers <small>(requires Tooltips)</small>
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" checked="true" value="bootstrap-alert.js">
|
||||
Alert messages
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" checked="true" value="bootstrap-button.js">
|
||||
Buttons
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" checked="true" value="bootstrap-collapse.js">
|
||||
Collapse
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" checked="true" value="bootstrap-carousel.js">
|
||||
Carousel
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" checked="true" value="bootstrap-typeahead.js">
|
||||
Typeahead
|
||||
</label>
|
||||
</div><!-- /span -->
|
||||
<div class="span4">
|
||||
<h4 class="muted">Heads up!</h4>
|
||||
<p class="muted">All checked plugins will be compiled into a single file, bootstrap.js. All plugins require the latest version of <a href="http://jquery.com/" target="_blank">jQuery</a> to be included.</p>
|
||||
</div><!-- /span -->
|
||||
</div><!-- /row -->
|
||||
</section>
|
||||
|
||||
|
||||
<section class="download" id="variables">
|
||||
<div class="page-header">
|
||||
<a class="btn btn-small pull-right toggle-all" href="#">Reset to defaults</a>
|
||||
<h1>
|
||||
3. Customize variables
|
||||
<small>Optionally modify Bootstrap without a compiler</small>
|
||||
</h1>
|
||||
</div>
|
||||
<div class="row download-builder">
|
||||
<div class="span3">
|
||||
<h3>Scaffolding</h3>
|
||||
<label>@bodyBackground</label>
|
||||
<input type="text" class="span3" placeholder="@white">
|
||||
<label>@textColor</label>
|
||||
<input type="text" class="span3" placeholder="@grayDark">
|
||||
|
||||
<h3>Links</h3>
|
||||
<label>@linkColor</label>
|
||||
<input type="text" class="span3" placeholder="#08c">
|
||||
<label>@linkColorHover</label>
|
||||
<input type="text" class="span3" placeholder="darken(@linkColor, 15%)">
|
||||
<h3>Colors</h3>
|
||||
<label>@blue</label>
|
||||
<input type="text" class="span3" placeholder="#049cdb">
|
||||
<label>@green</label>
|
||||
<input type="text" class="span3" placeholder="#46a546">
|
||||
<label>@red</label>
|
||||
<input type="text" class="span3" placeholder="#9d261d">
|
||||
<label>@yellow</label>
|
||||
<input type="text" class="span3" placeholder="#ffc40d">
|
||||
<label>@orange</label>
|
||||
<input type="text" class="span3" placeholder="#f89406">
|
||||
<label>@pink</label>
|
||||
<input type="text" class="span3" placeholder="#c3325f">
|
||||
<label>@purple</label>
|
||||
<input type="text" class="span3" placeholder="#7a43b6">
|
||||
|
||||
<h3>Sprites</h3>
|
||||
<label>@iconSpritePath</label>
|
||||
<input type="text" class="span3" placeholder="'../img/glyphicons-halflings.png'">
|
||||
<label>@iconWhiteSpritePath</label>
|
||||
<input type="text" class="span3" placeholder="'../img/glyphicons-halflings-white.png'">
|
||||
|
||||
</div><!-- /span -->
|
||||
<div class="span3">
|
||||
<h3>Grid system</h3>
|
||||
<label>@gridColumns</label>
|
||||
<input type="text" class="span3" placeholder="12">
|
||||
<label>@gridColumnWidth</label>
|
||||
<input type="text" class="span3" placeholder="60px">
|
||||
<label>@gridGutterWidth</label>
|
||||
<input type="text" class="span3" placeholder="20px">
|
||||
<h3>Fluid grid system</h3>
|
||||
<label>@fluidGridColumnWidth</label>
|
||||
<input type="text" class="span3" placeholder="6.382978723%">
|
||||
<label>@fluidGridGutterWidth</label>
|
||||
<input type="text" class="span3" placeholder="2.127659574%">
|
||||
|
||||
<h3>Typography</h3>
|
||||
<label>@sansFontFamily</label>
|
||||
<input type="text" class="span3" placeholder="'Helvetica Neue', Helvetica, Arial, sans-serif">
|
||||
<label>@serifFontFamily</label>
|
||||
<input type="text" class="span3" placeholder="Georgia, 'Times New Roman', Times, serif">
|
||||
<label>@monoFontFamily</label>
|
||||
<input type="text" class="span3" placeholder="Menlo, Monaco, 'Courier New', monospace">
|
||||
<label>@baseFontSize</label>
|
||||
<input type="text" class="span3" placeholder="13px">
|
||||
<label>@baseFontFamily</label>
|
||||
<input type="text" class="span3" placeholder="@sansFontFamily">
|
||||
<label>@baseLineHeight</label>
|
||||
<input type="text" class="span3" placeholder="18px">
|
||||
<label>@altFontFamily</label>
|
||||
<input type="text" class="span3" placeholder="@serifFontFamily">
|
||||
<label>@headingsFontFamily</label>
|
||||
<input type="text" class="span3" placeholder="inherit">
|
||||
<label>@headingsFontWeight</label>
|
||||
<input type="text" class="span3" placeholder="bold">
|
||||
<label>@headingsColor</label>
|
||||
<input type="text" class="span3" placeholder="inherit">
|
||||
<label>@heroUnitBackground</label>
|
||||
<input type="text" class="span3" placeholder="@grayLighter">
|
||||
<label>@heroUnitHeadingColor</label>
|
||||
<input type="text" class="span3" placeholder="inherit">
|
||||
<label>@heroUnitLeadColor</label>
|
||||
<input type="text" class="span3" placeholder="inherit">
|
||||
</div><!-- /span -->
|
||||
<div class="span3">
|
||||
<h3>Tables</h3>
|
||||
<label>@tableBackground</label>
|
||||
<input type="text" class="span3" placeholder="transparent">
|
||||
<label>@tableBackgroundAccent</label>
|
||||
<input type="text" class="span3" placeholder="#f9f9f9">
|
||||
<label>@tableBackgroundHover</label>
|
||||
<input type="text" class="span3" placeholder="#f5f5f5">
|
||||
<label>@tableBorder</label>
|
||||
<input type="text" class="span3" placeholder="#ddd">
|
||||
|
||||
<h3>Navbar</h3>
|
||||
<label>@navbarHeight</label>
|
||||
<input type="text" class="span3" placeholder="40px">
|
||||
<label>@navbarBackground</label>
|
||||
<input type="text" class="span3" placeholder="@grayDarker">
|
||||
<label>@navbarBackgroundHighlight</label>
|
||||
<input type="text" class="span3" placeholder="@grayDark">
|
||||
<label>@navbarText</label>
|
||||
<input type="text" class="span3" placeholder="@grayLight">
|
||||
<label>@navbarBrandColor</label>
|
||||
<input type="text" class="span3" placeholder="@navbarLinkColor">
|
||||
<label>@navbarLinkColor</label>
|
||||
<input type="text" class="span3" placeholder="@grayLight">
|
||||
<label>@navbarLinkColorHover</label>
|
||||
<input type="text" class="span3" placeholder="@white">
|
||||
<label>@navbarLinkColorActive</label>
|
||||
<input type="text" class="span3" placeholder="@navbarLinkColorHover">
|
||||
<label>@navbarLinkBackgroundHover</label>
|
||||
<input type="text" class="span3" placeholder="transparent">
|
||||
<label>@navbarLinkBackgroundActive</label>
|
||||
<input type="text" class="span3" placeholder="@navbarBackground">
|
||||
<label>@navbarSearchBackground</label>
|
||||
<input type="text" class="span3" placeholder="lighten(@navbarBackground, 25%)">
|
||||
<label>@navbarSearchBackgroundFocus</label>
|
||||
<input type="text" class="span3" placeholder="@white">
|
||||
<label>@navbarSearchBorder</label>
|
||||
<input type="text" class="span3" placeholder="darken(@navbarSearchBackground, 30%)">
|
||||
<label>@navbarSearchPlaceholderColor</label>
|
||||
<input type="text" class="span3" placeholder="#ccc">
|
||||
|
||||
<h3>Dropdowns</h3>
|
||||
<label>@dropdownBackground</label>
|
||||
<input type="text" class="span3" placeholder="@white">
|
||||
<label>@dropdownBorder</label>
|
||||
<input type="text" class="span3" placeholder="rgba(0,0,0,.2)">
|
||||
<label>@dropdownLinkColor</label>
|
||||
<input type="text" class="span3" placeholder="@grayDark">
|
||||
<label>@dropdownLinkColorHover</label>
|
||||
<input type="text" class="span3" placeholder="@white">
|
||||
<label>@dropdownLinkBackgroundHover</label>
|
||||
<input type="text" class="span3" placeholder="@linkColor">
|
||||
</div><!-- /span -->
|
||||
<div class="span3">
|
||||
<h3>Forms</h3>
|
||||
<label>@placeholderText</label>
|
||||
<input type="text" class="span3" placeholder="@grayLight">
|
||||
<label>@inputBackground</label>
|
||||
<input type="text" class="span3" placeholder="@white">
|
||||
<label>@inputBorder</label>
|
||||
<input type="text" class="span3" placeholder="#ccc">
|
||||
<label>@inputBorderRadius</label>
|
||||
<input type="text" class="span3" placeholder="3px">
|
||||
<label>@inputDisabledBackground</label>
|
||||
<input type="text" class="span3" placeholder="@grayLighter">
|
||||
<label>@formActionsBackground</label>
|
||||
<input type="text" class="span3" placeholder="#f5f5f5">
|
||||
|
||||
<label>@btnPrimaryBackground</label>
|
||||
<input type="text" class="span3" placeholder="@linkColor">
|
||||
<label>@btnPrimaryBackgroundHighlight</label>
|
||||
<input type="text" class="span3" placeholder="darken(@white, 10%);">
|
||||
|
||||
<h3>Form states & alerts</h3>
|
||||
<label>@warningText</label>
|
||||
<input type="text" class="span3" placeholder="#c09853">
|
||||
<label>@warningBackground</label>
|
||||
<input type="text" class="span3" placeholder="#fcf8e3">
|
||||
<label>@errorText</label>
|
||||
<input type="text" class="span3" placeholder="#b94a48">
|
||||
<label>@errorBackground</label>
|
||||
<input type="text" class="span3" placeholder="#f2dede">
|
||||
<label>@successText</label>
|
||||
<input type="text" class="span3" placeholder="#468847">
|
||||
<label>@successBackground</label>
|
||||
<input type="text" class="span3" placeholder="#dff0d8">
|
||||
<label>@infoText</label>
|
||||
<input type="text" class="span3" placeholder="#3a87ad">
|
||||
<label>@infoBackground</label>
|
||||
<input type="text" class="span3" placeholder="#d9edf7">
|
||||
</div><!-- /span -->
|
||||
</div><!-- /row -->
|
||||
</section>
|
||||
|
||||
<section class="download" id="download">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
4. Download
|
||||
</h1>
|
||||
</div>
|
||||
<div class="download-btn">
|
||||
<a class="btn btn-primary" href="#" >Customize and Download</a>
|
||||
<h4>What's included?</h4>
|
||||
<p>Downloads include compiled CSS, compiled and minified CSS, and compiled jQuery plugins, all nicely packed up into a zipball for your convenience.</p>
|
||||
</div>
|
||||
</section><!-- /download -->
|
||||
|
||||
|
||||
<!-- Footer
|
||||
================================================== -->
|
||||
<footer class="footer">
|
||||
<p class="pull-right"><a href="#">Back to top</a></p>
|
||||
<p>Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.</p>
|
||||
<p>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
|
||||
<p>Icons from <a href="http://glyphicons.com">Glyphicons Free</a>, licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
|
||||
</footer>
|
||||
|
||||
</div><!-- /container -->
|
||||
|
||||
|
||||
|
||||
<!-- Le javascript
|
||||
================================================== -->
|
||||
<!-- Placed at the end of the document so the pages load faster -->
|
||||
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
|
||||
<script src="assets/js/jquery.js"></script>
|
||||
<script src="assets/js/google-code-prettify/prettify.js"></script>
|
||||
<script src="assets/js/bootstrap-transition.js"></script>
|
||||
<script src="assets/js/bootstrap-alert.js"></script>
|
||||
<script src="assets/js/bootstrap-modal.js"></script>
|
||||
<script src="assets/js/bootstrap-dropdown.js"></script>
|
||||
<script src="assets/js/bootstrap-scrollspy.js"></script>
|
||||
<script src="assets/js/bootstrap-tab.js"></script>
|
||||
<script src="assets/js/bootstrap-tooltip.js"></script>
|
||||
<script src="assets/js/bootstrap-popover.js"></script>
|
||||
<script src="assets/js/bootstrap-button.js"></script>
|
||||
<script src="assets/js/bootstrap-collapse.js"></script>
|
||||
<script src="assets/js/bootstrap-carousel.js"></script>
|
||||
<script src="assets/js/bootstrap-typeahead.js"></script>
|
||||
<script src="assets/js/application.js"></script>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,147 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Examples · Twitter Bootstrap</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<!-- Le styles -->
|
||||
<link href="assets/css/bootstrap.css" rel="stylesheet">
|
||||
<link href="assets/css/bootstrap-responsive.css" rel="stylesheet">
|
||||
<link href="assets/css/docs.css" rel="stylesheet">
|
||||
<link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
|
||||
|
||||
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<!-- Le fav and touch icons -->
|
||||
<link rel="shortcut icon" href="assets/ico/favicon.ico">
|
||||
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-icon-144-precomposed.png">
|
||||
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-icon-114-precomposed.png">
|
||||
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-icon-72-precomposed.png">
|
||||
<link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-precomposed.png">
|
||||
|
||||
</head>
|
||||
|
||||
<body data-spy="scroll" data-target=".subnav" data-offset="50">
|
||||
|
||||
|
||||
<!-- Navbar
|
||||
================================================== -->
|
||||
<div class="navbar navbar-fixed-top">
|
||||
<div class="navbar-inner">
|
||||
<div class="container">
|
||||
<button type="button"class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a class="brand" href="./index.html">Bootstrap</a>
|
||||
<div class="nav-collapse collapse">
|
||||
<ul class="nav">
|
||||
<li class="">
|
||||
<a href="./index.html">Overview</a>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="./scaffolding.html">Scaffolding</a>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="./base-css.html">Base CSS</a>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="./components.html">Components</a>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="./javascript.html">Javascript plugins</a>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="./less.html">Using LESS</a>
|
||||
</li>
|
||||
<li class="divider-vertical"></li>
|
||||
<li class="">
|
||||
<a href="./download.html">Customize</a>
|
||||
</li>
|
||||
<li class="active">
|
||||
<a href="./examples.html">Examples</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
|
||||
<!-- Masthead
|
||||
================================================== -->
|
||||
<header class="jumbotron subhead" id="overview">
|
||||
<h1>Bootstrap examples</h1>
|
||||
<p class="lead">We've included a few basic examples as starting points for your work with Bootstrap. We encourage folks to iterate on these examples and not simply use them as an end result.</p>
|
||||
</header>
|
||||
|
||||
|
||||
<ul class="thumbnails bootstrap-examples">
|
||||
<li class="span4">
|
||||
<a class="thumbnail" href="examples/hero.html">
|
||||
<img src="assets/img/examples/bootstrap-example-hero.jpg" alt="">
|
||||
</a>
|
||||
<h3>Basic marketing site</h3>
|
||||
<p>Featuring a hero unit for a primary message and three supporting elements.</p>
|
||||
</li>
|
||||
<li class="span4">
|
||||
<a class="thumbnail" href="examples/fluid.html">
|
||||
<img src="assets/img/examples/bootstrap-example-fluid.jpg" alt="">
|
||||
</a>
|
||||
<h3>Fluid layout</h3>
|
||||
<p>Uses our new responsive, fluid grid system to create a seamless liquid layout.</p>
|
||||
</li>
|
||||
<li class="span4">
|
||||
<a class="thumbnail" href="examples/starter-template.html">
|
||||
<img src="assets/img/examples/bootstrap-example-starter.jpg" alt="">
|
||||
</a>
|
||||
<h3>Starter template</h3>
|
||||
<p>A barebones HTML document with all the Bootstrap CSS and javascript included.</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<!-- Footer
|
||||
================================================== -->
|
||||
<footer class="footer">
|
||||
<p class="pull-right"><a href="#">Back to top</a></p>
|
||||
<p>Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.</p>
|
||||
<p>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
|
||||
<p>Icons from <a href="http://glyphicons.com">Glyphicons Free</a>, licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
|
||||
</footer>
|
||||
|
||||
</div><!-- /container -->
|
||||
|
||||
|
||||
|
||||
<!-- Le javascript
|
||||
================================================== -->
|
||||
<!-- Placed at the end of the document so the pages load faster -->
|
||||
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
|
||||
<script src="assets/js/jquery.js"></script>
|
||||
<script src="assets/js/google-code-prettify/prettify.js"></script>
|
||||
<script src="assets/js/bootstrap-transition.js"></script>
|
||||
<script src="assets/js/bootstrap-alert.js"></script>
|
||||
<script src="assets/js/bootstrap-modal.js"></script>
|
||||
<script src="assets/js/bootstrap-dropdown.js"></script>
|
||||
<script src="assets/js/bootstrap-scrollspy.js"></script>
|
||||
<script src="assets/js/bootstrap-tab.js"></script>
|
||||
<script src="assets/js/bootstrap-tooltip.js"></script>
|
||||
<script src="assets/js/bootstrap-popover.js"></script>
|
||||
<script src="assets/js/bootstrap-button.js"></script>
|
||||
<script src="assets/js/bootstrap-collapse.js"></script>
|
||||
<script src="assets/js/bootstrap-carousel.js"></script>
|
||||
<script src="assets/js/bootstrap-typeahead.js"></script>
|
||||
<script src="assets/js/application.js"></script>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,454 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Carousel Template · Bootstrap</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<!-- Le styles -->
|
||||
<link href="../assets/css/bootstrap.css" rel="stylesheet">
|
||||
<link href="../assets/css/bootstrap-responsive.css" rel="stylesheet">
|
||||
<style>
|
||||
|
||||
/* GLOBAL STYLES
|
||||
-------------------------------------------------- */
|
||||
/* Padding below the footer and lighter body text */
|
||||
|
||||
body {
|
||||
padding-bottom: 40px;
|
||||
color: #5a5a5a;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* CUSTOMIZE THE NAVBAR
|
||||
-------------------------------------------------- */
|
||||
|
||||
/* Special class on .container surrounding .navbar, used for positioning it into place. */
|
||||
.navbar-wrapper {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
z-index: 10;
|
||||
margin-top: 20px;
|
||||
margin-bottom: -90px; /* Negative margin to pull up carousel. 90px is roughly margins and height of navbar. */
|
||||
}
|
||||
.navbar-wrapper .navbar {
|
||||
|
||||
}
|
||||
|
||||
/* Remove border and change up box shadow for more contrast */
|
||||
.navbar .navbar-inner {
|
||||
border: 0;
|
||||
-webkit-box-shadow: 0 2px 10px rgba(0,0,0,.25);
|
||||
-moz-box-shadow: 0 2px 10px rgba(0,0,0,.25);
|
||||
box-shadow: 0 2px 10px rgba(0,0,0,.25);
|
||||
}
|
||||
|
||||
/* Downsize the brand/project name a bit */
|
||||
.navbar .brand {
|
||||
padding: 14px 20px 16px; /* Increase vertical padding to match navbar links */
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
text-shadow: 0 -1px 0 rgba(0,0,0,.5);
|
||||
}
|
||||
|
||||
/* Navbar links: increase padding for taller navbar */
|
||||
.navbar .nav > li > a {
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
/* Offset the responsive button for proper vertical alignment */
|
||||
.navbar .btn-navbar {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* CUSTOMIZE THE CAROUSEL
|
||||
-------------------------------------------------- */
|
||||
|
||||
/* Carousel base class */
|
||||
.carousel {
|
||||
margin-bottom: 60px;
|
||||
}
|
||||
|
||||
.carousel .container {
|
||||
position: relative;
|
||||
z-index: 9;
|
||||
}
|
||||
|
||||
.carousel-control {
|
||||
height: 80px;
|
||||
margin-top: 0;
|
||||
font-size: 120px;
|
||||
text-shadow: 0 1px 1px rgba(0,0,0,.4);
|
||||
background-color: transparent;
|
||||
border: 0;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.carousel .item {
|
||||
height: 500px;
|
||||
}
|
||||
.carousel img {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
min-width: 100%;
|
||||
height: 500px;
|
||||
}
|
||||
|
||||
.carousel-caption {
|
||||
background-color: transparent;
|
||||
position: static;
|
||||
max-width: 550px;
|
||||
padding: 0 20px;
|
||||
margin-top: 200px;
|
||||
}
|
||||
.carousel-caption h1,
|
||||
.carousel-caption .lead {
|
||||
margin: 0;
|
||||
line-height: 1.25;
|
||||
color: #fff;
|
||||
text-shadow: 0 1px 1px rgba(0,0,0,.4);
|
||||
}
|
||||
.carousel-caption .btn {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* MARKETING CONTENT
|
||||
-------------------------------------------------- */
|
||||
|
||||
/* Center align the text within the three columns below the carousel */
|
||||
.marketing .span4 {
|
||||
text-align: center;
|
||||
}
|
||||
.marketing h2 {
|
||||
font-weight: normal;
|
||||
}
|
||||
.marketing .span4 p {
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
|
||||
/* Featurettes
|
||||
------------------------- */
|
||||
|
||||
.featurette-divider {
|
||||
margin: 80px 0; /* Space out the Bootstrap <hr> more */
|
||||
}
|
||||
.featurette {
|
||||
padding-top: 120px; /* Vertically center images part 1: add padding above and below text. */
|
||||
overflow: hidden; /* Vertically center images part 2: clear their floats. */
|
||||
}
|
||||
.featurette-image {
|
||||
margin-top: -120px; /* Vertically center images part 3: negative margin up the image the same amount of the padding to center it. */
|
||||
}
|
||||
|
||||
/* Give some space on the sides of the floated elements so text doesn't run right into it. */
|
||||
.featurette-image.pull-left {
|
||||
margin-right: 40px;
|
||||
}
|
||||
.featurette-image.pull-right {
|
||||
margin-left: 40px;
|
||||
}
|
||||
|
||||
/* Thin out the marketing headings */
|
||||
.featurette-heading {
|
||||
font-size: 50px;
|
||||
font-weight: 300;
|
||||
line-height: 1;
|
||||
letter-spacing: -1px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* RESPONSIVE CSS
|
||||
-------------------------------------------------- */
|
||||
|
||||
@media (max-width: 979px) {
|
||||
|
||||
.container.navbar-wrapper {
|
||||
margin-bottom: 0;
|
||||
width: auto;
|
||||
}
|
||||
.navbar-inner {
|
||||
border-radius: 0;
|
||||
margin: -20px 0;
|
||||
}
|
||||
|
||||
.carousel .item {
|
||||
height: 500px;
|
||||
}
|
||||
.carousel img {
|
||||
width: auto;
|
||||
height: 500px;
|
||||
}
|
||||
|
||||
.featurette {
|
||||
height: auto;
|
||||
padding: 0;
|
||||
}
|
||||
.featurette-image.pull-left,
|
||||
.featurette-image.pull-right {
|
||||
display: block;
|
||||
float: none;
|
||||
max-width: 40%;
|
||||
margin: 0 auto 20px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@media (max-width: 767px) {
|
||||
|
||||
.navbar-inner {
|
||||
margin: -20px;
|
||||
}
|
||||
|
||||
.carousel {
|
||||
margin-left: -20px;
|
||||
margin-right: -20px;
|
||||
}
|
||||
.carousel .container {
|
||||
|
||||
}
|
||||
.carousel .item {
|
||||
height: 300px;
|
||||
}
|
||||
.carousel img {
|
||||
height: 300px;
|
||||
}
|
||||
.carousel-caption {
|
||||
width: 65%;
|
||||
padding: 0 70px;
|
||||
margin-top: 100px;
|
||||
}
|
||||
.carousel-caption h1 {
|
||||
font-size: 30px;
|
||||
}
|
||||
.carousel-caption .lead,
|
||||
.carousel-caption .btn {
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.marketing .span4 + .span4 {
|
||||
margin-top: 40px;
|
||||
}
|
||||
|
||||
.featurette-heading {
|
||||
font-size: 30px;
|
||||
}
|
||||
.featurette .lead {
|
||||
font-size: 18px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
}
|
||||
</style>
|
||||
|
||||
<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../assets/js/html5shiv.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<!-- Fav and touch icons -->
|
||||
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png">
|
||||
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png">
|
||||
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png">
|
||||
<link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png">
|
||||
<link rel="shortcut icon" href="../assets/ico/favicon.png">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
|
||||
|
||||
<!-- NAVBAR
|
||||
================================================== -->
|
||||
<div class="navbar-wrapper">
|
||||
<!-- Wrap the .navbar in .container to center it within the absolutely positioned parent. -->
|
||||
<div class="container">
|
||||
|
||||
<div class="navbar navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<!-- Responsive Navbar Part 1: Button for triggering responsive navbar (not covered in tutorial). Include responsive CSS to utilize. -->
|
||||
<button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a class="brand" href="#">Project name</a>
|
||||
<!-- Responsive Navbar Part 2: Place all navbar contents you want collapsed withing .navbar-collapse.collapse. -->
|
||||
<div class="nav-collapse collapse">
|
||||
<ul class="nav">
|
||||
<li class="active"><a href="#">Home</a></li>
|
||||
<li><a href="#about">About</a></li>
|
||||
<li><a href="#contact">Contact</a></li>
|
||||
<!-- Read about Bootstrap dropdowns at http://twbs.github.com/bootstrap/javascript.html#dropdowns -->
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="#">Action</a></li>
|
||||
<li><a href="#">Another action</a></li>
|
||||
<li><a href="#">Something else here</a></li>
|
||||
<li class="divider"></li>
|
||||
<li class="nav-header">Nav header</li>
|
||||
<li><a href="#">Separated link</a></li>
|
||||
<li><a href="#">One more separated link</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!--/.nav-collapse -->
|
||||
</div><!-- /.navbar-inner -->
|
||||
</div><!-- /.navbar -->
|
||||
|
||||
</div> <!-- /.container -->
|
||||
</div><!-- /.navbar-wrapper -->
|
||||
|
||||
|
||||
|
||||
<!-- Carousel
|
||||
================================================== -->
|
||||
<div id="myCarousel" class="carousel slide">
|
||||
<div class="carousel-inner">
|
||||
<div class="item active">
|
||||
<img src="../assets/img/examples/slide-01.jpg" alt="">
|
||||
<div class="container">
|
||||
<div class="carousel-caption">
|
||||
<h1>Example headline.</h1>
|
||||
<p class="lead">Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
|
||||
<a class="btn btn-large btn-primary" href="#">Sign up today</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<img src="../assets/img/examples/slide-02.jpg" alt="">
|
||||
<div class="container">
|
||||
<div class="carousel-caption">
|
||||
<h1>Another example headline.</h1>
|
||||
<p class="lead">Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
|
||||
<a class="btn btn-large btn-primary" href="#">Learn more</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<img src="../assets/img/examples/slide-03.jpg" alt="">
|
||||
<div class="container">
|
||||
<div class="carousel-caption">
|
||||
<h1>One more for good measure.</h1>
|
||||
<p class="lead">Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
|
||||
<a class="btn btn-large btn-primary" href="#">Browse gallery</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a class="left carousel-control" href="#myCarousel" data-slide="prev">‹</a>
|
||||
<a class="right carousel-control" href="#myCarousel" data-slide="next">›</a>
|
||||
</div><!-- /.carousel -->
|
||||
|
||||
|
||||
|
||||
<!-- Marketing messaging and featurettes
|
||||
================================================== -->
|
||||
<!-- Wrap the rest of the page in another container to center all the content. -->
|
||||
|
||||
<div class="container marketing">
|
||||
|
||||
<!-- Three columns of text below the carousel -->
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<img class="img-circle" data-src="holder.js/140x140">
|
||||
<h2>Heading</h2>
|
||||
<p>Donec sed odio dui. Etiam porta sem malesuada magna mollis euismod. Nullam id dolor id nibh ultricies vehicula ut id elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Praesent commodo cursus magna, vel scelerisque nisl consectetur et.</p>
|
||||
<p><a class="btn" href="#">View details »</a></p>
|
||||
</div><!-- /.span4 -->
|
||||
<div class="span4">
|
||||
<img class="img-circle" data-src="holder.js/140x140">
|
||||
<h2>Heading</h2>
|
||||
<p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
|
||||
<p><a class="btn" href="#">View details »</a></p>
|
||||
</div><!-- /.span4 -->
|
||||
<div class="span4">
|
||||
<img class="img-circle" data-src="holder.js/140x140">
|
||||
<h2>Heading</h2>
|
||||
<p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
|
||||
<p><a class="btn" href="#">View details »</a></p>
|
||||
</div><!-- /.span4 -->
|
||||
</div><!-- /.row -->
|
||||
|
||||
|
||||
<!-- START THE FEATURETTES -->
|
||||
|
||||
<hr class="featurette-divider">
|
||||
|
||||
<div class="featurette">
|
||||
<img class="featurette-image pull-right" src="../assets/img/examples/browser-icon-chrome.png">
|
||||
<h2 class="featurette-heading">First featurette headling. <span class="muted">It'll blow your mind.</span></h2>
|
||||
<p class="lead">Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus commodo.</p>
|
||||
</div>
|
||||
|
||||
<hr class="featurette-divider">
|
||||
|
||||
<div class="featurette">
|
||||
<img class="featurette-image pull-left" src="../assets/img/examples/browser-icon-firefox.png">
|
||||
<h2 class="featurette-heading">Oh yeah, it's that good. <span class="muted">See for yourself.</span></h2>
|
||||
<p class="lead">Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus commodo.</p>
|
||||
</div>
|
||||
|
||||
<hr class="featurette-divider">
|
||||
|
||||
<div class="featurette">
|
||||
<img class="featurette-image pull-right" src="../assets/img/examples/browser-icon-safari.png">
|
||||
<h2 class="featurette-heading">And lastly, this one. <span class="muted">Checkmate.</span></h2>
|
||||
<p class="lead">Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus commodo.</p>
|
||||
</div>
|
||||
|
||||
<hr class="featurette-divider">
|
||||
|
||||
<!-- /END THE FEATURETTES -->
|
||||
|
||||
|
||||
<!-- FOOTER -->
|
||||
<footer>
|
||||
<p class="pull-right"><a href="#">Back to top</a></p>
|
||||
<p>© 2013 Company, Inc. · <a href="#">Privacy</a> · <a href="#">Terms</a></p>
|
||||
</footer>
|
||||
|
||||
</div><!-- /.container -->
|
||||
|
||||
|
||||
|
||||
<!-- Le javascript
|
||||
================================================== -->
|
||||
<!-- Placed at the end of the document so the pages load faster -->
|
||||
<script src="../assets/js/jquery.js"></script>
|
||||
<script src="../assets/js/bootstrap-transition.js"></script>
|
||||
<script src="../assets/js/bootstrap-alert.js"></script>
|
||||
<script src="../assets/js/bootstrap-modal.js"></script>
|
||||
<script src="../assets/js/bootstrap-dropdown.js"></script>
|
||||
<script src="../assets/js/bootstrap-scrollspy.js"></script>
|
||||
<script src="../assets/js/bootstrap-tab.js"></script>
|
||||
<script src="../assets/js/bootstrap-tooltip.js"></script>
|
||||
<script src="../assets/js/bootstrap-popover.js"></script>
|
||||
<script src="../assets/js/bootstrap-button.js"></script>
|
||||
<script src="../assets/js/bootstrap-collapse.js"></script>
|
||||
<script src="../assets/js/bootstrap-carousel.js"></script>
|
||||
<script src="../assets/js/bootstrap-typeahead.js"></script>
|
||||
<script>
|
||||
!function ($) {
|
||||
$(function(){
|
||||
// carousel demo
|
||||
$('#myCarousel').carousel()
|
||||
})
|
||||
}(window.jQuery)
|
||||
</script>
|
||||
<script src="../assets/js/holder/holder.js"></script>
|
||||
</body>
|
||||
</html>
|
||||