Compare commits

...

748 Commits

Author SHA1 Message Date
XhmikosR d50ed9a2bd Update README.md 2018-12-21 09:03:29 -08:00
Martijn Cuppens 680f40c7cb Add 4.1 to previous releases 2018-12-21 09:03:29 -08:00
XhmikosR c5bd6a11f6 Update webpack.md 2018-12-21 09:03:29 -08:00
XhmikosR 140abf4c3d Remove unneeded redirects. 2018-12-21 09:03:29 -08:00
XhmikosR 1bded2ffcd Update docs-navbar.html 2018-12-21 09:03:29 -08:00
Mark Otto eda851ee76 Prep for v4.2.0 release
- Move 4.1 docs to 4.2
- Update versions everywhere to 4.1.3 with release script
- Manually bump the shorthand version in package.json
- Add 4.2 to the versions docs page
- Update some redirects
- Fix tests asset URLs
- Bump Nuget and more
2018-12-21 09:03:29 -08:00
Florian Lacreuse 2c0cd7d2ed Remove dead link entry for translations. (#27891) 2018-12-21 17:54:40 +02:00
jess 12c4d3c248 README.md: Add Open Collective (#27864) 2018-12-18 01:23:48 +02:00
XhmikosR 1960a52889 List v3.4.0 in versions page. (#27860) 2018-12-16 20:05:29 +02:00
XhmikosR 07b4b5907b Revert "Remove now unnecessary shrink-to-fit viewport directive (#27818)" (#27855)
This reverts commit af484dc12c.
2018-12-16 16:39:48 +02:00
Florian Lacreuse 8ee2065d16 Update grid doc for consistent use of container. (#27776) 2018-12-16 14:55:46 +02:00
Martijn Cuppens dac464a5b8 Use theme-color function for colors (#27848) 2018-12-16 01:59:16 +02:00
Mark Otto ee72e7838d dist 2018-12-16 01:33:05 +02:00
XhmikosR ffd3402a92 Link to v3.4 docs (#27842) 2018-12-15 08:49:00 +02:00
Patrick H. Lauke af484dc12c Remove now unnecessary shrink-to-fit viewport directive (#27818)
`shrink-to-fit=no` is not needed anymore - Apple removed the need for it from iOS9.3 onwards

See https://www.scottohara.me/blog/2018/12/11/shrink-to-fit.html and https://github.com/h5bp/html5-boilerplate/issues/2102
2018-12-15 01:05:49 +00:00
ChrissBott b5b4f83cdb Fix typo in "Hiding elements" section (#27843) 2018-12-14 17:07:44 +00:00
Martijn Cuppens 502b6c8ed6 Remove redundant brackets (#27768) 2018-12-14 17:54:44 +01:00
Florian Lacreuse 1dc42a3373 Add missing parameter to grid mixins. (#27841) 2018-12-14 18:30:12 +02:00
Gijs Boddeus 26c5595164 Custom switch form control gutter fix (#27837) 2018-12-14 16:22:19 +02:00
Gijs Boddeus c618f67187 Actual gutter definition (#27797) 2018-12-14 03:04:10 +02:00
Johann-S af60644d2f integration test to be sure bootstrap can be bundled 2018-12-14 02:08:18 +02:00
XhmikosR db31ee1ea2 Remove the unused gcp-key.json.enc file. 2018-12-14 00:54:20 +02:00
XhmikosR a074cb66d7 Make use of the package.json version_short property more. 2018-12-14 00:34:38 +02:00
Patrick H. Lauke c031584bcd SVG accessibility fixes (#27826)
* SVG accessibility fixes

- add `focusable="false"` to all SVGs, to stop IE from including the `<svg>` in its default focus cycle
- completely hide decorative SVGs using `aria-hidden="true"`
- add `role="img"` to meaningful/"content" SVGs, ensure they have an appropriate `<title>` and/or `aria-label`
- simplify placeholder default title

* Simplify usage of placeholder.svg in the docs

- in most cases, no need for separate/redundant text and title (now that we make text itself part of the alternative text explicitly)
- no need (expect in rare cirumstances) to describe the placeholder image (unless the look of the image is important/the actual content, as is the case with the image thumbnail class)

* Simplify example.html rewriting of <svg> to <img> code sample

- as the `alt` for the placeholder isn't really important, just add an ellipsis instead (otherwise, to be correct, we'd have to construct the whole "title+text" construct like we do now in the
placeholder.svg itself

* Change svgo configuration to retain role attribute and add/force focusable=false

- regarding `focusable=false`, see https://github.com/svg/svgo/issues/1011 (which would be the "proper" SVGO fix) and the (hacky) solution https://github.com/svg/svgo/pull/817
2018-12-13 13:09:47 +00:00
Patrick H. Lauke 375d137561 Docs: add note about the grays being "cool" (#27824) 2018-12-12 21:55:20 +02:00
Patrick H. Lauke f3fc973dd9 Remove now unnecessary -ms-viewport and -ms-overflow-style directives (#27789)
Edge/Mobile appears to have moved support for `-ms-viewport` behind a flag at some point, instead supporting meta viewport directives.
Removing this altogether also fixes issues in IE11 on high-dpi displays - see https://github.com/twbs/bootstrap/issues/21780
2018-12-12 21:24:47 +02:00
Gijs Boddeus 180a06eeb7 Add switch custom form control (#23004) 2018-12-12 15:28:25 +02:00
Martijn Cuppens dbadf24bb3 Fix margin above toast when previous toast is hidden (#27820) 2018-12-12 14:23:10 +01:00
unaccomplished 0a55c7a8f6 Update Scrollspy doc to include missing method options (#27754) 2018-12-11 10:27:04 +02:00
XhmikosR 3100a3a95e Update bs-custom-file-input to v1.3.1. 2018-12-10 17:19:30 +02:00
XhmikosR 60eeef5ddc Update clipboard.js to v2.0.4. 2018-12-10 17:19:30 +02:00
XhmikosR 10d4e7f43d Update glyphicons URL. 2018-12-10 12:27:27 +02:00
Johann-S 1f4d7903db fix fade animation for toast 2018-12-10 10:38:11 +01:00
Mike Vastola fc15c4c4ce Change button checkbox/radios to ignore hidden input fields (#27802) 2018-12-10 10:40:08 +02:00
XhmikosR 385ce1c961 Update devDependencies. (#27806) 2018-12-10 10:34:30 +02:00
Patrick H. Lauke c70b043a76 Remove nonsensical boolean check (#27787)
...as it always evaluates to true
2018-12-06 13:30:12 +02:00
Johann-S fa03289d13 avoid console call in our unit tests (#27790) 2018-12-06 10:51:35 +02:00
XhmikosR 947f749e23 Update devDependencies. (#27764) 2018-12-06 08:34:35 +02:00
Gijs Rogé 3fbbe1bd35 Replaced fixed 'bolder' font weight value in reboot with variable. (#27782)
The default font weight value for <strong> <br> in reboot was
set by a fixed value we now use the variable $font-weight-bolder
to let users override this value.
2018-12-06 08:21:18 +02:00
Patrick H. Lauke 903e242650 Make disabled link in card examples non-focusable and add aria-disabled (#27788) 2018-12-06 08:16:22 +02:00
Patrick H. Lauke 6c00dd08bc Add aria-modal to modals (#27780)
Dynamically set/remove `aria-modal="true"` when a modal is shown/hidden
2018-12-05 20:58:09 +02:00
Jacob Müller 8fb6e84fa0 Make form grid gutter width configurable (#27766) 2018-12-05 17:15:24 +02:00
Johann-S b16127fc10 Allow Tooltips/Popovers to work in shadow DOM 2018-12-05 16:02:59 +01:00
Shohei Yoshida 850d99bb13 Add quotes according to the stylelint rule (#27771) 2018-12-05 12:40:59 +01:00
Johann-S 37f74c7070 fix regression about using element for tooltip container option 2018-12-05 10:57:02 +01:00
acidrums4 1a171b80ab Remove double 'the' in comment (#27767) 2018-12-04 20:14:23 +01:00
Shohei Yoshida e9ec5e7392 spinners: use .sr-only instead of text-hide technique (#27736) 2018-12-04 08:02:49 +02:00
XhmikosR a2d0e78b44 Update contents.md 2018-11-29 10:59:06 +02:00
XhmikosR 8d81226a8e Remove no_toc_section. 2018-11-28 21:09:50 +02:00
XhmikosR 24eb9a75e9 Revert "Use h5 for callouts so that they are not included in ToC."
This reverts commit 11da160114.

This is no longer needed with jekyll-toc 0.9.1.
2018-11-28 21:09:50 +02:00
toshimaru 0b96d62fb3 Configure multiple no_toc_section classes 2018-11-28 21:09:50 +02:00
XhmikosR 698ccb4923 Update jekyll-toc to v0.9.1. 2018-11-28 21:09:50 +02:00
XhmikosR 8bfabdd1dc .eslintignore: Remove unneeded entry. 2018-11-28 14:33:29 +02:00
XhmikosR 7492c12089 Remove unneeded ESLint config file.
We have /site/.eslintrc.json that covers this.
2018-11-28 14:33:29 +02:00
XhmikosR 05dfae3146 Revert "build/*.js: set sourceType to module."
This reverts commit b442ce3130.
2018-11-28 14:33:29 +02:00
XhmikosR 11da160114 Use h5 for callouts so that they are not included in ToC.
Callouts are already excluded from ToC, but due to a limitation in jekyll-toc they are still being included.

We should revisit this if the bug is fixed later.
2018-11-27 16:01:07 +02:00
XhmikosR cb2b21bb88 Inline bootstrap-stack.svg.
It's pretty small compressed; a little less than 1 KB with gzip.
2018-11-27 15:37:24 +02:00
XhmikosR 89876a5559 Use an SVG for the stack image.
Image by @mdo.
2018-11-27 15:37:24 +02:00
XhmikosR b4f7b34b1e Move examples images in assets/img/examples/ folder. 2018-11-27 15:37:24 +02:00
XhmikosR 4ad19f6f52 Use srcset for examples too. 2018-11-27 15:37:24 +02:00
XhmikosR d5279bf18c homepage: use srcset.
This should reduce the amount of bytes for non-2x displays.
2018-11-27 15:37:24 +02:00
Christian Oliff fcfa436a31 Update migration page to indicate the info can be used for 4.1.x as well as 4.0.x 2018-11-26 22:46:09 +02:00
XhmikosR 7b274d358b Update package-lock.json. 2018-11-26 22:22:05 +02:00
Christian Oliff 7a907ae09e Change OS X to macOS in Sass comments (#27729)
It's been macOS for 3 years now and we use just 'macOS' elsewhere in the Bootstrap documentation.
https://en.wikipedia.org/wiki/MacOS
2018-11-26 14:57:33 +00:00
Johann-S 32ab52ba2e Add test to make sure we enforce focus on modal (#27723) 2018-11-25 18:20:55 +02:00
XhmikosR 72bd3f5930 ship.sh: add missing period. 2018-11-25 14:50:32 +02:00
ysds 9f08f7dea6 Grow button width to the parent button group (#27717) 2018-11-25 12:05:31 +01:00
XhmikosR 5c336d0247 Dist 2018-11-25 11:46:37 +02:00
XhmikosR fdc5c1f49a Update devDependencies. 2018-11-25 11:46:37 +02:00
m5o c9157be574 prevent text selection for floating labels example (#27719)
* prevent text selection for floating labels
  * expand the click target by no selecting the label text
* use `pointer-events: none;` instead of `user-select`
  * thx @MartijnCuppens
2018-11-24 13:25:18 +01:00
Martijn Cuppens 28a972ac9f Add opacity transition 2018-11-23 15:28:39 +02:00
XhmikosR 0c60257114 Revert "Replace anchor.js with jekyll-anchor-headings."
This reverts commit b04f97f60b.
2018-11-23 15:28:39 +02:00
ysds 0140552322 Fix body scrolling issue when modal open (#27698) 2018-11-23 13:41:42 +01:00
Pixelastic 3e25bf403a Update DocSearch.js to latest version
The latest (2.6.2) docsearch.js version now displays results as standard `<a href>` links, allowing users to `ctrl`-click on them to trigger default browser behavior of opening in a new tab.

To maintain backward compatibility, this behavior has only been enabled to users that didn't define their own `handleSelected` method.

This PR updates your `docsearch()` code to take advantage of the new `<a href>` template, by removing your custom `handleSelected` and moving its behavior to the `transformData` call. Namely, what you wanted to avoid was jumping to the first `<h1>` of the pages, which would prevent users from seeing the header. This PR checks if the suggestion targets the `#content` anchor (meaning it goes to this first `<h1>`) and remove it.

Behavior should be the same, but at least now you can enjoy the `ctrl`-click :)
2018-11-22 17:38:27 +02:00
XhmikosR 8a7ed6047b Update devDependencies. 2018-11-22 11:15:21 +02:00
ysds b6e616a70f Fixed a fixed height issue of input-group size option (#27687) 2018-11-22 10:29:33 +02:00
Roy Klutman e7e43edf65 Add border-radius to dropdown items (#27703) 2018-11-22 00:24:13 +02:00
m5o 31d6d03c47 Placeholders: use our gray colors (#27701)
Previously we were using the old holder.js colors.
2018-11-21 20:59:21 +02:00
Martijn Cuppens 58943c0257 Sass precision documentation (#27705) 2018-11-21 20:51:47 +02:00
XhmikosR 73a98d9738 reboot: Fix mailto address (#27700) 2018-11-21 15:24:38 +02:00
XhmikosR 487bd521e3 docs: fix path to assets. (#27696) 2018-11-21 15:11:31 +02:00
Martijn Cuppens c628921465 Use wrapping span instead of div (#27695) 2018-11-20 21:53:10 +02:00
XhmikosR 749c8230c7 docs-sidebar.html: remove commented out code.
Leftover from old times.
2018-11-20 21:31:28 +02:00
XhmikosR d9717d1945 Reindent. 2018-11-20 21:31:28 +02:00
XhmikosR 2b9af5e38c Remove holder.js. 2018-11-20 21:31:28 +02:00
XhmikosR 369f03fbc5 Use the new include in examples too. 2018-11-20 21:31:28 +02:00
m5o 6163533d84 Fix placeholder image replacement. 2018-11-20 21:31:28 +02:00
XhmikosR 2ac3db8384 Tweak placeholder.svg.
* always include the title
* make it possible to skip adding the title by passing `title=' '`
* remove viewBox since we don't need it
2018-11-20 21:31:28 +02:00
Martijn Cuppens 072b5ab7fd Replace holder.js with SVGs. 2018-11-20 21:31:28 +02:00
XhmikosR b04f97f60b Replace anchor.js with jekyll-anchor-headings.
This allows us to generate the anchor links on build time.

https://github.com/allejo/jekyll-anchor-headings
2018-11-20 11:47:10 +02:00
XhmikosR 8470c5f78c Remove sudo from Travis config. (#27693)
https://blog.travis-ci.com/2018-11-19-required-linux-infrastructure-migration
2018-11-20 11:36:37 +02:00
Tieson Trowbridge ab183384ee Allows both OL and UL lists for tab buttons 2018-11-20 09:58:04 +01:00
ysds 7c8cd0f272 Add documentation about .text-decoration-none (#27686) 2018-11-20 09:08:34 +02:00
ysds 1fe56358e7 Add documentation about viewport sizing utilities (#27688) 2018-11-19 18:44:08 +01:00
ysds 38ca58bf3c Add documentation about .font-weight-bolder/lighter (#27678) 2018-11-18 10:15:49 +02:00
Martijn Cuppens 3f422bfc88 Prevent text decoration skip inc and reorder comments (#27673) 2018-11-18 10:09:41 +02:00
Martijn Cuppens 12ae122eda Spinners cleanup 2018-11-17 20:34:58 -08:00
ysds 5042b3c93d Support custom-select sizing in input-group (#27677) 2018-11-17 14:10:38 +02:00
Christian Oliff 4734a926e9 Enforce lowercase class name in .stylelintrc (#27668) 2018-11-17 14:01:16 +02:00
Martijn Cuppens 75526bf2d0 Inherit card header color (#27681) 2018-11-17 10:16:16 +01:00
XhmikosR 53d279b934 Update devDependencies and gems. 2018-11-16 08:59:37 +02:00
Iurii Kucherov f83f4ae124 Update autoprefixer link to .browserslistrc file (#27675) 2018-11-16 08:44:52 +02:00
XhmikosR ea4db3f89d Use fancy apostrophe in HTML files.
For Markdown files, this isn't needed because the Markdown converter takes care of this.
2018-11-15 15:55:21 +02:00
Johann-S 9201a80510 some cleaning and changes for readability 2018-11-14 10:54:50 +01:00
Martijn Cuppens fab1dea927 Keep input group & form label font size in sync with form control font size (#27663) 2018-11-13 21:11:59 +01:00
XhmikosR fceee8d093 Dist 2018-11-13 08:47:32 +02:00
Mark Otto 220baef0d9 Clean up some docs for toasts
- Add headings to examples section
- Clarify styles and customization options in examples
- Add dismiss buttons to all toasts
- Missing period added for consistency
- Update roles, tweak text
2018-11-13 08:47:32 +02:00
Mark Otto ab40a2b919 Nest the .toast.show and use display: block; as inherit causes broken styles 2018-11-13 08:47:32 +02:00
Laussel LOïc dc07e8dca8 Update toast documentation following pull #27155
Also remove close button everywhere just let it when autohide is set to false
2018-11-13 08:47:32 +02:00
Johann-S 557d5ac74d Remove the show delay for our toast plugin 2018-11-13 08:47:32 +02:00
Laussel Loïc 4cac833447 Implement data-dismiss="toast" to allow user to interact itself with the component (#27155) 2018-11-13 08:47:32 +02:00
Johann-S 2f81ab007c Fix toast documentation page. 2018-11-13 08:47:32 +02:00
Johann-S 16cf76ff1a Create toast JS plugin, add unit tests. 2018-11-13 08:47:32 +02:00
Mark Otto d0652a1be9 Add new toasts component 2018-11-13 08:47:32 +02:00
Martijn Cuppens 696c4078d1 Customize browse text of the custom file input with HTML (#27651) 2018-11-13 08:30:17 +02:00
XhmikosR dafb498f75 Spinners: show all color variants. 2018-11-13 08:21:57 +02:00
XhmikosR 5afc708961 Bump bootstrap.min.css bundle size. 2018-11-13 08:21:57 +02:00
XhmikosR e9d67982ae spinners: use the animation shorthand property. 2018-11-13 08:21:57 +02:00
Mark Otto 52a86cc671 Add Bootstrap's very first spinners omfg it's actually happening 2018-11-13 08:21:57 +02:00
XhmikosR f3bd8602df Jekyll: Add wdm gem for Windows. (#27658) 2018-11-12 21:23:53 +02:00
Christian Oliff 75e6253b0a Update clipboard.js to v2.0.3 (#27657) 2018-11-12 18:46:21 +02:00
XhmikosR 110c7f4cc0 Replace data-src with src="..." in docs. (#27649) 2018-11-11 14:45:48 +02:00
Patrick H. Lauke e6a356a3ae Minor/Docs: tweak accordion example heading level (#27620) 2018-11-11 09:12:29 +00:00
Martijn Cuppens 976efcd5ee Allow to add more embed responsive ratios (#25894) 2018-11-11 11:04:04 +02:00
XhmikosR 9836a411e8 Redirect /extend/ to /extend/approach/. 2018-11-11 10:59:43 +02:00
Martijn Cuppens 6cb6e6510c Remove custom properties from examples so that they work in IE (#27634) 2018-11-11 10:52:06 +02:00
jvitela 731f95bded Fix modal positioning on Android.
When the address bar is hidden, sometimes the visual position of the controls is out of sync with its logical position.
2018-11-11 10:44:26 +02:00
XhmikosR bbe2b2349d Dashboard example: update 3rd-party libs and use the same CDN. 2018-11-09 15:02:42 +02:00
XhmikosR 807c1b6d06 Add an examples layout.
Reduces duplication and makes maintenance easier.
2018-11-09 15:02:42 +02:00
XhmikosR e1b5b4f989 Move analytics to an include file. 2018-11-09 15:02:42 +02:00
XhmikosR a933f076f4 Move stylesheets to an include. 2018-11-09 15:02:42 +02:00
Johann-S 1fdc7819cd use bsCustomFileInput in our docs (#27631) 2018-11-08 17:22:45 +02:00
sts-ryan-holton 2df2cdd33d Wrap checkboxes in .form-group (#27624) 2018-11-07 21:54:40 +01:00
ysds 8de915eded Docs: Improve accessibility of disabled link example (#27614)
Add `tabindex="-1"` and `aria-disabled="true"` to disabled link
2018-11-06 10:47:59 +02:00
Johann-S e5d9e0a06c display chrome version on travis 2018-11-05 22:29:25 +02:00
XhmikosR 195404b106 Travis: Add back chrome addon (#27610) 2018-11-05 22:29:25 +02:00
XhmikosR ea697555d5 Travis: exit pipeline if test fails. 2018-11-05 21:35:59 +02:00
Martijn Cuppens 6e10ac276e Increase readability card columns docs (#27609) 2018-11-05 21:08:13 +02:00
sts-ryan-holton 89eef046ef Add new .rounded-pill utility (#27339) 2018-11-05 19:19:00 +02:00
XhmikosR 5c03f23f85 Reorganize npm scripts. 2018-11-05 19:06:39 +02:00
Martijn Cuppens b33d0d3790 Prevent white line in Firefox (regression) (#27594) 2018-11-05 18:56:41 +02:00
XhmikosR e3abb8e4dd Remove htmllint. (#27603)
We use the official HTML validator for HTML validation, and we don't really use any of the htmllint features.
2018-11-05 18:42:05 +02:00
LittleHuba aa098991bf Add Noto Sans to the font stack (#27596)
Fixes #27595
2018-11-05 08:22:40 +02:00
okazou cb5c80124a Add japanese to translations (#27599) 2018-11-05 08:15:04 +02:00
Arvind S 042042a48a Made the disabled state for nav more obvious. (#27382) 2018-11-04 22:17:14 +02:00
ysds 4a1090ac48 Ligthen/Darken Button focus shadow color 2018-11-04 20:58:00 +02:00
XhmikosR e0eb39f519 Update README.md (#27588)
* remove jobs link
* specify a link in the BrowserStack image
2018-11-04 20:49:31 +02:00
XhmikosR 15fa1566cd Update devDependencies and gems. 2018-11-04 16:02:35 +02:00
Martijn Cuppens b67c6fb435 Use a badge for .text-wrap example 2018-11-04 15:55:17 +02:00
XhmikosR 366bc88523 Add text-wrap example. 2018-11-04 15:55:17 +02:00
Andrew cbc859ad8d Add .text-wrap class.
this is the opposite of `.text-nowrap`, and a forces elements to wrap onto new lines.

One use case for this is extra long button text. Bootstrap buttons by default do no wrap, so this class could be used to override that behavior.
2018-11-04 15:55:17 +02:00
XhmikosR 497766a3a6 Travis: stop using a separate stage for Browser tests.
This should be faster.
2018-11-04 15:40:09 +02:00
XhmikosR ca47a21b70 broken-link-checker: force follow links.
After 3256a2c, blc honored robots.txt thus it didn't crawl anything.
Ignore robots.txt to work around the issue.
2018-11-04 15:32:59 +02:00
patrickhlauke c46a0c7e88 Replace touch-action: none with pan-y, remove preventDefault from touch event handling 2018-11-04 14:40:19 +02:00
XhmikosR 9cc237d0ba scss/_custom-forms.scss: fix typo in comment. 2018-11-04 12:17:56 +02:00
ysds ea8f6c6ff3 Button group refactoring and fixes (#25395) 2018-11-04 08:50:21 +02:00
XhmikosR d27509688d Jekyll: switch to localhost
`0.0.0.0` has issues on Windows.
2018-11-04 08:33:30 +02:00
Vincent Langlet 793b83fda8 Avoid null value (#27570) 2018-11-04 08:18:56 +02:00
Martijn Cuppens 38e9e2b82c Add TODO 2018-11-04 08:13:31 +02:00
Varunram a31468cf84 Resolve #26226: Sync with normalize 8.0.0
diff credits: @client9
2018-11-04 08:13:31 +02:00
XhmikosR eeea8b5ed3 docs: remove false info from v3 suggestion. 2018-11-03 21:59:11 +02:00
Patrick H. Lauke 8b20bce873 Add Sass variable for prefers-reduced-motion, add callout to affected components (#27581)
* Tweak the accessibility/reduced motion text

include mention of carousel slides, remove the (now inaccurate, as Firefox 63 includes it too) mention that support is limited to Safari/macOS

xref https://github.com/twbs/bootstrap/issues/27525

* Add new callout for reduced motion

* Add variable to control prefers-reduced-motion media query support

* Add callout about prefers-reduced-motion to all components currently using animation which are affected
2018-11-03 19:23:26 +01:00
Johann-S f7a4b39767 handle detached tooltip when we try to hide a modal 2018-11-02 13:39:58 +01:00
XhmikosR e0d1f3f18b Remove the obsolete tooltip-viewport example and redirect it. 2018-11-02 12:55:28 +02:00
XhmikosR 3256a2c231 robots.txt: disallow crawling when not in production. (#27559) 2018-11-02 12:41:57 +02:00
Sebastian Hädrich 4b15ec9cad Make meaning of tooltip's selector option clearer (#27573) 2018-11-01 15:05:02 +02:00
ysds 2ffa1bff6e Fix empty custom-control-label alignment issue (#27566) 2018-10-31 09:49:52 +02:00
Martijn Cuppens 96b49d7833 Fix Edge bounce and restore original transition easing (#27279) 2018-10-31 09:45:39 +02:00
Johann-S f20e46e2da Add @MartijnCuppens to our core team ! 🎉 (#27562) 2018-10-30 19:47:25 +02:00
ysds eb5d0b49dc Prevent hover/click on disabled .close links. 2018-10-30 18:25:14 +01:00
Martijn Cuppens 273861f145 IE10 homepage fix 2018-10-30 18:16:19 +02:00
Johann-S cebdfb9090 fix dispose modal unit test 2018-10-30 16:59:24 +01:00
Andrew Luca bd2851938a test(Modal): check if modal is disposed 2018-10-30 16:28:32 +01:00
Andrew Luca 65dc8c9070 refactor(Modal): add _isTransitioning default value
Having variables initialised from start `_isTransitioning` is better.
Would be better to add an eslint rule to check for undeclared variables use.
Reordered enter checks for `show` and `hide` by priority.
2018-10-30 16:28:32 +01:00
XhmikosR 2b21657cd4 Remove trailing space. 2018-10-30 15:44:41 +02:00
XhmikosR 40e560aa12 docs: remove Webpack version reference. 2018-10-30 15:44:41 +02:00
XhmikosR 02df7cd0d2 Fix util tests on IE 10 (#27556) 2018-10-30 15:29:04 +02:00
Matheus Rocha Vieira 77ff5e8e42 download page: add Yarn (#27544) 2018-10-30 11:27:13 +02:00
Martijn Cuppens e0fa9a812c #27502: Prevent active state border change 2018-10-30 09:06:25 +02:00
Martijn Cuppens 5aed968750 Prevent the background to be shown when transitioning 2018-10-30 08:57:02 +02:00
XhmikosR 5e6b53a7c0 Update Travis CI config.
Only run `coveralls` and `check-broken-links` tasks when we run the Test phase.
2018-10-29 16:04:22 +02:00
Johann-S 2868f07240 update our coverage required for branches and functions 2018-10-29 14:49:29 +01:00
Johann-S 91f8077ed5 add unit tests for our carousel 2018-10-29 14:49:29 +01:00
XhmikosR bb0d6bf178 Update devDependencies and gems. 2018-10-29 15:40:20 +02:00
Johann-S 2c2d04aba5 add unit test to test tabs can be removed without throwing error 2018-10-29 14:01:03 +01:00
dercodercom a282c22fc7 Update tab.js
I'm using Tab.js with remove function and get an error "TypeError: container is undefined [more info]", with this check the error is fixed.
2018-10-29 14:01:03 +01:00
Martijn Cuppens fff9e17d7e Delete sache.json (#27530) 2018-10-29 13:35:26 +02:00
Martijn Cuppens 45610a0f39 fix tab fade out (#27533) 2018-10-29 09:54:45 +01:00
Johann-S ffc8d507c7 calculate modal transition duration based on modal-dialog element 2018-10-28 23:59:17 +02:00
Ng Yik Phang 47ef0a877e Improve pagination's documentation accessibility.
- Remove `.sr-only` span for previous/next page, there is already`aria-label`
- Add `aria-disabled="true"` and `aria-current="page"`
2018-10-23 06:21:57 +03:00
ItaloBC 557f3fe100 Added Viewport Height & Width helpers
This allows the user to make a container (ideally) to use viewport height and width and allow better vertical/horizontal alignments of elements.
2018-10-23 06:04:08 +03:00
Martijn Cuppens 1c91f48251 Variable darken percentage for emphasized links 2018-10-23 05:58:19 +03:00
Caíque de Castro Soares da Silva ff40e00323 Fix readonly-plain-text with button addon (#25871)
Fixes #25870
2018-10-23 05:53:38 +03:00
Mitko Georgiev ee1daf090a Easy merging of new grid breakpoints and containers (#26714)
This change follows exactly what was done for the `$grays`, `$colors`, and `$theme-colors` lists in #23260. This allows for easy addition of new breakpoints or grid containers also.
2018-10-23 05:48:44 +03:00
Martijn Cuppens dd539094ea Custom select validation padding fix and additional custom select feedback icon variables 2018-10-23 05:43:59 +03:00
Martijn Cuppens d0b7eb1111 Cleanup stylelint comments 2018-10-23 00:21:33 +03:00
XhmikosR 807e8fe4a2 Further ToC fixes. 2018-10-22 21:57:25 +03:00
XhmikosR 0c56f054a5 Remove unneeded check.
Leftover from after 43c20b9.
2018-10-22 09:24:36 +03:00
XhmikosR d48f03b050 Use the example shortcode in more places.
Now that we don't have the ToC issue with the examples' headers in ToC, we can safely do this.no_toc_section_class
2018-10-22 09:24:36 +03:00
Martijn Cuppens 00860f02d4 Disallow transition property (use mixin instead) 2018-10-21 22:46:20 +03:00
Johan Beckers 09aca3fb9a Unitless breakpoints
If I want to customise the breakpoints using `em`, I get compatibility errors.

It is good practice to set breakpoints in `em` instead of `px` when users use browser scaling.
See https://zellwk.com/blog/media-query-units/#concluding-the-experiments for more information why someone would like to do this. Only Safari users can get annoyed: https://adamwathan.me/dont-use-em-for-media-queries/

In any case, using a unitless number at line 42 would be very convenient.
2018-10-21 21:31:28 +03:00
XhmikosR 9ed0b318b9 Update devDependencies and gems. 2018-10-21 19:11:20 +03:00
Nicolay Hvidsten 345f26a667 Change erroneous documentation for .flex-fill (#27265)
The current documentation for .flex-fill indicated that the flex
items would have equal widths, regardless of content. This update
ensures that the documentation reflects the fact that the width
of the flex items depends on their actual content.
2018-10-21 18:54:09 +03:00
Andrew Luca 1f1308ba22 test(Modal): reuse _getScrollbarWidth in tests 2018-10-21 17:45:02 +02:00
XhmikosR ff9b195da7 Revert "Simplify .gitattributes."
This reverts commit 1c78f703e0.

Unfortunately some Linux distros use an ancient git version and this change requires git >= 2.10.
2018-10-21 18:33:28 +03:00
Martijn Cuppens 44ddabad4b Simplify theme color usage (#27378) 2018-10-21 17:39:23 +03:00
XhmikosR 0a3755b30a Fix typo in the Popper.js checks. (#27488) 2018-10-21 11:51:20 +03:00
Andrew Pucci d13ae1fc1a Card header color theming (#26573)
Define new variable for card header color
2018-10-21 11:05:54 +03:00
ysds becb6ce346 Add dropdown responsive alignment (#26255) 2018-10-21 11:01:22 +03:00
ysds 6bae9ef786 Example dashboard: Responsive padding-top of the main content (#26332) 2018-10-21 10:56:53 +03:00
Martijn Cuppens 49ca910667 Improve Grid examples. (#26808)
Removes the grid.css file of the grid example and makes use of utility classes
2018-10-21 10:52:13 +03:00
Andrey 3075432584 feature/yiq function, add parameters, with default values. (#26917) 2018-10-21 10:33:53 +03:00
Martijn Cuppens e2014e8ed7 Custom checkboxes and radios retheming (#27064) 2018-10-21 10:25:07 +03:00
Martijn Cuppens c9a43b027a Re-add carousel control transition (#27277) 2018-10-21 10:13:35 +03:00
Doug Puchalski 59f1802e98 Outline button variant hover mixin (#27289)
The outline button variant mixin should use the hover mixin, as does the non-outline version.
2018-10-21 10:09:08 +03:00
midzer 50d866da24 optimize data URIs (#27284) 2018-10-21 10:03:17 +03:00
Martijn Cuppens 2a28c7d9fd Carousel fade cleanup (#27278) 2018-10-21 09:55:43 +03:00
Roy Klutman fccdda5448 Fix for double border on cards in an accordion (#27133) 2018-10-21 09:49:05 +03:00
XhmikosR bc2a98522d webpack page: Remove precss reference 2018-10-20 23:07:48 +03:00
719media 2c1a743cc9 Update _custom-forms.scss (#27276)
user-select has no effect on before/after pseudo elements
2018-10-20 22:35:56 +03:00
andresgalante 86822d93d6 changes the variables for input font size 2018-10-20 22:29:24 +03:00
Ian Walter 871a51a548 Fix #26372: disabled btn hover issue (#27407)
When gradients are enabled there is still a hover state on disabled
buttons since the hover rules apply to background-image and disabled
rules apply to background-color. This applies the logic already present
in dropdowns to buttons. This fix was originally proposed by @ysds.
2018-10-20 22:12:33 +03:00
semenyakNik c5eb6043d8 Custom select inconsistent padding (#27415) 2018-10-20 22:00:48 +03:00
Martijn Cuppens 7190c38e4c Remove redundant width and height properties 2018-10-20 21:46:53 +03:00
XhmikosR 700f74cebd Make use of jekyll-toc's no_toc_section class.
Requires jekyll-toc v0.8.0.
2018-10-20 21:39:53 +03:00
XhmikosR 79db264910 package.json: add version_short and use it in the npm scripts. 2018-10-20 21:17:50 +03:00
XhmikosR 242f19897d Clean up docs Sass code.
* remove unused rules
* use Sass nesting in more places
* use the core mixins in more places
* use the color variables more
2018-10-20 21:08:37 +03:00
XhmikosR d08607c080 Unregister Service Worker. 2018-10-20 16:00:28 +03:00
Mark Otto 5bf37eba53 Remove service worker 2018-10-20 16:00:28 +03:00
Johann-S b1dc6b324c avoid drag img 2018-10-20 15:32:09 +03:00
patrickhlauke 8883ccb205 Set touch-action to "none"
Firefox currently seems extremely fickle - with `pan-y` if fires pointercancel as soon as a touch strays even a pixel or so vertically.
While `touch-action: pan-y` would be ideal (allowing users to scroll the page even when their finger started the scroll on the carousel), this prevents a swipe that isn't perfectly/only horizontal to be recognised by Firefox.
2018-10-20 15:32:09 +03:00
patrickhlauke 9164f77269 Refactor (and correct) start/move/end functions
in particular, no need to use originEvent, and preventDefault() only needed for touch events
2018-10-20 15:32:09 +03:00
patrickhlauke 39ae077837 Remove unnecessary pointer event listeners
these may also be the cause of weird behavior in Chrome/Surface, where scrolling vertically triggers slide advance
2018-10-20 15:32:09 +03:00
patrickhlauke 6be7293a85 Abandon swipe altogether if more than one touch detected 2018-10-20 15:32:09 +03:00
patrickhlauke 7b8f01d839 Use correct touch-action values
- my fault, my original advice of using `touch-action: pan-x` is exactly the value we *don't* want to have the browser handle...
2018-10-20 15:32:09 +03:00
Johann-S 735c374e9c use pointer events if available 2018-10-20 15:32:09 +03:00
Johann-S c08652cfe8 swipe left/right without hammerjs 2018-10-20 15:32:09 +03:00
Johann-S caefd70463 Add touch support in our carousel with HammerJS. 2018-10-20 15:32:09 +03:00
Christian Oliff bf57389647 Add query string to the start_url to track how often app is launched
Useful suggestion from Google in the Web App Manifest documentation.
https://developers.google.com/web/fundamentals/web-app-manifest/#start-url
2018-10-20 14:58:37 +03:00
galczo5 6cbcd03efb Add show and hide methods to dropdown (#27370) 2018-10-20 14:27:51 +03:00
Andres Galante 5088f02730 Add font weight options for form controls and custom select (#27343) 2018-10-20 11:50:20 +03:00
Bastien a86aef0ae0 table: Add border color relative to theme for accessibility (#25755) 2018-10-20 11:21:31 +03:00
XhmikosR 282b77ee9c docs search: take into account the current URL. 2018-10-19 22:09:50 +03:00
Catalin Zalog a16ffc7ba1 feat: keep contrast on .table-dark
In case we set `$body-bg` to a dark color, we have to keep table contrast relevant.
2018-10-19 13:01:38 +03:00
namiltd 1231e1d6bc Fix size of modal dialogs at different widths (#27094) 2018-10-19 12:56:46 +03:00
Roy Klutman 5a1588ed33 Fix double border on list-group (#27126) 2018-10-19 12:01:36 +03:00
chocolateboy ef32979222 Fix doc typo 2018-10-19 11:36:18 +03:00
XhmikosR 5d834e0510 Travis: stop installing chrome (#27468)
It seems it works without it.
2018-10-18 11:56:55 +03:00
XhmikosR 43bf268248 Rename docs production script to production and use JEKYLL_ENV. (#27410) 2018-10-18 10:45:49 +03:00
XhmikosR 99e0e30402 Move lint scripts outside of the main scripts.
This allows us to run `npm run dist` without tests.
2018-10-18 10:05:19 +03:00
XhmikosR f6a39e39c8 npm release-zip: remove the folder before zipping. 2018-10-18 10:05:19 +03:00
Martijn Cuppens a6669b478b Fix btn focus color (#27178) 2018-10-17 23:21:33 +03:00
Helmut Granda ef27179c18 Delete callout-info-content-iamge-overlay-overflow.md
Deleting external file since it is not needed, the copy of this file will be added directly to card.md.
2018-10-17 23:15:01 +03:00
Helmut Granda 34c7b07f7f Adding call out note directly to the page.
Instead of using an external source since this is only a one time note it is safe to be placed within the document itself.
2018-10-17 23:15:01 +03:00
Helmut Granda 42006e7b17 Adds a note about the limitations on content being larger than the image.
In the event that the content is larger than the image, the content will continue to be displayed outside the image itself. There are some workarounds but they apply only to browsers that support this option and IE11 is not one of them.
2018-10-17 23:15:01 +03:00
Martijn Cuppens 832a90d9d3 Move media from layout to components 2018-10-17 22:45:54 +03:00
XhmikosR 1c78f703e0 Simplify .gitattributes. 2018-10-17 12:23:01 +03:00
Mark Otto 8cf0fe2ee0 Add a CODEOWNERS file (#27271) 2018-10-15 16:17:42 +03:00
XhmikosR 29f849879b Move docs .eslintrc in site/. 2018-10-15 16:03:16 +03:00
XhmikosR 18ff70c248 Update devDependencies and gems. 2018-10-15 14:52:22 +03:00
XhmikosR 3574af5231 Include css-copy in the css script. 2018-10-15 14:31:42 +03:00
Martijn Cuppens ad60a58043 Rename everything to skippy and center skippy (#27420) 2018-10-15 14:19:41 +03:00
XhmikosR 43c20b912e Combine examples and simple layouts. 2018-10-15 12:54:51 +03:00
XhmikosR 7d6a0aa24d Tighten stylelint config. (#27336)
Also improve its formatting.
2018-10-15 12:24:53 +03:00
Martijn Cuppens fc77c5540e Change h1 to h2 2018-10-15 09:53:11 +03:00
XhmikosR 6c7ec73b16 Reduce indentation. 2018-10-14 22:00:58 +03:00
XhmikosR 70aec100e4 Travis: add --clean in bundle install command. 2018-10-14 17:05:04 +03:00
XhmikosR bcbf3f2ec6 build/generate-sri.js: add popperjs. 2018-10-14 08:17:40 +03:00
XhmikosR f9dea7624b Move periods outside of links. 2018-10-14 08:17:40 +03:00
XhmikosR ea575bc1a7 js/tests/visual: fix popper script.
Broken after 787441d.
2018-10-14 08:17:40 +03:00
XhmikosR 7749b91130 Fix a few links.
* fix `/versions/` link
* add missing trailing slashes
* fix a couple of redirects
2018-10-14 08:17:40 +03:00
XhmikosR d2c6e237e4 Remove the unused jobs Jekyll variable. 2018-10-14 08:17:40 +03:00
XhmikosR 7d8b26980f Update popper.js in docs. 2018-10-14 08:17:40 +03:00
XhmikosR 449979decf docs: fix bundle SRI hash.
Also, remove popper.js from this script since it's not present in the repo.
2018-10-14 08:17:40 +03:00
XhmikosR 339311ddb5 Fix invalid selectors in tests and examples. 2018-10-14 08:17:40 +03:00
XhmikosR 4ce091b87f Add a release npm script. 2018-10-14 07:51:40 +03:00
XhmikosR 3fcddfa42e Remove sri-toolbox dependency.
We can achieve the same very easily.
2018-10-14 07:41:45 +03:00
XhmikosR b2b933c181 Update Travis config.
* remove `dist: trusty` since it's the default
* disable email notifications
2018-10-13 13:55:49 +03:00
m5o 0e5813bfd4 update holder.js image dimensions for sizing example
* update holder.js image dimensions for sizing example
  * use `100%` instead of `100%`
  * 📝 https://github.com/imsky/holder#fluid-placeholders
2018-10-13 00:10:05 +03:00
m5o 74393bffc9 refine deprecated holder.js color syntax
* refine deprecated holder.js color syntax
  * remove `#55595c:#373a3c`
* harmonize with all other holder.js examples
2018-10-11 23:49:08 +03:00
XhmikosR f59c2d946c Update devDependencies and gems. 2018-10-07 08:20:24 +03:00
XhmikosR 9d63deb954 Rename script. 2018-10-07 08:20:24 +03:00
Mark Otto 29bd5e3218 Add overflow-auto and overflow-hidden utilities 2018-10-06 17:55:55 -07:00
Spencer Davies 23015571b9 fix - small grammar error
"given move to" -> "given the move to"
2018-10-06 11:39:09 +03:00
Tanmay Gupta cd880619d4 updated README (#27349) 2018-10-02 23:38:46 +03:00
XhmikosR 19f70f9d4c Tweak build/build-plugins.js. 2018-09-26 17:04:33 +03:00
Johann-S 7c7a1706c3 remove useless iife 2018-09-26 15:03:38 +02:00
XhmikosR 02c4444f6c Remove unneeded path.resolve. 2018-09-26 15:53:44 +03:00
XhmikosR 59197765f4 Include the plugin's filename in the license header. 2018-09-26 15:53:44 +03:00
Helmut Granda ebc220754b Add license headers in js/dist files
By implementing the same approach of rollup.config.js
and replicate it in build-plugins.js, individual plugins
will display license headers.
2018-09-26 15:53:44 +03:00
Howard Cox d7f79b06dc Prevent pointer events on disabled list-group-item 2018-09-26 07:20:46 +03:00
Howard Cox 44b3f77852 Prevent pointer-events on disabled anchor dropdown-item
Fixes #26695
2018-09-26 07:20:46 +03:00
XhmikosR 0350858edf Fix examples after the recent JS changes.
`https://example.com` isn't a valid selector.
2018-09-25 17:45:06 +03:00
Florian Lacreuse 46893e23a3 Add explanation about accordion wrapper. 2018-09-25 11:41:35 +03:00
XhmikosR 252e538985 Make release-zip include the root folder.
Also, now it should work cross-platform assuming `zip` is present.
2018-09-20 12:54:34 +03:00
719media e1b7404bb8 Update forms.md
fix duplicate id attribute
2018-09-20 09:31:02 +03:00
Mark Otto 4dc5671d1b Remove flex utilities from .list-group-item's as they're display: block; meaning the utilities have no affect. Closes #27162. 2018-09-18 22:14:45 -07:00
Mark Otto 55655b2781 dist 2018-09-18 21:42:38 -07:00
Mark Otto 2f611c657b Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev 2018-09-18 21:35:56 -07:00
Mark Otto f6244654a6 dist 2018-09-18 21:35:40 -07:00
Martijn Cuppens 7bd1bc2431 Allow multiple ways of padding declaration for modal header (#26976)
* #26967: Allow multiple ways of padding declaration for modal header
* #26976: split vertical and horizontal modal padding
2018-09-18 21:33:31 -07:00
Mark Otto 0bec1c8897 Add new variables for form feedback tooltips (#26959)
Fixes #26886
2018-09-18 21:27:02 -07:00
XhmikosR f9142bdd62 docs: switch to font-weight 600. (#27226)
Segoe UI doesn't have font-weight: 500 making things not looking as expected.
2018-09-18 18:31:51 -07:00
Johann-S 75f83da539 use bsCustomFileInput in our documentation (#27264) 2018-09-18 16:52:10 +03:00
Mark Otto c8fd9ddd97 Consistently re-use input variables 2018-09-18 16:29:46 +03:00
Christopher Morrissey ea0faadde5 feature(carousel): carousel-item interval (#26667)
adds the ability to assign data-interval to an individual carousel-item
2018-09-18 15:55:48 +03:00
Martijn Cuppens e604958641 Variable .btn and .form-control font sizes (#26908) 2018-09-18 15:35:25 +03:00
ysds 18ae915f54 Bring the focused button in input group to the front (#26910) 2018-09-18 15:29:02 +03:00
Mark Otto 029f92c5e5 Document input group wrapping behavior and override via utility class
Fixes #25409
2018-09-18 14:51:34 +03:00
Nabil Kadimi 876e320364 Switch to .btn-secondary for the search button so that it's accessible (#27255) 2018-09-18 13:10:02 +03:00
Mark Otto 7c88c46517 Clarify docs for custom form structure
Fixes #25440
2018-09-18 13:03:44 +03:00
XhmikosR 787441d4bf docs: use the bundle dist file. 2018-09-18 12:50:18 +03:00
Mark Otto 5543229950 dist 2018-09-17 12:36:49 -07:00
Mark Otto 9e24d68112 Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev 2018-09-17 12:34:41 -07:00
Mark Otto b68ea572da dist 2018-09-17 12:34:34 -07:00
XhmikosR 47107d4647 Switch to find-unused-sass-variables for finding unused Sass variables. 2018-09-17 19:34:15 +03:00
Martijn Cuppens bf4dab72df #27220: cleanup .btn-link hover/focus properties (#27250) 2018-09-17 09:34:34 -03:00
Mark Otto 301a22b164 Update copy 2018-09-17 09:06:12 +03:00
XhmikosR 0d869a1063 Remove background-colors example and show only the code.
This is to avoid confusion.
2018-09-17 09:06:12 +03:00
Catalin Zalog 928ebd8925 _variables.scss comments/spacing consistency (#27247)
* style: `_variables.scss` comments consistency

* style: `_variables.scss` spacing consistency
2018-09-16 14:32:11 -07:00
Nabil Kadimi ed48d9a440 Typo (#27248) 2018-09-16 19:02:30 +01:00
XhmikosR 8bfecc7dc6 Update svgo.yml. 2018-09-16 18:06:24 +03:00
Mark Otto c3d93b34ba Simplify HTML and CSS
- Remove iframes
- Turn into larger click areas
- Drop entire team.scss file for components and utilities
2018-09-16 02:04:32 +03:00
XhmikosR 4e8c9ba1da browsers-devices.md: Use Jekyll variable. 2018-09-16 02:04:32 +03:00
XhmikosR 685db4d64f Restore team page. 2018-09-16 02:04:32 +03:00
XhmikosR fe873a3310 Travis CI: Actually don't install npm@5 at all. 2018-09-16 01:52:14 +03:00
XhmikosR 3d17e3a93a Travis: Don't install npm@5 when the current npm is newer. 2018-09-16 01:52:14 +03:00
Johann-S 8cd485fcc8 speed up browser tests 2018-09-15 08:50:13 +03:00
XhmikosR 0b97d1b0c4 Use https in more places and fix a few redirects. 2018-09-14 18:27:55 +03:00
XhmikosR c6f7276729 Update popper.min.js to v1.14.4. 2018-09-14 18:07:50 +03:00
XhmikosR bcb4e7be98 Update anchor.min.js to v4.1.1. 2018-09-14 18:07:50 +03:00
Martijn Cuppens 7a01f3c41b Selector improvement (#27219) 2018-09-14 09:31:48 -03:00
Johann-S a689120fd2 throw error when folks try to use a bad selector 2018-09-13 22:13:36 +02:00
Johann-S 9efed82522 refactor karma config in one file 2018-09-13 21:59:37 +02:00
Johann-S c543f360c9 do not use coverage files on browserstack 2018-09-13 21:59:37 +02:00
Andres Galante ed3c611949 creates variables for navbar brand colors #27187 2018-09-13 17:51:14 +03:00
Johann-S 6e2a823a44 collapse children with no data-parent 2018-09-10 21:10:00 +02:00
Herst de75bd0a4f Remove certain Chromium entries from Wall of Bugs 2018-09-10 09:52:13 +03:00
XhmikosR 83006463c9 Update devDependencies. 2018-09-09 19:05:03 +03:00
Herst 7b9c8e8eb3 Added type="button" to <button>s without any type (#27174)
(again)

https://github.com/twbs/bootlint/wiki/W007
2018-09-03 16:55:04 +01:00
Roman O fad49e710e Ignore percentage values for compare in maps 2018-09-02 16:43:54 -07:00
Martijn Cuppens 97eea3b2bf Set .btn base color 2018-09-02 16:28:42 -07:00
Martijn Cuppens 3ef2db1e85 Move transparent background to .btn and remove background-image 2018-09-02 16:28:42 -07:00
Martijn Cuppens 19afb12b65 Set max-width to 100%
Fixes #27114
2018-09-02 16:26:53 -07:00
Martijn Cuppens 9f53e06e46 Remove -webkit-text-decoration-skip 2018-09-02 16:26:18 -07:00
Martijn Cuppens e3c0b3d3af #27112: fix border focus border color 2018-09-02 16:25:55 -07:00
ysds d1de8737aa Move CSS of hover underline to base from color variants 2018-09-02 16:25:21 -07:00
Mark Otto 97801a7a2d Add new docs Versions page. 2018-09-02 13:57:25 -07:00
Johann-S a3e45d8ced add information about valid selectors (#27137) 2018-08-31 21:00:29 +02:00
Johann-S 54d86e6249 move away from sauce labs to browserstack 2018-08-30 22:17:15 +02:00
XhmikosR 2f5f8ef755 build-plugins.js: Remove redundant space 2018-08-29 15:51:21 +03:00
XhmikosR b5ad6129a2 Update devDependencies. 2018-08-28 21:48:38 +03:00
ysds 5266669d34 Remove extra line break 2018-08-28 02:22:46 +03:00
Martijn Cuppens 0e8831505a Simpler carousel indicators css (#26996) 2018-08-26 14:53:36 +03:00
acj b652932f0c Remove redundant space from blockquote footer prefix 2018-08-26 14:48:51 +03:00
acj cd28869a2f Move blockquote footer font size to variables
Blockquote footer font size is currently hardcoded to 80%, implying (in a comment) that this would result in the default font size. However, since the blockquote font size itself is variable, this is not necessarily true, and 80% of anything actually results in an arbitrary font size.

80% as a default is still fine.
2018-08-26 14:48:51 +03:00
XhmikosR 00398e31c7 Remove _layouts/redirect.html.
This isn't needed, because it's not supposed to be seen normally, with JavaScript enabled.
2018-08-25 23:41:17 +03:00
m5o 7f9e70202e add text-reset to text utilities (#26866) 2018-08-25 19:31:52 +03:00
Mark Otto 3a02f21b33 Specify new height for inputs in floating label example after v4.1.3's addition of a fixed height property on .form-control 2018-08-25 19:02:15 +03:00
Mark Otto df3993a600 Round corners on modal footer
Matches the method used for the modal header. Fixes #26955.
2018-08-25 18:49:09 +03:00
Martijn Cuppens 8073e10fb3 #23389: Add breadbrumb in docs search results 2018-08-25 15:04:53 +03:00
XhmikosR da717b03e6 Update devDependencies and gems. 2018-08-20 10:49:49 +03:00
Patrick H. Lauke 061a696855 Minor: missing dot before classname in explanatory text 2018-08-19 22:21:20 -07:00
Yannick Warnier 17008fb8f8 Fix section numbering in scrollspy doc example 2018-08-19 11:21:38 -07:00
Greg Tyler 5fb7c903b3 Use mr utility class throughout media object docs 2018-08-19 11:18:59 -07:00
Rowan-James Tran 24bdadf9d3 Remove nowrap from .btn 2018-08-19 11:17:10 -07:00
Martijn Cuppens 4def76c34e #26975: remove grid columns min height 2018-08-19 11:13:18 -07:00
Mark Otto c0fd91788e dist 2018-08-18 20:22:08 -07:00
Johann-S ab7ce480f2 Recommend a plugin to animate custom file input (#27088) 2018-08-18 16:57:07 +03:00
XhmikosR 5fed73d409 Update deps. 2018-08-13 19:20:17 +03:00
XhmikosR 107a8da550 Update bundlesize limits. 2018-08-13 10:10:52 +03:00
Martijn Cuppens bf7d4aef81 Change if statement 2018-08-13 10:10:52 +03:00
Martijn Cuppens 57661dff6d Tweak modal transform (#27005) 2018-08-13 10:00:53 +03:00
Johann-S c0b40745e0 add babel plugin proposal object rest spread to our dev deps 2018-08-12 23:34:25 +02:00
XhmikosR c81bae06f5 Add missing trailing slash in Edge tracker links. 2018-08-12 23:42:01 +03:00
XhmikosR e8e8df9cba Revert "Remove Chinese translation since it 404s."
This reverts commit 8bb35313b1.

This is no longer needed.
2018-08-12 23:42:01 +03:00
XhmikosR 34199be5ec Revert "broken link checker: check external links too."
This reverts commit 9e5ec00d50.

Unfortunately, we are getting too many timeouts.
2018-08-12 23:42:01 +03:00
XhmikosR b442ce3130 build/*.js: set sourceType to module. 2018-08-12 22:22:12 +03:00
XhmikosR acd19de6a9 Use ES6 arrow function. 2018-08-12 22:22:12 +03:00
XhmikosR 8bb35313b1 Remove Chinese translation since it 404s. 2018-08-12 21:15:55 +03:00
XhmikosR 63909069c4 docs/4.1/components/forms.md: fix useiconic link. 2018-08-12 21:15:55 +03:00
XhmikosR 9e5ec00d50 broken link checker: check external links too.
It's slower, but since it runs only on Travis, we better be safe.
2018-08-12 21:15:55 +03:00
XhmikosR 208f22c8d7 Run all css tasks in dist script. 2018-08-12 21:15:55 +03:00
XhmikosR b5af1c6eaf Fix paths. 2018-08-12 21:15:55 +03:00
XhmikosR 4317d4fb2d Update devDependencies and gems.
Also, enforce LF in clean-css.
2018-08-12 20:52:35 +03:00
Johann-S eab9da5beb fix(util): use querySelector for ids 2018-08-12 17:01:01 +02:00
Johann-S 6b92321f6a fix(util): use getElementById when it's possible 2018-08-07 18:49:02 +02:00
XhmikosR ae53690ab4 Commit our svgo config. 2018-08-02 19:17:18 +03:00
jarstelfox 198091d635 Fix dispose causing popover title to change
see: https://github.com/twbs/bootstrap/issues/26847
in v4, destroy was replaced by dispose
2018-08-02 13:51:08 +02:00
Jonathan 854da5a7c1 Hyphenate client-side/server-side (#27016) 2018-08-02 11:13:19 +01:00
Mitchell Grice c5bb4dc5d1 Fix #26990 broken external example 2018-08-02 11:38:21 +02:00
Martijn Cuppens b8cd49015a Use Iconic github page instead of site
The SSL certificate of the useiconic.com is expired
2018-08-02 12:28:45 +03:00
XhmikosR 81f1249e9c Update package.json
Fix paths to docs.
2018-08-02 09:25:06 +02:00
XhmikosR 5570f1c161 package.json: be more explicit with the files we include. 2018-08-02 09:40:02 +03:00
Mark Otto 0b5a8d9c98 Merge branch 'form-validation-icons' into v4-dev 2018-07-29 14:18:09 -07:00
Martijn Cuppens 774724a7b6 #26972: fix responsive highlight width 2018-07-29 14:13:28 -07:00
XhmikosR c73b4a705e Update devDependencies and gems. 2018-07-29 14:07:38 -07:00
Robert 70ad98d34d Fix custom-select font size/padding (#26585)
fixes #26476
2018-07-29 14:04:35 -07:00
Mark Otto 6233ea378d dist 2018-07-29 13:02:42 -07:00
Mark Otto f803fb9903 Add margin utils to the grid for fully functional grid control (#26957)
* Add margin utils to the grid for fully functional grid control

* bump the max filesize
2018-07-28 21:34:27 -07:00
lgdean e53ab71d4b fix typo: seperator -> separator (#26982) 2018-07-27 19:34:30 -07:00
XhmikosR a194abbb5a Update browsers-devices.md 2018-07-26 06:41:29 +03:00
Martijn Cuppens 4f926671e9 Carousel indicators transition (#26902) 2018-07-24 21:15:05 -07:00
ysds bbee41431d Fix custom range height (#26898)
Fixes #26897
2018-07-24 17:56:03 -07:00
ysds ab53ccc2cc Flexbox based sticky footer example (#26674)
* Flexbox based sticky footer

* Update guide message

* Use utility classes instead of custom CSS
2018-07-24 17:40:55 -07:00
Martijn Cuppens d80635c1cd Custom input range disabled styling (#26540) 2018-07-24 17:39:15 -07:00
Mark Otto ba25e38b4a Merge branch 'garhbod-patch-1' into v4-dev 2018-07-24 17:26:29 -07:00
Mark Otto fb2de04374 Merge branch 'v4-dev' into malkomich-v4-dev 2018-07-24 17:25:12 -07:00
Stefan Wrobel e3b98c51da Add .text-decoration-none utility class (#25933)
ref: https://github.com/twbs/bootstrap/pull/23881#issuecomment-337789596
2018-07-24 17:24:20 -07:00
Andrew c8a4d9dd74 add 'lighter' and 'bolder' font weight classes (#26580)
* add 'lighter' and 'bolder' font weight classes

these are 2 special values for font weight, that will give their content a font-weight value of 100 more or less than their inherited font-weight.

probably doesn't fully fulfill this issue, https://github.com/twbs/bootstrap/issues/23969, but it's a start

* Update .stylelintrc

* add 'lighter' and 'bolder' variables per @mdo 's request.
2018-07-24 17:23:17 -07:00
Mark Otto 3b55873438 Ship v4.1.3 2018-07-24 08:54:34 -07:00
Mark Otto 72447ad497 dist 2018-07-23 17:51:14 -07:00
Johann-S d18045210c fix(tests): visual plugins tests 2018-07-23 17:29:53 -07:00
Martijn Cuppens c74a32703a Allow background images for active buttons 2018-07-20 19:25:01 -05:00
Mark Otto f87d5eab69 Clarify to close #26329 2018-07-20 19:11:23 -05:00
Mohammad Younes 6cca02f163 fix .modal-dialog-centered on IE10/11 2018-07-20 19:04:23 -05:00
Joshua David c04d60b88f Fix modal overflow style nesting (#26742)
Nest `.modal` styling directly under `.modal-open`
to avoid issues when bootstrap is nested.
2018-07-20 18:55:16 -05:00
Mark Otto 23e4d48e65 Merge branch 'document-tooltip-flickering' of https://github.com/simPod/bootstrap into simPod-document-tooltip-flickering 2018-07-20 18:34:57 -05:00
Martijn Cuppens 6f52b2eafa #26912: fix custom file input z-index 2018-07-20 18:31:47 -05:00
ysds c45e5594b7 Fix property order 2018-07-20 18:28:09 -05:00
ysds 900775483f Remove :not(:root) from the workaround for SVG overflow bug
* `svg:not(:root)` specificity is very high (https://github.com/necolas/normalize.css/issues/718)
* Bootstrap do not support SVG documents (See #26878)
2018-07-20 18:28:09 -05:00
ysds d7acc977ef Lower the specificity of vertical-align of SVG 2018-07-20 18:28:09 -05:00
Mark Otto 3cfa06004e Add Noto Color Emoji to font stack
Fixes #26227
2018-07-20 18:24:14 -05:00
Mark Otto bdb6723a45 Clarify custom select styles
Fixes #26281
2018-07-20 18:23:42 -05:00
Mark Otto 4693672cff Update validation tooltips to use tooltip vars (#26887)
Updates the properties and values for which we have existing variables to match our tooltips. Come 4.2, we'll create new tooltips for these.
2018-07-20 18:21:40 -05:00
Mark Otto 28b9bc068f Improve responsive table docs
- Splits the examples with code snippets
- Adds note about possible broken visuals

Closes #25813
2018-07-20 18:18:48 -05:00
Johann-S eb81c39f2c feat(plugins): allow to import separate plugins 2018-07-19 19:59:45 +02:00
XhmikosR 6cf8700fd9 Move the browserslist config to a separate file. 2018-07-16 21:34:53 +03:00
Mark Otto 6d84d491d1 Merge branch 'v4-dev' of https://github.com/Varunram/bootstrap into Varunram-v4-dev 2018-07-15 22:46:37 -07:00
Mark Otto a4b2e39178 More wordsmithing 2018-07-15 22:27:36 -07:00
Mark Otto 233378ade9 dist 2018-07-15 14:16:35 -07:00
Lefteris Psitopoulos 9bfd400527 #25842 Remove max-width from table class 2018-07-15 14:06:33 -07:00
Mark Otto f426a67394 Form control heights (#26820)
* Redo input height on .form-control

- Use the already present -height variables on .form-control
- Consolidate the select size and multiple overrides into the .form-control base class instead of sm/lg modifiers
- Remove the Sass extends from input groups since it picks up too many selectors

* Prevent height on textareas
2018-07-15 14:00:23 -07:00
ysds 48c723b60f Fix custom range thumb style (#26385)
* Fix focus box shadow of custom ranges

* Put `:focus` selector right after `.custom-range`
* Remove unnecessary `outline: none`

* Fix box-shadow issues in IE/Edge

* Better align

* Fix thumb vertical positions in IE/Edge

* Fix incorrect formula of thumb vertical positions in Webkit

* Fix an incorrect comment

* Fix incorrect box-shadow-width
2018-07-14 21:31:20 -07:00
Andrew Luca 0fd40837e8 Fix custom-forms heights and position (#25602)
Now `.custom-control` will have height equal to `$font-size-base`
Fix custom checkbox and radio top position (we can't subtract rem from unit)
`$line-height-base - $custom-control-indicator-size` is not valid
Because `$line-height-base` is a unitless variable and `$custom-control-indicator-size`
is a unit (rem) variable
2018-07-14 21:29:19 -07:00
Mark Otto 2d8422f5f5 fixes #26579 2018-07-14 21:10:45 -07:00
Mark Otto 52813f4bc8 Update cursor on floating labels example (#26826) 2018-07-14 15:14:29 -07:00
Mark Otto 2eb456b5d8 Merge branch 'examples-cleanup' of https://github.com/MartijnCuppens/bootstrap into MartijnCuppens-examples-cleanup 2018-07-14 14:07:14 -07:00
Mark Otto 9928311bd9 Merge branch 'box-shadow_issue_26377' of https://github.com/parammittal16/bootstrap into parammittal16-box-shadow_issue_26377 2018-07-14 14:04:39 -07:00
Mark Otto a5d48323a2 Update issue templates 2018-07-13 09:31:55 -07:00
Mark Otto b2c4ce5273 Update issue template 2018-07-13 09:30:58 -07:00
Mark Otto 1f46337a89 Update README.md 2018-07-12 09:27:14 -07:00
Mark Otto c4ccfbe04e Ship v4.1.2 2018-07-12 09:27:14 -07:00
Simon Podlipsky da56d918ac Reword 2018-07-12 17:31:20 +03:00
XhmikosR a49f5cab6f Clean up npm scripts a bit more.
`docs-serve` was duplicated. Also, extend the existent `docs-serve` script for `docs-github-serve`.
2018-07-12 00:06:12 -07:00
XhmikosR 6589408a4b Update scripts. 2018-07-11 23:30:46 -07:00
Mark Otto de7bef881e update card columns docs to make copy more accurate
closes #26586, closes #26587
2018-07-11 23:30:46 -07:00
Mark Otto 5a11ba5d6b clarify docs dev and add 4.0 link 2018-07-11 23:30:46 -07:00
Mark Otto aedd700768 change dist to only affect main since docs css isn't distributed 2018-07-11 23:30:46 -07:00
Mark Otto 4518288c7c Move copy tasks back to css-main and js-compile so docs-github task runs properly 2018-07-11 23:30:46 -07:00
Mark Otto 159aebc274 Update watch scripts to properly copy JS files
- Updates nodemon scripts to watch specific directories instead of ignoring several
- Split watch tasks for CSS and JS into main and docs
- Add docs-watch script to serve the docs instead of just build
- Add new start script so that instead of two tabs, one for docs-watch and one for watch, we just run npm start
2018-07-11 23:30:46 -07:00
Mark Otto 01f568d9a5 fixes #26637 2018-07-11 23:30:46 -07:00
Christian Oliff 50ff31bf51 Optimised Google Analytics Loading 2018-07-11 23:30:46 -07:00
Mark Otto 01c70b11ab new url 2018-07-11 23:30:46 -07:00
Josh Wand a0551c72f3 remove reference to breakpoint-specific gutter widths which are not implemented
see #22944 and #24620
2018-07-11 23:30:46 -07:00
Theodore Dubois df24f880f4 Make navbar download the same as homepage download 2018-07-11 23:30:46 -07:00
Mark Otto 1c92bac655 remove jobs link 2018-07-11 23:30:46 -07:00
Mark Otto 0e920ce3f4 Reorganize docs for easier deploys
With the current docs directory setup, I'm making too many mistakes and have to manually address path changes and directory moves on deploy. This makes for a frustrating experience developing locally and shipping releases. With this PR, we're basically back to the same setup from v3—duplicating the dist directory into our docs directory. Not the most ideal, but very straightforward for me as the release manager.
2018-07-11 23:30:46 -07:00
Mark Otto 9e126b26a8 dist 2018-07-11 21:42:55 -07:00
Johann-S 283ab30164 fix(modal): fix unit test and resetting style 2018-07-11 11:05:38 +02:00
Catalin Zalog cb82394fc8 fix(modal): removes .navbar-toggler margin 2018-07-11 11:05:38 +02:00
XhmikosR e9ec13e974 Update tooltips.md 2018-07-10 23:26:30 +03:00
Simon Podlipsky 591725e838 Document tooltip flickering in combination with some overflow settings 2018-07-10 14:54:45 +03:00
Andrew abb4868626 correct spelling errors (#26837) 2018-07-09 17:59:22 -07:00
XhmikosR 8b50a72f3c Add missing role="button" in .navbar's .dropdown-toggle
Fixes #26830
2018-07-09 14:41:47 +01:00
Mark Otto 5495a19b5a disable to fix ci 2018-07-08 18:43:40 -07:00
Mark Otto b0b28c81e5 add grid docs mention 2018-07-08 18:18:13 -07:00
Mark Otto 7e96979cea fix comment placement, remove unecessary prop wrapper 2018-07-08 17:29:01 -07:00
Mark Otto 0153f7d8cd add docs 2018-07-08 17:28:37 -07:00
Mark Otto f6b4945f1e Merge branch 'patch-1' of https://github.com/garhbod/bootstrap into garhbod-patch-1 2018-07-08 16:46:44 -07:00
Mark Otto 8d8d3ef82a Restore feedback icons on validated form fields
- Only applies to textual inputs and textareas with `.form-control` and selects with `.custom-select`
- Wrap the feedback icons in a Sass variable option, $enable-validation-icons, so folks who theme can disable
- Update docs to summarize styles, mention the icons, include a textarea demo, and add mention of the Sass variable option to the Theming section
2018-07-08 15:31:18 -07:00
Mark Otto c6abb8ca84 class 2018-07-07 20:21:01 -07:00
Mark Otto 17a25b72c8 add table of classes 2018-07-07 20:15:48 -07:00
Mark Otto cc41a5e64f fix docs heading 2018-07-07 19:47:21 -07:00
parammittal16 e77d64b372 Replace shadow with shadow-sm 2018-07-08 06:08:14 +05:30
Mark Otto 5ad1049622 Merge branch 'v4-dev' of https://github.com/malkomich/bootstrap into malkomich-v4-dev 2018-07-07 16:16:43 -07:00
XhmikosR cfc9c85b32 Update devDependencies.
Only bundlesize is kept back for Node.js 10.x compatibility.
2018-07-06 12:39:13 +03:00
XhmikosR 907f9a7ae4 Update gems. 2018-07-06 12:19:17 +03:00
Martijn Cuppens 6f8d322f74 Remove .border-bottom & .border-top classes from examples 2018-07-05 22:42:01 +02:00
Johann-S 09d0c5de0c Merge pull request #26799 from Kirlovon/v4-dev
Fixed logo in README
2018-07-04 09:26:13 +02:00
Kirill Reunov 15a2eeb80f Fixed logo in README 2018-07-03 23:34:49 +03:00
Christian Oliff 35a75eb0d4 OS X is now macOS (#26796)
* OS X is now macOS

* Update browser-bugs.yml
2018-07-03 07:55:07 +01:00
Patrick H. Lauke 7b746028c2 Fix incorrect visibility utility description regarding screen readers (#26786) 2018-07-02 19:52:28 +01:00
Martijn Cuppens edc5597705 Add js maps & tweak docs 2018-07-02 09:49:45 +03:00
Supergibbs ddd33cd957 Support nuget contentFiles, used for some project types 2018-07-01 10:02:09 +03:00
XhmikosR 13b8b9f03a .browserslistrc: add not dead. 2018-07-01 09:56:22 +03:00
Johann-S e57a2f244b fix(tooltip): get tip on placement change 2018-06-25 16:54:14 +02:00
XhmikosR 4112df4125 Add broken-link-checker. 2018-06-25 16:54:06 +03:00
jakubhonisek 49e094619b feat(dropdown): add original click event 2018-06-25 15:29:34 +02:00
Mark Otto bca4ceacc7 dist 2018-06-24 13:13:42 -07:00
Christian Oliff 41ab1c6c9d Fixes Edge and IE label overlapping issue (#25919)
The 'Floating labels' example is only supported on Chrome, Safari and Firefox. On Edge and IE the label is displayed always and any text input overlaps the label which makes it unreadable.

The fix here targets Edge and IE and makes the form behave normally, the labels are hidden and the placeholder color is standard.
2018-06-24 13:11:39 -07:00
Mark Otto d78aac01d6 Update box-shadows on .custom-select (#26754)
- Fixes #25656 where custom selects had the wrong focus shadow
- Fixes #26668 where custom selects had no inset shadow (also closes #26572 which had the wrong form classes on the first example anyway)
2018-06-24 13:07:49 -07:00
Martijn Cuppens d61e3badfd Render inline svg like img (#25874) 2018-06-24 12:01:11 -07:00
XhmikosR a31b23b5ce Move eslint-plugin-compat to the extends array. 2018-06-24 01:45:29 +03:00
Mark Otto eadeab9d1c dist 2018-06-21 22:55:23 -07:00
Martijn Cuppens e59265c42d Remove disabled class from wrapper
`disabled` class is not needed for wrapper.
2018-06-21 18:38:22 +03:00
Martijn Cuppens 1719a2ca42 Update folder structure (#26729) 2018-06-21 18:20:03 +03:00
XhmikosR 29bff9fdd0 Change karma tests to run sequential.
I was getting port in use errors.
2018-06-21 18:02:20 +03:00
XhmikosR 71a37425c9 Update all devDependencies apart from bundlesize and babel.
Newer bundlesize versions still don't work with node.js 10.x.

babel has some bugs that we need to be fixed.
2018-06-21 18:02:20 +03:00
XhmikosR 0db176e44d Update gems. 2018-06-21 18:02:20 +03:00
XhmikosR 84ff56c36d Update package-lock.json with npm 6.3.1. 2018-06-21 18:02:20 +03:00
Martijn Cuppens 919d58e389 Remove inkscape data from brand svgs (#26708) 2018-06-21 16:51:16 +03:00
Martijn Cuppens 7b2372f353 Fix node_modules path (#26653) 2018-06-11 17:03:00 +03:00
sts-ryan-holton 1af5a30d02 Add additional wording to the Introduction section of Bootstrap docs about the bootstrap bundle js (#26688) 2018-06-11 16:14:02 +03:00
Ryan Worth a2920149f4 Negative Margins classes for custom col gutters
Feature request #26681
2018-06-07 16:39:58 +10:00
Christian Oliff 9c3146d0dd HTTPS link (#26663)
saves a redirect
2018-06-05 18:11:08 +01:00
XhmikosR abf5ab7546 Fix markdown code inside HTML code. (#26662) 2018-06-05 15:21:40 +03:00
Patrick H. Lauke 4f1bb98587 Limit .close hover/focus to non-disabled controls (#26654) 2018-06-03 18:25:17 +01:00
Johann-S a79b8aa16a refactor(plugins): query elements without jquery 2018-06-03 11:40:08 +02:00
Martijn Cuppens ffd31f9b8c Stricter stylelint rules 2018-06-02 13:29:44 +03:00
XhmikosR f20d0f43fd sw.js: change to a relative link for the workbox files.
This was broken after the docs refactoring.
2018-06-01 16:03:23 +03:00
Johann-S 96cbb58cb3 chore(bundlesize): increase bootstrap.js max size 2018-06-01 10:30:11 +02:00
Johann-S b1eb3fccfa refactor(plugins): improve how we query elements 2018-06-01 10:30:11 +02:00
XhmikosR 62cc0fda50 Generate safari-pinned-tab.svg again. 2018-06-01 10:42:21 +03:00
Johann-S cc61edfa8a fix(scrollspy): xss in target option 2018-06-01 09:10:25 +02:00
Johann-S 149096016f fix(collapse): xss in parent option 2018-06-01 09:10:25 +02:00
Johann-S 2d90d369bb fix(tooltip): xss in container option 2018-06-01 09:10:25 +02:00
marcosfreitas e3084c3842 Changed Node.js download page (#26638)
Link to the more user-friendly Node download page (rather than just the raw directory view)
2018-05-31 17:36:50 +01:00
Andres Galante e163d18b12 Fix inline labels with a custom select (#26615)
Add an sr-only class to the label on inline labels with a custom select
2018-05-31 10:02:14 +03:00
Christian Oliff 89a47c98b9 https link to editorconfig.org 2018-05-31 09:43:12 +03:00
XhmikosR 976aad0059 Remove the unused docs upload preview stuff. (#26599) 2018-05-27 11:44:29 +03:00
XhmikosR c2b13b9c78 Run coveralls only on Travis and only once. 2018-05-23 13:54:51 +03:00
XhmikosR d557215b5d Update package-lock.json. 2018-05-23 13:54:51 +03:00
Johann-S 9e5be2ed7d fix branch for coveralls badge 2018-05-23 13:54:51 +03:00
Johann-S 31cf1fdd8d Add coverall to follow our coverage 2018-05-23 10:03:09 +02:00
ysds 2ea0a9bba9 Add disabled bg color to disabled custom file 2018-05-23 01:43:53 +03:00
Martijn Cuppens 4dd65f0b38 Custom forms transition 2018-05-23 01:38:12 +03:00
XhmikosR c3da2c8f31 Update again. 2018-05-22 17:26:21 +03:00
Johann-S f2aab5ea99 fix(tooltip): remove useless unit test 2018-05-22 17:26:21 +03:00
Johann-S 0338b61eb6 chore(deps): update qunit and karma-qunit 2018-05-22 17:26:21 +03:00
XhmikosR 0873ab71c7 Update devDependencies and gems.
Downgrade bundlesize until they make brotli optional since it doesn't work with node.js 10.x yet.

So, babel, qunit/karma-qunit and bundle-size aren't the latest versions.
2018-05-22 17:26:21 +03:00
Patrick H. Lauke bea6154108 Fix/add more correct labels/descriptions for input group examples (#26551)
Among other things, closes https://github.com/twbs/bootstrap/issues/26548
2018-05-22 10:52:22 +01:00
Mark Otto b36599cba7 closes #26543, fixes #26542 2018-05-20 15:10:31 -07:00
domq 616ce9b75a Fix double-transition bug (#26452)
By applying the transition: CSS property only to classes that are
active during sliding, we avoid an unnecessary, non-zero-time
animation that although mostly invisible, does interfere with e.g.
z-index based parallax
2018-05-18 18:59:52 +03:00
Varunram Ganesh d6ee126713 [trivial] Rewording in tooltips. Closes #26467 (#26521) 2018-05-15 20:59:51 +01:00
ysds f42ef5fa69 fix(doc): typo in dropdowns.md 2018-05-15 11:33:29 +02:00
parammittal16 8cc6220161 Fix unused box-shadow class 2018-05-12 00:18:37 +05:30
parammittal16 afcbd65afb Fix box-shadow class with built in utility 2018-05-12 00:16:28 +05:30
ysds 788f3e6802 Fix z-index target (#26361) 2018-05-07 11:30:43 +03:00
Brandon e5e6d0c86d Fix heading levels (#26433)
H3 was used without preceding H2, breaking document flow.
2018-05-01 15:34:47 +01:00
Mark Otto 779ad9f174 Bump version to v4.1.1 2018-04-30 09:04:33 -07:00
Mark Otto 496311bf97 dist 2018-04-29 22:22:04 -07:00
Mark Otto 139e89235f Simplify custom file inner height for generated browse button 2018-04-29 17:02:38 -07:00
Constantin Ross 7c53a8a195 Update README.md 2018-04-29 16:34:48 -07:00
David De Sloovere 447f9f6968 Doc update - remove media-breakpoint-up(xs) (#26316)
* Doc update - remove media-breakpoint-up(xs)

If media-breakpoint-down(xl) is not listed, then media-breakpoint-up(xs) does not need to be listed either.
The above 4 media queries are now aligned with the 4 media-breakpoint-up mixins (just like their media-breakpoint-down counterparts).

* Improve media-breakpoint-up/down docs
2018-04-29 16:02:21 -07:00
XhmikosR c11132351e Add comment in docs JS files. 2018-04-27 10:22:58 +03:00
XhmikosR 30cb1a2715 Pass docs version to search form and switch to the new index.
Also, move the search code to a separate file.
2018-04-27 10:22:58 +03:00
Patrick H. Lauke b5988a4430 Change accordion example id (#26391)
for clarity/consistency with other similar examples
2018-04-26 15:51:54 +01:00
Varunram 4bc5cc149a Closes #26300: Add cursor pointer to carousel indicators 2018-04-23 21:55:45 -07:00
ysds 74057dcc8e Remove unnecessary resetting of left round (#26238) 2018-04-23 21:55:10 -07:00
Mark Otto 793698a6a9 add validation styles for .form-control-file (#26181) 2018-04-23 21:54:40 -07:00
nickg 755fdacd40 Replace reboot monospace hack with system font stack 2018-04-23 21:53:37 -07:00
ysds 3d0d5f1247 workaround for IE that check indicator does not appear (#25944) 2018-04-23 21:52:59 -07:00
Martijn Cuppens 0ee779b6fc Print color fix dark tables and dark theads (#26193) 2018-04-23 21:51:48 -07:00
XhmikosR 9faf8e8545 Update Jekyll to 3.8.0. (#26352) 2018-04-22 10:16:44 +03:00
Johann-S ee382915be detect test exceeded maximum duration on Sauce Labs 2018-04-19 15:19:34 +02:00
Mark Otto 1470e11ade typo 2018-04-17 10:30:16 -07:00
Mark Otto 7d8dc4f5b2 Be explicit in the docs for deprecating text-hide 2018-04-17 08:33:44 -07:00
XhmikosR 6199871d15 Update devDependencies. (#26322) 2018-04-17 15:32:08 +03:00
XhmikosR b88f073806 Update devDependencies. (#26309) 2018-04-16 13:15:56 +03:00
Alexander Rechsteiner 056e28d9e0 Suppress text-hide deprecation warning (#26242) 2018-04-16 09:45:07 +03:00
XhmikosR 555333a20e breadcrumb.md: Remove trailing space. 2018-04-16 09:37:58 +03:00
XhmikosR 5fd67a6f86 Bump version to 4.1.0 for remaining files. 2018-04-16 09:37:58 +03:00
Varunram Ganesh 31004582bf Resolve #26262: Add deprecated warning (#26292) 2018-04-16 09:27:06 +03:00
Patrick H. Lauke e000933c17 Remove dialog from the HTML5 shim style (#26269)
`<dialog>`, in browsers that support it, has user agent styles of `dialog { display:block; ...} dialog:not([open]) { display:none; }`
by forcing it to `display:block` in the shim, the dialog is shown even when closed. There's no clean way to shim this for non-supporting browsers,
but arguably these browsers would have further problems with pure `<dialog>` usage anyway, and it's up to authors to then use different elements/shims.
2018-04-16 00:25:39 +01:00
Varunram Ganesh 871e0838a4 [trivial] Correct typos (#26297) 2018-04-14 08:41:18 +01:00
Johann-S ba10b63c9d fix issue related to Object.keys and Dropdown issue 2018-04-13 18:59:30 +02:00
Swardu c3caf7ee4e Docs/examples: change links to Sass documentation and example.com to https 2018-04-12 11:56:33 +01:00
MietekN 418fd76ba9 modal use global scope for default 2018-04-12 11:21:10 +02:00
denisname 5be2cd3d6c Dropdowns display default value (#26272) 2018-04-12 09:42:36 +02:00
Laussel Loïc 5f546f5708 update README.md - debug search option is now in application.js (#26263) 2018-04-11 17:08:34 +03:00
ruedap ee1a22812b Fix incorrect value of Stylelint option (#26192) 2018-04-10 15:40:01 +03:00
XhmikosR ee91fdbf14 Update dependencies and gems (#26234) 2018-04-10 15:35:18 +03:00
Jonathan 24ba91b129 Fix incorrect class name (#26239)
Fixes #26235
2018-04-10 15:05:42 +03:00
Johann-S 0871d69ec9 v4 improve coverage (#25945)
* Improve code coverage for our Button plugin

* improve coverage for our Alert plugin

* test tooltip update method

* test update and dispose for dropdown

* increase code coverage requirements
2018-04-10 09:28:29 +02:00
XhmikosR 875ed0b975 Clean up globals.
Also, add a missing license header in build/workbox.js.
2018-04-09 22:44:22 +03:00
Mark Otto 8f7bd41993 Ship v4.1.0 (#26218)
* update docs path from docs/4.0/ to docs/4.1/

* bump version to 4.1.0

* Update redirects to work for 4.1 docs move

* Update docs version switcher to include latest and link to 4.0 docs

* re-run dist

* Update package-lock.json

* Update docs-navbar.html
2018-04-09 09:00:23 -07:00
XhmikosR 91730a644f vnu.jar: Ignore all wrong language code warnings. 2018-04-08 14:17:20 -07:00
Mark Otto 7748ae909e closes #26213 2018-04-07 11:59:46 -07:00
Mark Otto 4880385b8f Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev 2018-04-05 14:08:18 -07:00
Mark Otto 013a7489d9 add examples to theming docs section on css vars in media queries, closes #26205 2018-04-05 14:08:13 -07:00
Jason Quense 2d941d034e Remove note about multiple inputs (#26194)
* Remove note about multiple inputs

* patchs the PR and removes the word Also
2018-04-05 14:03:54 -07:00
XhmikosR d8a39c9989 docs: Switch to StackPath's URL.
While the old one will keep working, better switch to the new one.
2018-04-05 13:19:17 +03:00
XhmikosR 10c64bdae8 Fix broken URI fragments and redirects. 2018-04-02 19:19:09 +03:00
XhmikosR 95cdfa2a65 Use https when possible. 2018-04-02 19:19:09 +03:00
Mark Otto 98cad665bb dist 2018-04-01 18:21:41 -07:00
Patrick Yeo 4f35e53216 Pagination move .page-link:focus outline value to variable $pagination-focus-outline so we can unset it via Sass and don't have to re-implement browser defaults 2018-04-01 18:16:49 -07:00
Martijn Cuppens a55d1b27c5 Allow non-string content as breadcrumb divider (#25581)
* Allow url(), attr(), none,... as breadcrumb divider
* Update breadcrumb divider docs
2018-04-01 18:15:57 -07:00
Mark Otto 9747429424 Update offcanvas example for IE support
- Replaces CSS variables with their appropriate hex values
- Fixes the broken navbar transition by moving from 2D translates to using position
- Fix broken IE navbar toggler placement with some utilities (not necessary anywhere else, but necessary given flexbox quirks)
2018-04-01 18:15:06 -07:00
Mark Otto e47fb40ff2 Dashboard updates (#26179)
* Update Dashboard example

- Replaces .sticky-top on .navbar with .fixed-top
- Adjusts padding on main content area and sidebar to account for fixed navbar
- Move to padding in sidebar instead of top: 48px; fixes Firefox rendering issue
- Adds new .shadow utility for a little extra cherry on top
- Moves sticky styles to separate feature query ruleset to avoid IE rendering issues

* Add .w-100 to chart to fix IE horizontal scroll from label that extended past viewport
2018-04-01 18:14:07 -07:00
Tom Swirly a0c7473a34 Tiny grammar and punctuation tweaks to a comment.
1. It's == "it is"

2. The subject of the sentence is "Only one" (not "these") so the verb must agree with it.

Feel free to do nothing with this change, use it, etc - I just saw this while reading through the code.
2018-04-01 23:08:58 +03:00
Mark Otto 0b58340f14 docs edit suggestion 2018-04-01 12:58:03 -07:00
Mark Otto 07a302a33b dist 2018-03-31 22:15:15 -07:00
Mark Otto 98763f1f85 Deprecate .text-hide (#26173) 2018-03-31 22:10:32 -07:00
Mark Otto dd7ed79856 Add box-shadow utilities (#25758) 2018-03-31 22:07:48 -07:00
Mark Otto a016cbd6a8 Mention browserslist config in our docs to close #25429 2018-03-31 22:06:41 -07:00
Mark Otto 74490346ff Add new .flex-grow and .flex-shrink utils 2018-03-31 22:05:09 -07:00
Mark Otto 474698f41b Fix Chrome's rendering of .card-columns
Uses orphans/widows trick from @fran-worley at https://github.com/twbs/bootstrap/issues/20925#issuecomment-333492739.

Fixes #20925.
2018-03-31 22:04:14 -07:00
Mark Otto b72bd051ab document new text color utils 2018-03-31 22:02:47 -07:00
Mark Otto 3417c54ad7 add 50% translucent black and white text 2018-03-31 22:02:47 -07:00
Mark Otto 4f05e3b735 add .text-body, fixes #25412 2018-03-31 22:02:47 -07:00
Mark Otto 9f5f51d871 Close #25697
Removes the .justify-content-between from a navbar form example given it's the default style. Instead, mention how to adjust this and link to flex utils.
2018-03-31 22:02:02 -07:00
Martijn Cuppens 12708d329a Remove navbar align 2018-03-31 21:59:54 -07:00
Mark Otto 185666fd79 Add .text-monospace util 2018-03-31 21:58:57 -07:00
Mark Otto b2e423f54d fixes #25343 by mentioning how collapse animates in docs 2018-03-31 18:36:10 -07:00
Mark Otto abe44dcc5b Add small not to float docs about mixing with flex items
Closes #25829, closes #25924
2018-03-31 15:07:26 -07:00
Mark Otto b744ba2c08 dist 2018-03-31 13:59:37 -07:00
Mark Otto cf71363649 fixes #25918 2018-03-31 13:55:40 -07:00
Martijn Cuppens 902788efc4 Correct children selector 2018-03-30 13:01:13 -07:00
XhmikosR 5660c97cc4 Revert "docs: Switch to StackPath's URL."
This reverts commit 70520855e8.
2018-03-30 10:59:10 +03:00
XhmikosR 70520855e8 docs: Switch to StackPath's URL.
While the old one will keep working, better switch to the new one.
2018-03-29 21:42:15 -07:00
Varunram 50f6160b4e Add .bg-transparent to docs 2018-03-29 21:36:26 -07:00
Johann-S fd57d371f8 fix bundle and run test against it 2018-03-29 21:21:31 -07:00
Nat Zimmermann 9cdb7a8301 Fix spacing between Item and numbers 2018-03-29 23:34:29 +03:00
XhmikosR 9efcf3ad4b Fix duplicate main element. 2018-03-27 14:53:43 +03:00
vsn4ik 68db42c9f8 Fix skip element disabled via attribute when using keyboard navigation 2018-03-26 09:37:25 +02:00
XhmikosR 2cd700313d Remove the local jquery-1.9.1.min.js. 2018-03-21 12:15:47 +02:00
XhmikosR f5e16ceccc tests: load 3rd-party libs from the local node_modules folder.
This reduces duplication and the chances to forget to update something.
2018-03-21 12:15:47 +02:00
Johann-S 012d4433c2 fix rollup config 2018-03-21 12:15:47 +02:00
XhmikosR e0ab096bac Update all devDependencies.
Kept back karma-qunit and qunitjs because tests fail.
2018-03-21 12:15:47 +02:00
XhmikosR c8d7eecab3 Update workbox.js 2018-03-21 12:15:47 +02:00
XhmikosR 002cd8fc9a sw.js: fix TypeError with new workbox. 2018-03-21 12:15:47 +02:00
Michael 7dc41e299b Update to workbox 3.0 & fix breaking changes 2018-03-21 12:15:47 +02:00
XhmikosR 1615a76f83 Use sinon from cdnjs. 2018-03-21 12:15:47 +02:00
XhmikosR 7d3ca1b2ea tests: use QUnit from the jQuery CDN. 2018-03-21 12:15:47 +02:00
XhmikosR 1a40784ab8 Update dependencies. 2018-03-21 12:15:47 +02:00
Johann-S 9191fa73df throw error when coverage is under our thresholds 2018-03-21 07:04:24 +01:00
Johann-S bedc96e48b Use transitionEnd in QUnit since we moved away from PhantomJS 2018-03-20 15:56:51 +01:00
Mike Rogers 2306f62bf1 Making use of prefers-reduced-motion media query (#25641)
* Making use of `prefers-reduced-motion` media query

As discussed in #25249 - if a user (Who is using Safari / iOS) requests
reduced motion in their system settings, we should avoid transitions.

* Ignoring prefers reduced motion for CSS Linting
* Updating copy clarifying the reduce motion functionality in accessibility.md
2018-03-20 09:28:21 +00:00
Mark Otto c53825d902 Separate issue templates, add support doc (#25705)
* Update issue template to break down by bug and template, add support doc to close #23133

* add links from readme for bug and feature templates
2018-03-17 16:44:58 -07:00
Ethan Beyer 00304d2003 theming.md Typo Fix (#25875)
it's ≠ its
2018-03-16 22:18:46 +00:00
Varunram Ganesh 4b948bfdee Update vertical pills example (#25852)
Add the column/grid to the example code (which is what makes it vertical in the first place)
2018-03-16 11:38:29 +00:00
John Bennet Veloya f194b9db75 Fix order of Save/Close buttons in modal code example (#25855) 2018-03-15 22:18:30 +00:00
XhmikosR b9577a1cf7 Alternative solution.
Rely on `site.url` which is different for production. In that case do nothing with the search result, otherwise when in development remove our url from it.
2018-03-14 21:06:17 +02:00
m5o 483e49e3c6 Enable docsearch in development env.
Previously a search redirected to `https://getbootstrap.com/...`
2018-03-14 21:06:17 +02:00
m5o d01b4eb025 Remove custom example plugin. (#25784) 2018-03-14 17:44:38 +02:00
Varunram Ganesh 03b7f52e82 Document .form-control-range. (#25839) 2018-03-14 01:06:43 +02:00
Johann-S 4d5c5923fa Add Sinon to do better unit test 2018-03-13 15:37:11 +01:00
XhmikosR c98ece5490 approach.md: Use normal apostrophes.
They are converted when building.
2018-03-13 14:51:11 +02:00
XhmikosR dea778f4f5 approach.md: Fix empty link. 2018-03-13 14:51:11 +02:00
XhmikosR a93830c9fd saucelabs-unit-test.js: tweak failed tests message (#25836) 2018-03-13 14:08:56 +02:00
Johann-S 2c41b0aea6 fix get the transition duration parent 2018-03-13 12:57:44 +01:00
Martijn Cuppens 1fadad1c33 Variable transition durations (#25662) 2018-03-13 09:59:20 +01:00
Stephen Beemsterboer 1859595cb6 Clarify the necessary data-target/href attribute for carousel controls (#25690) 2018-03-13 09:31:37 +02:00
m5o b9628d0642 Use bugify without custom Jekyll plugin (#25334) 2018-03-12 23:08:44 +02:00
XhmikosR 836de9ccfa callout.html: drop whitespace and better usage comment. 2018-03-12 21:50:21 +02:00
m5o b5e6eb22a6 Use callout without custom Jekyll plugin. 2018-03-12 21:50:21 +02:00
ysds 7b2427cc6b Rename .custom-file-control to .custom-file-label (#25736) 2018-03-12 19:51:27 +02:00
ysds 14f712601e Add basic position to dropup/right/left and dropdown-menu-right (#25400) 2018-03-12 19:44:05 +02:00
Peter Etelej fb15575ec5 Disable link functionality on disabled btn-link (#25645)
Future-proof disabling of clicks on disabled `btn-link`. Fixes #25639
ensuring consistency between `btn-link` `<button>`s and `<a>`s when disabled.
2018-03-12 19:36:25 +02:00
ysds 5b0e40b625 Fix examples' issues #25664 and #25388 (#25665)
* Prevent sign-in form from going outside viewport (#25388)

* Workaround IE centering bug
2018-03-12 19:29:45 +02:00
Jacob Müller 27f553c965 Replace "loose" HEX values with their respective variables (#25672) 2018-03-12 19:19:37 +02:00
Léo Andrès f4051abc12 Clean shell scripts (#25704) 2018-03-12 18:59:57 +02:00
Alexander Hjorth 6d7d91ef3b Allow customization of breadcrumb border radius (#25807) 2018-03-12 18:55:47 +02:00
ysds 50220acde4 Fix caret alignment (#25719) 2018-03-12 18:51:00 +02:00
m5o 21061a02ce re-use gray for bd-example border / background (#25751) 2018-03-12 18:46:35 +02:00
Martijn Cuppens f893ec7a75 Collapse with flex elements - simple approach (#25806)
* #22600: prevent display:block for visible content

* allow transition for elements with show class
2018-03-12 18:40:30 +02:00
Varunram 87065772b1 Fix #25813 by adding extra columns to table 2018-03-12 13:38:09 +05:30
m5o 2b86193591 add Icons8 to icon options (#25763)
[Icons8](https://icons8.com/) is a great resource for icons.

They provide 15 different icon styles, exportable as fonts or svg
2018-03-08 14:38:48 +02:00
Catalin Zalog 2ccb5492a7 style: align some vars (#25785) 2018-03-08 14:28:32 +02:00
Robert Martin 817b80d54b Update webpack.md
Minor edits for style and consistency
2018-03-08 09:20:00 +01:00
Johann-S fb60a4a986 Add a bit of documentation on how to run the code coverage (#25783) 2018-03-06 07:35:28 +02:00
Johann-S e43f97304e add code coverage 2018-03-05 10:04:54 +01:00
XhmikosR b7a549c8c3 Update devDependencies and gems. (#25708) 2018-03-05 09:14:58 +02:00
Mark Otto e9412e7fe4 Update blockquote migration docs to reflect #22949
Fixes #25669, closes #25779.
2018-03-04 11:16:54 -08:00
Mark Otto c0e1f7dc6e Fix #25746 2018-03-04 11:07:31 -08:00
Mark Otto a651d7337b dist 2018-03-03 14:10:49 -08:00
Adam Kolinski 49d0a4e99c Adding a variable to handle the change of a modals border-radius. (#25691) 2018-03-03 13:06:54 -08:00
Isma ae1a068d02 Replace img-fluid by w-100 to conform with HTML 2018-03-03 13:06:00 -08:00
Ed Morley b33316dba3 Fix leftover reference to v4.0.0-alpha.6
Running `./build/change-version.js v4.0.0-alpha.6 v4.0.0` fixed this,
so the version change script works fine. I'm presuming instead this
change was just omitted from 35f80bb12e, and then wouldn't have
been caught by subsequent runs of `change-version`, since it only
ever replaces the exact old version string specified.
2018-03-03 21:07:35 +01:00
Jos Maissan 6431d746bc display on xl viewport
See issue #25711
2018-03-01 22:32:36 -08:00
m5o 34bc00ddbe docs skippy partial (#25750)
* load skippy markup from includes
2018-03-02 01:44:40 +02:00
Martijn Cuppens 29f178d891 Remove unused variable (#25670)
This variable is not used anywhere.

Leftover from #18373.
2018-02-25 11:22:50 +02:00
Peter Blazejewicz c9b194ae21 Add tabindex attribute to disabled buttons sample. Closes #23361 (#25680)
As discussed in issue's comment:
https://git.io/vAuPW

Thanks!
2018-02-24 23:15:19 +00:00
Mark Otto 9cf3ebbf2b Fixes #25703 2018-02-24 12:46:23 -08:00
Mark Otto f3cec5e7f9 dist 2018-02-24 12:44:44 -08:00
Mark Otto b8bfd26358 Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev 2018-02-24 12:38:51 -08:00
daviddalbusco 6708c4dba5 Fix typo of example in hiding doc 2018-02-24 12:23:14 -08:00
Martijn Cuppens d1bd5fb591 Add focus states to custom docs buttons 2018-02-24 12:22:59 -08:00
Adam Bowles 20c2d0fec6 Remove disabling of stylelint rule
This file no longer has intentional indentation errors
2018-02-24 12:22:38 -08:00
Peter Blazejewicz 4752159939 Brush up vertical rhythm of form-check in docs. Closes #25546
This adds `form-group` to add the same vertical space to the `form-check` as in other grouped controls
used in form sample markup.

Thanks!
2018-02-24 12:22:20 -08:00
Martijn Cuppens 8cfbf6933b Consistent usage of $(document.body) instead of $('body') (#25671) 2018-02-21 09:01:02 +01:00
Mark Otto 99379f3843 make it a var 2018-02-19 18:15:44 -08:00
Mark Otto c9f63c2eb8 Merge branch 'nav-divider-mixin' of https://github.com/ysds/bootstrap into ysds-nav-divider-mixin 2018-02-19 18:14:50 -08:00
Mark Otto 982aeea1f7 Merge branch 'accordion-borders' of https://github.com/andresgalante/bootstrap into v4-dev 2018-02-19 15:04:55 -08:00
Mark Otto 6a52ebfe1a dist 2018-02-19 14:50:56 -08:00
ysds 33f3ba33c2 Add color variable for caption (#25657) 2018-02-19 14:42:54 -08:00
Pierre GIRAUD 24a5376a14 Be more explicit where to find variables (#25624)
* Tell where to find the variables to override

* Be consistent with path to _variables.scss

* Get rid of some 'our' in the doc

Replaced by 'Boostrap's' when relevant
2018-02-19 14:42:26 -08:00
Mark Otto 470b4472c6 Custom range input (#25600)
* added the styling

* added the documentation

* update for one rule per line

* fix hound error: trailing whitespace

* trimmed off vendor prefixes

* Add note about track and thumb

* Psuedo-elements must be split across multiple rulesets to have an affect

* Fix firefox inner focus

* Seems that FF is the only one affected by this

* Add support for gradients

* Add labels, clarify min/max changes

* add step example

* add custom range vars
2018-02-19 14:40:59 -08:00
Martijn Cuppens 3dd0bde664 Fix carousel transition duration (#25218) 2018-02-19 10:10:25 +01:00
Patrick H. Lauke c381d19965 Add type="button" to <button>s in accordion example (#25643)
For consistency. Closes https://github.com/twbs/bootstrap/issues/25642
2018-02-16 17:37:09 +00:00
Patrick H. Lauke 73357f9430 [Docs] Clarify suggested use of custom validation styles, add note about resetting form appearance after validation (#25628)
* Expand/clarify recommendation for using custom validation styles

Seems support for correctly announcing browser default navigation bubbles/notifications has improved recently. Now it seems only Chrome (at least on Win and Android, not tested on macOS) is the odd one out.

However, we should really make sure the custom validation messages are also tied correctly to their relevant form controls - need to dig out the PR that will ensure that.

* Add note about resetting form appearance after submission

xref https://github.com/twbs/bootstrap/issues/25626
2018-02-16 11:07:36 +00:00
Patrick H. Lauke cd7f252bdb Reword alert and list group text to avoid "a/an" problems
Closes https://github.com/twbs/bootstrap/issues/25611
2018-02-14 01:06:36 +00:00
Andy Pickler 27e670a4c3 Update position.md (#25607)
2 small typos
2018-02-13 13:25:29 +00:00
Martijn Cuppens 0205fc8bdb Prevent word-wrap (#25248)
Fixes #25235
2018-02-11 16:46:54 -08:00
Johann-S 65ae622d40 Dropdown - Allow to disable Popper.js style (#24092)
* Dropdown - Allow to disable Popper.js style

* Update dropdown.js

* Update dropdown.html

* copy changes
2018-02-11 16:45:59 -08:00
in-in ba878eb542 Update stylelint config to add missing properties (#25572)
* add missing properties

list of new properties:
align-content
animation-fill-mode
appearance
column-count
column-fill
column-gap
column-rule
column-rule-color
column-rule-style
column-rule-width
column-span
column-width
columns
direction
fill
flex-shrink
orphans
page-break-after
page-break-before
page-break-inside
perspective
src
stroke
unicode-bidi
widows

* fix invalid JSON config

add curly brackets

* Update .stylelintrc
2018-02-11 15:16:22 -08:00
Mark Otto 8dd1fe3893 Fix border-radius on Browse button for custom file input inside input groups (#25356) 2018-02-11 15:09:05 -08:00
Mark Otto 98111214c2 Update .sr-only mixin and utility (#25197)
* Remove clip-path from .sr-only utility as it causes perf regressions in Chrome

* change snippet to example
2018-02-11 15:05:50 -08:00
Mark Otto e373fbea92 dist 2018-02-11 14:53:29 -08:00
m5o f81f419b22 set color to form-control-plaintext (#25565)
* set color to `.form-control-plaintext`
* fixes readability on dark themes like ‘darkly’
  * https://bootswatch.com/darkly/index.html#forms
  * https://bootswatch.com/slate/index.html#forms
  * https://bootswatch.com/superhero/index.html#superhero
  * https://bootswatch.com/solar/index.html#forms

/cc @thomaspark
2018-02-11 14:25:36 -08:00
ysds 3ffe4f82b7 Update themeing docs for more clearly how to remove from map (#25589)
* Add note about insert position of "map-remove"

* Use optional keys instead of required keys
2018-02-11 14:24:47 -08:00
m5o 37ed1d0829 use $input-bg for $custom-select-bg (#25564)
* use $input-bg for $custom-select-bg
2018-02-11 14:24:18 -08:00
Andres Galante 49954d5e6c Create a variable for label margin bottom (#25561) 2018-02-11 02:21:42 +02:00
Jesse Mandel 54a43a7247 Remove show class from example code (#25570) 2018-02-11 02:12:15 +02:00
ysds eca9c983f7 Fix the incorrect id in center modal example 2018-02-09 16:05:21 +00:00
freezy 2dc9c76d75 Enable scss/dollar-variable-default rule (#25542)
This checks if all variables are `!default`.
2018-02-07 15:28:35 +02:00
XhmikosR 9057d8da16 Update devDependencies and gems. (#25551) 2018-02-05 20:12:51 +02:00
Mark Otto 0f8145af20 Clarify migration docs to remove mention of .table-responsive being for the parent element vs the table element itself (#25539) 2018-02-03 10:02:14 +02:00
Martijn Cuppens 5158338b7c Fix pagination buttons hover z-index (#25532) 2018-02-03 09:54:08 +02:00
Mark Otto 24ab1fcf42 close #25534 2018-02-02 22:38:01 -08:00
Mark Otto c68d26baa2 Override .custom-select width in .form-inline (#25414)
Fixes #25413
2018-02-02 14:25:47 +02:00
ysds e216c8833c Examples: Prevent focus into closed offcanvas (#25524)
* Prevent focus into closed offcanvas
2018-01-31 16:43:27 +00:00
Bardi Harborow 399ae311b9 Add FontAwesome to icon list. (#25451) 2018-01-31 10:31:46 +02:00
Jan Clarin 87e5fa1184 Clarify stacked-to-horizontal in layout/grid.md (#25520)
- Fixes typo with "with at" in "horizontal with at the small breakpoint"
2018-01-31 10:22:14 +02:00
ysds 8adb533fe1 Fix "CVV" label pointing to wrong field (#25518) 2018-01-31 10:16:32 +02:00
Richard van Laak 38fc5cf7f7 Replace unicode character in _hover.scss (#25503) 2018-01-30 18:49:31 +02:00
Ryan Cleary 0a4c0a527d Fix example Blog post card text overflowing for medium screen size. (#25416) 2018-01-30 10:33:55 +02:00
XhmikosR e559034d36 Update devDependencies and gems. (#25502) 2018-01-30 10:17:35 +02:00
exige81 f76e1f6a25 Fix typo in approach.md (#25492) 2018-01-28 15:20:25 -08:00
XhmikosR 5068b437a4 Update jQuery to v3.3.1. (#25398) 2018-01-23 08:18:33 +02:00
M. Appelman 3e2fbd5fb0 Fix typo in navs.md (#25404) 2018-01-23 08:04:36 +02:00
XhmikosR 96a9e98e49 Update devDependencies. (#25371) 2018-01-22 14:40:50 +02:00
Mark Otto 663057d441 Feature: Add carousel fade option (#22958)
* Move helpful code comments

* Add .carousel-fade option to Sass

* Document example of the fade carousel

* more logical warning of the .active class on carousel items
2018-01-21 22:51:08 -08:00
Mark Otto d402183014 v4.1: Add .dropdown-item-text (#22965)
* Add .dropdown-item-text class

* Add example of plain text within a .dropdown-menu, too

* reorganize, simple/clearer headings
2018-01-21 22:40:55 -08:00
ysds d824bdf4d8 Allow to customize vertical margin of nav-divider mixin 2018-01-22 09:54:06 +09:00
Taufek Johar 2b42ef0db2 Add CSS Utility for auto width and height Properties (#24249)
Currently bootstrap only provides 4 variations of `width` and `height` css utilities, which are:

1. 25%
2. 50%
3. 75%
4. 100%.

Here, I'm adding `auto` to the list. This is useful when we need to reset the width/height value
back to the browser default value at some point.
2018-01-21 12:28:22 -08:00
Mark Otto 8374f542be Document .flex-fill class in flex utils 2018-01-21 12:16:17 -08:00
Pierre-Denis Vanduynslager 2137d61eac Add missing flex-fill utility 2018-01-21 12:16:17 -08:00
Mark Otto 3be511264c Use variables for theme-color-level function
Closes #25313
2018-01-21 12:15:12 -08:00
Johann-S 5a6be71791 Remove escaping selector and add a warning to inform folks to escape their selectors (#25390) 2018-01-21 22:02:16 +02:00
denisx db70164d13 ignore case (#25373)
Less on 2 symbols
2018-01-21 21:51:49 +02:00
719media bd9084d249 Update dropdown.js to allow referenceElement (#25219) 2018-01-21 19:09:23 +01:00
Mark Otto a098de125f tweak html 2018-01-20 15:11:19 -08:00
Mark Otto 3a6ab45b78 rearrange and override extra borders 2018-01-20 15:10:19 -08:00
Mark Otto f800383e7d Merge branch 'borderless-table' of https://github.com/Varunram/bootstrap into Varunram-borderless-table 2018-01-20 15:06:02 -08:00
Mark Otto d5b10c9fc7 dist 2018-01-20 12:16:37 -08:00
vsn4ik 6b48747e61 Remove -Pre from Nuget install 2018-01-20 12:01:02 -08:00
Andrew Luca 2b8b062540 Allow to change .table-striped odd or even (#25333) 2018-01-19 19:34:49 +02:00
m5o 0f53402fc0 Use Jekyll's markdownify filter instead of a custom plugin (#25319) 2018-01-19 19:30:17 +02:00
Christian Oliff ee4988164e Remove mention of disabled buttons support for Opera 18 (#25357)
Opera 19 was released in January 2014 and auto-updates so I suggest no need to mention about browser support for this old version.
2018-01-19 19:24:04 +02:00
Christian Oliff 47028b6359 Correct capitalisation of PayPal (#25362) 2018-01-19 19:18:45 +02:00
Andres Galante c0246e926f improves accordion styles 2018-01-02 09:46:07 -03:00
patrickhlauke 987ae5b8c8 Use <button> elements rather than links for the accordion 2018-01-01 21:59:05 +00:00
patrickhlauke 04bffc36dd Remove incorrect roles from accordion, tweak/expand accessibility info 2018-01-01 21:43:41 +00:00
Varunram ab093b90f6 Add borderless table class along with docs. Rebase 2017-10-11 00:01:57 +05:30
Juan Carlos González Cabrero a8b00ddc12 Reduce the width to prevent the modal fills the screen width 2017-01-28 18:26:55 +01:00
Juan Carlos González Cabrero 95dffb3279 Add new extra large size for modal containers 2017-01-28 18:26:55 +01:00
516 changed files with 30232 additions and 28807 deletions
+7 -3
View File
@@ -10,7 +10,11 @@ module.exports = {
]
],
plugins: [
process.env.PLUGINS && 'transform-es2015-modules-strip',
'@babel/proposal-object-rest-spread'
].filter(Boolean)
'@babel/plugin-proposal-object-rest-spread'
],
env: {
test: {
plugins: [ 'istanbul' ]
}
}
};
+13
View File
@@ -0,0 +1,13 @@
# https://github.com/browserslist/browserslist#readme
>= 1%
last 1 major version
not dead
Chrome >= 45
Firefox >= 38
Edge >= 12
Explorer >= 10
iOS >= 9
Safari >= 9
Android >= 4.4
Opera >= 30
-1
View File
@@ -2,4 +2,3 @@
**/dist/
**/vendor/
/_gh_pages/
/package.js
+1 -3
View File
@@ -5,15 +5,13 @@
"browser": true,
"es6": true
},
"extends": "eslint:recommended",
"plugins": ["compat"],
"extends": ["eslint:recommended"],
"rules": {
// Possible Errors
"no-await-in-loop": "error",
"no-extra-parens": "error",
"no-prototype-builtins": "error",
"no-template-curly-in-string": "error",
"compat/compat": "error",
"valid-jsdoc": "error",
// Best Practices
+2
View File
@@ -8,7 +8,9 @@
*.scss text eol=lf
*.svg text eol=lf
*.txt text eol=lf
*.xml text eol=lf
*.yml text eol=lf
# Don't diff or textually merge source maps
*.map binary
+3
View File
@@ -0,0 +1,3 @@
*.js @twbs/js-review
*.css @twbs/css-review
*.scss @twbs/css-review
+5 -14
View File
@@ -25,7 +25,7 @@ restrictions:
respect the opinions of others.
* Please **do not** post comments consisting solely of "+1" or ":thumbsup:".
Use [GitHub's "reactions" feature](https://github.com/blog/2119-add-reactions-to-pull-requests-issues-and-comments)
Use [GitHub's "reactions" feature](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/)
instead. We reserve the right to delete comments which violate this rule.
* Please **do not** open issues regarding the official themes offered on <https://themes.getbootstrap.com/>.
@@ -105,8 +105,8 @@ When feasible, we aim to report such upstream bugs to the relevant browser vendo
| Vendor(s) | Browser(s) | Rendering engine | Bug reporting website(s) | Notes |
| ------------- | ---------------------------- | ---------------- | ------------------------------------------------------------------------------------- | -------------------------------------------------------- |
| Mozilla | Firefox | Gecko | https://bugzilla.mozilla.org/enter_bug.cgi | "Core" is normally the right product option to choose. |
| Apple | Safari | WebKit | https://bugs.webkit.org/enter_bug.cgi?product=WebKit <br> https://bugreport.apple.com | In Apple's bug reporter, choose "Safari" as the product. |
| Google, Opera | Chrome, Chromium, Opera v15+ | Blink | https://code.google.com/p/chromium/issues/list | Click the "New issue" button. |
| Apple | Safari | WebKit | https://bugs.webkit.org/enter_bug.cgi?product=WebKit <br> https://bugreport.apple.com/ | In Apple's bug reporter, choose "Safari" as the product. |
| Google, Opera | Chrome, Chromium, Opera v15+ | Blink | https://bugs.chromium.org/p/chromium/issues/list | Click the "New issue" button. |
| Microsoft | Edge | EdgeHTML | https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/ | |
### Issues bots
@@ -178,7 +178,7 @@ included in the project:
```
4. Commit your changes in logical chunks. Please adhere to these [git commit
message guidelines](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)
message guidelines](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)
or your code is unlikely be merged into the main project. Use Git's
[interactive rebase](https://help.github.com/articles/about-git-rebase/)
feature to tidy up your commits before making them public.
@@ -204,15 +204,6 @@ includes code changes) and under the terms of the
[Creative Commons Attribution 3.0 Unported License](docs/LICENSE)
(if it includes documentation changes).
### Pull request bots
[@twbs-rorschach](https://github.com/twbs-rorschach) is a Bootstrap bot that hangs out in our GitHub issue tracker and automatically checks all pull requests for a few simple common mistakes. It's possible that Rorschach might leave a comment on your pull request and then close it. If that happens, simply fix the problem(s) mentioned in the comment (there should be link(s) in the comment explaining the problem(s) in detail) and then either:
* Push the revised version to your pull request's branch and post a comment on the pull request saying that you've fixed the problem(s). One of the Bootstrap Core Team members will then come along and reopen your pull request.
* Or you can just open a new pull request for your revised version.
[@twbs-savage](https://github.com/twbs-savage) is a Bootstrap bot that automatically runs cross-browser tests (via [Sauce](https://saucelabs.com/) and Travis CI) on JavaScript pull requests. Savage will leave a comment on pull requests stating whether cross-browser JS tests passed or failed, with a link to the full Travis build details. If your pull request fails, check the Travis log to see which browser + OS combinations failed. Each browser test in the Travis log includes a link to a Sauce page with details about the test. On those details pages, you can watch a screencast of the test run to see exactly which unit tests failed.
## Code guidelines
@@ -229,7 +220,7 @@ includes code changes) and under the terms of the
[Adhere to the Code Guide.](http://codeguide.co/#css)
- When feasible, default color palettes should comply with [WCAG color contrast guidelines](https://www.w3.org/TR/WCAG20/#visual-audio-contrast).
- Except in rare cases, don't remove default `:focus` styles (via e.g. `outline: none;`) without providing alternative styles. See [this A11Y Project post](http://a11yproject.com/posts/never-remove-css-outlines/) for more details.
- Except in rare cases, don't remove default `:focus` styles (via e.g. `outline: none;`) without providing alternative styles. See [this A11Y Project post](https://a11yproject.com/posts/never-remove-css-outlines/) for more details.
### JS
-22
View File
@@ -1,22 +0,0 @@
Before opening an issue:
- [Search for duplicate or closed issues](https://github.com/twbs/bootstrap/issues?utf8=%E2%9C%93&q=is%3Aissue)
- [Validate](https://html5.validator.nu/) and [lint](https://github.com/twbs/bootlint#in-the-browser) any HTML to avoid common problems
- Prepare a [reduced test case](https://css-tricks.com/reduced-test-cases/) for any bugs
- Read the [contributing guidelines](https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md)
When asking general "how to" questions:
- Please do not open an issue here
- Instead, ask for help on [StackOverflow, IRC, or Slack](https://github.com/twbs/bootstrap/blob/master/README.md#community)
When reporting a bug, include:
- Operating system and version (Windows, Mac OS X, Android, iOS, Win10 Mobile)
- Browser and version (Chrome, Firefox, Safari, IE, MS Edge, Opera 15+, Android Browser)
- Reduced test cases and potential fixes using [CodePen](https://codepen.io/) or [JS Bin](https://jsbin.com/)
When suggesting a feature, include:
- As much detail as possible for what we should add and why it's important to Bootstrap
- Relevant links to prior art, screenshots, or live demos whenever possible
+11
View File
@@ -0,0 +1,11 @@
Before opening:
- [Search for duplicate or closed issues](https://github.com/twbs/bootstrap/issues?utf8=%E2%9C%93&q=is%3Aissue)
- [Validate](https://html5.validator.nu/) and [lint](https://github.com/twbs/bootlint#in-the-browser) any HTML to avoid common problems
- Read the [contributing guidelines](https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md)
Bug reports must include:
- Operating system and version (Windows, macOS, Android, iOS, Win10 Mobile)
- Browser and version (Chrome, Firefox, Safari, IE, MS Edge, Opera 15+, Android Browser)
- [Reduced test case](https://css-tricks.com/reduced-test-cases/) and suggested fix using [CodePen](https://codepen.io/) or [JS Bin](https://jsbin.com/)
+17
View File
@@ -0,0 +1,17 @@
---
name: Bug report
about: Tell us about a bug you may have identified in Bootstrap.
---
Before opening:
- [Search for duplicate or closed issues](https://github.com/twbs/bootstrap/issues?utf8=%E2%9C%93&q=is%3Aissue)
- [Validate](https://html5.validator.nu/) and [lint](https://github.com/twbs/bootlint#in-the-browser) any HTML to avoid common problems
- Read the [contributing guidelines](https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md)
Bug reports must include:
- Operating system and version (Windows, macOS, Android, iOS, Win10 Mobile)
- Browser and version (Chrome, Firefox, Safari, IE, MS Edge, Opera 15+, Android Browser)
- [Reduced test case](https://css-tricks.com/reduced-test-cases/) and suggested fix using [CodePen](https://codepen.io/) or [JS Bin](https://jsbin.com/)
+9
View File
@@ -0,0 +1,9 @@
Before opening:
- [Search for duplicate or closed issues](https://github.com/twbs/bootstrap/issues?utf8=%E2%9C%93&q=is%3Aissue)
- Read the [contributing guidelines](https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md)
Feature requests must include:
- As much detail as possible for what we should add and why it's important to Bootstrap
- Relevant links to prior art, screenshots, or live demos whenever possible
+15
View File
@@ -0,0 +1,15 @@
---
name: Feature request
about: Suggest an idea for a new feature in Bootstrap.
---
Before opening:
- [Search for duplicate or closed issues](https://github.com/twbs/bootstrap/issues?utf8=%E2%9C%93&q=is%3Aissue)
- Read the [contributing guidelines](https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md)
Feature requests must include:
- As much detail as possible for what we should add and why it's important to Bootstrap
- Relevant links to prior art, screenshots, or live demos whenever possible
+11
View File
@@ -0,0 +1,11 @@
### Bug reports
See the [contributing guidelines](CONTRIBUTING.md) for sharing bug reports.
### How-to
For general troubleshooting or help getting started:
- Join [the official Slack room](https://bootstrap-slack.herokuapp.com/).
- Chat with fellow Bootstrappers in IRC. On the `irc.freenode.net` server, in the `##bootstrap` channel.
- Ask and explore Stack Overflow with the [`bootstrap-4`](https://stackoverflow.com/questions/tagged/bootstrap-4) tag.
+3 -2
View File
@@ -1,6 +1,7 @@
# Ignore docs files
_gh_pages
_site
site/docs/**/dist/
# Ignore ruby files
.ruby-version
@@ -38,9 +39,9 @@ Thumbs.db
.komodotools
*.komodoproject
# Jekyll metadata and extra config file for `github` script
# Jekyll metadata
docs/.jekyll-metadata
twbsconfig.yml
# Folders to ignore
node_modules
js/coverage
+80 -6
View File
@@ -1,13 +1,15 @@
{
"extends": ["stylelint-config-standard", "stylelint-config-recommended-scss"],
"extends": [
"stylelint-config-standard",
"stylelint-config-recommended-scss"
],
"plugins": [
"stylelint-order"
],
"rules": {
"at-rule-empty-line-before": [null,
"except": ["first-nested"]
],
"at-rule-empty-line-before": null,
"at-rule-name-space-after": "always",
"at-rule-no-unknown": null,
"at-rule-no-vendor-prefix": true,
"at-rule-semicolon-space-before": "never",
"block-closing-brace-empty-line-before": null,
@@ -20,12 +22,27 @@
"declaration-empty-line-before": null,
"declaration-no-important": true,
"font-family-name-quotes": "always-where-recommended",
"font-weight-notation": "numeric",
"font-weight-notation": [
"numeric",
{
"ignore": [
"relative"
]
}
],
"function-url-no-scheme-relative": true,
"function-url-quotes": "always",
"length-zero-no-unit": true,
"max-empty-lines": 2,
"max-line-length": null,
"media-feature-name-no-unknown": [
true,
{
"ignoreMediaFeatureNames": [
"prefers-reduced-motion"
]
}
],
"media-feature-name-no-vendor-prefix": true,
"media-feature-parentheses-space-inside": "never",
"media-feature-range-operator-space-after": "always",
@@ -48,9 +65,11 @@
"flex-direction",
"flex-wrap",
"flex-flow",
"flex-shrink",
"flex-grow",
"flex-order",
"flex-pack",
"align-content",
"align-items",
"align-self",
"justify-content",
@@ -79,6 +98,18 @@
"-ms-overflow-x",
"-ms-overflow-y",
"-ms-overflow-style",
"columns",
"column-count",
"column-fill",
"column-gap",
"column-rule",
"column-rule-width",
"column-rule-style",
"column-rule-color",
"column-span",
"column-width",
"orphans",
"widows",
"clip",
"clear",
"font",
@@ -94,6 +125,7 @@
"font-emphasize-position",
"font-emphasize-style",
"font-smooth",
"src",
"hyphens",
"line-height",
"color",
@@ -126,6 +158,8 @@
"tab-size",
"white-space",
"vertical-align",
"direction",
"unicode-bidi",
"list-style",
"list-style-position",
"list-style-type",
@@ -203,6 +237,9 @@
"box-shadow",
"opacity",
"-ms-interpolation-mode",
"page-break-after",
"page-break-before",
"page-break-inside",
"transition",
"transition-delay",
"transition-timing-function",
@@ -210,6 +247,8 @@
"transition-property",
"transform",
"transform-origin",
"perspective",
"appearance",
"animation",
"animation-name",
"animation-duration",
@@ -217,11 +256,45 @@
"animation-timing-function",
"animation-delay",
"animation-iteration-count",
"animation-direction"
"animation-direction",
"animation-fill-mode",
"fill",
"stroke"
],
"property-blacklist": ["transition"],
"property-no-vendor-prefix": true,
"rule-empty-line-before": null,
"scss/at-function-named-arguments": "never",
"scss/at-function-parentheses-space-before": "never",
"scss/at-import-no-partial-leading-underscore": true,
"scss/at-mixin-argumentless-call-parentheses": null,
"scss/at-mixin-named-arguments": null,
"scss/at-mixin-parentheses-space-before": "never",
"scss/at-rule-no-unknown": true,
"scss/dollar-variable-colon-space-after": "at-least-one-space",
"scss/dollar-variable-colon-space-before": "never",
"scss/dollar-variable-default": [
true,
{
"ignore": "local"
}
],
"scss/dollar-variable-no-missing-interpolation": true,
"scss/media-feature-value-dollar-variable": null,
"scss/no-duplicate-dollar-variables": [
null,
{
"ignoreInsideAtRules": [
"if",
"mixin"
]
}
],
"scss/operator-no-newline-after": true,
"scss/operator-no-newline-before": true,
"scss/operator-no-unspaced": true,
"selector-attribute-quotes": "always",
"selector-class-pattern": "^[a-z][a-z0-9\\-]*[a-z0-9]$",
"selector-list-comma-newline-after": "always",
"selector-list-comma-newline-before": "never-multi-line",
"selector-list-comma-space-after": "always-single-line",
@@ -237,6 +310,7 @@
"selector-max-universal": 1,
"selector-no-qualifying-type": true,
"selector-no-vendor-prefix": true,
"shorthand-property-no-redundant-values": true,
"string-quotes": "double",
"value-keyword-case": "lower",
"value-list-comma-newline-after": "never-multi-line",
+9 -18
View File
@@ -1,5 +1,3 @@
sudo: required
dist: trusty
addons:
chrome: stable
language: node_js
@@ -8,27 +6,20 @@ git:
node_js:
- "6"
- "8"
before_install:
- if [[ `npm -v` != 5* ]]; then npm install -g npm@5; fi
install:
- bundle install --deployment --jobs=3 --retry=3
- bundle install --deployment --jobs=3 --retry=3 --clean
- npm install
before_script:
- google-chrome-stable --product-version
script:
- npm test || travis_terminate 1
- if [[ "$TRAVIS_NODE_VERSION" = "8" ]]; then npm run check-broken-links; fi
- if [[ "$TRAVIS_NODE_VERSION" = "8" && "$TRAVIS_EVENT_TYPE" = "push" && ! `git log --format=%B --no-merges -n 1 | grep '\[skip browser\]'` ]]; then npm run js-test-cloud; fi
after_success:
- if [ "$TRAVIS_REPO_SLUG" = twbs-savage/bootstrap ]; then npm run docs-upload-preview; fi
stages:
- test
- name: browser
if: type = push
jobs:
include:
- stage: browser
node_js: 8
script: if ! git log --format=%B --no-merges -n 1 | grep '\[skip browser\]'; then npm test && npm run js-test-cloud; fi
- if [[ "$TRAVIS_NODE_VERSION" = "8" ]]; then npm run coveralls; fi
cache:
directories:
- node_modules
- vendor/bundle
notifications:
slack: heybb:iz4wwosL0N0EdaX1gvgkU0NH
webhooks:
- http://savage.twbsapps.com/savage/travis
email: false
+3 -3
View File
@@ -40,7 +40,7 @@ Project maintainers who do not follow or enforce the Code of Conduct in good fai
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [https://www.contributor-covenant.org/version/1/4/code-of-conduct.html][version]
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/
[homepage]: https://www.contributor-covenant.org/
[version]: https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
+5 -4
View File
@@ -1,8 +1,9 @@
source 'https://rubygems.org'
group :development, :test do
gem 'jekyll', '~> 3.7.0'
gem 'jekyll-redirect-from', '~> 0.13.0'
gem 'jekyll-sitemap', '~> 1.1.1'
gem 'jekyll-toc', '~> 0.5.1'
gem 'jekyll', '~> 3.8.5'
gem 'jekyll-redirect-from', '~> 0.14.0'
gem 'jekyll-sitemap', '~> 1.2.0'
gem 'jekyll-toc', '~> 0.9.1'
gem 'wdm', '~> 0.1.1', :install_if => Gem.win_platform?
end
+29 -27
View File
@@ -4,19 +4,19 @@ GEM
addressable (2.5.2)
public_suffix (>= 2.0.2, < 4.0)
colorator (1.1.0)
concurrent-ruby (1.0.5)
concurrent-ruby (1.1.3)
em-websocket (0.5.1)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0)
eventmachine (1.2.5)
eventmachine (1.2.5-x64-mingw32)
ffi (1.9.18)
ffi (1.9.18-x64-mingw32)
eventmachine (1.2.7)
eventmachine (1.2.7-x64-mingw32)
ffi (1.9.25)
ffi (1.9.25-x64-mingw32)
forwardable-extended (2.6.0)
http_parser.rb (0.6.0)
i18n (0.9.1)
i18n (0.9.5)
concurrent-ruby (~> 1.0)
jekyll (3.7.0)
jekyll (3.8.5)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
@@ -29,52 +29,54 @@ GEM
pathutil (~> 0.9)
rouge (>= 1.7, < 4)
safe_yaml (~> 1.0)
jekyll-redirect-from (0.13.0)
jekyll-redirect-from (0.14.0)
jekyll (~> 3.3)
jekyll-sass-converter (1.5.1)
jekyll-sass-converter (1.5.2)
sass (~> 3.4)
jekyll-sitemap (1.1.1)
jekyll-sitemap (1.2.0)
jekyll (~> 3.3)
jekyll-toc (0.5.1)
nokogiri (~> 1.6)
jekyll-watch (2.0.0)
jekyll-toc (0.9.1)
nokogiri (~> 1.8)
jekyll-watch (2.1.2)
listen (~> 3.0)
kramdown (1.16.2)
liquid (4.0.0)
kramdown (1.17.0)
liquid (4.0.1)
listen (3.1.5)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
ruby_dep (~> 1.2)
mercenary (0.3.6)
mini_portile2 (2.3.0)
nokogiri (1.8.1)
nokogiri (1.8.5)
mini_portile2 (~> 2.3.0)
nokogiri (1.8.1-x64-mingw32)
nokogiri (1.8.5-x64-mingw32)
mini_portile2 (~> 2.3.0)
pathutil (0.16.1)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (3.0.1)
rb-fsevent (0.10.2)
public_suffix (3.0.3)
rb-fsevent (0.10.3)
rb-inotify (0.9.10)
ffi (>= 0.5.0, < 2)
rouge (3.1.0)
rouge (3.3.0)
ruby_dep (1.5.0)
safe_yaml (1.0.4)
sass (3.5.5)
sass (3.7.2)
sass-listen (~> 4.0.0)
sass-listen (4.0.0)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
wdm (0.1.1)
PLATFORMS
ruby
x64-mingw32
DEPENDENCIES
jekyll (~> 3.7.0)
jekyll-redirect-from (~> 0.13.0)
jekyll-sitemap (~> 1.1.1)
jekyll-toc (~> 0.5.1)
jekyll (~> 3.8.5)
jekyll-redirect-from (~> 0.14.0)
jekyll-sitemap (~> 1.2.0)
jekyll-toc (~> 0.9.1)
wdm (~> 0.1.1)
BUNDLED WITH
1.16.1
1.17.1
+87 -41
View File
@@ -1,6 +1,6 @@
<p align="center">
<a href="https://getbootstrap.com/">
<img src="https://getbootstrap.com/assets/brand/bootstrap-solid.svg" alt="" width=72 height=72>
<img src="https://getbootstrap.com/docs/4.2/assets/brand/bootstrap-solid.svg" alt="Bootstrap logo" width=72 height=72>
</a>
<h3 align="center">Bootstrap</h3>
@@ -8,18 +8,19 @@
<p align="center">
Sleek, intuitive, and powerful front-end framework for faster and easier web development.
<br>
<a href="https://getbootstrap.com/docs/4.0/"><strong>Explore Bootstrap docs »</strong></a>
<a href="https://getbootstrap.com/docs/4.2/"><strong>Explore Bootstrap docs »</strong></a>
<br>
<br>
<a href="https://themes.getbootstrap.com/">Bootstrap Themes</a>
<a href="https://github.com/twbs/bootstrap/issues/new?template=bug.md">Report bug</a>
·
<a href="https://jobs.getbootstrap.com/">Job Board</a>
<a href="https://github.com/twbs/bootstrap/issues/new?template=feature.md&labels=feature">Request feature</a>
·
<a href="https://themes.getbootstrap.com/">Themes</a>
·
<a href="https://blog.getbootstrap.com/">Blog</a>
</p>
</p>
<br>
## Table of contents
@@ -32,20 +33,23 @@
- [Community](#community)
- [Versioning](#versioning)
- [Creators](#creators)
- [Thanks](#thanks)
- [Copyright and license](#copyright-and-license)
## Quick start
Several quick start options are available:
- [Download the latest release.](https://github.com/twbs/bootstrap/archive/v4.0.0.zip)
- [Download the latest release.](https://github.com/twbs/bootstrap/archive/v4.2.0.zip)
- Clone the repo: `git clone https://github.com/twbs/bootstrap.git`
- Install with [npm](https://www.npmjs.com/): `npm install bootstrap`
- Install with [yarn](https://yarnpkg.com/): `yarn add bootstrap@4.0.0`
- Install with [Composer](https://getcomposer.org/): `composer require twbs/bootstrap:4.0.0`
- Install with [NuGet](https://www.nuget.org/): CSS: `Install-Package bootstrap -Pre` Sass: `Install-Package bootstrap.sass -Pre` (`-Pre` is only required until Bootstrap v4 has a stable release).
- Install with [yarn](https://yarnpkg.com/): `yarn add bootstrap@4.2.0`
- Install with [Composer](https://getcomposer.org/): `composer require twbs/bootstrap:4.2.0`
- Install with [NuGet](https://www.nuget.org/): CSS: `Install-Package bootstrap` Sass: `Install-Package bootstrap.sass`
Read the [Getting started page](https://getbootstrap.com/docs/4.2/getting-started/introduction/) for information on the framework contents, templates and examples, and more.
Read the [Getting started page](https://getbootstrap.com/docs/4.0/getting-started/introduction/) for information on the framework contents, templates and examples, and more.
## Status
@@ -58,38 +62,46 @@ Read the [Getting started page](https://getbootstrap.com/docs/4.0/getting-starte
[![NuGet](https://img.shields.io/nuget/vpre/bootstrap.svg)](https://www.nuget.org/packages/bootstrap/absoluteLatest)
[![peerDependencies Status](https://img.shields.io/david/peer/twbs/bootstrap.svg)](https://david-dm.org/twbs/bootstrap?type=peer)
[![devDependency Status](https://img.shields.io/david/dev/twbs/bootstrap.svg)](https://david-dm.org/twbs/bootstrap?type=dev)
[![CSS gzip size](http://img.badgesize.io/twbs/bootstrap/v4-dev/dist/css/bootstrap.min.css?compression=gzip&label=CSS+gzip+size)](https://github.com/twbs/bootstrap/tree/v4-dev/dist/css/bootstrap.min.css)
[![JS gzip size](http://img.badgesize.io/twbs/bootstrap/v4-dev/dist/js/bootstrap.min.js?compression=gzip&label=JS+gzip+size)](https://github.com/twbs/bootstrap/tree/v4-dev/dist/js/bootstrap.min.js)
[![Coverage Status](https://img.shields.io/coveralls/github/twbs/bootstrap/v4-dev.svg)](https://coveralls.io/github/twbs/bootstrap?branch=v4-dev)
[![CSS gzip size](https://img.badgesize.io/twbs/bootstrap/v4-dev/dist/css/bootstrap.min.css?compression=gzip&label=CSS+gzip+size)](https://github.com/twbs/bootstrap/tree/v4-dev/dist/css/bootstrap.min.css)
[![JS gzip size](https://img.badgesize.io/twbs/bootstrap/v4-dev/dist/js/bootstrap.min.js?compression=gzip&label=JS+gzip+size)](https://github.com/twbs/bootstrap/tree/v4-dev/dist/js/bootstrap.min.js)
[![BrowserStack Status](https://www.browserstack.com/automate/badge.svg?badge_key=SkxZcStBeExEdVJqQ2hWYnlWckpkNmNEY213SFp6WHFETWk2bGFuY3pCbz0tLXhqbHJsVlZhQnRBdEpod3NLSDMzaHc9PQ==--3d0b75245708616eb93113221beece33e680b229)](https://www.browserstack.com/automate/public-build/SkxZcStBeExEdVJqQ2hWYnlWckpkNmNEY213SFp6WHFETWk2bGFuY3pCbz0tLXhqbHJsVlZhQnRBdEpod3NLSDMzaHc9PQ==--3d0b75245708616eb93113221beece33e680b229)
[![Backers on Open Collective](https://opencollective.com/bootstrap/backers/badge.svg)](#backers)
[![Sponsors on Open Collective](https://opencollective.com/bootstrap/sponsors/badge.svg)](#sponsors)
[![Sauce Labs Test Status](https://saucelabs.com/browser-matrix/bootstrap.svg)](https://saucelabs.com/u/bootstrap)
## What's included
Within the download you'll find the following directories and files, logically grouping common assets and providing both compiled and minified variations. You'll see something like this:
```
```text
bootstrap/
── css/
├── bootstrap.css
│ ├── bootstrap.css.map
│ ├── bootstrap.min.css
│ ├── bootstrap.min.css.map
│ ├── bootstrap-grid.css
│ ├── bootstrap-grid.css.map
│ ├── bootstrap-grid.min.css
│ ├── bootstrap-grid.min.css.map
│ ├── bootstrap-reboot.css
│ ├── bootstrap-reboot.css.map
│ ├── bootstrap-reboot.min.css
── bootstrap-reboot.min.css.map
└── js/
── bootstrap.bundle.js
├── bootstrap.bundle.min.js
├── bootstrap.js
── bootstrap.min.js
── dist/
├── css/
│ ├── bootstrap-grid.css
│ ├── bootstrap-grid.css.map
│ ├── bootstrap-grid.min.css
│ ├── bootstrap-grid.min.css.map
│ ├── bootstrap-reboot.css
│ ├── bootstrap-reboot.css.map
│ ├── bootstrap-reboot.min.css
│ ├── bootstrap-reboot.min.css.map
│ ├── bootstrap.css
│ ├── bootstrap.css.map
── bootstrap.min.css
│ └── bootstrap.min.css.map
── js/
├── bootstrap.bundle.js
├── bootstrap.bundle.js.map
── bootstrap.bundle.min.js
├── bootstrap.bundle.min.js.map
├── bootstrap.js
├── bootstrap.js.map
├── bootstrap.min.js
└── bootstrap.min.js.map
```
We provide compiled CSS and JS (`bootstrap.*`), as well as compiled and minified CSS and JS (`bootstrap.min.*`). CSS [source maps](https://developers.google.com/web/tools/chrome-devtools/debug/readability/source-maps) (`bootstrap.*.map`) are available for use with certain browsers' developer tools. Bundled JS files (`bootstrap.bundle.js` and minified `bootstrap.bundle.min.js`) include [Popper](https://popper.js.org/), but not [jQuery](https://jquery.com/).
We provide compiled CSS and JS (`bootstrap.*`), as well as compiled and minified CSS and JS (`bootstrap.min.*`). [source maps](https://developers.google.com/web/tools/chrome-devtools/debug/readability/source-maps) (`bootstrap.*.map`) are available for use with certain browsers' developer tools. Bundled JS files (`bootstrap.bundle.js` and minified `bootstrap.bundle.min.js`) include [Popper](https://popper.js.org/), but not [jQuery](https://jquery.com/).
## Bugs and feature requests
@@ -101,22 +113,24 @@ Have a bug or a feature request? Please first read the [issue guidelines](https:
Bootstrap's documentation, included in this repo in the root directory, is built with [Jekyll](https://jekyllrb.com/) and publicly hosted on GitHub Pages at <https://getbootstrap.com/>. The docs may also be run locally.
Documentation search is powered by [Algolia's DocSearch](https://community.algolia.com/docsearch/). Working on our search? Be sure to set `debug: true` in the `_scripts.html` include.
Documentation search is powered by [Algolia's DocSearch](https://community.algolia.com/docsearch/). Working on our search? Be sure to set `debug: true` in `site/docs/4.2/assets/js/src/search.js` file.
### Running documentation locally
1. Run through the [tooling setup](https://getbootstrap.com/docs/4.0/getting-started/build-tools/#tooling-setup) to install Jekyll (the site builder) and other Ruby dependencies with `bundle install`.
1. Run through the [tooling setup](https://getbootstrap.com/docs/4.2/getting-started/build-tools/#tooling-setup) to install Jekyll (the site builder) and other Ruby dependencies with `bundle install`.
2. Run `npm install` to install Node.js dependencies.
3. Run `npm run test` (or a specific NPM script) to rebuild distributed CSS and JavaScript files, as well as our docs assets.
4. From the root `/bootstrap` directory, run `npm run docs-serve` in the command line.
5. Open `http://localhost:9001` in your browser, and voilà.
3. Run `npm start` to compile CSS and JavaScript files, generate our docs, and watch for changes.
4. Open `http://localhost:9001` in your browser, and voilà.
Learn more about using Jekyll by reading its [documentation](https://jekyllrb.com/docs/home/).
Learn more about using Jekyll by reading its [documentation](https://jekyllrb.com/docs/).
### Documentation for previous releases
- For v2.3.2: <https://getbootstrap.com/2.3.2/>
- For v3.3.x: <https://getbootstrap.com/docs/3.3/>
- For v3.4.0: <https://getbootstrap.com/docs/3.4/>
- For v4.0.x: <https://getbootstrap.com/docs/4.0/>
- For v4.1.x: <https://getbootstrap.com/docs/4.1/>
[Previous releases](https://github.com/twbs/bootstrap/releases) and their documentation are also available for download.
@@ -127,7 +141,7 @@ Please read through our [contributing guidelines](https://github.com/twbs/bootst
Moreover, if your pull request contains JavaScript patches or features, you must include [relevant unit tests](https://github.com/twbs/bootstrap/tree/master/js/tests). All HTML and CSS should conform to the [Code Guide](https://github.com/mdo/code-guide), maintained by [Mark Otto](https://github.com/mdo).
Editor preferences are available in the [editor config](https://github.com/twbs/bootstrap/blob/master/.editorconfig) for easy use in common text editors. Read more and download plugins at <http://editorconfig.org/>.
Editor preferences are available in the [editor config](https://github.com/twbs/bootstrap/blob/master/.editorconfig) for easy use in common text editors. Read more and download plugins at <https://editorconfig.org/>.
## Community
@@ -144,7 +158,7 @@ Get updates on Bootstrap's development and chat with the project maintainers and
## Versioning
For transparency into our release cycle and in striving to maintain backward compatibility, Bootstrap is maintained under [the Semantic Versioning guidelines](http://semver.org/). Sometimes we screw up, but we'll adhere to those rules whenever possible.
For transparency into our release cycle and in striving to maintain backward compatibility, Bootstrap is maintained under [the Semantic Versioning guidelines](https://semver.org/). Sometimes we screw up, but we adhere to those rules whenever possible.
See [the Releases section of our GitHub project](https://github.com/twbs/bootstrap/releases) for changelogs for each release version of Bootstrap. Release announcement posts on [the official Bootstrap blog](https://blog.getbootstrap.com/) contain summaries of the most noteworthy changes made in each release.
@@ -162,6 +176,38 @@ See [the Releases section of our GitHub project](https://github.com/twbs/bootstr
- <https://github.com/fat>
## Thanks
<a href="https://www.browserstack.com/">
<img src="https://live.browserstack.com/images/opensource/browserstack-logo.svg" alt="BrowserStack Logo" width="490" height="106">
</a>
Thanks to [BrowserStack](https://www.browserstack.com/) for providing the infrastructure that allows us to test in real browsers!
## Backers
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/bootstrap#backer)]
[![Bakers](https://opencollective.com/bootstrap/backers.svg?width=890)](https://opencollective.com/bootstrap#backers)
## Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/bootstrap#sponsor)]
[![](https://opencollective.com/bootstrap/sponsor/0/avatar.svg)](https://opencollective.com/bootstrap/sponsor/0/website)
[![](https://opencollective.com/bootstrap/sponsor/1/avatar.svg)](https://opencollective.com/bootstrap/sponsor/1/website)
[![](https://opencollective.com/bootstrap/sponsor/2/avatar.svg)](https://opencollective.com/bootstrap/sponsor/2/website)
[![](https://opencollective.com/bootstrap/sponsor/3/avatar.svg)](https://opencollective.com/bootstrap/sponsor/3/website)
[![](https://opencollective.com/bootstrap/sponsor/4/avatar.svg)](https://opencollective.com/bootstrap/sponsor/4/website)
[![](https://opencollective.com/bootstrap/sponsor/5/avatar.svg)](https://opencollective.com/bootstrap/sponsor/5/website)
[![](https://opencollective.com/bootstrap/sponsor/6/avatar.svg)](https://opencollective.com/bootstrap/sponsor/6/website)
[![](https://opencollective.com/bootstrap/sponsor/7/avatar.svg)](https://opencollective.com/bootstrap/sponsor/7/website)
[![](https://opencollective.com/bootstrap/sponsor/8/avatar.svg)](https://opencollective.com/bootstrap/sponsor/8/website)
[![](https://opencollective.com/bootstrap/sponsor/9/avatar.svg)](https://opencollective.com/bootstrap/sponsor/9/website)
## Copyright and license
Code and documentation copyright 2011-2018 the [Bootstrap Authors](https://github.com/twbs/bootstrap/graphs/contributors) and [Twitter, Inc.](https://twitter.com) Code released under the [MIT License](https://github.com/twbs/bootstrap/blob/master/LICENSE). Docs released under [Creative Commons](https://github.com/twbs/bootstrap/blob/master/docs/LICENSE).
+23 -37
View File
@@ -9,33 +9,15 @@ kramdown:
permalink: pretty
# Server
source: "."
source: "site"
destination: ./_gh_pages
host: 0.0.0.0
host: "localhost"
port: 9001
baseurl: ""
url: "https://getbootstrap.com"
encoding: UTF-8
exclude:
- .git/
- .github/
- assets/scss/
- build/
- js/
- node_modules/
- nuget/
- scss/
- vendor/
- CODE_OF_CONDUCT.md
- composer.json
- Gemfile
- Gemfile.lock
- package.js
- package.json
- package-lock.json
- README.md
- sache.json
- twbsconfig.yml
- docs/4.2/assets/scss/
plugins:
- jekyll-redirect-from
@@ -47,35 +29,39 @@ title: Bootstrap
description: "The most popular HTML, CSS, and JS library in the world."
twitter: getbootstrap
authors: "Mark Otto, Jacob Thornton, and Bootstrap contributors"
social_image_path: /assets/brand/bootstrap-social.png
social_logo_path: /assets/brand/bootstrap-social-logo.png
social_image_path: /docs/4.2/assets/brand/bootstrap-social.png
social_logo_path: /docs/4.2/assets/brand/bootstrap-social-logo.png
# Custom variables
current_version: 4.0.0
current_ruby_version: 4.0.0
docs_version: 4.0
current_version: 4.2.0
current_ruby_version: 4.2.0
docs_version: 4.2
repo: "https://github.com/twbs/bootstrap"
slack: "https://bootstrap-slack.herokuapp.com"
blog: "https://blog.getbootstrap.com"
expo: "https://expo.getbootstrap.com"
jobs: "https://jobs.getbootstrap.com"
themes: "https://themes.getbootstrap.com"
download:
source: "https://github.com/twbs/bootstrap/archive/v4.0.0.zip"
dist: "https://github.com/twbs/bootstrap/releases/download/v4.0.0/bootstrap-4.0.0-dist.zip"
source: "https://github.com/twbs/bootstrap/archive/v4.2.0.zip"
dist: "https://github.com/twbs/bootstrap/releases/download/v4.2.0/bootstrap-4.2.0-dist.zip"
cdn:
# See https://www.srihash.org for info on how to generate the hashes
css: "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css"
css_hash: "sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm"
js: "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"
js_hash: "sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl"
jquery: "https://code.jquery.com/jquery-3.2.1.slim.min.js"
jquery_hash: "sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN"
popper: "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"
popper_hash: "sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q"
css: "https://stackpath.bootstrapcdn.com/bootstrap/4.2.0/css/bootstrap.min.css"
css_hash: "sha384-SlJL6LojdN8eNCOoIfK7KJ7SgRFeYBDu8tB1uxELbSAv+RVgD12pZmOcxTUTPXIg"
js: "https://stackpath.bootstrapcdn.com/bootstrap/4.2.0/js/bootstrap.min.js"
js_hash: "sha384-1AHwFvFDF+iQPDBasw2LKa8PdkI8aYv2ad2o197DHC8qr4LuwSe44JY1THkowrqg"
js_bundle: "https://stackpath.bootstrapcdn.com/bootstrap/4.2.0/js/bootstrap.bundle.min.js"
js_bundle_hash: "sha384-DzxYXig+LjvgMPAmuesvYZSTCE+bYqgfCLpnqxglyMvZGL5gNcalAK2mVo9klgWS"
jquery: "https://code.jquery.com/jquery-3.3.1.slim.min.js"
jquery_hash: "sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
popper: "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js"
popper_hash: "sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut"
toc:
min_level: 2
max_level: 4
no_toc_section_class:
- "bd-callout"
- "bd-example"
-1
View File
@@ -1 +0,0 @@
<script async src="https://cdn.carbonads.com/carbon.js?zoneid=1673&serve=C6AILKT&placement=getbootstrapcom" id="_carbonads_js"></script>
-9
View File
@@ -1,9 +0,0 @@
<!-- Favicons -->
<link rel="apple-touch-icon" href="{{ site.baseurl }}/assets/img/favicons/apple-touch-icon.png" sizes="180x180">
<link rel="icon" href="{{ site.baseurl }}/assets/img/favicons/favicon-32x32.png" sizes="32x32" type="image/png">
<link rel="icon" href="{{ site.baseurl }}/assets/img/favicons/favicon-16x16.png" sizes="16x16" type="image/png">
<link rel="manifest" href="{{ site.baseurl }}/assets/img/favicons/manifest.json">
<link rel="mask-icon" href="{{ site.baseurl }}/assets/img/favicons/safari-pinned-tab.svg" color="#563d7c">
<link rel="icon" href="{{ site.baseurl }}/favicon.ico">
<meta name="msapplication-config" content="{{ site.baseurl }}/assets/img/favicons/browserconfig.xml">
<meta name="theme-color" content="#563d7c">
-39
View File
@@ -1,39 +0,0 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="{{ page.description | default: site.description | smartify }}">
<meta name="author" content="{{ site.authors }}">
<meta name="generator" content="Jekyll v{{ jekyll.version }}">
<title>
{%- if page.title -%}
{{ page.title | smartify }} · {{ site.title | smartify }}
{%- else -%}
{{ site.title | smartify }} · {{ site.description | smartify }}
{%- endif -%}
</title>
<!-- Bootstrap core CSS -->
{% if site.github %}
<link href="{{ site.baseurl }}/dist/css/bootstrap.min.css" rel="stylesheet" integrity="{{ site.cdn.css_hash }}" crossorigin="anonymous">
{% else %}
<link href="{{ site.baseurl }}/dist/css/bootstrap.css" rel="stylesheet">
{% endif %}
<!-- Documentation extras -->
{% if page.layout == "docs" %}
<link href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css" rel="stylesheet">
{% endif %}
<link href="{{ site.baseurl }}/assets/css/docs.min.css" rel="stylesheet">
{% include favicons.html %}
{% include social.html %}
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-146052-10', 'getbootstrap.com');
ga('send', 'pageview');
</script>
-1
View File
@@ -1 +0,0 @@
<svg{% if include.class %} class="{{ include.class }}"{% endif %}{% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %} viewbox="0 0 612 612" xmlns="http://www.w3.org/2000/svg" focusable="false"><title>Bootstrap</title><path fill="currentColor" d="M510 8a94.3 94.3 0 0 1 94 94v408a94.3 94.3 0 0 1-94 94H102a94.3 94.3 0 0 1-94-94V102a94.3 94.3 0 0 1 94-94h408m0-8H102C45.9 0 0 45.9 0 102v408c0 56.1 45.9 102 102 102h408c56.1 0 102-45.9 102-102V102C612 45.9 566.1 0 510 0z"/><path fill="currentColor" d="M196.77 471.5V154.43h124.15c54.27 0 91 31.64 91 79.1 0 33-24.17 63.72-54.71 69.21v1.76c43.07 5.49 70.75 35.82 70.75 78 0 55.81-40 89-107.45 89zm39.55-180.4h63.28c46.8 0 72.29-18.68 72.29-53 0-31.42-21.53-48.78-60-48.78h-75.57zm78.22 145.46c47.68 0 72.73-19.34 72.73-56s-25.93-55.37-76.46-55.37h-74.49v111.4z"/></svg>

Before

Width:  |  Height:  |  Size: 890 B

-1
View File
@@ -1 +0,0 @@
<svg{% if include.class %} class="{{ include.class }}"{% endif %} xmlns="http://www.w3.org/2000/svg" viewbox="0 0 512 499.36"{% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %} focusable="false"><title>GitHub</title><path d="M256 0C114.64 0 0 114.61 0 256c0 113.09 73.34 209 175.08 242.9 12.8 2.35 17.47-5.56 17.47-12.34 0-6.08-.22-22.18-.35-43.54-71.2 15.49-86.2-34.34-86.2-34.34-11.64-29.57-28.42-37.45-28.42-37.45-23.27-15.84 1.73-15.55 1.73-15.55 25.69 1.81 39.21 26.38 39.21 26.38 22.84 39.12 59.92 27.82 74.5 21.27 2.33-16.54 8.94-27.82 16.25-34.22-56.84-6.43-116.6-28.43-116.6-126.49 0-27.95 10-50.8 26.35-68.69-2.63-6.48-11.42-32.5 2.51-67.75 0 0 21.49-6.88 70.4 26.24a242.65 242.65 0 0 1 128.18 0c48.87-33.13 70.33-26.24 70.33-26.24 14 35.25 5.18 61.27 2.55 67.75 16.41 17.9 26.31 40.75 26.31 68.69 0 98.35-59.85 120-116.88 126.32 9.19 7.9 17.38 23.53 17.38 47.41 0 34.22-.31 61.83-.31 70.23 0 6.85 4.61 14.81 17.6 12.31C438.72 464.97 512 369.08 512 256.02 512 114.62 397.37 0 256 0z" fill="currentColor" fill-rule="evenodd"/></svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

-1
View File
@@ -1 +0,0 @@
<svg{% if include.class %} class="{{ include.class }}"{% endif %} xmlns="http://www.w3.org/2000/svg" viewbox="0 0 512 512"{% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %} focusable="false"><title>Slack</title><path fill="currentColor" d="M210.787 234.832l68.31-22.883 22.1 65.977-68.309 22.882z"/><path d="M490.54 185.6C437.7 9.59 361.6-31.34 185.6 21.46S-31.3 150.4 21.46 326.4 150.4 543.3 326.4 490.54 543.34 361.6 490.54 185.6zM401.7 299.8l-33.15 11.05 11.46 34.38c4.5 13.92-2.87 29.06-16.78 33.56-2.87.82-6.14 1.64-9 1.23a27.32 27.32 0 0 1-24.56-18l-11.46-34.38-68.36 22.92 11.46 34.38c4.5 13.92-2.87 29.06-16.78 33.56-2.87.82-6.14 1.64-9 1.23a27.32 27.32 0 0 1-24.56-18l-11.46-34.43-33.15 11.05c-2.87.82-6.14 1.64-9 1.23a27.32 27.32 0 0 1-24.56-18c-4.5-13.92 2.87-29.06 16.78-33.56l33.12-11.03-22.1-65.9-33.15 11.05c-2.87.82-6.14 1.64-9 1.23a27.32 27.32 0 0 1-24.56-18c-4.48-13.93 2.89-29.07 16.81-33.58l33.15-11.05-11.46-34.38c-4.5-13.92 2.87-29.06 16.78-33.56s29.06 2.87 33.56 16.78l11.46 34.38 68.36-22.92-11.46-34.38c-4.5-13.92 2.87-29.06 16.78-33.56s29.06 2.87 33.56 16.78l11.47 34.42 33.15-11.05c13.92-4.5 29.06 2.87 33.56 16.78s-2.87 29.06-16.78 33.56L329.7 194.6l22.1 65.9 33.15-11.05c13.92-4.5 29.06 2.87 33.56 16.78s-2.88 29.07-16.81 33.57z" fill="currentColor"/></svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

-1
View File
@@ -1 +0,0 @@
<svg{% if include.class %} class="{{ include.class }}"{% endif %} xmlns="http://www.w3.org/2000/svg" viewbox="0 0 512 416.32"{% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %} focusable="false"><title>Twitter</title><path d="M160.83 416.32c193.2 0 298.92-160.22 298.92-298.92 0-4.51 0-9-.2-13.52A214 214 0 0 0 512 49.38a212.93 212.93 0 0 1-60.44 16.6 105.7 105.7 0 0 0 46.3-58.19 209 209 0 0 1-66.79 25.37 105.09 105.09 0 0 0-181.73 71.91 116.12 116.12 0 0 0 2.66 24c-87.28-4.3-164.73-46.3-216.56-109.82A105.48 105.48 0 0 0 68 159.6a106.27 106.27 0 0 1-47.53-13.11v1.43a105.28 105.28 0 0 0 84.21 103.06 105.67 105.67 0 0 1-47.33 1.84 105.06 105.06 0 0 0 98.14 72.94A210.72 210.72 0 0 1 25 370.84a202.17 202.17 0 0 1-25-1.43 298.85 298.85 0 0 0 160.83 46.92" fill="currentColor"/></svg>

Before

Width:  |  Height:  |  Size: 861 B

-25
View File
@@ -1,25 +0,0 @@
<script src="{{ site.cdn.jquery }}" integrity="{{ site.cdn.jquery_hash }}" crossorigin="anonymous"></script>
<script>window.jQuery || document.write('<script src="{{ site.baseurl }}/assets/js/vendor/jquery-slim.min.js"><\/script>')</script>
<script src="{{ site.baseurl }}/assets/js/vendor/popper.min.js"{% if site.github %} integrity="{{ site.cdn.popper_hash }}" crossorigin="anonymous"{% endif %}></script>
{%- if site.github -%}
<script src="{{ site.baseurl }}/dist/js/bootstrap.min.js" integrity="{{ site.cdn.js_hash }}" crossorigin="anonymous"></script>
{%- else -%}
<script src="{{ site.baseurl }}/dist/js/bootstrap.js"></script>
{%- endif -%}
{%- if page.layout == "docs" -%}
<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
{%- endif -%}
{%- if site.github -%}
<script src="{{ site.baseurl }}/assets/js/docs.min.js"></script>
{%- else -%}
<script src="{{ site.baseurl }}/assets/js/vendor/anchor.min.js"></script>
<script src="{{ site.baseurl }}/assets/js/vendor/clipboard.min.js"></script>
<script src="{{ site.baseurl }}/assets/js/vendor/holder.min.js"></script>
<script src="{{ site.baseurl }}/assets/js/src/application.js"></script>
<script src="{{ site.baseurl }}/assets/js/src/ie-emulation-modes-warning.js"></script>
<script src="{{ site.baseurl }}/assets/js/src/pwa.js"></script>
{%- endif -%}
-38
View File
@@ -1,38 +0,0 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Bootstrap · Content moved</title>
<link rel="canonical" href="{{ page.redirect.to }}">
<meta http-equiv="refresh" content="0; url={{ page.redirect.to }}">
<meta name="robots" content="noindex">
<style>
html {
display: flex;
align-items: center;
justify-content: center;
margin: 0;
width: 100vw;
height: 100vh;
text-align: center;
}
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
h1 {
margin-top: 0;
margin-bottom: .5rem;
}
a {
color: #007bff;
text-decoration: none;
}
</style>
</head>
<body>
<h1>Redirecting&hellip;</h1>
<a href="{{ page.redirect.to }}">Click here if you are not redirected</a>
<script>window.location="{{ page.redirect.to }}";</script>
</body>
</html>
-12
View File
@@ -1,12 +0,0 @@
---
layout: default
---
<div class="container my-5">
<main class="bd-content" role="main">
<h1 class="bd-title" id="content">{{ page.title | smartify }}</h1>
<p class="bd-lead">{{ page.description | smartify }}</p>
{% include ads.html %}
{{ content }}
</main>
</div>
-27
View File
@@ -1,27 +0,0 @@
module Jekyll
module BugFilter
def bugify(input)
upstream_map = {
"Bootstrap" => "https://github.com/twbs/bootstrap/issues/",
"Edge" => ["https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/", "Edge issue"],
"A11yUserVoice" => ["https://microsoftaccessibility.uservoice.com/forums/307429-microsoft-accessibility-feedback/suggestions/", "Microsoft A11y UserVoice idea"],
"UserVoice" => ["https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggestions/", "Edge UserVoice idea"],
"Mozilla" => ["https://bugzilla.mozilla.org/show_bug.cgi?id=", "Mozilla bug"],
"Chromium" => ["https://bugs.chromium.org/p/chromium/issues/detail?id=", "Chromium issue"],
"WebKit" => ["https://bugs.webkit.org/show_bug.cgi?id=", "WebKit bug"],
"Safari" => ["https://openradar.appspot.com/", "Apple Safari Radar"],
"Normalize" => ["https://github.com/necolas/normalize.css/issues/", "Normalize"]
}
upstream_map.each do |key, data|
url = data.is_a?(Array) ? data[0] : data
label = data.is_a?(Array) ? "#{data[1]} " : ""
input = input.gsub(/#{key}#(\d+)/, "<a href=\"#{url}\\1\">#{label}#\\1</a>")
end
return input
end
end
end
Liquid::Template.register_filter(Jekyll::BugFilter)
-28
View File
@@ -1,28 +0,0 @@
# Source: https://stackoverflow.com/questions/19169849/how-to-get-markdown-processed-content-in-jekyll-tag-plugin
module Jekyll
module Tags
class CalloutTag < Liquid::Block
def initialize(tag_name, type, tokens)
super
type.strip!
if %w(info danger warning).include?(type)
@type = type
else
puts "#{type} callout not supported. Defaulting to info"
@type = "info"
end
end
def render(context)
site = context.registers[:site]
converter = site.find_converter_instance(::Jekyll::Converters::Markdown)
output = converter.convert(super(context))
"<div class=\"bd-callout bd-callout-#{@type}\">#{output}</div>"
end
end
end
end
Liquid::Template.register_tag('callout', Jekyll::Tags::CalloutTag)
-95
View File
@@ -1,95 +0,0 @@
module Jekyll
module Tags
class ExampleBlock < Liquid::Block
include Liquid::StandardFilters
# The regular expression syntax checker. Start with the language specifier.
# Follow that by zero or more space separated options that take one of three
# forms: name, name=value, or name="<quoted list>"
#
# <quoted list> is a space-separated list of numbers
SYNTAX = /^([a-zA-Z0-9.+#-]+)((\s+\w+(=((\w|[0-9_-])+|"([0-9]+\s)*[0-9]+"))?)*)$/
def initialize(tag_name, markup, tokens)
super
if markup.strip =~ SYNTAX
@lang = $1.downcase
@options = {}
if defined?($2) && $2 != ''
# Split along 3 possible forms -- key="<quoted list>", key=value, or key
$2.scan(/(?:\w+(?:=(?:(?:\w|[0-9_-])+|"[^"]*")?)?)/) do |opt|
key, value = opt.split('=')
# If a quoted list, convert to array
if value && value.include?("\"")
value.gsub!(/"/, "")
value = value.split
end
@options[key.to_sym] = value || true
end
end
@options[:linenos] = false
else
raise SyntaxError.new <<-eos
Syntax Error in tag 'example' while parsing the following markup:
#{markup}
Valid syntax: example <lang> [id=foo]
eos
end
end
def render(context)
prefix = context["highlighter_prefix"] || ""
suffix = context["highlighter_suffix"] || ""
code = super.to_s.strip
output = case context.registers[:site].highlighter
when 'rouge'
render_rouge(code)
end
rendered_output = example(code) + add_code_tag(output)
prefix + rendered_output + suffix
end
def example(output)
"<div class=\"bd-example\"" + (@options[:id] ? " data-example-id=\"#{@options[:id]}\"" : "") + ">\n#{output}\n</div>"
end
def remove_holderjs(code)
code = code.gsub(/data-src="holder.js.+?"/, 'src="..."')
end
def remove_example_classes(code)
# Find `bd-` classes and remove them from the highlighted code. Because of how this regex works, it will also
# remove classes that are after the `bd-` class. While this is a bug, I left it because it can be helpful too.
# To fix the bug, replace `(?=")` with `(?=("|\ ))`.
code = code.gsub(/(?!class=".)\ *?bd-.+?(?=")/, "")
# Find empty class attributes after the previous regex and remove those too.
code = code.gsub(/\ class=""/, "")
end
def render_rouge(code)
require 'rouge'
formatter = Rouge::Formatters::HTML.new(line_numbers: @options[:linenos], wrap: false)
lexer = Rouge::Lexer.find_fancy(@lang, code) || Rouge::Lexers::PlainText
code = remove_holderjs(code)
code = remove_example_classes(code)
code = formatter.format(lexer.lex(code))
"<div class=\"highlight\"><pre>#{code}</pre></div>"
end
def add_code_tag(code)
# Add nested <code> tags to code blocks
code = code.sub(/<pre>\n*/,'<pre><code class="language-' + @lang.to_s.gsub("+", "-") + '" data-lang="' + @lang.to_s + '">')
code = code.sub(/\n*<\/pre>/,"</code></pre>")
code.strip
end
end
end
end
Liquid::Template.register_tag('example', Jekyll::Tags::ExampleBlock)
-20
View File
@@ -1,20 +0,0 @@
module Jekyll
class MarkdownBlock < Liquid::Block
alias_method :render_block, :render
def initialize(tag_name, markup, tokens)
super
end
# Uses the default Jekyll markdown parser to
# parse the contents of this block
#
def render(context)
site = context.registers[:site]
converter = site.find_converter_instance(::Jekyll::Converters::Markdown)
converter.convert(render_block(context))
end
end
end
Liquid::Template.register_tag('markdown', Jekyll::MarkdownBlock)
-6
View File
@@ -1,6 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 180 612 612">
<g fill="#FFF" sodipodi:docname="twitter_bootstrap_logo.svg" inkscape:version="0.48.1 r9760" xmlns:svg="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape">
<path d="M510 186c25.5 0 49.6 10 67.8 28.2S606 256.5 606 282v408c0 25.5-10 49.6-28.2 67.8S535.5 786 510 786H102c-25.5 0-49.6-10-67.8-28.2S6 715.5 6 690V282c0-25.5 10-49.6 28.2-67.8S76.5 186 102 186h408m0-6H102C45.9 180 0 225.9 0 282v408c0 56.1 45.9 102 102 102h408c56.1 0 102-45.9 102-102V282c0-56.1-45.9-102-102-102z"/>
<path d="M166.3 313h173.5c32 0 57.7 7.3 77 22s29 36.8 29 66.5c0 18-4.4 33.4-13.2 46.2-8.8 12.8-21.4 22.8-37.8 29.8v1c22 4.7 38.7 15.1 50 31.2 11.3 16.2 17 36.4 17 60.8 0 14-2.5 27.1-7.5 39.2-5 12.2-12.8 22.7-23.5 31.5s-24.3 15.8-41 21-36.5 7.8-59.5 7.8h-164V313zm62.5 149.5h102c15 0 27.5-4.2 37.5-12.8s15-20.8 15-36.8c0-18-4.5-30.7-13.5-38s-22-11-39-11h-102v98.6zm0 156.5h110.5c19 0 33.8-4.9 44.2-14.8 10.5-9.8 15.8-23.8 15.8-41.8 0-17.7-5.2-31.2-15.8-40.8s-25.2-14.2-44.2-14.2H228.8V619z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

-6
View File
@@ -1,6 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 180 612 612">
<g fill="#FFF" sodipodi:docname="twitter_bootstrap_logo.svg" inkscape:version="0.48.1 r9760" xmlns:svg="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape">
<path d="M383.5 521.8c-10.5-9.5-25.2-14.2-44.2-14.2H228.8V619h110.5c19 0 33.8-4.9 44.2-14.8 10.5-9.8 15.8-23.8 15.8-41.8-.1-17.6-5.3-31.2-15.8-40.6zm-15.3-72c10-8.5 15-20.8 15-36.8 0-18-4.5-30.7-13.5-38s-22-11-39-11h-102v98.5h102c15 0 27.5-4.3 37.5-12.7z"/>
<path d="M510 180H102C45.9 180 0 225.9 0 282v408c0 56.1 45.9 102 102 102h408c56.1 0 102-45.9 102-102V282c0-56.1-45.9-102-102-102zm-55.8 429.8c-5 12.2-12.8 22.7-23.5 31.5s-24.3 15.8-41 21-36.5 7.8-59.5 7.8h-164V313h173.5c32 0 57.7 7.3 77 22s29 36.8 29 66.5c0 18-4.4 33.4-13.2 46.2-8.8 12.8-21.4 22.8-37.8 29.8v1c22 4.7 38.7 15.1 50 31.2 11.3 16.2 17 36.4 17 60.8 0 14-2.5 27.1-7.5 39.3z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

-6
View File
@@ -1,6 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 612 612">
<g sodipodi:docname="twitter_bootstrap_logo.svg" inkscape:version="0.48.1 r9760" xmlns:svg="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape">
<path fill="#563D7C" d="M612 510c0 56.1-45.9 102-102 102H102C45.9 612 0 566.1 0 510V102C0 45.9 45.9 0 102 0h408c56.1 0 102 45.9 102 102v408z"/>
<path fill="#FFF" d="M166.3 133h173.5c32 0 57.7 7.3 77 22s29 36.8 29 66.5c0 18-4.4 33.4-13.2 46.2-8.8 12.8-21.4 22.8-37.8 29.8v1c22 4.7 38.7 15.1 50 31.2 11.3 16.2 17 36.4 17 60.8 0 14-2.5 27.1-7.5 39.2-5 12.2-12.8 22.7-23.5 31.5s-24.3 15.8-41 21-36.5 7.8-59.5 7.8h-164V133zm62.5 149.5h102c15 0 27.5-4.2 37.5-12.8s15-20.8 15-36.8c0-18-4.5-30.7-13.5-38s-22-11-39-11h-102v98.6zm0 156.5h110.5c19 0 33.8-4.9 44.2-14.8 10.5-9.8 15.8-23.8 15.8-41.8 0-17.7-5.2-31.2-15.8-40.8s-25.2-14.2-44.2-14.2H228.8V439z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

-8
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

-11
View File
@@ -1,11 +0,0 @@
---
---
<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
<tile>
<square150x150logo src="{{ site.baseurl }}/assets/img/favicons/mstile-150x150.png"/>
<TileColor>#563d7c</TileColor>
</tile>
</msapplication>
</browserconfig>
-22
View File
@@ -1,22 +0,0 @@
---
---
{
"name": "Bootstrap",
"short_name": "Bootstrap",
"icons": [
{
"src": "{{ site.baseurl }}/assets/img/favicons/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "{{ site.baseurl }}/assets/img/favicons/android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
],
"start_url": "/",
"theme_color": "#563d7c",
"background_color": "#563d7c",
"display": "standalone"
}
-20
View File
@@ -1,20 +0,0 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="700.000000pt" height="700.000000pt" viewBox="0 0 700.000000 700.000000"
preserveAspectRatio="xMidYMid meet">
<metadata>
Created by potrace 1.11, written by Peter Selinger 2001-2013
</metadata>
<g transform="translate(0.000000,700.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M975 6983 c-494 -88 -870 -467 -959 -965 -13 -72 -15 -404 -14 -2513
0 -1970 3 -2446 13 -2515 46 -295 206 -564 445 -747 60 -46 164 -113 175 -113
3 0 31 -13 62 -28 73 -35 146 -58 260 -82 84 -17 196 -18 2563 -16 2334 1
2479 3 2545 19 39 10 77 20 85 22 74 18 226 87 310 139 92 58 255 209 298 276
9 14 28 41 43 60 36 48 111 200 138 280 12 36 30 106 40 155 18 86 19 188 17
2570 l-1 2480 -27 95 c-52 188 -106 300 -207 434 -170 225 -400 372 -691 442
-71 17 -200 18 -2545 20 -2111 2 -2482 0 -2550 -13z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

-28
View File
File diff suppressed because one or more lines are too long
-17
View File
@@ -1,17 +0,0 @@
/* eslint no-console:off */
(function () {
'use strict'
if ('serviceWorker' in navigator) {
window.addEventListener('load', function () {
navigator.serviceWorker.register('/sw.js').then(function (registration) { // eslint-disable-line compat/compat
console.log('ServiceWorker registration successful with scope: ', registration.scope)
}).catch(function (err) {
console.log('ServiceWorker registration failed: ', err)
})
})
} else {
console.log('Service workers are not supported.')
}
}())
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-13
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-110
View File
@@ -1,110 +0,0 @@
// stylelint-disable no-duplicate-selectors
//
// Brand guidelines
//
// Logo series wrapper
.bd-brand-logos {
display: table;
width: 100%;
margin-bottom: 1rem;
overflow: hidden;
color: #563d7c;
background-color: #f9f9f9;
border-radius: .25rem;
}
// Individual items
.bd-brand-item {
padding: 4rem 0;
text-align: center;
}
.bd-brand-item + .bd-brand-item {
border-top: 1px solid #fff;
}
.bd-brand-logos .inverse {
color: #fff;
background-color: #563d7c;
}
// Heading content within
.bd-brand-item h1,
.bd-brand-item h3 {
margin-top: 0;
margin-bottom: 0;
}
.bd-brand-item .bd-booticon {
margin-right: auto;
margin-left: auto;
}
// Make the icons stand out on what is/isn't okay
// .bd-brand-item .glyphicon {
// width: 30px;
// height: 30px;
// margin: 10px auto -10px;
// line-height: 30px;
// color: #fff;
// border-radius: 50%;
// }
// .bd-brand-item .glyphicon-ok {
// background-color: #5cb85c;
// }
// .bd-brand-item .glyphicon-remove {
// background-color: #d9534f;
// }
@media (min-width: 768px) {
.bd-brand-item {
display: table-cell;
width: 1%;
}
.bd-brand-item + .bd-brand-item {
border-top: 0;
border-left: 1px solid #fff;
}
.bd-brand-item h1 {
font-size: 4rem;
}
}
//
// Color swatches
//
.color-swatches {
margin: 0 -5px;
overflow: hidden; // clearfix
}
.color-swatch {
float: left;
width: 4rem;
height: 4rem;
margin-right: .25rem;
margin-left: .25rem;
border-radius: .25rem;
@media (min-width: 768px) {
width: 6rem;
height: 6rem;
}
}
// Docs colors
.color-swatches {
.bd-purple {
background-color: $bd-purple;
}
.bd-purple-light {
background-color: $bd-purple-light;
}
.bd-purple-lighter {
background-color: #e5e1ea;
}
.bd-gray {
background-color: #f9f9f9;
}
}
-24
View File
@@ -1,24 +0,0 @@
//
// Examples
//
.bd-examples .img-thumbnail {
margin-bottom: .75rem;
}
.bd-examples h4 {
margin-bottom: .25rem;
}
.bd-examples p {
margin-bottom: 1.25rem;
}
@media (max-width: 480px) {
.bd-examples {
margin-right: -.75rem;
margin-left: -.75rem;
}
.bd-examples > [class^="col-"] {
padding-right: .75rem;
padding-left: .75rem;
}
}
-14
View File
@@ -1,14 +0,0 @@
// stylelint-disable selector-max-id
#skippy {
display: block;
padding: 1em;
color: #fff;
background-color: $bd-purple;
outline: 0;
.skiplink-text {
padding: .5em;
outline: 1px dotted;
}
}
-43
View File
@@ -1,43 +0,0 @@
{
"attr-bans": ["align", "background", "bgcolor", "border", "frameborder", "longdesc", "marginwidth", "marginheight", "scrolling"],
"attr-name-style": false,
"attr-no-dup": true,
"attr-no-unsafe-char": true,
"attr-quote-style": "double",
"attr-req-value": true,
"attr-validate": true,
"class-no-dup": true,
"class-style": "dash",
"doctype-first": true,
"doctype-html5": true,
"fig-req-figcaption": false,
"focusable-tabindex-style": true,
"head-req-title": true,
"head-valid-content-model": false,
"href-style": false,
"html-req-lang": true,
"html-valid-content-model": false,
"id-class-ignore-regex": "(onclick|content|[a-z]+([A-Z][a-z])+)",
"id-class-no-ad": true,
"id-class-style": "dash",
"id-no-dup": true,
"img-req-alt": "allownull",
"img-req-src": false,
"indent-style": "spaces",
"indent-width": 2,
"input-radio-req-name": false,
"input-req-label": false,
"label-req-for": true,
"lang-style": "case",
"line-end-style": "lf",
"spec-char-escape": false,
"table-req-header": false,
"tag-bans": ["b", "i"],
"tag-close": true,
"tagname-lowercase": true,
"tag-name-match": true,
"tag-self-close": false,
"text-ignore-regex": false,
"title-max-len": 70,
"title-no-dup": true
}
+14
View File
@@ -0,0 +1,14 @@
'use strict'
const pkg = require('../package.json')
const year = new Date().getFullYear()
function getBanner(pluginFilename) {
return `/*!
* Bootstrap${pluginFilename ? ` ${pluginFilename}` : ''} v${pkg.version} (${pkg.homepage})
* Copyright 2011-${year} ${pkg.author}
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/`
}
module.exports = getBanner
+85
View File
@@ -0,0 +1,85 @@
/*!
* Script to build our plugins to use them separately.
* Copyright 2018 The Bootstrap Authors
* Copyright 2018 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
'use strict'
const path = require('path')
const rollup = require('rollup')
const babel = require('rollup-plugin-babel')
const banner = require('./banner.js')
const TEST = process.env.NODE_ENV === 'test'
const plugins = [
babel({
exclude: 'node_modules/**', // Only transpile our source code
externalHelpersWhitelist: [ // Include only required helpers
'defineProperties',
'createClass',
'inheritsLoose',
'defineProperty',
'objectSpread'
]
})
]
const bsPlugins = {
Alert: path.resolve(__dirname, '../js/src/alert.js'),
Button: path.resolve(__dirname, '../js/src/button.js'),
Carousel: path.resolve(__dirname, '../js/src/carousel.js'),
Collapse: path.resolve(__dirname, '../js/src/collapse.js'),
Dropdown: path.resolve(__dirname, '../js/src/dropdown.js'),
Modal: path.resolve(__dirname, '../js/src/modal.js'),
Popover: path.resolve(__dirname, '../js/src/popover.js'),
ScrollSpy: path.resolve(__dirname, '../js/src/scrollspy.js'),
Tab: path.resolve(__dirname, '../js/src/tab.js'),
Toast: path.resolve(__dirname, '../js/src/toast.js'),
Tooltip: path.resolve(__dirname, '../js/src/tooltip.js'),
Util: path.resolve(__dirname, '../js/src/util.js')
}
const rootPath = TEST ? '../js/coverage/dist/' : '../js/dist/'
function build(plugin) {
console.log(`Building ${plugin} plugin...`)
const external = ['jquery', 'popper.js']
const globals = {
jquery: 'jQuery', // Ensure we use jQuery which is always available even in noConflict mode
'popper.js': 'Popper'
}
// Do not bundle Util in plugins
if (plugin !== 'Util') {
external.push(bsPlugins.Util)
globals[bsPlugins.Util] = 'Util'
}
// Do not bundle Tooltip in Popover
if (plugin === 'Popover') {
external.push(bsPlugins.Tooltip)
globals[bsPlugins.Tooltip] = 'Tooltip'
}
const pluginFilename = `${plugin.toLowerCase()}.js`
rollup.rollup({
input: bsPlugins[plugin],
plugins,
external
}).then((bundle) => {
bundle.write({
banner: banner(pluginFilename),
format: 'umd',
name: plugin,
sourcemap: true,
globals,
file: path.resolve(__dirname, `${rootPath}${pluginFilename}`)
})
.then(() => console.log(`Building ${plugin} plugin... Done!`))
.catch((err) => console.error(`${plugin}: ${err}`))
})
}
Object.keys(bsPlugins).forEach((plugin) => build(plugin))
+1 -3
View File
@@ -1,7 +1,5 @@
#!/usr/bin/env node
'use strict'
/*!
* Script to update version number references in the project.
* Copyright 2017-2018 The Bootstrap Authors
@@ -9,7 +7,7 @@
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
/* global Set */
'use strict'
const fs = require('fs')
const path = require('path')
Binary file not shown.
+12 -6
View File
@@ -12,11 +12,13 @@
'use strict'
const crypto = require('crypto')
const fs = require('fs')
const path = require('path')
const sriToolbox = require('sri-toolbox')
const sh = require('shelljs')
const pkg = require('../package.json')
sh.config.fatal = true
const configFile = path.join(__dirname, '../_config.yml')
@@ -34,11 +36,15 @@ const files = [
configPropertyName: 'js_hash'
},
{
file: 'assets/js/vendor/jquery-slim.min.js',
file: `site/docs/${pkg.version_short}/assets/js/vendor/jquery-slim.min.js`,
configPropertyName: 'jquery_hash'
},
{
file: 'assets/js/vendor/popper.min.js',
file: 'dist/js/bootstrap.bundle.min.js',
configPropertyName: 'js_bundle_hash'
},
{
file: 'node_modules/popper.js/dist/umd/popper.min.js',
configPropertyName: 'popper_hash'
}
]
@@ -49,9 +55,9 @@ files.forEach((file) => {
throw err
}
const integrity = sriToolbox.generate({
algorithms: ['sha384']
}, data)
const algo = 'sha384'
const hash = crypto.createHash(algo).update(data, 'utf8').digest('base64')
const integrity = `${algo}-${hash}`
console.log(`${file.configPropertyName}: ${integrity}`)
-83
View File
@@ -1,83 +0,0 @@
#!/usr/bin/env node
/*!
* Script to find unused Sass variables.
*
* Copyright 2017-2018 The Bootstrap Authors
* Copyright 2017-2018 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
'use strict'
const fs = require('fs')
const path = require('path')
const glob = require('glob')
// Blame TC39... https://github.com/benjamingr/RegExp.escape/issues/37
function regExpQuote(str) {
return str.replace(/[-\\^$*+?.()|[\]{}]/g, '\\$&')
}
let globalSuccess = true
function findUnusedVars(dir) {
if (!(fs.existsSync(dir) && fs.statSync(dir).isDirectory())) {
console.log(`"${dir}": Not a valid directory!`)
process.exit(1)
}
console.log(`Finding unused variables in "${dir}"...`)
// A variable to handle success/failure message in this function
let unusedVarsFound = false
// Array of all Sass files' content
const sassFiles = glob.sync(path.join(dir, '**/*.scss'))
// String of all Sass files' content
let sassFilesString = ''
sassFiles.forEach((file) => {
sassFilesString += fs.readFileSync(file, 'utf8')
})
// Array of all Sass variables
const variables = sassFilesString.match(/(^\$[a-zA-Z0-9_-]+[^:])/gm)
console.log(`Found ${variables.length} total variables.`)
// Loop through each variable
variables.forEach((variable) => {
const re = new RegExp(regExpQuote(variable), 'g')
const count = (sassFilesString.match(re) || []).length
if (count === 1) {
console.log(`Variable "${variable}" is not being used.`)
unusedVarsFound = true
globalSuccess = false
}
})
if (unusedVarsFound === false) {
console.log(`No unused variables found in "${dir}".`)
}
}
function main(args) {
if (args.length < 1) {
console.log('Wrong arguments!')
console.log('Usage: lint-vars.js folder [, folder2...]')
process.exit(1)
}
args.forEach((arg) => {
findUnusedVars(arg)
})
if (globalSuccess === false) {
process.exit(1)
}
}
// The first and second args are: path/to/node script.js
main(process.argv.slice(2))
+4 -8
View File
@@ -3,10 +3,9 @@
const path = require('path')
const babel = require('rollup-plugin-babel')
const resolve = require('rollup-plugin-node-resolve')
const banner = require('./banner.js')
const pkg = require(path.resolve(__dirname, '../package.json'))
const BUNDLE = process.env.BUNDLE === 'true'
const year = new Date().getFullYear()
let fileDest = 'bootstrap.js'
const external = ['jquery', 'popper.js']
@@ -17,7 +16,8 @@ const plugins = [
'defineProperties',
'createClass',
'inheritsLoose',
'extends'
'defineProperty',
'objectSpread'
]
})
]
@@ -37,11 +37,7 @@ if (BUNDLE) {
module.exports = {
input: path.resolve(__dirname, '../js/src/index.js'),
output: {
banner: `/*!
* Bootstrap v${pkg.version} (${pkg.homepage})
* Copyright 2011-${year} ${pkg.author}
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/`,
banner,
file: path.resolve(__dirname, `../dist/js/${fileDest}`),
format: 'umd',
globals,
-65
View File
@@ -1,65 +0,0 @@
[
{
"browserName": "safari",
"platform": "OS X 10.11",
"version": "latest"
},
{
"browserName": "chrome",
"platform": "OS X 10.11",
"version": "latest"
},
{
"browserName": "firefox",
"platform": "OS X 10.11",
"version": "latest"
},
{
"browserName": "MicrosoftEdge",
"platform": "Windows 10",
"version": "latest"
},
{
"browserName": "internet explorer",
"version": "11",
"platform": "Windows 8.1"
},
{
"browserName": "internet explorer",
"version": "10",
"platform": "Windows 8"
},
{
"browserName": "chrome",
"platform": "Windows 10",
"version": "latest"
},
{
"browserName": "firefox",
"platform": "Windows 10",
"version": "latest"
},
{
"browserName": "iphone",
"deviceName": "iPhone Simulator",
"platformName": "OS X 10.11",
"version": "9.3"
},
{
"browserName": "chrome",
"platform": "Linux",
"version": "latest"
},
{
"browserName": "firefox",
"platform": "Linux",
"version": "latest"
},
{
"platform": "Linux",
"browserName": "android",
"deviceName": "Android Emulator",
"version": "latest",
"deviceType": "phone"
}
]
-110
View File
@@ -1,110 +0,0 @@
/*!
* Script to run our Sauce Labs tests.
* Copyright 2017-2018 The Bootstrap Authors
* Copyright 2017-2018 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
/*
Docs: https://wiki.saucelabs.com/display/DOCS/Platform+Configurator
Mac Opera is not currently supported by Sauce Labs
Win Opera 15+ is not currently supported by Sauce Labs
iOS Chrome is not currently supported by Sauce Labs
*/
'use strict'
const path = require('path')
const JSUnitSaucelabs = require('jsunitsaucelabs')
const jsUnitSaucelabs = new JSUnitSaucelabs({
username: process.env.SAUCE_USERNAME,
password: process.env.SAUCE_ACCESS_KEY,
build: process.env.TRAVIS_JOB_ID
})
const testURL = 'http://localhost:3000/js/tests/index.html?hidepassed'
const browsersFile = require(path.resolve(__dirname, './sauce_browsers.json'))
let jobsDone = 0
let jobsSucceeded = 0
const waitingCallback = (error, body, id) => {
if (error) {
console.error(error)
process.exit(1)
}
if (typeof body !== 'undefined') {
if (!body.completed) {
setTimeout(() => {
jsUnitSaucelabs.getStatus(id, (error, body) => {
waitingCallback(error, body, id)
})
}, 2000)
} else {
const test = body['js tests'][0]
let passed = false
let errorStr = false
if (test.result !== null) {
if (typeof test.result === 'string' && test.result === 'Test exceeded maximum duration') {
errorStr = test.result
} else {
passed = test.result.total === test.result.passed
}
}
console.log(`Tested ${testURL}`)
console.log(`Platform: ${test.platform.join(', ')}`)
console.log(`Passed: ${passed.toString()}`)
console.log(`URL: ${test.url}\n`)
if (errorStr) {
console.error(errorStr)
}
if (passed) {
jobsSucceeded++
}
jobsDone++
// Exit
if (jobsDone === browsersFile.length - 1) {
jsUnitSaucelabs.stop()
if (jobsDone > jobsSucceeded) {
const failedTest = jobsDone - jobsSucceeded
throw new Error(`Some test(s) failed (${failedTest})`)
}
console.log('All tests passed')
process.exit(0)
}
}
}
}
jsUnitSaucelabs.on('tunnelCreated', () => {
browsersFile.forEach((tmpBrowser) => {
const browsersPlatform = typeof tmpBrowser.platform === 'undefined' ? tmpBrowser.platformName : tmpBrowser.platform
const browsersArray = [browsersPlatform, tmpBrowser.browserName, tmpBrowser.version]
jsUnitSaucelabs.start([browsersArray], testURL, 'qunit', (error, success) => {
if (typeof success !== 'undefined') {
const taskIds = success['js tests']
if (!taskIds || taskIds.length === 0) {
throw new Error('Error starting tests through Sauce Labs API')
}
taskIds.forEach((id) => {
jsUnitSaucelabs.getStatus(id, (error, body) => {
waitingCallback(error, body, id)
})
})
} else {
console.error(error)
}
})
})
})
jsUnitSaucelabs.initTunnel()
+21 -39
View File
@@ -9,62 +9,44 @@
red=$'\e[1;31m'
green=$'\e[1;32m'
blue=$'\e[1;34m'
#blue=$'\e[1;34m'
magenta=$'\e[1;35m'
cyan=$'\e[1;36m'
#cyan=$'\e[1;36m'
end=$'\e[0m'
# Get current version from package.json
current_version=$(node -p "require('./package.json').version")
if [[ $# -lt 1 ]]; then
printf "\n${red}⚠️ Shipping aborted. You must specify a version.\n${end}"
printf "\n%s⚠️ Shipping aborted. You must specify a version.\n%s" $red $end
exit 1
fi
# Pulling latest changes, just to be sure
printf "\n${magenta}=======================================================${end}"
printf "\n${magenta}Pulling latest changes...${end}"
printf "\n${magenta}=======================================================\n\n${end}"
printf "\n%s=======================================================%s" $magenta $end
printf "\n%sPulling latest changes...%s" $magenta $end
printf "\n%s=======================================================\n\n%s" $magenta $end
git pull origin v4-dev
# Update version number
printf "\n${magenta}=======================================================${end}"
printf "\n${magenta}Updating version number...${end}"
printf "\n${magenta}=======================================================\n${end}"
npm run release-version $current_version $1
printf "\n%s=======================================================%s" $magenta $end
printf "\n%sUpdating version number...%s" $magenta $end
printf "\n%s=======================================================\n%s" $magenta $end
npm run release-version "$current_version" "$1"
# Compile latest CSS and JS
printf "\n${magenta}=======================================================${end}"
printf "\n${magenta}Compile latest CSS and JS...${end}"
printf "\n${magenta}=======================================================\n${end}"
npm run dist
# Generate the SRI hashes
printf "\n${magenta}=======================================================${end}"
printf "\n${magenta}Generate the SRI hashes...${end}"
printf "\n${magenta}=======================================================\n${end}"
npm run release-sri
# Compress the dist files
printf "\n${magenta}=======================================================${end}"
printf "\n${magenta}Compressing the dist files...${end}"
printf "\n${magenta}=======================================================\n${end}"
npm run release-zip
# Compile the docs
printf "\n${magenta}=======================================================${end}"
printf "\n${magenta}Compile hosted documentation...${end}"
printf "\n${magenta}=======================================================\n${end}"
npm run docs-github
# Build release
printf "\n%s=======================================================%s" $magenta $end
printf "\n%sBuilding release...%s" $magenta $end
printf "\n%s=======================================================\n%s" $magenta $end
npm run release
# Copy the contents of the built docs site over to `bs-docs` repo
printf "\n${magenta}=======================================================${end}"
printf "\n${magenta}Copy it over...${end}"
printf "\n${magenta}=======================================================\n${end}"
printf "\n%s=======================================================%s" $magenta $end
printf "\n%sCopy it over...%s" $magenta $end
printf "\n%s=======================================================\n%s" $magenta $end
cp -rf _gh_pages/. ../bs-docs/
printf "\nDone!\n"
printf "\n${green}=======================================================${end}"
printf "\n${green}Success, $1 is ready to review and publish.${end}"
printf "\n${green}=======================================================\n\n${end}"
printf "\n%s=======================================================%s" $green $end
printf "\n%sSuccess, $1 is ready to review and publish.%s" $green $end
printf "\n%s=======================================================\n\n%s" $green $end
+57
View File
@@ -0,0 +1,57 @@
# Usage:
# install svgo globally: `npm i -g svgo`
# svgo --config=build/svgo.yml --input=foo.svg
# https://github.com/svg/svgo/blob/master/docs/how-it-works/en.md
# replace default config
multipass: true
#full: true
# https://github.com/svg/svgo/blob/master/lib/svgo/js2svg.js#L6 for more config options
js2svg:
pretty: true
indent: 2
plugins:
# remove this with IE 11 is no longer supported
- addAttributesToSVGElement:
attributes:
- focusable: false
- cleanupAttrs: true
- cleanupEnableBackground: true
- cleanupIDs: true
- cleanupListOfValues: true
- cleanupNumericValues: true
- collapseGroups: true
- convertColors: true
- convertPathData: true
- convertShapeToPath: true
- convertStyleToAttrs: true
- convertTransform: true
- inlineStyles: true
- mergePaths: true
- minifyStyles: true
- moveElemsAttrsToGroup: true
- moveGroupAttrsToElems: true
- removeComments: true
- removeDesc: true
- removeDoctype: true
- removeEditorsNSData: true
- removeEmptyAttrs: true
- removeEmptyContainers: true
- removeEmptyText: true
- removeHiddenElems: true
- removeMetadata: true
- removeNonInheritableGroupAttrs: true
- removeTitle: false
- removeUnknownsAndDefaults:
keepRoleAttr: true
- removeUnusedNS: true
- removeUselessDefs: true
- removeUselessStrokeAndFill: true
- removeViewBox: false
- removeXMLNS: false
- removeXMLProcInst: true
- sortAttrs: true
-13
View File
@@ -1,13 +0,0 @@
#!/bin/bash
# Upload built docs to preview.twbsapps.com
# Add build metadata to version
sed -i "/^current_version:/ s/\$/+pr.${TRAVIS_COMMIT}/" _config.yml
bundle exec jekyll build --destination "$TRAVIS_COMMIT" --baseurl "/c/${TRAVIS_COMMIT}"
openssl aes-256-cbc -K $encrypted_2b749c8e6327_key -iv $encrypted_2b749c8e6327_iv -in build/gcp-key.json.enc -out build/gcp-key.json -d
gcloud auth activate-service-account "$GCP_SERVICE_ACCOUNT" --key-file build/gcp-key.json &> /dev/null || (echo 'GCP login failed!'; exit 1)
echo "Uploading to http://preview.twbsapps.com/c/${TRAVIS_COMMIT} ..."
time gsutil -q -m cp -z html,css,js,svg -r "./${TRAVIS_COMMIT}" gs://preview.twbsapps.com/c/
echo 'Done.'
+2 -5
View File
@@ -27,9 +27,6 @@ childProcess.exec('java -version', (error, stdout, stderr) => {
// Firefox's non-standard autocomplete behavior - see https://bugzilla.mozilla.org/show_bug.cgi?id=654072
'Attribute “autocomplete” is only allowed when the input type is.*',
'Attribute “autocomplete” not allowed on element “button” at this point.',
// We use holder.js with `data-src` and no `src` to avoid 404 errors;
// we could work around this, but I'm not sure it's worth it.
'Element “img” is missing required attribute “src”.',
// Markup used in Components → Forms → Layout → Form grid → Horizontal form is currently invalid,
// but used this way due to lack of support for flexbox layout on <fieldset> element in most browsers
'Element “legend” not allowed as child of element “div” in this context.*',
@@ -40,8 +37,8 @@ childProcess.exec('java -version', (error, stdout, stderr) => {
// IE11 doesn't recognise <main> / give the element an implicit "main" landmark.
// Explicit role="main" is redundant for other modern browsers, but still valid.
'The “main” role is unnecessary for element “main”.',
// For some reason, the validator thinks the dashboard example is written in Danish
'This document appears to be written in Danish.*'
// Ignore the wrong lanuage code warnings for now; they happen randomly.
'This document appears to be written in.*'
].join('|')
const args = [
-8
View File
@@ -1,8 +0,0 @@
{
"globDirectory": "./",
"globPatterns": [
"_gh_pages/**/*.{html,css,js,json,png,svg}"
],
"swSrc": "./sw.js",
"swDest": "./_gh_pages/sw.js"
}
-40
View File
@@ -1,40 +0,0 @@
'use strict'
const fs = require('fs')
const path = require('path')
const swBuild = require('workbox-build')
const config = require('./workbox.config.json')
const buildPrefix = '_gh_pages/'
const workboxSWSrcPath = require.resolve('workbox-sw')
const wbFileName = path.basename(workboxSWSrcPath)
const workboxSWDestPath = `${buildPrefix}assets/js/vendor/${wbFileName}`
const workboxSWSrcMapPath = `${workboxSWSrcPath}.map`
const workboxSWDestMapPath = `${workboxSWDestPath}.map`
fs.createReadStream(workboxSWSrcPath).pipe(fs.createWriteStream(workboxSWDestPath))
fs.createReadStream(workboxSWSrcMapPath).pipe(fs.createWriteStream(workboxSWDestMapPath))
const updateUrl = (manifestEntries) => manifestEntries.map((entry) => {
if (entry.url.startsWith(buildPrefix)) {
const regex = new RegExp(buildPrefix, 'g')
entry.url = entry.url.replace(regex, '')
}
return entry
})
config.manifestTransforms = [updateUrl]
swBuild.injectManifest(config).then(() => {
const wbSwRegex = /{fileName}/g
fs.readFile(config.swDest, 'utf8', (err, data) => {
if (err) {
throw err
}
const swFileContents = data.replace(wbSwRegex, wbFileName)
fs.writeFile(config.swDest, swFileContents, () => {
console.log('Pre-cache Manifest generated.')
})
})
})
+1 -1
View File
@@ -11,7 +11,7 @@
"framework",
"web"
],
"homepage": "https://getbootstrap.com",
"homepage": "https://getbootstrap.com/",
"authors": [
{
"name": "Mark Otto",
+1923 -254
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
File diff suppressed because one or more lines are too long
+2 -2
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+10 -21
View File
@@ -1,5 +1,5 @@
/*!
* Bootstrap Reboot v4.0.0 (https://getbootstrap.com)
* Bootstrap Reboot v4.2.0 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors
* Copyright 2011-2018 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
@@ -15,22 +15,16 @@ html {
font-family: sans-serif;
line-height: 1.15;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
-ms-overflow-style: scrollbar;
-webkit-tap-highlight-color: transparent;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
@-ms-viewport {
width: device-width;
}
article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {
article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
display: block;
}
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
@@ -66,6 +60,7 @@ abbr[data-original-title] {
text-decoration: underline dotted;
cursor: help;
border-bottom: 0;
text-decoration-skip-ink: none;
}
address {
@@ -101,10 +96,6 @@ blockquote {
margin: 0 0 1rem;
}
dfn {
font-style: italic;
}
b,
strong {
font-weight: bolder;
@@ -134,7 +125,6 @@ a {
color: #007bff;
text-decoration: none;
background-color: transparent;
-webkit-text-decoration-skip: objects;
}
a:hover {
@@ -160,7 +150,7 @@ pre,
code,
kbd,
samp {
font-family: monospace, monospace;
font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
font-size: 1em;
}
@@ -168,7 +158,6 @@ pre {
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
-ms-overflow-style: scrollbar;
}
figure {
@@ -180,8 +169,9 @@ img {
border-style: none;
}
svg:not(:root) {
svg {
overflow: hidden;
vertical-align: middle;
}
table {
@@ -202,7 +192,7 @@ th {
label {
display: inline-block;
margin-bottom: .5rem;
margin-bottom: 0.5rem;
}
button {
@@ -236,7 +226,7 @@ select {
}
button,
html [type="button"],
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
@@ -301,7 +291,6 @@ progress {
-webkit-appearance: none;
}
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
+1 -1
View File
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -1,8 +1,8 @@
/*!
* Bootstrap Reboot v4.0.0 (https://getbootstrap.com)
* Bootstrap Reboot v4.2.0 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors
* Copyright 2011-2018 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}
*/*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}
/*# sourceMappingURL=bootstrap-reboot.min.css.map */
File diff suppressed because one or more lines are too long
+1718 -806
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
File diff suppressed because one or more lines are too long
+2 -2
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+3777 -3287
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
File diff suppressed because one or more lines are too long
+2 -2
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1281 -926
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
File diff suppressed because one or more lines are too long
+2 -2
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
-11
View File
@@ -1,11 +0,0 @@
{
"env": {
"es6": false,
"jquery": true
},
"parserOptions": {
"ecmaVersion": 5,
"sourceType": "script"
},
"extends": "../../../js/tests/unit/.eslintrc.json"
}
-232
View File
@@ -1,232 +0,0 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../../../favicon.ico">
<title>Album example for Bootstrap</title>
<!-- Bootstrap core CSS -->
<link href="../../../../dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="album.css" rel="stylesheet">
</head>
<body>
<header>
<div class="collapse bg-dark" id="navbarHeader">
<div class="container">
<div class="row">
<div class="col-sm-8 col-md-7 py-4">
<h4 class="text-white">About</h4>
<p class="text-muted">Add some information about the album below, the author, or any other background context. Make it a few sentences long so folks can pick up some informative tidbits. Then, link them off to some social networking sites or contact information.</p>
</div>
<div class="col-sm-4 offset-md-1 py-4">
<h4 class="text-white">Contact</h4>
<ul class="list-unstyled">
<li><a href="#" class="text-white">Follow on Twitter</a></li>
<li><a href="#" class="text-white">Like on Facebook</a></li>
<li><a href="#" class="text-white">Email me</a></li>
</ul>
</div>
</div>
</div>
</div>
<div class="navbar navbar-dark bg-dark box-shadow">
<div class="container d-flex justify-content-between">
<a href="#" class="navbar-brand d-flex align-items-center">
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="mr-2"><path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"></path><circle cx="12" cy="13" r="4"></circle></svg>
<strong>Album</strong>
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarHeader" aria-controls="navbarHeader" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
</div>
</div>
</header>
<main role="main">
<section class="jumbotron text-center">
<div class="container">
<h1 class="jumbotron-heading">Album example</h1>
<p class="lead text-muted">Something short and leading about the collection below—its contents, the creator, etc. Make it short and sweet, but not too short so folks don't simply skip over it entirely.</p>
<p>
<a href="#" class="btn btn-primary my-2">Main call to action</a>
<a href="#" class="btn btn-secondary my-2">Secondary action</a>
</p>
</div>
</section>
<div class="album py-5 bg-light">
<div class="container">
<div class="row">
<div class="col-md-4">
<div class="card mb-4 box-shadow">
<img class="card-img-top" data-src="holder.js/100px225?theme=thumb&bg=55595c&fg=eceeef&text=Thumbnail" alt="Card image cap">
<div class="card-body">
<p class="card-text">This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.</p>
<div class="d-flex justify-content-between align-items-center">
<div class="btn-group">
<button type="button" class="btn btn-sm btn-outline-secondary">View</button>
<button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
</div>
<small class="text-muted">9 mins</small>
</div>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card mb-4 box-shadow">
<img class="card-img-top" data-src="holder.js/100px225?theme=thumb&bg=55595c&fg=eceeef&text=Thumbnail" alt="Card image cap">
<div class="card-body">
<p class="card-text">This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.</p>
<div class="d-flex justify-content-between align-items-center">
<div class="btn-group">
<button type="button" class="btn btn-sm btn-outline-secondary">View</button>
<button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
</div>
<small class="text-muted">9 mins</small>
</div>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card mb-4 box-shadow">
<img class="card-img-top" data-src="holder.js/100px225?theme=thumb&bg=55595c&fg=eceeef&text=Thumbnail" alt="Card image cap">
<div class="card-body">
<p class="card-text">This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.</p>
<div class="d-flex justify-content-between align-items-center">
<div class="btn-group">
<button type="button" class="btn btn-sm btn-outline-secondary">View</button>
<button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
</div>
<small class="text-muted">9 mins</small>
</div>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card mb-4 box-shadow">
<img class="card-img-top" data-src="holder.js/100px225?theme=thumb&bg=55595c&fg=eceeef&text=Thumbnail" alt="Card image cap">
<div class="card-body">
<p class="card-text">This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.</p>
<div class="d-flex justify-content-between align-items-center">
<div class="btn-group">
<button type="button" class="btn btn-sm btn-outline-secondary">View</button>
<button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
</div>
<small class="text-muted">9 mins</small>
</div>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card mb-4 box-shadow">
<img class="card-img-top" data-src="holder.js/100px225?theme=thumb&bg=55595c&fg=eceeef&text=Thumbnail" alt="Card image cap">
<div class="card-body">
<p class="card-text">This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.</p>
<div class="d-flex justify-content-between align-items-center">
<div class="btn-group">
<button type="button" class="btn btn-sm btn-outline-secondary">View</button>
<button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
</div>
<small class="text-muted">9 mins</small>
</div>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card mb-4 box-shadow">
<img class="card-img-top" data-src="holder.js/100px225?theme=thumb&bg=55595c&fg=eceeef&text=Thumbnail" alt="Card image cap">
<div class="card-body">
<p class="card-text">This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.</p>
<div class="d-flex justify-content-between align-items-center">
<div class="btn-group">
<button type="button" class="btn btn-sm btn-outline-secondary">View</button>
<button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
</div>
<small class="text-muted">9 mins</small>
</div>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card mb-4 box-shadow">
<img class="card-img-top" data-src="holder.js/100px225?theme=thumb&bg=55595c&fg=eceeef&text=Thumbnail" alt="Card image cap">
<div class="card-body">
<p class="card-text">This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.</p>
<div class="d-flex justify-content-between align-items-center">
<div class="btn-group">
<button type="button" class="btn btn-sm btn-outline-secondary">View</button>
<button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
</div>
<small class="text-muted">9 mins</small>
</div>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card mb-4 box-shadow">
<img class="card-img-top" data-src="holder.js/100px225?theme=thumb&bg=55595c&fg=eceeef&text=Thumbnail" alt="Card image cap">
<div class="card-body">
<p class="card-text">This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.</p>
<div class="d-flex justify-content-between align-items-center">
<div class="btn-group">
<button type="button" class="btn btn-sm btn-outline-secondary">View</button>
<button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
</div>
<small class="text-muted">9 mins</small>
</div>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card mb-4 box-shadow">
<img class="card-img-top" data-src="holder.js/100px225?theme=thumb&bg=55595c&fg=eceeef&text=Thumbnail" alt="Card image cap">
<div class="card-body">
<p class="card-text">This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.</p>
<div class="d-flex justify-content-between align-items-center">
<div class="btn-group">
<button type="button" class="btn btn-sm btn-outline-secondary">View</button>
<button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
</div>
<small class="text-muted">9 mins</small>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</main>
<footer class="text-muted">
<div class="container">
<p class="float-right">
<a href="#">Back to top</a>
</p>
<p>Album example is &copy; Bootstrap, but please download and customize it for yourself!</p>
<p>New to Bootstrap? <a href="../../">Visit the homepage</a> or read our <a href="../../getting-started/">getting started guide</a>.</p>
</div>
</footer>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script>window.jQuery || document.write('<script src="../../../../assets/js/vendor/jquery-slim.min.js"><\/script>')</script>
<script src="../../../../assets/js/vendor/popper.min.js"></script>
<script src="../../../../dist/js/bootstrap.min.js"></script>
<script src="../../../../assets/js/vendor/holder.min.js"></script>
</body>
</html>
-231
View File
@@ -1,231 +0,0 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../../../favicon.ico">
<title>Blog Template for Bootstrap</title>
<!-- Bootstrap core CSS -->
<link href="../../../../dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="https://fonts.googleapis.com/css?family=Playfair+Display:700,900" rel="stylesheet">
<link href="blog.css" rel="stylesheet">
</head>
<body>
<div class="container">
<header class="blog-header py-3">
<div class="row flex-nowrap justify-content-between align-items-center">
<div class="col-4 pt-1">
<a class="text-muted" href="#">Subscribe</a>
</div>
<div class="col-4 text-center">
<a class="blog-header-logo text-dark" href="#">Large</a>
</div>
<div class="col-4 d-flex justify-content-end align-items-center">
<a class="text-muted" href="#">
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="mx-3"><circle cx="10.5" cy="10.5" r="7.5"></circle><line x1="21" y1="21" x2="15.8" y2="15.8"></line></svg>
</a>
<a class="btn btn-sm btn-outline-secondary" href="#">Sign up</a>
</div>
</div>
</header>
<div class="nav-scroller py-1 mb-2">
<nav class="nav d-flex justify-content-between">
<a class="p-2 text-muted" href="#">World</a>
<a class="p-2 text-muted" href="#">U.S.</a>
<a class="p-2 text-muted" href="#">Technology</a>
<a class="p-2 text-muted" href="#">Design</a>
<a class="p-2 text-muted" href="#">Culture</a>
<a class="p-2 text-muted" href="#">Business</a>
<a class="p-2 text-muted" href="#">Politics</a>
<a class="p-2 text-muted" href="#">Opinion</a>
<a class="p-2 text-muted" href="#">Science</a>
<a class="p-2 text-muted" href="#">Health</a>
<a class="p-2 text-muted" href="#">Style</a>
<a class="p-2 text-muted" href="#">Travel</a>
</nav>
</div>
<div class="jumbotron p-3 p-md-5 text-white rounded bg-dark">
<div class="col-md-6 px-0">
<h1 class="display-4 font-italic">Title of a longer featured blog post</h1>
<p class="lead my-3">Multiple lines of text that form the lede, informing new readers quickly and efficiently about what's most interesting in this post's contents.</p>
<p class="lead mb-0"><a href="#" class="text-white font-weight-bold">Continue reading...</a></p>
</div>
</div>
<div class="row mb-2">
<div class="col-md-6">
<div class="card flex-md-row mb-4 box-shadow h-md-250">
<div class="card-body d-flex flex-column align-items-start">
<strong class="d-inline-block mb-2 text-primary">World</strong>
<h3 class="mb-0">
<a class="text-dark" href="#">Featured post</a>
</h3>
<div class="mb-1 text-muted">Nov 12</div>
<p class="card-text mb-auto">This is a wider card with supporting text below as a natural lead-in to additional content.</p>
<a href="#">Continue reading</a>
</div>
<img class="card-img-right flex-auto d-none d-md-block" data-src="holder.js/200x250?theme=thumb" alt="Card image cap">
</div>
</div>
<div class="col-md-6">
<div class="card flex-md-row mb-4 box-shadow h-md-250">
<div class="card-body d-flex flex-column align-items-start">
<strong class="d-inline-block mb-2 text-success">Design</strong>
<h3 class="mb-0">
<a class="text-dark" href="#">Post title</a>
</h3>
<div class="mb-1 text-muted">Nov 11</div>
<p class="card-text mb-auto">This is a wider card with supporting text below as a natural lead-in to additional content.</p>
<a href="#">Continue reading</a>
</div>
<img class="card-img-right flex-auto d-none d-md-block" data-src="holder.js/200x250?theme=thumb" alt="Card image cap">
</div>
</div>
</div>
</div>
<main role="main" class="container">
<div class="row">
<div class="col-md-8 blog-main">
<h3 class="pb-3 mb-4 font-italic border-bottom">
From the Firehose
</h3>
<div class="blog-post">
<h2 class="blog-post-title">Sample blog post</h2>
<p class="blog-post-meta">January 1, 2014 by <a href="#">Mark</a></p>
<p>This blog post shows a few different types of content that's supported and styled with Bootstrap. Basic typography, images, and code are all supported.</p>
<hr>
<p>Cum sociis natoque penatibus et magnis <a href="#">dis parturient montes</a>, nascetur ridiculus mus. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Sed posuere consectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum.</p>
<blockquote>
<p>Curabitur blandit tempus porttitor. <strong>Nullam quis risus eget urna mollis</strong> ornare vel eu leo. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
</blockquote>
<p>Etiam porta <em>sem malesuada magna</em> mollis euismod. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur.</p>
<h2>Heading</h2>
<p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
<h3>Sub-heading</h3>
<p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p>
<pre><code>Example code block</code></pre>
<p>Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa.</p>
<h3>Sub-heading</h3>
<p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
<ul>
<li>Praesent commodo cursus magna, vel scelerisque nisl consectetur et.</li>
<li>Donec id elit non mi porta gravida at eget metus.</li>
<li>Nulla vitae elit libero, a pharetra augue.</li>
</ul>
<p>Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue.</p>
<ol>
<li>Vestibulum id ligula porta felis euismod semper.</li>
<li>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</li>
<li>Maecenas sed diam eget risus varius blandit sit amet non magna.</li>
</ol>
<p>Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis.</p>
</div><!-- /.blog-post -->
<div class="blog-post">
<h2 class="blog-post-title">Another blog post</h2>
<p class="blog-post-meta">December 23, 2013 by <a href="#">Jacob</a></p>
<p>Cum sociis natoque penatibus et magnis <a href="#">dis parturient montes</a>, nascetur ridiculus mus. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Sed posuere consectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum.</p>
<blockquote>
<p>Curabitur blandit tempus porttitor. <strong>Nullam quis risus eget urna mollis</strong> ornare vel eu leo. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
</blockquote>
<p>Etiam porta <em>sem malesuada magna</em> mollis euismod. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur.</p>
<p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
</div><!-- /.blog-post -->
<div class="blog-post">
<h2 class="blog-post-title">New feature</h2>
<p class="blog-post-meta">December 14, 2013 by <a href="#">Chris</a></p>
<p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
<ul>
<li>Praesent commodo cursus magna, vel scelerisque nisl consectetur et.</li>
<li>Donec id elit non mi porta gravida at eget metus.</li>
<li>Nulla vitae elit libero, a pharetra augue.</li>
</ul>
<p>Etiam porta <em>sem malesuada magna</em> mollis euismod. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur.</p>
<p>Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue.</p>
</div><!-- /.blog-post -->
<nav class="blog-pagination">
<a class="btn btn-outline-primary" href="#">Older</a>
<a class="btn btn-outline-secondary disabled" href="#">Newer</a>
</nav>
</div><!-- /.blog-main -->
<aside class="col-md-4 blog-sidebar">
<div class="p-3 mb-3 bg-light rounded">
<h4 class="font-italic">About</h4>
<p class="mb-0">Etiam porta <em>sem malesuada magna</em> mollis euismod. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur.</p>
</div>
<div class="p-3">
<h4 class="font-italic">Archives</h4>
<ol class="list-unstyled mb-0">
<li><a href="#">March 2014</a></li>
<li><a href="#">February 2014</a></li>
<li><a href="#">January 2014</a></li>
<li><a href="#">December 2013</a></li>
<li><a href="#">November 2013</a></li>
<li><a href="#">October 2013</a></li>
<li><a href="#">September 2013</a></li>
<li><a href="#">August 2013</a></li>
<li><a href="#">July 2013</a></li>
<li><a href="#">June 2013</a></li>
<li><a href="#">May 2013</a></li>
<li><a href="#">April 2013</a></li>
</ol>
</div>
<div class="p-3">
<h4 class="font-italic">Elsewhere</h4>
<ol class="list-unstyled">
<li><a href="#">GitHub</a></li>
<li><a href="#">Twitter</a></li>
<li><a href="#">Facebook</a></li>
</ol>
</div>
</aside><!-- /.blog-sidebar -->
</div><!-- /.row -->
</main><!-- /.container -->
<footer class="blog-footer">
<p>Blog template built for <a href="https://getbootstrap.com/">Bootstrap</a> by <a href="https://twitter.com/mdo">@mdo</a>.</p>
<p>
<a href="#">Back to top</a>
</p>
</footer>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script>window.jQuery || document.write('<script src="../../../../assets/js/vendor/jquery-slim.min.js"><\/script>')</script>
<script src="../../../../assets/js/vendor/popper.min.js"></script>
<script src="../../../../dist/js/bootstrap.min.js"></script>
<script src="../../../../assets/js/vendor/holder.min.js"></script>
<script>
Holder.addTheme('thumb', {
bg: '#55595c',
fg: '#eceeef',
text: 'Thumbnail'
});
</script>
</body>
</html>
-188
View File
@@ -1,188 +0,0 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../../../favicon.ico">
<title>Carousel Template for Bootstrap</title>
<!-- Bootstrap core CSS -->
<link href="../../../../dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="carousel.css" rel="stylesheet">
</head>
<body>
<header>
<nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
<a class="navbar-brand" href="#">Carousel</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarCollapse">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#">Disabled</a>
</li>
</ul>
<form class="form-inline mt-2 mt-md-0">
<input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
</form>
</div>
</nav>
</header>
<main role="main">
<div id="myCarousel" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
<li data-target="#myCarousel" data-slide-to="1"></li>
<li data-target="#myCarousel" data-slide-to="2"></li>
</ol>
<div class="carousel-inner">
<div class="carousel-item active">
<img class="first-slide" src="data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==" alt="First slide">
<div class="container">
<div class="carousel-caption text-left">
<h1>Example headline.</h1>
<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
<p><a class="btn btn-lg btn-primary" href="#" role="button">Sign up today</a></p>
</div>
</div>
</div>
<div class="carousel-item">
<img class="second-slide" src="data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==" alt="Second slide">
<div class="container">
<div class="carousel-caption">
<h1>Another example headline.</h1>
<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
<p><a class="btn btn-lg btn-primary" href="#" role="button">Learn more</a></p>
</div>
</div>
</div>
<div class="carousel-item">
<img class="third-slide" src="data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==" alt="Third slide">
<div class="container">
<div class="carousel-caption text-right">
<h1>One more for good measure.</h1>
<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
<p><a class="btn btn-lg btn-primary" href="#" role="button">Browse gallery</a></p>
</div>
</div>
</div>
</div>
<a class="carousel-control-prev" href="#myCarousel" role="button" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="carousel-control-next" href="#myCarousel" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
<!-- Marketing messaging and featurettes
================================================== -->
<!-- Wrap the rest of the page in another container to center all the content. -->
<div class="container marketing">
<!-- Three columns of text below the carousel -->
<div class="row">
<div class="col-lg-4">
<img class="rounded-circle" src="data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==" alt="Generic placeholder image" width="140" height="140">
<h2>Heading</h2>
<p>Donec sed odio dui. Etiam porta sem malesuada magna mollis euismod. Nullam id dolor id nibh ultricies vehicula ut id elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Praesent commodo cursus magna.</p>
<p><a class="btn btn-secondary" href="#" role="button">View details &raquo;</a></p>
</div><!-- /.col-lg-4 -->
<div class="col-lg-4">
<img class="rounded-circle" src="data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==" alt="Generic placeholder image" width="140" height="140">
<h2>Heading</h2>
<p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh.</p>
<p><a class="btn btn-secondary" href="#" role="button">View details &raquo;</a></p>
</div><!-- /.col-lg-4 -->
<div class="col-lg-4">
<img class="rounded-circle" src="data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==" alt="Generic placeholder image" width="140" height="140">
<h2>Heading</h2>
<p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
<p><a class="btn btn-secondary" href="#" role="button">View details &raquo;</a></p>
</div><!-- /.col-lg-4 -->
</div><!-- /.row -->
<!-- START THE FEATURETTES -->
<hr class="featurette-divider">
<div class="row featurette">
<div class="col-md-7">
<h2 class="featurette-heading">First featurette heading. <span class="text-muted">It'll blow your mind.</span></h2>
<p class="lead">Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus commodo.</p>
</div>
<div class="col-md-5">
<img class="featurette-image img-fluid mx-auto" data-src="holder.js/500x500/auto" alt="Generic placeholder image">
</div>
</div>
<hr class="featurette-divider">
<div class="row featurette">
<div class="col-md-7 order-md-2">
<h2 class="featurette-heading">Oh yeah, it's that good. <span class="text-muted">See for yourself.</span></h2>
<p class="lead">Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus commodo.</p>
</div>
<div class="col-md-5 order-md-1">
<img class="featurette-image img-fluid mx-auto" data-src="holder.js/500x500/auto" alt="Generic placeholder image">
</div>
</div>
<hr class="featurette-divider">
<div class="row featurette">
<div class="col-md-7">
<h2 class="featurette-heading">And lastly, this one. <span class="text-muted">Checkmate.</span></h2>
<p class="lead">Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus commodo.</p>
</div>
<div class="col-md-5">
<img class="featurette-image img-fluid mx-auto" data-src="holder.js/500x500/auto" alt="Generic placeholder image">
</div>
</div>
<hr class="featurette-divider">
<!-- /END THE FEATURETTES -->
</div><!-- /.container -->
<!-- FOOTER -->
<footer class="container">
<p class="float-right"><a href="#">Back to top</a></p>
<p>&copy; 2017-2018 Company, Inc. &middot; <a href="#">Privacy</a> &middot; <a href="#">Terms</a></p>
</footer>
</main>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script>window.jQuery || document.write('<script src="../../../../assets/js/vendor/jquery-slim.min.js"><\/script>')</script>
<script src="../../../../assets/js/vendor/popper.min.js"></script>
<script src="../../../../dist/js/bootstrap.min.js"></script>
<!-- Just to make our placeholder images work. Don't actually copy the next line! -->
<script src="../../../../assets/js/vendor/holder.min.js"></script>
</body>
</html>
@@ -1,11 +0,0 @@
.container {
max-width: 960px;
}
.border-top { border-top: 1px solid #e5e5e5; }
.border-bottom { border-bottom: 1px solid #e5e5e5; }
.border-top-gray { border-top-color: #adb5bd; }
.box-shadow { box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05); }
.lh-condensed { line-height: 1.25; }
-268
View File
@@ -1,268 +0,0 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../../../favicon.ico">
<title>Checkout example for Bootstrap</title>
<!-- Bootstrap core CSS -->
<link href="../../../../dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="form-validation.css" rel="stylesheet">
</head>
<body class="bg-light">
<div class="container">
<div class="py-5 text-center">
<img class="d-block mx-auto mb-4" src="https://getbootstrap.com/assets/brand/bootstrap-solid.svg" alt="" width="72" height="72">
<h2>Checkout form</h2>
<p class="lead">Below is an example form built entirely with Bootstrap's form controls. Each required form group has a validation state that can be triggered by attempting to submit the form without completing it.</p>
</div>
<div class="row">
<div class="col-md-4 order-md-2 mb-4">
<h4 class="d-flex justify-content-between align-items-center mb-3">
<span class="text-muted">Your cart</span>
<span class="badge badge-secondary badge-pill">3</span>
</h4>
<ul class="list-group mb-3">
<li class="list-group-item d-flex justify-content-between lh-condensed">
<div>
<h6 class="my-0">Product name</h6>
<small class="text-muted">Brief description</small>
</div>
<span class="text-muted">$12</span>
</li>
<li class="list-group-item d-flex justify-content-between lh-condensed">
<div>
<h6 class="my-0">Second product</h6>
<small class="text-muted">Brief description</small>
</div>
<span class="text-muted">$8</span>
</li>
<li class="list-group-item d-flex justify-content-between lh-condensed">
<div>
<h6 class="my-0">Third item</h6>
<small class="text-muted">Brief description</small>
</div>
<span class="text-muted">$5</span>
</li>
<li class="list-group-item d-flex justify-content-between bg-light">
<div class="text-success">
<h6 class="my-0">Promo code</h6>
<small>EXAMPLECODE</small>
</div>
<span class="text-success">-$5</span>
</li>
<li class="list-group-item d-flex justify-content-between">
<span>Total (USD)</span>
<strong>$20</strong>
</li>
</ul>
<form class="card p-2">
<div class="input-group">
<input type="text" class="form-control" placeholder="Promo code">
<div class="input-group-append">
<button type="submit" class="btn btn-secondary">Redeem</button>
</div>
</div>
</form>
</div>
<div class="col-md-8 order-md-1">
<h4 class="mb-3">Billing address</h4>
<form class="needs-validation" novalidate>
<div class="row">
<div class="col-md-6 mb-3">
<label for="firstName">First name</label>
<input type="text" class="form-control" id="firstName" placeholder="" value="" required>
<div class="invalid-feedback">
Valid first name is required.
</div>
</div>
<div class="col-md-6 mb-3">
<label for="lastName">Last name</label>
<input type="text" class="form-control" id="lastName" placeholder="" value="" required>
<div class="invalid-feedback">
Valid last name is required.
</div>
</div>
</div>
<div class="mb-3">
<label for="username">Username</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text">@</span>
</div>
<input type="text" class="form-control" id="username" placeholder="Username" required>
<div class="invalid-feedback" style="width: 100%;">
Your username is required.
</div>
</div>
</div>
<div class="mb-3">
<label for="email">Email <span class="text-muted">(Optional)</span></label>
<input type="email" class="form-control" id="email" placeholder="you@example.com">
<div class="invalid-feedback">
Please enter a valid email address for shipping updates.
</div>
</div>
<div class="mb-3">
<label for="address">Address</label>
<input type="text" class="form-control" id="address" placeholder="1234 Main St" required>
<div class="invalid-feedback">
Please enter your shipping address.
</div>
</div>
<div class="mb-3">
<label for="address2">Address 2 <span class="text-muted">(Optional)</span></label>
<input type="text" class="form-control" id="address2" placeholder="Apartment or suite">
</div>
<div class="row">
<div class="col-md-5 mb-3">
<label for="country">Country</label>
<select class="custom-select d-block w-100" id="country" required>
<option value="">Choose...</option>
<option>United States</option>
</select>
<div class="invalid-feedback">
Please select a valid country.
</div>
</div>
<div class="col-md-4 mb-3">
<label for="state">State</label>
<select class="custom-select d-block w-100" id="state" required>
<option value="">Choose...</option>
<option>California</option>
</select>
<div class="invalid-feedback">
Please provide a valid state.
</div>
</div>
<div class="col-md-3 mb-3">
<label for="zip">Zip</label>
<input type="text" class="form-control" id="zip" placeholder="" required>
<div class="invalid-feedback">
Zip code required.
</div>
</div>
</div>
<hr class="mb-4">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="same-address">
<label class="custom-control-label" for="same-address">Shipping address is the same as my billing address</label>
</div>
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="save-info">
<label class="custom-control-label" for="save-info">Save this information for next time</label>
</div>
<hr class="mb-4">
<h4 class="mb-3">Payment</h4>
<div class="d-block my-3">
<div class="custom-control custom-radio">
<input id="credit" name="paymentMethod" type="radio" class="custom-control-input" checked required>
<label class="custom-control-label" for="credit">Credit card</label>
</div>
<div class="custom-control custom-radio">
<input id="debit" name="paymentMethod" type="radio" class="custom-control-input" required>
<label class="custom-control-label" for="debit">Debit card</label>
</div>
<div class="custom-control custom-radio">
<input id="paypal" name="paymentMethod" type="radio" class="custom-control-input" required>
<label class="custom-control-label" for="paypal">Paypal</label>
</div>
</div>
<div class="row">
<div class="col-md-6 mb-3">
<label for="cc-name">Name on card</label>
<input type="text" class="form-control" id="cc-name" placeholder="" required>
<small class="text-muted">Full name as displayed on card</small>
<div class="invalid-feedback">
Name on card is required
</div>
</div>
<div class="col-md-6 mb-3">
<label for="cc-number">Credit card number</label>
<input type="text" class="form-control" id="cc-number" placeholder="" required>
<div class="invalid-feedback">
Credit card number is required
</div>
</div>
</div>
<div class="row">
<div class="col-md-3 mb-3">
<label for="cc-expiration">Expiration</label>
<input type="text" class="form-control" id="cc-expiration" placeholder="" required>
<div class="invalid-feedback">
Expiration date required
</div>
</div>
<div class="col-md-3 mb-3">
<label for="cc-expiration">CVV</label>
<input type="text" class="form-control" id="cc-cvv" placeholder="" required>
<div class="invalid-feedback">
Security code required
</div>
</div>
</div>
<hr class="mb-4">
<button class="btn btn-primary btn-lg btn-block" type="submit">Continue to checkout</button>
</form>
</div>
</div>
<footer class="my-5 pt-5 text-muted text-center text-small">
<p class="mb-1">&copy; 2017-2018 Company Name</p>
<ul class="list-inline">
<li class="list-inline-item"><a href="#">Privacy</a></li>
<li class="list-inline-item"><a href="#">Terms</a></li>
<li class="list-inline-item"><a href="#">Support</a></li>
</ul>
</footer>
</div>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script>window.jQuery || document.write('<script src="../../../../assets/js/vendor/jquery-slim.min.js"><\/script>')</script>
<script src="../../../../assets/js/vendor/popper.min.js"></script>
<script src="../../../../dist/js/bootstrap.min.js"></script>
<script src="../../../../assets/js/vendor/holder.min.js"></script>
<script>
// Example starter JavaScript for disabling form submissions if there are invalid fields
(function() {
'use strict';
window.addEventListener('load', function() {
// Fetch all the forms we want to apply custom Bootstrap validation styles to
var forms = document.getElementsByClassName('needs-validation');
// Loop over them and prevent submission
var validation = Array.prototype.filter.call(forms, function(form) {
form.addEventListener('submit', function(event) {
if (form.checkValidity() === false) {
event.preventDefault();
event.stopPropagation();
}
form.classList.add('was-validated');
}, false);
});
}, false);
})();
</script>
</body>
</html>
-57
View File
@@ -1,57 +0,0 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../../../favicon.ico">
<title>Cover Template for Bootstrap</title>
<!-- Bootstrap core CSS -->
<link href="../../../../dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="cover.css" rel="stylesheet">
</head>
<body class="text-center">
<div class="cover-container d-flex h-100 p-3 mx-auto flex-column">
<header class="masthead mb-auto">
<div class="inner">
<h3 class="masthead-brand">Cover</h3>
<nav class="nav nav-masthead justify-content-center">
<a class="nav-link active" href="#">Home</a>
<a class="nav-link" href="#">Features</a>
<a class="nav-link" href="#">Contact</a>
</nav>
</div>
</header>
<main role="main" class="inner cover">
<h1 class="cover-heading">Cover your page.</h1>
<p class="lead">Cover is a one-page template for building simple and beautiful home pages. Download, edit the text, and add your own fullscreen background photo to make it your own.</p>
<p class="lead">
<a href="#" class="btn btn-lg btn-secondary">Learn more</a>
</p>
</main>
<footer class="mastfoot mt-auto">
<div class="inner">
<p>Cover template for <a href="https://getbootstrap.com/">Bootstrap</a>, by <a href="https://twitter.com/mdo">@mdo</a>.</p>
</div>
</footer>
</div>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script>window.jQuery || document.write('<script src="../../../../assets/js/vendor/jquery-slim.min.js"><\/script>')</script>
<script src="../../../../assets/js/vendor/popper.min.js"></script>
<script src="../../../../dist/js/bootstrap.min.js"></script>
</body>
</html>
-303
View File
@@ -1,303 +0,0 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../../../favicon.ico">
<title>Dashboard Template for Bootstrap</title>
<!-- Bootstrap core CSS -->
<link href="../../../../dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="dashboard.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-dark sticky-top bg-dark flex-md-nowrap p-0">
<a class="navbar-brand col-sm-3 col-md-2 mr-0" href="#">Company name</a>
<input class="form-control form-control-dark w-100" type="text" placeholder="Search" aria-label="Search">
<ul class="navbar-nav px-3">
<li class="nav-item text-nowrap">
<a class="nav-link" href="#">Sign out</a>
</li>
</ul>
</nav>
<div class="container-fluid">
<div class="row">
<nav class="col-md-2 d-none d-md-block bg-light sidebar">
<div class="sidebar-sticky">
<ul class="nav flex-column">
<li class="nav-item">
<a class="nav-link active" href="#">
<span data-feather="home"></span>
Dashboard <span class="sr-only">(current)</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">
<span data-feather="file"></span>
Orders
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">
<span data-feather="shopping-cart"></span>
Products
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">
<span data-feather="users"></span>
Customers
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">
<span data-feather="bar-chart-2"></span>
Reports
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">
<span data-feather="layers"></span>
Integrations
</a>
</li>
</ul>
<h6 class="sidebar-heading d-flex justify-content-between align-items-center px-3 mt-4 mb-1 text-muted">
<span>Saved reports</span>
<a class="d-flex align-items-center text-muted" href="#">
<span data-feather="plus-circle"></span>
</a>
</h6>
<ul class="nav flex-column mb-2">
<li class="nav-item">
<a class="nav-link" href="#">
<span data-feather="file-text"></span>
Current month
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">
<span data-feather="file-text"></span>
Last quarter
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">
<span data-feather="file-text"></span>
Social engagement
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">
<span data-feather="file-text"></span>
Year-end sale
</a>
</li>
</ul>
</div>
</nav>
<main role="main" class="col-md-9 ml-sm-auto col-lg-10 pt-3 px-4">
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pb-2 mb-3 border-bottom">
<h1 class="h2">Dashboard</h1>
<div class="btn-toolbar mb-2 mb-md-0">
<div class="btn-group mr-2">
<button class="btn btn-sm btn-outline-secondary">Share</button>
<button class="btn btn-sm btn-outline-secondary">Export</button>
</div>
<button class="btn btn-sm btn-outline-secondary dropdown-toggle">
<span data-feather="calendar"></span>
This week
</button>
</div>
</div>
<canvas class="my-4" id="myChart" width="900" height="380"></canvas>
<h2>Section title</h2>
<div class="table-responsive">
<table class="table table-striped table-sm">
<thead>
<tr>
<th>#</th>
<th>Header</th>
<th>Header</th>
<th>Header</th>
<th>Header</th>
</tr>
</thead>
<tbody>
<tr>
<td>1,001</td>
<td>Lorem</td>
<td>ipsum</td>
<td>dolor</td>
<td>sit</td>
</tr>
<tr>
<td>1,002</td>
<td>amet</td>
<td>consectetur</td>
<td>adipiscing</td>
<td>elit</td>
</tr>
<tr>
<td>1,003</td>
<td>Integer</td>
<td>nec</td>
<td>odio</td>
<td>Praesent</td>
</tr>
<tr>
<td>1,003</td>
<td>libero</td>
<td>Sed</td>
<td>cursus</td>
<td>ante</td>
</tr>
<tr>
<td>1,004</td>
<td>dapibus</td>
<td>diam</td>
<td>Sed</td>
<td>nisi</td>
</tr>
<tr>
<td>1,005</td>
<td>Nulla</td>
<td>quis</td>
<td>sem</td>
<td>at</td>
</tr>
<tr>
<td>1,006</td>
<td>nibh</td>
<td>elementum</td>
<td>imperdiet</td>
<td>Duis</td>
</tr>
<tr>
<td>1,007</td>
<td>sagittis</td>
<td>ipsum</td>
<td>Praesent</td>
<td>mauris</td>
</tr>
<tr>
<td>1,008</td>
<td>Fusce</td>
<td>nec</td>
<td>tellus</td>
<td>sed</td>
</tr>
<tr>
<td>1,009</td>
<td>augue</td>
<td>semper</td>
<td>porta</td>
<td>Mauris</td>
</tr>
<tr>
<td>1,010</td>
<td>massa</td>
<td>Vestibulum</td>
<td>lacinia</td>
<td>arcu</td>
</tr>
<tr>
<td>1,011</td>
<td>eget</td>
<td>nulla</td>
<td>Class</td>
<td>aptent</td>
</tr>
<tr>
<td>1,012</td>
<td>taciti</td>
<td>sociosqu</td>
<td>ad</td>
<td>litora</td>
</tr>
<tr>
<td>1,013</td>
<td>torquent</td>
<td>per</td>
<td>conubia</td>
<td>nostra</td>
</tr>
<tr>
<td>1,014</td>
<td>per</td>
<td>inceptos</td>
<td>himenaeos</td>
<td>Curabitur</td>
</tr>
<tr>
<td>1,015</td>
<td>sodales</td>
<td>ligula</td>
<td>in</td>
<td>libero</td>
</tr>
</tbody>
</table>
</div>
</main>
</div>
</div>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script>window.jQuery || document.write('<script src="../../../../assets/js/vendor/jquery-slim.min.js"><\/script>')</script>
<script src="../../../../assets/js/vendor/popper.min.js"></script>
<script src="../../../../dist/js/bootstrap.min.js"></script>
<!-- Icons -->
<script src="https://unpkg.com/feather-icons/dist/feather.min.js"></script>
<script>
feather.replace()
</script>
<!-- Graphs -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.1/Chart.min.js"></script>
<script>
var ctx = document.getElementById("myChart");
var myChart = new Chart(ctx, {
type: 'line',
data: {
labels: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
datasets: [{
data: [15339, 21345, 18483, 24003, 23489, 24092, 12034],
lineTension: 0,
backgroundColor: 'transparent',
borderColor: '#007bff',
borderWidth: 4,
pointBackgroundColor: '#007bff'
}]
},
options: {
scales: {
yAxes: [{
ticks: {
beginAtZero: false
}
}]
},
legend: {
display: false,
}
}
});
</script>
</body>
</html>
@@ -1,46 +0,0 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../../../favicon.ico">
<title>Floating labels example for Bootstrap</title>
<!-- Bootstrap core CSS -->
<link href="../../../../dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="floating-labels.css" rel="stylesheet">
</head>
<body>
<form class="form-signin">
<div class="text-center mb-4">
<img class="mb-4" src="https://getbootstrap.com/assets/brand/bootstrap-solid.svg" alt="" width="72" height="72">
<h1 class="h3 mb-3 font-weight-normal">Floating labels</h1>
<p>Build form controls with floating labels via the <code>:placeholder-shown</code> pseudo-element. <a href="https://caniuse.com/#feat=css-placeholder-shown">Works in latest Chrome, Safari, and Firefox.</a></p>
</div>
<div class="form-label-group">
<input type="email" id="inputEmail" class="form-control" placeholder="Email address" required autofocus>
<label for="inputEmail">Email address</label>
</div>
<div class="form-label-group">
<input type="password" id="inputPassword" class="form-control" placeholder="Password" required>
<label for="inputPassword">Password</label>
</div>
<div class="checkbox mb-3">
<label>
<input type="checkbox" value="remember-me"> Remember me
</label>
</div>
<button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
<p class="mt-5 mb-3 text-muted text-center">&copy; 2017-2018</p>
</form>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More