Comparar commits
728 Commits
| Autor | SHA1 | Data | |
|---|---|---|---|
| aaabe2a46c | |||
| 66ac6e14db | |||
| 7b282798a3 | |||
| 5be84ad0b7 | |||
| f9744ff522 | |||
| e659dc7e1b | |||
| 839ef3a030 | |||
| 79d7092a39 | |||
| d8aaf50798 | |||
| fc871a4821 | |||
| 73453c7f79 | |||
| 1c2db11d58 | |||
| 805ca03457 | |||
| 7f6f3ff462 | |||
| f805a6080c | |||
| 419e50e339 | |||
| b8b1ffde05 | |||
| c408d8961b | |||
| c896a182e1 | |||
| 091a97c01c | |||
| 176e0b1169 | |||
| 99a916d5eb | |||
| 192cb575da | |||
| f84882122e | |||
| 03f78f7a60 | |||
| 1160935446 | |||
| de9271bfd1 | |||
| c99dcd2e93 | |||
| fd009597b6 | |||
| f89394b8ef | |||
| edb52a82d8 | |||
| bc07e2adae | |||
| b627898919 | |||
| 8f98c4fbf6 | |||
| 47b6e6bd80 | |||
| 62a0f5fdcb | |||
| 178a9f3b51 | |||
| 48e6d88889 | |||
| c09602d172 | |||
| f3cf4cbaae | |||
| ba202d77ba | |||
| 031fa47f68 | |||
| d5a95315eb | |||
| 8e8b1ad03d | |||
| 2881269e16 | |||
| a3ec868ac2 | |||
| 457859feba | |||
| 498b7d984a | |||
| 5fa0fcc888 | |||
| 41b695b8cd | |||
| a184806538 | |||
| 6cf9906a60 | |||
| 5c5310dc87 | |||
| b67a2d8a59 | |||
| d374fe92e5 | |||
| 6506ede632 | |||
| 0b8042656f | |||
| 13e4d1d5ac | |||
| cad8f2b43a | |||
| e985681758 | |||
| 2a6894d834 | |||
| 6c221d65e3 | |||
| a4c2332eb1 | |||
| c262ead6ed | |||
| be0efcfcfc | |||
| 1ca1ef94ee | |||
| 9e9be2dc0d | |||
| cf4924764c | |||
| 19469aa52c | |||
| b14455b03a | |||
| 2dbce887df | |||
| a6f27ebed4 | |||
| c7dc4cc573 | |||
| 8dc1a0eade | |||
| ce94442104 | |||
| d65f7f204a | |||
| 490eb1bd16 | |||
| 3bc7553f66 | |||
| 16855b920e | |||
| fc7ae48c95 | |||
| def7ae7798 | |||
| 4bcb89946b | |||
| d8acc062c1 | |||
| 2486033754 | |||
| 82267d48ff | |||
| 34132f0e89 | |||
| ce30d19c15 | |||
| dbde2dc9e4 | |||
| 3408064d00 | |||
| d5063e5dc8 | |||
| 81a296d06a | |||
| c291e4d786 | |||
| 575f18aaf4 | |||
| 8575a45294 | |||
| a7d8145a32 | |||
| c710f03995 | |||
| 0e6f12af86 | |||
| 5b85ed181a | |||
| 48063afb3a | |||
| 0b2d23d443 | |||
| 28c4ed824e | |||
| 5bc601d9a8 | |||
| 08fee005a8 | |||
| 11064c4d34 | |||
| a20cd66ba4 | |||
| 3ecf109835 | |||
| 1d30225e2c | |||
| 0a71f171bc | |||
| f563b1db43 | |||
| 5591a9b966 | |||
| 798363eda7 | |||
| 10ff5f16a6 | |||
| 4b81c0dff3 | |||
| fedce0cec7 | |||
| 4953629ccd | |||
| 83febb3452 | |||
| 4bd611884a | |||
| ff57f59562 | |||
| 2ea437f353 | |||
| 4462f24753 | |||
| 2988de6377 | |||
| 030265eaec | |||
| 7bf4c8e76e | |||
| 574592cba5 | |||
| 647f1c98ed | |||
| fe05f9aeb2 | |||
| 33fa705c7f | |||
| d652af1097 | |||
| 452ddc0f0d | |||
| f37d9aeaef | |||
| 2355fd224d | |||
| 56ecc6ba96 | |||
| 37745cd899 | |||
| 2f4810e72f | |||
| 2dc979a202 | |||
| 0665c3ebf7 | |||
| 422d04cb2b | |||
| 30b3f47e31 | |||
| 8ea8c312ea | |||
| 6564afbe73 | |||
| 2bbc9a1cb2 | |||
| a9f9949b3e | |||
| 04baa07547 | |||
| feccc6e705 | |||
| 3308d1968f | |||
| d6680a50b9 | |||
| 369ca13c75 | |||
| 66743676ce | |||
| 93d42ca80e | |||
| e41584afb5 | |||
| 2165ab2620 | |||
| 0fe68de1a4 | |||
| 5b3268317c | |||
| d27fc24aa0 | |||
| 155a7c1067 | |||
| 5d2062a3cc | |||
| 917f11e679 | |||
| d4914f47c3 | |||
| cffadd8c71 | |||
| 4449c4e9e0 | |||
| 473e5714f7 | |||
| ea437351ed | |||
| 4893928310 | |||
| 825227474b | |||
| 3e2e111b17 | |||
| 519384fae8 | |||
| 95c2877ffc | |||
| 998c8a6e3d | |||
| 8d52e6d458 | |||
| 4c3e7690ba | |||
| cbd77d0aeb | |||
| d0526e31fa | |||
| c0f28d81b0 | |||
| a62810918f | |||
| a5552a1d70 | |||
| b81a082cd1 | |||
| 6c5c29ada2 | |||
| a7b8e52f8e | |||
| d1864b3608 | |||
| 1837b8ef2c | |||
| 223c8358ce | |||
| 3e7920820a | |||
| 0dfff052cb | |||
| f02d017ffa | |||
| 6dc59a9c3e | |||
| bccc2cb719 | |||
| ef5ac02b69 | |||
| de0aaff433 | |||
| f9f03d8976 | |||
| c7afe382a2 | |||
| f87e4c60e9 | |||
| 035b85eeba | |||
| a57554222f | |||
| 0b41984920 | |||
| eb4f708b91 | |||
| 5179df1928 | |||
| de7aee2465 | |||
| 622b8fa3f0 | |||
| e84161076b | |||
| f330de0b5c | |||
| 281e058ef2 | |||
| ee3fc11add | |||
| 2729d15742 | |||
| b8d8ab1aad | |||
| 81f31d95c8 | |||
| a28fa20018 | |||
| c4fb703269 | |||
| 7ea34ae0ef | |||
| 7376eef378 | |||
| 303ba1326b | |||
| ac64d9405b | |||
| 50b2245be5 | |||
| 20da2c8ea0 | |||
| ab068f6fda | |||
| bdf8a6966b | |||
| dbadac183d | |||
| 1852d077bf | |||
| b011daf67f | |||
| 254bb40f00 | |||
| edca6f28f0 | |||
| b7b84c7a0d | |||
| ceab161324 | |||
| 1a6a1828bf | |||
| 42f636032c | |||
| e0c85fb69c | |||
| 78e37e7d21 | |||
| 89ea238c32 | |||
| b59cb505f8 | |||
| fa1b3bdda4 | |||
| 0e73a0e94b | |||
| d839bf961b | |||
| d7af2714c6 | |||
| 239c178b68 | |||
| cfce34e300 | |||
| 0f57bdab75 | |||
| d335adf644 | |||
| b3bf223617 | |||
| 20e085723b | |||
| 706ee46b73 | |||
| 94b24aaa47 | |||
| 22963d7346 | |||
| d5fb653914 | |||
| 2f06366399 | |||
| 02a67ea59e | |||
| a0203bc8e0 | |||
| cb8dcfcebf | |||
| 663e41d74f | |||
| 63bd7cb478 | |||
| bce33bbb09 | |||
| 630ff4ff7d | |||
| 07d23b927e | |||
| 384a082e8d | |||
| 05e0d5f3d9 | |||
| 67f199678c | |||
| 83a7a69893 | |||
| bf59220b87 | |||
| 5a2c7eb50a | |||
| d115d169b7 | |||
| cdd158c571 | |||
| 4c0905c5f2 | |||
| 527fb87dad | |||
| 2c4230e2d3 | |||
| 99e96f64f7 | |||
| bf09c979ca | |||
| 51f37cbb81 | |||
| 1a1cab2d06 | |||
| d3873b0fc7 | |||
| 8e0afbeaa4 | |||
| 6a61e81b7a | |||
| ffa0d2f180 | |||
| 59503e71ff | |||
| 8182b1ef69 | |||
| 1f7a64aa3d | |||
| 664a838cd6 | |||
| 6d4867e799 | |||
| 56fe54df43 | |||
| cd89c34d99 | |||
| 7f3a2b3813 | |||
| e12c66aabe | |||
| 40fddffeec | |||
| 5dff63d767 | |||
| 685039d608 | |||
| c35b04cccd | |||
| debc4b752f | |||
| f4b51b373b | |||
| d36f3d0a59 | |||
| 7c2ed0c095 | |||
| 5eed370856 | |||
| 58cb7c631d | |||
| 91eef351e4 | |||
| 0630cd62b3 | |||
| 0090fa1a6e | |||
| ac7f571e53 | |||
| e5a284d442 | |||
| 1a11c526b9 | |||
| 5a28bd1e78 | |||
| ee5d2ec91a | |||
| c8f4325c19 | |||
| 67714d8347 | |||
| 0f23883283 | |||
| 2e52946fd3 | |||
| 4109c62cf7 | |||
| 7154e378b2 | |||
| 95cb6f07a8 | |||
| 8fd126ba1b | |||
| ce292a8bb8 | |||
| a97b9c1122 | |||
| 354252b4b5 | |||
| bf6cdff88a | |||
| ffbed0980c | |||
| ad1e9697ae | |||
| e8ef7d5e7b | |||
| 349bdc12a7 | |||
| 635ee36e11 | |||
| 6e72760de5 | |||
| 6a2c519152 | |||
| 5de8b277c6 | |||
| a3e9fc547c | |||
| f4ac080f9e | |||
| 1dbb942d5b | |||
| 95a3cd8732 | |||
| cecfe72060 | |||
| 145a36323c | |||
| 9c1d8e032b | |||
| 700457c62a | |||
| 67aa00d0bb | |||
| aef230d40a | |||
| f7d4fb61ce | |||
| dd5cffc308 | |||
| c7eb1ab49a | |||
| a07851d6af | |||
| 04851652db | |||
| 1fd5e55881 | |||
| 1a8d7576e0 | |||
| 922b5fba53 | |||
| 9ebc6b4c97 | |||
| 5d961eaeb3 | |||
| f4e879a936 | |||
| c414e57dcc | |||
| 305374ab1a | |||
| b410eeb6dd | |||
| 3ff78d138a | |||
| aa8e6b081c | |||
| 1cc1852a9a | |||
| 1562381114 | |||
| af1dbf6581 | |||
| d3721c504e | |||
| bcef12dfcc | |||
| 26e683f1d0 | |||
| 426feeef6a | |||
| 203d75770c | |||
| d0120c94a0 | |||
| 933136d382 | |||
| a613a8ebd0 | |||
| 27c3d5a90b | |||
| 69e4522a4e | |||
| 6b9f70797d | |||
| 03bdf82ca2 | |||
| 738fac18de | |||
| 492ccedcab | |||
| 79090ac121 | |||
| bcd9294cc4 | |||
| d98a2e9234 | |||
| ac6eff280d | |||
| 9c2b2c589d | |||
| 20b10b5d66 | |||
| eaf464a2c5 | |||
| cb9234ba46 | |||
| 7a8d6b1976 | |||
| fb1d4a0f04 | |||
| 1fa42e2f71 | |||
| 235811cd8a | |||
| a95c15a530 | |||
| d3e922f0c8 | |||
| 3cbc40b129 | |||
| 29c63fdb6a | |||
| 3524aa909c | |||
| 2f598e35a0 | |||
| 1aeca545c8 | |||
| efd5e29ff4 | |||
| 0112b56c9c | |||
| 6a839fb2c3 | |||
| ff8b997a1f | |||
| 7bf3419647 | |||
| bd55824827 | |||
| 2087339035 | |||
| a397130669 | |||
| 15759d9e7c | |||
| fbebb046f7 | |||
| 6c9547f411 | |||
| 9ee77f2c11 | |||
| a7b96b3e59 | |||
| 5cc4fcf6a2 | |||
| 0b78033f0b | |||
| d12737719f | |||
| 2c98e18724 | |||
| 4e17b1975e | |||
| ca9588c896 | |||
| 7525aac830 | |||
| d57598827f | |||
| af8261af93 | |||
| 7bdd9551ed | |||
| 8615987243 | |||
| ae3382d797 | |||
| 163f58ff81 | |||
| dd94f8d509 | |||
| 1a781a707e | |||
| ccf7697185 | |||
| 0a8efd5320 | |||
| 43760eb202 | |||
| fb74018ae2 | |||
| 6abb2059eb | |||
| 4309153051 | |||
| be9ae70060 | |||
| 591908eccf | |||
| 1562a8a010 | |||
| 34268672be | |||
| 74a3c763b4 | |||
| 0e8427e7b1 | |||
| 3a6f58598c | |||
| 70fecd1115 | |||
| 80d03e143c | |||
| 8609a77bd2 | |||
| 0ed6d3b28e | |||
| 6f3b4b857f | |||
| a0ec422444 | |||
| b86969f762 | |||
| 4410ede8ed | |||
| 92a54a7b72 | |||
| f3b6cf1d6d | |||
| 5ad5dde1e2 | |||
| a139167489 | |||
| 9b524a16e9 | |||
| 917df6703c | |||
| 8bd67bb124 | |||
| 20221a67c2 | |||
| b4cc6c74f5 | |||
| e3ae517555 | |||
| 8665fa8c50 | |||
| 575072b74b | |||
| bb16b9bef2 | |||
| 664a5c4438 | |||
| 1cfb3fd03a | |||
| 45cec4a6fa | |||
| d908731566 | |||
| 187b3bd4bd | |||
| a78faee589 | |||
| 80abc50d3e | |||
| f3ad4c7183 | |||
| e423fc2629 | |||
| f50b2c9b92 | |||
| dfd0326186 | |||
| d149a131c1 | |||
| f046c12bd2 | |||
| 06d4756114 | |||
| d2630ff84e | |||
| 143b3db2c9 | |||
| 331c85724a | |||
| 9c74f21966 | |||
| 91fe8bc0f4 | |||
| 2b8fc018ba | |||
| e18a35784a | |||
| 7ef7547a14 | |||
| 6df925bc75 | |||
| 9f608411cb | |||
| f81e5fbe9f | |||
| 9b09d1de86 | |||
| 1c7d346767 | |||
| 8247cb3362 | |||
| f4f34ab12f | |||
| 59d570fc16 | |||
| 3470c0dc49 | |||
| 89ccbdf8d1 | |||
| 5f2d2893d2 | |||
| 8482cc4cb3 | |||
| adbbf17ee4 | |||
| 16d12396d0 | |||
| 532242e626 | |||
| f28140897e | |||
| e145619f6d | |||
| 82457603b6 | |||
| ad546c9631 | |||
| 51ec513b5c | |||
| c1775da187 | |||
| f08b407667 | |||
| df757fb040 | |||
| ac6e667ad9 | |||
| 3d58b46226 | |||
| 1948e985a3 | |||
| ba97f56912 | |||
| bbb2fb3395 | |||
| fed3b59e46 | |||
| dc4a864aaa | |||
| 29e6ef7c70 | |||
| db940b3d8f | |||
| 1a1816b5bd | |||
| c900d72857 | |||
| 2068b74ea8 | |||
| 7609fd4dc6 | |||
| f5bd4b3c8f | |||
| b776cae902 | |||
| ec05ebc5ed | |||
| 1455bc9f8f | |||
| b559f2b8d0 | |||
| e7d45184f1 | |||
| 5d02b8c3c6 | |||
| 7fa1578c49 | |||
| 1e6d386b8d | |||
| 7ec09d0db9 | |||
| 03e6dc66c2 | |||
| 091622644a | |||
| 6f6adfb52f | |||
| 268e7d67ab | |||
| 61e2201c64 | |||
| 489276f5be | |||
| 0369c1fcfc | |||
| c3d3cf7262 | |||
| 9d12b2d601 | |||
| b3e4e5ae22 | |||
| 1520ec446c | |||
| 6da16a6def | |||
| e730f8adb5 | |||
| f9b578260f | |||
| 792059b7ad | |||
| 18760393d7 | |||
| a8c478e051 | |||
| 6e77c9d123 | |||
| 9143d8e449 | |||
| 28cfa8be03 | |||
| 64ea59234f | |||
| 60826077e7 | |||
| da94850844 | |||
| ce5976fb29 | |||
| cbe10bd591 | |||
| 944c7298d3 | |||
| 3e00c1261f | |||
| be6fdd9a62 | |||
| 4d1f1f0fc7 | |||
| 81d101a6a7 | |||
| 5fc62c5fcc | |||
| 16f2e0e19e | |||
| 87ed82207a | |||
| ac9ac4ddae | |||
| 163c98ea7e | |||
| a57dbada0f | |||
| b8493ed8b7 | |||
| 1b32e982ad | |||
| 0ff88f2db3 | |||
| a9e469e75a | |||
| 86b6ea4b5f | |||
| de6f3d4a6f | |||
| ebe547b6a0 | |||
| 24df7f1e1d | |||
| b9d5ceb14b | |||
| 5b4a29d84e | |||
| a2bc22bad5 | |||
| c02df93903 | |||
| a72ef967ba | |||
| d7953a8f1e | |||
| ed07a4d0ce | |||
| 2eedf60d62 | |||
| b327420e52 | |||
| 158419c045 | |||
| 5bb55e4615 | |||
| 343012a9af | |||
| 5b22cf5cc3 | |||
| a84092d225 | |||
| c16ccf64f1 | |||
| 85d8fe884c | |||
| a497e9010a | |||
| 5a3dfb72bf | |||
| 4ddc8fd0e4 | |||
| 102bb8e684 | |||
| 2679c3ebe3 | |||
| 8f1db4321a | |||
| 60ee768537 | |||
| efac5441d8 | |||
| 855dcd3f56 | |||
| cbccbed8c8 | |||
| 722c75d1b1 | |||
| a63663a3b6 | |||
| 02cb4df469 | |||
| 89205d9db4 | |||
| b4b3343a61 | |||
| c720d951be | |||
| 8a91f927f5 | |||
| d7aefe67e3 | |||
| c10661cf5d | |||
| 9126014e93 | |||
| d9eff8efc1 | |||
| 451a642ae8 | |||
| 4c7b9b8fce | |||
| 920d995843 | |||
| 2e5a81601c | |||
| b0bd3efc4a | |||
| b36a744fa7 | |||
| 687c8bf761 | |||
| 04fd01d4b6 | |||
| e8f1a10ec9 | |||
| 139a077543 | |||
| d390a921dc | |||
| 9928e7fd3c | |||
| 91d0997c79 | |||
| 25bf0af249 | |||
| 11f72f6aa2 | |||
| 00c13691a9 | |||
| adff17ac03 | |||
| 2d9b3c45d3 | |||
| 3b57fba754 | |||
| 3fa971378e | |||
| 7dffeb471f | |||
| b5f1d2f3a4 | |||
| 6840d8f776 | |||
| 7ce62ffc98 | |||
| 63fd119c6e | |||
| c76b32bdef | |||
| a10c23f1aa | |||
| 6325402372 | |||
| 1a97cce19b | |||
| 4ed1b13719 | |||
| 575b82473f | |||
| 3722bb9a88 | |||
| 7e92b33f12 | |||
| 407ca09226 | |||
| 9ba9185afc | |||
| c8c4d5b392 | |||
| 98cffdbf46 | |||
| 8a8daca71e | |||
| 85e401a656 | |||
| f9847b300b | |||
| f8db6a3b53 | |||
| 546332d85d | |||
| f8c2d9b53d | |||
| 59b32586af | |||
| 91475c865d | |||
| 4a09cf04d8 | |||
| 2a192468d3 | |||
| d92523f329 | |||
| ff91b233eb | |||
| 53da88e561 | |||
| f59b7ce8ea | |||
| abf4ecac4d | |||
| 83cb105317 | |||
| 9b5b8460b4 | |||
| 2f42f35c69 | |||
| 6661639b37 | |||
| 0336f1e644 | |||
| dfcb2d1ed8 | |||
| f29e3263b0 | |||
| cdb1ad1a52 | |||
| 31abeec0f2 | |||
| 125368d4db | |||
| a2848ebb00 | |||
| 93fea1f1cf | |||
| 35fdddbc4f | |||
| 418bf5221a | |||
| 87a8c9b677 | |||
| 679cd5ea02 | |||
| 6d8ac203e5 | |||
| b297a61f82 | |||
| 468688638d | |||
| 7e81f84b29 | |||
| 81d1f3b96e | |||
| 9259e24f73 | |||
| ac98cee609 | |||
| f922a0800b | |||
| f68f7870ef | |||
| 7f0a64106d | |||
| c04241b615 | |||
| 906028abdb | |||
| ced08f6935 | |||
| 9ab843b936 | |||
| e92e9f1138 | |||
| ab4345332d | |||
| bd0e952003 | |||
| 4c237e688b | |||
| cf488c2800 | |||
| dfdc63e872 | |||
| 8c0b47a6a8 | |||
| 4158701894 | |||
| 99f395bcd7 | |||
| 77871a4205 | |||
| 7da9b16307 | |||
| 9c3218c89b | |||
| d86e77a256 | |||
| 8dd2b3d3f8 | |||
| 1ec6628e80 | |||
| 25ffe14c1b | |||
| aa8a7668cb | |||
| 58fd0dea36 | |||
| 98d1659ef8 | |||
| e26da36b9a | |||
| 43d797dfff | |||
| e1deb4e767 | |||
| 4211f21e39 | |||
| 6738042c61 | |||
| c1f0da7cce | |||
| cc8a8df125 | |||
| 1b8863f925 | |||
| c3c13a2474 | |||
| f34ddb5c3f | |||
| 94c2c70e6e | |||
| 54bfdf1183 | |||
| 8a1769c9e2 | |||
| f2d3026de8 | |||
| 1ebe51c834 | |||
| 4d918beb26 | |||
| 2e1649410c | |||
| e36496fd84 | |||
| 3ea3950225 | |||
| 2fd6a2e9f6 | |||
| 3a2f0765bf | |||
| 73238701bd | |||
| 5c1527abc5 | |||
| f166c5a35b | |||
| 9b9e1d309b | |||
| 87df230408 | |||
| 59016d2198 | |||
| 11319f6da9 | |||
| 12ed7a2b33 | |||
| 981cbfb4fa | |||
| b96e80cf39 | |||
| a486a6f20b | |||
| 140d90db63 | |||
| 7f32d15fbb | |||
| 19b70dc414 | |||
| 97b3057824 | |||
| 918a17a30b |
@@ -6,12 +6,14 @@
|
||||
*.rej
|
||||
*.swo
|
||||
*.swp
|
||||
*.zip
|
||||
*.vi
|
||||
*~
|
||||
*.sass-cache
|
||||
|
||||
# OS or Editor folders
|
||||
.DS_Store
|
||||
._*
|
||||
Thumbs.db
|
||||
.cache
|
||||
.project
|
||||
@@ -30,4 +32,5 @@ nbproject
|
||||
.hg
|
||||
.svn
|
||||
.CVS
|
||||
.idea
|
||||
.idea
|
||||
node_modules
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
language: node_js
|
||||
node_js:
|
||||
- 0.6
|
||||
@@ -1,13 +1,176 @@
|
||||
Copyright 2012 Twitter, Inc.
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
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
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
1. Definitions.
|
||||
|
||||
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.
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
@@ -2,27 +2,57 @@ BOOTSTRAP = ./docs/assets/css/bootstrap.css
|
||||
BOOTSTRAP_LESS = ./less/bootstrap.less
|
||||
BOOTSTRAP_RESPONSIVE = ./docs/assets/css/bootstrap-responsive.css
|
||||
BOOTSTRAP_RESPONSIVE_LESS = ./less/responsive.less
|
||||
LESS_COMPRESSOR ?= `which lessc`
|
||||
WATCHR ?= `which watchr`
|
||||
DATE=$(shell date +%I:%M%p)
|
||||
CHECK=\033[32m✔\033[39m
|
||||
HR=\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#
|
||||
|
||||
|
||||
#
|
||||
# BUILD DOCS
|
||||
#
|
||||
|
||||
docs: bootstrap
|
||||
zip -r docs/assets/bootstrap.zip bootstrap
|
||||
rm -r bootstrap
|
||||
lessc ${BOOTSTRAP_LESS} > ${BOOTSTRAP}
|
||||
lessc ${BOOTSTRAP_RESPONSIVE_LESS} > ${BOOTSTRAP_RESPONSIVE}
|
||||
node docs/build
|
||||
cp img/* docs/assets/img/
|
||||
cp js/*.js docs/assets/js/
|
||||
cp js/tests/vendor/jquery.js docs/assets/js/
|
||||
cp js/tests/vendor/jquery.js docs/assets/js/
|
||||
build:
|
||||
@echo "\n${HR}"
|
||||
@echo "Building Bootstrap..."
|
||||
@echo "${HR}\n"
|
||||
@jshint js/*.js --config js/.jshintrc
|
||||
@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}
|
||||
@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 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"
|
||||
@echo "\n${HR}"
|
||||
@echo "Bootstrap successfully built at ${DATE}."
|
||||
@echo "${HR}\n"
|
||||
@echo "Thanks for using Bootstrap,"
|
||||
@echo "<3 @mdo and @fat\n"
|
||||
|
||||
#
|
||||
# RUN JSHINT & QUNIT TESTS IN PHANTOMJS
|
||||
#
|
||||
|
||||
test:
|
||||
jshint js/*.js --config js/.jshintrc
|
||||
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
|
||||
|
||||
#
|
||||
# BUILD SIMPLE BOOTSTRAP DIRECTORY
|
||||
# lessc & uglifyjs are required
|
||||
# recess & uglifyjs are required
|
||||
#
|
||||
|
||||
bootstrap:
|
||||
@@ -30,23 +60,35 @@ bootstrap:
|
||||
mkdir -p bootstrap/css
|
||||
mkdir -p bootstrap/js
|
||||
cp img/* bootstrap/img/
|
||||
lessc ${BOOTSTRAP_LESS} > bootstrap/css/bootstrap.css
|
||||
lessc --compress ${BOOTSTRAP_LESS} > bootstrap/css/bootstrap.min.css
|
||||
lessc ${BOOTSTRAP_RESPONSIVE_LESS} > bootstrap/css/bootstrap.responsive
|
||||
lessc --compress ${BOOTSTRAP_RESPONSIVE_LESS} > bootstrap/css/bootstrap.min.responsive
|
||||
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.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 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
|
||||
|
||||
#
|
||||
# MAKE FOR GH-PAGES 4 FAT & MDO ONLY (O_O )
|
||||
#
|
||||
|
||||
gh-pages: bootstrap docs
|
||||
rm -f docs/assets/bootstrap.zip
|
||||
zip -r docs/assets/bootstrap.zip bootstrap
|
||||
rm -r bootstrap
|
||||
rm -f ../bootstrap-gh-pages/assets/bootstrap.zip
|
||||
node docs/build production
|
||||
cp -r docs/* ../bootstrap-gh-pages
|
||||
|
||||
#
|
||||
# WATCH LESS FILES
|
||||
#
|
||||
|
||||
gh-pages:
|
||||
cp -r docs/* ../bootstrap-gh-pages
|
||||
|
||||
watch:
|
||||
echo "Watching less files..."; \
|
||||
watchr -e "watch('less/.*\.less') { system 'make' }"
|
||||
|
||||
|
||||
.PHONY: dist docs watch gh-pages
|
||||
.PHONY: docs watch gh-pages
|
||||
@@ -1,15 +1,23 @@
|
||||
TWITTER BOOTSTRAP
|
||||
[Twitter Bootstrap](http://twitter.github.com/bootstrap) [](http://travis-ci.org/twitter/bootstrap)
|
||||
=================
|
||||
|
||||
Bootstrap is Twitter's toolkit for kickstarting CSS for websites, apps, and more. It includes base CSS styles for typography, forms, buttons, tables, grids, navigation, alerts, and more.
|
||||
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.
|
||||
|
||||
To get started, checkout http://twitter.github.com/bootstrap!
|
||||
|
||||
|
||||
|
||||
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).
|
||||
|
||||
To get started -- checkout http://twitter.github.com/bootstrap!
|
||||
|
||||
|
||||
Versioning
|
||||
----------
|
||||
|
||||
For transparency and insight into our release cycle, and for striving to maintain backwards compatibility, Bootstrap will be maintained under the Semantic Versioning guidelines as much as possible.
|
||||
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:
|
||||
|
||||
@@ -17,13 +25,14 @@ Releases will be numbered with the follow format:
|
||||
|
||||
And constructed with the following guidelines:
|
||||
|
||||
* Breaking backwards compatibility bumps the major
|
||||
* New additions without breaking backwards compatibility bumps the minor
|
||||
* Bug fixes and misc changes bump the patch
|
||||
* Breaking backward compatibility bumps the major (and resets the minor and patch)
|
||||
* 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/.
|
||||
|
||||
|
||||
|
||||
Bug tracker
|
||||
-----------
|
||||
|
||||
@@ -32,10 +41,19 @@ Have a bug? Please create an issue here on GitHub!
|
||||
https://github.com/twitter/bootstrap/issues
|
||||
|
||||
|
||||
|
||||
Twitter account
|
||||
---------------
|
||||
|
||||
Keep up to date on announcements and more by following Bootstrap on Twitter, <a href="http://twitter.com/TwBootstrap">@TwBootstrap</a>.
|
||||
Keep up to date on announcements and more by following Bootstrap on Twitter, [@TwBootstrap](http://twitter.com/TwBootstrap).
|
||||
|
||||
|
||||
|
||||
Blog
|
||||
----
|
||||
|
||||
Read more detailed announcements, discussions, and more on [The Official Twitter Bootstrap Blog](http://blog.getbootstrap.com).
|
||||
|
||||
|
||||
|
||||
Mailing list
|
||||
@@ -48,18 +66,37 @@ 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:
|
||||
|
||||
```
|
||||
$ npm install recess uglify-js jshint -g
|
||||
```
|
||||
|
||||
+ **build** - `make`
|
||||
This will run the less compiler on the bootstrap lib and regenerate the docs dir.
|
||||
The lessc compiler is required for this command to run.
|
||||
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>
|
||||
|
||||
+ **test** - `make test`
|
||||
Runs jshint and qunit tests headlessly in phantom js (used for ci). Depends on having phatomjs installed.
|
||||
|
||||
+ **watch** - `make watch`
|
||||
This is a convenience method for watching your less files and automatically building them whenever you save.
|
||||
Watchr is required for this command to run.
|
||||
This is a convenience method for watching just Less files and automatically building them whenever you save. Requires the Watchr gem.
|
||||
|
||||
|
||||
|
||||
Authors
|
||||
@@ -76,6 +113,7 @@ Authors
|
||||
+ http://github.com/fat
|
||||
|
||||
|
||||
|
||||
Copyright and license
|
||||
---------------------
|
||||
|
||||
|
||||
@@ -63,6 +63,7 @@ hr.soften {
|
||||
.jumbotron h1 {
|
||||
margin-bottom: 9px;
|
||||
font-size: 81px;
|
||||
font-weight: bold;
|
||||
letter-spacing: -1px;
|
||||
line-height: 1;
|
||||
}
|
||||
@@ -79,6 +80,9 @@ hr.soften {
|
||||
-moz-border-radius: 6px;
|
||||
border-radius: 6px;
|
||||
}
|
||||
.jumbotron .btn-large small {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
/* Masthead (docs home) */
|
||||
.masthead {
|
||||
@@ -181,7 +185,7 @@ hr.soften {
|
||||
top: 40px;
|
||||
left: 0;
|
||||
right: 0;
|
||||
z-index: 1030;
|
||||
z-index: 1020; /* 10 less than .navbar-fixed to prevent any overlap */
|
||||
border-color: #d5d5d5;
|
||||
border-width: 0 0 1px; /* drop the border on the fixed edges */
|
||||
-webkit-border-radius: 0;
|
||||
@@ -190,6 +194,7 @@ hr.soften {
|
||||
-webkit-box-shadow: inset 0 1px 0 #fff, 0 1px 5px rgba(0,0,0,.1);
|
||||
-moz-box-shadow: inset 0 1px 0 #fff, 0 1px 5px rgba(0,0,0,.1);
|
||||
box-shadow: inset 0 1px 0 #fff, 0 1px 5px rgba(0,0,0,.1);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); /* IE6-9 */
|
||||
}
|
||||
.subnav-fixed .nav {
|
||||
width: 938px;
|
||||
@@ -207,17 +212,23 @@ hr.soften {
|
||||
|
||||
/* Quick links
|
||||
-------------------------------------------------- */
|
||||
.bs-links {
|
||||
margin: 36px 0;
|
||||
}
|
||||
.quick-links {
|
||||
min-height: 30px;
|
||||
margin: 0;
|
||||
padding: 5px 20px;
|
||||
margin: 36px 0;
|
||||
list-style: none;
|
||||
text-align: center;
|
||||
overflow: hidden;
|
||||
}
|
||||
.quick-links:first-child {
|
||||
min-height: 0;
|
||||
}
|
||||
.quick-links li {
|
||||
display: inline;
|
||||
margin: 0 5px;
|
||||
margin: 0 8px;
|
||||
color: #999;
|
||||
}
|
||||
.quick-links .github-btn,
|
||||
@@ -426,17 +437,17 @@ hr.soften {
|
||||
.download-btn {
|
||||
margin: 36px 0 108px;
|
||||
}
|
||||
.download p,
|
||||
.download h4 {
|
||||
#download p,
|
||||
#download h4 {
|
||||
max-width: 50%;
|
||||
margin: 0 auto;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
.download h4 {
|
||||
#download h4 {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.download p {
|
||||
#download p {
|
||||
margin-bottom: 18px;
|
||||
}
|
||||
.download-btn .btn {
|
||||
@@ -481,14 +492,6 @@ hr.soften {
|
||||
/* Misc
|
||||
-------------------------------------------------- */
|
||||
|
||||
pre.prettyprint {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.browser-support {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
/* Make tables spaced out a bit more */
|
||||
h2 + table,
|
||||
h3 + table,
|
||||
@@ -546,28 +549,12 @@ form.well {
|
||||
/* Icons
|
||||
------------------------- */
|
||||
.the-icons {
|
||||
margin-bottom: 18px;
|
||||
}
|
||||
.the-icons i {
|
||||
display: block;
|
||||
margin-bottom: 5px;
|
||||
margin-left: 0;
|
||||
list-style: none;
|
||||
}
|
||||
.the-icons i:hover {
|
||||
background-color: rgba(255,0,0,.25);
|
||||
}
|
||||
.the-icons i:after {
|
||||
display: block;
|
||||
content: attr(class);
|
||||
font-style: normal;
|
||||
margin-left: 20px;
|
||||
width: 140px;
|
||||
}
|
||||
#javascript input[type=checkbox] {
|
||||
position: relative;
|
||||
top: -1px;
|
||||
display: inline;
|
||||
margin-left: 6px;
|
||||
}
|
||||
|
||||
/* Eaxmples page
|
||||
------------------------- */
|
||||
@@ -576,6 +563,70 @@ form.well {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
/* Responsive table
|
||||
------------------------- */
|
||||
.responsive-utilities th small {
|
||||
display: block;
|
||||
font-weight: normal;
|
||||
color: #999;
|
||||
}
|
||||
.responsive-utilities tbody th {
|
||||
font-weight: normal;
|
||||
}
|
||||
.responsive-utilities td {
|
||||
text-align: center;
|
||||
}
|
||||
.responsive-utilities td.is-visible {
|
||||
color: #468847;
|
||||
background-color: #dff0d8 !important;
|
||||
}
|
||||
.responsive-utilities td.is-hidden {
|
||||
color: #ccc;
|
||||
background-color: #f9f9f9 !important;
|
||||
}
|
||||
|
||||
/* Responsive tests
|
||||
------------------------- */
|
||||
.responsive-utilities-test {
|
||||
margin-top: 5px;
|
||||
margin-left: 0;
|
||||
list-style: none;
|
||||
overflow: hidden; /* clear floats */
|
||||
}
|
||||
.responsive-utilities-test li {
|
||||
position: relative;
|
||||
float: left;
|
||||
width: 25%;
|
||||
height: 43px;
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
line-height: 43px;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
border: 1px solid #ddd;
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.responsive-utilities-test li + li {
|
||||
margin-left: 10px;
|
||||
}
|
||||
.responsive-utilities-test span {
|
||||
position: absolute;
|
||||
top: -1px;
|
||||
left: -1px;
|
||||
right: -1px;
|
||||
bottom: -1px;
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.responsive-utilities-test span {
|
||||
color: #468847;
|
||||
background-color: #dff0d8;
|
||||
border: 1px solid #d6e9c6;
|
||||
}
|
||||
|
||||
|
||||
/* Responsive Docs
|
||||
-------------------------------------------------- */
|
||||
|
||||
|
Depois Largura: | Altura: | Tamanho: 5.9 KiB |
|
Depois Largura: | Altura: | Tamanho: 8.3 KiB |
|
Depois Largura: | Altura: | Tamanho: 2.2 KiB |
|
Depois Largura: | Altura: | Tamanho: 3.1 KiB |
|
Antes Largura: | Altura: | Tamanho: 5.4 KiB |
|
Antes Largura: | Altura: | Tamanho: 2.7 KiB |
|
Antes Largura: | Altura: | Tamanho: 3.7 KiB |
|
Antes Largura: | Altura: | Tamanho: 1.1 KiB Depois Largura: | Altura: | Tamanho: 1.1 KiB |
|
Antes Largura: | Altura: | Tamanho: 486 B |
|
Antes Largura: | Altura: | Tamanho: 564 B |
|
Antes Largura: | Altura: | Tamanho: 369 B |
|
Antes Largura: | Altura: | Tamanho: 76 KiB |
|
Antes Largura: | Altura: | Tamanho: 41 KiB Depois Largura: | Altura: | Tamanho: 39 KiB |
|
Antes Largura: | Altura: | Tamanho: 51 KiB Depois Largura: | Altura: | Tamanho: 50 KiB |
|
Antes Largura: | Altura: | Tamanho: 30 KiB |
|
Depois Largura: | Altura: | Tamanho: 53 KiB |
|
Antes Largura: | Altura: | Tamanho: 42 KiB |
|
Antes Largura: | Altura: | Tamanho: 4.3 KiB Depois Largura: | Altura: | Tamanho: 8.6 KiB |
|
Antes Largura: | Altura: | Tamanho: 4.3 KiB Depois Largura: | Altura: | Tamanho: 14 KiB |
@@ -51,6 +51,11 @@
|
||||
|
||||
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() {
|
||||
@@ -132,18 +137,16 @@
|
||||
|
||||
$.ajax({
|
||||
type: 'POST'
|
||||
, url: 'http://bootstrap.herokuapp.com'
|
||||
, url: /\?dev/.test(window.location) ? 'http://localhost:3000' : 'http://bootstrap.herokuapp.com'
|
||||
, dataType: 'jsonpi'
|
||||
, params: {
|
||||
branch: '2.0-wip'
|
||||
, js: js
|
||||
js: js
|
||||
, css: css
|
||||
, vars: vars
|
||||
, img: img
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
// Modified from the original jsonpi https://github.com/benvinegar/jquery-jsonpi
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* ==========================================================
|
||||
* bootstrap-alert.js v2.0.0
|
||||
* bootstrap-alert.js v2.0.3
|
||||
* http://twitter.github.com/bootstrap/javascript.html#alerts
|
||||
* ==========================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
@@ -18,58 +18,57 @@
|
||||
* ========================================================== */
|
||||
|
||||
|
||||
!function( $ ){
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
"use strict"
|
||||
|
||||
/* ALERT CLASS DEFINITION
|
||||
* ====================== */
|
||||
|
||||
var dismiss = '[data-dismiss="alert"]'
|
||||
, Alert = function ( el ) {
|
||||
, Alert = function (el) {
|
||||
$(el).on('click', dismiss, this.close)
|
||||
}
|
||||
|
||||
Alert.prototype = {
|
||||
Alert.prototype.close = function (e) {
|
||||
var $this = $(this)
|
||||
, selector = $this.attr('data-target')
|
||||
, $parent
|
||||
|
||||
constructor: Alert
|
||||
|
||||
, close: function ( e ) {
|
||||
var $this = $(this)
|
||||
, selector = $this.attr('data-target')
|
||||
, $parent
|
||||
|
||||
if (!selector) {
|
||||
selector = $this.attr('href')
|
||||
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
|
||||
}
|
||||
|
||||
$parent = $(selector)
|
||||
$parent.trigger('close')
|
||||
|
||||
e && e.preventDefault()
|
||||
|
||||
$parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
|
||||
|
||||
$parent.removeClass('in')
|
||||
|
||||
function removeElement() {
|
||||
$parent.remove()
|
||||
$parent.trigger('closed')
|
||||
}
|
||||
|
||||
$.support.transition && $parent.hasClass('fade') ?
|
||||
$parent.on($.support.transition.end, removeElement) :
|
||||
removeElement()
|
||||
if (!selector) {
|
||||
selector = $this.attr('href')
|
||||
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
|
||||
}
|
||||
|
||||
$parent = $(selector)
|
||||
|
||||
e && e.preventDefault()
|
||||
|
||||
$parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
|
||||
|
||||
$parent.trigger(e = $.Event('close'))
|
||||
|
||||
if (e.isDefaultPrevented()) return
|
||||
|
||||
$parent.removeClass('in')
|
||||
|
||||
function removeElement() {
|
||||
$parent
|
||||
.trigger('closed')
|
||||
.remove()
|
||||
}
|
||||
|
||||
$.support.transition && $parent.hasClass('fade') ?
|
||||
$parent.on($.support.transition.end, removeElement) :
|
||||
removeElement()
|
||||
}
|
||||
|
||||
|
||||
/* ALERT PLUGIN DEFINITION
|
||||
* ======================= */
|
||||
|
||||
$.fn.alert = function ( option ) {
|
||||
$.fn.alert = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('alert')
|
||||
@@ -88,4 +87,4 @@
|
||||
$('body').on('click.alert.data-api', dismiss, Alert.prototype.close)
|
||||
})
|
||||
|
||||
}( window.jQuery )
|
||||
}(window.jQuery);
|
||||
@@ -1,5 +1,5 @@
|
||||
/* ============================================================
|
||||
* bootstrap-button.js v2.0.0
|
||||
* bootstrap-button.js v2.0.3
|
||||
* http://twitter.github.com/bootstrap/javascript.html#buttons
|
||||
* ============================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
@@ -17,58 +17,54 @@
|
||||
* limitations under the License.
|
||||
* ============================================================ */
|
||||
|
||||
!function( $ ){
|
||||
|
||||
"use strict"
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* BUTTON PUBLIC CLASS DEFINITION
|
||||
* ============================== */
|
||||
|
||||
var Button = function ( element, options ) {
|
||||
var Button = function (element, options) {
|
||||
this.$element = $(element)
|
||||
this.options = $.extend({}, $.fn.button.defaults, options)
|
||||
}
|
||||
|
||||
Button.prototype = {
|
||||
Button.prototype.setState = function (state) {
|
||||
var d = 'disabled'
|
||||
, $el = this.$element
|
||||
, data = $el.data()
|
||||
, val = $el.is('input') ? 'val' : 'html'
|
||||
|
||||
constructor: Button
|
||||
state = state + 'Text'
|
||||
data.resetText || $el.data('resetText', $el[val]())
|
||||
|
||||
, setState: function ( state ) {
|
||||
var d = 'disabled'
|
||||
, $el = this.$element
|
||||
, data = $el.data()
|
||||
, val = $el.is('input') ? 'val' : 'html'
|
||||
$el[val](data[state] || this.options[state])
|
||||
|
||||
state = state + 'Text'
|
||||
data.resetText || $el.data('resetText', $el[val]())
|
||||
// push to event loop to allow forms to submit
|
||||
setTimeout(function () {
|
||||
state == 'loadingText' ?
|
||||
$el.addClass(d).attr(d, d) :
|
||||
$el.removeClass(d).removeAttr(d)
|
||||
}, 0)
|
||||
}
|
||||
|
||||
$el[val](data[state] || this.options[state])
|
||||
Button.prototype.toggle = function () {
|
||||
var $parent = this.$element.parent('[data-toggle="buttons-radio"]')
|
||||
|
||||
// push to event loop to allow forms to submit
|
||||
setTimeout(function () {
|
||||
state == 'loadingText' ?
|
||||
$el.addClass(d).attr(d, d) :
|
||||
$el.removeClass(d).removeAttr(d)
|
||||
}, 0)
|
||||
}
|
||||
|
||||
, toggle: function () {
|
||||
var $parent = this.$element.parent('[data-toggle="buttons-radio"]')
|
||||
|
||||
$parent && $parent
|
||||
.find('.active')
|
||||
.removeClass('active')
|
||||
|
||||
this.$element.toggleClass('active')
|
||||
}
|
||||
$parent && $parent
|
||||
.find('.active')
|
||||
.removeClass('active')
|
||||
|
||||
this.$element.toggleClass('active')
|
||||
}
|
||||
|
||||
|
||||
/* BUTTON PLUGIN DEFINITION
|
||||
* ======================== */
|
||||
|
||||
$.fn.button = function ( option ) {
|
||||
$.fn.button = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('button')
|
||||
@@ -91,8 +87,10 @@
|
||||
|
||||
$(function () {
|
||||
$('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) {
|
||||
$(e.target).button('toggle')
|
||||
var $btn = $(e.target)
|
||||
if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
|
||||
$btn.button('toggle')
|
||||
})
|
||||
})
|
||||
|
||||
}( window.jQuery )
|
||||
}(window.jQuery);
|
||||
@@ -1,5 +1,5 @@
|
||||
/* ==========================================================
|
||||
* bootstrap-carousel.js v2.0.0
|
||||
* bootstrap-carousel.js v2.0.3
|
||||
* http://twitter.github.com/bootstrap/javascript.html#carousel
|
||||
* ==========================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
@@ -18,23 +18,30 @@
|
||||
* ========================================================== */
|
||||
|
||||
|
||||
!function( $ ){
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
"use strict"
|
||||
|
||||
/* CAROUSEL CLASS DEFINITION
|
||||
* ========================= */
|
||||
|
||||
var Carousel = function (element, options) {
|
||||
this.$element = $(element)
|
||||
this.options = $.extend({}, $.fn.carousel.defaults, options)
|
||||
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))
|
||||
}
|
||||
|
||||
Carousel.prototype = {
|
||||
|
||||
cycle: function () {
|
||||
this.interval = setInterval($.proxy(this.next, this), this.options.interval)
|
||||
cycle: function (e) {
|
||||
if (!e) this.paused = false
|
||||
this.options.interval
|
||||
&& !this.paused
|
||||
&& (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
|
||||
return this
|
||||
}
|
||||
|
||||
@@ -59,8 +66,10 @@
|
||||
return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos]))
|
||||
}
|
||||
|
||||
, pause: function () {
|
||||
, pause: function (e) {
|
||||
if (!e) this.paused = true
|
||||
clearInterval(this.interval)
|
||||
this.interval = null
|
||||
return this
|
||||
}
|
||||
|
||||
@@ -81,6 +90,7 @@
|
||||
, direction = type == 'next' ? 'left' : 'right'
|
||||
, fallback = type == 'next' ? 'first' : 'last'
|
||||
, that = this
|
||||
, e = $.Event('slide')
|
||||
|
||||
this.sliding = true
|
||||
|
||||
@@ -88,24 +98,28 @@
|
||||
|
||||
$next = $next.length ? $next : this.$element.find('.item')[fallback]()
|
||||
|
||||
if (!$.support.transition && this.$element.hasClass('slide')) {
|
||||
this.$element.trigger('slide')
|
||||
$active.removeClass('active')
|
||||
$next.addClass('active')
|
||||
this.sliding = false
|
||||
this.$element.trigger('slid')
|
||||
} else {
|
||||
if ($next.hasClass('active')) return
|
||||
|
||||
if ($.support.transition && this.$element.hasClass('slide')) {
|
||||
this.$element.trigger(e)
|
||||
if (e.isDefaultPrevented()) return
|
||||
$next.addClass(type)
|
||||
$next[0].offsetWidth // force reflow
|
||||
$active.addClass(direction)
|
||||
$next.addClass(direction)
|
||||
this.$element.trigger('slide')
|
||||
this.$element.one($.support.transition.end, function () {
|
||||
$next.removeClass([type, direction].join(' ')).addClass('active')
|
||||
$active.removeClass(['active', direction].join(' '))
|
||||
that.sliding = false
|
||||
setTimeout(function () { that.$element.trigger('slid') }, 0)
|
||||
})
|
||||
} else {
|
||||
this.$element.trigger(e)
|
||||
if (e.isDefaultPrevented()) return
|
||||
$active.removeClass('active')
|
||||
$next.addClass('active')
|
||||
this.sliding = false
|
||||
this.$element.trigger('slid')
|
||||
}
|
||||
|
||||
isCycling && this.cycle()
|
||||
@@ -119,20 +133,21 @@
|
||||
/* CAROUSEL PLUGIN DEFINITION
|
||||
* ========================== */
|
||||
|
||||
$.fn.carousel = function ( option ) {
|
||||
$.fn.carousel = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('carousel')
|
||||
, options = typeof option == 'object' && option
|
||||
, options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option)
|
||||
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 data.cycle()
|
||||
else if (options.interval) data.cycle()
|
||||
})
|
||||
}
|
||||
|
||||
$.fn.carousel.defaults = {
|
||||
interval: 5000
|
||||
, pause: 'hover'
|
||||
}
|
||||
|
||||
$.fn.carousel.Constructor = Carousel
|
||||
@@ -151,4 +166,4 @@
|
||||
})
|
||||
})
|
||||
|
||||
}( window.jQuery )
|
||||
}(window.jQuery);
|
||||
@@ -1,5 +1,5 @@
|
||||
/* =============================================================
|
||||
* bootstrap-collapse.js v2.0.0
|
||||
* bootstrap-collapse.js v2.0.3
|
||||
* http://twitter.github.com/bootstrap/javascript.html#collapse
|
||||
* =============================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
@@ -17,16 +17,21 @@
|
||||
* limitations under the License.
|
||||
* ============================================================ */
|
||||
|
||||
!function( $ ){
|
||||
|
||||
"use strict"
|
||||
!function ($) {
|
||||
|
||||
var Collapse = function ( element, options ) {
|
||||
this.$element = $(element)
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* COLLAPSE PUBLIC CLASS DEFINITION
|
||||
* ================================ */
|
||||
|
||||
var Collapse = function (element, options) {
|
||||
this.$element = $(element)
|
||||
this.options = $.extend({}, $.fn.collapse.defaults, options)
|
||||
|
||||
if (this.options["parent"]) {
|
||||
this.$parent = $(this.options["parent"])
|
||||
if (this.options.parent) {
|
||||
this.$parent = $(this.options.parent)
|
||||
}
|
||||
|
||||
this.options.toggle && this.toggle()
|
||||
@@ -42,31 +47,39 @@
|
||||
}
|
||||
|
||||
, show: function () {
|
||||
var dimension = this.dimension()
|
||||
, scroll = $.camelCase(['scroll', dimension].join('-'))
|
||||
, actives = this.$parent && this.$parent.find('.in')
|
||||
var dimension
|
||||
, scroll
|
||||
, actives
|
||||
, hasData
|
||||
|
||||
if (this.transitioning) return
|
||||
|
||||
dimension = this.dimension()
|
||||
scroll = $.camelCase(['scroll', dimension].join('-'))
|
||||
actives = this.$parent && this.$parent.find('> .accordion-group > .in')
|
||||
|
||||
if (actives && actives.length) {
|
||||
hasData = actives.data('collapse')
|
||||
if (hasData && hasData.transitioning) return
|
||||
actives.collapse('hide')
|
||||
hasData || actives.data('collapse', null)
|
||||
}
|
||||
|
||||
this.$element[dimension](0)
|
||||
this.transition('addClass', 'show', 'shown')
|
||||
this.transition('addClass', $.Event('show'), 'shown')
|
||||
this.$element[dimension](this.$element[0][scroll])
|
||||
|
||||
}
|
||||
|
||||
, hide: function () {
|
||||
var dimension = this.dimension()
|
||||
var dimension
|
||||
if (this.transitioning) return
|
||||
dimension = this.dimension()
|
||||
this.reset(this.$element[dimension]())
|
||||
this.transition('removeClass', 'hide', 'hidden')
|
||||
this.transition('removeClass', $.Event('hide'), 'hidden')
|
||||
this.$element[dimension](0)
|
||||
}
|
||||
|
||||
, reset: function ( size ) {
|
||||
, reset: function (size) {
|
||||
var dimension = this.dimension()
|
||||
|
||||
this.$element
|
||||
@@ -74,35 +87,43 @@
|
||||
[dimension](size || 'auto')
|
||||
[0].offsetWidth
|
||||
|
||||
this.$element.addClass('collapse')
|
||||
this.$element[size !== null ? 'addClass' : 'removeClass']('collapse')
|
||||
|
||||
return this
|
||||
}
|
||||
|
||||
, transition: function ( method, startEvent, completeEvent ) {
|
||||
, transition: function (method, startEvent, completeEvent) {
|
||||
var that = this
|
||||
, complete = function () {
|
||||
if (startEvent == 'show') that.reset()
|
||||
if (startEvent.type == 'show') that.reset()
|
||||
that.transitioning = 0
|
||||
that.$element.trigger(completeEvent)
|
||||
}
|
||||
|
||||
this.$element
|
||||
.trigger(startEvent)
|
||||
[method]('in')
|
||||
this.$element.trigger(startEvent)
|
||||
|
||||
if (startEvent.isDefaultPrevented()) return
|
||||
|
||||
this.transitioning = 1
|
||||
|
||||
this.$element[method]('in')
|
||||
|
||||
$.support.transition && this.$element.hasClass('collapse') ?
|
||||
this.$element.one($.support.transition.end, complete) :
|
||||
complete()
|
||||
}
|
||||
}
|
||||
|
||||
, toggle: function () {
|
||||
this[this.$element.hasClass('in') ? 'hide' : 'show']()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* COLLAPSIBLE PLUGIN DEFINITION
|
||||
|
||||
/* COLLAPSIBLE PLUGIN DEFINITION
|
||||
* ============================== */
|
||||
|
||||
$.fn.collapse = function ( option ) {
|
||||
$.fn.collapse = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('collapse')
|
||||
@@ -133,4 +154,4 @@
|
||||
})
|
||||
})
|
||||
|
||||
}( window.jQuery )
|
||||
}(window.jQuery);
|
||||
@@ -1,5 +1,5 @@
|
||||
/* ============================================================
|
||||
* bootstrap-dropdown.js v2.0.0
|
||||
* bootstrap-dropdown.js v2.0.3
|
||||
* http://twitter.github.com/bootstrap/javascript.html#dropdowns
|
||||
* ============================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
@@ -18,15 +18,16 @@
|
||||
* ============================================================ */
|
||||
|
||||
|
||||
!function( $ ){
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
"use strict"
|
||||
|
||||
/* DROPDOWN CLASS DEFINITION
|
||||
* ========================= */
|
||||
|
||||
var toggle = '[data-toggle="dropdown"]'
|
||||
, Dropdown = function ( element ) {
|
||||
, Dropdown = function (element) {
|
||||
var $el = $(element).on('click.dropdown.data-api', this.toggle)
|
||||
$('html').on('click.dropdown.data-api', function () {
|
||||
$el.parent().removeClass('open')
|
||||
@@ -37,12 +38,16 @@
|
||||
|
||||
constructor: Dropdown
|
||||
|
||||
, toggle: function ( e ) {
|
||||
, toggle: function (e) {
|
||||
var $this = $(this)
|
||||
, selector = $this.attr('data-target')
|
||||
, $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
|
||||
@@ -54,7 +59,8 @@
|
||||
isActive = $parent.hasClass('open')
|
||||
|
||||
clearMenus()
|
||||
!isActive && $parent.toggleClass('open')
|
||||
|
||||
if (!isActive) $parent.toggleClass('open')
|
||||
|
||||
return false
|
||||
}
|
||||
@@ -69,7 +75,7 @@
|
||||
/* DROPDOWN PLUGIN DEFINITION
|
||||
* ========================== */
|
||||
|
||||
$.fn.dropdown = function ( option ) {
|
||||
$.fn.dropdown = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('dropdown')
|
||||
@@ -86,7 +92,9 @@
|
||||
|
||||
$(function () {
|
||||
$('html').on('click.dropdown.data-api', clearMenus)
|
||||
$('body').on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle)
|
||||
$('body')
|
||||
.on('click.dropdown', '.dropdown form', function (e) { e.stopPropagation() })
|
||||
.on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle)
|
||||
})
|
||||
|
||||
}( window.jQuery )
|
||||
}(window.jQuery);
|
||||
@@ -1,5 +1,5 @@
|
||||
/* =========================================================
|
||||
* bootstrap-modal.js v2.0.0
|
||||
* bootstrap-modal.js v2.0.3
|
||||
* http://twitter.github.com/bootstrap/javascript.html#modals
|
||||
* =========================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
@@ -18,15 +18,16 @@
|
||||
* ========================================================= */
|
||||
|
||||
|
||||
!function( $ ){
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
"use strict"
|
||||
|
||||
/* MODAL CLASS DEFINITION
|
||||
* ====================== */
|
||||
|
||||
var Modal = function ( content, options ) {
|
||||
this.options = $.extend({}, $.fn.modal.defaults, options)
|
||||
var Modal = function (content, options) {
|
||||
this.options = options
|
||||
this.$element = $(content)
|
||||
.delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
|
||||
}
|
||||
@@ -41,19 +42,23 @@
|
||||
|
||||
, show: function () {
|
||||
var that = this
|
||||
, e = $.Event('show')
|
||||
|
||||
if (this.isShown) return
|
||||
this.$element.trigger(e)
|
||||
|
||||
if (this.isShown || e.isDefaultPrevented()) return
|
||||
|
||||
$('body').addClass('modal-open')
|
||||
|
||||
this.isShown = true
|
||||
this.$element.trigger('show')
|
||||
|
||||
escape.call(this)
|
||||
backdrop.call(this, function () {
|
||||
var transition = $.support.transition && that.$element.hasClass('fade')
|
||||
|
||||
!that.$element.parent().length && that.$element.appendTo(document.body) //don't move modals dom position
|
||||
if (!that.$element.parent().length) {
|
||||
that.$element.appendTo(document.body) //don't move modals dom position
|
||||
}
|
||||
|
||||
that.$element
|
||||
.show()
|
||||
@@ -71,21 +76,24 @@
|
||||
})
|
||||
}
|
||||
|
||||
, hide: function ( e ) {
|
||||
, hide: function (e) {
|
||||
e && e.preventDefault()
|
||||
|
||||
if (!this.isShown) return
|
||||
|
||||
var that = this
|
||||
|
||||
e = $.Event('hide')
|
||||
|
||||
this.$element.trigger(e)
|
||||
|
||||
if (!this.isShown || e.isDefaultPrevented()) return
|
||||
|
||||
this.isShown = false
|
||||
|
||||
$('body').removeClass('modal-open')
|
||||
|
||||
escape.call(this)
|
||||
|
||||
this.$element
|
||||
.trigger('hide')
|
||||
.removeClass('in')
|
||||
this.$element.removeClass('in')
|
||||
|
||||
$.support.transition && this.$element.hasClass('fade') ?
|
||||
hideWithTransition.call(this) :
|
||||
@@ -111,7 +119,7 @@
|
||||
})
|
||||
}
|
||||
|
||||
function hideModal( that ) {
|
||||
function hideModal(that) {
|
||||
this.$element
|
||||
.hide()
|
||||
.trigger('hidden')
|
||||
@@ -119,7 +127,7 @@
|
||||
backdrop.call(this)
|
||||
}
|
||||
|
||||
function backdrop( callback ) {
|
||||
function backdrop(callback) {
|
||||
var that = this
|
||||
, animate = this.$element.hasClass('fade') ? 'fade' : ''
|
||||
|
||||
@@ -173,20 +181,21 @@
|
||||
/* MODAL PLUGIN DEFINITION
|
||||
* ======================= */
|
||||
|
||||
$.fn.modal = function ( option ) {
|
||||
$.fn.modal = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('modal')
|
||||
, options = typeof option == 'object' && option
|
||||
, options = $.extend({}, $.fn.modal.defaults, $this.data(), typeof option == 'object' && option)
|
||||
if (!data) $this.data('modal', (data = new Modal(this, options)))
|
||||
if (typeof option == 'string') data[option]()
|
||||
else data.show()
|
||||
else if (options.show) data.show()
|
||||
})
|
||||
}
|
||||
|
||||
$.fn.modal.defaults = {
|
||||
backdrop: true
|
||||
, keyboard: true
|
||||
, show: true
|
||||
}
|
||||
|
||||
$.fn.modal.Constructor = Modal
|
||||
@@ -206,4 +215,4 @@
|
||||
})
|
||||
})
|
||||
|
||||
}( window.jQuery )
|
||||
}(window.jQuery);
|
||||
@@ -1,5 +1,5 @@
|
||||
/* ===========================================================
|
||||
* bootstrap-popover.js v2.0.0
|
||||
* bootstrap-popover.js v2.0.3
|
||||
* http://twitter.github.com/bootstrap/javascript.html#popovers
|
||||
* ===========================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
@@ -18,14 +18,19 @@
|
||||
* =========================================================== */
|
||||
|
||||
|
||||
!function( $ ) {
|
||||
!function ($) {
|
||||
|
||||
"use strict"
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* POPOVER PUBLIC CLASS DEFINITION
|
||||
* =============================== */
|
||||
|
||||
var Popover = function ( element, options ) {
|
||||
this.init('popover', element, options)
|
||||
}
|
||||
|
||||
|
||||
/* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js
|
||||
========================================== */
|
||||
|
||||
@@ -38,8 +43,8 @@
|
||||
, title = this.getTitle()
|
||||
, content = this.getContent()
|
||||
|
||||
$tip.find('.popover-title')[ $.type(title) == 'object' ? 'append' : 'html' ](title)
|
||||
$tip.find('.popover-content > *')[ $.type(content) == 'object' ? 'append' : 'html' ](content)
|
||||
$tip.find('.popover-title')[this.isHTML(title) ? 'html' : 'text'](title)
|
||||
$tip.find('.popover-content > *')[this.isHTML(content) ? 'html' : 'text'](content)
|
||||
|
||||
$tip.removeClass('fade top bottom left right in')
|
||||
}
|
||||
@@ -56,12 +61,10 @@
|
||||
content = $e.attr('data-content')
|
||||
|| (typeof o.content == 'function' ? o.content.call($e[0]) : o.content)
|
||||
|
||||
content = content.toString().replace(/(^\s*|\s*$)/, "")
|
||||
|
||||
return content
|
||||
}
|
||||
|
||||
, tip: function() {
|
||||
, tip: function () {
|
||||
if (!this.$tip) {
|
||||
this.$tip = $(this.options.template)
|
||||
}
|
||||
@@ -74,7 +77,7 @@
|
||||
/* POPOVER PLUGIN DEFINITION
|
||||
* ======================= */
|
||||
|
||||
$.fn.popover = function ( option ) {
|
||||
$.fn.popover = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('popover')
|
||||
@@ -92,4 +95,4 @@
|
||||
, 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>'
|
||||
})
|
||||
|
||||
}( window.jQuery )
|
||||
}(window.jQuery);
|
||||
@@ -1,5 +1,5 @@
|
||||
/* =============================================================
|
||||
* bootstrap-scrollspy.js v2.0.0
|
||||
* bootstrap-scrollspy.js v2.0.3
|
||||
* http://twitter.github.com/bootstrap/javascript.html#scrollspy
|
||||
* =============================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
@@ -17,9 +17,11 @@
|
||||
* limitations under the License.
|
||||
* ============================================================== */
|
||||
|
||||
!function ( $ ) {
|
||||
|
||||
"use strict"
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* SCROLLSPY CLASS DEFINITION
|
||||
* ========================== */
|
||||
@@ -43,25 +45,43 @@
|
||||
constructor: ScrollSpy
|
||||
|
||||
, refresh: function () {
|
||||
this.targets = this.$body
|
||||
var self = this
|
||||
, $targets
|
||||
|
||||
this.offsets = $([])
|
||||
this.targets = $([])
|
||||
|
||||
$targets = this.$body
|
||||
.find(this.selector)
|
||||
.map(function () {
|
||||
var href = $(this).attr('href')
|
||||
return /^#\w/.test(href) && $(href).length ? href : null
|
||||
var $el = $(this)
|
||||
, href = $el.data('target') || $el.attr('href')
|
||||
, $href = /^#\w/.test(href) && $(href)
|
||||
return ( $href
|
||||
&& href.length
|
||||
&& [[ $href.position().top, href ]] ) || null
|
||||
})
|
||||
.sort(function (a, b) { return a[0] - b[0] })
|
||||
.each(function () {
|
||||
self.offsets.push(this[0])
|
||||
self.targets.push(this[1])
|
||||
})
|
||||
|
||||
this.offsets = $.map(this.targets, function (id) {
|
||||
return $(id).position().top
|
||||
})
|
||||
}
|
||||
|
||||
, process: function () {
|
||||
var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
|
||||
, scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight
|
||||
, maxScroll = scrollHeight - this.$scrollElement.height()
|
||||
, offsets = this.offsets
|
||||
, targets = this.targets
|
||||
, activeTarget = this.activeTarget
|
||||
, i
|
||||
|
||||
if (scrollTop >= maxScroll) {
|
||||
return activeTarget != (i = targets.last()[0])
|
||||
&& this.activate ( i )
|
||||
}
|
||||
|
||||
for (i = offsets.length; i--;) {
|
||||
activeTarget != targets[i]
|
||||
&& scrollTop >= offsets[i]
|
||||
@@ -72,21 +92,27 @@
|
||||
|
||||
, activate: function (target) {
|
||||
var active
|
||||
, selector
|
||||
|
||||
this.activeTarget = target
|
||||
|
||||
this.$body
|
||||
.find(this.selector).parent('.active')
|
||||
$(this.selector)
|
||||
.parent('.active')
|
||||
.removeClass('active')
|
||||
|
||||
active = this.$body
|
||||
.find(this.selector + '[href="' + target + '"]')
|
||||
selector = this.selector
|
||||
+ '[data-target="' + target + '"],'
|
||||
+ this.selector + '[href="' + target + '"]'
|
||||
|
||||
active = $(selector)
|
||||
.parent('li')
|
||||
.addClass('active')
|
||||
|
||||
if ( active.parent('.dropdown-menu') ) {
|
||||
active.closest('li.dropdown').addClass('active')
|
||||
if (active.parent('.dropdown-menu')) {
|
||||
active = active.closest('li.dropdown').addClass('active')
|
||||
}
|
||||
|
||||
active.trigger('activate')
|
||||
}
|
||||
|
||||
}
|
||||
@@ -122,4 +148,4 @@
|
||||
})
|
||||
})
|
||||
|
||||
}( window.jQuery )
|
||||
}(window.jQuery);
|
||||
@@ -1,5 +1,5 @@
|
||||
/* ========================================================
|
||||
* bootstrap-tab.js v2.0.0
|
||||
* bootstrap-tab.js v2.0.3
|
||||
* http://twitter.github.com/bootstrap/javascript.html#tabs
|
||||
* ========================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
@@ -18,9 +18,10 @@
|
||||
* ======================================================== */
|
||||
|
||||
|
||||
!function( $ ){
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
"use strict"
|
||||
|
||||
/* TAB CLASS DEFINITION
|
||||
* ==================== */
|
||||
@@ -39,6 +40,7 @@
|
||||
, selector = $this.attr('data-target')
|
||||
, previous
|
||||
, $target
|
||||
, e
|
||||
|
||||
if (!selector) {
|
||||
selector = $this.attr('href')
|
||||
@@ -49,11 +51,14 @@
|
||||
|
||||
previous = $ul.find('.active a').last()[0]
|
||||
|
||||
$this.trigger({
|
||||
type: 'show'
|
||||
, relatedTarget: previous
|
||||
e = $.Event('show', {
|
||||
relatedTarget: previous
|
||||
})
|
||||
|
||||
$this.trigger(e)
|
||||
|
||||
if (e.isDefaultPrevented()) return
|
||||
|
||||
$target = $(selector)
|
||||
|
||||
this.activate($this.parent('li'), $ul)
|
||||
@@ -127,4 +132,4 @@
|
||||
})
|
||||
})
|
||||
|
||||
}( window.jQuery )
|
||||
}(window.jQuery);
|
||||
@@ -1,5 +1,5 @@
|
||||
/* ===========================================================
|
||||
* bootstrap-tooltip.js v2.0.0
|
||||
* bootstrap-tooltip.js v2.0.3
|
||||
* http://twitter.github.com/bootstrap/javascript.html#tooltips
|
||||
* Inspired by the original jQuery.tipsy by Jason Frame
|
||||
* ===========================================================
|
||||
@@ -18,14 +18,16 @@
|
||||
* limitations under the License.
|
||||
* ========================================================== */
|
||||
|
||||
!function( $ ) {
|
||||
|
||||
"use strict"
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* TOOLTIP PUBLIC CLASS DEFINITION
|
||||
* =============================== */
|
||||
|
||||
var Tooltip = function ( element, options ) {
|
||||
var Tooltip = function (element, options) {
|
||||
this.init('tooltip', element, options)
|
||||
}
|
||||
|
||||
@@ -33,7 +35,7 @@
|
||||
|
||||
constructor: Tooltip
|
||||
|
||||
, init: function ( type, element, options ) {
|
||||
, init: function (type, element, options) {
|
||||
var eventIn
|
||||
, eventOut
|
||||
|
||||
@@ -54,7 +56,7 @@
|
||||
this.fixTitle()
|
||||
}
|
||||
|
||||
, getOptions: function ( options ) {
|
||||
, getOptions: function (options) {
|
||||
options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data())
|
||||
|
||||
if (options.delay && typeof options.delay == 'number') {
|
||||
@@ -67,34 +69,28 @@
|
||||
return options
|
||||
}
|
||||
|
||||
, enter: function ( e ) {
|
||||
, enter: function (e) {
|
||||
var self = $(e.currentTarget)[this.type](this._options).data(this.type)
|
||||
|
||||
if (!self.options.delay || !self.options.delay.show) {
|
||||
self.show()
|
||||
} else {
|
||||
self.hoverState = 'in'
|
||||
setTimeout(function() {
|
||||
if (self.hoverState == 'in') {
|
||||
self.show()
|
||||
}
|
||||
}, self.options.delay.show)
|
||||
}
|
||||
if (!self.options.delay || !self.options.delay.show) return self.show()
|
||||
|
||||
clearTimeout(this.timeout)
|
||||
self.hoverState = 'in'
|
||||
this.timeout = setTimeout(function() {
|
||||
if (self.hoverState == 'in') self.show()
|
||||
}, self.options.delay.show)
|
||||
}
|
||||
|
||||
, leave: function ( e ) {
|
||||
, leave: function (e) {
|
||||
var self = $(e.currentTarget)[this.type](this._options).data(this.type)
|
||||
|
||||
if (!self.options.delay || !self.options.delay.hide) {
|
||||
self.hide()
|
||||
} else {
|
||||
self.hoverState = 'out'
|
||||
setTimeout(function() {
|
||||
if (self.hoverState == 'out') {
|
||||
self.hide()
|
||||
}
|
||||
}, self.options.delay.hide)
|
||||
}
|
||||
if (!self.options.delay || !self.options.delay.hide) return self.hide()
|
||||
|
||||
clearTimeout(this.timeout)
|
||||
self.hoverState = 'out'
|
||||
this.timeout = setTimeout(function() {
|
||||
if (self.hoverState == 'out') self.hide()
|
||||
}, self.options.delay.hide)
|
||||
}
|
||||
|
||||
, show: function () {
|
||||
@@ -152,9 +148,20 @@
|
||||
}
|
||||
}
|
||||
|
||||
, 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)
|
||||
}
|
||||
|
||||
, setContent: function () {
|
||||
var $tip = this.tip()
|
||||
$tip.find('.tooltip-inner').html(this.getTitle())
|
||||
, title = this.getTitle()
|
||||
|
||||
$tip.find('.tooltip-inner')[this.isHTML(title) ? 'html' : 'text'](title)
|
||||
$tip.removeClass('fade in top bottom left right')
|
||||
}
|
||||
|
||||
@@ -206,8 +213,6 @@
|
||||
title = $e.attr('data-original-title')
|
||||
|| (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
|
||||
|
||||
title = title.toString().replace(/(^\s*|\s*$)/, "")
|
||||
|
||||
return title
|
||||
}
|
||||
|
||||
@@ -259,12 +264,12 @@
|
||||
|
||||
$.fn.tooltip.defaults = {
|
||||
animation: true
|
||||
, delay: 0
|
||||
, selector: false
|
||||
, placement: 'top'
|
||||
, selector: false
|
||||
, template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
|
||||
, trigger: 'hover'
|
||||
, title: ''
|
||||
, template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
|
||||
, delay: 0
|
||||
}
|
||||
|
||||
}( window.jQuery )
|
||||
}(window.jQuery);
|
||||
@@ -1,5 +1,5 @@
|
||||
/* ===================================================
|
||||
* bootstrap-transition.js v2.0.0
|
||||
* bootstrap-transition.js v2.0.3
|
||||
* http://twitter.github.com/bootstrap/javascript.html#transitions
|
||||
* ===================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
@@ -17,35 +17,45 @@
|
||||
* limitations under the License.
|
||||
* ========================================================== */
|
||||
|
||||
!function( $ ) {
|
||||
|
||||
!function ($) {
|
||||
|
||||
$(function () {
|
||||
|
||||
"use strict"
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
/* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
|
||||
|
||||
/* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
|
||||
* ======================================================= */
|
||||
|
||||
$.support.transition = (function () {
|
||||
var thisBody = document.body || document.documentElement
|
||||
, thisStyle = thisBody.style
|
||||
, support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined
|
||||
|
||||
return support && {
|
||||
end: (function () {
|
||||
var transitionEnd = "TransitionEnd"
|
||||
if ( $.browser.webkit ) {
|
||||
transitionEnd = "webkitTransitionEnd"
|
||||
} else if ( $.browser.mozilla ) {
|
||||
transitionEnd = "transitionend"
|
||||
} else if ( $.browser.opera ) {
|
||||
transitionEnd = "oTransitionEnd"
|
||||
var transitionEnd = (function () {
|
||||
|
||||
var el = document.createElement('bootstrap')
|
||||
, transEndEventNames = {
|
||||
'WebkitTransition' : 'webkitTransitionEnd'
|
||||
, 'MozTransition' : 'transitionend'
|
||||
, 'OTransition' : 'oTransitionEnd'
|
||||
, 'msTransition' : 'MSTransitionEnd'
|
||||
, 'transition' : 'transitionend'
|
||||
}
|
||||
, name
|
||||
|
||||
for (name in transEndEventNames){
|
||||
if (el.style[name] !== undefined) {
|
||||
return transEndEventNames[name]
|
||||
}
|
||||
return transitionEnd
|
||||
}())
|
||||
}
|
||||
|
||||
}())
|
||||
|
||||
return transitionEnd && {
|
||||
end: transitionEnd
|
||||
}
|
||||
|
||||
})()
|
||||
|
||||
})
|
||||
|
||||
}( window.jQuery )
|
||||
|
||||
}(window.jQuery);
|
||||
@@ -1,5 +1,5 @@
|
||||
/* =============================================================
|
||||
* bootstrap-typeahead.js v2.0.0
|
||||
* bootstrap-typeahead.js v2.0.3
|
||||
* http://twitter.github.com/bootstrap/javascript.html#typeahead
|
||||
* =============================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
@@ -17,16 +17,22 @@
|
||||
* limitations under the License.
|
||||
* ============================================================ */
|
||||
|
||||
!function( $ ){
|
||||
|
||||
"use strict"
|
||||
!function($){
|
||||
|
||||
var Typeahead = function ( element, options ) {
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* TYPEAHEAD PUBLIC CLASS DEFINITION
|
||||
* ================================= */
|
||||
|
||||
var Typeahead = function (element, options) {
|
||||
this.$element = $(element)
|
||||
this.options = $.extend({}, $.fn.typeahead.defaults, options)
|
||||
this.matcher = this.options.matcher || this.matcher
|
||||
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.shown = false
|
||||
@@ -39,12 +45,18 @@
|
||||
|
||||
, select: function () {
|
||||
var val = this.$menu.find('.active').attr('data-value')
|
||||
this.$element.val(val)
|
||||
this.$element
|
||||
.val(this.updater(val))
|
||||
.change()
|
||||
return this.hide()
|
||||
}
|
||||
|
||||
, updater: function (item) {
|
||||
return item
|
||||
}
|
||||
|
||||
, show: function () {
|
||||
var pos = $.extend({}, this.$element.offset(), {
|
||||
var pos = $.extend({}, this.$element.position(), {
|
||||
height: this.$element[0].offsetHeight
|
||||
})
|
||||
|
||||
@@ -76,7 +88,7 @@
|
||||
}
|
||||
|
||||
items = $.grep(this.source, function (item) {
|
||||
if (that.matcher(item)) return item
|
||||
return that.matcher(item)
|
||||
})
|
||||
|
||||
items = this.sorter(items)
|
||||
@@ -108,7 +120,8 @@
|
||||
}
|
||||
|
||||
, highlighter: function (item) {
|
||||
return item.replace(new RegExp('(' + this.query + ')', 'ig'), function ($1, match) {
|
||||
var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&')
|
||||
return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
|
||||
return '<strong>' + match + '</strong>'
|
||||
})
|
||||
}
|
||||
@@ -165,9 +178,6 @@
|
||||
}
|
||||
|
||||
, keyup: function (e) {
|
||||
e.stopPropagation()
|
||||
e.preventDefault()
|
||||
|
||||
switch(e.keyCode) {
|
||||
case 40: // down arrow
|
||||
case 38: // up arrow
|
||||
@@ -180,6 +190,7 @@
|
||||
break
|
||||
|
||||
case 27: // escape
|
||||
if (!this.shown) return
|
||||
this.hide()
|
||||
break
|
||||
|
||||
@@ -187,10 +198,11 @@
|
||||
this.lookup()
|
||||
}
|
||||
|
||||
e.stopPropagation()
|
||||
e.preventDefault()
|
||||
}
|
||||
|
||||
, keypress: function (e) {
|
||||
e.stopPropagation()
|
||||
if (!this.shown) return
|
||||
|
||||
switch(e.keyCode) {
|
||||
@@ -201,21 +213,23 @@
|
||||
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()
|
||||
}
|
||||
|
||||
, blur: function (e) {
|
||||
var that = this
|
||||
e.stopPropagation()
|
||||
e.preventDefault()
|
||||
setTimeout(function () { that.hide() }, 150)
|
||||
}
|
||||
|
||||
@@ -236,7 +250,7 @@
|
||||
/* TYPEAHEAD PLUGIN DEFINITION
|
||||
* =========================== */
|
||||
|
||||
$.fn.typeahead = function ( option ) {
|
||||
$.fn.typeahead = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('typeahead')
|
||||
@@ -268,4 +282,4 @@
|
||||
})
|
||||
})
|
||||
|
||||
}( window.jQuery )
|
||||
}(window.jQuery);
|
||||
@@ -1,6 +1,8 @@
|
||||
#!/usr/bin/env node
|
||||
var hogan = require('hogan.js')
|
||||
, fs = require('fs')
|
||||
, prod = process.argv[2] == 'production'
|
||||
, title = 'Twitter Bootstrap'
|
||||
|
||||
var layout, pages
|
||||
|
||||
@@ -21,6 +23,17 @@ pages.forEach(function (name) {
|
||||
|
||||
context[name.replace(/\.mustache$/, '')] = 'active'
|
||||
context._i = true
|
||||
context.production = prod
|
||||
context.title = name
|
||||
.replace(/\.mustache/, '')
|
||||
.replace(/\-.*/, '')
|
||||
.replace(/(.)/, function ($1) { return $1.toUpperCase() })
|
||||
|
||||
if (context.title == 'Index') {
|
||||
context.title = title
|
||||
} else {
|
||||
context.title += ' · ' + title
|
||||
}
|
||||
|
||||
page = hogan.compile(page, { sectionTags: [{o:'_i', c:'i'}] })
|
||||
page = layout.render(context, {
|
||||
|
||||
@@ -2,27 +2,28 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Bootstrap, from Twitter</title>
|
||||
<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 HTML5 shim, for IE6-8 support of HTML elements -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<!-- 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" href="assets/ico/apple-touch-icon.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="assets/ico/apple-touch-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="assets/ico/apple-touch-icon-114x114.png">
|
||||
<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">
|
||||
@@ -39,7 +40,7 @@
|
||||
<span class="icon-bar"></span>
|
||||
</a>
|
||||
<a class="brand" href="./index.html">Bootstrap</a>
|
||||
<div class="nav-collapse">
|
||||
<div class="nav-collapse collapse">
|
||||
<ul class="nav">
|
||||
<li class="">
|
||||
<a href="./index.html">Overview</a>
|
||||
@@ -93,20 +94,21 @@
|
||||
<div class="page-header">
|
||||
<a class="btn btn-small pull-right toggle-all" href="#">Toggle all</a>
|
||||
<h1>
|
||||
1. Chose components
|
||||
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"> CSS reset</label>
|
||||
<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.less"> Labels</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>
|
||||
@@ -123,6 +125,7 @@
|
||||
<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>
|
||||
@@ -140,7 +143,11 @@
|
||||
<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.less"> Responsive layouts</label>
|
||||
<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>
|
||||
@@ -208,7 +215,7 @@
|
||||
</div><!-- /span -->
|
||||
<div class="span4">
|
||||
<h4 class="muted">Heads up!</h4>
|
||||
<p class="muted">All plugins require the latest version of <a href="http://jquery.com/" target="_blank">jQuery</a> to be included.</p>
|
||||
<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>
|
||||
@@ -224,6 +231,12 @@
|
||||
</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">
|
||||
@@ -244,6 +257,13 @@
|
||||
<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>
|
||||
@@ -258,20 +278,46 @@
|
||||
<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="'Helvetica Neue', Helvetica, Arial, sans-serif">
|
||||
<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>Forms</h3>
|
||||
<label>@primaryButtonColor</label>
|
||||
<input type="text" class="span3" placeholder="@blue">
|
||||
<label>@placeholderText</label>
|
||||
<input type="text" class="span3" placeholder="@grayLight">
|
||||
<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">
|
||||
@@ -281,12 +327,59 @@
|
||||
<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">
|
||||
@@ -354,5 +447,7 @@
|
||||
<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>
|
||||
|
||||
@@ -2,27 +2,28 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Bootstrap, from Twitter</title>
|
||||
<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 HTML5 shim, for IE6-8 support of HTML elements -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<!-- 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" href="assets/ico/apple-touch-icon.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="assets/ico/apple-touch-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="assets/ico/apple-touch-icon-114x114.png">
|
||||
<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">
|
||||
@@ -39,7 +40,7 @@
|
||||
<span class="icon-bar"></span>
|
||||
</a>
|
||||
<a class="brand" href="./index.html">Bootstrap</a>
|
||||
<div class="nav-collapse">
|
||||
<div class="nav-collapse collapse">
|
||||
<ul class="nav">
|
||||
<li class="">
|
||||
<a href="./index.html">Overview</a>
|
||||
@@ -95,7 +96,7 @@
|
||||
<img src="assets/img/examples/bootstrap-example-fluid.jpg" alt="">
|
||||
</a>
|
||||
<h3>Fluid layout</h3>
|
||||
<p>Uses are new responsive, fluid grid system to create seamless liquid layout.</p>
|
||||
<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">
|
||||
@@ -139,5 +140,7 @@
|
||||
<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>
|
||||
|
||||
@@ -3,14 +3,10 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Bootstrap, from Twitter</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<!-- Le styles -->
|
||||
<link href="../assets/css/bootstrap.css" rel="stylesheet">
|
||||
<style type="text/css">
|
||||
@@ -24,11 +20,17 @@
|
||||
</style>
|
||||
<link href="../assets/css/bootstrap-responsive.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="images/favicon.ico">
|
||||
<link rel="apple-touch-icon" href="images/apple-touch-icon.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
|
||||
<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>
|
||||
@@ -37,18 +39,28 @@
|
||||
<div class="navbar-inner">
|
||||
<div class="container-fluid">
|
||||
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
|
||||
<span class="i-bar"></span>
|
||||
<span class="i-bar"></span>
|
||||
<span class="i-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</a>
|
||||
<a class="brand" href="#">Project name</a>
|
||||
<div class="btn-group pull-right">
|
||||
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
|
||||
<i class="icon-user"></i> Username
|
||||
<span class="caret"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="#">Profile</a></li>
|
||||
<li class="divider"></li>
|
||||
<li><a href="#">Sign Out</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="nav-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>
|
||||
</ul>
|
||||
<p class="navbar-text pull-right">Logged in as <a href="#">username</a></p>
|
||||
</div><!--/.nav-collapse -->
|
||||
</div>
|
||||
</div>
|
||||
@@ -129,13 +141,22 @@
|
||||
|
||||
</div><!--/.fluid-container-->
|
||||
|
||||
|
||||
<!-- Le javascript
|
||||
================================================== -->
|
||||
<!-- Placed at the end of the document so the pages load faster -->
|
||||
<script src="../assets/js/tests/vendor/jquery.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>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -3,14 +3,10 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Bootstrap, from Twitter</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<!-- Le styles -->
|
||||
<link href="../assets/css/bootstrap.css" rel="stylesheet">
|
||||
<style type="text/css">
|
||||
@@ -21,11 +17,17 @@
|
||||
</style>
|
||||
<link href="../assets/css/bootstrap-responsive.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="images/favicon.ico">
|
||||
<link rel="apple-touch-icon" href="images/apple-touch-icon.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
|
||||
<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>
|
||||
@@ -34,9 +36,9 @@
|
||||
<div class="navbar-inner">
|
||||
<div class="container">
|
||||
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
|
||||
<span class="i-bar"></span>
|
||||
<span class="i-bar"></span>
|
||||
<span class="i-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</a>
|
||||
<a class="brand" href="#">Project name</a>
|
||||
<div class="nav-collapse">
|
||||
@@ -89,9 +91,19 @@
|
||||
<!-- Le javascript
|
||||
================================================== -->
|
||||
<!-- Placed at the end of the document so the pages load faster -->
|
||||
<script src="../assets/js/tests/vendor/jquery.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>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -3,28 +3,30 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Bootstrap, from Twitter</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<!-- Le styles -->
|
||||
<link href="../assets/css/bootstrap.css" rel="stylesheet">
|
||||
<link href="../assets/css/bootstrap-responsive.css" rel="stylesheet">
|
||||
<style>
|
||||
body {
|
||||
padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */
|
||||
}
|
||||
</style>
|
||||
<link href="../assets/css/bootstrap-responsive.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="images/favicon.ico">
|
||||
<link rel="apple-touch-icon" href="images/apple-touch-icon.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
|
||||
<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>
|
||||
@@ -33,9 +35,9 @@
|
||||
<div class="navbar-inner">
|
||||
<div class="container">
|
||||
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
|
||||
<span class="i-bar"></span>
|
||||
<span class="i-bar"></span>
|
||||
<span class="i-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</a>
|
||||
<a class="brand" href="#">Project name</a>
|
||||
<div class="nav-collapse">
|
||||
@@ -59,8 +61,7 @@
|
||||
<!-- 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/tests/vendor/jquery.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>
|
||||
|
||||
@@ -2,27 +2,28 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Bootstrap, from Twitter</title>
|
||||
<title>Twitter Bootstrap</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<!-- 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" href="assets/ico/apple-touch-icon.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="assets/ico/apple-touch-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="assets/ico/apple-touch-icon-114x114.png">
|
||||
<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">
|
||||
@@ -39,7 +40,7 @@
|
||||
<span class="icon-bar"></span>
|
||||
</a>
|
||||
<a class="brand" href="./index.html">Bootstrap</a>
|
||||
<div class="nav-collapse">
|
||||
<div class="nav-collapse collapse">
|
||||
<ul class="nav">
|
||||
<li class="active">
|
||||
<a href="./index.html">Overview</a>
|
||||
@@ -82,30 +83,33 @@
|
||||
<p>Simple and flexible HTML, CSS, and Javascript for popular user interface components and interactions.</p>
|
||||
<p class="download-info">
|
||||
<a href="https://github.com/twitter/bootstrap/" class="btn btn-primary btn-large">View project on GitHub</a>
|
||||
<a href="assets/bootstrap.zip" class="btn btn-large">Download Bootstrap</a>
|
||||
<a href="assets/bootstrap.zip" class="btn btn-large">Download Bootstrap <small>(v2.0.3)</small></a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<ul class="quick-links">
|
||||
<li><a href="./upgrading.html">Upgrading from 1.4</a></li>
|
||||
<li><a href="https://github.com/twitter/bootstrap/issues?state=open">Issues</a></li>
|
||||
<li><a href="https://github.com/twitter/bootstrap/wiki/Roadmap">Roadmap</a></li>
|
||||
<li><a href="https://github.com/twitter/bootstrap/wiki/Changelog">Changelog</a></li>
|
||||
<li class="divider">·</li>
|
||||
<li>
|
||||
<iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="114px" height="20px"></iframe>
|
||||
</li>
|
||||
<li>
|
||||
<iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=fork&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="98px" height="20px"></iframe>
|
||||
</li>
|
||||
<li class="divider">·</li>
|
||||
<li class="follow-btn">
|
||||
<a href="https://twitter.com/twbootstrap" class="twitter-follow-button" data-width="145px" data-link-color="#0069D6" data-show-count="false">Follow @twbootstrap</a>
|
||||
</li>
|
||||
<li class="tweet-btn">
|
||||
<a href="https://twitter.com/share" class="twitter-share-button" data-url="http://twitter.github.com/bootstrap/" data-count="horizontal" data-via="twbootstrap" data-related="mdo:Creator of Twitter Bootstrap">Tweet</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="bs-links">
|
||||
<ul class="quick-links">
|
||||
<li><a href="./upgrading.html">Upgrading from 1.4</a></li>
|
||||
<li><a href="https://github.com/twitter/bootstrap/zipball/master">Download with docs</a></li>
|
||||
<li><a href="http://blog.getbootstrap.com">Read the blog</a></li>
|
||||
<li><a href="https://github.com/twitter/bootstrap/issues?state=open">Submit issues</a></li>
|
||||
<li><a href="https://github.com/twitter/bootstrap/wiki">Roadmap and changelog</a></li>
|
||||
</ul>
|
||||
<ul class="quick-links">
|
||||
<li>
|
||||
<iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="112px" height="20px"></iframe>
|
||||
</li>
|
||||
<li>
|
||||
<iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=fork&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="98px" height="20px"></iframe>
|
||||
</li>
|
||||
<li class="follow-btn">
|
||||
<a href="https://twitter.com/twbootstrap" class="twitter-follow-button" data-link-color="#0069D6" data-show-count="true">Follow @twbootstrap</a>
|
||||
</li>
|
||||
<li class="tweet-btn">
|
||||
<a href="https://twitter.com/share" class="twitter-share-button" data-url="http://twitter.github.com/bootstrap/" data-count="horizontal" data-via="twbootstrap" data-related="mdo:Creator of Twitter Bootstrap">Tweet</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<hr class="soften">
|
||||
@@ -122,7 +126,7 @@
|
||||
<div class="span4">
|
||||
<img class="bs-icon" src="assets/img/glyphicons/glyphicons_079_podium.png">
|
||||
<h2>For all skill levels</h2>
|
||||
<p>Bootstrap is designed to help people of all skill level—designer or developer, huge nerd or early beginner. Use it as a complete kit or use to start something more complex.</p>
|
||||
<p>Bootstrap is designed to help people of all skill levels—designer or developer, huge nerd or early beginner. Use it as a complete kit or use to start something more complex.</p>
|
||||
</div>
|
||||
<div class="span4">
|
||||
<img class="bs-icon" src="assets/img/glyphicons/glyphicons_163_iphone.png">
|
||||
@@ -192,17 +196,22 @@
|
||||
<h1>Built with Bootstrap.</h1>
|
||||
<p class="marketing-byline">For even more sites built with Bootstrap, <a href="http://builtwithbootstrap.tumblr.com/" target="_blank">visit the unofficial Tumblr</a> or <a href="./examples.html">browse the examples</a>.</p>
|
||||
<ul class="thumbnails example-sites">
|
||||
<li class="span4">
|
||||
<li class="span3">
|
||||
<a class="thumbnail" href="http://soundready.fm/" target="_blank">
|
||||
<img src="assets/img/example-sites/soundready.png" alt="SoundReady.fm">
|
||||
</a>
|
||||
</li>
|
||||
<li class="span3">
|
||||
<a class="thumbnail" href="http://kippt.com/" target="_blank">
|
||||
<img src="assets/img/example-sites/kippt.png" alt="Kippt">
|
||||
</a>
|
||||
</li>
|
||||
<li class="span4">
|
||||
<li class="span3">
|
||||
<a class="thumbnail" href="http://www.fleetio.com/" target="_blank">
|
||||
<img src="assets/img/example-sites/fleetio.png" alt="Fleetio">
|
||||
</a>
|
||||
</li>
|
||||
<li class="span4">
|
||||
<li class="span3">
|
||||
<a class="thumbnail" href="http://www.jshint.com/" target="_blank">
|
||||
<img src="assets/img/example-sites/jshint.png" alt="JS Hint">
|
||||
</a>
|
||||
@@ -243,5 +252,7 @@
|
||||
<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>
|
||||
|
||||
@@ -2,27 +2,28 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Bootstrap, from Twitter</title>
|
||||
<title>Javascript · Twitter Bootstrap</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<!-- 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" href="assets/ico/apple-touch-icon.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="assets/ico/apple-touch-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="assets/ico/apple-touch-icon-114x114.png">
|
||||
<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">
|
||||
@@ -39,7 +40,7 @@
|
||||
<span class="icon-bar"></span>
|
||||
</a>
|
||||
<a class="brand" href="./index.html">Bootstrap</a>
|
||||
<div class="nav-collapse">
|
||||
<div class="nav-collapse collapse">
|
||||
<ul class="nav">
|
||||
<li class="">
|
||||
<a href="./index.html">Overview</a>
|
||||
@@ -134,7 +135,7 @@
|
||||
<div class="span3">
|
||||
<label>
|
||||
<h3><a href="./javascript.html#tooltips">Tooltips</a></h3>
|
||||
<p>A new take on the jQuery Tipsy plugin, Tooltips don't rely on images, uss CSS3 for animations, and data-attributes for local title storage.</p>
|
||||
<p>A new take on the jQuery Tipsy plugin, Tooltips don't rely on images—they use CSS3 for animations and data-attributes for local title storage.</p>
|
||||
</label>
|
||||
</div>
|
||||
<div class="span3">
|
||||
@@ -199,23 +200,23 @@
|
||||
<div class="span3 columns">
|
||||
<h3>About modals</h3>
|
||||
<p>A streamlined, but flexible, take on the traditional javascript modal plugin with only the minimum required functionality and smart defaults.</p>
|
||||
<a href="../js/bootstrap-modal.js" target="_blank" class="btn">Download file</a>
|
||||
<a href="assets/js/bootstrap-modal.js" target="_blank" class="btn">Download file</a>
|
||||
</div>
|
||||
<div class="span9 columns">
|
||||
<h2>Static example</h2>
|
||||
<p>Below is a statically rendered modal.</p>
|
||||
<div class="well modal-example" style="background-color: #888; border: none;">
|
||||
<div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto; z-index: 1">
|
||||
<div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto; z-index: 1; max-width: 100%;">
|
||||
<div class="modal-header">
|
||||
<a href="#" class="close" data-dismiss="modal">×</a>
|
||||
<button class="close" data-dismiss="modal">×</button>
|
||||
<h3>Modal header</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>One fine body…</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="#" class="btn btn-primary">Save changes</a>
|
||||
<a href="#" class="btn">Close</a>
|
||||
<a href="#" class="btn btn-primary">Save changes</a>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- /well -->
|
||||
@@ -225,7 +226,7 @@
|
||||
<!-- sample modal content -->
|
||||
<div id="myModal" class="modal hide fade">
|
||||
<div class="modal-header">
|
||||
<a class="close" data-dismiss="modal" >×</a>
|
||||
<button class="close" data-dismiss="modal">×</button>
|
||||
<h3>Modal Heading</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
@@ -237,10 +238,21 @@
|
||||
|
||||
<h4>Tooltips in a modal</h4>
|
||||
<p><a href="#" class="tooltip-test" title="Tooltip">This link</a> and <a href="#" class="tooltip-test" title="Tooltip">that link</a> should have tooltips on hover.</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h4>Overflowing text to show optional scrollbar</h4>
|
||||
<p>We set a fixed <code>max-height</code> on the <code>.modal-body</code>. Watch it overflow with all this extra lorem ipsum text we've included.</p>
|
||||
<p>Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
|
||||
<p>Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.</p>
|
||||
<p>Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
|
||||
<p>Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
|
||||
<p>Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.</p>
|
||||
<p>Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="#" class="btn btn-primary">Save changes</a>
|
||||
<a href="#" class="btn" data-dismiss="modal" >Close</a>
|
||||
<a href="#" class="btn btn-primary">Save changes</a>
|
||||
</div>
|
||||
</div>
|
||||
<a data-toggle="modal" href="#myModal" class="btn btn-primary btn-large">Launch demo modal</a>
|
||||
@@ -265,7 +277,7 @@
|
||||
<td>backdrop</td>
|
||||
<td>boolean</td>
|
||||
<td>true</td>
|
||||
<td>Includes a modal-backdrop element</td>
|
||||
<td>Includes a modal-backdrop element. Alternatively, specify <code>static</code> for a backdrop which doesn't close the modal on click.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>keyboard</td>
|
||||
@@ -273,6 +285,12 @@
|
||||
<td>true</td>
|
||||
<td>Closes the modal when escape key is pressed</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>show</td>
|
||||
<td>boolean</td>
|
||||
<td>true</td>
|
||||
<td>Shows the modal when initialized.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Markup</h3>
|
||||
@@ -283,17 +301,17 @@
|
||||
</pre>
|
||||
|
||||
<pre class="prettyprint linenums">
|
||||
<div class="modal">
|
||||
<div class="modal" id="myModal">
|
||||
<div class="modal-header">
|
||||
<a class="close" data-dismiss="modal">×</a>
|
||||
<button class="close" data-dismiss="modal">×</button>
|
||||
<h3>Modal header</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>One fine body…</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="#" class="btn btn-primary">Save changes</a>
|
||||
<a href="#" class="btn">Close</a>
|
||||
<a href="#" class="btn btn-primary">Save changes</a>
|
||||
</div>
|
||||
</div>
|
||||
</pre>
|
||||
@@ -365,7 +383,7 @@ $('#myModal').on('hidden', function () {
|
||||
<div class="span3 columns">
|
||||
<h3>About dropdowns</h3>
|
||||
<p>Add dropdown menus to nearly anything in Bootstrap with this simple plugin. Bootstrap features full dropdown menu support on in the navbar, tabs, and pills.</p>
|
||||
<a href="../js/bootstrap-dropdown.js" target="_blank" class="btn">Download file</a>
|
||||
<a href="assets/js/bootstrap-dropdown.js" target="_blank" class="btn">Download file</a>
|
||||
</div>
|
||||
<div class="span9 columns">
|
||||
<h2>Examples</h2>
|
||||
@@ -458,7 +476,7 @@ $('#myModal').on('hidden', function () {
|
||||
</div>
|
||||
|
||||
<pre class="prettyprint linenums">
|
||||
<ul class="nav pills">
|
||||
<ul class="nav nav-pills">
|
||||
<li class="active"><a href="#">Regular link</a></li>
|
||||
<li class="dropdown" id="menu1">
|
||||
<a class="dropdown-toggle" data-toggle="dropdown" href="#menu1">
|
||||
@@ -475,6 +493,20 @@ $('#myModal').on('hidden', function () {
|
||||
</li>
|
||||
...
|
||||
</ul></pre>
|
||||
<p>To keep URLs intact, use the <code>data-target</code> attribute instead of <code>href="#"</code>.</p>
|
||||
<pre class="prettyprint linenums">
|
||||
<ul class="nav nav-pills">
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" data-toggle="dropdown" data-target="#" href="path/to/page.html">
|
||||
Dropdown
|
||||
<b class="caret"></b>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
...
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</pre>
|
||||
<h3>Methods</h3>
|
||||
<h4>$().dropdown()</h4>
|
||||
<p>A programatic api for activating menus for a given navbar or tabbed navigation.</p>
|
||||
@@ -493,7 +525,7 @@ $('#myModal').on('hidden', function () {
|
||||
<div class="row">
|
||||
<div class="span3 columns">
|
||||
<p>The ScrollSpy plugin is for automatically updating nav targets based on scroll position.</p>
|
||||
<a href="../js/bootstrap-scrollspy.js" target="_blank" class="btn">Download file</a>
|
||||
<a href="assets/js/bootstrap-scrollspy.js" target="_blank" class="btn">Download file</a>
|
||||
</div>
|
||||
<div class="span9 columns">
|
||||
<h2>Example navbar with scrollspy</h2>
|
||||
@@ -553,6 +585,14 @@ $('#myModal').on('hidden', function () {
|
||||
<strong>Heads up!</strong>
|
||||
Navbar links must have resolvable id targets. For example, a <code><a href="#home">home</a></code> must correspond to something in the dom like <code><div id="home"></div></code>.
|
||||
</div>
|
||||
<h3>Methods</h3>
|
||||
<h4>.scrollspy('refresh')</h4>
|
||||
<p>When using scrollspy in conjunction with adding or removing of elements from the DOM, you'll need to call the refresh method like so:</p>
|
||||
<pre class="prettyprint linenums">
|
||||
$('[data-spy="scroll"]').each(function () {
|
||||
var $spy = $(this).scrollspy('refresh')
|
||||
});
|
||||
</pre>
|
||||
<h3>Options</h3>
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead>
|
||||
@@ -572,6 +612,21 @@ $('#myModal').on('hidden', function () {
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Events</h3>
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 150px;">Event</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>activate</td>
|
||||
<td>This event fires whenever a new item becomes activated by the scrollspy.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -587,12 +642,12 @@ $('#myModal').on('hidden', function () {
|
||||
<div class="row">
|
||||
<div class="span3 columns">
|
||||
<p>This plugin adds quick, dynamic tab and pill functionality for transitioning through local content.</p>
|
||||
<a href="../js/bootstrap-tab.js" target="_blank" class="btn">Download file</a>
|
||||
<a href="assets/js/bootstrap-tab.js" target="_blank" class="btn">Download file</a>
|
||||
</div>
|
||||
<div class="span9 columns">
|
||||
<h2>Example tabs</h2>
|
||||
<p>Click the tabs below to toggle between hidden panes, even via dropdown menus.</p>
|
||||
<ul id="tab" class="nav nav-tabs">
|
||||
<ul id="myTab" class="nav nav-tabs">
|
||||
<li class="active"><a href="#home" data-toggle="tab">Home</a></li>
|
||||
<li><a href="#profile" data-toggle="tab">Profile</a></li>
|
||||
<li class="dropdown">
|
||||
@@ -619,24 +674,35 @@ $('#myModal').on('hidden', function () {
|
||||
</div>
|
||||
<hr>
|
||||
<h2>Using bootstrap-tab.js</h2>
|
||||
<p>Enable tabbable tabs via javascript:</p>
|
||||
<pre class="prettyprint linenums">$('#myTab').tab('show')</pre>
|
||||
<h3>Markup</h3>
|
||||
<p>You can activate a tab or pill navigation without writing any javascript by simply specifying <code>data-toggle="tab"</code> or <code>data-toggle="pill"</code> on an element.</p>
|
||||
<p>Enable tabbable tabs via javascript (each tab needs to be activated individually):</p>
|
||||
<pre class="prettyprint linenums">
|
||||
$('#myTab a').click(function (e) {
|
||||
e.preventDefault();
|
||||
$(this).tab('show');
|
||||
})</pre>
|
||||
<p>You can activate individual tabs in several ways:</p>
|
||||
<pre class="prettyprint linenums">
|
||||
<ul class="tabs">
|
||||
$('#myTab a[href="#profile"]').tab('show'); // Select tab by name
|
||||
$('#myTab a:first').tab('show'); // Select first tab
|
||||
$('#myTab a:last').tab('show'); // Select last tab
|
||||
$('#myTab li:eq(2) a').tab('show'); // Select third tab (0-indexed)
|
||||
</pre>
|
||||
<h3>Markup</h3>
|
||||
<p>You can activate a tab or pill navigation without writing any javascript by simply specifying <code>data-toggle="tab"</code> or <code>data-toggle="pill"</code> on an element. Adding the <code>nav</code> and <code>nav-tabs</code> classes to the tab <code>ul</code> will apply the bootstrap tab styling.</p>
|
||||
<pre class="prettyprint linenums">
|
||||
<ul class="nav nav-tabs">
|
||||
<li><a href="#home" data-toggle="tab">Home</a></li>
|
||||
<li><a href="#profile" data-toggle="tab">Profile</a></li>
|
||||
<li><a href="#messages" data-toggle="tab">Messages</a></li>
|
||||
<li><a href="#ettings" data-toggle="tab">Settings</a></li>
|
||||
<li><a href="#settings" data-toggle="tab">Settings</a></li>
|
||||
</ul></pre>
|
||||
<h3>Methods</h3>
|
||||
<h4>$().tab</h4>
|
||||
<p>
|
||||
Activates a tab element and content container. Tab should have either a `data-target` or an `href` targeting a container node in the dom.
|
||||
Activates a tab element and content container. Tab should have either a <code>data-target</code> or an <code>href</code> targeting a container node in the DOM.
|
||||
</p>
|
||||
<pre class="prettyprint linenums">
|
||||
<ul class="tabs">
|
||||
<ul class="nav nav-tabs" id="myTab">
|
||||
<li class="active"><a href="#home">Home</a></li>
|
||||
<li><a href="#profile">Profile</a></li>
|
||||
<li><a href="#messages">Messages</a></li>
|
||||
@@ -652,7 +718,7 @@ $('#myModal').on('hidden', function () {
|
||||
|
||||
<script>
|
||||
$(function () {
|
||||
$('.tabs a:last').tab('show')
|
||||
$('#myTab a:last').tab('show');
|
||||
})
|
||||
</script></pre>
|
||||
<h3>Events</h3>
|
||||
@@ -694,14 +760,14 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
|
||||
<div class="row">
|
||||
<div class="span3 columns">
|
||||
<h3>About Tooltips</h3>
|
||||
<p>Inspired by the excellent jQuery.tipsy plugin written by Jason Frame; Tooltips are an updated version, which don't rely on images, uss css3 for animations, and data-attributes for local title storage.</p>
|
||||
<a href="../js/bootstrap-tooltip.js" target="_blank" class="btn">Download file</a>
|
||||
<p>Inspired by the excellent jQuery.tipsy plugin written by Jason Frame; Tooltips are an updated version, which don't rely on images, use css3 for animations, and data-attributes for local title storage.</p>
|
||||
<a href="assets/js/bootstrap-tooltip.js" target="_blank" class="btn">Download file</a>
|
||||
</div>
|
||||
<div class="span9 columns">
|
||||
<h2>Example use of Tooltips</h2>
|
||||
<p>Hover over the links below to see tooltips:</p>
|
||||
<div class="tooltip-demo well">
|
||||
<p class="muted" style="margin-bottom: 0;">Tight pants next level keffiyeh <a href="#" rel='tooltip' title="first tooltip">you probably</a> haven't heard of them. Photo booth beard raw denim letterpress vegan messenger bag stumptown. Farm-to-table seitan, mcsweeney's fixie sustainable quinoa 8-bit american apparel <a href="#" rel='tooltip' title='Another tooltip'>have a</a> terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A <a href="#" rel='tooltip' title='Another one here too'>really ironic</a> artisan whatever keytar, scenester farm-to-table banksy Austin <a href="#" rel='tooltip' title='The last tip!'>twitter handle</a> freegan cred raw denim single-origin coffee viral.
|
||||
<p class="muted" style="margin-bottom: 0;">Tight pants next level keffiyeh <a href="#" rel="tooltip" title="first tooltip">you probably</a> haven't heard of them. Photo booth beard raw denim letterpress vegan messenger bag stumptown. Farm-to-table seitan, mcsweeney's fixie sustainable quinoa 8-bit american apparel <a href="#" rel="tooltip" title="Another tooltip">have a</a> terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A really ironic artisan <a href="#" rel="tooltip" title="Another one here too">whatever keytar</a>, scenester farm-to-table banksy Austin <a href="#" rel="tooltip" title="The last tip!">twitter handle</a> freegan cred raw denim single-origin coffee viral.
|
||||
</p>
|
||||
</div>
|
||||
<hr>
|
||||
@@ -727,7 +793,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
|
||||
</tr>
|
||||
<tr>
|
||||
<td>placement</td>
|
||||
<td>string</td>
|
||||
<td>string|function</td>
|
||||
<td>'top'</td>
|
||||
<td>how to position the tooltip - top | bottom | left | right</td>
|
||||
</tr>
|
||||
@@ -754,7 +820,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
|
||||
<td>number | object</td>
|
||||
<td>0</td>
|
||||
<td>
|
||||
<p>delay showing and hiding the tooltip (ms)</p>
|
||||
<p>delay showing and hiding the tooltip (ms) - does not apply to manual trigger type</p>
|
||||
<p>If a number is supplied, delay is applied to both hide/show</p>
|
||||
<p>Object structure is: <code>delay: { show: 500, hide: 100 }</code></p>
|
||||
</td>
|
||||
@@ -767,17 +833,20 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
|
||||
</div>
|
||||
<h3>Markup</h3>
|
||||
<p>For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a selector option.</p>
|
||||
<pre class="prettyprint linenums">
|
||||
<a href="#" rel="tooltip" title="first tooltip">hover over me</a>
|
||||
</pre>
|
||||
<h3>Methods</h3>
|
||||
<h4>$().tooltip(options)</h4>
|
||||
<p>Attaches a tooltip handler to an element collection.</p>
|
||||
<h4>.tooltip('show')</h4>
|
||||
<p>Reveals an elements tooltip.</p>
|
||||
<p>Reveals an element's tooltip.</p>
|
||||
<pre class="prettyprint linenums">$('#element').tooltip('show')</pre>
|
||||
<h4>.tooltip('hide')</h4>
|
||||
<p>Hides an elements tooltip.</p>
|
||||
<p>Hides an element's tooltip.</p>
|
||||
<pre class="prettyprint linenums">$('#element').tooltip('hide')</pre>
|
||||
<h4>.tooltip('toggle')</h4>
|
||||
<p>Toggles an elements tooltip.</p>
|
||||
<p>Toggles an element's tooltip.</p>
|
||||
<pre class="prettyprint linenums">$('#element').tooltip('toggle')</pre>
|
||||
</div>
|
||||
</div>
|
||||
@@ -795,8 +864,8 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
|
||||
<div class="span3 columns">
|
||||
<h3>About popovers</h3>
|
||||
<p>Add small overlays of content, like those on the iPad, to any element for housing secondary information.</p>
|
||||
<p class="muted"><strong>*</strong> Requires <a href="#tooltip">Tooltip</a> to be included</p>
|
||||
<a href="../js/bootstrap-popover.js" target="_blank" class="btn">Download file</a>
|
||||
<p class="muted"><strong>*</strong> Requires <a href="#tooltips">Tooltip</a> to be included</p>
|
||||
<a href="assets/js/bootstrap-popover.js" target="_blank" class="btn">Download file</a>
|
||||
</div>
|
||||
<div class="span9 columns">
|
||||
<h2>Example hover popover</h2>
|
||||
@@ -827,7 +896,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
|
||||
</tr>
|
||||
<tr>
|
||||
<td>placement</td>
|
||||
<td>string</td>
|
||||
<td>string|function</td>
|
||||
<td>'right'</td>
|
||||
<td>how to position the popover - top | bottom | left | right</td>
|
||||
</tr>
|
||||
@@ -860,7 +929,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
|
||||
<td>number | object</td>
|
||||
<td>0</td>
|
||||
<td>
|
||||
<p>delay showing and hiding the popover (ms)</p>
|
||||
<p>delay showing and hiding the popover (ms) - does not apply to manual trigger type</p>
|
||||
<p>If a number is supplied, delay is applied to both hide/show</p>
|
||||
<p>Object structure is: <code>delay: { show: 500, hide: 100 }</code></p>
|
||||
</td>
|
||||
@@ -873,7 +942,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
|
||||
</div>
|
||||
<h3>Markup</h3>
|
||||
<p>
|
||||
For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a the selector option.
|
||||
For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a selector option.
|
||||
</p>
|
||||
<h3>Methods</h3>
|
||||
<h4>$().popover(options)</h4>
|
||||
@@ -903,27 +972,27 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
|
||||
<div class="span3 columns">
|
||||
<h3>About alerts</h3>
|
||||
<p>The alert plugin is a tiny class for adding close functionality to alerts.</p>
|
||||
<a href="../js/bootstrap-alert.js" target="_blank" class="btn">Download</a>
|
||||
<a href="assets/js/bootstrap-alert.js" target="_blank" class="btn">Download</a>
|
||||
</div>
|
||||
<div class="span9 columns">
|
||||
<h2>Example alerts</h2>
|
||||
<p>The alerts plugin works on regular alert messages, and block messages.</p>
|
||||
<div class="alert fade in">
|
||||
<a class="close" data-dismiss="alert" href="#">×</a>
|
||||
<strong>Holy guacamole!</strong> Best check yo self, you’re not looking too good.
|
||||
<button class="close" data-dismiss="alert">×</button>
|
||||
<strong>Holy guacamole!</strong> Best check yo self, you're not looking too good.
|
||||
</div>
|
||||
<div class="alert alert-block alert-error fade in">
|
||||
<a class="close" data-dismiss="alert" href="#">×</a>
|
||||
<button class="close" data-dismiss="alert">×</button>
|
||||
<h4 class="alert-heading">Oh snap! You got an error!</h4>
|
||||
<p>Change this and that and try again. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.</p>
|
||||
<p>
|
||||
<a class="btn btn-danger small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
|
||||
<a class="btn btn-danger" href="#">Take this action</a> <a class="btn" href="#">Or do this</a>
|
||||
</p>
|
||||
</div>
|
||||
<hr>
|
||||
<h2>Using bootstrap-alerts.js</h2>
|
||||
<h2>Using bootstrap-alert.js</h2>
|
||||
<p>Enable dismissal of an alert via javascript:</p>
|
||||
<pre class="prettyprint linenums">$(".alert-message").alert()</pre>
|
||||
<pre class="prettyprint linenums">$(".alert").alert()</pre>
|
||||
<h3>Markup</h3>
|
||||
<p>Just add <code>data-dismiss="alert"</code> to your close button to automatically give an alert close functionality.</p>
|
||||
<pre class="prettyprint linenums"><a class="close" data-dismiss="alert" href="#">&times;</a></pre>
|
||||
@@ -932,7 +1001,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
|
||||
<p>Wraps all alerts with close functionality. To have your alerts animate out when closed, make sure they have the <code>.fade</code> and <code>.in</code> class already applied to them.</p>
|
||||
<h4>.alert('close')</h4>
|
||||
<p>Closes an alert.</p>
|
||||
<pre class="prettyprint linenums">$(".alert-message").alert('close')</pre>
|
||||
<pre class="prettyprint linenums">$(".alert").alert('close')</pre>
|
||||
<h3>Events</h3>
|
||||
<p>Bootstrap's alert class exposes a few events for hooking into alert functionality.</p>
|
||||
<table class="table table-bordered table-striped">
|
||||
@@ -973,7 +1042,7 @@ $('#my-alert').bind('closed', function () {
|
||||
<div class="span3 columns">
|
||||
<h3>About</h3>
|
||||
<p>Do more with buttons. Control button states or create groups of buttons for more components like toolbars.</p>
|
||||
<a href="../js/bootstrap-button.js" target="_blank" class="btn">Download file</a>
|
||||
<a href="assets/js/bootstrap-button.js" target="_blank" class="btn">Download file</a>
|
||||
</div>
|
||||
<div class="span9 columns">
|
||||
<h2>Example uses</h2>
|
||||
@@ -1019,7 +1088,7 @@ $('#my-alert').bind('closed', function () {
|
||||
<hr>
|
||||
<h2>Using bootstrap-button.js</h2>
|
||||
<p>Enable buttons via javascript:</p>
|
||||
<pre class="prettyprint linenums">$('.tabs').button()</pre>
|
||||
<pre class="prettyprint linenums">$('.nav-tabs').button()</pre>
|
||||
<h3>Markup</h3>
|
||||
<p>Data attributes are integral to the button plugin. Check out the example code below for the various markup types.</p>
|
||||
<pre class="prettyprint linenums">
|
||||
@@ -1042,7 +1111,7 @@ $('#my-alert').bind('closed', function () {
|
||||
</pre>
|
||||
<h3>Methods</h3>
|
||||
<h4>$().button('toggle')</h4>
|
||||
<p>Toggles push state. Gives btn the look that it's been activated.</p>
|
||||
<p>Toggles push state. Gives the button the appearance that it has been activated.</p>
|
||||
<div class="alert alert-info">
|
||||
<strong>Heads up!</strong>
|
||||
You can enable auto toggling of a button by using the <code>data-toggle</code> attribute.
|
||||
@@ -1080,8 +1149,9 @@ $('#my-alert').bind('closed', function () {
|
||||
<div class="span3 columns">
|
||||
<h3>About</h3>
|
||||
<p>Get base styles and flexible support for collapsible components like accordions and navigation.</p>
|
||||
<a href="../js/bootstrap-collapse.js" target="_blank" class="btn">Download file</a>
|
||||
</div>
|
||||
<a href="assets/js/bootstrap-collapse.js" target="_blank" class="btn">Download file</a>
|
||||
<p class="muted"><strong>*</strong> Requires the Transitions plugin to be included.</p>
|
||||
</div>
|
||||
<div class="span9 columns">
|
||||
<h2>Example accordion</h2>
|
||||
<p>Using the collapse plugin, we built a simple accordion style widget:</p>
|
||||
@@ -1145,7 +1215,7 @@ $('#my-alert').bind('closed', function () {
|
||||
<td>parent</td>
|
||||
<td>selector</td>
|
||||
<td>false</td>
|
||||
<td>If selector then all collapsible elements under the specified parent will be closed when this collasabile item is shown. (similar to traditional accordion behavior)</td>
|
||||
<td>If selector then all collapsible elements under the specified parent will be closed when this collapsible item is shown. (similar to traditional accordion behavior)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>toggle</td>
|
||||
@@ -1233,7 +1303,7 @@ $('#myCollapsible').on('hidden', function () {
|
||||
<div class="span3 columns">
|
||||
<h3>About</h3>
|
||||
<p>A generic plugin for cycling through elements. A merry-go-round.</p>
|
||||
<a href="../js/bootstrap-carousel.js" target="_blank" class="btn">Download file</a>
|
||||
<a href="assets/js/bootstrap-carousel.js" target="_blank" class="btn">Download file</a>
|
||||
</div>
|
||||
<div class="span9 columns">
|
||||
<h2>Example carousel</h2>
|
||||
@@ -1288,17 +1358,25 @@ $('#myCollapsible').on('hidden', function () {
|
||||
<td>interval</td>
|
||||
<td>number</td>
|
||||
<td>5000</td>
|
||||
<td>The amount of time to delay between automatically cycling an item.</td>
|
||||
<td>The amount of time to delay between automatically cycling an item. If false, carousel will not automatically cycle.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>pause</td>
|
||||
<td>string</td>
|
||||
<td>"hover"</td>
|
||||
<td>Pauses the cycling of the carousel on mouseenter and resumes the cycling of the carousel on mouseleave.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Markup</h3>
|
||||
<p>Data attributes are integral to the carousel plugin. Check out the example code below for the various markup types.</p>
|
||||
<p>Data attributes are used for the previous and next conrols. Check out the example markup below.</p>
|
||||
<pre class="prettyprint linenums">
|
||||
<div class="carousel">
|
||||
<div id="myCarousel" class="carousel">
|
||||
<!-- Carousel items -->
|
||||
<div class="carousel-inner">
|
||||
...
|
||||
<div class="active item">…</div>
|
||||
<div class="item">…</div>
|
||||
<div class="item">…</div>
|
||||
</div>
|
||||
<!-- Carousel nav -->
|
||||
<a class="carousel-control left" href="#myCarousel" data-slide="prev">&lsaquo;</a>
|
||||
@@ -1309,7 +1387,7 @@ $('#myCollapsible').on('hidden', function () {
|
||||
<h4>.carousel(options)</h4>
|
||||
<p>Initializes the carousel with an optional options <code>object</code> and starts cycling through items.</p>
|
||||
<pre class="prettyprint linenums">
|
||||
$('.myCarousel').carousel({
|
||||
$('.carousel').carousel({
|
||||
interval: 2000
|
||||
})
|
||||
</pre>
|
||||
@@ -1324,7 +1402,7 @@ $('.myCarousel').carousel({
|
||||
<h4>.carousel('next')</h4>
|
||||
<p>Cycles to the next item.</p>
|
||||
<h3>Events</h3>
|
||||
<p>Bootstrap's modal class exposes a few events for hooking into modal functionality.</p>
|
||||
<p>Bootstrap's carousel class exposes two events for hooking into carousel functionality.</p>
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -1339,7 +1417,7 @@ $('.myCarousel').carousel({
|
||||
</tr>
|
||||
<tr>
|
||||
<td>slid</td>
|
||||
<td>This event is fired when the carousel has completed it's slide transition.</td>
|
||||
<td>This event is fired when the carousel has completed its slide transition.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -1359,7 +1437,7 @@ $('.myCarousel').carousel({
|
||||
<div class="span3 columns">
|
||||
<h3>About</h3>
|
||||
<p>A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.</p>
|
||||
<a href="../js/bootstrap-typeahead.js" target="_blank" class="btn">Download file</a>
|
||||
<a href="assets/js/bootstrap-typeahead.js" target="_blank" class="btn">Download file</a>
|
||||
</div>
|
||||
<div class="span9 columns">
|
||||
<h2>Example</h2>
|
||||
@@ -1422,7 +1500,7 @@ $('.myCarousel').carousel({
|
||||
</pre>
|
||||
<h3>Methods</h3>
|
||||
<h4>.typeahead(options)</h4>
|
||||
<p>Initializes an input with a typahead.</p>
|
||||
<p>Initializes an input with a typeahead.</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -1459,5 +1537,7 @@ $('.myCarousel').carousel({
|
||||
<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>
|
||||
|
||||
@@ -2,27 +2,28 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Bootstrap, from Twitter</title>
|
||||
<title>Less · Twitter Bootstrap</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<!-- 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" href="assets/ico/apple-touch-icon.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="assets/ico/apple-touch-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="assets/ico/apple-touch-icon-114x114.png">
|
||||
<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">
|
||||
@@ -39,7 +40,7 @@
|
||||
<span class="icon-bar"></span>
|
||||
</a>
|
||||
<a class="brand" href="./index.html">Bootstrap</a>
|
||||
<div class="nav-collapse">
|
||||
<div class="nav-collapse collapse">
|
||||
<ul class="nav">
|
||||
<li class="">
|
||||
<a href="./index.html">Overview</a>
|
||||
@@ -100,7 +101,7 @@
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<h3>Why LESS?</h3>
|
||||
<p>Bootstrap is made with LESS at it's core, a dynamic stylesheet language created by our good friend, <a href="http://cloudhead.io">Alexis Sellier</a>. It makes developing systems-based CSS faster, easier, and more fun.</p>
|
||||
<p>Bootstrap is made with LESS at its core, a dynamic stylesheet language created by our good friend, <a href="http://cloudhead.io">Alexis Sellier</a>. It makes developing systems-based CSS faster, easier, and more fun.</p>
|
||||
</div>
|
||||
<div class="span4">
|
||||
<h3>What's included?</h3>
|
||||
@@ -123,7 +124,7 @@
|
||||
</div>
|
||||
<div class="span4">
|
||||
<h3>Operations</h3>
|
||||
<p>Make your grid, leading, and more super flexible by doing the math on the fly with operations. Multiple, divide, add, and subtract your way to CSS sanity.</p>
|
||||
<p>Make your grid, leading, and more super flexible by doing the math on the fly with operations. Multiply, divide, add, and subtract your way to CSS sanity.</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -139,12 +140,24 @@
|
||||
|
||||
<div class="row">
|
||||
<div class="span6">
|
||||
<h3>Hyperlinks</h3>
|
||||
<h3>Scaffolding and links</h3>
|
||||
<table class="table table-bordered table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="span2"><code>@linkColor</code></td>
|
||||
<td>#08c</td>
|
||||
<td class="span2"><code>@bodyBackground</code></td>
|
||||
<td><code>@white</code></td>
|
||||
<td>Page background color</td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #fff;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@textColor</code></td>
|
||||
<td><code>@grayDark</code></td>
|
||||
<td>Default text color for entire body, headings, and more</td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #333;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@linkColor</code></td>
|
||||
<td><code>#08c</code></td>
|
||||
<td>Default link text color</td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #08c;"></span></td>
|
||||
</tr>
|
||||
@@ -184,18 +197,70 @@
|
||||
<h3>Typography</h3>
|
||||
<table class="table table-bordered table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="span2"><code>@sansFontFamily</code></td>
|
||||
<td colspan="2">"Helvetica Neue", Helvetica, Arial, sans-serif</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@serifFontFamily</code></td>
|
||||
<td colspan="2"><code>Georgia, "Times New Roman", Times, serif</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@monoFontFamily</code></td>
|
||||
<td colspan="2">Menlo, Monaco, "Courier New", monospace</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="span2"><code>@baseFontSize</code></td>
|
||||
<td>13px</td>
|
||||
<td><em class="muted">Must be pixels</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@baseFontFamily</code></td>
|
||||
<td><code>"Helvetica Neue", Helvetica, Arial, sans-serif</code></td>
|
||||
<td></td>
|
||||
<td colspan="2"><code>@sansFontFamily</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@baseLineHeight</code></td>
|
||||
<td>18px</td>
|
||||
<td><em class="muted">Must be pixels</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@altFontFamily</code></td>
|
||||
<td colspan="2"><code>@serifFontFamily</code></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="span2"><code>@headingsFontFamily</code></td>
|
||||
<td colspan="2"><code>inherit</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@headingsFontWeight</code></td>
|
||||
<td colspan="2"><code>bold</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@headingsColor</code></td>
|
||||
<td colspan="2"><code>inherit</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Tables</h3>
|
||||
<table class="table table-bordered table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="span2"><code>@tableBackground</code></td>
|
||||
<td><code>transparent</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@tableBackgroundAccent</code></td>
|
||||
<td><code>#f9f9f9</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@tableBackgroundHover</code></td>
|
||||
<td><code>#f5f5f5</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@tableBorder</code></td>
|
||||
<td><code>ddd</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -291,10 +356,86 @@
|
||||
<table class="table table-bordered table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="span3"><code>@primaryButtonBackground</code></td>
|
||||
<td class="span3"><code>@btnBackground</code></td>
|
||||
<td><code>@white</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #fff;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="span3"><code>@btnBackgroundHighlight</code></td>
|
||||
<td><code>darken(@white, 10%)</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #e6e6e6;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="span3"><code>@btnBorder</code></td>
|
||||
<td><code>darken(@white, 20%)</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #ccc;"></span></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="span3"><code>@btnPrimaryBackground</code></td>
|
||||
<td><code>@linkColor</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #08c;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="span3"><code>@btnPrimaryBackgroundHighlight</code></td>
|
||||
<td><code>spin(@btnPrimaryBackground, 15%)</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #05c;"></span></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="span3"><code>@btnInfoBackground</code></td>
|
||||
<td><code>#5bc0de</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #5bc0de;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="span3"><code>@btnInfoBackgroundHighlight</code></td>
|
||||
<td><code>#2f96b4</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #2f96b4;"></span></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="span3"><code>@btnSuccessBackground</code></td>
|
||||
<td><code>#62c462</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #62c462;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="span3"><code>@btnSuccessBackgroundHighlight</code></td>
|
||||
<td><code>51a351</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #51a351;"></span></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="span3"><code>@btnWarningBackground</code></td>
|
||||
<td><code>lighten(@orange, 15%)</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #fbb450;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="span3"><code>@btnWarningBackgroundHighlight</code></td>
|
||||
<td><code>@orange</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #f89406;"></span></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="span3"><code>@btnDangerBackground</code></td>
|
||||
<td><code>#ee5f5b</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #ee5f5b;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="span3"><code>@btnDangerBackgroundHighlight</code></td>
|
||||
<td><code>#bd362f</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #bd362f;"></span></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="span3"><code>@btnInverseBackground</code></td>
|
||||
<td><code>@gray</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #555;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="span3"><code>@btnInverseBackgroundHighlight</code></td>
|
||||
<td><code>@grayDarker</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #222;"></span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4>Forms</h4>
|
||||
@@ -303,59 +444,41 @@
|
||||
<tr>
|
||||
<td class="span3"><code>@placeholderText</code></td>
|
||||
<td><code>@grayLight</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #999;"></span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4>Navbar</h4>
|
||||
<table class="table table-bordered table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="span3"><code>@navbarHeight</code></td>
|
||||
<td>40px</td>
|
||||
<td class="swatch-col"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarBackground</code></td>
|
||||
<td><code>@grayDarker</code></td>
|
||||
<td><span class="swatch" style="background-color: #222;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarBackgroundHighlight</code></td>
|
||||
<td><code>@grayDark</code></td>
|
||||
<td><span class="swatch" style="background-color: #333;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarText</code></td>
|
||||
<td><code>@grayLight</code></td>
|
||||
<td><span class="swatch" style="background-color: #999;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarLinkColor</code></td>
|
||||
<td><code>@grayLight</code></td>
|
||||
<td><span class="swatch" style="background-color: #999;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarLinkColorHover</code></td>
|
||||
<td><code>@inputBackground</code></td>
|
||||
<td><code>@white</code></td>
|
||||
<td><span class="swatch swatch-bordered" style="background-color: #fff;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@inputBorder</code></td>
|
||||
<td><code>#ccc</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@inputBorderRadius</code></td>
|
||||
<td><code>3px</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@inputDisabledBackground</code></td>
|
||||
<td><code>@grayLighter</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@formActionsBackground</code></td>
|
||||
<td><code>#f5f5f5</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="span6">
|
||||
<h4>Form states and alerts</h4>
|
||||
<table class="table table-bordered table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="span3"><code>@warningText</code></td>
|
||||
<td>#f3edd2</td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #f3edd2;"></span></td>
|
||||
<td>#c09853</td>
|
||||
<td><span class="swatch" style="background-color: #c09853;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@warningBackground</code></td>
|
||||
<td>#c09853</td>
|
||||
<td><span class="swatch" style="background-color: #c09853;"></span></td>
|
||||
<td>#f3edd2</td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #f3edd2;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@errorText</code></td>
|
||||
@@ -390,6 +513,130 @@
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="span6">
|
||||
<h4>Navbar</h4>
|
||||
<table class="table table-bordered table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="span3"><code>@navbarHeight</code></td>
|
||||
<td>40px</td>
|
||||
<td class="swatch-col"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarBackground</code></td>
|
||||
<td><code>@grayDarker</code></td>
|
||||
<td><span class="swatch" style="background-color: #222;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarBackgroundHighlight</code></td>
|
||||
<td><code>@grayDark</code></td>
|
||||
<td><span class="swatch" style="background-color: #333;"></span></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><code>@navbarText</code></td>
|
||||
<td><code>@grayLight</code></td>
|
||||
<td><span class="swatch" style="background-color: #999;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarLinkColor</code></td>
|
||||
<td><code>@grayLight</code></td>
|
||||
<td><span class="swatch" style="background-color: #999;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarLinkColorHover</code></td>
|
||||
<td><code>@white</code></td>
|
||||
<td><span class="swatch swatch-bordered" style="background-color: #fff;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarLinkColorActive</code></td>
|
||||
<td><code>@navbarLinkColorHover</code></td>
|
||||
<td><span class="swatch swatch-bordered" style="background-color: #fff;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarLinkBackgroundHover</code></td>
|
||||
<td><code>transparent</code></td>
|
||||
<td><span class="swatch swatch-bordered" style="background-color: transparent;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarLinkBackgroundActive</code></td>
|
||||
<td><code>@navbarBackground</code></td>
|
||||
<td><span class="swatch swatch-bordered" style="background-color: #fff;"></span></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><code>@navbarSearchBackground</code></td>
|
||||
<td><code>lighten(@navbarBackground, 25%)</code></td>
|
||||
<td><span class="swatch" style="background-color: #666;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarSearchBackgroundFocus</code></td>
|
||||
<td><code>@white</code></td>
|
||||
<td><span class="swatch swatch-bordered" style="background-color: #fff;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarSearchBorder</code></td>
|
||||
<td><code>darken(@navbarSearchBackground, 30%)</code></td>
|
||||
<td><span class="swatch" style="background-color: #111;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarSearchPlaceholderColor</code></td>
|
||||
<td><code>#ccc</code></td>
|
||||
<td><span class="swatch" style="background-color: #ccc;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarBrandColor</code></td>
|
||||
<td><code>@navbarLinkColor</code></td>
|
||||
<td><span class="swatch swatch-bordered" style="background-color: #fff;"></span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4>Dropdowns</h4>
|
||||
<table class="table table-bordered table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="span2"><code>@dropdownBackground</code></td>
|
||||
<td><code>@white</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@dropdownBorder</code></td>
|
||||
<td><code>rgba(0,0,0,.2)</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@dropdownLinkColor</code></td>
|
||||
<td><code>@grayDark</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@dropdownLinkColorHover</code></td>
|
||||
<td><code>@white</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@dropdownLinkBackgroundHover</code></td>
|
||||
<td><code>@linkColor</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4>Hero unit</h4>
|
||||
<table class="table table-bordered table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="span3"><code>@heroUnitBackground</code></td>
|
||||
<td><code>@grayLighter</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #eee;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="span2"><code>@heroUnitHeadingColor</code></td>
|
||||
<td><code>inherit</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@heroUnitLeadColor</code></td>
|
||||
<td><code>inhereit</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div><!-- /row -->
|
||||
|
||||
</section>
|
||||
@@ -461,17 +708,17 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.size()</code></td>
|
||||
<td><code>@height: 5px, @width: 5px</code></td>
|
||||
<td><code>@height @width</code></td>
|
||||
<td>Quickly set the height and width on one line</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.square()</code></td>
|
||||
<td><code>@size: 5px</code></td>
|
||||
<td><code>@size</code></td>
|
||||
<td>Builds on <code>.size()</code> to set the width and height as same value</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.opacity()</code></td>
|
||||
<td><code>@opacity: 100</code></td>
|
||||
<td><code>@opacity</code></td>
|
||||
<td>Set, in whole numbers, the opacity percentage (e.g., "50" or "75")</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@@ -553,22 +800,27 @@
|
||||
<tr>
|
||||
<td><code>.container-fixed()</code></td>
|
||||
<td><em class="muted">none</em></td>
|
||||
<td>Provide a fixed-width (set with <code>@siteWidth</code>) container for holding your content</td>
|
||||
<td>Create a horizontally centered container for holding your content</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.columns()</code></td>
|
||||
<td><code>@columns: 1</code></td>
|
||||
<td>Build a grid column that spans any number of columns (defaults to 1 column)</td>
|
||||
<td><code>#grid > .core()</code></td>
|
||||
<td><code>@gridColumnWidth, @gridGutterWidth</code></td>
|
||||
<td>Generate a pixel grid system (container, row, and columns) with <em>n</em> columns and <em>x</em> pixel wide gutter</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.offset()</code></td>
|
||||
<td><code>@columns: 1</code></td>
|
||||
<td>Offset a grid column with left margin that spans any number of columns</td>
|
||||
<td><code>#grid > .fluid()</code></td>
|
||||
<td><code>@fluidGridColumnWidth, @fluidGridGutterWidth</code></td>
|
||||
<td>Generate a precent grid system with <em>n</em> columns and <em>x</em> % wide gutter</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.gridColumn()</code></td>
|
||||
<td><em class="muted">none</em></td>
|
||||
<td>Make an element float like a grid column</td>
|
||||
<td><code>#grid > .input()</code></td>
|
||||
<td><code>@gridColumnWidth, @gridGutterWidth</code></td>
|
||||
<td>Generate the pixel grid system for <code>input</code> elements, accounting for padding and borders</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.makeColumn</code></td>
|
||||
<td><code>@columns: 1, @offset: 0</code></td>
|
||||
<td>Turn any <code>div</code> into a grid column without the <code>.span*</code> classes</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -584,12 +836,12 @@
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>.border-radius()</code></td>
|
||||
<td><code>@radius: 5px</code></td>
|
||||
<td><code>@radius</code></td>
|
||||
<td>Round the corners of an element. Can be a single value or four space-separated values</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.box-shadow()</code></td>
|
||||
<td><code>@shadow: 0 1px 3px rgba(0,0,0,.25)</code></td>
|
||||
<td><code>@shadow</code></td>
|
||||
<td>Add a drop shadow to an element</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -605,17 +857,17 @@
|
||||
<tr>
|
||||
<td><code>.scale()</code></td>
|
||||
<td><code>@ratio</code></td>
|
||||
<td>Scale an element to <em>n</em> times it's original size</td>
|
||||
<td>Scale an element to <em>n</em> times its original size</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.translate()</code></td>
|
||||
<td><code>@x: 0, @y: 0</code></td>
|
||||
<td><code>@x, @y</code></td>
|
||||
<td>Move an element on the x and y planes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.background-clip()</code></td>
|
||||
<td><code>@clip</code></td>
|
||||
<td>Crop the backgroud of an element (useful for <code>border-radius</code>)</td>
|
||||
<td>Crop the background of an element (useful for <code>border-radius</code>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.background-size()</code></td>
|
||||
@@ -632,6 +884,11 @@
|
||||
<td><code>@select</code></td>
|
||||
<td>Control cursor selection of text on a page</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.backface-visibility()</code></td>
|
||||
<td><code>@visibility: visible</code></td>
|
||||
<td>Prevent flickering of content when using CSS 3D transforms</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.resizable()</code></td>
|
||||
<td><code>@direction: both</code></td>
|
||||
@@ -639,7 +896,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.content-columns()</code></td>
|
||||
<td><code>@columnCount, @columnGap: @gridColumnGutter</code></td>
|
||||
<td><code>@columnCount, @columnGap: @gridGutterWidth</code></td>
|
||||
<td>Make the content of any element use CSS3 columns</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@@ -655,47 +912,47 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>.#translucent > .background()</code></td>
|
||||
<td><code>#translucent > .background()</code></td>
|
||||
<td><code>@color: @white, @alpha: 1</code></td>
|
||||
<td>Give an element a translucent background color</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.#translucent > .border()</code></td>
|
||||
<td><code>#translucent > .border()</code></td>
|
||||
<td><code>@color: @white, @alpha: 1</code></td>
|
||||
<td>Give an element a translucent border color</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.#gradient > .vertical()</code></td>
|
||||
<td><code>#gradient > .vertical()</code></td>
|
||||
<td><code>@startColor, @endColor</code></td>
|
||||
<td>Create a cross-browser vertical background gradient</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.#gradient > .horizontal()</code></td>
|
||||
<td><code>#gradient > .horizontal()</code></td>
|
||||
<td><code>@startColor, @endColor</code></td>
|
||||
<td>Create a cross-browser horizontal background gradient</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.#gradient > .directional()</code></td>
|
||||
<td><code>#gradient > .directional()</code></td>
|
||||
<td><code>@startColor, @endColor, @deg</code></td>
|
||||
<td>Create a cross-browser directional background gradient</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.#gradient > .vertical-three-colors()</code></td>
|
||||
<td><code>#gradient > .vertical-three-colors()</code></td>
|
||||
<td><code>@startColor, @midColor, @colorStop, @endColor</code></td>
|
||||
<td>Create a cross-browser three-color background gradient</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.#gradient > .radial()</code></td>
|
||||
<td><code>#gradient > .radial()</code></td>
|
||||
<td><code>@innerColor, @outerColor</code></td>
|
||||
<td>Create a cross-browser radial background gradient</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.#gradient > .striped()</code></td>
|
||||
<td><code>#gradient > .striped()</code></td>
|
||||
<td><code>@color, @angle</code></td>
|
||||
<td>Create a cross-browser striped background gradient</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.#gradientBar()</code></td>
|
||||
<td><code>#gradientBar()</code></td>
|
||||
<td><code>@primaryColor, @secondaryColor</code></td>
|
||||
<td>Used for buttons to assign a gradient and slightly darker border</td>
|
||||
</tr>
|
||||
@@ -718,15 +975,15 @@
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<h3>Node with makefile</h3>
|
||||
<p>Install the LESS command line compiler with npm by running the following command:</p>
|
||||
<pre>$ npm install less</pre>
|
||||
<p>Install the LESS command line compiler and uglify-js globally with npm by running the following command:</p>
|
||||
<pre>$ npm install -g less uglify-js</pre>
|
||||
<p>Once installed just run <code>make</code> from the root of your bootstrap directory and you're all set.</p>
|
||||
<p>Additionally, if you have <a href="https://github.com/mynyml/watchr">watchr</a> installed, you may run <code>make watch</code> to have bootstrap automatically rebuilt every time you edit a file in the bootstrap lib (this isn't required, just a convenience method).</p>
|
||||
</div><!-- /span4 -->
|
||||
<div class="span4">
|
||||
<h3>Command line</h3>
|
||||
<p>Install the LESS command line tool via Node and run the following command:</p>
|
||||
<pre>$ lessc ./lib/bootstrap.less > bootstrap.css</pre>
|
||||
<pre>$ lessc ./less/bootstrap.less > bootstrap.css</pre>
|
||||
<p>Be sure to include <code>--compress</code> in that command if you're trying to save some bytes!</p>
|
||||
</div><!-- /span4 -->
|
||||
<div class="span4">
|
||||
@@ -790,5 +1047,7 @@
|
||||
<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>
|
||||
|
||||
@@ -2,27 +2,28 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Bootstrap, from Twitter</title>
|
||||
<title>Scaffolding · Twitter Bootstrap</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<!-- 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" href="assets/ico/apple-touch-icon.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="assets/ico/apple-touch-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="assets/ico/apple-touch-icon-114x114.png">
|
||||
<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">
|
||||
@@ -39,7 +40,7 @@
|
||||
<span class="icon-bar"></span>
|
||||
</a>
|
||||
<a class="brand" href="./index.html">Bootstrap</a>
|
||||
<div class="nav-collapse">
|
||||
<div class="nav-collapse collapse">
|
||||
<ul class="nav">
|
||||
<li class="">
|
||||
<a href="./index.html">Overview</a>
|
||||
@@ -81,7 +82,10 @@
|
||||
<p class="lead">Bootstrap is built on a responsive 12-column grid. We've also included fixed- and fluid-width layouts based on that system.</p>
|
||||
<div class="subnav">
|
||||
<ul class="nav nav-pills">
|
||||
<li><a href="#grid-system">Grid system</a></li>
|
||||
<li><a href="#global">Global styles</a></li>
|
||||
<li><a href="#gridSystem">Grid system</a></li>
|
||||
<li><a href="#fluidGridSystem">Fluid grid system</a></li>
|
||||
<li><a href="#gridCustomization">Customizing</a></li>
|
||||
<li><a href="#layouts">Layouts</a></li>
|
||||
<li><a href="#responsive">Responsive design</a></li>
|
||||
</ul>
|
||||
@@ -90,14 +94,52 @@
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Global Bootstrap settings
|
||||
================================================== -->
|
||||
<section id="global">
|
||||
<div class="page-header">
|
||||
<h1>Global styles <small>for CSS reset, typography, and links</small></h1>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<h2>Requires HTML5 doctype</h2>
|
||||
<p>Bootstrap makes use of HTML elements and CSS properties that require the use of the HTML5 doctype. Be sure to include it at the beginning of every Bootstrapped page in your project.</p>
|
||||
<pre class="prettyprint linenums">
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
...
|
||||
</html>
|
||||
</pre>
|
||||
</div><!-- /.span -->
|
||||
<div class="span4">
|
||||
<h2>Typography and links</h2>
|
||||
<p>Within the <strong>scaffolding.less</strong> file, we set basic global display, typography, and link styles. Specifically, we:</p>
|
||||
<ul>
|
||||
<li>Remove margin on the body</li>
|
||||
<li>Set <code>background-color: white;</code> on the <code>body</code></li>
|
||||
<li>Use the <code>@baseFontFamily</code>, <code>@baseFontSize</code>, and <code>@baseLineHeight</code> attributes as our typographyic base</li>
|
||||
<li>Set the global link color via <code>@linkColor</code> and apply link underlines only on <code>:hover</code></li>
|
||||
</ul>
|
||||
</div><!-- /.span -->
|
||||
<div class="span4">
|
||||
<h2>Reset via Normalize</h2>
|
||||
<p>As of Bootstrap 2, the traditional CSS reset has evolved to make use of elements from <a href="http://necolas.github.com/normalize.css/" target="_blank">Normalize.css</a>, a project by <a href="http://twitter.com/necolas" target="_blank">Nicolas Gallagher</a> that also powers the <a href="http://html5boilerplate.com" target="_blank">HTML5 Boilerplate</a>.</p>
|
||||
<p>The new reset can still be found in <strong>reset.less</strong>, but with many elements removed for brevity and accuracy.</p>
|
||||
</div><!-- /.span -->
|
||||
</div><!-- /.row -->
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Grid system
|
||||
================================================== -->
|
||||
<section id="grid-system">
|
||||
<section id="gridSystem">
|
||||
<div class="page-header">
|
||||
<h1>Grid system <small>12 columns with a responsive twist</small></h1>
|
||||
<h1>Default grid system <small>12 columns with a responsive twist</small></h1>
|
||||
</div>
|
||||
|
||||
<h2>Default 940px grid</h2>
|
||||
<div class="row show-grid">
|
||||
<div class="span1">1</div>
|
||||
<div class="span1">1</div>
|
||||
@@ -131,8 +173,8 @@
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<p>The default grid system provided as part of Bootstrap is a <strong>940px-wide, 12-column grid</strong>.</p>
|
||||
<p>It also has four responsive variations for various devices and resolutions: phone, tablet portrait, table landscape and small desktops, and large widescreen desktops.</p>
|
||||
</div>
|
||||
<p>It also has four responsive variations for various devices and resolutions: phone, tablet portrait, tablet landscape and small desktops, and large widescreen desktops.</p>
|
||||
</div><!-- /.span -->
|
||||
<div class="span4">
|
||||
<pre class="prettyprint linenums">
|
||||
<div class="row">
|
||||
@@ -140,11 +182,11 @@
|
||||
<div class="span8">...</div>
|
||||
</div>
|
||||
</pre>
|
||||
</div>
|
||||
</div><!-- /.span -->
|
||||
<div class="span4">
|
||||
<p>As shown here, a basic layout can be created with two "columns," each spanning a number of the 12 foundational columns we defined as part of our grid system.</p>
|
||||
</div>
|
||||
</div><!-- /row -->
|
||||
<p>As shown here, a basic layout can be created with two "columns", each spanning a number of the 12 foundational columns we defined as part of our grid system.</p>
|
||||
</div><!-- /.span -->
|
||||
</div><!-- /.row -->
|
||||
|
||||
<br>
|
||||
|
||||
@@ -173,7 +215,8 @@
|
||||
<div class="row">
|
||||
<div class="span6">
|
||||
<p>With the static (non-fluid) grid system in Bootstrap, nesting is easy. To nest your content, just add a new <code>.row</code> and set of <code>.span*</code> columns within an existing <code>.span*</code> column.</p>
|
||||
<h4>Example</h4>
|
||||
<h3>Example</h3>
|
||||
<p>Nested rows should include a set of columns that add up to the number of columns of it's parent. For example, two nested <code>.span3</code> columns should be placed within a <code>.span6</code>.</p>
|
||||
<div class="row show-grid">
|
||||
<div class="span6">
|
||||
Level 1 of column
|
||||
@@ -187,7 +230,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /.span -->
|
||||
<div class="span6">
|
||||
<pre class="prettyprint linenums">
|
||||
<div class="row">
|
||||
@@ -200,10 +243,114 @@
|
||||
</div>
|
||||
</div>
|
||||
</pre>
|
||||
</div>
|
||||
</div><!-- /.span -->
|
||||
</div><!-- /.row -->
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
<!-- Fluid grid system
|
||||
================================================== -->
|
||||
<section id="fluidGridSystem">
|
||||
<div class="page-header">
|
||||
<h1>Fluid grid system <small>12 responsive, percent-based columns</small></h1>
|
||||
</div>
|
||||
|
||||
<h2>Grid customization</h2>
|
||||
<h2>Fluid columns</h2>
|
||||
<div class="row-fluid show-grid">
|
||||
<div class="span1">1</div>
|
||||
<div class="span1">1</div>
|
||||
<div class="span1">1</div>
|
||||
<div class="span1">1</div>
|
||||
<div class="span1">1</div>
|
||||
<div class="span1">1</div>
|
||||
<div class="span1">1</div>
|
||||
<div class="span1">1</div>
|
||||
<div class="span1">1</div>
|
||||
<div class="span1">1</div>
|
||||
<div class="span1">1</div>
|
||||
<div class="span1">1</div>
|
||||
</div>
|
||||
<div class="row-fluid show-grid">
|
||||
<div class="span4">4</div>
|
||||
<div class="span4">4</div>
|
||||
<div class="span4">4</div>
|
||||
</div>
|
||||
<div class="row-fluid show-grid">
|
||||
<div class="span4">4</div>
|
||||
<div class="span8">8</div>
|
||||
</div>
|
||||
<div class="row-fluid show-grid">
|
||||
<div class="span6">6</div>
|
||||
<div class="span6">6</div>
|
||||
</div>
|
||||
<div class="row-fluid show-grid">
|
||||
<div class="span12">12</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<h3>Percents, not pixels</h3>
|
||||
<p>The fluid grid system uses percents for column widths instead of fixed pixels. It also has the same responsive variations as our fixed grid system, ensuring proper proportions for key screen resolutions and devices.</p>
|
||||
</div><!-- /.span -->
|
||||
<div class="span4">
|
||||
<h3>Fluid rows</h3>
|
||||
<p>Make any row fluid simply by changing <code>.row</code> to <code>.row-fluid</code>. The columns stay the exact same, making it super straightforward to flip between fixed and fluid layouts.</p>
|
||||
</div><!-- /.span -->
|
||||
<div class="span4">
|
||||
<h3>Markup</h3>
|
||||
<pre class="prettyprint linenums">
|
||||
<div class="row-fluid">
|
||||
<div class="span4">...</div>
|
||||
<div class="span8">...</div>
|
||||
</div>
|
||||
</pre>
|
||||
</div><!-- /.span -->
|
||||
</div><!-- /.row -->
|
||||
|
||||
<h2>Fluid nesting</h2>
|
||||
<div class="row">
|
||||
<div class="span6">
|
||||
<p>Nesting with fluid grids is a bit different: the number of nested columns doesn't need to match the parent. Instead, your columns are reset at each level because each row takes up 100% of the parent column.</p>
|
||||
<div class="row-fluid show-grid">
|
||||
<div class="span12">
|
||||
Fluid 12
|
||||
<div class="row-fluid show-grid">
|
||||
<div class="span6">
|
||||
Fluid 6
|
||||
</div>
|
||||
<div class="span6">
|
||||
Fluid 6
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /.span -->
|
||||
<div class="span6">
|
||||
<pre class="prettyprint linenums">
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
Level 1 of column
|
||||
<div class="row-fluid">
|
||||
<div class="span6">Level 2</div>
|
||||
<div class="span6">Level 2</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</pre>
|
||||
</div><!-- /.span -->
|
||||
</div><!-- /.row -->
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
<!-- Customizaton
|
||||
================================================== -->
|
||||
<section id="gridCustomization">
|
||||
<div class="page-header">
|
||||
<h1>Grid customization</h1>
|
||||
</div>
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -228,27 +375,22 @@
|
||||
<td>20px</td>
|
||||
<td>Negative space between columns</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@siteWidth</code></td>
|
||||
<td><em>Computed sum of all columns and gutters</em></td>
|
||||
<td>Counts number of columns and gutters to set width of the <code>.container-fixed()</code> mixin</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<h3>Variables in LESS</h3>
|
||||
<p>Built into Bootstrap are a handful of variables for customizing the default 940px grid system, documented above. All variables for the grid are stored in variables.less.</p>
|
||||
</div>
|
||||
</div><!-- /.span -->
|
||||
<div class="span4">
|
||||
<h3>How to customize</h3>
|
||||
<p>Modifying the grid means changing the three <code>@grid*</code> variables and recompiling Bootstrap. Change the grid variables in variables.less and use one of the <a href="#compiling">four ways documented to recompile</a>. If you're adding more columns, be sure to add the CSS for those in grid.less.</p>
|
||||
</div>
|
||||
<p>Modifying the grid means changing the three <code>@grid*</code> variables and recompiling Bootstrap. Change the grid variables in variables.less and use one of the <a href="less.html#compiling">four ways documented to recompile</a>. If you're adding more columns, be sure to add the CSS for those in grid.less.</p>
|
||||
</div><!-- /.span -->
|
||||
<div class="span4">
|
||||
<h3>Staying responsive</h3>
|
||||
<p>Customization of the grid only works at the default level, the 940px grid. To maintain the responsive aspects of Bootstrap, you'll also have to customize the grids in responsive.less.</p>
|
||||
</div>
|
||||
</div><!-- /row -->
|
||||
</div><!-- /.span -->
|
||||
</div><!-- /.row -->
|
||||
|
||||
</section>
|
||||
|
||||
@@ -265,8 +407,8 @@
|
||||
<div class="span6">
|
||||
<h2>Fixed layout</h2>
|
||||
<p>The default and simple 940px-wide, centered layout for just about any website or page provided by a single <code><div class="container"></code>.</p>
|
||||
<div class="minicon-layout">
|
||||
<div class="minicon-layout-body"></div>
|
||||
<div class="mini-layout">
|
||||
<div class="mini-layout-body"></div>
|
||||
</div>
|
||||
<pre class="prettyprint linenums">
|
||||
<body>
|
||||
@@ -275,13 +417,13 @@
|
||||
</div>
|
||||
</body>
|
||||
</pre>
|
||||
</div><!-- /col -->
|
||||
</div><!-- /.span -->
|
||||
<div class="span6">
|
||||
<h2>Fluid layout</h2>
|
||||
<p><code><div class="container-fluid"></code> gives flexible page structure, min- and max-widths, and a left-hand sidebar. It's great for apps and docs.</p>
|
||||
<div class="minicon-layout fluid">
|
||||
<div class="minicon-layout-sidebar"></div>
|
||||
<div class="minicon-layout-body"></div>
|
||||
<div class="mini-layout fluid">
|
||||
<div class="mini-layout-sidebar"></div>
|
||||
<div class="mini-layout-body"></div>
|
||||
</div>
|
||||
<pre class="prettyprint linenums">
|
||||
<div class="container-fluid">
|
||||
@@ -295,8 +437,8 @@
|
||||
</div>
|
||||
</div>
|
||||
</pre>
|
||||
</div><!-- /col -->
|
||||
</div><!-- /row -->
|
||||
</div><!-- /.span -->
|
||||
</div><!-- /.row -->
|
||||
</section>
|
||||
|
||||
|
||||
@@ -311,11 +453,19 @@
|
||||
<!-- Supported devices -->
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<img src="assets/img/responsive-illustrations.png" alt="Responsive devices">
|
||||
</div>
|
||||
<p><img src="assets/img/responsive-illustrations.png" alt="Responsive devices"></p>
|
||||
<h3>What they do</h3>
|
||||
<p>Media queries allow for custom CSS based on a number of conditions—ratios, widths, display type, etc—but usually focuses around <code>min-width</code> and <code>max-width</code>.</p>
|
||||
<ul>
|
||||
<li>Modify the width of column in our grid</li>
|
||||
<li>Stack elements instead of float wherever necessary</li>
|
||||
<li>Resize headings and text to be more appropriate for devices</li>
|
||||
</ul>
|
||||
<p>Use media queries responsibly and only as a start to your mobile audiences. For larger projects, do consider dedicated code bases and not layers of media queries.</p>
|
||||
</div><!-- /.span -->
|
||||
<div class="span8">
|
||||
<h2>Supported devices</h2>
|
||||
<p>Bootstrap supports a handful of media queries to help make your projects more appropriate on different devices and screen resolutions. Here's what's included:</p>
|
||||
<p>Bootstrap supports a handful of media queries in a single file to help make your projects more appropriate on different devices and screen resolutions. Here's what's included:</p>
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -332,71 +482,154 @@
|
||||
<td class="muted" colspan="2">Fluid columns, no fixed widths</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Portrait tablets</td>
|
||||
<td>480px to 768px</td>
|
||||
<td>Smartphones to tablets</td>
|
||||
<td>767px and below</td>
|
||||
<td class="muted" colspan="2">Fluid columns, no fixed widths</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Landscape tablets</td>
|
||||
<td>768px to 940px</td>
|
||||
<td>44px</td>
|
||||
<td>Portrait tablets</td>
|
||||
<td>768px and above</td>
|
||||
<td>42px</td>
|
||||
<td>20px</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Default</td>
|
||||
<td>940px and up</td>
|
||||
<td>980px and up</td>
|
||||
<td>60px</td>
|
||||
<td>20px</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Large display</td>
|
||||
<td>1210px and up</td>
|
||||
<td>1200px and up</td>
|
||||
<td>70px</td>
|
||||
<td>30px</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3>What they do</h3>
|
||||
<p>Media queries allow for custom CSS based on a number of conditions—ratios, widths, display type, etc—but usually focuses around <code>min-width</code> and <code>max-width</code>.</p>
|
||||
<ul>
|
||||
<li>Modify the width of column in our grid</li>
|
||||
<li>Stack elements instead of float wherever necessary</li>
|
||||
<li>Resize headings and text to be more appropriate for devices</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<h3>Requires meta tag</h3>
|
||||
<p>To ensure devices display responsive pages properly, include the viewport meta tag.</p>
|
||||
<pre class="prettyprint linenums"><meta name="viewport" content="width=device-width, initial-scale=1.0"></pre>
|
||||
</div><!-- /.span -->
|
||||
</div><!-- /.row -->
|
||||
|
||||
<br>
|
||||
|
||||
<!-- Media query code -->
|
||||
<h2>Using the media queries</h2>
|
||||
<div class="row">
|
||||
<div class="span5">
|
||||
<div class="span4">
|
||||
<p>Bootstrap doesn't automatically include these media queries, but understanding and adding them is very easy and requires minimal setup. You have a few options for including the responsive features of Bootstrap:</p>
|
||||
<ol>
|
||||
<li>Use the compiled responsive version, bootstrap-responsive.css</li>
|
||||
<li>Add @import "responsive.less" and recompile Bootstrap</li>
|
||||
<li>Modify and recompile responsive.less as a separate</li>
|
||||
<li>Modify and recompile responsive.less as a separate file</li>
|
||||
</ol>
|
||||
<p><strong>Why not just include it?</strong> Truth be told, not everything needs to be responsive. Instead of encouraging developers to remove this feature, we figure it best to enable it.</p>
|
||||
</div>
|
||||
<div class="span7">
|
||||
</div><!-- /.span -->
|
||||
<div class="span8">
|
||||
<pre class="prettyprint linenums">
|
||||
// Landscape phones and down
|
||||
@media (max-width: 480px) { ... }
|
||||
|
||||
// Landscape phone to portrait tablet
|
||||
@media (max-width: 768px) { ... }
|
||||
@media (max-width: 767px) { ... }
|
||||
|
||||
// Portrait tablet to landscape and desktop
|
||||
@media (min-width: 768px) and (max-width: 940px) { ... }
|
||||
@media (min-width: 768px) and (max-width: 979px) { ... }
|
||||
|
||||
// Large desktop
|
||||
@media (min-width: 1200px) { .. }
|
||||
@media (min-width: 1200px) { ... }
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /.span -->
|
||||
</div><!-- /.row -->
|
||||
<br>
|
||||
|
||||
<!-- Responsive utility classes -->
|
||||
<h2>Responsive utility classes</h2>
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<h3>What are they</h2>
|
||||
<p>For faster mobile-friendly development, use these basic utility classes for showing and hiding content by device.</p>
|
||||
<h3>When to use</h2>
|
||||
<p>Use on a limited basis and avoid creating entirely different versions of the same site. Instead, use them to complement each device's presentation.</p>
|
||||
<p>For example, you might show a <code><select></code> element for nav on mobile layouts, but not on tablets or desktops.</p>
|
||||
</div><!-- /.span -->
|
||||
<div class="span8">
|
||||
<h3>Support classes</h3>
|
||||
<p>Shown here is a table of the classes we support and their effect on a given media query layout (labeled by device). They can be found in <code>responsive.less</code>.</p>
|
||||
<table class="table table-bordered table-striped responsive-utilities">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Class</th>
|
||||
<th>Phones <small>480px and below</small></th>
|
||||
<th>Tablets <small>767px and below</small></th>
|
||||
<th>Desktops <small>768px and above</small></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th><code>.visible-phone</code></th>
|
||||
<td class="is-visible">Visible</td>
|
||||
<td class="is-hidden">Hidden</td>
|
||||
<td class="is-hidden">Hidden</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><code>.visible-tablet</code></th>
|
||||
<td class="is-hidden">Hidden</td>
|
||||
<td class="is-visible">Visible</td>
|
||||
<td class="is-hidden">Hidden</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><code>.visible-desktop</code></th>
|
||||
<td class="is-hidden">Hidden</td>
|
||||
<td class="is-hidden">Hidden</td>
|
||||
<td class="is-visible">Visible</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><code>.hidden-phone</code></th>
|
||||
<td class="is-hidden">Hidden</td>
|
||||
<td class="is-visible">Visible</td>
|
||||
<td class="is-visible">Visible</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><code>.hidden-tablet</code></th>
|
||||
<td class="is-visible">Visible</td>
|
||||
<td class="is-hidden">Hidden</td>
|
||||
<td class="is-visible">Visible</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><code>.hidden-desktop</code></th>
|
||||
<td class="is-visible">Visible</td>
|
||||
<td class="is-visible">Visible</td>
|
||||
<td class="is-hidden">Hidden</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Test case</h3>
|
||||
<p>Resize your browser or load on different devices to test the above classes.</p>
|
||||
<h4>Visible on...</h4>
|
||||
<p>Green checkmarks indicate that class is visible in your current viewport.</p>
|
||||
<ul class="responsive-utilities-test">
|
||||
<li>Phone<span class="visible-phone">✔ Phone</span></li>
|
||||
<li>Tablet<span class="visible-tablet">✔ Tablet</span></li>
|
||||
<li>Desktop<span class="visible-desktop">✔ Desktop</span></li>
|
||||
</ul>
|
||||
<h4>Hidden on...</h4>
|
||||
<p>Here, green checkmarks indicate that class is hidden in your current viewport.</p>
|
||||
<ul class="responsive-utilities-test hidden-on">
|
||||
<li>Phone<span class="hidden-phone">✔ Phone</span></li>
|
||||
<li>Tablet<span class="hidden-tablet">✔ Tablet</span></li>
|
||||
<li>Desktop<span class="hidden-desktop">✔ Desktop</span></li>
|
||||
</ul>
|
||||
</div><!-- /.span -->
|
||||
</div><!-- /.row -->
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
</div><!-- /.span -->
|
||||
</div><!-- /.row -->
|
||||
</section>
|
||||
|
||||
|
||||
@@ -432,5 +665,7 @@
|
||||
<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>
|
||||
|
||||
@@ -2,27 +2,28 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Bootstrap, from Twitter</title>
|
||||
<title>{{title}}</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<!-- 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" href="assets/ico/apple-touch-icon.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="assets/ico/apple-touch-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="assets/ico/apple-touch-icon-114x114.png">
|
||||
<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">
|
||||
@@ -39,7 +40,7 @@
|
||||
<span class="icon-bar"></span>
|
||||
</a>
|
||||
<a class="brand" href="./index.html">Bootstrap</a>
|
||||
<div class="nav-collapse">
|
||||
<div class="nav-collapse collapse">
|
||||
<ul class="nav">
|
||||
<li class="{{index}}">
|
||||
<a href="./index.html">{{_i}}Overview{{/i}}</a>
|
||||
@@ -109,5 +110,24 @@
|
||||
<script src="assets/js/bootstrap-carousel.js"></script>
|
||||
<script src="assets/js/bootstrap-typeahead.js"></script>
|
||||
<script src="assets/js/application.js"></script>
|
||||
|
||||
{{#production}}
|
||||
<!-- 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>
|
||||
{{/production}}
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -17,20 +17,21 @@
|
||||
<div class="page-header">
|
||||
<a class="btn btn-small pull-right toggle-all" href="#">{{_i}}Toggle all{{/i}}</a>
|
||||
<h1>
|
||||
{{_i}}1. Chose components{{/i}}
|
||||
{{_i}}1. Choose components{{/i}}
|
||||
<small>{{_i}}Get just the CSS you need{{/i}}</small>
|
||||
</h1>
|
||||
</div>
|
||||
<div class="row download-builder">
|
||||
<div class="span3">
|
||||
<h3>{{_i}}Scaffolding{{/i}}</h3>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="reset.less"> {{_i}}CSS reset{{/i}}</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="reset.less"> {{_i}}Normalize and reset{{/i}}</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="scaffolding.less"> {{_i}}Body type and links{{/i}}</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="grid.less"> {{_i}}Grid system{{/i}}</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="layouts.less"> {{_i}}Layouts{{/i}}</label>
|
||||
<h3>{{_i}}Base CSS{{/i}}</h3>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="type.less"> {{_i}}Headings, body, etc{{/i}}</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="code.less"> {{_i}}Code and pre{{/i}}</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="labels.less"> {{_i}}Labels{{/i}}</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="labels-badges.less"> {{_i}}Labels and badges{{/i}}</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="tables.less"> {{_i}}Tables{{/i}}</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="forms.less"> {{_i}}Forms{{/i}}</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="buttons.less"> {{_i}}Buttons{{/i}}</label>
|
||||
@@ -47,6 +48,7 @@
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="thumbnails.less"> {{_i}}Thumbnails{{/i}}</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="alerts.less"> {{_i}}Alerts{{/i}}</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="progress-bars.less"> {{_i}}Progress bars{{/i}}</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="hero-unit.less"> {{_i}}Hero unit{{/i}}</label>
|
||||
</div><!-- /span -->
|
||||
<div class="span3">
|
||||
<h3>{{_i}}JS Components{{/i}}</h3>
|
||||
@@ -64,7 +66,11 @@
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="utilities.less"> {{_i}}Utilities{{/i}}</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="component-animations.less"> {{_i}}Component animations{{/i}}</label>
|
||||
<h3>{{_i}}Responsive{{/i}}</h3>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="responsive.less"> {{_i}}Responsive layouts{{/i}}</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="responsive-utilities.less"> {{_i}}Visible/hidden classes{{/i}}</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="responsive-767px-max.less"> {{_i}}Narrow tablets and below (<767px){{/i}}</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="responsive-768px-979px.less"> {{_i}}Tablets to desktops (767-979px){{/i}}</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="responsive-1200px-min.less"> {{_i}}Large desktops (>1200px){{/i}}</label>
|
||||
<label class="checkbox"><input checked="checked" type="checkbox" value="responsive-navbar.less"> {{_i}}Responsive navbar{{/i}}</label>
|
||||
</div><!-- /span -->
|
||||
</div><!-- /row -->
|
||||
</section>
|
||||
@@ -132,7 +138,7 @@
|
||||
</div><!-- /span -->
|
||||
<div class="span4">
|
||||
<h4 class="muted">{{_i}}Heads up!{{/i}}</h4>
|
||||
<p class="muted">{{_i}}All plugins require the latest version of <a href="http://jquery.com/" target="_blank">jQuery</a> to be included.{{/i}}</p>
|
||||
<p class="muted">{{_i}}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.{{/i}}</p>
|
||||
</div><!-- /span -->
|
||||
</div><!-- /row -->
|
||||
</section>
|
||||
@@ -148,6 +154,12 @@
|
||||
</div>
|
||||
<div class="row download-builder">
|
||||
<div class="span3">
|
||||
<h3>{{_i}}Scaffolding{{/i}}</h3>
|
||||
<label>@bodyBackground</label>
|
||||
<input type="text" class="span3" placeholder="@white">
|
||||
<label>@textColor</label>
|
||||
<input type="text" class="span3" placeholder="@grayDark">
|
||||
|
||||
<h3>{{_i}}Links{{/i}}</h3>
|
||||
<label>@linkColor</label>
|
||||
<input type="text" class="span3" placeholder="#08c">
|
||||
@@ -168,6 +180,13 @@
|
||||
<input type="text" class="span3" placeholder="#c3325f">
|
||||
<label>@purple</label>
|
||||
<input type="text" class="span3" placeholder="#7a43b6">
|
||||
|
||||
<h3>{{_i}}Sprites{{/i}}</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>{{_i}}Grid system{{/i}}</h3>
|
||||
@@ -182,20 +201,46 @@
|
||||
<input type="text" class="span3" placeholder="6.382978723%">
|
||||
<label>@fluidGridGutterWidth</label>
|
||||
<input type="text" class="span3" placeholder="2.127659574%">
|
||||
|
||||
<h3>{{_i}}Typography{{/i}}</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="'Helvetica Neue', Helvetica, Arial, sans-serif">
|
||||
<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>{{_i}}Forms{{/i}}</h3>
|
||||
<label>@primaryButtonColor</label>
|
||||
<input type="text" class="span3" placeholder="@blue">
|
||||
<label>@placeholderText</label>
|
||||
<input type="text" class="span3" placeholder="@grayLight">
|
||||
<h3>{{_i}}Tables{{/i}}</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>{{_i}}Navbar{{/i}}</h3>
|
||||
<label>@navbarHeight</label>
|
||||
<input type="text" class="span3" placeholder="40px">
|
||||
@@ -205,12 +250,59 @@
|
||||
<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>{{_i}}Dropdowns{{/i}}</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>{{_i}}Forms{{/i}}</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>{{_i}}Form states & alerts{{/i}}</h3>
|
||||
<label>@warningText</label>
|
||||
<input type="text" class="span3" placeholder="#c09853">
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<img src="assets/img/examples/bootstrap-example-fluid.jpg" alt="">
|
||||
</a>
|
||||
<h3>{{_i}}Fluid layout{{/i}}</h3>
|
||||
<p>{{_i}}Uses are new responsive, fluid grid system to create seamless liquid layout.{{/i}}</p>
|
||||
<p>{{_i}}Uses our new responsive, fluid grid system to create a seamless liquid layout.{{/i}}</p>
|
||||
</li>
|
||||
<li class="span4">
|
||||
<a class="thumbnail" href="examples/starter-template.html">
|
||||
|
||||
@@ -3,33 +3,36 @@
|
||||
<header class="jumbotron masthead">
|
||||
<div class="inner">
|
||||
<h1>{{_i}}Bootstrap, from Twitter{{/i}}</h1>
|
||||
<p>Simple and flexible HTML, CSS, and Javascript for popular user interface components and interactions.</p>
|
||||
<p>{{_i}}Simple and flexible HTML, CSS, and Javascript for popular user interface components and interactions.{{/i}}</p>
|
||||
<p class="download-info">
|
||||
<a href="https://github.com/twitter/bootstrap/" class="btn btn-primary btn-large">{{_i}}View project on GitHub{{/i}}</a>
|
||||
<a href="assets/bootstrap.zip" class="btn btn-large">{{_i}}Download Bootstrap{{/i}}</a>
|
||||
<a href="assets/bootstrap.zip" class="btn btn-large">{{_i}}Download Bootstrap <small>(v2.0.3)</small>{{/i}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<ul class="quick-links">
|
||||
<li><a href="./upgrading.html">Upgrading from 1.4</a></li>
|
||||
<li><a href="https://github.com/twitter/bootstrap/issues?state=open">{{_i}}Issues{{/i}}</a></li>
|
||||
<li><a href="https://github.com/twitter/bootstrap/wiki/Roadmap">{{_i}}Roadmap{{/i}}</a></li>
|
||||
<li><a href="https://github.com/twitter/bootstrap/wiki/Changelog">{{_i}}Changelog{{/i}}</a></li>
|
||||
<li class="divider">·</li>
|
||||
<li>
|
||||
<iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="114px" height="20px"></iframe>
|
||||
</li>
|
||||
<li>
|
||||
<iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=fork&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="98px" height="20px"></iframe>
|
||||
</li>
|
||||
<li class="divider">·</li>
|
||||
<li class="follow-btn">
|
||||
<a href="https://twitter.com/twbootstrap" class="twitter-follow-button" data-width="145px" data-link-color="#0069D6" data-show-count="false">{{_i}}Follow @twbootstrap{{/i}}</a>
|
||||
</li>
|
||||
<li class="tweet-btn">
|
||||
<a href="https://twitter.com/share" class="twitter-share-button" data-url="http://twitter.github.com/bootstrap/" data-count="horizontal" data-via="twbootstrap" data-related="mdo:Creator of Twitter Bootstrap">Tweet</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="bs-links">
|
||||
<ul class="quick-links">
|
||||
<li><a href="./upgrading.html">{{_i}}Upgrading from 1.4{{/i}}</a></li>
|
||||
<li><a href="https://github.com/twitter/bootstrap/zipball/master">{{_i}}Download with docs{{/i}}</a></li>
|
||||
<li><a href="http://blog.getbootstrap.com">{{_i}}Read the blog{{/i}}</a></li>
|
||||
<li><a href="https://github.com/twitter/bootstrap/issues?state=open">{{_i}}Submit issues{{/i}}</a></li>
|
||||
<li><a href="https://github.com/twitter/bootstrap/wiki">{{_i}}Roadmap and changelog{{/i}}</a></li>
|
||||
</ul>
|
||||
<ul class="quick-links">
|
||||
<li>
|
||||
<iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="112px" height="20px"></iframe>
|
||||
</li>
|
||||
<li>
|
||||
<iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=fork&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="98px" height="20px"></iframe>
|
||||
</li>
|
||||
<li class="follow-btn">
|
||||
<a href="https://twitter.com/twbootstrap" class="twitter-follow-button" data-link-color="#0069D6" data-show-count="true">{{_i}}Follow @twbootstrap{{/i}}</a>
|
||||
</li>
|
||||
<li class="tweet-btn">
|
||||
<a href="https://twitter.com/share" class="twitter-share-button" data-url="http://twitter.github.com/bootstrap/" data-count="horizontal" data-via="twbootstrap" data-related="mdo:Creator of Twitter Bootstrap">Tweet</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<hr class="soften">
|
||||
@@ -46,7 +49,7 @@
|
||||
<div class="span4">
|
||||
<img class="bs-icon" src="assets/img/glyphicons/glyphicons_079_podium.png">
|
||||
<h2>{{_i}}For all skill levels{{/i}}</h2>
|
||||
<p>{{_i}}Bootstrap is designed to help people of all skill level—designer or developer, huge nerd or early beginner. Use it as a complete kit or use to start something more complex.{{/i}}</p>
|
||||
<p>{{_i}}Bootstrap is designed to help people of all skill levels—designer or developer, huge nerd or early beginner. Use it as a complete kit or use to start something more complex.{{/i}}</p>
|
||||
</div>
|
||||
<div class="span4">
|
||||
<img class="bs-icon" src="assets/img/glyphicons/glyphicons_163_iphone.png">
|
||||
@@ -116,17 +119,22 @@
|
||||
<h1>{{_i}}Built with Bootstrap.{{/i}}</h1>
|
||||
<p class="marketing-byline">{{_i}}For even more sites built with Bootstrap, <a href="http://builtwithbootstrap.tumblr.com/" target="_blank">visit the unofficial Tumblr</a> or <a href="./examples.html">browse the examples</a>.{{/i}}</p>
|
||||
<ul class="thumbnails example-sites">
|
||||
<li class="span4">
|
||||
<li class="span3">
|
||||
<a class="thumbnail" href="http://soundready.fm/" target="_blank">
|
||||
<img src="assets/img/example-sites/soundready.png" alt="SoundReady.fm">
|
||||
</a>
|
||||
</li>
|
||||
<li class="span3">
|
||||
<a class="thumbnail" href="http://kippt.com/" target="_blank">
|
||||
<img src="assets/img/example-sites/kippt.png" alt="Kippt">
|
||||
</a>
|
||||
</li>
|
||||
<li class="span4">
|
||||
<li class="span3">
|
||||
<a class="thumbnail" href="http://www.fleetio.com/" target="_blank">
|
||||
<img src="assets/img/example-sites/fleetio.png" alt="Fleetio">
|
||||
</a>
|
||||
</li>
|
||||
<li class="span4">
|
||||
<li class="span3">
|
||||
<a class="thumbnail" href="http://www.jshint.com/" target="_blank">
|
||||
<img src="assets/img/example-sites/jshint.png" alt="JS Hint">
|
||||
</a>
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
<div class="span3">
|
||||
<label>
|
||||
<h3><a href="./javascript.html#tooltips">{{_i}}Tooltips{{/i}}</a></h3>
|
||||
<p>{{_i}}A new take on the jQuery Tipsy plugin, Tooltips don't rely on images, uss CSS3 for animations, and data-attributes for local title storage.{{/i}}</p>
|
||||
<p>{{_i}}A new take on the jQuery Tipsy plugin, Tooltips don't rely on images—they use CSS3 for animations and data-attributes for local title storage.{{/i}}</p>
|
||||
</label>
|
||||
</div>
|
||||
<div class="span3">
|
||||
@@ -123,23 +123,23 @@
|
||||
<div class="span3 columns">
|
||||
<h3>{{_i}}About modals{{/i}}</h3>
|
||||
<p>{{_i}}A streamlined, but flexible, take on the traditional javascript modal plugin with only the minimum required functionality and smart defaults.{{/i}}</p>
|
||||
<a href="../js/bootstrap-modal.js" target="_blank" class="btn">{{_i}}Download file{{/i}}</a>
|
||||
<a href="assets/js/bootstrap-modal.js" target="_blank" class="btn">{{_i}}Download file{{/i}}</a>
|
||||
</div>
|
||||
<div class="span9 columns">
|
||||
<h2>{{_i}}Static example{{/i}}</h2>
|
||||
<p>{{_i}}Below is a statically rendered modal.{{/i}}</p>
|
||||
<div class="well modal-example" style="background-color: #888; border: none;">
|
||||
<div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto; z-index: 1">
|
||||
<div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto; z-index: 1; max-width: 100%;">
|
||||
<div class="modal-header">
|
||||
<a href="#" class="close" data-dismiss="modal">×</a>
|
||||
<button class="close" data-dismiss="modal">×</button>
|
||||
<h3>{{_i}}Modal header{{/i}}</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>{{_i}}One fine body…{{/i}}</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="#" class="btn btn-primary">{{_i}}Save changes{{/i}}</a>
|
||||
<a href="#" class="btn">{{_i}}Close{{/i}}</a>
|
||||
<a href="#" class="btn btn-primary">{{_i}}Save changes{{/i}}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- /well -->
|
||||
@@ -149,7 +149,7 @@
|
||||
<!-- sample modal content -->
|
||||
<div id="myModal" class="modal hide fade">
|
||||
<div class="modal-header">
|
||||
<a class="close" data-dismiss="modal" >×</a>
|
||||
<button class="close" data-dismiss="modal">×</button>
|
||||
<h3>{{_i}}Modal Heading{{/i}}</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
@@ -161,10 +161,21 @@
|
||||
|
||||
<h4>{{_i}}Tooltips in a modal{{/i}}</h4>
|
||||
<p>{{_i}}<a href="#" class="tooltip-test" title="Tooltip">This link</a> and <a href="#" class="tooltip-test" title="Tooltip">that link</a> should have tooltips on hover.{{/i}}</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h4>{{_i}}Overflowing text to show optional scrollbar{{/i}}</h4>
|
||||
<p>{{_i}}We set a fixed <code>max-height</code> on the <code>.modal-body</code>. Watch it overflow with all this extra lorem ipsum text we've included.{{/i}}</p>
|
||||
<p>Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
|
||||
<p>Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.</p>
|
||||
<p>Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
|
||||
<p>Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
|
||||
<p>Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.</p>
|
||||
<p>Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="#" class="btn btn-primary">{{_i}}Save changes{{/i}}</a>
|
||||
<a href="#" class="btn" data-dismiss="modal" >{{_i}}Close{{/i}}</a>
|
||||
<a href="#" class="btn btn-primary">{{_i}}Save changes{{/i}}</a>
|
||||
</div>
|
||||
</div>
|
||||
<a data-toggle="modal" href="#myModal" class="btn btn-primary btn-large">{{_i}}Launch demo modal{{/i}}</a>
|
||||
@@ -189,7 +200,7 @@
|
||||
<td>{{_i}}backdrop{{/i}}</td>
|
||||
<td>{{_i}}boolean{{/i}}</td>
|
||||
<td>{{_i}}true{{/i}}</td>
|
||||
<td>{{_i}}Includes a modal-backdrop element{{/i}}</td>
|
||||
<td>{{_i}}Includes a modal-backdrop element. Alternatively, specify <code>static</code> for a backdrop which doesn't close the modal on click.{{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{_i}}keyboard{{/i}}</td>
|
||||
@@ -197,6 +208,12 @@
|
||||
<td>{{_i}}true{{/i}}</td>
|
||||
<td>{{_i}}Closes the modal when escape key is pressed{{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{_i}}show{{/i}}</td>
|
||||
<td>{{_i}}boolean{{/i}}</td>
|
||||
<td>{{_i}}true{{/i}}</td>
|
||||
<td>{{_i}}Shows the modal when initialized.{{/i}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>{{_i}}Markup{{/i}}</h3>
|
||||
@@ -207,17 +224,17 @@
|
||||
</pre>
|
||||
|
||||
<pre class="prettyprint linenums">
|
||||
<div class="modal">
|
||||
<div class="modal" id="myModal">
|
||||
<div class="modal-header">
|
||||
<a class="close" data-dismiss="modal">×</a>
|
||||
<button class="close" data-dismiss="modal">×</button>
|
||||
<h3>Modal header</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>{{_i}}One fine body…{{/i}}</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="#" class="btn btn-primary">{{_i}}Save changes{{/i}}</a>
|
||||
<a href="#" class="btn">{{_i}}Close{{/i}}</a>
|
||||
<a href="#" class="btn btn-primary">{{_i}}Save changes{{/i}}</a>
|
||||
</div>
|
||||
</div>
|
||||
</pre>
|
||||
@@ -289,7 +306,7 @@ $('#myModal').on('hidden', function () {
|
||||
<div class="span3 columns">
|
||||
<h3>{{_i}}About dropdowns{{/i}}</h3>
|
||||
<p>{{_i}}Add dropdown menus to nearly anything in Bootstrap with this simple plugin. Bootstrap features full dropdown menu support on in the navbar, tabs, and pills.{{/i}}</p>
|
||||
<a href="../js/bootstrap-dropdown.js" target="_blank" class="btn">{{_i}}Download file{{/i}}</a>
|
||||
<a href="assets/js/bootstrap-dropdown.js" target="_blank" class="btn">{{_i}}Download file{{/i}}</a>
|
||||
</div>
|
||||
<div class="span9 columns">
|
||||
<h2>{{_i}}Examples{{/i}}</h2>
|
||||
@@ -382,7 +399,7 @@ $('#myModal').on('hidden', function () {
|
||||
</div>
|
||||
|
||||
<pre class="prettyprint linenums">
|
||||
<ul class="nav pills">
|
||||
<ul class="nav nav-pills">
|
||||
<li class="active"><a href="#">Regular link</a></li>
|
||||
<li class="dropdown" id="menu1">
|
||||
<a class="dropdown-toggle" data-toggle="dropdown" href="#menu1">
|
||||
@@ -399,6 +416,20 @@ $('#myModal').on('hidden', function () {
|
||||
</li>
|
||||
...
|
||||
</ul></pre>
|
||||
<p>{{_i}}To keep URLs intact, use the <code>data-target</code> attribute instead of <code>href="#"</code>.{{/i}}</p>
|
||||
<pre class="prettyprint linenums">
|
||||
<ul class="nav nav-pills">
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" data-toggle="dropdown" data-target="#" href="path/to/page.html">
|
||||
{{_i}}Dropdown{{/i}}
|
||||
<b class="caret"></b>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
...
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</pre>
|
||||
<h3>{{_i}}Methods{{/i}}</h3>
|
||||
<h4>$().dropdown()</h4>
|
||||
<p>{{_i}}A programatic api for activating menus for a given navbar or tabbed navigation.{{/i}}</p>
|
||||
@@ -417,7 +448,7 @@ $('#myModal').on('hidden', function () {
|
||||
<div class="row">
|
||||
<div class="span3 columns">
|
||||
<p>{{_i}}The ScrollSpy plugin is for automatically updating nav targets based on scroll position.{{/i}}</p>
|
||||
<a href="../js/bootstrap-scrollspy.js" target="_blank" class="btn">{{_i}}Download file{{/i}}</a>
|
||||
<a href="assets/js/bootstrap-scrollspy.js" target="_blank" class="btn">{{_i}}Download file{{/i}}</a>
|
||||
</div>
|
||||
<div class="span9 columns">
|
||||
<h2>{{_i}}Example navbar with scrollspy{{/i}}</h2>
|
||||
@@ -477,6 +508,14 @@ $('#myModal').on('hidden', function () {
|
||||
<strong>{{_i}}Heads up!{{/i}}</strong>
|
||||
{{_i}}Navbar links must have resolvable id targets. For example, a <code><a href="#home">home</a></code> must correspond to something in the dom like <code><div id="home"></div></code>.{{/i}}
|
||||
</div>
|
||||
<h3>{{_i}}Methods{{/i}}</h3>
|
||||
<h4>.scrollspy('refresh')</h4>
|
||||
<p>{{_i}}When using scrollspy in conjunction with adding or removing of elements from the DOM, you'll need to call the refresh method like so:{{/i}}</p>
|
||||
<pre class="prettyprint linenums">
|
||||
$('[data-spy="scroll"]').each(function () {
|
||||
var $spy = $(this).scrollspy('refresh')
|
||||
});
|
||||
</pre>
|
||||
<h3>{{_i}}Options{{/i}}</h3>
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead>
|
||||
@@ -496,6 +535,21 @@ $('#myModal').on('hidden', function () {
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>{{_i}}Events{{/i}}</h3>
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 150px;">{{_i}}Event{{/i}}</th>
|
||||
<th>{{_i}}Description{{/i}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>{{_i}}activate{{/i}}</td>
|
||||
<td>{{_i}}This event fires whenever a new item becomes activated by the scrollspy.{{/i}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -511,12 +565,12 @@ $('#myModal').on('hidden', function () {
|
||||
<div class="row">
|
||||
<div class="span3 columns">
|
||||
<p>{{_i}}This plugin adds quick, dynamic tab and pill functionality for transitioning through local content.{{/i}}</p>
|
||||
<a href="../js/bootstrap-tab.js" target="_blank" class="btn">{{_i}}Download file{{/i}}</a>
|
||||
<a href="assets/js/bootstrap-tab.js" target="_blank" class="btn">{{_i}}Download file{{/i}}</a>
|
||||
</div>
|
||||
<div class="span9 columns">
|
||||
<h2>{{_i}}Example tabs{{/i}}</h2>
|
||||
<p>{{_i}}Click the tabs below to toggle between hidden panes, even via dropdown menus.{{/i}}</p>
|
||||
<ul id="tab" class="nav nav-tabs">
|
||||
<ul id="myTab" class="nav nav-tabs">
|
||||
<li class="active"><a href="#home" data-toggle="tab">{{_i}}Home{{/i}}</a></li>
|
||||
<li><a href="#profile" data-toggle="tab">{{_i}}Profile{{/i}}</a></li>
|
||||
<li class="dropdown">
|
||||
@@ -543,24 +597,35 @@ $('#myModal').on('hidden', function () {
|
||||
</div>
|
||||
<hr>
|
||||
<h2>{{_i}}Using bootstrap-tab.js{{/i}}</h2>
|
||||
<p>{{_i}}Enable tabbable tabs via javascript:{{/i}}</p>
|
||||
<pre class="prettyprint linenums">$('#myTab').tab('show')</pre>
|
||||
<h3>{{_i}}Markup{{/i}}</h3>
|
||||
<p>{{_i}}You can activate a tab or pill navigation without writing any javascript by simply specifying <code>data-toggle="tab"</code> or <code>data-toggle="pill"</code> on an element.{{/i}}</p>
|
||||
<p>{{_i}}Enable tabbable tabs via javascript (each tab needs to be activated individually):{{/i}}</p>
|
||||
<pre class="prettyprint linenums">
|
||||
$('#myTab a').click(function (e) {
|
||||
e.preventDefault();
|
||||
$(this).tab('show');
|
||||
})</pre>
|
||||
<p>{{_i}}You can activate individual tabs in several ways:{{/i}}</p>
|
||||
<pre class="prettyprint linenums">
|
||||
<ul class="tabs">
|
||||
$('#myTab a[href="#profile"]').tab('show'); // Select tab by name
|
||||
$('#myTab a:first').tab('show'); // Select first tab
|
||||
$('#myTab a:last').tab('show'); // Select last tab
|
||||
$('#myTab li:eq(2) a').tab('show'); // Select third tab (0-indexed)
|
||||
</pre>
|
||||
<h3>{{_i}}Markup{{/i}}</h3>
|
||||
<p>{{_i}}You can activate a tab or pill navigation without writing any javascript by simply specifying <code>data-toggle="tab"</code> or <code>data-toggle="pill"</code> on an element. Adding the <code>nav</code> and <code>nav-tabs</code> classes to the tab <code>ul</code> will apply the bootstrap tab styling.{{/i}}</p>
|
||||
<pre class="prettyprint linenums">
|
||||
<ul class="nav nav-tabs">
|
||||
<li><a href="#home" data-toggle="tab">{{_i}}Home{{/i}}</a></li>
|
||||
<li><a href="#profile" data-toggle="tab">{{_i}}Profile{{/i}}</a></li>
|
||||
<li><a href="#messages" data-toggle="tab">{{_i}}Messages{{/i}}</a></li>
|
||||
<li><a href="#ettings" data-toggle="tab">{{_i}}Settings{{/i}}</a></li>
|
||||
<li><a href="#settings" data-toggle="tab">{{_i}}Settings{{/i}}</a></li>
|
||||
</ul></pre>
|
||||
<h3>{{_i}}Methods{{/i}}</h3>
|
||||
<h4>$().tab</h4>
|
||||
<p>
|
||||
{{_i}}Activates a tab element and content container. Tab should have either a `data-target` or an `href` targeting a container node in the dom.{{/i}}
|
||||
{{_i}}Activates a tab element and content container. Tab should have either a <code>data-target</code> or an <code>href</code> targeting a container node in the DOM.{{/i}}
|
||||
</p>
|
||||
<pre class="prettyprint linenums">
|
||||
<ul class="tabs">
|
||||
<ul class="nav nav-tabs" id="myTab">
|
||||
<li class="active"><a href="#home">{{_i}}Home{{/i}}</a></li>
|
||||
<li><a href="#profile">{{_i}}Profile{{/i}}</a></li>
|
||||
<li><a href="#messages">{{_i}}Messages{{/i}}</a></li>
|
||||
@@ -576,7 +641,7 @@ $('#myModal').on('hidden', function () {
|
||||
|
||||
<script>
|
||||
$(function () {
|
||||
$('.tabs a:last').tab('show')
|
||||
$('#myTab a:last').tab('show');
|
||||
})
|
||||
</script></pre>
|
||||
<h3>{{_i}}Events{{/i}}</h3>
|
||||
@@ -618,14 +683,14 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
|
||||
<div class="row">
|
||||
<div class="span3 columns">
|
||||
<h3>{{_i}}About Tooltips{{/i}}</h3>
|
||||
<p>{{_i}}Inspired by the excellent jQuery.tipsy plugin written by Jason Frame; Tooltips are an updated version, which don't rely on images, uss css3 for animations, and data-attributes for local title storage.{{/i}}</p>
|
||||
<a href="../js/bootstrap-tooltip.js" target="_blank" class="btn">{{_i}}Download file{{/i}}</a>
|
||||
<p>{{_i}}Inspired by the excellent jQuery.tipsy plugin written by Jason Frame; Tooltips are an updated version, which don't rely on images, use css3 for animations, and data-attributes for local title storage.{{/i}}</p>
|
||||
<a href="assets/js/bootstrap-tooltip.js" target="_blank" class="btn">{{_i}}Download file{{/i}}</a>
|
||||
</div>
|
||||
<div class="span9 columns">
|
||||
<h2>{{_i}}Example use of Tooltips{{/i}}</h2>
|
||||
<p>{{_i}}Hover over the links below to see tooltips:{{/i}}</p>
|
||||
<div class="tooltip-demo well">
|
||||
<p class="muted" style="margin-bottom: 0;">{{_i}}Tight pants next level keffiyeh <a href="#" rel='tooltip' title="first tooltip">you probably</a> haven't heard of them. Photo booth beard raw denim letterpress vegan messenger bag stumptown. Farm-to-table seitan, mcsweeney's fixie sustainable quinoa 8-bit american apparel <a href="#" rel='tooltip' title='Another tooltip'>have a</a> terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A <a href="#" rel='tooltip' title='Another one here too'>really ironic</a> artisan whatever keytar, scenester farm-to-table banksy Austin <a href="#" rel='tooltip' title='The last tip!'>twitter handle</a> freegan cred raw denim single-origin coffee viral.{{/i}}
|
||||
<p class="muted" style="margin-bottom: 0;">{{_i}}Tight pants next level keffiyeh <a href="#" rel="tooltip" title="first tooltip">you probably</a> haven't heard of them. Photo booth beard raw denim letterpress vegan messenger bag stumptown. Farm-to-table seitan, mcsweeney's fixie sustainable quinoa 8-bit american apparel <a href="#" rel="tooltip" title="Another tooltip">have a</a> terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A really ironic artisan <a href="#" rel="tooltip" title="Another one here too">whatever keytar</a>, scenester farm-to-table banksy Austin <a href="#" rel="tooltip" title="The last tip!">twitter handle</a> freegan cred raw denim single-origin coffee viral.{{/i}}
|
||||
</p>
|
||||
</div>
|
||||
<hr>
|
||||
@@ -651,7 +716,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{_i}}placement{{/i}}</td>
|
||||
<td>{{_i}}string{{/i}}</td>
|
||||
<td>{{_i}}string|function{{/i}}</td>
|
||||
<td>'top'</td>
|
||||
<td>{{_i}}how to position the tooltip{{/i}} - top | bottom | left | right</td>
|
||||
</tr>
|
||||
@@ -678,7 +743,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
|
||||
<td>{{_i}}number | object{{/i}}</td>
|
||||
<td>0</td>
|
||||
<td>
|
||||
<p>{{_i}}delay showing and hiding the tooltip (ms){{/i}}</p>
|
||||
<p>{{_i}}delay showing and hiding the tooltip (ms) - does not apply to manual trigger type{{/i}}</p>
|
||||
<p>{{_i}}If a number is supplied, delay is applied to both hide/show{{/i}}</p>
|
||||
<p>{{_i}}Object structure is: <code>delay: { show: 500, hide: 100 }</code>{{/i}}</p>
|
||||
</td>
|
||||
@@ -691,17 +756,20 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
|
||||
</div>
|
||||
<h3>{{_i}}Markup{{/i}}</h3>
|
||||
<p>{{_i}}For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a selector option.{{/i}}</p>
|
||||
<pre class="prettyprint linenums">
|
||||
<a href="#" rel="tooltip" title="{{_i}}first tooltip{{/i}}">{{_i}}hover over me{{/i}}</a>
|
||||
</pre>
|
||||
<h3>{{_i}}Methods{{/i}}</h3>
|
||||
<h4>$().tooltip({{_i}}options{{/i}})</h4>
|
||||
<p>{{_i}}Attaches a tooltip handler to an element collection.{{/i}}</p>
|
||||
<h4>.tooltip('show')</h4>
|
||||
<p>{{_i}}Reveals an elements tooltip.{{/i}}</p>
|
||||
<p>{{_i}}Reveals an element's tooltip.{{/i}}</p>
|
||||
<pre class="prettyprint linenums">$('#element').tooltip('show')</pre>
|
||||
<h4>.tooltip('hide')</h4>
|
||||
<p>{{_i}}Hides an elements tooltip.{{/i}}</p>
|
||||
<p>{{_i}}Hides an element's tooltip.{{/i}}</p>
|
||||
<pre class="prettyprint linenums">$('#element').tooltip('hide')</pre>
|
||||
<h4>.tooltip('toggle')</h4>
|
||||
<p>{{_i}}Toggles an elements tooltip.{{/i}}</p>
|
||||
<p>{{_i}}Toggles an element's tooltip.{{/i}}</p>
|
||||
<pre class="prettyprint linenums">$('#element').tooltip('toggle')</pre>
|
||||
</div>
|
||||
</div>
|
||||
@@ -719,8 +787,8 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
|
||||
<div class="span3 columns">
|
||||
<h3>{{_i}}About popovers{{/i}}</h3>
|
||||
<p>{{_i}}Add small overlays of content, like those on the iPad, to any element for housing secondary information.{{/i}}</p>
|
||||
<p class="muted"><strong>*</strong> {{_i}}Requires <a href="#tooltip">Tooltip</a> to be included{{/i}}</p>
|
||||
<a href="../js/bootstrap-popover.js" target="_blank" class="btn">{{_i}}Download file{{/i}}</a>
|
||||
<p class="muted"><strong>*</strong> {{_i}}Requires <a href="#tooltips">Tooltip</a> to be included{{/i}}</p>
|
||||
<a href="assets/js/bootstrap-popover.js" target="_blank" class="btn">{{_i}}Download file{{/i}}</a>
|
||||
</div>
|
||||
<div class="span9 columns">
|
||||
<h2>{{_i}}Example hover popover{{/i}}</h2>
|
||||
@@ -751,7 +819,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{_i}}placement{{/i}}</td>
|
||||
<td>{{_i}}string{{/i}}</td>
|
||||
<td>{{_i}}string|function{{/i}}</td>
|
||||
<td>'right'</td>
|
||||
<td>{{_i}}how to position the popover{{/i}} - top | bottom | left | right</td>
|
||||
</tr>
|
||||
@@ -784,7 +852,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
|
||||
<td>{{_i}}number | object{{/i}}</td>
|
||||
<td>0</td>
|
||||
<td>
|
||||
<p>{{_i}}delay showing and hiding the popover (ms){{/i}}</p>
|
||||
<p>{{_i}}delay showing and hiding the popover (ms) - does not apply to manual trigger type{{/i}}</p>
|
||||
<p>{{_i}}If a number is supplied, delay is applied to both hide/show{{/i}}</p>
|
||||
<p>{{_i}}Object structure is: <code>delay: { show: 500, hide: 100 }</code>{{/i}}</p>
|
||||
</td>
|
||||
@@ -797,7 +865,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
|
||||
</div>
|
||||
<h3>{{_i}}Markup{{/i}}</h3>
|
||||
<p>
|
||||
{{_i}}For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a the selector option.{{/i}}
|
||||
{{_i}}For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a selector option.{{/i}}
|
||||
</p>
|
||||
<h3>{{_i}}Methods{{/i}}</h3>
|
||||
<h4>$().popover({{_i}}options{{/i}})</h4>
|
||||
@@ -827,27 +895,27 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
|
||||
<div class="span3 columns">
|
||||
<h3>{{_i}}About alerts{{/i}}</h3>
|
||||
<p>{{_i}}The alert plugin is a tiny class for adding close functionality to alerts.{{/i}}</p>
|
||||
<a href="../js/bootstrap-alert.js" target="_blank" class="btn">{{_i}}Download{{/i}}</a>
|
||||
<a href="assets/js/bootstrap-alert.js" target="_blank" class="btn">{{_i}}Download{{/i}}</a>
|
||||
</div>
|
||||
<div class="span9 columns">
|
||||
<h2>{{_i}}Example alerts{{/i}}</h2>
|
||||
<p>{{_i}}The alerts plugin works on regular alert messages, and block messages.{{/i}}</p>
|
||||
<div class="alert fade in">
|
||||
<a class="close" data-dismiss="alert" href="#">×</a>
|
||||
<strong>{{_i}}Holy guacamole!{{/i}}</strong> {{_i}}Best check yo self, you’re not looking too good.{{/i}}
|
||||
<button class="close" data-dismiss="alert">×</button>
|
||||
<strong>{{_i}}Holy guacamole!{{/i}}</strong> {{_i}}Best check yo self, you're not looking too good.{{/i}}
|
||||
</div>
|
||||
<div class="alert alert-block alert-error fade in">
|
||||
<a class="close" data-dismiss="alert" href="#">×</a>
|
||||
<button class="close" data-dismiss="alert">×</button>
|
||||
<h4 class="alert-heading">{{_i}}Oh snap! You got an error!{{/i}}</h4>
|
||||
<p>{{_i}}Change this and that and try again. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.{{/i}}</p>
|
||||
<p>
|
||||
<a class="btn btn-danger small" href="#">{{_i}}Take this action{{/i}}</a> <a class="btn small" href="#">{{_i}}Or do this{{/i}}</a>
|
||||
<a class="btn btn-danger" href="#">{{_i}}Take this action{{/i}}</a> <a class="btn" href="#">{{_i}}Or do this{{/i}}</a>
|
||||
</p>
|
||||
</div>
|
||||
<hr>
|
||||
<h2>{{_i}}Using bootstrap-alerts.js{{/i}}</h2>
|
||||
<h2>{{_i}}Using bootstrap-alert.js{{/i}}</h2>
|
||||
<p>{{_i}}Enable dismissal of an alert via javascript:{{/i}}</p>
|
||||
<pre class="prettyprint linenums">$(".alert-message").alert()</pre>
|
||||
<pre class="prettyprint linenums">$(".alert").alert()</pre>
|
||||
<h3>{{_i}}Markup{{/i}}</h3>
|
||||
<p>{{_i}}Just add <code>data-dismiss="alert"</code> to your close button to automatically give an alert close functionality.{{/i}}</p>
|
||||
<pre class="prettyprint linenums"><a class="close" data-dismiss="alert" href="#">&times;</a></pre>
|
||||
@@ -856,7 +924,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
|
||||
<p>{{_i}}Wraps all alerts with close functionality. To have your alerts animate out when closed, make sure they have the <code>.fade</code> and <code>.in</code> class already applied to them.{{/i}}</p>
|
||||
<h4>.alert('close')</h4>
|
||||
<p>{{_i}}Closes an alert.{{/i}}</p>
|
||||
<pre class="prettyprint linenums">$(".alert-message").alert('close')</pre>
|
||||
<pre class="prettyprint linenums">$(".alert").alert('close')</pre>
|
||||
<h3>{{_i}}Events{{/i}}</h3>
|
||||
<p>{{_i}}Bootstrap's alert class exposes a few events for hooking into alert functionality.{{/i}}</p>
|
||||
<table class="table table-bordered table-striped">
|
||||
@@ -897,7 +965,7 @@ $('#my-alert').bind('closed', function () {
|
||||
<div class="span3 columns">
|
||||
<h3>{{_i}}About{{/i}}</h3>
|
||||
<p>{{_i}}Do more with buttons. Control button states or create groups of buttons for more components like toolbars.{{/i}}</p>
|
||||
<a href="../js/bootstrap-button.js" target="_blank" class="btn">{{_i}}Download file{{/i}}</a>
|
||||
<a href="assets/js/bootstrap-button.js" target="_blank" class="btn">{{_i}}Download file{{/i}}</a>
|
||||
</div>
|
||||
<div class="span9 columns">
|
||||
<h2>{{_i}}Example uses{{/i}}</h2>
|
||||
@@ -943,21 +1011,21 @@ $('#my-alert').bind('closed', function () {
|
||||
<hr>
|
||||
<h2>{{_i}}Using bootstrap-button.js{{/i}}</h2>
|
||||
<p>{{_i}}Enable buttons via javascript:{{/i}}</p>
|
||||
<pre class="prettyprint linenums">$('.tabs').button()</pre>
|
||||
<pre class="prettyprint linenums">$('.nav-tabs').button()</pre>
|
||||
<h3>{{_i}}Markup{{/i}}</h3>
|
||||
<p>{{_i}}Data attributes are integral to the button plugin. Check out the example code below for the various markup types.{{/i}}</p>
|
||||
<pre class="prettyprint linenums">
|
||||
<!-- Add data-toggle="button" to activate toggling on a single button -->
|
||||
<!-- {{_i}}Add data-toggle="button" to activate toggling on a single button{{/i}} -->
|
||||
<button class="btn" data-toggle="button">Single Toggle</button>
|
||||
|
||||
<!-- Add data-toggle="buttons-checkbox" for checkbox style toggling on btn-group -->
|
||||
<!-- {{_i}}Add data-toggle="buttons-checkbox" for checkbox style toggling on btn-group{{/i}} -->
|
||||
<div class="btn-group" data-toggle="buttons-checkbox">
|
||||
<button class="btn">Left</button>
|
||||
<button class="btn">Middle</button>
|
||||
<button class="btn">Right</button>
|
||||
</div>
|
||||
|
||||
<!-- Add data-toggle="buttons-radio" for radio style toggling on btn-group -->
|
||||
<!-- {{_i}}Add data-toggle="buttons-radio" for radio style toggling on btn-group{{/i}} -->
|
||||
<div class="btn-group" data-toggle="buttons-radio">
|
||||
<button class="btn">Left</button>
|
||||
<button class="btn">Middle</button>
|
||||
@@ -966,7 +1034,7 @@ $('#my-alert').bind('closed', function () {
|
||||
</pre>
|
||||
<h3>{{_i}}Methods{{/i}}</h3>
|
||||
<h4>$().button('toggle')</h4>
|
||||
<p>{{_i}}Toggles push state. Gives btn the look that it's been activated.{{/i}}</p>
|
||||
<p>{{_i}}Toggles push state. Gives the button the appearance that it has been activated.{{/i}}</p>
|
||||
<div class="alert alert-info">
|
||||
<strong>{{_i}}Heads up!{{/i}}</strong>
|
||||
{{_i}}You can enable auto toggling of a button by using the <code>data-toggle</code> attribute.{{/i}}
|
||||
@@ -1004,8 +1072,9 @@ $('#my-alert').bind('closed', function () {
|
||||
<div class="span3 columns">
|
||||
<h3>{{_i}}About{{/i}}</h3>
|
||||
<p>{{_i}}Get base styles and flexible support for collapsible components like accordions and navigation.{{/i}}</p>
|
||||
<a href="../js/bootstrap-collapse.js" target="_blank" class="btn">{{_i}}Download file{{/i}}</a>
|
||||
</div>
|
||||
<a href="assets/js/bootstrap-collapse.js" target="_blank" class="btn">{{_i}}Download file{{/i}}</a>
|
||||
<p class="muted"><strong>*</strong> {{_i}}Requires the Transitions plugin to be included.{{/i}}</p>
|
||||
</div>
|
||||
<div class="span9 columns">
|
||||
<h2>{{_i}}Example accordion{{/i}}</h2>
|
||||
<p>{{_i}}Using the collapse plugin, we built a simple accordion style widget:{{/i}}</p>
|
||||
@@ -1052,7 +1121,7 @@ $('#my-alert').bind('closed', function () {
|
||||
|
||||
<hr>
|
||||
<h2>{{_i}}Using bootstrap-collapse.js{{/i}}</h2>
|
||||
<p>Enable via javascript:</p>
|
||||
<p>{{_i}}Enable via javascript:{{/i}}</p>
|
||||
<pre class="prettyprint linenums">$(".collapse").collapse()</pre>
|
||||
<h3>{{_i}}Options{{/i}}</h3>
|
||||
<table class="table table-bordered table-striped">
|
||||
@@ -1069,7 +1138,7 @@ $('#my-alert').bind('closed', function () {
|
||||
<td>{{_i}}parent{{/i}}</td>
|
||||
<td>{{_i}}selector{{/i}}</td>
|
||||
<td>false</td>
|
||||
<td>{{_i}}If selector then all collapsible elements under the specified parent will be closed when this collasabile item is shown. (similar to traditional accordion behavior){{/i}}</td>
|
||||
<td>{{_i}}If selector then all collapsible elements under the specified parent will be closed when this collapsible item is shown. (similar to traditional accordion behavior){{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{_i}}toggle{{/i}}</td>
|
||||
@@ -1157,7 +1226,7 @@ $('#myCollapsible').on('hidden', function () {
|
||||
<div class="span3 columns">
|
||||
<h3>{{_i}}About{{/i}}</h3>
|
||||
<p>{{_i}}A generic plugin for cycling through elements. A merry-go-round.{{/i}}</p>
|
||||
<a href="../js/bootstrap-carousel.js" target="_blank" class="btn">{{_i}}Download file{{/i}}</a>
|
||||
<a href="assets/js/bootstrap-carousel.js" target="_blank" class="btn">{{_i}}Download file{{/i}}</a>
|
||||
</div>
|
||||
<div class="span9 columns">
|
||||
<h2>{{_i}}Example carousel{{/i}}</h2>
|
||||
@@ -1212,19 +1281,27 @@ $('#myCollapsible').on('hidden', function () {
|
||||
<td>{{_i}}interval{{/i}}</td>
|
||||
<td>{{_i}}number{{/i}}</td>
|
||||
<td>5000</td>
|
||||
<td>{{_i}}The amount of time to delay between automatically cycling an item.{{/i}}</td>
|
||||
<td>{{_i}}The amount of time to delay between automatically cycling an item. If false, carousel will not automatically cycle.{{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{_i}}pause{{/i}}</td>
|
||||
<td>{{_i}}string{{/i}}</td>
|
||||
<td>"hover"</td>
|
||||
<td>{{_i}}Pauses the cycling of the carousel on mouseenter and resumes the cycling of the carousel on mouseleave.{{/i}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>{{_i}}Markup{{/i}}</h3>
|
||||
<p>{{_i}}Data attributes are integral to the carousel plugin. Check out the example code below for the various markup types.{{/i}}</p>
|
||||
<p>{{_i}}Data attributes are used for the previous and next conrols. Check out the example markup below.{{/i}}</p>
|
||||
<pre class="prettyprint linenums">
|
||||
<div class="carousel">
|
||||
<!-- Carousel items -->
|
||||
<div id="myCarousel" class="carousel">
|
||||
<!-- {{_i}}Carousel items{{/i}} -->
|
||||
<div class="carousel-inner">
|
||||
...
|
||||
<div class="active item">…</div>
|
||||
<div class="item">…</div>
|
||||
<div class="item">…</div>
|
||||
</div>
|
||||
<!-- Carousel nav -->
|
||||
<!-- {{_i}}Carousel nav{{/i}} -->
|
||||
<a class="carousel-control left" href="#myCarousel" data-slide="prev">&lsaquo;</a>
|
||||
<a class="carousel-control right" href="#myCarousel" data-slide="next">&rsaquo;</a>
|
||||
</div>
|
||||
@@ -1233,7 +1310,7 @@ $('#myCollapsible').on('hidden', function () {
|
||||
<h4>.carousel({{_i}}options{{/i}})</h4>
|
||||
<p>{{_i}}Initializes the carousel with an optional options <code>object</code> and starts cycling through items.{{/i}}</p>
|
||||
<pre class="prettyprint linenums">
|
||||
$('.myCarousel').carousel({
|
||||
$('.carousel').carousel({
|
||||
interval: 2000
|
||||
})
|
||||
</pre>
|
||||
@@ -1248,7 +1325,7 @@ $('.myCarousel').carousel({
|
||||
<h4>.carousel('next')</h4>
|
||||
<p>{{_i}}Cycles to the next item.{{/i}}</p>
|
||||
<h3>{{_i}}Events{{/i}}</h3>
|
||||
<p>{{_i}}Bootstrap's modal class exposes a few events for hooking into modal functionality.{{/i}}</p>
|
||||
<p>{{_i}}Bootstrap's carousel class exposes two events for hooking into carousel functionality.{{/i}}</p>
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -1263,7 +1340,7 @@ $('.myCarousel').carousel({
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{_i}}slid{{/i}}</td>
|
||||
<td>{{_i}}This event is fired when the carousel has completed it's slide transition.{{/i}}</td>
|
||||
<td>{{_i}}This event is fired when the carousel has completed its slide transition.{{/i}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -1283,7 +1360,7 @@ $('.myCarousel').carousel({
|
||||
<div class="span3 columns">
|
||||
<h3>{{_i}}About{{/i}}</h3>
|
||||
<p>{{_i}}A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.{{/i}}</p>
|
||||
<a href="../js/bootstrap-typeahead.js" target="_blank" class="btn">{{_i}}Download file{{/i}}</a>
|
||||
<a href="assets/js/bootstrap-typeahead.js" target="_blank" class="btn">{{_i}}Download file{{/i}}</a>
|
||||
</div>
|
||||
<div class="span9 columns">
|
||||
<h2>{{_i}}Example{{/i}}</h2>
|
||||
@@ -1346,7 +1423,7 @@ $('.myCarousel').carousel({
|
||||
</pre>
|
||||
<h3>{{_i}}Methods{{/i}}</h3>
|
||||
<h4>.typeahead({{_i}}options{{/i}})</h4>
|
||||
<p>{{_i}}Initializes an input with a typahead.{{/i}}</p>
|
||||
<p>{{_i}}Initializes an input with a typeahead.{{/i}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -24,7 +24,7 @@
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<h3>{{_i}}Why LESS?{{/i}}</h3>
|
||||
<p>{{_i}}Bootstrap is made with LESS at it's core, a dynamic stylesheet language created by our good friend, <a href="http://cloudhead.io">Alexis Sellier</a>. It makes developing systems-based CSS faster, easier, and more fun.{{/i}}</p>
|
||||
<p>{{_i}}Bootstrap is made with LESS at its core, a dynamic stylesheet language created by our good friend, <a href="http://cloudhead.io">Alexis Sellier</a>. It makes developing systems-based CSS faster, easier, and more fun.{{/i}}</p>
|
||||
</div>
|
||||
<div class="span4">
|
||||
<h3>{{_i}}What's included?{{/i}}</h3>
|
||||
@@ -47,7 +47,7 @@
|
||||
</div>
|
||||
<div class="span4">
|
||||
<h3>{{_i}}Operations{{/i}}</h3>
|
||||
<p>{{_i}}Make your grid, leading, and more super flexible by doing the math on the fly with operations. Multiple, divide, add, and subtract your way to CSS sanity.{{/i}}</p>
|
||||
<p>{{_i}}Make your grid, leading, and more super flexible by doing the math on the fly with operations. Multiply, divide, add, and subtract your way to CSS sanity.{{/i}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -63,12 +63,24 @@
|
||||
|
||||
<div class="row">
|
||||
<div class="span6">
|
||||
<h3>{{_i}}Hyperlinks{{/i}}</h3>
|
||||
<h3>{{_i}}Scaffolding and links{{/i}}</h3>
|
||||
<table class="table table-bordered table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="span2"><code>@linkColor</code></td>
|
||||
<td>#08c</td>
|
||||
<td class="span2"><code>@bodyBackground</code></td>
|
||||
<td><code>@white</code></td>
|
||||
<td>{{_i}}Page background color{{/i}}</td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #fff;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@textColor</code></td>
|
||||
<td><code>@grayDark</code></td>
|
||||
<td>{{_i}}Default text color for entire body, headings, and more{{/i}}</td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #333;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@linkColor</code></td>
|
||||
<td><code>#08c</code></td>
|
||||
<td>{{_i}}Default link text color{{/i}}</td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #08c;"></span></td>
|
||||
</tr>
|
||||
@@ -108,18 +120,70 @@
|
||||
<h3>{{_i}}Typography{{/i}}</h3>
|
||||
<table class="table table-bordered table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="span2"><code>@sansFontFamily</code></td>
|
||||
<td colspan="2">"Helvetica Neue", Helvetica, Arial, sans-serif</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@serifFontFamily</code></td>
|
||||
<td colspan="2"><code>Georgia, "Times New Roman", Times, serif</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@monoFontFamily</code></td>
|
||||
<td colspan="2">Menlo, Monaco, "Courier New", monospace</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="span2"><code>@baseFontSize</code></td>
|
||||
<td>13px</td>
|
||||
<td><em class="muted">Must be pixels</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@baseFontFamily</code></td>
|
||||
<td><code>"Helvetica Neue", Helvetica, Arial, sans-serif</code></td>
|
||||
<td></td>
|
||||
<td colspan="2"><code>@sansFontFamily</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@baseLineHeight</code></td>
|
||||
<td>18px</td>
|
||||
<td><em class="muted">Must be pixels</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@altFontFamily</code></td>
|
||||
<td colspan="2"><code>@serifFontFamily</code></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="span2"><code>@headingsFontFamily</code></td>
|
||||
<td colspan="2"><code>inherit</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@headingsFontWeight</code></td>
|
||||
<td colspan="2"><code>bold</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@headingsColor</code></td>
|
||||
<td colspan="2"><code>inherit</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>{{_i}}Tables{{/i}}</h3>
|
||||
<table class="table table-bordered table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="span2"><code>@tableBackground</code></td>
|
||||
<td><code>transparent</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@tableBackgroundAccent</code></td>
|
||||
<td><code>#f9f9f9</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@tableBackgroundHover</code></td>
|
||||
<td><code>#f5f5f5</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@tableBorder</code></td>
|
||||
<td><code>ddd</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -211,75 +275,133 @@
|
||||
<h3>{{_i}}Components{{/i}}</h3>
|
||||
<div class="row">
|
||||
<div class="span6">
|
||||
<h4>Buttons</h4>
|
||||
<h4>{{_i}}Buttons{{/i}}</h4>
|
||||
<table class="table table-bordered table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="span3"><code>@primaryButtonBackground</code></td>
|
||||
<td class="span3"><code>@btnBackground</code></td>
|
||||
<td><code>@white</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #fff;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="span3"><code>@btnBackgroundHighlight</code></td>
|
||||
<td><code>darken(@white, 10%)</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #e6e6e6;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="span3"><code>@btnBorder</code></td>
|
||||
<td><code>darken(@white, 20%)</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #ccc;"></span></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="span3"><code>@btnPrimaryBackground</code></td>
|
||||
<td><code>@linkColor</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #08c;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="span3"><code>@btnPrimaryBackgroundHighlight</code></td>
|
||||
<td><code>spin(@btnPrimaryBackground, 15%)</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #05c;"></span></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="span3"><code>@btnInfoBackground</code></td>
|
||||
<td><code>#5bc0de</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #5bc0de;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="span3"><code>@btnInfoBackgroundHighlight</code></td>
|
||||
<td><code>#2f96b4</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #2f96b4;"></span></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="span3"><code>@btnSuccessBackground</code></td>
|
||||
<td><code>#62c462</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #62c462;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="span3"><code>@btnSuccessBackgroundHighlight</code></td>
|
||||
<td><code>51a351</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #51a351;"></span></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="span3"><code>@btnWarningBackground</code></td>
|
||||
<td><code>lighten(@orange, 15%)</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #fbb450;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="span3"><code>@btnWarningBackgroundHighlight</code></td>
|
||||
<td><code>@orange</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #f89406;"></span></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="span3"><code>@btnDangerBackground</code></td>
|
||||
<td><code>#ee5f5b</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #ee5f5b;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="span3"><code>@btnDangerBackgroundHighlight</code></td>
|
||||
<td><code>#bd362f</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #bd362f;"></span></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="span3"><code>@btnInverseBackground</code></td>
|
||||
<td><code>@gray</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #555;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="span3"><code>@btnInverseBackgroundHighlight</code></td>
|
||||
<td><code>@grayDarker</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #222;"></span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4>Forms</h4>
|
||||
<h4>{{_i}}Forms{{/i}}</h4>
|
||||
<table class="table table-bordered table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="span3"><code>@placeholderText</code></td>
|
||||
<td><code>@grayLight</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #999;"></span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4>Navbar</h4>
|
||||
<table class="table table-bordered table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="span3"><code>@navbarHeight</code></td>
|
||||
<td>40px</td>
|
||||
<td class="swatch-col"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarBackground</code></td>
|
||||
<td><code>@grayDarker</code></td>
|
||||
<td><span class="swatch" style="background-color: #222;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarBackgroundHighlight</code></td>
|
||||
<td><code>@grayDark</code></td>
|
||||
<td><span class="swatch" style="background-color: #333;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarText</code></td>
|
||||
<td><code>@grayLight</code></td>
|
||||
<td><span class="swatch" style="background-color: #999;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarLinkColor</code></td>
|
||||
<td><code>@grayLight</code></td>
|
||||
<td><span class="swatch" style="background-color: #999;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarLinkColorHover</code></td>
|
||||
<td><code>@inputBackground</code></td>
|
||||
<td><code>@white</code></td>
|
||||
<td><span class="swatch swatch-bordered" style="background-color: #fff;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@inputBorder</code></td>
|
||||
<td><code>#ccc</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@inputBorderRadius</code></td>
|
||||
<td><code>3px</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@inputDisabledBackground</code></td>
|
||||
<td><code>@grayLighter</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@formActionsBackground</code></td>
|
||||
<td><code>#f5f5f5</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="span6">
|
||||
<h4>{{_i}}Form states and alerts{{/i}}</h4>
|
||||
<table class="table table-bordered table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="span3"><code>@warningText</code></td>
|
||||
<td>#f3edd2</td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #f3edd2;"></span></td>
|
||||
<td>#c09853</td>
|
||||
<td><span class="swatch" style="background-color: #c09853;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@warningBackground</code></td>
|
||||
<td>#c09853</td>
|
||||
<td><span class="swatch" style="background-color: #c09853;"></span></td>
|
||||
<td>#f3edd2</td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #f3edd2;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@errorText</code></td>
|
||||
@@ -314,6 +436,130 @@
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="span6">
|
||||
<h4>{{_i}}Navbar{{/i}}</h4>
|
||||
<table class="table table-bordered table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="span3"><code>@navbarHeight</code></td>
|
||||
<td>40px</td>
|
||||
<td class="swatch-col"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarBackground</code></td>
|
||||
<td><code>@grayDarker</code></td>
|
||||
<td><span class="swatch" style="background-color: #222;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarBackgroundHighlight</code></td>
|
||||
<td><code>@grayDark</code></td>
|
||||
<td><span class="swatch" style="background-color: #333;"></span></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><code>@navbarText</code></td>
|
||||
<td><code>@grayLight</code></td>
|
||||
<td><span class="swatch" style="background-color: #999;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarLinkColor</code></td>
|
||||
<td><code>@grayLight</code></td>
|
||||
<td><span class="swatch" style="background-color: #999;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarLinkColorHover</code></td>
|
||||
<td><code>@white</code></td>
|
||||
<td><span class="swatch swatch-bordered" style="background-color: #fff;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarLinkColorActive</code></td>
|
||||
<td><code>@navbarLinkColorHover</code></td>
|
||||
<td><span class="swatch swatch-bordered" style="background-color: #fff;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarLinkBackgroundHover</code></td>
|
||||
<td><code>transparent</code></td>
|
||||
<td><span class="swatch swatch-bordered" style="background-color: transparent;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarLinkBackgroundActive</code></td>
|
||||
<td><code>@navbarBackground</code></td>
|
||||
<td><span class="swatch swatch-bordered" style="background-color: #fff;"></span></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><code>@navbarSearchBackground</code></td>
|
||||
<td><code>lighten(@navbarBackground, 25%)</code></td>
|
||||
<td><span class="swatch" style="background-color: #666;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarSearchBackgroundFocus</code></td>
|
||||
<td><code>@white</code></td>
|
||||
<td><span class="swatch swatch-bordered" style="background-color: #fff;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarSearchBorder</code></td>
|
||||
<td><code>darken(@navbarSearchBackground, 30%)</code></td>
|
||||
<td><span class="swatch" style="background-color: #111;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarSearchPlaceholderColor</code></td>
|
||||
<td><code>#ccc</code></td>
|
||||
<td><span class="swatch" style="background-color: #ccc;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@navbarBrandColor</code></td>
|
||||
<td><code>@navbarLinkColor</code></td>
|
||||
<td><span class="swatch swatch-bordered" style="background-color: #fff;"></span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4>{{_i}}Dropdowns{{/i}}</h4>
|
||||
<table class="table table-bordered table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="span2"><code>@dropdownBackground</code></td>
|
||||
<td><code>@white</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@dropdownBorder</code></td>
|
||||
<td><code>rgba(0,0,0,.2)</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@dropdownLinkColor</code></td>
|
||||
<td><code>@grayDark</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@dropdownLinkColorHover</code></td>
|
||||
<td><code>@white</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@dropdownLinkBackgroundHover</code></td>
|
||||
<td><code>@linkColor</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4>{{_i}}Hero unit{{/i}}</h4>
|
||||
<table class="table table-bordered table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="span3"><code>@heroUnitBackground</code></td>
|
||||
<td><code>@grayLighter</code></td>
|
||||
<td class="swatch-col"><span class="swatch" style="background-color: #eee;"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="span2"><code>@heroUnitHeadingColor</code></td>
|
||||
<td><code>inherit</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@heroUnitLeadColor</code></td>
|
||||
<td><code>inhereit</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div><!-- /row -->
|
||||
|
||||
</section>
|
||||
@@ -385,17 +631,17 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.size()</code></td>
|
||||
<td><code>@height: 5px, @width: 5px</code></td>
|
||||
<td><code>@height @width</code></td>
|
||||
<td>{{_i}}Quickly set the height and width on one line{{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.square()</code></td>
|
||||
<td><code>@size: 5px</code></td>
|
||||
<td><code>@size</code></td>
|
||||
<td>{{_i}}Builds on <code>.size()</code> to set the width and height as same value{{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.opacity()</code></td>
|
||||
<td><code>@opacity: 100</code></td>
|
||||
<td><code>@opacity</code></td>
|
||||
<td>{{_i}}Set, in whole numbers, the opacity percentage (e.g., "50" or "75"){{/i}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@@ -477,26 +723,31 @@
|
||||
<tr>
|
||||
<td><code>.container-fixed()</code></td>
|
||||
<td><em class="muted">none</em></td>
|
||||
<td>{{_i}}Provide a fixed-width (set with <code>@siteWidth</code>) container for holding your content{{/i}}</td>
|
||||
<td>{{_i}}Create a horizontally centered container for holding your content{{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.columns()</code></td>
|
||||
<td><code>@columns: 1</code></td>
|
||||
<td>{{_i}}Build a grid column that spans any number of columns (defaults to 1 column){{/i}}</td>
|
||||
<td><code>#grid > .core()</code></td>
|
||||
<td><code>@gridColumnWidth, @gridGutterWidth</code></td>
|
||||
<td>{{_i}}Generate a pixel grid system (container, row, and columns) with <em>n</em> columns and <em>x</em> pixel wide gutter{{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.offset()</code></td>
|
||||
<td><code>@columns: 1</code></td>
|
||||
<td>{{_i}}Offset a grid column with left margin that spans any number of columns{{/i}}</td>
|
||||
<td><code>#grid > .fluid()</code></td>
|
||||
<td><code>@fluidGridColumnWidth, @fluidGridGutterWidth</code></td>
|
||||
<td>{{_i}}Generate a precent grid system with <em>n</em> columns and <em>x</em> % wide gutter{{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.gridColumn()</code></td>
|
||||
<td><em class="muted">none</em></td>
|
||||
<td>{{_i}}Make an element float like a grid column{{/i}}</td>
|
||||
<td><code>#grid > .input()</code></td>
|
||||
<td><code>@gridColumnWidth, @gridGutterWidth</code></td>
|
||||
<td>{{_i}}Generate the pixel grid system for <code>input</code> elements, accounting for padding and borders{{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.makeColumn</code></td>
|
||||
<td><code>@columns: 1, @offset: 0</code></td>
|
||||
<td>{{_i}}Turn any <code>div</code> into a grid column without the <code>.span*</code> classes{{/i}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>CSS3 properties</h3>
|
||||
<h3>{{_i}}CSS3 properties{{/i}}</h3>
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -508,12 +759,12 @@
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>.border-radius()</code></td>
|
||||
<td><code>@radius: 5px</code></td>
|
||||
<td><code>@radius</code></td>
|
||||
<td>{{_i}}Round the corners of an element. Can be a single value or four space-separated values{{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.box-shadow()</code></td>
|
||||
<td><code>@shadow: 0 1px 3px rgba(0,0,0,.25)</code></td>
|
||||
<td><code>@shadow</code></td>
|
||||
<td>{{_i}}Add a drop shadow to an element{{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -529,17 +780,17 @@
|
||||
<tr>
|
||||
<td><code>.scale()</code></td>
|
||||
<td><code>@ratio</code></td>
|
||||
<td>{{_i}}Scale an element to <em>n</em> times it's original size{{/i}}</td>
|
||||
<td>{{_i}}Scale an element to <em>n</em> times its original size{{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.translate()</code></td>
|
||||
<td><code>@x: 0, @y: 0</code></td>
|
||||
<td><code>@x, @y</code></td>
|
||||
<td>{{_i}}Move an element on the x and y planes{{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.background-clip()</code></td>
|
||||
<td><code>@clip</code></td>
|
||||
<td>{{_i}}Crop the backgroud of an element (useful for <code>border-radius</code>){{/i}}</td>
|
||||
<td>{{_i}}Crop the background of an element (useful for <code>border-radius</code>){{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.background-size()</code></td>
|
||||
@@ -556,6 +807,11 @@
|
||||
<td><code>@select</code></td>
|
||||
<td>{{_i}}Control cursor selection of text on a page{{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.backface-visibility()</code></td>
|
||||
<td><code>@visibility: visible</code></td>
|
||||
<td>{{_i}}Prevent flickering of content when using CSS 3D transforms{{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.resizable()</code></td>
|
||||
<td><code>@direction: both</code></td>
|
||||
@@ -563,12 +819,12 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.content-columns()</code></td>
|
||||
<td><code>@columnCount, @columnGap: @gridColumnGutter</code></td>
|
||||
<td><code>@columnCount, @columnGap: @gridGutterWidth</code></td>
|
||||
<td>{{_i}}Make the content of any element use CSS3 columns{{/i}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Backgrounds and gradients</h3>
|
||||
<h3>{{_i}}Backgrounds and gradients{{/i}}</h3>
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -579,47 +835,47 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>.#translucent > .background()</code></td>
|
||||
<td><code>#translucent > .background()</code></td>
|
||||
<td><code>@color: @white, @alpha: 1</code></td>
|
||||
<td>{{_i}}Give an element a translucent background color{{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.#translucent > .border()</code></td>
|
||||
<td><code>#translucent > .border()</code></td>
|
||||
<td><code>@color: @white, @alpha: 1</code></td>
|
||||
<td>{{_i}}Give an element a translucent border color{{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.#gradient > .vertical()</code></td>
|
||||
<td><code>#gradient > .vertical()</code></td>
|
||||
<td><code>@startColor, @endColor</code></td>
|
||||
<td>{{_i}}Create a cross-browser vertical background gradient{{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.#gradient > .horizontal()</code></td>
|
||||
<td><code>#gradient > .horizontal()</code></td>
|
||||
<td><code>@startColor, @endColor</code></td>
|
||||
<td>{{_i}}Create a cross-browser horizontal background gradient{{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.#gradient > .directional()</code></td>
|
||||
<td><code>#gradient > .directional()</code></td>
|
||||
<td><code>@startColor, @endColor, @deg</code></td>
|
||||
<td>{{_i}}Create a cross-browser directional background gradient{{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.#gradient > .vertical-three-colors()</code></td>
|
||||
<td><code>#gradient > .vertical-three-colors()</code></td>
|
||||
<td><code>@startColor, @midColor, @colorStop, @endColor</code></td>
|
||||
<td>{{_i}}Create a cross-browser three-color background gradient{{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.#gradient > .radial()</code></td>
|
||||
<td><code>#gradient > .radial()</code></td>
|
||||
<td><code>@innerColor, @outerColor</code></td>
|
||||
<td>{{_i}}Create a cross-browser radial background gradient{{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.#gradient > .striped()</code></td>
|
||||
<td><code>#gradient > .striped()</code></td>
|
||||
<td><code>@color, @angle</code></td>
|
||||
<td>{{_i}}Create a cross-browser striped background gradient{{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.#gradientBar()</code></td>
|
||||
<td><code>#gradientBar()</code></td>
|
||||
<td><code>@primaryColor, @secondaryColor</code></td>
|
||||
<td>{{_i}}Used for buttons to assign a gradient and slightly darker border{{/i}}</td>
|
||||
</tr>
|
||||
@@ -642,15 +898,15 @@
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<h3>{{_i}}Node with makefile{{/i}}</h3>
|
||||
<p>{{_i}}Install the LESS command line compiler with npm by running the following command:{{/i}}</p>
|
||||
<pre>$ npm install less</pre>
|
||||
<p>{{_i}}Install the LESS command line compiler and uglify-js globally with npm by running the following command:{{/i}}</p>
|
||||
<pre>$ npm install -g less uglify-js</pre>
|
||||
<p>{{_i}}Once installed just run <code>make</code> from the root of your bootstrap directory and you're all set.{{/i}}</p>
|
||||
<p>{{_i}}Additionally, if you have <a href="https://github.com/mynyml/watchr">watchr</a> installed, you may run <code>make watch</code> to have bootstrap automatically rebuilt every time you edit a file in the bootstrap lib (this isn't required, just a convenience method).{{/i}}</p>
|
||||
</div><!-- /span4 -->
|
||||
<div class="span4">
|
||||
<h3>{{_i}}Command line{{/i}}</h3>
|
||||
<p>{{_i}}Install the LESS command line tool via Node and run the following command:{{/i}}</p>
|
||||
<pre>$ lessc ./lib/bootstrap.less > bootstrap.css</pre>
|
||||
<pre>$ lessc ./less/bootstrap.less > bootstrap.css</pre>
|
||||
<p>{{_i}}Be sure to include <code>--compress</code> in that command if you're trying to save some bytes!{{/i}}</p>
|
||||
</div><!-- /span4 -->
|
||||
<div class="span4">
|
||||
|
||||
@@ -5,7 +5,10 @@
|
||||
<p class="lead">{{_i}}Bootstrap is built on a responsive 12-column grid. We've also included fixed- and fluid-width layouts based on that system.{{/i}}</p>
|
||||
<div class="subnav">
|
||||
<ul class="nav nav-pills">
|
||||
<li><a href="#grid-system">{{_i}}Grid system{{/i}}</a></li>
|
||||
<li><a href="#global">{{_i}}Global styles{{/i}}</a></li>
|
||||
<li><a href="#gridSystem">{{_i}}Grid system{{/i}}</a></li>
|
||||
<li><a href="#fluidGridSystem">{{_i}}Fluid grid system{{/i}}</a></li>
|
||||
<li><a href="#gridCustomization">{{_i}}Customizing{{/i}}</a></li>
|
||||
<li><a href="#layouts">{{_i}}Layouts{{/i}}</a></li>
|
||||
<li><a href="#responsive">{{_i}}Responsive design{{/i}}</a></li>
|
||||
</ul>
|
||||
@@ -14,14 +17,52 @@
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Global Bootstrap settings
|
||||
================================================== -->
|
||||
<section id="global">
|
||||
<div class="page-header">
|
||||
<h1>{{_i}}Global styles <small>for CSS reset, typography, and links</small>{{/i}}</h1>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<h2>{{_i}}Requires HTML5 doctype{{/i}}</h2>
|
||||
<p>{{_i}}Bootstrap makes use of HTML elements and CSS properties that require the use of the HTML5 doctype. Be sure to include it at the beginning of every Bootstrapped page in your project.{{/i}}</p>
|
||||
<pre class="prettyprint linenums">
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
...
|
||||
</html>
|
||||
</pre>
|
||||
</div><!-- /.span -->
|
||||
<div class="span4">
|
||||
<h2>{{_i}}Typography and links{{/i}}</h2>
|
||||
<p>{{_i}}Within the <strong>scaffolding.less</strong> file, we set basic global display, typography, and link styles. Specifically, we:{{/i}}</p>
|
||||
<ul>
|
||||
<li>{{_i}}Remove margin on the body{{/i}}</li>
|
||||
<li>{{_i}}Set <code>background-color: white;</code> on the <code>body</code>{{/i}}</li>
|
||||
<li>{{_i}}Use the <code>@baseFontFamily</code>, <code>@baseFontSize</code>, and <code>@baseLineHeight</code> attributes as our typographyic base{{/i}}</li>
|
||||
<li>{{_i}}Set the global link color via <code>@linkColor</code> and apply link underlines only on <code>:hover</code>{{/i}}</li>
|
||||
</ul>
|
||||
</div><!-- /.span -->
|
||||
<div class="span4">
|
||||
<h2>{{_i}}Reset via Normalize{{/i}}</h2>
|
||||
<p>{{_i}}As of Bootstrap 2, the traditional CSS reset has evolved to make use of elements from <a href="http://necolas.github.com/normalize.css/" target="_blank">Normalize.css</a>, a project by <a href="http://twitter.com/necolas" target="_blank">Nicolas Gallagher</a> that also powers the <a href="http://html5boilerplate.com" target="_blank">HTML5 Boilerplate</a>.{{/i}}</p>
|
||||
<p>{{_i}}The new reset can still be found in <strong>reset.less</strong>, but with many elements removed for brevity and accuracy.{{/i}}</p>
|
||||
</div><!-- /.span -->
|
||||
</div><!-- /.row -->
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Grid system
|
||||
================================================== -->
|
||||
<section id="grid-system">
|
||||
<section id="gridSystem">
|
||||
<div class="page-header">
|
||||
<h1>{{_i}}Grid system <small>12 columns with a responsive twist</small>{{/i}}</h1>
|
||||
<h1>{{_i}}Default grid system <small>12 columns with a responsive twist</small>{{/i}}</h1>
|
||||
</div>
|
||||
|
||||
<h2>Default 940px grid</h2>
|
||||
<div class="row show-grid">
|
||||
<div class="span1">1</div>
|
||||
<div class="span1">1</div>
|
||||
@@ -55,8 +96,8 @@
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<p>{{_i}}The default grid system provided as part of Bootstrap is a <strong>940px-wide, 12-column grid</strong>.{{/i}}</p>
|
||||
<p>{{_i}}It also has four responsive variations for various devices and resolutions: phone, tablet portrait, table landscape and small desktops, and large widescreen desktops.{{/i}}</p>
|
||||
</div>
|
||||
<p>{{_i}}It also has four responsive variations for various devices and resolutions: phone, tablet portrait, tablet landscape and small desktops, and large widescreen desktops.{{/i}}</p>
|
||||
</div><!-- /.span -->
|
||||
<div class="span4">
|
||||
<pre class="prettyprint linenums">
|
||||
<div class="row">
|
||||
@@ -64,15 +105,15 @@
|
||||
<div class="span8">...</div>
|
||||
</div>
|
||||
</pre>
|
||||
</div>
|
||||
</div><!-- /.span -->
|
||||
<div class="span4">
|
||||
<p>{{_i}}As shown here, a basic layout can be created with two "columns," each spanning a number of the 12 foundational columns we defined as part of our grid system.{{/i}}</p>
|
||||
</div>
|
||||
</div><!-- /row -->
|
||||
<p>{{_i}}As shown here, a basic layout can be created with two "columns", each spanning a number of the 12 foundational columns we defined as part of our grid system.{{/i}}</p>
|
||||
</div><!-- /.span -->
|
||||
</div><!-- /.row -->
|
||||
|
||||
<br>
|
||||
|
||||
<h2>Offsetting columns</h2>
|
||||
<h2>{{_i}}Offsetting columns{{/i}}</h2>
|
||||
<div class="row show-grid">
|
||||
<div class="span4">4</div>
|
||||
<div class="span4 offset4">4 offset 4</div>
|
||||
@@ -97,7 +138,8 @@
|
||||
<div class="row">
|
||||
<div class="span6">
|
||||
<p>{{_i}}With the static (non-fluid) grid system in Bootstrap, nesting is easy. To nest your content, just add a new <code>.row</code> and set of <code>.span*</code> columns within an existing <code>.span*</code> column.{{/i}}</p>
|
||||
<h4>{{_i}}Example{{/i}}</h4>
|
||||
<h3>{{_i}}Example{{/i}}</h3>
|
||||
<p>{{_i}}Nested rows should include a set of columns that add up to the number of columns of it's parent. For example, two nested <code>.span3</code> columns should be placed within a <code>.span6</code>.{{/i}}</p>
|
||||
<div class="row show-grid">
|
||||
<div class="span6">
|
||||
{{_i}}Level 1 of column{{/i}}
|
||||
@@ -111,7 +153,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /.span -->
|
||||
<div class="span6">
|
||||
<pre class="prettyprint linenums">
|
||||
<div class="row">
|
||||
@@ -124,10 +166,114 @@
|
||||
</div>
|
||||
</div>
|
||||
</pre>
|
||||
</div>
|
||||
</div><!-- /.span -->
|
||||
</div><!-- /.row -->
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
<!-- Fluid grid system
|
||||
================================================== -->
|
||||
<section id="fluidGridSystem">
|
||||
<div class="page-header">
|
||||
<h1>{{_i}}Fluid grid system <small>12 responsive, percent-based columns</small>{{/i}}</h1>
|
||||
</div>
|
||||
|
||||
<h2>{{_i}}Grid customization{{/i}}</h2>
|
||||
<h2>{{_i}}Fluid columns{{/i}}</h2>
|
||||
<div class="row-fluid show-grid">
|
||||
<div class="span1">1</div>
|
||||
<div class="span1">1</div>
|
||||
<div class="span1">1</div>
|
||||
<div class="span1">1</div>
|
||||
<div class="span1">1</div>
|
||||
<div class="span1">1</div>
|
||||
<div class="span1">1</div>
|
||||
<div class="span1">1</div>
|
||||
<div class="span1">1</div>
|
||||
<div class="span1">1</div>
|
||||
<div class="span1">1</div>
|
||||
<div class="span1">1</div>
|
||||
</div>
|
||||
<div class="row-fluid show-grid">
|
||||
<div class="span4">4</div>
|
||||
<div class="span4">4</div>
|
||||
<div class="span4">4</div>
|
||||
</div>
|
||||
<div class="row-fluid show-grid">
|
||||
<div class="span4">4</div>
|
||||
<div class="span8">8</div>
|
||||
</div>
|
||||
<div class="row-fluid show-grid">
|
||||
<div class="span6">6</div>
|
||||
<div class="span6">6</div>
|
||||
</div>
|
||||
<div class="row-fluid show-grid">
|
||||
<div class="span12">12</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<h3>{{_i}}Percents, not pixels{{/i}}</h3>
|
||||
<p>{{_i}}The fluid grid system uses percents for column widths instead of fixed pixels. It also has the same responsive variations as our fixed grid system, ensuring proper proportions for key screen resolutions and devices.{{/i}}</p>
|
||||
</div><!-- /.span -->
|
||||
<div class="span4">
|
||||
<h3>{{_i}}Fluid rows{{/i}}</h3>
|
||||
<p>{{_i}}Make any row fluid simply by changing <code>.row</code> to <code>.row-fluid</code>. The columns stay the exact same, making it super straightforward to flip between fixed and fluid layouts.{{/i}}</p>
|
||||
</div><!-- /.span -->
|
||||
<div class="span4">
|
||||
<h3>{{_i}}Markup{{/i}}</h3>
|
||||
<pre class="prettyprint linenums">
|
||||
<div class="row-fluid">
|
||||
<div class="span4">...</div>
|
||||
<div class="span8">...</div>
|
||||
</div>
|
||||
</pre>
|
||||
</div><!-- /.span -->
|
||||
</div><!-- /.row -->
|
||||
|
||||
<h2>{{_i}}Fluid nesting{{/i}}</h2>
|
||||
<div class="row">
|
||||
<div class="span6">
|
||||
<p>{{_i}}Nesting with fluid grids is a bit different: the number of nested columns doesn't need to match the parent. Instead, your columns are reset at each level because each row takes up 100% of the parent column.{{/i}}</p>
|
||||
<div class="row-fluid show-grid">
|
||||
<div class="span12">
|
||||
{{_i}}Fluid 12{{/i}}
|
||||
<div class="row-fluid show-grid">
|
||||
<div class="span6">
|
||||
{{_i}}Fluid 6{{/i}}
|
||||
</div>
|
||||
<div class="span6">
|
||||
{{_i}}Fluid 6{{/i}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /.span -->
|
||||
<div class="span6">
|
||||
<pre class="prettyprint linenums">
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
{{_i}}Level 1 of column{{/i}}
|
||||
<div class="row-fluid">
|
||||
<div class="span6">{{_i}}Level 2{{/i}}</div>
|
||||
<div class="span6">{{_i}}Level 2{{/i}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</pre>
|
||||
</div><!-- /.span -->
|
||||
</div><!-- /.row -->
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
<!-- Customizaton
|
||||
================================================== -->
|
||||
<section id="gridCustomization">
|
||||
<div class="page-header">
|
||||
<h1>{{_i}}Grid customization{{/i}}</h1>
|
||||
</div>
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -152,27 +298,22 @@
|
||||
<td>20px</td>
|
||||
<td>{{_i}}Negative space between columns{{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@siteWidth</code></td>
|
||||
<td><em>{{_i}}Computed sum of all columns and gutters{{/i}}</em></td>
|
||||
<td>{{_i}}Counts number of columns and gutters to set width of the <code>.container-fixed()</code> mixin{{/i}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<h3>{{_i}}Variables in LESS{{/i}}</h3>
|
||||
<p>{{_i}}Built into Bootstrap are a handful of variables for customizing the default 940px grid system, documented above. All variables for the grid are stored in variables.less.{{/i}}</p>
|
||||
</div>
|
||||
</div><!-- /.span -->
|
||||
<div class="span4">
|
||||
<h3>{{_i}}How to customize{{/i}}</h3>
|
||||
<p>{{_i}}Modifying the grid means changing the three <code>@grid*</code> variables and recompiling Bootstrap. Change the grid variables in variables.less and use one of the <a href="#compiling">four ways documented to recompile</a>. If you're adding more columns, be sure to add the CSS for those in grid.less.{{/i}}</p>
|
||||
</div>
|
||||
<p>{{_i}}Modifying the grid means changing the three <code>@grid*</code> variables and recompiling Bootstrap. Change the grid variables in variables.less and use one of the <a href="less.html#compiling">four ways documented to recompile</a>. If you're adding more columns, be sure to add the CSS for those in grid.less.{{/i}}</p>
|
||||
</div><!-- /.span -->
|
||||
<div class="span4">
|
||||
<h3>{{_i}}Staying responsive{{/i}}</h3>
|
||||
<p>{{_i}}Customization of the grid only works at the default level, the 940px grid. To maintain the responsive aspects of Bootstrap, you'll also have to customize the grids in responsive.less.{{/i}}</p>
|
||||
</div>
|
||||
</div><!-- /row -->
|
||||
</div><!-- /.span -->
|
||||
</div><!-- /.row -->
|
||||
|
||||
</section>
|
||||
|
||||
@@ -189,8 +330,8 @@
|
||||
<div class="span6">
|
||||
<h2>{{_i}}Fixed layout{{/i}}</h2>
|
||||
<p>{{_i}}The default and simple 940px-wide, centered layout for just about any website or page provided by a single <code><div class="container"></code>.{{/i}}</p>
|
||||
<div class="minicon-layout">
|
||||
<div class="minicon-layout-body"></div>
|
||||
<div class="mini-layout">
|
||||
<div class="mini-layout-body"></div>
|
||||
</div>
|
||||
<pre class="prettyprint linenums">
|
||||
<body>
|
||||
@@ -199,13 +340,13 @@
|
||||
</div>
|
||||
</body>
|
||||
</pre>
|
||||
</div><!-- /col -->
|
||||
</div><!-- /.span -->
|
||||
<div class="span6">
|
||||
<h2>{{_i}}Fluid layout{{/i}}</h2>
|
||||
<p>{{_i}}<code><div class="container-fluid"></code> gives flexible page structure, min- and max-widths, and a left-hand sidebar. It's great for apps and docs.{{/i}}</p>
|
||||
<div class="minicon-layout fluid">
|
||||
<div class="minicon-layout-sidebar"></div>
|
||||
<div class="minicon-layout-body"></div>
|
||||
<div class="mini-layout fluid">
|
||||
<div class="mini-layout-sidebar"></div>
|
||||
<div class="mini-layout-body"></div>
|
||||
</div>
|
||||
<pre class="prettyprint linenums">
|
||||
<div class="container-fluid">
|
||||
@@ -219,8 +360,8 @@
|
||||
</div>
|
||||
</div>
|
||||
</pre>
|
||||
</div><!-- /col -->
|
||||
</div><!-- /row -->
|
||||
</div><!-- /.span -->
|
||||
</div><!-- /.row -->
|
||||
</section>
|
||||
|
||||
|
||||
@@ -235,11 +376,19 @@
|
||||
<!-- Supported devices -->
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<img src="assets/img/responsive-illustrations.png" alt="Responsive devices">
|
||||
</div>
|
||||
<p><img src="assets/img/responsive-illustrations.png" alt="Responsive devices"></p>
|
||||
<h3>{{_i}}What they do{{/i}}</h3>
|
||||
<p>{{_i}}Media queries allow for custom CSS based on a number of conditions—ratios, widths, display type, etc—but usually focuses around <code>min-width</code> and <code>max-width</code>.{{/i}}</p>
|
||||
<ul>
|
||||
<li>{{_i}}Modify the width of column in our grid{{/i}}</li>
|
||||
<li>{{_i}}Stack elements instead of float wherever necessary{{/i}}</li>
|
||||
<li>{{_i}}Resize headings and text to be more appropriate for devices{{/i}}</li>
|
||||
</ul>
|
||||
<p>{{_i}}Use media queries responsibly and only as a start to your mobile audiences. For larger projects, do consider dedicated code bases and not layers of media queries.{{/i}}</p>
|
||||
</div><!-- /.span -->
|
||||
<div class="span8">
|
||||
<h2>{{_i}}Supported devices{{/i}}</h2>
|
||||
<p>{{_i}}Bootstrap supports a handful of media queries to help make your projects more appropriate on different devices and screen resolutions. Here's what's included:{{/i}}</p>
|
||||
<p>{{_i}}Bootstrap supports a handful of media queries in a single file to help make your projects more appropriate on different devices and screen resolutions. Here's what's included:{{/i}}</p>
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -256,69 +405,152 @@
|
||||
<td class="muted" colspan="2">{{_i}}Fluid columns, no fixed widths{{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{_i}}Portrait tablets{{/i}}</td>
|
||||
<td>480px to 768px</td>
|
||||
<td>{{_i}}Smartphones to tablets{{/i}}</td>
|
||||
<td>767px and below</td>
|
||||
<td class="muted" colspan="2">{{_i}}Fluid columns, no fixed widths{{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{_i}}Landscape tablets{{/i}}</td>
|
||||
<td>768px to 940px</td>
|
||||
<td>44px</td>
|
||||
<td>{{_i}}Portrait tablets{{/i}}</td>
|
||||
<td>768px and above</td>
|
||||
<td>42px</td>
|
||||
<td>20px</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{_i}}Default{{/i}}</td>
|
||||
<td>940px and up</td>
|
||||
<td>980px and up</td>
|
||||
<td>60px</td>
|
||||
<td>20px</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{_i}}Large display{{/i}}</td>
|
||||
<td>1210px and up</td>
|
||||
<td>1200px and up</td>
|
||||
<td>70px</td>
|
||||
<td>30px</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3>{{_i}}What they do{{/i}}</h3>
|
||||
<p>{{_i}}Media queries allow for custom CSS based on a number of conditions—ratios, widths, display type, etc—but usually focuses around <code>min-width</code> and <code>max-width</code>.{{/i}}</p>
|
||||
<ul>
|
||||
<li>{{_i}}Modify the width of column in our grid{{/i}}</li>
|
||||
<li>{{_i}}Stack elements instead of float wherever necessary{{/i}}</li>
|
||||
<li>{{_i}}Resize headings and text to be more appropriate for devices{{/i}}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<h3>{{_i}}Requires meta tag{{/i}}</h3>
|
||||
<p>{{_i}}To ensure devices display responsive pages properly, include the viewport meta tag.{{/i}}</p>
|
||||
<pre class="prettyprint linenums"><meta name="viewport" content="width=device-width, initial-scale=1.0"></pre>
|
||||
</div><!-- /.span -->
|
||||
</div><!-- /.row -->
|
||||
|
||||
<br>
|
||||
|
||||
<!-- Media query code -->
|
||||
<h2>{{_i}}Using the media queries{{/i}}</h2>
|
||||
<div class="row">
|
||||
<div class="span5">
|
||||
<div class="span4">
|
||||
<p>{{_i}}Bootstrap doesn't automatically include these media queries, but understanding and adding them is very easy and requires minimal setup. You have a few options for including the responsive features of Bootstrap:{{/i}}</p>
|
||||
<ol>
|
||||
<li>{{_i}}Use the compiled responsive version, bootstrap-responsive.css{{/i}}</li>
|
||||
<li>{{_i}}Add @import "responsive.less" and recompile Bootstrap{{/i}}</li>
|
||||
<li>{{_i}}Modify and recompile responsive.less as a separate{{/i}}</li>
|
||||
<li>{{_i}}Modify and recompile responsive.less as a separate file{{/i}}</li>
|
||||
</ol>
|
||||
<p>{{_i}}<strong>Why not just include it?</strong> Truth be told, not everything needs to be responsive. Instead of encouraging developers to remove this feature, we figure it best to enable it.{{/i}}</p>
|
||||
</div>
|
||||
<div class="span7">
|
||||
</div><!-- /.span -->
|
||||
<div class="span8">
|
||||
<pre class="prettyprint linenums">
|
||||
// {{_i}}Landscape phones and down{{/i}}
|
||||
@media (max-width: 480px) { ... }
|
||||
|
||||
// {{_i}}Landscape phone to portrait tablet{{/i}}
|
||||
@media (max-width: 768px) { ... }
|
||||
@media (max-width: 767px) { ... }
|
||||
|
||||
// {{_i}}Portrait tablet to landscape and desktop{{/i}}
|
||||
@media (min-width: 768px) and (max-width: 940px) { ... }
|
||||
@media (min-width: 768px) and (max-width: 979px) { ... }
|
||||
|
||||
// {{_i}}Large desktop{{/i}}
|
||||
@media (min-width: 1200px) { .. }
|
||||
@media (min-width: 1200px) { ... }
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /.span -->
|
||||
</div><!-- /.row -->
|
||||
<br>
|
||||
|
||||
<!-- Responsive utility classes -->
|
||||
<h2>{{_i}}Responsive utility classes{{/i}}</h2>
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<h3>{{_i}}What are they{{/i}}</h2>
|
||||
<p>{{_i}}For faster mobile-friendly development, use these basic utility classes for showing and hiding content by device.{{/i}}</p>
|
||||
<h3>{{_i}}When to use{{/i}}</h2>
|
||||
<p>{{_i}}Use on a limited basis and avoid creating entirely different versions of the same site. Instead, use them to complement each device's presentation.{{/i}}</p>
|
||||
<p>{{_i}}For example, you might show a <code><select></code> element for nav on mobile layouts, but not on tablets or desktops.{{/i}}</p>
|
||||
</div><!-- /.span -->
|
||||
<div class="span8">
|
||||
<h3>{{_i}}Support classes{{/i}}</h3>
|
||||
<p>{{_i}}Shown here is a table of the classes we support and their effect on a given media query layout (labeled by device). They can be found in <code>responsive.less</code>.{{/i}}</p>
|
||||
<table class="table table-bordered table-striped responsive-utilities">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{_i}}Class{{/i}}</th>
|
||||
<th>{{_i}}Phones <small>480px and below</small>{{/i}}</th>
|
||||
<th>{{_i}}Tablets <small>767px and below</small>{{/i}}</th>
|
||||
<th>{{_i}}Desktops <small>768px and above</small>{{/i}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th><code>.visible-phone</code></th>
|
||||
<td class="is-visible">{{_i}}Visible{{/i}}</td>
|
||||
<td class="is-hidden">{{_i}}Hidden{{/i}}</td>
|
||||
<td class="is-hidden">{{_i}}Hidden{{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><code>.visible-tablet</code></th>
|
||||
<td class="is-hidden">{{_i}}Hidden{{/i}}</td>
|
||||
<td class="is-visible">{{_i}}Visible{{/i}}</td>
|
||||
<td class="is-hidden">{{_i}}Hidden{{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><code>.visible-desktop</code></th>
|
||||
<td class="is-hidden">{{_i}}Hidden{{/i}}</td>
|
||||
<td class="is-hidden">{{_i}}Hidden{{/i}}</td>
|
||||
<td class="is-visible">{{_i}}Visible{{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><code>.hidden-phone</code></th>
|
||||
<td class="is-hidden">{{_i}}Hidden{{/i}}</td>
|
||||
<td class="is-visible">{{_i}}Visible{{/i}}</td>
|
||||
<td class="is-visible">{{_i}}Visible{{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><code>.hidden-tablet</code></th>
|
||||
<td class="is-visible">{{_i}}Visible{{/i}}</td>
|
||||
<td class="is-hidden">{{_i}}Hidden{{/i}}</td>
|
||||
<td class="is-visible">{{_i}}Visible{{/i}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><code>.hidden-desktop</code></th>
|
||||
<td class="is-visible">{{_i}}Visible{{/i}}</td>
|
||||
<td class="is-visible">{{_i}}Visible{{/i}}</td>
|
||||
<td class="is-hidden">{{_i}}Hidden{{/i}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>{{_i}}Test case{{/i}}</h3>
|
||||
<p>{{_i}}Resize your browser or load on different devices to test the above classes.{{/i}}</p>
|
||||
<h4>{{_i}}Visible on...{{/i}}</h4>
|
||||
<p>{{_i}}Green checkmarks indicate that class is visible in your current viewport.{{/i}}</p>
|
||||
<ul class="responsive-utilities-test">
|
||||
<li>{{_i}}Phone{{/i}}<span class="visible-phone">✔ {{_i}}Phone{{/i}}</span></li>
|
||||
<li>{{_i}}Tablet{{/i}}<span class="visible-tablet">✔ {{_i}}Tablet{{/i}}</span></li>
|
||||
<li>{{_i}}Desktop{{/i}}<span class="visible-desktop">✔ {{_i}}Desktop{{/i}}</span></li>
|
||||
</ul>
|
||||
<h4>{{_i}}Hidden on...{{/i}}</h4>
|
||||
<p>{{_i}}Here, green checkmarks indicate that class is hidden in your current viewport.{{/i}}</p>
|
||||
<ul class="responsive-utilities-test hidden-on">
|
||||
<li>{{_i}}Phone{{/i}}<span class="hidden-phone">✔ {{_i}}Phone{{/i}}</span></li>
|
||||
<li>{{_i}}Tablet{{/i}}<span class="hidden-tablet">✔ {{_i}}Tablet{{/i}}</span></li>
|
||||
<li>{{_i}}Desktop{{/i}}<span class="hidden-desktop">✔ {{_i}}Desktop{{/i}}</span></li>
|
||||
</ul>
|
||||
</div><!-- /.span -->
|
||||
</div><!-- /.row -->
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
</div><!-- /.span -->
|
||||
</div><!-- /.row -->
|
||||
</section>
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
<ul>
|
||||
<li>{{_i}}Media queries added for <strong>basic support</strong> across mobile and tablet devices{{/i}}
|
||||
<li>{{_i}}Responsive CSS is compiled separately, as bootstrap-responsive.css{{/i}}</li>
|
||||
</ul>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
|
||||
@@ -76,12 +76,14 @@
|
||||
<li>{{_i}}IE9: removed gradients and added rounded corners{{/i}}</li>
|
||||
<li>{{_i}}Updated active state to make styling clearer in button groups (new) and look better with custom transition{{/i}}</li>
|
||||
<li>{{_i}}New mixin, <code>.buttonBackground</code>, to set button gradients{{/i}}</li>
|
||||
<li>{{_i}}The <code>.secondary</code> class was removed from modal examples in our docs as it never had associated styles.{{/i}}</li>
|
||||
</ul>
|
||||
<h3>{{_i}}Forms{{/i}}</h3>
|
||||
<ul>
|
||||
<li>{{_i}}Default form style is now vertical (stacked) to use less CSS and add greater flexibility{{/i}}</li>
|
||||
<li>{{_i}}Form classes standardized with <code>.form-</code> required as a prefix{{/i}}</li>
|
||||
<li>{{_i}}New built-in form defaults for search, inline, and horizontal forms{{/i}}</li>
|
||||
<li>{{_i}}For horizontal forms, previous classes <code>.clearfix</code> and <code>.input</code> are equivalent to the new <code>.control-group</code> and <code>.controls</code>.{{/i}}</li>
|
||||
<li>{{_i}}More flexible horizontal form markup with classes for all styling, including new optional class for the <code>label</code>{{/i}}</li>
|
||||
<li>{{_i}}Form states: colors updated and customizable via new LESS variables{{/i}}</li>
|
||||
</ul>
|
||||
@@ -109,7 +111,7 @@
|
||||
</ul>
|
||||
<h3>{{_i}}Navigation{{/i}}</h3>
|
||||
<ul>
|
||||
<li>{{_i}}Tabs and pills now require the use of a new base class, <code>.nav</code>, on their <code><ul></code>{{/i}}</li>
|
||||
<li>{{_i}}Tabs and pills now require the use of a new base class, <code>.nav</code>, on their <code><ul></code> and the class names are now <code>.nav-pills</code> and <code>.nav-tabs</code>.{{/i}}</li>
|
||||
<li>{{_i}}New nav list variation added that uses the same base class, <code>.nav</code>{{/i}}</li>
|
||||
<li>{{_i}}Vertical tabs and pills have been added—just add <code>.nav-stacked</code> to the <code><ul></code>{{/i}}</li>
|
||||
<li>{{_i}}Pills were restyled to be less rounded by default{{/i}}</li>
|
||||
@@ -128,6 +130,7 @@
|
||||
<ul>
|
||||
<li>{{_i}}Updated the <code>.dropdown-menu</code> to tighten up spacing{{/i}}</li>
|
||||
<li>{{_i}}Now requires you to add a <code><span class="caret"></span></code> to show the dropdown arrow{{/i}}</li>
|
||||
<li>{{_i}}Now requires you to add a <code>data-toggle="dropdown"</code> attribute to obtain toggling behavior{{/i}}</li>
|
||||
<li>{{_i}}The navbar (fixed topbar) has brand new dropdowns. Gone are the dark versions and in their place are the standard white ones with an additional caret at their tops for clarity of position.{{/i}}</li>
|
||||
</ul>
|
||||
<h3>{{_i}}Labels{{/i}}</h3>
|
||||
@@ -144,7 +147,7 @@
|
||||
<ul>
|
||||
<li>{{_i}}New base class: <code>.alert</code> instead of <code>.alert-message</code>{{/i}}</li>
|
||||
<li>{{_i}}Class names standardized for other options, now all starting with <code>.alert-</code>{{/i}}</li>
|
||||
<li>{{_i}}Redesigned base alert styles to combine the deafult alerts and block-level alerts into one{{/i}}</li>
|
||||
<li>{{_i}}Redesigned base alert styles to combine the default alerts and block-level alerts into one{{/i}}</li>
|
||||
<li>{{_i}}Block level alert class changed: <code>.alert-block</code> instead of <code>.block-message</code>{{/i}}</li>
|
||||
</ul>
|
||||
<h3>{{_i}}Progress bars{{/i}}</h3>
|
||||
@@ -167,11 +170,19 @@
|
||||
<h1>{{_i}}Javascript plugins{{/i}}</h1>
|
||||
</div>
|
||||
<div class="alert alert-info">
|
||||
<strong>{{_i}}Heads up!{{/i}}</strong> {{_i}}We're rewritten just about everything for our plugins, so head on over to <a href="./javascript.html">the Javascript page</a> to learn more.{{/i}}
|
||||
<strong>{{_i}}Heads up!{{/i}}</strong> {{_i}}We've rewritten just about everything for our plugins, so head on over to <a href="./javascript.html">the Javascript page</a> to learn more.{{/i}}
|
||||
</div>
|
||||
<h3>{{_i}}Tooltips{{/i}}</h3>
|
||||
<ul>
|
||||
<li>{{_i}}The plugin method has been renamed from <code>twipsy()</code> to <code>tooltip()</code>, and the class name changed from <code>twipsy</code> to <code>tooltip</code>.{{/i}}</li>
|
||||
<li>{{_i}}The <code>placement</code> option value that was <code>below</code> is now <code>bottom</code>, and <code>above</code> is now <code>top</code>.{{/i}}</li>
|
||||
<li>{{_i}}The <code>animate</code> option was renamed to <code>animation</code>.{{/i}}</li>
|
||||
<li>{{_i}}The <code>html</code> option was removed, as the tooltips default to allowing HTML now.{{/i}}</li>
|
||||
</ul>
|
||||
<h3>{{_i}}Popovers{{/i}}</h3>
|
||||
<ul>
|
||||
<li>{{_i}}Child elements now properly namespaced: <code>.title</code> to <code>.popover-title</code>, <code>.inner</code> to <code>.popover-inner</code>, and <code>.content</code> to <code>.popover-content</code>.{{/i}}</li>
|
||||
<li>{{_i}}The <code>placement</code> option value that was <code>below</code> is now <code>bottom</code>, and <code>above</code> is now <code>top</code>.{{/i}}</li>
|
||||
</ul>
|
||||
<h3>{{_i}}New plugins{{/i}}</h3>
|
||||
<ul>
|
||||
|
||||
@@ -2,27 +2,28 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Bootstrap, from Twitter</title>
|
||||
<title>Upgrading · Twitter Bootstrap</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<!-- 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" href="assets/ico/apple-touch-icon.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="assets/ico/apple-touch-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="assets/ico/apple-touch-icon-114x114.png">
|
||||
<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">
|
||||
@@ -39,7 +40,7 @@
|
||||
<span class="icon-bar"></span>
|
||||
</a>
|
||||
<a class="brand" href="./index.html">Bootstrap</a>
|
||||
<div class="nav-collapse">
|
||||
<div class="nav-collapse collapse">
|
||||
<ul class="nav">
|
||||
<li class="">
|
||||
<a href="./index.html">Overview</a>
|
||||
@@ -115,7 +116,7 @@
|
||||
<ul>
|
||||
<li>Media queries added for <strong>basic support</strong> across mobile and tablet devices
|
||||
<li>Responsive CSS is compiled separately, as bootstrap-responsive.css</li>
|
||||
</ul>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
|
||||
@@ -152,12 +153,14 @@
|
||||
<li>IE9: removed gradients and added rounded corners</li>
|
||||
<li>Updated active state to make styling clearer in button groups (new) and look better with custom transition</li>
|
||||
<li>New mixin, <code>.buttonBackground</code>, to set button gradients</li>
|
||||
<li>The <code>.secondary</code> class was removed from modal examples in our docs as it never had associated styles.</li>
|
||||
</ul>
|
||||
<h3>Forms</h3>
|
||||
<ul>
|
||||
<li>Default form style is now vertical (stacked) to use less CSS and add greater flexibility</li>
|
||||
<li>Form classes standardized with <code>.form-</code> required as a prefix</li>
|
||||
<li>New built-in form defaults for search, inline, and horizontal forms</li>
|
||||
<li>For horizontal forms, previous classes <code>.clearfix</code> and <code>.input</code> are equivalent to the new <code>.control-group</code> and <code>.controls</code>.</li>
|
||||
<li>More flexible horizontal form markup with classes for all styling, including new optional class for the <code>label</code></li>
|
||||
<li>Form states: colors updated and customizable via new LESS variables</li>
|
||||
</ul>
|
||||
@@ -185,7 +188,7 @@
|
||||
</ul>
|
||||
<h3>Navigation</h3>
|
||||
<ul>
|
||||
<li>Tabs and pills now require the use of a new base class, <code>.nav</code>, on their <code><ul></code></li>
|
||||
<li>Tabs and pills now require the use of a new base class, <code>.nav</code>, on their <code><ul></code> and the class names are now <code>.nav-pills</code> and <code>.nav-tabs</code>.</li>
|
||||
<li>New nav list variation added that uses the same base class, <code>.nav</code></li>
|
||||
<li>Vertical tabs and pills have been added—just add <code>.nav-stacked</code> to the <code><ul></code></li>
|
||||
<li>Pills were restyled to be less rounded by default</li>
|
||||
@@ -204,6 +207,7 @@
|
||||
<ul>
|
||||
<li>Updated the <code>.dropdown-menu</code> to tighten up spacing</li>
|
||||
<li>Now requires you to add a <code><span class="caret"></span></code> to show the dropdown arrow</li>
|
||||
<li>Now requires you to add a <code>data-toggle="dropdown"</code> attribute to obtain toggling behavior</li>
|
||||
<li>The navbar (fixed topbar) has brand new dropdowns. Gone are the dark versions and in their place are the standard white ones with an additional caret at their tops for clarity of position.</li>
|
||||
</ul>
|
||||
<h3>Labels</h3>
|
||||
@@ -220,7 +224,7 @@
|
||||
<ul>
|
||||
<li>New base class: <code>.alert</code> instead of <code>.alert-message</code></li>
|
||||
<li>Class names standardized for other options, now all starting with <code>.alert-</code></li>
|
||||
<li>Redesigned base alert styles to combine the deafult alerts and block-level alerts into one</li>
|
||||
<li>Redesigned base alert styles to combine the default alerts and block-level alerts into one</li>
|
||||
<li>Block level alert class changed: <code>.alert-block</code> instead of <code>.block-message</code></li>
|
||||
</ul>
|
||||
<h3>Progress bars</h3>
|
||||
@@ -243,11 +247,19 @@
|
||||
<h1>Javascript plugins</h1>
|
||||
</div>
|
||||
<div class="alert alert-info">
|
||||
<strong>Heads up!</strong> We're rewritten just about everything for our plugins, so head on over to <a href="./javascript.html">the Javascript page</a> to learn more.
|
||||
<strong>Heads up!</strong> We've rewritten just about everything for our plugins, so head on over to <a href="./javascript.html">the Javascript page</a> to learn more.
|
||||
</div>
|
||||
<h3>Tooltips</h3>
|
||||
<ul>
|
||||
<li>The plugin method has been renamed from <code>twipsy()</code> to <code>tooltip()</code>, and the class name changed from <code>twipsy</code> to <code>tooltip</code>.</li>
|
||||
<li>The <code>placement</code> option value that was <code>below</code> is now <code>bottom</code>, and <code>above</code> is now <code>top</code>.</li>
|
||||
<li>The <code>animate</code> option was renamed to <code>animation</code>.</li>
|
||||
<li>The <code>html</code> option was removed, as the tooltips default to allowing HTML now.</li>
|
||||
</ul>
|
||||
<h3>Popovers</h3>
|
||||
<ul>
|
||||
<li>Child elements now properly namespaced: <code>.title</code> to <code>.popover-title</code>, <code>.inner</code> to <code>.popover-inner</code>, and <code>.content</code> to <code>.popover-content</code>.</li>
|
||||
<li>The <code>placement</code> option value that was <code>below</code> is now <code>bottom</code>, and <code>above</code> is now <code>top</code>.</li>
|
||||
</ul>
|
||||
<h3>New plugins</h3>
|
||||
<ul>
|
||||
@@ -291,5 +303,7 @@
|
||||
<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>
|
||||
|
||||
|
Antes Largura: | Altura: | Tamanho: 4.3 KiB Depois Largura: | Altura: | Tamanho: 8.6 KiB |
|
Antes Largura: | Altura: | Tamanho: 4.3 KiB Depois Largura: | Altura: | Tamanho: 14 KiB |
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"validthis": true,
|
||||
"laxcomma" : true,
|
||||
"laxbreak" : true,
|
||||
"browser" : true,
|
||||
"debug" : true,
|
||||
"boss" : true,
|
||||
"expr" : true,
|
||||
"asi" : true
|
||||
}
|
||||
@@ -5,7 +5,7 @@ These are the high-level design rules which guide the development of Bootstrap's
|
||||
|
||||
### DATA-ATTRIBUTE API
|
||||
|
||||
We believe you should be able to use all plugins provided by Bootstrap purely through the markup API without writing a single line of javascript.
|
||||
We believe you should be able to use all plugins provided by Bootstrap purely through the markup API without writing a single line of javascript. This is bootstraps first class api.
|
||||
|
||||
We acknowledge that this isn't always the most performant and sometimes it may be desirable to turn this functionality off altogether. Therefore, as of 2.0 we provide the ability to disable the data attribute API by unbinding all events on the body namespaced with `'data-api'`. This looks like this:
|
||||
|
||||
@@ -28,8 +28,8 @@ All public APIs should be single, chainable methods, and return the collection a
|
||||
All methods should accept an optional options object, a string which targets a particular method, or null which initiates the default behavior:
|
||||
|
||||
$("#myModal").modal() // initialized with defaults
|
||||
$("#myModal").modal({ keyboard: false }) // initialized with now keyboard
|
||||
$("#myModal").modal('show') // initializes and invokes show immediately afterqwe2
|
||||
$("#myModal").modal({ keyboard: false }) // initialized with no keyboard
|
||||
$("#myModal").modal('show') // initializes and invokes show immediately
|
||||
|
||||
---
|
||||
|
||||
@@ -37,7 +37,7 @@ All methods should accept an optional options object, a string which targets a p
|
||||
|
||||
Options should be sparse and add universal value. We should pick the right defaults.
|
||||
|
||||
All plugins should have a default object which can be modified to effect all instance's default options. The defaults object should be available via `$.fn.plugin.defaults`.
|
||||
All plugins should have a default object which can be modified to affect all instances' default options. The defaults object should be available via `$.fn.plugin.defaults`.
|
||||
|
||||
$.fn.modal.defaults = { … }
|
||||
|
||||
@@ -60,11 +60,17 @@ All events should have an infinitive and past participle form. The infinitive is
|
||||
show | shown
|
||||
hide | hidden
|
||||
|
||||
All infinitive events should provide preventDefault functionality. This provides the abililty to stop the execution of an action.
|
||||
|
||||
$('#myModal').on('show', function (e) {
|
||||
if (!data) return e.preventDefault() // stops modal from being shown
|
||||
})
|
||||
|
||||
---
|
||||
|
||||
### CONSTRUCTORS
|
||||
|
||||
Each plugin should expose it's raw constructor on a `Constructor` property -- accessed in the following way:
|
||||
Each plugin should expose its raw constructor on a `Constructor` property -- accessed in the following way:
|
||||
|
||||
|
||||
$.fn.popover.Constructor
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* ==========================================================
|
||||
* bootstrap-alert.js v2.0.0
|
||||
* bootstrap-alert.js v2.0.3
|
||||
* http://twitter.github.com/bootstrap/javascript.html#alerts
|
||||
* ==========================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
@@ -18,58 +18,57 @@
|
||||
* ========================================================== */
|
||||
|
||||
|
||||
!function( $ ){
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
"use strict"
|
||||
|
||||
/* ALERT CLASS DEFINITION
|
||||
* ====================== */
|
||||
|
||||
var dismiss = '[data-dismiss="alert"]'
|
||||
, Alert = function ( el ) {
|
||||
, Alert = function (el) {
|
||||
$(el).on('click', dismiss, this.close)
|
||||
}
|
||||
|
||||
Alert.prototype = {
|
||||
Alert.prototype.close = function (e) {
|
||||
var $this = $(this)
|
||||
, selector = $this.attr('data-target')
|
||||
, $parent
|
||||
|
||||
constructor: Alert
|
||||
|
||||
, close: function ( e ) {
|
||||
var $this = $(this)
|
||||
, selector = $this.attr('data-target')
|
||||
, $parent
|
||||
|
||||
if (!selector) {
|
||||
selector = $this.attr('href')
|
||||
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
|
||||
}
|
||||
|
||||
$parent = $(selector)
|
||||
$parent.trigger('close')
|
||||
|
||||
e && e.preventDefault()
|
||||
|
||||
$parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
|
||||
|
||||
$parent.removeClass('in')
|
||||
|
||||
function removeElement() {
|
||||
$parent.remove()
|
||||
$parent.trigger('closed')
|
||||
}
|
||||
|
||||
$.support.transition && $parent.hasClass('fade') ?
|
||||
$parent.on($.support.transition.end, removeElement) :
|
||||
removeElement()
|
||||
if (!selector) {
|
||||
selector = $this.attr('href')
|
||||
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
|
||||
}
|
||||
|
||||
$parent = $(selector)
|
||||
|
||||
e && e.preventDefault()
|
||||
|
||||
$parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
|
||||
|
||||
$parent.trigger(e = $.Event('close'))
|
||||
|
||||
if (e.isDefaultPrevented()) return
|
||||
|
||||
$parent.removeClass('in')
|
||||
|
||||
function removeElement() {
|
||||
$parent
|
||||
.trigger('closed')
|
||||
.remove()
|
||||
}
|
||||
|
||||
$.support.transition && $parent.hasClass('fade') ?
|
||||
$parent.on($.support.transition.end, removeElement) :
|
||||
removeElement()
|
||||
}
|
||||
|
||||
|
||||
/* ALERT PLUGIN DEFINITION
|
||||
* ======================= */
|
||||
|
||||
$.fn.alert = function ( option ) {
|
||||
$.fn.alert = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('alert')
|
||||
@@ -88,4 +87,4 @@
|
||||
$('body').on('click.alert.data-api', dismiss, Alert.prototype.close)
|
||||
})
|
||||
|
||||
}( window.jQuery )
|
||||
}(window.jQuery);
|
||||
@@ -1,5 +1,5 @@
|
||||
/* ============================================================
|
||||
* bootstrap-button.js v2.0.0
|
||||
* bootstrap-button.js v2.0.3
|
||||
* http://twitter.github.com/bootstrap/javascript.html#buttons
|
||||
* ============================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
@@ -17,58 +17,54 @@
|
||||
* limitations under the License.
|
||||
* ============================================================ */
|
||||
|
||||
!function( $ ){
|
||||
|
||||
"use strict"
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* BUTTON PUBLIC CLASS DEFINITION
|
||||
* ============================== */
|
||||
|
||||
var Button = function ( element, options ) {
|
||||
var Button = function (element, options) {
|
||||
this.$element = $(element)
|
||||
this.options = $.extend({}, $.fn.button.defaults, options)
|
||||
}
|
||||
|
||||
Button.prototype = {
|
||||
Button.prototype.setState = function (state) {
|
||||
var d = 'disabled'
|
||||
, $el = this.$element
|
||||
, data = $el.data()
|
||||
, val = $el.is('input') ? 'val' : 'html'
|
||||
|
||||
constructor: Button
|
||||
state = state + 'Text'
|
||||
data.resetText || $el.data('resetText', $el[val]())
|
||||
|
||||
, setState: function ( state ) {
|
||||
var d = 'disabled'
|
||||
, $el = this.$element
|
||||
, data = $el.data()
|
||||
, val = $el.is('input') ? 'val' : 'html'
|
||||
$el[val](data[state] || this.options[state])
|
||||
|
||||
state = state + 'Text'
|
||||
data.resetText || $el.data('resetText', $el[val]())
|
||||
// push to event loop to allow forms to submit
|
||||
setTimeout(function () {
|
||||
state == 'loadingText' ?
|
||||
$el.addClass(d).attr(d, d) :
|
||||
$el.removeClass(d).removeAttr(d)
|
||||
}, 0)
|
||||
}
|
||||
|
||||
$el[val](data[state] || this.options[state])
|
||||
Button.prototype.toggle = function () {
|
||||
var $parent = this.$element.parent('[data-toggle="buttons-radio"]')
|
||||
|
||||
// push to event loop to allow forms to submit
|
||||
setTimeout(function () {
|
||||
state == 'loadingText' ?
|
||||
$el.addClass(d).attr(d, d) :
|
||||
$el.removeClass(d).removeAttr(d)
|
||||
}, 0)
|
||||
}
|
||||
|
||||
, toggle: function () {
|
||||
var $parent = this.$element.parent('[data-toggle="buttons-radio"]')
|
||||
|
||||
$parent && $parent
|
||||
.find('.active')
|
||||
.removeClass('active')
|
||||
|
||||
this.$element.toggleClass('active')
|
||||
}
|
||||
$parent && $parent
|
||||
.find('.active')
|
||||
.removeClass('active')
|
||||
|
||||
this.$element.toggleClass('active')
|
||||
}
|
||||
|
||||
|
||||
/* BUTTON PLUGIN DEFINITION
|
||||
* ======================== */
|
||||
|
||||
$.fn.button = function ( option ) {
|
||||
$.fn.button = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('button')
|
||||
@@ -91,8 +87,10 @@
|
||||
|
||||
$(function () {
|
||||
$('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) {
|
||||
$(e.target).button('toggle')
|
||||
var $btn = $(e.target)
|
||||
if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
|
||||
$btn.button('toggle')
|
||||
})
|
||||
})
|
||||
|
||||
}( window.jQuery )
|
||||
}(window.jQuery);
|
||||
@@ -1,5 +1,5 @@
|
||||
/* ==========================================================
|
||||
* bootstrap-carousel.js v2.0.0
|
||||
* bootstrap-carousel.js v2.0.3
|
||||
* http://twitter.github.com/bootstrap/javascript.html#carousel
|
||||
* ==========================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
@@ -18,23 +18,30 @@
|
||||
* ========================================================== */
|
||||
|
||||
|
||||
!function( $ ){
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
"use strict"
|
||||
|
||||
/* CAROUSEL CLASS DEFINITION
|
||||
* ========================= */
|
||||
|
||||
var Carousel = function (element, options) {
|
||||
this.$element = $(element)
|
||||
this.options = $.extend({}, $.fn.carousel.defaults, options)
|
||||
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))
|
||||
}
|
||||
|
||||
Carousel.prototype = {
|
||||
|
||||
cycle: function () {
|
||||
this.interval = setInterval($.proxy(this.next, this), this.options.interval)
|
||||
cycle: function (e) {
|
||||
if (!e) this.paused = false
|
||||
this.options.interval
|
||||
&& !this.paused
|
||||
&& (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
|
||||
return this
|
||||
}
|
||||
|
||||
@@ -59,8 +66,10 @@
|
||||
return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos]))
|
||||
}
|
||||
|
||||
, pause: function () {
|
||||
, pause: function (e) {
|
||||
if (!e) this.paused = true
|
||||
clearInterval(this.interval)
|
||||
this.interval = null
|
||||
return this
|
||||
}
|
||||
|
||||
@@ -81,6 +90,7 @@
|
||||
, direction = type == 'next' ? 'left' : 'right'
|
||||
, fallback = type == 'next' ? 'first' : 'last'
|
||||
, that = this
|
||||
, e = $.Event('slide')
|
||||
|
||||
this.sliding = true
|
||||
|
||||
@@ -88,24 +98,28 @@
|
||||
|
||||
$next = $next.length ? $next : this.$element.find('.item')[fallback]()
|
||||
|
||||
if (!$.support.transition && this.$element.hasClass('slide')) {
|
||||
this.$element.trigger('slide')
|
||||
$active.removeClass('active')
|
||||
$next.addClass('active')
|
||||
this.sliding = false
|
||||
this.$element.trigger('slid')
|
||||
} else {
|
||||
if ($next.hasClass('active')) return
|
||||
|
||||
if ($.support.transition && this.$element.hasClass('slide')) {
|
||||
this.$element.trigger(e)
|
||||
if (e.isDefaultPrevented()) return
|
||||
$next.addClass(type)
|
||||
$next[0].offsetWidth // force reflow
|
||||
$active.addClass(direction)
|
||||
$next.addClass(direction)
|
||||
this.$element.trigger('slide')
|
||||
this.$element.one($.support.transition.end, function () {
|
||||
$next.removeClass([type, direction].join(' ')).addClass('active')
|
||||
$active.removeClass(['active', direction].join(' '))
|
||||
that.sliding = false
|
||||
setTimeout(function () { that.$element.trigger('slid') }, 0)
|
||||
})
|
||||
} else {
|
||||
this.$element.trigger(e)
|
||||
if (e.isDefaultPrevented()) return
|
||||
$active.removeClass('active')
|
||||
$next.addClass('active')
|
||||
this.sliding = false
|
||||
this.$element.trigger('slid')
|
||||
}
|
||||
|
||||
isCycling && this.cycle()
|
||||
@@ -119,20 +133,21 @@
|
||||
/* CAROUSEL PLUGIN DEFINITION
|
||||
* ========================== */
|
||||
|
||||
$.fn.carousel = function ( option ) {
|
||||
$.fn.carousel = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('carousel')
|
||||
, options = typeof option == 'object' && option
|
||||
, options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option)
|
||||
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 data.cycle()
|
||||
else if (options.interval) data.cycle()
|
||||
})
|
||||
}
|
||||
|
||||
$.fn.carousel.defaults = {
|
||||
interval: 5000
|
||||
, pause: 'hover'
|
||||
}
|
||||
|
||||
$.fn.carousel.Constructor = Carousel
|
||||
@@ -151,4 +166,4 @@
|
||||
})
|
||||
})
|
||||
|
||||
}( window.jQuery )
|
||||
}(window.jQuery);
|
||||
@@ -1,5 +1,5 @@
|
||||
/* =============================================================
|
||||
* bootstrap-collapse.js v2.0.0
|
||||
* bootstrap-collapse.js v2.0.3
|
||||
* http://twitter.github.com/bootstrap/javascript.html#collapse
|
||||
* =============================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
@@ -17,16 +17,21 @@
|
||||
* limitations under the License.
|
||||
* ============================================================ */
|
||||
|
||||
!function( $ ){
|
||||
|
||||
"use strict"
|
||||
!function ($) {
|
||||
|
||||
var Collapse = function ( element, options ) {
|
||||
this.$element = $(element)
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* COLLAPSE PUBLIC CLASS DEFINITION
|
||||
* ================================ */
|
||||
|
||||
var Collapse = function (element, options) {
|
||||
this.$element = $(element)
|
||||
this.options = $.extend({}, $.fn.collapse.defaults, options)
|
||||
|
||||
if (this.options["parent"]) {
|
||||
this.$parent = $(this.options["parent"])
|
||||
if (this.options.parent) {
|
||||
this.$parent = $(this.options.parent)
|
||||
}
|
||||
|
||||
this.options.toggle && this.toggle()
|
||||
@@ -42,31 +47,39 @@
|
||||
}
|
||||
|
||||
, show: function () {
|
||||
var dimension = this.dimension()
|
||||
, scroll = $.camelCase(['scroll', dimension].join('-'))
|
||||
, actives = this.$parent && this.$parent.find('.in')
|
||||
var dimension
|
||||
, scroll
|
||||
, actives
|
||||
, hasData
|
||||
|
||||
if (this.transitioning) return
|
||||
|
||||
dimension = this.dimension()
|
||||
scroll = $.camelCase(['scroll', dimension].join('-'))
|
||||
actives = this.$parent && this.$parent.find('> .accordion-group > .in')
|
||||
|
||||
if (actives && actives.length) {
|
||||
hasData = actives.data('collapse')
|
||||
if (hasData && hasData.transitioning) return
|
||||
actives.collapse('hide')
|
||||
hasData || actives.data('collapse', null)
|
||||
}
|
||||
|
||||
this.$element[dimension](0)
|
||||
this.transition('addClass', 'show', 'shown')
|
||||
this.transition('addClass', $.Event('show'), 'shown')
|
||||
this.$element[dimension](this.$element[0][scroll])
|
||||
|
||||
}
|
||||
|
||||
, hide: function () {
|
||||
var dimension = this.dimension()
|
||||
var dimension
|
||||
if (this.transitioning) return
|
||||
dimension = this.dimension()
|
||||
this.reset(this.$element[dimension]())
|
||||
this.transition('removeClass', 'hide', 'hidden')
|
||||
this.transition('removeClass', $.Event('hide'), 'hidden')
|
||||
this.$element[dimension](0)
|
||||
}
|
||||
|
||||
, reset: function ( size ) {
|
||||
, reset: function (size) {
|
||||
var dimension = this.dimension()
|
||||
|
||||
this.$element
|
||||
@@ -74,35 +87,43 @@
|
||||
[dimension](size || 'auto')
|
||||
[0].offsetWidth
|
||||
|
||||
this.$element.addClass('collapse')
|
||||
this.$element[size !== null ? 'addClass' : 'removeClass']('collapse')
|
||||
|
||||
return this
|
||||
}
|
||||
|
||||
, transition: function ( method, startEvent, completeEvent ) {
|
||||
, transition: function (method, startEvent, completeEvent) {
|
||||
var that = this
|
||||
, complete = function () {
|
||||
if (startEvent == 'show') that.reset()
|
||||
if (startEvent.type == 'show') that.reset()
|
||||
that.transitioning = 0
|
||||
that.$element.trigger(completeEvent)
|
||||
}
|
||||
|
||||
this.$element
|
||||
.trigger(startEvent)
|
||||
[method]('in')
|
||||
this.$element.trigger(startEvent)
|
||||
|
||||
if (startEvent.isDefaultPrevented()) return
|
||||
|
||||
this.transitioning = 1
|
||||
|
||||
this.$element[method]('in')
|
||||
|
||||
$.support.transition && this.$element.hasClass('collapse') ?
|
||||
this.$element.one($.support.transition.end, complete) :
|
||||
complete()
|
||||
}
|
||||
}
|
||||
|
||||
, toggle: function () {
|
||||
this[this.$element.hasClass('in') ? 'hide' : 'show']()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* COLLAPSIBLE PLUGIN DEFINITION
|
||||
|
||||
/* COLLAPSIBLE PLUGIN DEFINITION
|
||||
* ============================== */
|
||||
|
||||
$.fn.collapse = function ( option ) {
|
||||
$.fn.collapse = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('collapse')
|
||||
@@ -133,4 +154,4 @@
|
||||
})
|
||||
})
|
||||
|
||||
}( window.jQuery )
|
||||
}(window.jQuery);
|
||||
@@ -1,5 +1,5 @@
|
||||
/* ============================================================
|
||||
* bootstrap-dropdown.js v2.0.0
|
||||
* bootstrap-dropdown.js v2.0.3
|
||||
* http://twitter.github.com/bootstrap/javascript.html#dropdowns
|
||||
* ============================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
@@ -18,15 +18,16 @@
|
||||
* ============================================================ */
|
||||
|
||||
|
||||
!function( $ ){
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
"use strict"
|
||||
|
||||
/* DROPDOWN CLASS DEFINITION
|
||||
* ========================= */
|
||||
|
||||
var toggle = '[data-toggle="dropdown"]'
|
||||
, Dropdown = function ( element ) {
|
||||
, Dropdown = function (element) {
|
||||
var $el = $(element).on('click.dropdown.data-api', this.toggle)
|
||||
$('html').on('click.dropdown.data-api', function () {
|
||||
$el.parent().removeClass('open')
|
||||
@@ -37,12 +38,16 @@
|
||||
|
||||
constructor: Dropdown
|
||||
|
||||
, toggle: function ( e ) {
|
||||
, toggle: function (e) {
|
||||
var $this = $(this)
|
||||
, selector = $this.attr('data-target')
|
||||
, $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
|
||||
@@ -54,7 +59,8 @@
|
||||
isActive = $parent.hasClass('open')
|
||||
|
||||
clearMenus()
|
||||
!isActive && $parent.toggleClass('open')
|
||||
|
||||
if (!isActive) $parent.toggleClass('open')
|
||||
|
||||
return false
|
||||
}
|
||||
@@ -69,7 +75,7 @@
|
||||
/* DROPDOWN PLUGIN DEFINITION
|
||||
* ========================== */
|
||||
|
||||
$.fn.dropdown = function ( option ) {
|
||||
$.fn.dropdown = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('dropdown')
|
||||
@@ -86,7 +92,9 @@
|
||||
|
||||
$(function () {
|
||||
$('html').on('click.dropdown.data-api', clearMenus)
|
||||
$('body').on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle)
|
||||
$('body')
|
||||
.on('click.dropdown', '.dropdown form', function (e) { e.stopPropagation() })
|
||||
.on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle)
|
||||
})
|
||||
|
||||
}( window.jQuery )
|
||||
}(window.jQuery);
|
||||
@@ -1,5 +1,5 @@
|
||||
/* =========================================================
|
||||
* bootstrap-modal.js v2.0.0
|
||||
* bootstrap-modal.js v2.0.3
|
||||
* http://twitter.github.com/bootstrap/javascript.html#modals
|
||||
* =========================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
@@ -18,15 +18,16 @@
|
||||
* ========================================================= */
|
||||
|
||||
|
||||
!function( $ ){
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
"use strict"
|
||||
|
||||
/* MODAL CLASS DEFINITION
|
||||
* ====================== */
|
||||
|
||||
var Modal = function ( content, options ) {
|
||||
this.options = $.extend({}, $.fn.modal.defaults, options)
|
||||
var Modal = function (content, options) {
|
||||
this.options = options
|
||||
this.$element = $(content)
|
||||
.delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
|
||||
}
|
||||
@@ -41,19 +42,23 @@
|
||||
|
||||
, show: function () {
|
||||
var that = this
|
||||
, e = $.Event('show')
|
||||
|
||||
if (this.isShown) return
|
||||
this.$element.trigger(e)
|
||||
|
||||
if (this.isShown || e.isDefaultPrevented()) return
|
||||
|
||||
$('body').addClass('modal-open')
|
||||
|
||||
this.isShown = true
|
||||
this.$element.trigger('show')
|
||||
|
||||
escape.call(this)
|
||||
backdrop.call(this, function () {
|
||||
var transition = $.support.transition && that.$element.hasClass('fade')
|
||||
|
||||
!that.$element.parent().length && that.$element.appendTo(document.body) //don't move modals dom position
|
||||
if (!that.$element.parent().length) {
|
||||
that.$element.appendTo(document.body) //don't move modals dom position
|
||||
}
|
||||
|
||||
that.$element
|
||||
.show()
|
||||
@@ -71,21 +76,24 @@
|
||||
})
|
||||
}
|
||||
|
||||
, hide: function ( e ) {
|
||||
, hide: function (e) {
|
||||
e && e.preventDefault()
|
||||
|
||||
if (!this.isShown) return
|
||||
|
||||
var that = this
|
||||
|
||||
e = $.Event('hide')
|
||||
|
||||
this.$element.trigger(e)
|
||||
|
||||
if (!this.isShown || e.isDefaultPrevented()) return
|
||||
|
||||
this.isShown = false
|
||||
|
||||
$('body').removeClass('modal-open')
|
||||
|
||||
escape.call(this)
|
||||
|
||||
this.$element
|
||||
.trigger('hide')
|
||||
.removeClass('in')
|
||||
this.$element.removeClass('in')
|
||||
|
||||
$.support.transition && this.$element.hasClass('fade') ?
|
||||
hideWithTransition.call(this) :
|
||||
@@ -111,7 +119,7 @@
|
||||
})
|
||||
}
|
||||
|
||||
function hideModal( that ) {
|
||||
function hideModal(that) {
|
||||
this.$element
|
||||
.hide()
|
||||
.trigger('hidden')
|
||||
@@ -119,7 +127,7 @@
|
||||
backdrop.call(this)
|
||||
}
|
||||
|
||||
function backdrop( callback ) {
|
||||
function backdrop(callback) {
|
||||
var that = this
|
||||
, animate = this.$element.hasClass('fade') ? 'fade' : ''
|
||||
|
||||
@@ -173,20 +181,21 @@
|
||||
/* MODAL PLUGIN DEFINITION
|
||||
* ======================= */
|
||||
|
||||
$.fn.modal = function ( option ) {
|
||||
$.fn.modal = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('modal')
|
||||
, options = typeof option == 'object' && option
|
||||
, options = $.extend({}, $.fn.modal.defaults, $this.data(), typeof option == 'object' && option)
|
||||
if (!data) $this.data('modal', (data = new Modal(this, options)))
|
||||
if (typeof option == 'string') data[option]()
|
||||
else data.show()
|
||||
else if (options.show) data.show()
|
||||
})
|
||||
}
|
||||
|
||||
$.fn.modal.defaults = {
|
||||
backdrop: true
|
||||
, keyboard: true
|
||||
, show: true
|
||||
}
|
||||
|
||||
$.fn.modal.Constructor = Modal
|
||||
@@ -206,4 +215,4 @@
|
||||
})
|
||||
})
|
||||
|
||||
}( window.jQuery )
|
||||
}(window.jQuery);
|
||||
@@ -1,5 +1,5 @@
|
||||
/* ===========================================================
|
||||
* bootstrap-popover.js v2.0.0
|
||||
* bootstrap-popover.js v2.0.3
|
||||
* http://twitter.github.com/bootstrap/javascript.html#popovers
|
||||
* ===========================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
@@ -18,14 +18,19 @@
|
||||
* =========================================================== */
|
||||
|
||||
|
||||
!function( $ ) {
|
||||
!function ($) {
|
||||
|
||||
"use strict"
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* POPOVER PUBLIC CLASS DEFINITION
|
||||
* =============================== */
|
||||
|
||||
var Popover = function ( element, options ) {
|
||||
this.init('popover', element, options)
|
||||
}
|
||||
|
||||
|
||||
/* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js
|
||||
========================================== */
|
||||
|
||||
@@ -38,8 +43,8 @@
|
||||
, title = this.getTitle()
|
||||
, content = this.getContent()
|
||||
|
||||
$tip.find('.popover-title')[ $.type(title) == 'object' ? 'append' : 'html' ](title)
|
||||
$tip.find('.popover-content > *')[ $.type(content) == 'object' ? 'append' : 'html' ](content)
|
||||
$tip.find('.popover-title')[this.isHTML(title) ? 'html' : 'text'](title)
|
||||
$tip.find('.popover-content > *')[this.isHTML(content) ? 'html' : 'text'](content)
|
||||
|
||||
$tip.removeClass('fade top bottom left right in')
|
||||
}
|
||||
@@ -56,12 +61,10 @@
|
||||
content = $e.attr('data-content')
|
||||
|| (typeof o.content == 'function' ? o.content.call($e[0]) : o.content)
|
||||
|
||||
content = content.toString().replace(/(^\s*|\s*$)/, "")
|
||||
|
||||
return content
|
||||
}
|
||||
|
||||
, tip: function() {
|
||||
, tip: function () {
|
||||
if (!this.$tip) {
|
||||
this.$tip = $(this.options.template)
|
||||
}
|
||||
@@ -74,7 +77,7 @@
|
||||
/* POPOVER PLUGIN DEFINITION
|
||||
* ======================= */
|
||||
|
||||
$.fn.popover = function ( option ) {
|
||||
$.fn.popover = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('popover')
|
||||
@@ -92,4 +95,4 @@
|
||||
, 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>'
|
||||
})
|
||||
|
||||
}( window.jQuery )
|
||||
}(window.jQuery);
|
||||
@@ -1,5 +1,5 @@
|
||||
/* =============================================================
|
||||
* bootstrap-scrollspy.js v2.0.0
|
||||
* bootstrap-scrollspy.js v2.0.3
|
||||
* http://twitter.github.com/bootstrap/javascript.html#scrollspy
|
||||
* =============================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
@@ -17,9 +17,11 @@
|
||||
* limitations under the License.
|
||||
* ============================================================== */
|
||||
|
||||
!function ( $ ) {
|
||||
|
||||
"use strict"
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* SCROLLSPY CLASS DEFINITION
|
||||
* ========================== */
|
||||
@@ -43,25 +45,43 @@
|
||||
constructor: ScrollSpy
|
||||
|
||||
, refresh: function () {
|
||||
this.targets = this.$body
|
||||
var self = this
|
||||
, $targets
|
||||
|
||||
this.offsets = $([])
|
||||
this.targets = $([])
|
||||
|
||||
$targets = this.$body
|
||||
.find(this.selector)
|
||||
.map(function () {
|
||||
var href = $(this).attr('href')
|
||||
return /^#\w/.test(href) && $(href).length ? href : null
|
||||
var $el = $(this)
|
||||
, href = $el.data('target') || $el.attr('href')
|
||||
, $href = /^#\w/.test(href) && $(href)
|
||||
return ( $href
|
||||
&& href.length
|
||||
&& [[ $href.position().top, href ]] ) || null
|
||||
})
|
||||
.sort(function (a, b) { return a[0] - b[0] })
|
||||
.each(function () {
|
||||
self.offsets.push(this[0])
|
||||
self.targets.push(this[1])
|
||||
})
|
||||
|
||||
this.offsets = $.map(this.targets, function (id) {
|
||||
return $(id).position().top
|
||||
})
|
||||
}
|
||||
|
||||
, process: function () {
|
||||
var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
|
||||
, scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight
|
||||
, maxScroll = scrollHeight - this.$scrollElement.height()
|
||||
, offsets = this.offsets
|
||||
, targets = this.targets
|
||||
, activeTarget = this.activeTarget
|
||||
, i
|
||||
|
||||
if (scrollTop >= maxScroll) {
|
||||
return activeTarget != (i = targets.last()[0])
|
||||
&& this.activate ( i )
|
||||
}
|
||||
|
||||
for (i = offsets.length; i--;) {
|
||||
activeTarget != targets[i]
|
||||
&& scrollTop >= offsets[i]
|
||||
@@ -72,21 +92,27 @@
|
||||
|
||||
, activate: function (target) {
|
||||
var active
|
||||
, selector
|
||||
|
||||
this.activeTarget = target
|
||||
|
||||
this.$body
|
||||
.find(this.selector).parent('.active')
|
||||
$(this.selector)
|
||||
.parent('.active')
|
||||
.removeClass('active')
|
||||
|
||||
active = this.$body
|
||||
.find(this.selector + '[href="' + target + '"]')
|
||||
selector = this.selector
|
||||
+ '[data-target="' + target + '"],'
|
||||
+ this.selector + '[href="' + target + '"]'
|
||||
|
||||
active = $(selector)
|
||||
.parent('li')
|
||||
.addClass('active')
|
||||
|
||||
if ( active.parent('.dropdown-menu') ) {
|
||||
active.closest('li.dropdown').addClass('active')
|
||||
if (active.parent('.dropdown-menu')) {
|
||||
active = active.closest('li.dropdown').addClass('active')
|
||||
}
|
||||
|
||||
active.trigger('activate')
|
||||
}
|
||||
|
||||
}
|
||||
@@ -122,4 +148,4 @@
|
||||
})
|
||||
})
|
||||
|
||||
}( window.jQuery )
|
||||
}(window.jQuery);
|
||||
@@ -1,5 +1,5 @@
|
||||
/* ========================================================
|
||||
* bootstrap-tab.js v2.0.0
|
||||
* bootstrap-tab.js v2.0.3
|
||||
* http://twitter.github.com/bootstrap/javascript.html#tabs
|
||||
* ========================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
@@ -18,9 +18,10 @@
|
||||
* ======================================================== */
|
||||
|
||||
|
||||
!function( $ ){
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
"use strict"
|
||||
|
||||
/* TAB CLASS DEFINITION
|
||||
* ==================== */
|
||||
@@ -39,6 +40,7 @@
|
||||
, selector = $this.attr('data-target')
|
||||
, previous
|
||||
, $target
|
||||
, e
|
||||
|
||||
if (!selector) {
|
||||
selector = $this.attr('href')
|
||||
@@ -49,11 +51,14 @@
|
||||
|
||||
previous = $ul.find('.active a').last()[0]
|
||||
|
||||
$this.trigger({
|
||||
type: 'show'
|
||||
, relatedTarget: previous
|
||||
e = $.Event('show', {
|
||||
relatedTarget: previous
|
||||
})
|
||||
|
||||
$this.trigger(e)
|
||||
|
||||
if (e.isDefaultPrevented()) return
|
||||
|
||||
$target = $(selector)
|
||||
|
||||
this.activate($this.parent('li'), $ul)
|
||||
@@ -127,4 +132,4 @@
|
||||
})
|
||||
})
|
||||
|
||||
}( window.jQuery )
|
||||
}(window.jQuery);
|
||||
@@ -1,5 +1,5 @@
|
||||
/* ===========================================================
|
||||
* bootstrap-tooltip.js v2.0.0
|
||||
* bootstrap-tooltip.js v2.0.3
|
||||
* http://twitter.github.com/bootstrap/javascript.html#tooltips
|
||||
* Inspired by the original jQuery.tipsy by Jason Frame
|
||||
* ===========================================================
|
||||
@@ -18,14 +18,16 @@
|
||||
* limitations under the License.
|
||||
* ========================================================== */
|
||||
|
||||
!function( $ ) {
|
||||
|
||||
"use strict"
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* TOOLTIP PUBLIC CLASS DEFINITION
|
||||
* =============================== */
|
||||
|
||||
var Tooltip = function ( element, options ) {
|
||||
var Tooltip = function (element, options) {
|
||||
this.init('tooltip', element, options)
|
||||
}
|
||||
|
||||
@@ -33,7 +35,7 @@
|
||||
|
||||
constructor: Tooltip
|
||||
|
||||
, init: function ( type, element, options ) {
|
||||
, init: function (type, element, options) {
|
||||
var eventIn
|
||||
, eventOut
|
||||
|
||||
@@ -54,7 +56,7 @@
|
||||
this.fixTitle()
|
||||
}
|
||||
|
||||
, getOptions: function ( options ) {
|
||||
, getOptions: function (options) {
|
||||
options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data())
|
||||
|
||||
if (options.delay && typeof options.delay == 'number') {
|
||||
@@ -67,34 +69,28 @@
|
||||
return options
|
||||
}
|
||||
|
||||
, enter: function ( e ) {
|
||||
, enter: function (e) {
|
||||
var self = $(e.currentTarget)[this.type](this._options).data(this.type)
|
||||
|
||||
if (!self.options.delay || !self.options.delay.show) {
|
||||
self.show()
|
||||
} else {
|
||||
self.hoverState = 'in'
|
||||
setTimeout(function() {
|
||||
if (self.hoverState == 'in') {
|
||||
self.show()
|
||||
}
|
||||
}, self.options.delay.show)
|
||||
}
|
||||
if (!self.options.delay || !self.options.delay.show) return self.show()
|
||||
|
||||
clearTimeout(this.timeout)
|
||||
self.hoverState = 'in'
|
||||
this.timeout = setTimeout(function() {
|
||||
if (self.hoverState == 'in') self.show()
|
||||
}, self.options.delay.show)
|
||||
}
|
||||
|
||||
, leave: function ( e ) {
|
||||
, leave: function (e) {
|
||||
var self = $(e.currentTarget)[this.type](this._options).data(this.type)
|
||||
|
||||
if (!self.options.delay || !self.options.delay.hide) {
|
||||
self.hide()
|
||||
} else {
|
||||
self.hoverState = 'out'
|
||||
setTimeout(function() {
|
||||
if (self.hoverState == 'out') {
|
||||
self.hide()
|
||||
}
|
||||
}, self.options.delay.hide)
|
||||
}
|
||||
if (!self.options.delay || !self.options.delay.hide) return self.hide()
|
||||
|
||||
clearTimeout(this.timeout)
|
||||
self.hoverState = 'out'
|
||||
this.timeout = setTimeout(function() {
|
||||
if (self.hoverState == 'out') self.hide()
|
||||
}, self.options.delay.hide)
|
||||
}
|
||||
|
||||
, show: function () {
|
||||
@@ -152,9 +148,20 @@
|
||||
}
|
||||
}
|
||||
|
||||
, 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)
|
||||
}
|
||||
|
||||
, setContent: function () {
|
||||
var $tip = this.tip()
|
||||
$tip.find('.tooltip-inner').html(this.getTitle())
|
||||
, title = this.getTitle()
|
||||
|
||||
$tip.find('.tooltip-inner')[this.isHTML(title) ? 'html' : 'text'](title)
|
||||
$tip.removeClass('fade in top bottom left right')
|
||||
}
|
||||
|
||||
@@ -206,8 +213,6 @@
|
||||
title = $e.attr('data-original-title')
|
||||
|| (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
|
||||
|
||||
title = title.toString().replace(/(^\s*|\s*$)/, "")
|
||||
|
||||
return title
|
||||
}
|
||||
|
||||
@@ -259,12 +264,12 @@
|
||||
|
||||
$.fn.tooltip.defaults = {
|
||||
animation: true
|
||||
, delay: 0
|
||||
, selector: false
|
||||
, placement: 'top'
|
||||
, selector: false
|
||||
, template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
|
||||
, trigger: 'hover'
|
||||
, title: ''
|
||||
, template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
|
||||
, delay: 0
|
||||
}
|
||||
|
||||
}( window.jQuery )
|
||||
}(window.jQuery);
|
||||
@@ -1,5 +1,5 @@
|
||||
/* ===================================================
|
||||
* bootstrap-transition.js v2.0.0
|
||||
* bootstrap-transition.js v2.0.3
|
||||
* http://twitter.github.com/bootstrap/javascript.html#transitions
|
||||
* ===================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
@@ -17,35 +17,45 @@
|
||||
* limitations under the License.
|
||||
* ========================================================== */
|
||||
|
||||
!function( $ ) {
|
||||
|
||||
!function ($) {
|
||||
|
||||
$(function () {
|
||||
|
||||
"use strict"
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
/* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
|
||||
|
||||
/* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
|
||||
* ======================================================= */
|
||||
|
||||
$.support.transition = (function () {
|
||||
var thisBody = document.body || document.documentElement
|
||||
, thisStyle = thisBody.style
|
||||
, support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined
|
||||
|
||||
return support && {
|
||||
end: (function () {
|
||||
var transitionEnd = "TransitionEnd"
|
||||
if ( $.browser.webkit ) {
|
||||
transitionEnd = "webkitTransitionEnd"
|
||||
} else if ( $.browser.mozilla ) {
|
||||
transitionEnd = "transitionend"
|
||||
} else if ( $.browser.opera ) {
|
||||
transitionEnd = "oTransitionEnd"
|
||||
var transitionEnd = (function () {
|
||||
|
||||
var el = document.createElement('bootstrap')
|
||||
, transEndEventNames = {
|
||||
'WebkitTransition' : 'webkitTransitionEnd'
|
||||
, 'MozTransition' : 'transitionend'
|
||||
, 'OTransition' : 'oTransitionEnd'
|
||||
, 'msTransition' : 'MSTransitionEnd'
|
||||
, 'transition' : 'transitionend'
|
||||
}
|
||||
, name
|
||||
|
||||
for (name in transEndEventNames){
|
||||
if (el.style[name] !== undefined) {
|
||||
return transEndEventNames[name]
|
||||
}
|
||||
return transitionEnd
|
||||
}())
|
||||
}
|
||||
|
||||
}())
|
||||
|
||||
return transitionEnd && {
|
||||
end: transitionEnd
|
||||
}
|
||||
|
||||
})()
|
||||
|
||||
})
|
||||
|
||||
}( window.jQuery )
|
||||
|
||||
}(window.jQuery);
|
||||
@@ -1,5 +1,5 @@
|
||||
/* =============================================================
|
||||
* bootstrap-typeahead.js v2.0.0
|
||||
* bootstrap-typeahead.js v2.0.3
|
||||
* http://twitter.github.com/bootstrap/javascript.html#typeahead
|
||||
* =============================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
@@ -17,16 +17,22 @@
|
||||
* limitations under the License.
|
||||
* ============================================================ */
|
||||
|
||||
!function( $ ){
|
||||
|
||||
"use strict"
|
||||
!function($){
|
||||
|
||||
var Typeahead = function ( element, options ) {
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* TYPEAHEAD PUBLIC CLASS DEFINITION
|
||||
* ================================= */
|
||||
|
||||
var Typeahead = function (element, options) {
|
||||
this.$element = $(element)
|
||||
this.options = $.extend({}, $.fn.typeahead.defaults, options)
|
||||
this.matcher = this.options.matcher || this.matcher
|
||||
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.shown = false
|
||||
@@ -39,12 +45,18 @@
|
||||
|
||||
, select: function () {
|
||||
var val = this.$menu.find('.active').attr('data-value')
|
||||
this.$element.val(val)
|
||||
this.$element
|
||||
.val(this.updater(val))
|
||||
.change()
|
||||
return this.hide()
|
||||
}
|
||||
|
||||
, updater: function (item) {
|
||||
return item
|
||||
}
|
||||
|
||||
, show: function () {
|
||||
var pos = $.extend({}, this.$element.offset(), {
|
||||
var pos = $.extend({}, this.$element.position(), {
|
||||
height: this.$element[0].offsetHeight
|
||||
})
|
||||
|
||||
@@ -76,7 +88,7 @@
|
||||
}
|
||||
|
||||
items = $.grep(this.source, function (item) {
|
||||
if (that.matcher(item)) return item
|
||||
return that.matcher(item)
|
||||
})
|
||||
|
||||
items = this.sorter(items)
|
||||
@@ -108,7 +120,8 @@
|
||||
}
|
||||
|
||||
, highlighter: function (item) {
|
||||
return item.replace(new RegExp('(' + this.query + ')', 'ig'), function ($1, match) {
|
||||
var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&')
|
||||
return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
|
||||
return '<strong>' + match + '</strong>'
|
||||
})
|
||||
}
|
||||
@@ -165,9 +178,6 @@
|
||||
}
|
||||
|
||||
, keyup: function (e) {
|
||||
e.stopPropagation()
|
||||
e.preventDefault()
|
||||
|
||||
switch(e.keyCode) {
|
||||
case 40: // down arrow
|
||||
case 38: // up arrow
|
||||
@@ -180,6 +190,7 @@
|
||||
break
|
||||
|
||||
case 27: // escape
|
||||
if (!this.shown) return
|
||||
this.hide()
|
||||
break
|
||||
|
||||
@@ -187,10 +198,11 @@
|
||||
this.lookup()
|
||||
}
|
||||
|
||||
e.stopPropagation()
|
||||
e.preventDefault()
|
||||
}
|
||||
|
||||
, keypress: function (e) {
|
||||
e.stopPropagation()
|
||||
if (!this.shown) return
|
||||
|
||||
switch(e.keyCode) {
|
||||
@@ -201,21 +213,23 @@
|
||||
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()
|
||||
}
|
||||
|
||||
, blur: function (e) {
|
||||
var that = this
|
||||
e.stopPropagation()
|
||||
e.preventDefault()
|
||||
setTimeout(function () { that.hide() }, 150)
|
||||
}
|
||||
|
||||
@@ -236,7 +250,7 @@
|
||||
/* TYPEAHEAD PLUGIN DEFINITION
|
||||
* =========================== */
|
||||
|
||||
$.fn.typeahead = function ( option ) {
|
||||
$.fn.typeahead = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('typeahead')
|
||||
@@ -268,4 +282,4 @@
|
||||
})
|
||||
})
|
||||
|
||||
}( window.jQuery )
|
||||
}(window.jQuery);
|
||||
@@ -11,10 +11,14 @@
|
||||
<link rel="stylesheet" href="vendor/qunit.css" type="text/css" media="screen" />
|
||||
<script src="vendor/qunit.js"></script>
|
||||
|
||||
<!-- phantomjs logging script-->
|
||||
<script src="unit/bootstrap-phantom.js"></script>
|
||||
|
||||
<!-- plugin sources -->
|
||||
<script src="../../js/bootstrap-transition.js"></script>
|
||||
<script src="../../js/bootstrap-alert.js"></script>
|
||||
<script src="../../js/bootstrap-button.js"></script>
|
||||
<script src="../../js/bootstrap-carousel.js"></script>
|
||||
<script src="../../js/bootstrap-collapse.js"></script>
|
||||
<script src="../../js/bootstrap-dropdown.js"></script>
|
||||
<script src="../../js/bootstrap-modal.js"></script>
|
||||
@@ -28,6 +32,7 @@
|
||||
<script src="unit/bootstrap-transition.js"></script>
|
||||
<script src="unit/bootstrap-alert.js"></script>
|
||||
<script src="unit/bootstrap-button.js"></script>
|
||||
<script src="unit/bootstrap-carousel.js"></script>
|
||||
<script src="unit/bootstrap-collapse.js"></script>
|
||||
<script src="unit/bootstrap-dropdown.js"></script>
|
||||
<script src="unit/bootstrap-modal.js"></script>
|
||||
@@ -36,7 +41,7 @@
|
||||
<script src="unit/bootstrap-tooltip.js"></script>
|
||||
<script src="unit/bootstrap-popover.js"></script>
|
||||
<script src="unit/bootstrap-typeahead.js"></script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div>
|
||||
<h1 id="qunit-header">Bootstrap Plugin Test Suite</h1>
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
// Simple phantom.js integration script
|
||||
// Adapted from Modernizr
|
||||
|
||||
function waitFor(testFx, onReady, timeOutMillis) {
|
||||
var maxtimeOutMillis = timeOutMillis ? timeOutMillis : 5001 //< Default Max Timout is 5s
|
||||
, start = new Date().getTime()
|
||||
, condition = false
|
||||
, interval = setInterval(function () {
|
||||
if ((new Date().getTime() - start < maxtimeOutMillis) && !condition) {
|
||||
// If not time-out yet and condition not yet fulfilled
|
||||
condition = (typeof(testFx) === "string" ? eval(testFx) : testFx()) //< defensive code
|
||||
} else {
|
||||
if (!condition) {
|
||||
// If condition still not fulfilled (timeout but condition is 'false')
|
||||
console.log("'waitFor()' timeout")
|
||||
phantom.exit(1)
|
||||
} else {
|
||||
// Condition fulfilled (timeout and/or condition is 'true')
|
||||
typeof(onReady) === "string" ? eval(onReady) : onReady() //< Do what it's supposed to do once the condition is fulfilled
|
||||
clearInterval(interval) //< Stop this interval
|
||||
}
|
||||
}
|
||||
}, 100) //< repeat check every 100ms
|
||||
}
|
||||
|
||||
|
||||
if (phantom.args.length === 0 || phantom.args.length > 2) {
|
||||
console.log('Usage: phantom.js URL')
|
||||
phantom.exit()
|
||||
}
|
||||
|
||||
var page = new WebPage()
|
||||
|
||||
// Route "console.log()" calls from within the Page context to the main Phantom context (i.e. current "this")
|
||||
page.onConsoleMessage = function(msg) {
|
||||
console.log(msg)
|
||||
};
|
||||
|
||||
page.open(phantom.args[0], function(status){
|
||||
if (status !== "success") {
|
||||
console.log("Unable to access network")
|
||||
phantom.exit()
|
||||
} else {
|
||||
waitFor(function(){
|
||||
return page.evaluate(function(){
|
||||
var el = document.getElementById('qunit-testresult')
|
||||
if (el && el.innerText.match('completed')) {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
})
|
||||
}, function(){
|
||||
var failedNum = page.evaluate(function(){
|
||||
var el = document.getElementById('qunit-testresult')
|
||||
try {
|
||||
return el.getElementsByClassName('failed')[0].innerHTML
|
||||
} catch (e) { }
|
||||
return 10000
|
||||
});
|
||||
phantom.exit((parseInt(failedNum, 10) > 0) ? 1 : 0)
|
||||
})
|
||||
}
|
||||
})
|
||||
@@ -0,0 +1,14 @@
|
||||
/*
|
||||
* Simple connect server for phantom.js
|
||||
* Adapted from Modernizr
|
||||
*/
|
||||
|
||||
var connect = require('connect')
|
||||
, http = require('http')
|
||||
, fs = require('fs')
|
||||
, app = connect()
|
||||
.use(connect.static(__dirname + '/../../'));
|
||||
|
||||
http.createServer(app).listen(3000);
|
||||
|
||||
fs.writeFileSync(__dirname + '/pid.txt', process.pid, 'utf-8')
|
||||
@@ -13,7 +13,7 @@ $(function () {
|
||||
test("should fade element out on clicking .close", function () {
|
||||
var alertHTML = '<div class="alert-message warning fade in">'
|
||||
+ '<a class="close" href="#" data-dismiss="alert">×</a>'
|
||||
+ '<p><strong>Holy guacamole!</strong> Best check yo self, you’re not looking too good.</p>'
|
||||
+ '<p><strong>Holy guacamole!</strong> Best check yo self, you\'re not looking too good.</p>'
|
||||
+ '</div>'
|
||||
, alert = $(alertHTML).alert()
|
||||
|
||||
@@ -27,7 +27,7 @@ $(function () {
|
||||
|
||||
var alertHTML = '<div class="alert-message warning fade in">'
|
||||
+ '<a class="close" href="#" data-dismiss="alert">×</a>'
|
||||
+ '<p><strong>Holy guacamole!</strong> Best check yo self, you’re not looking too good.</p>'
|
||||
+ '<p><strong>Holy guacamole!</strong> Best check yo self, you\'re not looking too good.</p>'
|
||||
+ '</div>'
|
||||
, alert = $(alertHTML).appendTo('#qunit-fixture').alert()
|
||||
|
||||
@@ -38,4 +38,19 @@ $(function () {
|
||||
ok(!$('#qunit-fixture').find('.alert-message').length, 'element removed from dom')
|
||||
})
|
||||
|
||||
test("should not fire closed when close is prevented", function () {
|
||||
$.support.transition = false
|
||||
stop();
|
||||
$('<div class="alert"/>')
|
||||
.bind('close', function (e) {
|
||||
e.preventDefault();
|
||||
ok(true);
|
||||
start();
|
||||
})
|
||||
.bind('closed', function () {
|
||||
ok(false);
|
||||
})
|
||||
.alert('close')
|
||||
})
|
||||
|
||||
})
|
||||
@@ -3,7 +3,7 @@ $(function () {
|
||||
module("bootstrap-buttons")
|
||||
|
||||
test("should be defined on jquery object", function () {
|
||||
ok($(document.body).button, 'tabs method is defined')
|
||||
ok($(document.body).button, 'button method is defined')
|
||||
})
|
||||
|
||||
test("should return element", function () {
|
||||
@@ -45,10 +45,33 @@ $(function () {
|
||||
})
|
||||
|
||||
test("should toggle active", function () {
|
||||
var btn = $('<button class="btn" data-loading-text="fat">mdo</button>')
|
||||
var btn = $('<button class="btn">mdo</button>')
|
||||
ok(!btn.hasClass('active'), 'btn does not have active class')
|
||||
btn.button('toggle')
|
||||
ok(btn.hasClass('active'), 'btn has class active')
|
||||
})
|
||||
|
||||
test("should toggle active when btn children are clicked", function () {
|
||||
var btn = $('<button class="btn" data-toggle="button">mdo</button>')
|
||||
, inner = $('<i></i>')
|
||||
btn
|
||||
.append(inner)
|
||||
.appendTo($('#qunit-fixture'))
|
||||
ok(!btn.hasClass('active'), 'btn does not have active class')
|
||||
inner.click()
|
||||
ok(btn.hasClass('active'), 'btn has class active')
|
||||
})
|
||||
|
||||
test("should toggle active when btn children are clicked within btn-group", function () {
|
||||
var btngroup = $('<div class="btn-group" data-toggle="buttons-checkbox"></div>')
|
||||
, btn = $('<button class="btn">fat</button>')
|
||||
, inner = $('<i></i>')
|
||||
btngroup
|
||||
.append(btn.append(inner))
|
||||
.appendTo($('#qunit-fixture'))
|
||||
ok(!btn.hasClass('active'), 'btn does not have active class')
|
||||
inner.click()
|
||||
ok(btn.hasClass('active'), 'btn has class active')
|
||||
})
|
||||
|
||||
})
|
||||
@@ -0,0 +1,28 @@
|
||||
$(function () {
|
||||
|
||||
module("bootstrap-carousel")
|
||||
|
||||
test("should be defined on jquery object", function () {
|
||||
ok($(document.body).carousel, 'carousel method is defined')
|
||||
})
|
||||
|
||||
test("should return element", function () {
|
||||
ok($(document.body).carousel()[0] == document.body, 'document.body returned')
|
||||
})
|
||||
|
||||
test("should not fire sliden when slide is prevented", function () {
|
||||
$.support.transition = false
|
||||
stop();
|
||||
$('<div class="carousel"/>')
|
||||
.bind('slide', function (e) {
|
||||
e.preventDefault();
|
||||
ok(true);
|
||||
start();
|
||||
})
|
||||
.bind('slid', function () {
|
||||
ok(false);
|
||||
})
|
||||
.carousel('next')
|
||||
})
|
||||
|
||||
})
|
||||
@@ -22,4 +22,33 @@ $(function () {
|
||||
ok(/height/.test(el.attr('style')), 'has height set')
|
||||
})
|
||||
|
||||
test("should not fire shown when show is prevented", function () {
|
||||
$.support.transition = false
|
||||
stop();
|
||||
$('<div class="collapse"/>')
|
||||
.bind('show', function (e) {
|
||||
e.preventDefault();
|
||||
ok(true);
|
||||
start();
|
||||
})
|
||||
.bind('shown', function () {
|
||||
ok(false);
|
||||
})
|
||||
.collapse('show')
|
||||
})
|
||||
|
||||
test("should reset style to auto after finishing opening collapse", function () {
|
||||
$.support.transition = false
|
||||
stop();
|
||||
$('<div class="collapse" style="height: 0px"/>')
|
||||
.bind('show', function () {
|
||||
ok(this.style.height == '0px')
|
||||
})
|
||||
.bind('shown', function () {
|
||||
ok(this.style.height == 'auto')
|
||||
start()
|
||||
})
|
||||
.collapse('show')
|
||||
})
|
||||
|
||||
})
|
||||
@@ -10,6 +10,40 @@ $(function () {
|
||||
ok($(document.body).dropdown()[0] == document.body, 'document.body returned')
|
||||
})
|
||||
|
||||
test("should not open dropdown if target is disabled", function () {
|
||||
var dropdownHTML = '<ul class="tabs">'
|
||||
+ '<li class="dropdown">'
|
||||
+ '<button disabled href="#" class="btn dropdown-toggle" data-toggle="dropdown">Dropdown</button>'
|
||||
+ '<ul class="dropdown-menu">'
|
||||
+ '<li><a href="#">Secondary link</a></li>'
|
||||
+ '<li><a href="#">Something else here</a></li>'
|
||||
+ '<li class="divider"></li>'
|
||||
+ '<li><a href="#">Another link</a></li>'
|
||||
+ '</ul>'
|
||||
+ '</li>'
|
||||
+ '</ul>'
|
||||
, dropdown = $(dropdownHTML).find('[data-toggle="dropdown"]').dropdown().click()
|
||||
|
||||
ok(!dropdown.parent('.dropdown').hasClass('open'), 'open class added on click')
|
||||
})
|
||||
|
||||
test("should not open dropdown if target is disabled", function () {
|
||||
var dropdownHTML = '<ul class="tabs">'
|
||||
+ '<li class="dropdown">'
|
||||
+ '<button href="#" class="btn dropdown-toggle disabled" data-toggle="dropdown">Dropdown</button>'
|
||||
+ '<ul class="dropdown-menu">'
|
||||
+ '<li><a href="#">Secondary link</a></li>'
|
||||
+ '<li><a href="#">Something else here</a></li>'
|
||||
+ '<li class="divider"></li>'
|
||||
+ '<li><a href="#">Another link</a></li>'
|
||||
+ '</ul>'
|
||||
+ '</li>'
|
||||
+ '</ul>'
|
||||
, dropdown = $(dropdownHTML).find('[data-toggle="dropdown"]').dropdown().click()
|
||||
|
||||
ok(!dropdown.parent('.dropdown').hasClass('open'), 'open class added on click')
|
||||
})
|
||||
|
||||
test("should add class open to menu if clicked", function () {
|
||||
var dropdownHTML = '<ul class="tabs">'
|
||||
+ '<li class="dropdown">'
|
||||
|
||||
@@ -29,6 +29,35 @@ $(function () {
|
||||
.modal("show")
|
||||
})
|
||||
|
||||
test("should fire show event", function () {
|
||||
stop()
|
||||
$.support.transition = false
|
||||
$("<div id='modal-test'></div>")
|
||||
.bind("show", function () {
|
||||
ok(true, "show was called")
|
||||
})
|
||||
.bind("shown", function () {
|
||||
$(this).remove()
|
||||
start()
|
||||
})
|
||||
.modal("show")
|
||||
})
|
||||
|
||||
test("should not fire shown when default prevented", function () {
|
||||
stop()
|
||||
$.support.transition = false
|
||||
$("<div id='modal-test'></div>")
|
||||
.bind("show", function (e) {
|
||||
e.preventDefault()
|
||||
ok(true, "show was called")
|
||||
start()
|
||||
})
|
||||
.bind("shown", function () {
|
||||
ok(false, "shown was called")
|
||||
})
|
||||
.modal("show")
|
||||
})
|
||||
|
||||
test("should hide modal when hide is called", function () {
|
||||
stop()
|
||||
$.support.transition = false
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
// Logging setup for phantom integration
|
||||
// adapted from Modernizr
|
||||
|
||||
QUnit.begin = function () {
|
||||
console.log("Starting test suite")
|
||||
console.log("================================================\n")
|
||||
}
|
||||
|
||||
QUnit.moduleDone = function (opts) {
|
||||
if (opts.failed === 0) {
|
||||
console.log("\u2714 All tests passed in '" + opts.name + "' module")
|
||||
} else {
|
||||
console.log("\u2716 " + opts.failed + " tests failed in '" + opts.name + "' module")
|
||||
}
|
||||
}
|
||||
|
||||
QUnit.done = function (opts) {
|
||||
console.log("\n================================================")
|
||||
console.log("Tests completed in " + opts.runtime + " milliseconds")
|
||||
console.log(opts.passed + " tests of " + opts.total + " passed, " + opts.failed + " failed.")
|
||||
}
|
||||
@@ -42,4 +42,20 @@ $(function () {
|
||||
equals($("#qunit-fixture").find('.active').attr('id'), "home")
|
||||
})
|
||||
|
||||
|
||||
test("should not fire closed when close is prevented", function () {
|
||||
$.support.transition = false
|
||||
stop();
|
||||
$('<div class="tab"/>')
|
||||
.bind('show', function (e) {
|
||||
e.preventDefault();
|
||||
ok(true);
|
||||
start();
|
||||
})
|
||||
.bind('shown', function () {
|
||||
ok(false);
|
||||
})
|
||||
.tab('show')
|
||||
})
|
||||
|
||||
})
|
||||
@@ -59,4 +59,78 @@ $(function () {
|
||||
ok(!$(".tooltip").length, 'tooltip removed')
|
||||
})
|
||||
|
||||
test("should not show tooltip if leave event occurs before delay expires", function () {
|
||||
var tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"></a>')
|
||||
.appendTo('#qunit-fixture')
|
||||
.tooltip({ delay: 200 })
|
||||
|
||||
stop()
|
||||
|
||||
tooltip.trigger('mouseenter')
|
||||
|
||||
setTimeout(function () {
|
||||
ok(!$(".tooltip").hasClass('fade in'), 'tooltip is not faded in')
|
||||
tooltip.trigger('mouseout')
|
||||
setTimeout(function () {
|
||||
ok(!$(".tooltip").hasClass('fade in'), 'tooltip is not faded in')
|
||||
start()
|
||||
}, 200)
|
||||
}, 100)
|
||||
})
|
||||
|
||||
test("should not show tooltip if leave event occurs before delay expires", function () {
|
||||
var tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"></a>')
|
||||
.appendTo('#qunit-fixture')
|
||||
.tooltip({ delay: 100 })
|
||||
stop()
|
||||
tooltip.trigger('mouseenter')
|
||||
setTimeout(function () {
|
||||
ok(!$(".tooltip").hasClass('fade in'), 'tooltip is not faded in')
|
||||
tooltip.trigger('mouseout')
|
||||
setTimeout(function () {
|
||||
ok(!$(".tooltip").hasClass('fade in'), 'tooltip is not faded in')
|
||||
start()
|
||||
}, 100)
|
||||
}, 50)
|
||||
})
|
||||
|
||||
test("should show tooltip if leave event hasn't occured before delay expires", function () {
|
||||
var tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"></a>')
|
||||
.appendTo('#qunit-fixture')
|
||||
.tooltip({ delay: 200 })
|
||||
stop()
|
||||
tooltip.trigger('mouseenter')
|
||||
setTimeout(function () {
|
||||
ok(!$(".tooltip").hasClass('fade in'), 'tooltip is not faded in')
|
||||
setTimeout(function () {
|
||||
ok(!$(".tooltip").hasClass('fade in'), 'tooltip has faded in')
|
||||
start()
|
||||
}, 200)
|
||||
}, 100)
|
||||
})
|
||||
|
||||
test("should detect if title string is html or text: foo", function () {
|
||||
ok(!$.fn.tooltip.Constructor.prototype.isHTML('foo'), 'correctly detected html')
|
||||
})
|
||||
|
||||
test("should detect if title string is html or text: &lt;foo&gt;", function () {
|
||||
ok(!$.fn.tooltip.Constructor.prototype.isHTML('<foo>'), 'correctly detected html')
|
||||
})
|
||||
|
||||
test("should detect if title string is html or text: <div>foo</div>", function () {
|
||||
ok($.fn.tooltip.Constructor.prototype.isHTML('<div>foo</div>'), 'correctly detected html')
|
||||
})
|
||||
|
||||
test("should detect if title string is html or text: asdfa<div>foo</div>asdfasdf", function () {
|
||||
ok($.fn.tooltip.Constructor.prototype.isHTML('asdfa<div>foo</div>asdfasdf'), 'correctly detected html')
|
||||
})
|
||||
|
||||
test("should detect if title string is html or text: document.createElement('div')", function () {
|
||||
ok($.fn.tooltip.Constructor.prototype.isHTML(document.createElement('div')), 'correctly detected html')
|
||||
})
|
||||
|
||||
test("should detect if title string is html or text: $('<div />)", function () {
|
||||
ok($.fn.tooltip.Constructor.prototype.isHTML($('<div></div>')), 'correctly detected html')
|
||||
})
|
||||
|
||||
})
|
||||
@@ -3,7 +3,7 @@ $(function () {
|
||||
module("bootstrap-transition")
|
||||
|
||||
test("should be defined on jquery support object", function () {
|
||||
ok($.support.transition != undefined, 'transition object is defined')
|
||||
ok($.support.transition !== undefined, 'transition object is defined')
|
||||
})
|
||||
|
||||
test("should provide an end object", function () {
|
||||
|
||||
@@ -52,6 +52,22 @@ $(function () {
|
||||
typeahead.$menu.remove()
|
||||
})
|
||||
|
||||
test("should not explode when regex chars are entered", function () {
|
||||
var $input = $('<input />').typeahead({
|
||||
source: ['aa', 'ab', 'ac', 'mdo*', 'fat+']
|
||||
})
|
||||
, typeahead = $input.data('typeahead')
|
||||
|
||||
$input.val('+')
|
||||
typeahead.lookup()
|
||||
|
||||
ok(typeahead.$menu.is(":visible"), 'typeahead is visible')
|
||||
equals(typeahead.$menu.find('li').length, 1, 'has 1 item in menu')
|
||||
equals(typeahead.$menu.find('.active').length, 1, 'one item is active')
|
||||
|
||||
typeahead.$menu.remove()
|
||||
})
|
||||
|
||||
test("should hide menu when query entered", function () {
|
||||
stop()
|
||||
var $input = $('<input />').typeahead({
|
||||
@@ -91,7 +107,7 @@ $(function () {
|
||||
ok(typeahead.$menu.find('li').first().hasClass('active'), "first item is active")
|
||||
|
||||
$input.trigger({
|
||||
type: 'keypress'
|
||||
type: 'keydown'
|
||||
, keyCode: 40
|
||||
})
|
||||
|
||||
@@ -99,7 +115,7 @@ $(function () {
|
||||
|
||||
|
||||
$input.trigger({
|
||||
type: 'keypress'
|
||||
type: 'keydown'
|
||||
, keyCode: 38
|
||||
})
|
||||
|
||||
@@ -114,15 +130,19 @@ $(function () {
|
||||
source: ['aa', 'ab', 'ac']
|
||||
})
|
||||
, typeahead = $input.data('typeahead')
|
||||
, changed = false
|
||||
|
||||
$input.val('a')
|
||||
typeahead.lookup()
|
||||
|
||||
$input.change(function() { changed = true });
|
||||
|
||||
$(typeahead.$menu.find('li')[2]).mouseover().click()
|
||||
|
||||
equals($input.val(), 'ac', 'input value was correctly set')
|
||||
ok(!typeahead.$menu.is(':visible'), 'the menu was hidden')
|
||||
ok(changed, 'a change event was fired')
|
||||
|
||||
typeahead.$menu.remove()
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
@@ -21,6 +21,11 @@
|
||||
padding: 8px 15px;
|
||||
}
|
||||
|
||||
// General toggle styles
|
||||
.accordion-toggle {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
// Inner needs the styles because you can't animate properly with any styles on the element
|
||||
.accordion-inner {
|
||||
padding: 9px 15px;
|
||||
|
||||
@@ -9,11 +9,11 @@
|
||||
background-color: @warningBackground;
|
||||
border: 1px solid @warningBorder;
|
||||
.border-radius(4px);
|
||||
}
|
||||
.alert,
|
||||
.alert-heading {
|
||||
color: @warningText;
|
||||
}
|
||||
.alert-heading {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
// Adjust close link position
|
||||
.alert .close {
|
||||
@@ -29,32 +29,20 @@
|
||||
.alert-success {
|
||||
background-color: @successBackground;
|
||||
border-color: @successBorder;
|
||||
}
|
||||
.alert-success,
|
||||
.alert-success .alert-heading {
|
||||
color: @successText;
|
||||
}
|
||||
.alert-danger,
|
||||
.alert-error {
|
||||
background-color: @errorBackground;
|
||||
border-color: @errorBorder;
|
||||
}
|
||||
.alert-danger,
|
||||
.alert-error,
|
||||
.alert-danger .alert-heading,
|
||||
.alert-error .alert-heading {
|
||||
color: @errorText;
|
||||
}
|
||||
.alert-info {
|
||||
background-color: @infoBackground;
|
||||
border-color: @infoBorder;
|
||||
}
|
||||
.alert-info,
|
||||
.alert-info .alert-heading {
|
||||
color: @infoText;
|
||||
}
|
||||
|
||||
|
||||
// Block alerts
|
||||
// ------------------------
|
||||
.alert-block {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* Bootstrap v2.0.0
|
||||
* Bootstrap v2.0.3
|
||||
*
|
||||
* Copyright 2012 Twitter, Inc
|
||||
* Licensed under the Apache License v2.0
|
||||
@@ -52,7 +52,7 @@
|
||||
|
||||
// Components: Misc
|
||||
@import "thumbnails.less";
|
||||
@import "labels.less";
|
||||
@import "labels-badges.less";
|
||||
@import "progress-bars.less";
|
||||
@import "accordion.less";
|
||||
@import "carousel.less";
|
||||
|
||||
@@ -4,12 +4,14 @@
|
||||
.breadcrumb {
|
||||
padding: 7px 14px;
|
||||
margin: 0 0 @baseLineHeight;
|
||||
list-style: none;
|
||||
#gradient > .vertical(@white, #f5f5f5);
|
||||
border: 1px solid #ddd;
|
||||
.border-radius(3px);
|
||||
.box-shadow(inset 0 1px 0 @white);
|
||||
li {
|
||||
display: inline;
|
||||
display: inline-block;
|
||||
.ie7-inline-block();
|
||||
text-shadow: 0 1px 0 @white;
|
||||
}
|
||||
.divider {
|
||||
|
||||