build event to create BUILD and BUILD\Plugins folder
removed wwwroot lib stuff
6136
WebfrontCore/wwwroot/css/bootstrap-custom.css
vendored
7
WebfrontCore/wwwroot/css/global.min.css
vendored
1
WebfrontCore/wwwroot/js/global.min.js
vendored
@ -1,16 +0,0 @@
|
|||||||
module.exports = {
|
|
||||||
presets: [
|
|
||||||
[
|
|
||||||
'@babel/env',
|
|
||||||
{
|
|
||||||
loose: true,
|
|
||||||
modules: false,
|
|
||||||
exclude: ['transform-typeof-symbol']
|
|
||||||
}
|
|
||||||
]
|
|
||||||
],
|
|
||||||
plugins: [
|
|
||||||
process.env.PLUGINS && 'transform-es2015-modules-strip',
|
|
||||||
'@babel/proposal-object-rest-spread'
|
|
||||||
].filter(Boolean)
|
|
||||||
};
|
|
@ -1,15 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "bootstrap",
|
|
||||||
"homepage": "https://github.com/twbs/bootstrap",
|
|
||||||
"version": "4.0.0",
|
|
||||||
"_release": "4.0.0",
|
|
||||||
"_resolution": {
|
|
||||||
"type": "version",
|
|
||||||
"tag": "v4.0.0",
|
|
||||||
"commit": "8a628b943cf31ca0a002c08af661a95772480225"
|
|
||||||
},
|
|
||||||
"_source": "https://github.com/twbs/bootstrap.git",
|
|
||||||
"_target": "v4.0.0",
|
|
||||||
"_originalSource": "bootstrap",
|
|
||||||
"_direct": true
|
|
||||||
}
|
|
@ -1,14 +0,0 @@
|
|||||||
# editorconfig.org
|
|
||||||
|
|
||||||
root = true
|
|
||||||
|
|
||||||
[*]
|
|
||||||
charset = utf-8
|
|
||||||
end_of_line = lf
|
|
||||||
indent_size = 2
|
|
||||||
indent_style = space
|
|
||||||
insert_final_newline = true
|
|
||||||
trim_trailing_whitespace = true
|
|
||||||
|
|
||||||
[*.md]
|
|
||||||
trim_trailing_whitespace = false
|
|
@ -1,5 +0,0 @@
|
|||||||
**/*.min.js
|
|
||||||
**/dist/
|
|
||||||
**/vendor/
|
|
||||||
/_gh_pages/
|
|
||||||
/package.js
|
|
@ -1,235 +0,0 @@
|
|||||||
{
|
|
||||||
"root": true,
|
|
||||||
"parser": "babel-eslint",
|
|
||||||
"env": {
|
|
||||||
"browser": true,
|
|
||||||
"es6": true
|
|
||||||
},
|
|
||||||
"extends": "eslint:recommended",
|
|
||||||
"plugins": ["compat"],
|
|
||||||
"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
|
|
||||||
"accessor-pairs": "error",
|
|
||||||
"array-callback-return": "error",
|
|
||||||
"block-scoped-var": "error",
|
|
||||||
"class-methods-use-this": "off",
|
|
||||||
"complexity": "error",
|
|
||||||
"consistent-return": "error",
|
|
||||||
"curly": "error",
|
|
||||||
"default-case": "error",
|
|
||||||
"dot-location": ["error", "property"],
|
|
||||||
"dot-notation": "error",
|
|
||||||
"eqeqeq": "error",
|
|
||||||
"guard-for-in": "error",
|
|
||||||
"no-alert": "error",
|
|
||||||
"no-caller": "error",
|
|
||||||
"no-div-regex": "error",
|
|
||||||
"no-else-return": "error",
|
|
||||||
"no-empty-function": "error",
|
|
||||||
"no-eq-null": "error",
|
|
||||||
"no-eval": "error",
|
|
||||||
"no-extend-native": "error",
|
|
||||||
"no-extra-bind": "error",
|
|
||||||
"no-extra-label": "error",
|
|
||||||
"no-floating-decimal": "error",
|
|
||||||
"no-implicit-coercion": "error",
|
|
||||||
"no-implicit-globals": "error",
|
|
||||||
"no-implied-eval": "error",
|
|
||||||
"no-invalid-this": "off",
|
|
||||||
"no-iterator": "error",
|
|
||||||
"no-labels": "error",
|
|
||||||
"no-lone-blocks": "error",
|
|
||||||
"no-loop-func": "error",
|
|
||||||
"no-magic-numbers": ["error", {
|
|
||||||
"ignore": [-1, 0, 1],
|
|
||||||
"ignoreArrayIndexes": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"no-multi-spaces": ["error", {
|
|
||||||
"ignoreEOLComments": true,
|
|
||||||
"exceptions": {
|
|
||||||
"AssignmentExpression": true,
|
|
||||||
"ArrowFunctionExpression": true,
|
|
||||||
"CallExpression": true,
|
|
||||||
"VariableDeclarator": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"no-multi-str": "error",
|
|
||||||
"no-new": "error",
|
|
||||||
"no-new-func": "error",
|
|
||||||
"no-new-wrappers": "error",
|
|
||||||
"no-octal-escape": "error",
|
|
||||||
"no-param-reassign": "off",
|
|
||||||
"no-proto": "error",
|
|
||||||
"no-restricted-properties": "error",
|
|
||||||
"no-return-assign": "error",
|
|
||||||
"no-return-await": "error",
|
|
||||||
"no-script-url": "error",
|
|
||||||
"no-self-compare": "error",
|
|
||||||
"no-sequences": "error",
|
|
||||||
"no-throw-literal": "error",
|
|
||||||
"no-unmodified-loop-condition": "error",
|
|
||||||
"no-unused-expressions": "error",
|
|
||||||
"no-useless-call": "error",
|
|
||||||
"no-useless-concat": "error",
|
|
||||||
"no-useless-return": "error",
|
|
||||||
"no-void": "error",
|
|
||||||
"no-warning-comments": "off",
|
|
||||||
"no-with": "error",
|
|
||||||
"prefer-promise-reject-errors": "error",
|
|
||||||
"radix": "error",
|
|
||||||
"require-await": "error",
|
|
||||||
"vars-on-top": "error",
|
|
||||||
"wrap-iife": "error",
|
|
||||||
"yoda": "error",
|
|
||||||
|
|
||||||
// Strict Mode
|
|
||||||
"strict": "error",
|
|
||||||
|
|
||||||
// Variables
|
|
||||||
"init-declarations": "off",
|
|
||||||
"no-catch-shadow": "error",
|
|
||||||
"no-label-var": "error",
|
|
||||||
"no-restricted-globals": "error",
|
|
||||||
"no-shadow": "off",
|
|
||||||
"no-shadow-restricted-names": "error",
|
|
||||||
"no-undef-init": "error",
|
|
||||||
"no-undefined": "error",
|
|
||||||
"no-use-before-define": "off",
|
|
||||||
|
|
||||||
// Node.js and CommonJS
|
|
||||||
"callback-return": "off",
|
|
||||||
"global-require": "error",
|
|
||||||
"handle-callback-err": "error",
|
|
||||||
"no-mixed-requires": "error",
|
|
||||||
"no-new-require": "error",
|
|
||||||
"no-path-concat": "error",
|
|
||||||
"no-process-env": "error",
|
|
||||||
"no-process-exit": "error",
|
|
||||||
"no-restricted-modules": "error",
|
|
||||||
"no-sync": "error",
|
|
||||||
|
|
||||||
// Stylistic Issues
|
|
||||||
"array-bracket-spacing": "error",
|
|
||||||
"block-spacing": "error",
|
|
||||||
"brace-style": "error",
|
|
||||||
"camelcase": "error",
|
|
||||||
"capitalized-comments": "off",
|
|
||||||
"comma-dangle": "error",
|
|
||||||
"comma-spacing": "error",
|
|
||||||
"comma-style": "error",
|
|
||||||
"computed-property-spacing": "error",
|
|
||||||
"consistent-this": "error",
|
|
||||||
"eol-last": "error",
|
|
||||||
"func-call-spacing": "error",
|
|
||||||
"func-name-matching": "error",
|
|
||||||
"func-names": "off",
|
|
||||||
"func-style": ["error", "declaration"],
|
|
||||||
"id-blacklist": "error",
|
|
||||||
"id-length": "off",
|
|
||||||
"id-match": "error",
|
|
||||||
"indent": ["error", 2, { "SwitchCase": 1 }],
|
|
||||||
"jsx-quotes": "error",
|
|
||||||
"key-spacing": "off",
|
|
||||||
"keyword-spacing": "error",
|
|
||||||
"linebreak-style": ["error", "unix"],
|
|
||||||
"line-comment-position": "off",
|
|
||||||
"lines-around-comment": "off",
|
|
||||||
"lines-around-directive": "error",
|
|
||||||
"max-depth": ["error", 10],
|
|
||||||
"max-len": "off",
|
|
||||||
"max-lines": "off",
|
|
||||||
"max-nested-callbacks": "error",
|
|
||||||
"max-params": "off",
|
|
||||||
"max-statements": "off",
|
|
||||||
"max-statements-per-line": "error",
|
|
||||||
"multiline-ternary": "off",
|
|
||||||
"new-cap": ["error", { "capIsNewExceptionPattern": "$.*" }],
|
|
||||||
"newline-after-var": "off",
|
|
||||||
"newline-per-chained-call": ["error", { "ignoreChainWithDepth": 5 }],
|
|
||||||
"new-parens": "error",
|
|
||||||
"no-array-constructor": "error",
|
|
||||||
"no-bitwise": "error",
|
|
||||||
"no-continue": "off",
|
|
||||||
"no-inline-comments": "off",
|
|
||||||
"no-lonely-if": "error",
|
|
||||||
"no-mixed-operators": "off",
|
|
||||||
"no-multi-assign": "error",
|
|
||||||
"no-multiple-empty-lines": "error",
|
|
||||||
"nonblock-statement-body-position": "error",
|
|
||||||
"no-negated-condition": "off",
|
|
||||||
"no-nested-ternary": "error",
|
|
||||||
"no-new-object": "error",
|
|
||||||
"no-plusplus": "off",
|
|
||||||
"no-restricted-syntax": "error",
|
|
||||||
"no-tabs": "error",
|
|
||||||
"no-ternary": "off",
|
|
||||||
"no-trailing-spaces": "error",
|
|
||||||
"no-underscore-dangle": "off",
|
|
||||||
"no-unneeded-ternary": "error",
|
|
||||||
"no-whitespace-before-property": "error",
|
|
||||||
"object-curly-newline": ["error", { "minProperties": 1 }],
|
|
||||||
"object-curly-spacing": ["error", "always"],
|
|
||||||
"object-property-newline": "error",
|
|
||||||
"one-var": ["error", "never"],
|
|
||||||
"one-var-declaration-per-line": "error",
|
|
||||||
"operator-assignment": "error",
|
|
||||||
"operator-linebreak": "error",
|
|
||||||
"padded-blocks": ["error", "never"],
|
|
||||||
"padding-line-between-statements": "off",
|
|
||||||
"quote-props": ["error", "as-needed"],
|
|
||||||
"quotes": ["error", "single"],
|
|
||||||
"require-jsdoc": "off",
|
|
||||||
"semi": ["error", "never"],
|
|
||||||
"semi-spacing": "error",
|
|
||||||
"sort-keys": "off",
|
|
||||||
"sort-vars": "error",
|
|
||||||
"space-before-blocks": "error",
|
|
||||||
"space-before-function-paren": ["error", {
|
|
||||||
"anonymous": "always",
|
|
||||||
"named": "never"
|
|
||||||
}],
|
|
||||||
"space-in-parens": "error",
|
|
||||||
"space-infix-ops": "error",
|
|
||||||
"space-unary-ops": "error",
|
|
||||||
"spaced-comment": "error",
|
|
||||||
"template-tag-spacing": "error",
|
|
||||||
"unicode-bom": "error",
|
|
||||||
"wrap-regex": "off",
|
|
||||||
|
|
||||||
// ECMAScript 6
|
|
||||||
"arrow-body-style": ["error", "as-needed"],
|
|
||||||
"arrow-parens": "error",
|
|
||||||
"arrow-spacing": "error",
|
|
||||||
"generator-star-spacing": "error",
|
|
||||||
"no-confusing-arrow": "error",
|
|
||||||
"no-duplicate-imports": "error",
|
|
||||||
"no-restricted-imports": "error",
|
|
||||||
"no-useless-computed-key": "error",
|
|
||||||
"no-useless-constructor": "error",
|
|
||||||
"no-useless-rename": "error",
|
|
||||||
"no-var": "error",
|
|
||||||
"object-shorthand": "error",
|
|
||||||
"prefer-arrow-callback": "error",
|
|
||||||
"prefer-const": "error",
|
|
||||||
"prefer-destructuring": "off",
|
|
||||||
"prefer-numeric-literals": "error",
|
|
||||||
"prefer-rest-params": "error",
|
|
||||||
"prefer-spread": "error",
|
|
||||||
"prefer-template": "error",
|
|
||||||
"rest-spread-spacing": "error",
|
|
||||||
"sort-imports": "error",
|
|
||||||
"symbol-description": "error",
|
|
||||||
"template-curly-spacing": "error",
|
|
||||||
"yield-star-spacing": "error"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,16 +0,0 @@
|
|||||||
# Enforce Unix newlines
|
|
||||||
*.css text eol=lf
|
|
||||||
*.html text eol=lf
|
|
||||||
*.js text eol=lf
|
|
||||||
*.json text eol=lf
|
|
||||||
*.md text eol=lf
|
|
||||||
*.rb text eol=lf
|
|
||||||
*.scss text eol=lf
|
|
||||||
*.svg text eol=lf
|
|
||||||
*.txt text eol=lf
|
|
||||||
*.yml text eol=lf
|
|
||||||
# Don't diff or textually merge source maps
|
|
||||||
*.map binary
|
|
||||||
|
|
||||||
bootstrap.css linguist-vendored=false
|
|
||||||
bootstrap.js linguist-vendored=false
|
|
@ -1,252 +0,0 @@
|
|||||||
# Contributing to Bootstrap
|
|
||||||
|
|
||||||
Looking to contribute something to Bootstrap? **Here's how you can help.**
|
|
||||||
|
|
||||||
Please take a moment to review this document in order to make the contribution
|
|
||||||
process easy and effective for everyone involved.
|
|
||||||
|
|
||||||
Following these guidelines helps to communicate that you respect the time of
|
|
||||||
the developers managing and developing this open source project. In return,
|
|
||||||
they should reciprocate that respect in addressing your issue or assessing
|
|
||||||
patches and features.
|
|
||||||
|
|
||||||
|
|
||||||
## Using the issue tracker
|
|
||||||
|
|
||||||
The [issue tracker](https://github.com/twbs/bootstrap/issues) is
|
|
||||||
the preferred channel for [bug reports](#bug-reports), [features requests](#feature-requests)
|
|
||||||
and [submitting pull requests](#pull-requests), but please respect the following
|
|
||||||
restrictions:
|
|
||||||
|
|
||||||
* Please **do not** use the issue tracker for personal support requests. Stack
|
|
||||||
Overflow ([`bootstrap-4`](https://stackoverflow.com/questions/tagged/bootstrap-4) tag), [Slack](https://bootstrap-slack.herokuapp.com/) or [IRC](README.md#community) are better places to get help.
|
|
||||||
|
|
||||||
* Please **do not** derail or troll issues. Keep the discussion on topic and
|
|
||||||
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)
|
|
||||||
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/>.
|
|
||||||
Instead, please email any questions or feedback regarding those themes to `themes AT getbootstrap DOT com`.
|
|
||||||
|
|
||||||
|
|
||||||
## Issues and labels
|
|
||||||
|
|
||||||
Our bug tracker utilizes several labels to help organize and identify issues. Here's what they represent and how we use them:
|
|
||||||
|
|
||||||
- `browser bug` - Issues that are reported to us, but actually are the result of a browser-specific bug. These are diagnosed with reduced test cases and result in an issue opened on that browser's own bug tracker.
|
|
||||||
- `confirmed` - Issues that have been confirmed with a reduced test case and identify a bug in Bootstrap.
|
|
||||||
- `css` - Issues stemming from our compiled CSS or source Sass files.
|
|
||||||
- `docs` - Issues for improving or updating our documentation.
|
|
||||||
- `examples` - Issues involving the example templates included in our docs.
|
|
||||||
- `feature` - Issues asking for a new feature to be added, or an existing one to be extended or modified. New features require a minor version bump (e.g., `v3.0.0` to `v3.1.0`).
|
|
||||||
- `build` - Issues with our build system, which is used to run all our tests, concatenate and compile source files, and more.
|
|
||||||
- `help wanted` - Issues we need or would love help from the community to resolve.
|
|
||||||
- `js` - Issues stemming from our compiled or source JavaScript files.
|
|
||||||
- `meta` - Issues with the project itself or our GitHub repository.
|
|
||||||
|
|
||||||
For a complete look at our labels, see the [project labels page](https://github.com/twbs/bootstrap/labels).
|
|
||||||
|
|
||||||
|
|
||||||
## Bug reports
|
|
||||||
|
|
||||||
A bug is a _demonstrable problem_ that is caused by the code in the repository.
|
|
||||||
Good bug reports are extremely helpful, so thanks!
|
|
||||||
|
|
||||||
Guidelines for bug reports:
|
|
||||||
|
|
||||||
0. **Validate and lint your code** — [validate your HTML](https://html5.validator.nu/)
|
|
||||||
and [lint your HTML](https://github.com/twbs/bootlint) to ensure your
|
|
||||||
problem isn't caused by a simple error in your own code.
|
|
||||||
|
|
||||||
1. **Use the GitHub issue search** — check if the issue has already been
|
|
||||||
reported.
|
|
||||||
|
|
||||||
2. **Check if the issue has been fixed** — try to reproduce it using the
|
|
||||||
latest `master` or development branch in the repository.
|
|
||||||
|
|
||||||
3. **Isolate the problem** — ideally create a [reduced test
|
|
||||||
case](https://css-tricks.com/reduced-test-cases/) and a live example.
|
|
||||||
[This JS Bin](https://jsbin.com/lolome/edit?html,output) is a helpful template.
|
|
||||||
|
|
||||||
|
|
||||||
A good bug report shouldn't leave others needing to chase you up for more
|
|
||||||
information. Please try to be as detailed as possible in your report. What is
|
|
||||||
your environment? What steps will reproduce the issue? What browser(s) and OS
|
|
||||||
experience the problem? Do other browsers show the bug differently? What
|
|
||||||
would you expect to be the outcome? All these details will help people to fix
|
|
||||||
any potential bugs.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
> Short and descriptive example bug report title
|
|
||||||
>
|
|
||||||
> A summary of the issue and the browser/OS environment in which it occurs. If
|
|
||||||
> suitable, include the steps required to reproduce the bug.
|
|
||||||
>
|
|
||||||
> 1. This is the first step
|
|
||||||
> 2. This is the second step
|
|
||||||
> 3. Further steps, etc.
|
|
||||||
>
|
|
||||||
> `<url>` - a link to the reduced test case
|
|
||||||
>
|
|
||||||
> Any other information you want to share that is relevant to the issue being
|
|
||||||
> reported. This might include the lines of code that you have identified as
|
|
||||||
> causing the bug, and potential solutions (and your opinions on their
|
|
||||||
> merits).
|
|
||||||
|
|
||||||
### Reporting upstream browser bugs
|
|
||||||
|
|
||||||
Sometimes bugs reported to us are actually caused by bugs in the browser(s) themselves, not bugs in Bootstrap per se.
|
|
||||||
When feasible, we aim to report such upstream bugs to the relevant browser vendor(s), and then list them on our [Wall of Browser Bugs](https://getbootstrap.com/browser-bugs/) and [document them in MDN](https://developer.mozilla.org/en-US/docs/Web).
|
|
||||||
|
|
||||||
| 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. |
|
|
||||||
| Microsoft | Edge | EdgeHTML | https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/ | |
|
|
||||||
|
|
||||||
### Issues bots
|
|
||||||
|
|
||||||
[@twbs-lmvtfy](https://github.com/twbs-lmvtfy) is a Bootstrap bot that hangs out in our GitHub issue tracker and automatically checks for HTML validation errors in live examples (e.g. jsFiddles, JS Bins, Bootplys, Plunks, CodePens, etc.) posted in issue comments. If it finds any errors, it will post a follow-up comment on the issue and point out the errors. If this happens with an example you've posted, please fix the errors and post an updated live example. If you opened a bug report, please check whether the bug still occurs with your revised, valid live example. If the bug no longer occurs, it was probably due to your invalid HTML rather than something in Bootstrap and we'd appreciate it if you could close out the GitHub issue.
|
|
||||||
|
|
||||||
|
|
||||||
## Feature requests
|
|
||||||
|
|
||||||
Feature requests are welcome. But take a moment to find out whether your idea
|
|
||||||
fits with the scope and aims of the project. It's up to *you* to make a strong
|
|
||||||
case to convince the project's developers of the merits of this feature. Please
|
|
||||||
provide as much detail and context as possible.
|
|
||||||
|
|
||||||
|
|
||||||
## Pull requests
|
|
||||||
|
|
||||||
Good pull requests—patches, improvements, new features—are a fantastic
|
|
||||||
help. They should remain focused in scope and avoid containing unrelated
|
|
||||||
commits.
|
|
||||||
|
|
||||||
**Please ask first** before embarking on any significant pull request (e.g.
|
|
||||||
implementing features, refactoring code, porting to a different language),
|
|
||||||
otherwise you risk spending a lot of time working on something that the
|
|
||||||
project's developers might not want to merge into the project.
|
|
||||||
|
|
||||||
Please adhere to the [coding guidelines](#code-guidelines) used throughout the
|
|
||||||
project (indentation, accurate comments, etc.) and any other requirements
|
|
||||||
(such as test coverage).
|
|
||||||
|
|
||||||
**Do not edit `bootstrap.css`, or `bootstrap.js`
|
|
||||||
directly!** Those files are automatically generated. You should edit the
|
|
||||||
source files in [`/bootstrap/scss/`](https://github.com/twbs/bootstrap/tree/master/scss)
|
|
||||||
and/or [`/bootstrap/js/`](https://github.com/twbs/bootstrap/tree/master/js) instead.
|
|
||||||
|
|
||||||
Similarly, when contributing to Bootstrap's documentation, you should edit the
|
|
||||||
documentation source files in
|
|
||||||
[the `/bootstrap/docs/` directory of the `master` branch](https://github.com/twbs/bootstrap/tree/master/docs).
|
|
||||||
**Do not edit the `gh-pages` branch.** That branch is generated from the
|
|
||||||
documentation source files and is managed separately by the Bootstrap Core Team.
|
|
||||||
|
|
||||||
Adhering to the following process is the best way to get your work
|
|
||||||
included in the project:
|
|
||||||
|
|
||||||
1. [Fork](https://help.github.com/articles/fork-a-repo/) the project, clone your fork,
|
|
||||||
and configure the remotes:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Clone your fork of the repo into the current directory
|
|
||||||
git clone https://github.com/<your-username>/bootstrap.git
|
|
||||||
# Navigate to the newly cloned directory
|
|
||||||
cd bootstrap
|
|
||||||
# Assign the original repo to a remote called "upstream"
|
|
||||||
git remote add upstream https://github.com/twbs/bootstrap.git
|
|
||||||
```
|
|
||||||
|
|
||||||
2. If you cloned a while ago, get the latest changes from upstream:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git checkout master
|
|
||||||
git pull upstream master
|
|
||||||
```
|
|
||||||
|
|
||||||
3. Create a new topic branch (off the main project development branch) to
|
|
||||||
contain your feature, change, or fix:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git checkout -b <topic-branch-name>
|
|
||||||
```
|
|
||||||
|
|
||||||
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)
|
|
||||||
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.
|
|
||||||
|
|
||||||
5. Locally merge (or rebase) the upstream development branch into your topic branch:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git pull [--rebase] upstream master
|
|
||||||
```
|
|
||||||
|
|
||||||
6. Push your topic branch up to your fork:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git push origin <topic-branch-name>
|
|
||||||
```
|
|
||||||
|
|
||||||
7. [Open a Pull Request](https://help.github.com/articles/about-pull-requests/)
|
|
||||||
with a clear title and description against the `master` branch.
|
|
||||||
|
|
||||||
**IMPORTANT**: By submitting a patch, you agree to allow the project owners to
|
|
||||||
license your work under the terms of the [MIT License](LICENSE) (if it
|
|
||||||
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
|
|
||||||
|
|
||||||
### HTML
|
|
||||||
|
|
||||||
[Adhere to the Code Guide.](http://codeguide.co/#html)
|
|
||||||
|
|
||||||
- Use tags and elements appropriate for an HTML5 doctype (e.g., self-closing tags).
|
|
||||||
- Use CDNs and HTTPS for third-party JS when possible. We don't use protocol-relative URLs in this case because they break when viewing the page locally via `file://`.
|
|
||||||
- Use [WAI-ARIA](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) attributes in documentation examples to promote accessibility.
|
|
||||||
|
|
||||||
### CSS
|
|
||||||
|
|
||||||
[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.
|
|
||||||
|
|
||||||
### JS
|
|
||||||
|
|
||||||
- No semicolons (in client-side JS)
|
|
||||||
- 2 spaces (no tabs)
|
|
||||||
- strict mode
|
|
||||||
- "Attractive"
|
|
||||||
- Don't use [jQuery event alias convenience methods](https://github.com/jquery/jquery/blob/master/src/event/alias.js) (such as `$().focus()`). Instead, use [`$().trigger(eventType, ...)`](https://api.jquery.com/trigger/) or [`$().on(eventType, ...)`](https://api.jquery.com/on/), depending on whether you're firing an event or listening for an event. (For example, `$().trigger('focus')` or `$().on('focus', function (event) { /* handle focus event */ })`) We do this to be compatible with custom builds of jQuery where the event aliases module has been excluded.
|
|
||||||
|
|
||||||
### Checking coding style
|
|
||||||
|
|
||||||
Run `npm run test` before committing to ensure your changes follow our coding standards.
|
|
||||||
|
|
||||||
|
|
||||||
## License
|
|
||||||
|
|
||||||
By contributing your code, you agree to license your contribution under the [MIT License](LICENSE).
|
|
||||||
By contributing to the documentation, you agree to license your contribution under the [Creative Commons Attribution 3.0 Unported License](docs/LICENSE).
|
|
||||||
|
|
||||||
Prior to v3.1.0, Bootstrap's code was released under the Apache License v2.0.
|
|
@ -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
|
|
46
WebfrontCore/wwwroot/lib/bootstrap/.gitignore
vendored
@ -1,46 +0,0 @@
|
|||||||
# Ignore docs files
|
|
||||||
_gh_pages
|
|
||||||
_site
|
|
||||||
|
|
||||||
# Ignore ruby files
|
|
||||||
.ruby-version
|
|
||||||
.bundle
|
|
||||||
vendor/cache
|
|
||||||
vendor/bundle
|
|
||||||
|
|
||||||
# Numerous always-ignore extensions
|
|
||||||
*.diff
|
|
||||||
*.err
|
|
||||||
*.log
|
|
||||||
*.orig
|
|
||||||
*.rej
|
|
||||||
*.swo
|
|
||||||
*.swp
|
|
||||||
*.vi
|
|
||||||
*.zip
|
|
||||||
*~
|
|
||||||
|
|
||||||
# OS or Editor folders
|
|
||||||
._*
|
|
||||||
.cache
|
|
||||||
.DS_Store
|
|
||||||
.idea
|
|
||||||
.project
|
|
||||||
.settings
|
|
||||||
.tmproj
|
|
||||||
*.esproj
|
|
||||||
*.sublime-project
|
|
||||||
*.sublime-workspace
|
|
||||||
nbproject
|
|
||||||
Thumbs.db
|
|
||||||
|
|
||||||
# Komodo
|
|
||||||
.komodotools
|
|
||||||
*.komodoproject
|
|
||||||
|
|
||||||
# Jekyll metadata and extra config file for `github` script
|
|
||||||
docs/.jekyll-metadata
|
|
||||||
twbsconfig.yml
|
|
||||||
|
|
||||||
# Folders to ignore
|
|
||||||
node_modules
|
|
@ -1,4 +0,0 @@
|
|||||||
**/*.min.css
|
|
||||||
**/dist/
|
|
||||||
**/vendor/
|
|
||||||
/_gh_pages/
|
|
@ -1,247 +0,0 @@
|
|||||||
{
|
|
||||||
"extends": ["stylelint-config-standard", "stylelint-config-recommended-scss"],
|
|
||||||
"plugins": [
|
|
||||||
"stylelint-order"
|
|
||||||
],
|
|
||||||
"rules": {
|
|
||||||
"at-rule-empty-line-before": [null,
|
|
||||||
"except": ["first-nested"]
|
|
||||||
],
|
|
||||||
"at-rule-name-space-after": "always",
|
|
||||||
"at-rule-no-vendor-prefix": true,
|
|
||||||
"at-rule-semicolon-space-before": "never",
|
|
||||||
"block-closing-brace-empty-line-before": null,
|
|
||||||
"block-closing-brace-newline-after": null,
|
|
||||||
"block-opening-brace-space-before": null,
|
|
||||||
"color-named": "never",
|
|
||||||
"declaration-block-semicolon-newline-after": "always-multi-line",
|
|
||||||
"declaration-block-semicolon-newline-before": "never-multi-line",
|
|
||||||
"declaration-block-semicolon-space-after": "always-single-line",
|
|
||||||
"declaration-empty-line-before": null,
|
|
||||||
"declaration-no-important": true,
|
|
||||||
"font-family-name-quotes": "always-where-recommended",
|
|
||||||
"font-weight-notation": "numeric",
|
|
||||||
"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-vendor-prefix": true,
|
|
||||||
"media-feature-parentheses-space-inside": "never",
|
|
||||||
"media-feature-range-operator-space-after": "always",
|
|
||||||
"media-feature-range-operator-space-before": "never",
|
|
||||||
"no-descending-specificity": null,
|
|
||||||
"no-duplicate-selectors": true,
|
|
||||||
"number-leading-zero": "never",
|
|
||||||
"order/properties-order": [
|
|
||||||
"position",
|
|
||||||
"top",
|
|
||||||
"right",
|
|
||||||
"bottom",
|
|
||||||
"left",
|
|
||||||
"z-index",
|
|
||||||
"box-sizing",
|
|
||||||
"display",
|
|
||||||
"flex",
|
|
||||||
"flex-align",
|
|
||||||
"flex-basis",
|
|
||||||
"flex-direction",
|
|
||||||
"flex-wrap",
|
|
||||||
"flex-flow",
|
|
||||||
"flex-grow",
|
|
||||||
"flex-order",
|
|
||||||
"flex-pack",
|
|
||||||
"align-items",
|
|
||||||
"align-self",
|
|
||||||
"justify-content",
|
|
||||||
"order",
|
|
||||||
"float",
|
|
||||||
"width",
|
|
||||||
"min-width",
|
|
||||||
"max-width",
|
|
||||||
"height",
|
|
||||||
"min-height",
|
|
||||||
"max-height",
|
|
||||||
"padding",
|
|
||||||
"padding-top",
|
|
||||||
"padding-right",
|
|
||||||
"padding-bottom",
|
|
||||||
"padding-left",
|
|
||||||
"margin",
|
|
||||||
"margin-top",
|
|
||||||
"margin-right",
|
|
||||||
"margin-bottom",
|
|
||||||
"margin-left",
|
|
||||||
"overflow",
|
|
||||||
"overflow-x",
|
|
||||||
"overflow-y",
|
|
||||||
"-webkit-overflow-scrolling",
|
|
||||||
"-ms-overflow-x",
|
|
||||||
"-ms-overflow-y",
|
|
||||||
"-ms-overflow-style",
|
|
||||||
"clip",
|
|
||||||
"clear",
|
|
||||||
"font",
|
|
||||||
"font-family",
|
|
||||||
"font-size",
|
|
||||||
"font-style",
|
|
||||||
"font-weight",
|
|
||||||
"font-variant",
|
|
||||||
"font-size-adjust",
|
|
||||||
"font-stretch",
|
|
||||||
"font-effect",
|
|
||||||
"font-emphasize",
|
|
||||||
"font-emphasize-position",
|
|
||||||
"font-emphasize-style",
|
|
||||||
"font-smooth",
|
|
||||||
"hyphens",
|
|
||||||
"line-height",
|
|
||||||
"color",
|
|
||||||
"text-align",
|
|
||||||
"text-align-last",
|
|
||||||
"text-emphasis",
|
|
||||||
"text-emphasis-color",
|
|
||||||
"text-emphasis-style",
|
|
||||||
"text-emphasis-position",
|
|
||||||
"text-decoration",
|
|
||||||
"text-indent",
|
|
||||||
"text-justify",
|
|
||||||
"text-outline",
|
|
||||||
"-ms-text-overflow",
|
|
||||||
"text-overflow",
|
|
||||||
"text-overflow-ellipsis",
|
|
||||||
"text-overflow-mode",
|
|
||||||
"text-shadow",
|
|
||||||
"text-transform",
|
|
||||||
"text-wrap",
|
|
||||||
"-webkit-text-size-adjust",
|
|
||||||
"-ms-text-size-adjust",
|
|
||||||
"letter-spacing",
|
|
||||||
"-ms-word-break",
|
|
||||||
"word-break",
|
|
||||||
"word-spacing",
|
|
||||||
"-ms-word-wrap",
|
|
||||||
"word-wrap",
|
|
||||||
"overflow-wrap",
|
|
||||||
"tab-size",
|
|
||||||
"white-space",
|
|
||||||
"vertical-align",
|
|
||||||
"list-style",
|
|
||||||
"list-style-position",
|
|
||||||
"list-style-type",
|
|
||||||
"list-style-image",
|
|
||||||
"pointer-events",
|
|
||||||
"-ms-touch-action",
|
|
||||||
"touch-action",
|
|
||||||
"cursor",
|
|
||||||
"visibility",
|
|
||||||
"zoom",
|
|
||||||
"table-layout",
|
|
||||||
"empty-cells",
|
|
||||||
"caption-side",
|
|
||||||
"border-spacing",
|
|
||||||
"border-collapse",
|
|
||||||
"content",
|
|
||||||
"quotes",
|
|
||||||
"counter-reset",
|
|
||||||
"counter-increment",
|
|
||||||
"resize",
|
|
||||||
"user-select",
|
|
||||||
"nav-index",
|
|
||||||
"nav-up",
|
|
||||||
"nav-right",
|
|
||||||
"nav-down",
|
|
||||||
"nav-left",
|
|
||||||
"background",
|
|
||||||
"background-color",
|
|
||||||
"background-image",
|
|
||||||
"filter",
|
|
||||||
"background-repeat",
|
|
||||||
"background-attachment",
|
|
||||||
"background-position",
|
|
||||||
"background-position-x",
|
|
||||||
"background-position-y",
|
|
||||||
"background-clip",
|
|
||||||
"background-origin",
|
|
||||||
"background-size",
|
|
||||||
"border",
|
|
||||||
"border-color",
|
|
||||||
"border-style",
|
|
||||||
"border-width",
|
|
||||||
"border-top",
|
|
||||||
"border-top-color",
|
|
||||||
"border-top-style",
|
|
||||||
"border-top-width",
|
|
||||||
"border-right",
|
|
||||||
"border-right-color",
|
|
||||||
"border-right-style",
|
|
||||||
"border-right-width",
|
|
||||||
"border-bottom",
|
|
||||||
"border-bottom-color",
|
|
||||||
"border-bottom-style",
|
|
||||||
"border-bottom-width",
|
|
||||||
"border-left",
|
|
||||||
"border-left-color",
|
|
||||||
"border-left-style",
|
|
||||||
"border-left-width",
|
|
||||||
"border-radius",
|
|
||||||
"border-top-left-radius",
|
|
||||||
"border-top-right-radius",
|
|
||||||
"border-bottom-right-radius",
|
|
||||||
"border-bottom-left-radius",
|
|
||||||
"border-image",
|
|
||||||
"border-image-source",
|
|
||||||
"border-image-slice",
|
|
||||||
"border-image-width",
|
|
||||||
"border-image-outset",
|
|
||||||
"border-image-repeat",
|
|
||||||
"outline",
|
|
||||||
"outline-width",
|
|
||||||
"outline-style",
|
|
||||||
"outline-color",
|
|
||||||
"outline-offset",
|
|
||||||
"box-shadow",
|
|
||||||
"opacity",
|
|
||||||
"-ms-interpolation-mode",
|
|
||||||
"transition",
|
|
||||||
"transition-delay",
|
|
||||||
"transition-timing-function",
|
|
||||||
"transition-duration",
|
|
||||||
"transition-property",
|
|
||||||
"transform",
|
|
||||||
"transform-origin",
|
|
||||||
"animation",
|
|
||||||
"animation-name",
|
|
||||||
"animation-duration",
|
|
||||||
"animation-play-state",
|
|
||||||
"animation-timing-function",
|
|
||||||
"animation-delay",
|
|
||||||
"animation-iteration-count",
|
|
||||||
"animation-direction"
|
|
||||||
],
|
|
||||||
"property-no-vendor-prefix": true,
|
|
||||||
"rule-empty-line-before": null,
|
|
||||||
"selector-attribute-quotes": "always",
|
|
||||||
"selector-list-comma-newline-after": "always",
|
|
||||||
"selector-list-comma-newline-before": "never-multi-line",
|
|
||||||
"selector-list-comma-space-after": "always-single-line",
|
|
||||||
"selector-list-comma-space-before": "never-single-line",
|
|
||||||
"selector-max-attribute": 2,
|
|
||||||
"selector-max-class": 4,
|
|
||||||
"selector-max-combinators": 4,
|
|
||||||
"selector-max-compound-selectors": 4,
|
|
||||||
"selector-max-empty-lines": 1,
|
|
||||||
"selector-max-id": 0,
|
|
||||||
"selector-max-specificity": null,
|
|
||||||
"selector-max-type": 2,
|
|
||||||
"selector-max-universal": 1,
|
|
||||||
"selector-no-qualifying-type": true,
|
|
||||||
"selector-no-vendor-prefix": true,
|
|
||||||
"string-quotes": "double",
|
|
||||||
"value-keyword-case": "lower",
|
|
||||||
"value-list-comma-newline-after": "never-multi-line",
|
|
||||||
"value-list-comma-newline-before": "never-multi-line",
|
|
||||||
"value-list-comma-space-after": "always",
|
|
||||||
"value-no-vendor-prefix": true
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,34 +0,0 @@
|
|||||||
sudo: required
|
|
||||||
dist: trusty
|
|
||||||
addons:
|
|
||||||
chrome: stable
|
|
||||||
language: node_js
|
|
||||||
git:
|
|
||||||
depth: 3
|
|
||||||
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
|
|
||||||
- npm install
|
|
||||||
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
|
|
||||||
cache:
|
|
||||||
directories:
|
|
||||||
- node_modules
|
|
||||||
- vendor/bundle
|
|
||||||
notifications:
|
|
||||||
slack: heybb:iz4wwosL0N0EdaX1gvgkU0NH
|
|
||||||
webhooks:
|
|
||||||
- http://savage.twbsapps.com/savage/travis
|
|
@ -1 +0,0 @@
|
|||||||
getbootstrap.com
|
|
@ -1,46 +0,0 @@
|
|||||||
# Contributor Covenant Code of Conduct
|
|
||||||
|
|
||||||
## Our Pledge
|
|
||||||
|
|
||||||
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
|
||||||
|
|
||||||
## Our Standards
|
|
||||||
|
|
||||||
Examples of behavior that contributes to creating a positive environment include:
|
|
||||||
|
|
||||||
* Using welcoming and inclusive language
|
|
||||||
* Being respectful of differing viewpoints and experiences
|
|
||||||
* Gracefully accepting constructive criticism
|
|
||||||
* Focusing on what is best for the community
|
|
||||||
* Showing empathy towards other community members
|
|
||||||
|
|
||||||
Examples of unacceptable behavior by participants include:
|
|
||||||
|
|
||||||
* The use of sexualized language or imagery and unwelcome sexual attention or advances
|
|
||||||
* Trolling, insulting/derogatory comments, and personal or political attacks
|
|
||||||
* Public or private harassment
|
|
||||||
* Publishing others' private information, such as a physical or electronic address, without explicit permission
|
|
||||||
* Other conduct which could reasonably be considered inappropriate in a professional setting
|
|
||||||
|
|
||||||
## Our Responsibilities
|
|
||||||
|
|
||||||
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
|
|
||||||
|
|
||||||
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
|
|
||||||
|
|
||||||
## Scope
|
|
||||||
|
|
||||||
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
|
|
||||||
|
|
||||||
## Enforcement
|
|
||||||
|
|
||||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at mdo@getbootstrap.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
|
|
||||||
|
|
||||||
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
|
|
||||||
|
|
||||||
## 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]
|
|
||||||
|
|
||||||
[homepage]: http://contributor-covenant.org
|
|
||||||
[version]: http://contributor-covenant.org/version/1/4/
|
|
@ -1,8 +0,0 @@
|
|||||||
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'
|
|
||||||
end
|
|
@ -1,80 +0,0 @@
|
|||||||
GEM
|
|
||||||
remote: https://rubygems.org/
|
|
||||||
specs:
|
|
||||||
addressable (2.5.2)
|
|
||||||
public_suffix (>= 2.0.2, < 4.0)
|
|
||||||
colorator (1.1.0)
|
|
||||||
concurrent-ruby (1.0.5)
|
|
||||||
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)
|
|
||||||
forwardable-extended (2.6.0)
|
|
||||||
http_parser.rb (0.6.0)
|
|
||||||
i18n (0.9.1)
|
|
||||||
concurrent-ruby (~> 1.0)
|
|
||||||
jekyll (3.7.0)
|
|
||||||
addressable (~> 2.4)
|
|
||||||
colorator (~> 1.0)
|
|
||||||
em-websocket (~> 0.5)
|
|
||||||
i18n (~> 0.7)
|
|
||||||
jekyll-sass-converter (~> 1.0)
|
|
||||||
jekyll-watch (~> 2.0)
|
|
||||||
kramdown (~> 1.14)
|
|
||||||
liquid (~> 4.0)
|
|
||||||
mercenary (~> 0.3.3)
|
|
||||||
pathutil (~> 0.9)
|
|
||||||
rouge (>= 1.7, < 4)
|
|
||||||
safe_yaml (~> 1.0)
|
|
||||||
jekyll-redirect-from (0.13.0)
|
|
||||||
jekyll (~> 3.3)
|
|
||||||
jekyll-sass-converter (1.5.1)
|
|
||||||
sass (~> 3.4)
|
|
||||||
jekyll-sitemap (1.1.1)
|
|
||||||
jekyll (~> 3.3)
|
|
||||||
jekyll-toc (0.5.1)
|
|
||||||
nokogiri (~> 1.6)
|
|
||||||
jekyll-watch (2.0.0)
|
|
||||||
listen (~> 3.0)
|
|
||||||
kramdown (1.16.2)
|
|
||||||
liquid (4.0.0)
|
|
||||||
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)
|
|
||||||
mini_portile2 (~> 2.3.0)
|
|
||||||
nokogiri (1.8.1-x64-mingw32)
|
|
||||||
mini_portile2 (~> 2.3.0)
|
|
||||||
pathutil (0.16.1)
|
|
||||||
forwardable-extended (~> 2.6)
|
|
||||||
public_suffix (3.0.1)
|
|
||||||
rb-fsevent (0.10.2)
|
|
||||||
rb-inotify (0.9.10)
|
|
||||||
ffi (>= 0.5.0, < 2)
|
|
||||||
rouge (3.1.0)
|
|
||||||
ruby_dep (1.5.0)
|
|
||||||
safe_yaml (1.0.4)
|
|
||||||
sass (3.5.5)
|
|
||||||
sass-listen (~> 4.0.0)
|
|
||||||
sass-listen (4.0.0)
|
|
||||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
|
||||||
rb-inotify (~> 0.9, >= 0.9.7)
|
|
||||||
|
|
||||||
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)
|
|
||||||
|
|
||||||
BUNDLED WITH
|
|
||||||
1.16.1
|
|
@ -1,22 +0,0 @@
|
|||||||
The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright (c) 2011-2018 Twitter, Inc.
|
|
||||||
Copyright (c) 2011-2018 The Bootstrap Authors
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in
|
|
||||||
all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
||||||
THE SOFTWARE.
|
|
@ -1,167 +0,0 @@
|
|||||||
<p align="center">
|
|
||||||
<a href="https://getbootstrap.com/">
|
|
||||||
<img src="https://getbootstrap.com/assets/brand/bootstrap-solid.svg" alt="" width=72 height=72>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<h3 align="center">Bootstrap</h3>
|
|
||||||
|
|
||||||
<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>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<a href="https://themes.getbootstrap.com/">Bootstrap Themes</a>
|
|
||||||
·
|
|
||||||
<a href="https://jobs.getbootstrap.com/">Job Board</a>
|
|
||||||
·
|
|
||||||
<a href="https://blog.getbootstrap.com/">Blog</a>
|
|
||||||
</p>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<br>
|
|
||||||
|
|
||||||
## Table of contents
|
|
||||||
|
|
||||||
- [Quick start](#quick-start)
|
|
||||||
- [Status](#status)
|
|
||||||
- [What's included](#whats-included)
|
|
||||||
- [Bugs and feature requests](#bugs-and-feature-requests)
|
|
||||||
- [Documentation](#documentation)
|
|
||||||
- [Contributing](#contributing)
|
|
||||||
- [Community](#community)
|
|
||||||
- [Versioning](#versioning)
|
|
||||||
- [Creators](#creators)
|
|
||||||
- [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)
|
|
||||||
- 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).
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
[![Slack](https://bootstrap-slack.herokuapp.com/badge.svg)](https://bootstrap-slack.herokuapp.com/)
|
|
||||||
[![Build Status](https://img.shields.io/travis/twbs/bootstrap/v4-dev.svg)](https://travis-ci.org/twbs/bootstrap)
|
|
||||||
[![npm version](https://img.shields.io/npm/v/bootstrap.svg)](https://www.npmjs.com/package/bootstrap)
|
|
||||||
[![Gem version](https://img.shields.io/gem/v/bootstrap.svg)](https://rubygems.org/gems/bootstrap)
|
|
||||||
[![Meteor Atmosphere](https://img.shields.io/badge/meteor-twbs%3Abootstrap-blue.svg)](https://atmospherejs.com/twbs/bootstrap)
|
|
||||||
[![Packagist Prerelease](https://img.shields.io/packagist/vpre/twbs/bootstrap.svg)](https://packagist.org/packages/twbs/bootstrap)
|
|
||||||
[![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)
|
|
||||||
|
|
||||||
[![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:
|
|
||||||
|
|
||||||
```
|
|
||||||
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
|
|
||||||
```
|
|
||||||
|
|
||||||
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/).
|
|
||||||
|
|
||||||
|
|
||||||
## Bugs and feature requests
|
|
||||||
|
|
||||||
Have a bug or a feature request? Please first read the [issue guidelines](https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md#using-the-issue-tracker) and search for existing and closed issues. If your problem or idea is not addressed yet, [please open a new issue](https://github.com/twbs/bootstrap/issues/new).
|
|
||||||
|
|
||||||
|
|
||||||
## Documentation
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
### 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`.
|
|
||||||
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à.
|
|
||||||
|
|
||||||
Learn more about using Jekyll by reading its [documentation](https://jekyllrb.com/docs/home/).
|
|
||||||
|
|
||||||
### Documentation for previous releases
|
|
||||||
|
|
||||||
- For v2.3.2: <https://getbootstrap.com/2.3.2/>
|
|
||||||
- For v3.3.x: <https://getbootstrap.com/docs/3.3/>
|
|
||||||
|
|
||||||
[Previous releases](https://github.com/twbs/bootstrap/releases) and their documentation are also available for download.
|
|
||||||
|
|
||||||
|
|
||||||
## Contributing
|
|
||||||
|
|
||||||
Please read through our [contributing guidelines](https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md). Included are directions for opening issues, coding standards, and notes on development.
|
|
||||||
|
|
||||||
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/>.
|
|
||||||
|
|
||||||
|
|
||||||
## Community
|
|
||||||
|
|
||||||
Get updates on Bootstrap's development and chat with the project maintainers and community members.
|
|
||||||
|
|
||||||
- Follow [@getbootstrap on Twitter](https://twitter.com/getbootstrap).
|
|
||||||
- Read and subscribe to [The Official Bootstrap Blog](https://blog.getbootstrap.com/).
|
|
||||||
- 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.
|
|
||||||
- Implementation help may be found at Stack Overflow (tagged [`bootstrap-4`](https://stackoverflow.com/questions/tagged/bootstrap-4)).
|
|
||||||
- Developers should use the keyword `bootstrap` on packages which modify or add to the functionality of Bootstrap when distributing through [npm](https://www.npmjs.com/browse/keyword/bootstrap) or similar delivery mechanisms for maximum discoverability.
|
|
||||||
|
|
||||||
|
|
||||||
## 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.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
|
|
||||||
## Creators
|
|
||||||
|
|
||||||
**Mark Otto**
|
|
||||||
|
|
||||||
- <https://twitter.com/mdo>
|
|
||||||
- <https://github.com/mdo>
|
|
||||||
|
|
||||||
**Jacob Thornton**
|
|
||||||
|
|
||||||
- <https://twitter.com/fat>
|
|
||||||
- <https://github.com/fat>
|
|
||||||
|
|
||||||
|
|
||||||
## 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).
|
|
@ -1,81 +0,0 @@
|
|||||||
# Dependencies
|
|
||||||
markdown: kramdown
|
|
||||||
highlighter: rouge
|
|
||||||
|
|
||||||
kramdown:
|
|
||||||
auto_ids: true
|
|
||||||
|
|
||||||
# Permalinks
|
|
||||||
permalink: pretty
|
|
||||||
|
|
||||||
# Server
|
|
||||||
source: "."
|
|
||||||
destination: ./_gh_pages
|
|
||||||
host: 0.0.0.0
|
|
||||||
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
|
|
||||||
|
|
||||||
plugins:
|
|
||||||
- jekyll-redirect-from
|
|
||||||
- jekyll-sitemap
|
|
||||||
- jekyll-toc
|
|
||||||
|
|
||||||
# Social
|
|
||||||
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
|
|
||||||
|
|
||||||
# Custom variables
|
|
||||||
current_version: 4.0.0
|
|
||||||
current_ruby_version: 4.0.0
|
|
||||||
docs_version: 4.0
|
|
||||||
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"
|
|
||||||
|
|
||||||
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"
|
|
||||||
|
|
||||||
toc:
|
|
||||||
min_level: 2
|
|
||||||
max_level: 4
|
|
@ -1,29 +0,0 @@
|
|||||||
- breakpoint: xs
|
|
||||||
abbr: ""
|
|
||||||
name: Extra small
|
|
||||||
min-width: 0px
|
|
||||||
container: ""
|
|
||||||
|
|
||||||
- breakpoint: sm
|
|
||||||
abbr: -sm
|
|
||||||
name: Small
|
|
||||||
min-width: 576px
|
|
||||||
container: 540px
|
|
||||||
|
|
||||||
- breakpoint: md
|
|
||||||
abbr: -md
|
|
||||||
name: Medium
|
|
||||||
min-width: 768px
|
|
||||||
container: 720px
|
|
||||||
|
|
||||||
- breakpoint: lg
|
|
||||||
abbr: -lg
|
|
||||||
name: Large
|
|
||||||
min-width: 992px
|
|
||||||
container: 960px
|
|
||||||
|
|
||||||
- breakpoint: xl
|
|
||||||
abbr: -xl
|
|
||||||
name: Extra large
|
|
||||||
min-width: 1200px
|
|
||||||
container: 1140px
|
|
@ -1,451 +0,0 @@
|
|||||||
-
|
|
||||||
browser: >
|
|
||||||
Edge
|
|
||||||
summary: >
|
|
||||||
Visual artifacts in scrollable modal dialogs
|
|
||||||
upstream_bug: >
|
|
||||||
Edge#9011176
|
|
||||||
origin: >
|
|
||||||
Bootstrap#20755
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Edge
|
|
||||||
summary: >
|
|
||||||
Native browser tooltip for `title` shows on first keyboard focus (in addition to custom tooltip component)
|
|
||||||
upstream_bug: >
|
|
||||||
Edge#6793560
|
|
||||||
origin: >
|
|
||||||
Bootstrap#18692
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Edge
|
|
||||||
summary: >
|
|
||||||
Hovered element still remains in `:hover` state after scrolling away.
|
|
||||||
upstream_bug: >
|
|
||||||
Edge#5381673
|
|
||||||
origin: >
|
|
||||||
Bootstrap#14211
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Edge
|
|
||||||
summary: >
|
|
||||||
CSS `border-radius` sometimes causes lines of bleed-through of the `background-color` of the parent element.
|
|
||||||
upstream_bug: >
|
|
||||||
Edge#3342037
|
|
||||||
origin: >
|
|
||||||
Bootstrap#16671
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Edge
|
|
||||||
summary: >
|
|
||||||
`background` of `<tr>` is only applied to first child cell instead of all cells in the row
|
|
||||||
upstream_bug: >
|
|
||||||
Edge#5865620
|
|
||||||
origin: >
|
|
||||||
Bootstrap#18504
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Edge
|
|
||||||
summary: >
|
|
||||||
`@-ms-viewport{width: device-width;}` has side-effect of making scrollbars auto-hide
|
|
||||||
upstream_bug: >
|
|
||||||
Edge#7165383
|
|
||||||
origin: >
|
|
||||||
Bootstrap#18543
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Edge
|
|
||||||
summary: >
|
|
||||||
Background color from lower layer bleeds through transparent border in some cases
|
|
||||||
upstream_bug: >
|
|
||||||
Edge#6274505
|
|
||||||
origin: >
|
|
||||||
Bootstrap#18228
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Edge
|
|
||||||
summary: >
|
|
||||||
Hovering over descendant SVG element fires `mouseleave` event at ancestor
|
|
||||||
upstream_bug: >
|
|
||||||
Edge#7787318
|
|
||||||
origin: >
|
|
||||||
Bootstrap#19670
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Edge
|
|
||||||
summary: >
|
|
||||||
Active `position: fixed;` `<button>` flickers when scrolling
|
|
||||||
upstream_bug: >
|
|
||||||
Edge#8770398
|
|
||||||
origin: >
|
|
||||||
Bootstrap#20507
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Firefox
|
|
||||||
summary: >
|
|
||||||
`.table-bordered` with an empty `<tbody>` is missing borders.
|
|
||||||
upstream_bug: >
|
|
||||||
Mozilla#1023761
|
|
||||||
origin: >
|
|
||||||
Bootstrap#13453
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Firefox
|
|
||||||
summary: >
|
|
||||||
If the disabled state of a form control is changed via JavaScript, the normal state doesn't return after refreshing the page.
|
|
||||||
upstream_bug: >
|
|
||||||
Mozilla#654072
|
|
||||||
origin: >
|
|
||||||
Bootstrap#793
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Firefox
|
|
||||||
summary: >
|
|
||||||
`focus` events should not be fired at the `document` object
|
|
||||||
upstream_bug: >
|
|
||||||
Mozilla#1228802
|
|
||||||
origin: >
|
|
||||||
Bootstrap#18365
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Firefox
|
|
||||||
summary: >
|
|
||||||
Wide floated table doesn't wrap onto new line
|
|
||||||
upstream_bug: >
|
|
||||||
Mozilla#1277782
|
|
||||||
origin: >
|
|
||||||
Bootstrap#19839
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Firefox
|
|
||||||
summary: >
|
|
||||||
Mouse sometimes not within element for purposes of `mouseenter`/`mouseleave` when it's within SVG elements
|
|
||||||
upstream_bug: >
|
|
||||||
Mozilla#577785
|
|
||||||
origin: >
|
|
||||||
Bootstrap#19670
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Firefox
|
|
||||||
summary: >
|
|
||||||
Layout with floated columns breaks when printing
|
|
||||||
upstream_bug: >
|
|
||||||
Mozilla#1315994
|
|
||||||
origin: >
|
|
||||||
Bootstrap#21092
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Firefox (Windows)
|
|
||||||
summary: >
|
|
||||||
Right border of `<select>` menu is sometimes missing when screen is set to uncommon resolution
|
|
||||||
upstream_bug: >
|
|
||||||
Mozilla#545685
|
|
||||||
origin: >
|
|
||||||
Bootstrap#15990
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Firefox (OS X & Linux)
|
|
||||||
summary: >
|
|
||||||
Badge widget causes bottom border of Tabs widget to unexpectedly not overlap
|
|
||||||
upstream_bug: >
|
|
||||||
Mozilla#1259972
|
|
||||||
origin: >
|
|
||||||
Bootstrap#19626
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Chrome (Android)
|
|
||||||
summary: >
|
|
||||||
Tapping on an `<input>` in a scrollable overlay doesn't scroll the `<input>` into view
|
|
||||||
upstream_bug: >
|
|
||||||
Chromium#595210
|
|
||||||
origin: >
|
|
||||||
Bootstrap#17338
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Chrome (OS X)
|
|
||||||
summary: >
|
|
||||||
Clicking above `<input type="number">` increment button flashes the decrement button.
|
|
||||||
upstream_bug: >
|
|
||||||
Chromium#419108
|
|
||||||
origin: >
|
|
||||||
Offshoot of Bootstrap#8350 & Chromium#337668
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Chrome
|
|
||||||
summary: >
|
|
||||||
CSS infinite linear animation with alpha transparency leaks memory.
|
|
||||||
upstream_bug: >
|
|
||||||
Chromium#429375
|
|
||||||
origin: >
|
|
||||||
Bootstrap#14409
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Chrome
|
|
||||||
summary: >
|
|
||||||
`table-cell` borders not overlapping despite `margin-right: -1px`
|
|
||||||
upstream_bug: >
|
|
||||||
Chromium#749848
|
|
||||||
origin: >
|
|
||||||
Bootstrap#17438, Bootstrap#14237
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Chrome
|
|
||||||
summary: >
|
|
||||||
Clicking scrollbar in `<select multiple>` with overflowed options will select nearby `<option>`
|
|
||||||
upstream_bug: >
|
|
||||||
Chromium#597642
|
|
||||||
origin: >
|
|
||||||
Bootstrap#19810
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Chrome
|
|
||||||
summary: >
|
|
||||||
Don't make `:hover` sticky on touch-friendly webpages
|
|
||||||
upstream_bug: >
|
|
||||||
Chromium#370155
|
|
||||||
origin: >
|
|
||||||
Bootstrap#12832
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Chrome
|
|
||||||
summary: >
|
|
||||||
`position: absolute` element that's wider than its column is incorrectly clipped to column boundary
|
|
||||||
upstream_bug: >
|
|
||||||
Chromium#269061
|
|
||||||
origin: >
|
|
||||||
Bootstrap#20161
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Chrome (Windows & Linux)
|
|
||||||
summary: >
|
|
||||||
Animation glitch when returning to inactive tab after animations occurred while tab was hidden.
|
|
||||||
upstream_bug: >
|
|
||||||
Chromium#449180
|
|
||||||
origin: >
|
|
||||||
Bootstrap#15298
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Chrome
|
|
||||||
summary: >
|
|
||||||
Significant performance hit for dynamic SVGs with text depending on the number of fonts in `font-family`.
|
|
||||||
upstream_bug: >
|
|
||||||
Chromium#781344
|
|
||||||
origin: >
|
|
||||||
Bootstrap#24673
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Safari
|
|
||||||
summary: >
|
|
||||||
`rem` units in media queries should be calculated using `font-size: initial`, not the root element's `font-size`
|
|
||||||
upstream_bug: >
|
|
||||||
WebKit#156684
|
|
||||||
origin: >
|
|
||||||
Bootstrap#17403
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Safari
|
|
||||||
summary: >
|
|
||||||
Link to container with id and tabindex results in container being ignored by VoiceOver (affects skip links)
|
|
||||||
upstream_bug: >
|
|
||||||
WebKit#163658
|
|
||||||
origin: >
|
|
||||||
Bootstrap#20732
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Safari
|
|
||||||
summary: >
|
|
||||||
CSS `min-width` and `max-width` media features should not round fractional pixel
|
|
||||||
upstream_bug: >
|
|
||||||
WebKit#178261
|
|
||||||
origin: >
|
|
||||||
Bootstrap#25166
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Safari (OS X)
|
|
||||||
summary: >
|
|
||||||
`px`, `em`, and `rem` should all behave the same in media queries when page zoom is applied
|
|
||||||
upstream_bug: >
|
|
||||||
WebKit#156687
|
|
||||||
origin: >
|
|
||||||
Bootstrap#17403
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Safari (OS X)
|
|
||||||
summary: >
|
|
||||||
Weird button behavior with some `<input type="number">` elements.
|
|
||||||
upstream_bug: >
|
|
||||||
WebKit#137269, Safari#18834768
|
|
||||||
origin: >
|
|
||||||
Bootstrap#8350,
|
|
||||||
Normalize#283,
|
|
||||||
Chromium#337668
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Safari (OS X)
|
|
||||||
summary: >
|
|
||||||
Small font size when printing webpage with fixed-width `.container`.
|
|
||||||
upstream_bug: >
|
|
||||||
WebKit#138192, Safari#19435018
|
|
||||||
origin: >
|
|
||||||
Bootstrap#14868
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Safari (iOS)
|
|
||||||
summary: >
|
|
||||||
`transform: translate3d(0,0,0);` rendering bug.
|
|
||||||
upstream_bug: >
|
|
||||||
WebKit#138162, Safari#18804973
|
|
||||||
origin: >
|
|
||||||
Bootstrap#14603
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Safari (iOS)
|
|
||||||
summary: >
|
|
||||||
Text input's cursor doesn't move while scrolling the page.
|
|
||||||
upstream_bug: >
|
|
||||||
WebKit#138201, Safari#18819624
|
|
||||||
origin: >
|
|
||||||
Bootstrap#14708
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Safari (iOS)
|
|
||||||
summary: >
|
|
||||||
Can't move cursor to start of text after entering long string of text into `<input type="text">`
|
|
||||||
upstream_bug: >
|
|
||||||
WebKit#148061, Safari#22299624
|
|
||||||
origin: >
|
|
||||||
Bootstrap#16988
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Safari (iOS)
|
|
||||||
summary: >
|
|
||||||
`display: block` causes text of temporal `<input>`s to become vertically misaligned
|
|
||||||
upstream_bug: >
|
|
||||||
WebKit#139848, Safari#19434878
|
|
||||||
origin: >
|
|
||||||
Bootstrap#11266, Bootstrap#13098
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Safari (iOS)
|
|
||||||
summary: >
|
|
||||||
Tapping on `<body>` doesn't fire `click` events
|
|
||||||
upstream_bug: >
|
|
||||||
WebKit#151933
|
|
||||||
origin: >
|
|
||||||
Bootstrap#16028
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Safari (iOS)
|
|
||||||
summary: >
|
|
||||||
`position:fixed` is incorrectly positioned when tab bar is visible on iPhone 6S+ Safari
|
|
||||||
upstream_bug: >
|
|
||||||
WebKit#153056
|
|
||||||
origin: >
|
|
||||||
Bootstrap#18859
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Safari (iOS)
|
|
||||||
summary: >
|
|
||||||
Tapping into an `<input>` within a `position:fixed` element scrolls to the top of the page
|
|
||||||
upstream_bug: >
|
|
||||||
WebKit#153224, Safari#24235301
|
|
||||||
origin: >
|
|
||||||
Bootstrap#17497
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Safari (iOS)
|
|
||||||
summary: >
|
|
||||||
`<body>` with `overflow:hidden` CSS is scrollable on iOS
|
|
||||||
upstream_bug: >
|
|
||||||
WebKit#153852
|
|
||||||
origin: >
|
|
||||||
Bootstrap#14839
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Safari (iOS)
|
|
||||||
summary: >
|
|
||||||
Scroll gesture in text field in `position:fixed` element sometimes scrolls `<body>` instead of scrollable ancestor
|
|
||||||
upstream_bug: >
|
|
||||||
WebKit#153856
|
|
||||||
origin: >
|
|
||||||
Bootstrap#14839
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Safari (iOS)
|
|
||||||
summary: >
|
|
||||||
Modal with `-webkit-overflow-scrolling: touch` doesn't become scrollable after added text makes it taller
|
|
||||||
upstream_bug: >
|
|
||||||
WebKit#158342
|
|
||||||
origin: >
|
|
||||||
Bootstrap#17695
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Safari (iOS)
|
|
||||||
summary: >
|
|
||||||
Don't make `:hover` sticky on touch-friendly webpages
|
|
||||||
upstream_bug: >
|
|
||||||
WebKit#158517
|
|
||||||
origin: >
|
|
||||||
Bootstrap#12832
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Safari (iOS)
|
|
||||||
summary: >
|
|
||||||
Element which is `position:fixed` disappears after opening a `<select>` menu
|
|
||||||
upstream_bug: >
|
|
||||||
WebKit#162362
|
|
||||||
origin: >
|
|
||||||
Bootstrap#20759
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Safari (iPad Pro)
|
|
||||||
summary: >
|
|
||||||
Rendering of descendants of `position: fixed` element gets clipped on iPad Pro in Landscape orientation
|
|
||||||
upstream_bug: >
|
|
||||||
WebKit#152637, Safari#24030853
|
|
||||||
origin: >
|
|
||||||
Bootstrap#18738
|
|
@ -1,139 +0,0 @@
|
|||||||
-
|
|
||||||
browser: >
|
|
||||||
Edge
|
|
||||||
summary: >
|
|
||||||
Focusable elements should fire focus event / receive :focus styling when they receive Narrator/accessibility focus
|
|
||||||
upstream_bug: >
|
|
||||||
A11yUserVoice#16717318
|
|
||||||
origin: >
|
|
||||||
Bootstrap#20732
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Edge
|
|
||||||
summary: >
|
|
||||||
Implement the [`:dir()` pseudo-class](https://developer.mozilla.org/en-US/docs/Web/CSS/:dir) from Selectors Level 4
|
|
||||||
upstream_bug: >
|
|
||||||
UserVoice#12299532
|
|
||||||
origin: >
|
|
||||||
Bootstrap#19984
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Edge
|
|
||||||
summary: >
|
|
||||||
Implement the HTML5 [`<dialog>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog)
|
|
||||||
upstream_bug: >
|
|
||||||
UserVoice#6508895
|
|
||||||
origin: >
|
|
||||||
Bootstrap#20175
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Edge
|
|
||||||
summary: >
|
|
||||||
Fire a [`transitioncancel` event](https://developer.mozilla.org/en-US/docs/Web/Events/transitioncancel) when a CSS transition is canceled
|
|
||||||
upstream_bug: >
|
|
||||||
UserVoice#15939898
|
|
||||||
origin: >
|
|
||||||
Bootstrap#20618
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Edge
|
|
||||||
summary: >
|
|
||||||
Implement the [`of <selector-list>` clause](https://caniuse.com/#feat=css-nth-child-of) of the `:nth-child()` pseudo-class
|
|
||||||
upstream_bug: >
|
|
||||||
UserVoice#15944476
|
|
||||||
origin: >
|
|
||||||
Bootstrap#20143
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Firefox
|
|
||||||
summary: >
|
|
||||||
Implement the [`of <selector-list>` clause](https://caniuse.com/#feat=css-nth-child-of) of the `:nth-child()` pseudo-class
|
|
||||||
upstream_bug: >
|
|
||||||
Mozilla#854148
|
|
||||||
origin: >
|
|
||||||
Bootstrap#20143
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Firefox
|
|
||||||
summary: >
|
|
||||||
Implement the HTML5 [`<dialog>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog)
|
|
||||||
upstream_bug: >
|
|
||||||
Mozilla#840640
|
|
||||||
origin: >
|
|
||||||
Bootstrap#20175
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Firefox
|
|
||||||
summary: >
|
|
||||||
When virtual focus is on a button or link, fire actual focus on the element, too
|
|
||||||
upstream_bug: >
|
|
||||||
Mozilla#1000082
|
|
||||||
origin: >
|
|
||||||
Bootstrap#20732
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Chrome
|
|
||||||
summary: >
|
|
||||||
Fire a [`transitioncancel` event](https://developer.mozilla.org/en-US/docs/Web/Events/transitioncancel) when a CSS transition is canceled
|
|
||||||
upstream_bug: >
|
|
||||||
Chromium#642487
|
|
||||||
origin: >
|
|
||||||
Chromium#437860
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Chrome
|
|
||||||
summary: >
|
|
||||||
Implement the [`of <selector-list>` clause](https://caniuse.com/#feat=css-nth-child-of) of the `:nth-child()` pseudo-class
|
|
||||||
upstream_bug: >
|
|
||||||
Chromium#304163
|
|
||||||
origin: >
|
|
||||||
Bootstrap#20143
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Chrome
|
|
||||||
summary: >
|
|
||||||
Implement the [`:dir()` pseudo-class](https://developer.mozilla.org/en-US/docs/Web/CSS/:dir) from Selectors Level 4
|
|
||||||
upstream_bug: >
|
|
||||||
Chromium#576815
|
|
||||||
origin: >
|
|
||||||
Bootstrap#19984
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Safari
|
|
||||||
summary: >
|
|
||||||
Fire a [`transitioncancel` event](https://developer.mozilla.org/en-US/docs/Web/Events/transitioncancel) when a CSS transition is canceled
|
|
||||||
upstream_bug: >
|
|
||||||
WebKit#161535
|
|
||||||
origin: >
|
|
||||||
Bootstrap#20618
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Safari
|
|
||||||
summary: >
|
|
||||||
Implement the [`:dir()` pseudo-class](https://developer.mozilla.org/en-US/docs/Web/CSS/:dir) from Selectors Level 4
|
|
||||||
upstream_bug: >
|
|
||||||
WebKit#64861
|
|
||||||
origin: >
|
|
||||||
Bootstrap#19984
|
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Safari
|
|
||||||
summary: >
|
|
||||||
Implement the HTML5 [`<dialog>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog)
|
|
||||||
upstream_bug: >
|
|
||||||
WebKit#84635
|
|
||||||
origin: >
|
|
||||||
Bootstrap#20175
|
|
@ -1,26 +0,0 @@
|
|||||||
- name: blue
|
|
||||||
hex: "#007bff"
|
|
||||||
- name: indigo
|
|
||||||
hex: "#6610f2"
|
|
||||||
- name: purple
|
|
||||||
hex: "#6f42c1"
|
|
||||||
- name: pink
|
|
||||||
hex: "#e83e8c"
|
|
||||||
- name: red
|
|
||||||
hex: "#dc3545"
|
|
||||||
- name: orange
|
|
||||||
hex: "#fd7e14"
|
|
||||||
- name: yellow
|
|
||||||
hex: "#ffc107"
|
|
||||||
- name: green
|
|
||||||
hex: "#28a745"
|
|
||||||
- name: teal
|
|
||||||
hex: "#20c997"
|
|
||||||
- name: cyan
|
|
||||||
hex: "#17a2b8"
|
|
||||||
- name: white
|
|
||||||
hex: "#fff"
|
|
||||||
- name: gray
|
|
||||||
hex: "#868e96"
|
|
||||||
- name: gray-dark
|
|
||||||
hex: "#343a40"
|
|
@ -1,55 +0,0 @@
|
|||||||
- category: Custom components
|
|
||||||
description: "Brand new components and templates to help folks quickly get started with Bootstrap and demonstrate best practices for adding onto the framework."
|
|
||||||
examples:
|
|
||||||
- name: Album
|
|
||||||
description: "Simple one-page template for photo galleries, portfolios, and more."
|
|
||||||
- name: Pricing
|
|
||||||
description: "Example pricing page built with Cards and featuring a custom header and footer."
|
|
||||||
- name: Checkout
|
|
||||||
description: "Custom checkout form showing our form components and their validation features."
|
|
||||||
- name: Product
|
|
||||||
description: "Lean product-focused marketing page with extensive grid and image work."
|
|
||||||
- name: Cover
|
|
||||||
description: "A one-page template for building simple and beautiful home pages."
|
|
||||||
- name: Carousel
|
|
||||||
description: "Customize the navbar and carousel, then add some new components."
|
|
||||||
- name: Blog
|
|
||||||
description: "Magazine like blog template with header, navigation, featured content."
|
|
||||||
- name: Dashboard
|
|
||||||
description: "Basic admin dashboard shell with fixed sidebar and navbar."
|
|
||||||
- name: Sign-in
|
|
||||||
description: "Custom form layout and design for a simple sign in form."
|
|
||||||
- name: Sticky footer
|
|
||||||
description: "Attach a footer to the bottom of the viewport when page content is short."
|
|
||||||
- name: Sticky footer navbar
|
|
||||||
description: "Attach a footer to the bottom of the viewport with a fixed top navbar."
|
|
||||||
|
|
||||||
- category: Framework
|
|
||||||
description: "Examples that focus on implementing uses of built-in components provided by Bootstrap."
|
|
||||||
examples:
|
|
||||||
- name: "Starter template"
|
|
||||||
description: "Nothing but the basics: compiled CSS and JavaScript."
|
|
||||||
- name: Grid
|
|
||||||
description: "Multiple examples of grid layouts with all four tiers, nesting, and more."
|
|
||||||
- name: Jumbotron
|
|
||||||
description: "Build around the jumbotron with a navbar and some basic grid columns."
|
|
||||||
|
|
||||||
- category: Navbars
|
|
||||||
description: "Taking the default navbar component and showing how it can be moved, placed, and extended."
|
|
||||||
examples:
|
|
||||||
- name: Navbars
|
|
||||||
description: "Demonstration of all responsive and container options for the navbar."
|
|
||||||
- name: Navbar static
|
|
||||||
description: "Single navbar example of a static top navbar along with some additional content."
|
|
||||||
- name: Navbar fixed
|
|
||||||
description: "Single navbar example with a fixed top navbar along with some additional content."
|
|
||||||
- name: Navbar bottom
|
|
||||||
description: "Single navbar example with a bottom navbar along with some additional content."
|
|
||||||
|
|
||||||
- category: Experiments
|
|
||||||
description: "Examples that focus on future-friendly features or techniques."
|
|
||||||
examples:
|
|
||||||
- name: Floating labels
|
|
||||||
description: "Beautifully simple forms with floating labels over your inputs."
|
|
||||||
- name: Offcanvas
|
|
||||||
description: "Turn your expandable navbar into a sliding offcanvas menu."
|
|
@ -1,18 +0,0 @@
|
|||||||
- name: 100
|
|
||||||
hex: "#f8f9fa"
|
|
||||||
- name: 200
|
|
||||||
hex: "#e9ecef"
|
|
||||||
- name: 300
|
|
||||||
hex: "#dee2e6"
|
|
||||||
- name: 400
|
|
||||||
hex: "#ced4da"
|
|
||||||
- name: 500
|
|
||||||
hex: "#adb5bd"
|
|
||||||
- name: 600
|
|
||||||
hex: "#868e96"
|
|
||||||
- name: 700
|
|
||||||
hex: "#495057"
|
|
||||||
- name: 800
|
|
||||||
hex: "#343a40"
|
|
||||||
- name: 900
|
|
||||||
hex: "#212529"
|
|
@ -1,85 +0,0 @@
|
|||||||
- title: Getting started
|
|
||||||
pages:
|
|
||||||
- title: Introduction
|
|
||||||
- title: Download
|
|
||||||
- title: Contents
|
|
||||||
- title: Browsers & devices
|
|
||||||
- title: JavaScript
|
|
||||||
- title: Theming
|
|
||||||
- title: Build tools
|
|
||||||
# - title: Best practices # TODO: Write this content
|
|
||||||
- title: Webpack
|
|
||||||
- title: Accessibility
|
|
||||||
|
|
||||||
- title: Layout
|
|
||||||
pages:
|
|
||||||
- title: Overview
|
|
||||||
- title: Grid
|
|
||||||
- title: Media object
|
|
||||||
- title: Utilities for layout
|
|
||||||
|
|
||||||
- title: Content
|
|
||||||
pages:
|
|
||||||
- title: Reboot
|
|
||||||
- title: Typography
|
|
||||||
- title: Code
|
|
||||||
- title: Images
|
|
||||||
- title: Tables
|
|
||||||
- title: Figures
|
|
||||||
|
|
||||||
- title: Components
|
|
||||||
pages:
|
|
||||||
- title: Alerts
|
|
||||||
- title: Badge
|
|
||||||
- title: Breadcrumb
|
|
||||||
- title: Buttons
|
|
||||||
- title: Button group
|
|
||||||
- title: Card
|
|
||||||
- title: Carousel
|
|
||||||
- title: Collapse
|
|
||||||
- title: Dropdowns
|
|
||||||
- title: Forms
|
|
||||||
- title: Input group
|
|
||||||
- title: Jumbotron
|
|
||||||
- title: List group
|
|
||||||
- title: Modal
|
|
||||||
- title: Navs
|
|
||||||
- title: Navbar
|
|
||||||
- title: Pagination
|
|
||||||
- title: Popovers
|
|
||||||
- title: Progress
|
|
||||||
- title: Scrollspy
|
|
||||||
- title: Tooltips
|
|
||||||
|
|
||||||
- title: Utilities
|
|
||||||
pages:
|
|
||||||
- title: Borders
|
|
||||||
- title: Clearfix
|
|
||||||
- title: Close icon
|
|
||||||
- title: Colors
|
|
||||||
- title: Display
|
|
||||||
- title: Embed
|
|
||||||
- title: Flex
|
|
||||||
- title: Float
|
|
||||||
- title: Image replacement
|
|
||||||
- title: Position
|
|
||||||
- title: Screenreaders
|
|
||||||
- title: Sizing
|
|
||||||
- title: Spacing
|
|
||||||
- title: Text
|
|
||||||
- title: Vertical align
|
|
||||||
- title: Visibility
|
|
||||||
|
|
||||||
- title: Extend
|
|
||||||
pages:
|
|
||||||
- title: Approach
|
|
||||||
- title: Icons
|
|
||||||
|
|
||||||
- title: Migration
|
|
||||||
|
|
||||||
- title: About
|
|
||||||
pages:
|
|
||||||
- title: Overview
|
|
||||||
- title: Brand
|
|
||||||
- title: License
|
|
||||||
- title: Translations
|
|
@ -1,16 +0,0 @@
|
|||||||
- name: primary
|
|
||||||
hex: "#007bff"
|
|
||||||
- name: secondary
|
|
||||||
hex: "#868e96"
|
|
||||||
- name: success
|
|
||||||
hex: "#28a745"
|
|
||||||
- name: danger
|
|
||||||
hex: "#dc3545"
|
|
||||||
- name: warning
|
|
||||||
hex: "#ffc107"
|
|
||||||
- name: info
|
|
||||||
hex: "#17a2b8"
|
|
||||||
- name: light
|
|
||||||
hex: "#f8f9fa"
|
|
||||||
- name: dark
|
|
||||||
hex: "#343a40"
|
|
@ -1,19 +0,0 @@
|
|||||||
- name: 中文(繁體)
|
|
||||||
code: zh-tw
|
|
||||||
description: Bootstrap 4 繁體中文手冊
|
|
||||||
url: http://bootstrap.hexschool.com/
|
|
||||||
|
|
||||||
- name: Chinese
|
|
||||||
code: zh
|
|
||||||
description: Bootstrap 4 · 全球最流行的 HTML、CSS 和 JS 工具库。
|
|
||||||
url: http://code.z01.com/v4
|
|
||||||
|
|
||||||
- name: Chinese
|
|
||||||
code: zh
|
|
||||||
description: Bootstrap 4 中文文档教程
|
|
||||||
url: http://wiki.jikexueyuan.com/project/bootstrap4/
|
|
||||||
|
|
||||||
- name: Brazilian Portuguese
|
|
||||||
code: pt-BR
|
|
||||||
description: Bootstrap 4 Português do Brasil
|
|
||||||
url: http://getbootstrap.com.br/v4/
|
|
@ -1 +0,0 @@
|
|||||||
<script async src="https://cdn.carbonads.com/carbon.js?zoneid=1673&serve=C6AILKT&placement=getbootstrapcom" id="_carbonads_js"></script>
|
|
@ -1,7 +0,0 @@
|
|||||||
{% callout danger %}
|
|
||||||
#### Asynchronous methods and transitions
|
|
||||||
|
|
||||||
All API methods are **asynchronous** and start a **transition**. They return to the caller as soon as the transition is started but **before it ends**. In addition, a method call on a **transitioning component will be ignored**.
|
|
||||||
|
|
||||||
[See our JavaScript documentation for more information.]({{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/javascript/)
|
|
||||||
{% endcallout %}
|
|
@ -1,3 +0,0 @@
|
|||||||
{% callout info %}
|
|
||||||
Note that since browsers do not currently support [range context queries](https://www.w3.org/TR/mediaqueries-4/#range-context), we work around the limitations of [`min-` and `max-` prefixes](https://www.w3.org/TR/mediaqueries-4/#mq-min-max) and viewports with fractional widths (which can occur under certain conditions on high-dpi devices, for instance) by using values with higher precision for these comparisons.
|
|
||||||
{% endcallout %}
|
|
@ -1,5 +0,0 @@
|
|||||||
{% callout warning %}
|
|
||||||
##### Conveying meaning to assistive technologies
|
|
||||||
|
|
||||||
Using color to add meaning only provides a visual indication, which will not be conveyed to users of assistive technologies – such as screen readers. Ensure that information denoted by the color is either obvious from the content itself (e.g. the visible text), or is included through alternative means, such as additional text hidden with the `.sr-only` class.
|
|
||||||
{% endcallout %}
|
|
@ -1,63 +0,0 @@
|
|||||||
<header class="navbar navbar-expand navbar-dark flex-column flex-md-row bd-navbar">
|
|
||||||
<a class="navbar-brand mr-0 mr-md-2" href="{{ site.baseurl }}/" aria-label="Bootstrap">
|
|
||||||
{%- include icons/bootstrap.svg width="36" height="36" class="d-block" -%}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<div class="navbar-nav-scroll">
|
|
||||||
<ul class="navbar-nav bd-navbar-nav flex-row">
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link {% if page.layout == "home" %}active{% endif %}" href="{{ site.baseurl }}/" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Bootstrap');">Home</a>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link {% if page.layout == "docs" %}active{% endif %}" href="{{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/introduction/" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Docs');">Documentation</a>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link {% if page.title == "Examples" %}active{% endif %}" href="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Examples');">Examples</a>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link" href="{{ site.themes }}" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Themes');" target="_blank" rel="noopener">Themes</a>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link" href="{{ site.jobs }}" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Jobs');" target="_blank" rel="noopener">Jobs</a>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link" href="{{ site.expo }}" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Expo');" target="_blank" rel="noopener">Expo</a>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link" href="{{ site.blog }}" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Blog');" target="_blank" rel="noopener">Blog</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<ul class="navbar-nav flex-row ml-md-auto d-none d-md-flex">
|
|
||||||
<li class="nav-item dropdown">
|
|
||||||
<a class="nav-item nav-link dropdown-toggle mr-md-2" href="#" id="bd-versions" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
||||||
v4.0
|
|
||||||
</a>
|
|
||||||
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="bd-versions">
|
|
||||||
<a class="dropdown-item active" href="{{ site.baseurl }}/docs/{{ site.docs_version }}/">Latest (4.x)</a>
|
|
||||||
<a class="dropdown-item" href="https://v4-alpha.getbootstrap.com/">v4 Alpha 6</a>
|
|
||||||
<a class="dropdown-item" href="https://getbootstrap.com/docs/3.3/">v3.3.7</a>
|
|
||||||
<a class="dropdown-item" href="https://getbootstrap.com/2.3.2/">v2.3.2</a>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link p-2" href="{{ site.repo }}" target="_blank" rel="noopener" aria-label="GitHub">
|
|
||||||
{%- include icons/github.svg class="navbar-nav-svg" -%}
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link p-2" href="https://twitter.com/{{ site.twitter }}" target="_blank" rel="noopener" aria-label="Twitter">
|
|
||||||
{%- include icons/twitter.svg class="navbar-nav-svg" -%}
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link p-2" href="{{ site.slack }}" target="_blank" rel="noopener" aria-label="Slack">
|
|
||||||
{%- include icons/slack.svg class="navbar-nav-svg" -%}
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<a class="btn btn-bd-download d-none d-lg-inline-block mb-3 mb-md-0 ml-md-3" href="{{ site.download.source }}">Download</a>
|
|
||||||
</header>
|
|
@ -1,57 +0,0 @@
|
|||||||
<form class="bd-search d-flex align-items-center">
|
|
||||||
<input type="search" class="form-control" id="search-input" placeholder="Search..." aria-label="Search for..." autocomplete="off">
|
|
||||||
<button class="btn btn-link bd-search-docs-toggle d-md-none p-0 ml-3" type="button" data-toggle="collapse" data-target="#bd-docs-nav" aria-controls="bd-docs-nav" aria-expanded="false" aria-label="Toggle docs navigation">
|
|
||||||
{%- include icons/menu.svg width="30" height="30" -%}
|
|
||||||
</button>
|
|
||||||
</form>
|
|
||||||
|
|
||||||
<nav class="collapse bd-links" id="bd-docs-nav">
|
|
||||||
{%- assign page_slug = page.url | split: '/' | last -%}
|
|
||||||
{%- for group in site.data.nav -%}
|
|
||||||
{%- assign link = group.pages | first -%}
|
|
||||||
{%- assign link_slug = link.title | slugify -%}
|
|
||||||
{%- assign group_slug = group.title | slugify -%}
|
|
||||||
{%- assign active = nil -%}
|
|
||||||
|
|
||||||
{%- if page.group == group_slug -%}
|
|
||||||
{%- assign active = 'active' -%}
|
|
||||||
{%- endif -%}
|
|
||||||
|
|
||||||
<div class="bd-toc-item{% unless active == nil %} {{ active }}{% endunless %}">
|
|
||||||
<a class="bd-toc-link" href="{{ site.baseurl }}/docs/{{ site.docs_version }}/{{ group_slug }}/{{ link_slug }}{% if link_slug %}/{% endif %}">
|
|
||||||
{{ group.title }}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<ul class="nav bd-sidenav">
|
|
||||||
{%- for doc in group.pages -%}
|
|
||||||
{%- assign doc_slug = doc.title | slugify -%}
|
|
||||||
{%- assign active = nil -%}
|
|
||||||
|
|
||||||
{%- if page.group == group_slug and page_slug == doc_slug -%}
|
|
||||||
{%- assign active = 'active bd-sidenav-active' -%}
|
|
||||||
{%- endif -%}
|
|
||||||
|
|
||||||
<li{% unless active == nil %} class="{{ active }}"{% endunless %}>
|
|
||||||
<a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/{{ group_slug }}/{{ doc_slug }}/">
|
|
||||||
{{ doc.title }}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
{%- comment -%}
|
|
||||||
{% unless doc.sections == nil %}
|
|
||||||
<ul class="nav">
|
|
||||||
{% for section in doc.sections %}
|
|
||||||
<li>
|
|
||||||
<a href="#{{ section.title | downcase | replace: ' ', '-' }}">
|
|
||||||
{{ section.title }}
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
{% endunless %}
|
|
||||||
{%- endcomment -%}
|
|
||||||
</li>
|
|
||||||
{%- endfor -%}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
{%- endfor -%}
|
|
||||||
</nav>
|
|
@ -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">
|
|
@ -1,12 +0,0 @@
|
|||||||
<footer class="bd-footer text-muted">
|
|
||||||
<div class="container-fluid p-3 p-md-5">
|
|
||||||
<ul class="bd-footer-links">
|
|
||||||
<li><a href="{{ site.repo }}">GitHub</a></li>
|
|
||||||
<li><a href="https://twitter.com/getbootstrap">Twitter</a></li>
|
|
||||||
<li><a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/">Examples</a></li>
|
|
||||||
<li><a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/about/overview/">About</a></li>
|
|
||||||
</ul>
|
|
||||||
<p>Designed and built with all the love in the world by <a href="https://twitter.com/mdo" target="_blank" rel="noopener">@mdo</a> and <a href="https://twitter.com/fat" target="_blank" rel="noopener">@fat</a>. Maintained by the <a href="https://github.com/orgs/twbs/people">core team</a> with the help of <a href="https://github.com/twbs/bootstrap/graphs/contributors">our contributors</a>.</p>
|
|
||||||
<p>Currently v{{ site.current_version }}. Code licensed <a href="https://github.com/twbs/bootstrap/blob/master/LICENSE" target="_blank" rel="license noopener">MIT</a>, docs <a href="https://creativecommons.org/licenses/by/3.0/" target="_blank" rel="license noopener">CC BY 3.0</a>.</p>
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
@ -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 +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 +0,0 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" focusable="false"{% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %} fill="none" stroke="currentcolor" stroke-width="2"{% if include.class %} class="{{ include.class }}"{% endif %} viewBox="0 0 32 32" stroke-linecap="round" stroke-linejoin="round"><title>Download icon</title><path d="M9 22c-9 1-8-10 0-9C6 2 23 2 22 10c10-3 10 13 1 12m-12 4l5 4 5-4m-5-10v14"/></svg>
|
|
Before Width: | Height: | Size: 482 B |
@ -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 +0,0 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" focusable="false"{% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %} fill="none" stroke="currentcolor" stroke-width="2"{% if include.class %} class="{{ include.class }}"{% endif %} viewBox="0 0 32 32" stroke-linecap="round" stroke-linejoin="round"><title>Import icon</title><path d="M28 22v8H4v-8M16 4v20m-8-8l8 8 8-8"/></svg>
|
|
Before Width: | Height: | Size: 441 B |
@ -1 +0,0 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" focusable="false"{% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %} fill="none" stroke="currentcolor" stroke-width="2"{% if include.class %} class="{{ include.class }}"{% endif %} viewBox="0 0 32 32" stroke-linecap="round" stroke-linejoin="round"><title>Lightning icon</title><path d="M18 13l8-11L8 13l6 6-8 11 18-11z"/></svg>
|
|
Before Width: | Height: | Size: 442 B |
@ -1 +0,0 @@
|
|||||||
<svg{% if include.class %} class="{{ include.class }}"{% endif %} xmlns="http://www.w3.org/2000/svg" viewbox="0 0 30 30"{% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %} focusable="false"><title>Menu</title><path stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-miterlimit="10" d="M4 7h22M4 15h22M4 23h22"/></svg>
|
|
Before Width: | Height: | Size: 410 B |
@ -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 +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 |
@ -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 -%}
|
|
@ -1,18 +0,0 @@
|
|||||||
<!-- Twitter -->
|
|
||||||
<meta name="twitter:card" content="{% if page.title %}summary{% else %}summary_large_image{% endif %}">
|
|
||||||
<meta name="twitter:site" content="@{{ site.twitter }}">
|
|
||||||
<meta name="twitter:creator" content="@{{ site.twitter }}">
|
|
||||||
<meta name="twitter:title" content="{{ page.title | default: site.title | smartify }}">
|
|
||||||
<meta name="twitter:description" content="{{ page.description | default: site.description | smartify }}">
|
|
||||||
<meta name="twitter:image" content="{% if page.title %}{{ site.url | append: site.social_logo_path }}{% else %}{{ site.url | append: site.social_image_path }}{% endif %}">
|
|
||||||
|
|
||||||
<!-- Facebook -->
|
|
||||||
<meta property="og:url" content="{{ site.url | append: page.url }}">
|
|
||||||
<meta property="og:title" content="{{ page.title | default: site.title | smartify }}">
|
|
||||||
<meta property="og:description" content="{{ page.description | default: site.description | smartify }}">
|
|
||||||
<meta property="og:type" content="website">
|
|
||||||
<meta property="og:image" content="{{ site.url | replace: 'https://', 'http://' | append: site.social_image_path }}">
|
|
||||||
<meta property="og:image:secure_url" content="{{ site.url | append: site.social_image_path }}">
|
|
||||||
<meta property="og:image:type" content="image/png">
|
|
||||||
<meta property="og:image:width" content="1200">
|
|
||||||
<meta property="og:image:height" content="630">
|
|
@ -1,26 +0,0 @@
|
|||||||
<!doctype html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
{% include header.html %}
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<a id="skippy" class="sr-only sr-only-focusable" href="#content">
|
|
||||||
<div class="container">
|
|
||||||
<span class="skiplink-text">Skip to main content</span>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
{% include docs-navbar.html %}
|
|
||||||
|
|
||||||
{% if page.layout == "simple" %}
|
|
||||||
{{ content }}
|
|
||||||
{% else %}
|
|
||||||
<main id="content" role="main">
|
|
||||||
{{ content }}
|
|
||||||
</main>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% include footer.html %}
|
|
||||||
{% include scripts.html %}
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,38 +0,0 @@
|
|||||||
<!doctype html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
{% include header.html %}
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<a id="skippy" class="sr-only sr-only-focusable" href="#content">
|
|
||||||
<div class="container">
|
|
||||||
<span class="skiplink-text">Skip to main content</span>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
{% include docs-navbar.html %}
|
|
||||||
|
|
||||||
<div class="container-fluid">
|
|
||||||
<div class="row flex-xl-nowrap">
|
|
||||||
<div class="col-12 col-md-3 col-xl-2 bd-sidebar">
|
|
||||||
{% include docs-sidebar.html %}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{% if page.toc %}
|
|
||||||
<div class="d-none d-xl-block col-xl-2 bd-toc">
|
|
||||||
{{ content | toc_only }}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<main class="col-12 col-md-9 col-xl-8 py-md-3 pl-md-5 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>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{% include scripts.html %}
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,16 +0,0 @@
|
|||||||
---
|
|
||||||
layout: default
|
|
||||||
---
|
|
||||||
|
|
||||||
<header class="d-flex flex-column flex-md-row align-items-md-center p-5 bg-light">
|
|
||||||
<div class="pt-md-3 pb-md-4">
|
|
||||||
<h1 class="bd-title mt-0">{{ page.title | smartify }}</h1>
|
|
||||||
<p class="bd-lead">{{ page.description | smartify }}</p>
|
|
||||||
<a href="{{ site.download.source }}" class="btn btn-lg btn-bd-primary" onclick="ga('send', 'event', 'Examples', 'Hero', 'Download');">Download source code</a>
|
|
||||||
</div>
|
|
||||||
{% include ads.html %}
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<main class="bd-content p-5" role="main">
|
|
||||||
{{ content }}
|
|
||||||
</main>
|
|
@ -1,20 +0,0 @@
|
|||||||
<!doctype html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
{% include header.html %}
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<a id="skippy" class="sr-only sr-only-focusable" href="#content">
|
|
||||||
<div class="container">
|
|
||||||
<span class="skiplink-text">Skip to main content</span>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
{% include docs-navbar.html %}
|
|
||||||
|
|
||||||
{{ content }}
|
|
||||||
|
|
||||||
{% include footer.html %}
|
|
||||||
{% include scripts.html %}
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -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…</h1>
|
|
||||||
<a href="{{ page.redirect.to }}">Click here if you are not redirected</a>
|
|
||||||
<script>window.location="{{ page.redirect.to }}";</script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -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>
|
|
@ -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)
|
|
@ -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)
|
|
@ -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)
|
|
@ -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)
|
|
@ -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 |
@ -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 |
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 226 KiB |
@ -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 |
Before Width: | Height: | Size: 51 KiB |
Before Width: | Height: | Size: 79 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 1.7 KiB |
@ -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>
|
|
Before Width: | Height: | Size: 310 B |
Before Width: | Height: | Size: 491 B |
@ -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"
|
|
||||||
}
|
|
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 1.1 KiB |
@ -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 |
@ -1,26 +0,0 @@
|
|||||||
{
|
|
||||||
"env": {
|
|
||||||
"es6": false,
|
|
||||||
"jquery": true
|
|
||||||
},
|
|
||||||
"parserOptions": {
|
|
||||||
"ecmaVersion": 5,
|
|
||||||
"sourceType": "script"
|
|
||||||
},
|
|
||||||
"extends": "../../.eslintrc.json",
|
|
||||||
"rules": {
|
|
||||||
// Best Practices
|
|
||||||
"no-magic-numbers": "off",
|
|
||||||
"vars-on-top": "off",
|
|
||||||
|
|
||||||
// Stylistic Issues
|
|
||||||
"spaced-comment": "off",
|
|
||||||
|
|
||||||
// ECMAScript 6
|
|
||||||
"no-var": "off",
|
|
||||||
"object-shorthand": "off",
|
|
||||||
"prefer-arrow-callback": "off",
|
|
||||||
"prefer-template": "off",
|
|
||||||
"prefer-rest-params": "off"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,134 +0,0 @@
|
|||||||
// NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT
|
|
||||||
// IT'S ALL JUST JUNK FOR OUR DOCS!
|
|
||||||
// ++++++++++++++++++++++++++++++++++++++++++
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* JavaScript for Bootstrap's docs (https://getbootstrap.com)
|
|
||||||
* Copyright 2011-2018 The Bootstrap Authors
|
|
||||||
* Copyright 2011-2018 Twitter, Inc.
|
|
||||||
* Licensed under the Creative Commons Attribution 3.0 Unported License. For
|
|
||||||
* details, see https://creativecommons.org/licenses/by/3.0/.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* global Clipboard: false, anchors: false, Holder: false */
|
|
||||||
|
|
||||||
(function ($) {
|
|
||||||
'use strict'
|
|
||||||
|
|
||||||
$(function () {
|
|
||||||
// Tooltip and popover demos
|
|
||||||
$('.tooltip-demo').tooltip({
|
|
||||||
selector: '[data-toggle="tooltip"]',
|
|
||||||
container: 'body'
|
|
||||||
})
|
|
||||||
|
|
||||||
$('[data-toggle="popover"]').popover()
|
|
||||||
|
|
||||||
// Demos within modals
|
|
||||||
$('.tooltip-test').tooltip()
|
|
||||||
$('.popover-test').popover()
|
|
||||||
|
|
||||||
// Indeterminate checkbox example
|
|
||||||
$('.bd-example-indeterminate [type="checkbox"]').prop('indeterminate', true)
|
|
||||||
|
|
||||||
// Disable empty links in docs examples
|
|
||||||
$('.bd-content [href="#"]').click(function (e) {
|
|
||||||
e.preventDefault()
|
|
||||||
})
|
|
||||||
|
|
||||||
// Modal relatedTarget demo
|
|
||||||
$('#exampleModal').on('show.bs.modal', function (event) {
|
|
||||||
var $button = $(event.relatedTarget) // Button that triggered the modal
|
|
||||||
var recipient = $button.data('whatever') // Extract info from data-* attributes
|
|
||||||
// If necessary, you could initiate an AJAX request here (and then do the updating in a callback).
|
|
||||||
// Update the modal's content. We'll use jQuery here, but you could use a data binding library or other methods instead.
|
|
||||||
var $modal = $(this)
|
|
||||||
$modal.find('.modal-title').text('New message to ' + recipient)
|
|
||||||
$modal.find('.modal-body input').val(recipient)
|
|
||||||
})
|
|
||||||
|
|
||||||
// Activate animated progress bar
|
|
||||||
$('.bd-toggle-animated-progress').on('click', function () {
|
|
||||||
$(this).siblings('.progress').find('.progress-bar-striped').toggleClass('progress-bar-animated')
|
|
||||||
})
|
|
||||||
|
|
||||||
// Insert copy to clipboard button before .highlight
|
|
||||||
$('figure.highlight, div.highlight').each(function () {
|
|
||||||
var btnHtml = '<div class="bd-clipboard"><button class="btn-clipboard" title="Copy to clipboard">Copy</button></div>'
|
|
||||||
$(this).before(btnHtml)
|
|
||||||
$('.btn-clipboard')
|
|
||||||
.tooltip()
|
|
||||||
.on('mouseleave', function () {
|
|
||||||
// Explicitly hide tooltip, since after clicking it remains
|
|
||||||
// focused (as it's a button), so tooltip would otherwise
|
|
||||||
// remain visible until focus is moved away
|
|
||||||
$(this).tooltip('hide')
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
var clipboard = new Clipboard('.btn-clipboard', {
|
|
||||||
target: function (trigger) {
|
|
||||||
return trigger.parentNode.nextElementSibling
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
clipboard.on('success', function (e) {
|
|
||||||
$(e.trigger)
|
|
||||||
.attr('title', 'Copied!')
|
|
||||||
.tooltip('_fixTitle')
|
|
||||||
.tooltip('show')
|
|
||||||
.attr('title', 'Copy to clipboard')
|
|
||||||
.tooltip('_fixTitle')
|
|
||||||
|
|
||||||
e.clearSelection()
|
|
||||||
})
|
|
||||||
|
|
||||||
clipboard.on('error', function (e) {
|
|
||||||
var modifierKey = /Mac/i.test(navigator.userAgent) ? '\u2318' : 'Ctrl-'
|
|
||||||
var fallbackMsg = 'Press ' + modifierKey + 'C to copy'
|
|
||||||
|
|
||||||
$(e.trigger)
|
|
||||||
.attr('title', fallbackMsg)
|
|
||||||
.tooltip('_fixTitle')
|
|
||||||
.tooltip('show')
|
|
||||||
.attr('title', 'Copy to clipboard')
|
|
||||||
.tooltip('_fixTitle')
|
|
||||||
})
|
|
||||||
|
|
||||||
anchors.options = {
|
|
||||||
icon: '#'
|
|
||||||
}
|
|
||||||
anchors.add('.bd-content > h2, .bd-content > h3, .bd-content > h4, .bd-content > h5')
|
|
||||||
$('.bd-content > h2, .bd-content > h3, .bd-content > h4, .bd-content > h5').wrapInner('<div></div>')
|
|
||||||
|
|
||||||
// Search
|
|
||||||
if (window.docsearch) {
|
|
||||||
window.docsearch({
|
|
||||||
apiKey: '48cb48b22351bc71ea5f12f4d1ede198',
|
|
||||||
indexName: 'bootstrap-v4',
|
|
||||||
inputSelector: '#search-input',
|
|
||||||
handleSelected: function (input, event, suggestion) {
|
|
||||||
var url = suggestion.url
|
|
||||||
url = suggestion.isLvl1 ? url.split('#')[0] : url
|
|
||||||
// If it's a title we remove the anchor so it does not jump.
|
|
||||||
window.location.href = url
|
|
||||||
},
|
|
||||||
transformData: function (hits) {
|
|
||||||
return hits.map(function (hit) {
|
|
||||||
hit.url = hit.url.replace('https://v4-alpha.getbootstrap.com', '/docs/4.0')
|
|
||||||
return hit
|
|
||||||
})
|
|
||||||
},
|
|
||||||
debug: false // Set debug to true if you want to inspect the dropdown
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// Holder
|
|
||||||
Holder.addTheme('gray', {
|
|
||||||
bg: '#777',
|
|
||||||
fg: 'rgba(255,255,255,.75)',
|
|
||||||
font: 'Helvetica',
|
|
||||||
fontweight: 'normal'
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}(jQuery))
|
|
@ -1,47 +0,0 @@
|
|||||||
// NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT
|
|
||||||
// IT'S JUST JUNK FOR OUR DOCS!
|
|
||||||
// ++++++++++++++++++++++++++++++++++++++++++
|
|
||||||
|
|
||||||
// Intended to prevent false-positive bug reports about Bootstrap not working properly in old versions of IE due to folks testing using IE's unreliable emulation modes.
|
|
||||||
(function () {
|
|
||||||
'use strict'
|
|
||||||
|
|
||||||
function emulatedIEMajorVersion() {
|
|
||||||
var groups = /MSIE ([0-9.]+)/.exec(window.navigator.userAgent)
|
|
||||||
if (groups === null) {
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
var ieVersionNum = parseInt(groups[1], 10)
|
|
||||||
var ieMajorVersion = Math.floor(ieVersionNum)
|
|
||||||
return ieMajorVersion
|
|
||||||
}
|
|
||||||
|
|
||||||
function actualNonEmulatedIEMajorVersion() {
|
|
||||||
// Detects the actual version of IE in use, even if it's in an older-IE emulation mode.
|
|
||||||
// IE JavaScript conditional compilation docs: https://msdn.microsoft.com/library/121hztk3%28v=vs.94%29.aspx
|
|
||||||
// @cc_on docs: https://msdn.microsoft.com/library/8ka90k2e%28v=vs.94%29.aspx
|
|
||||||
var jscriptVersion = new Function('/*@cc_on return @_jscript_version; @*/')() // eslint-disable-line no-new-func
|
|
||||||
if (typeof jscriptVersion === 'undefined') {
|
|
||||||
return 11 // IE11+ not in emulation mode
|
|
||||||
}
|
|
||||||
if (jscriptVersion < 9) {
|
|
||||||
return 8 // IE8 (or lower; haven't tested on IE<8)
|
|
||||||
}
|
|
||||||
return jscriptVersion // IE9 or IE10 in any mode, or IE11 in non-IE11 mode
|
|
||||||
}
|
|
||||||
|
|
||||||
var ua = window.navigator.userAgent
|
|
||||||
if (ua.indexOf('Opera') > -1 || ua.indexOf('Presto') > -1) {
|
|
||||||
return // Opera, which might pretend to be IE
|
|
||||||
}
|
|
||||||
var emulated = emulatedIEMajorVersion()
|
|
||||||
if (emulated === null) {
|
|
||||||
return // Not IE
|
|
||||||
}
|
|
||||||
var nonEmulated = actualNonEmulatedIEMajorVersion()
|
|
||||||
|
|
||||||
if (emulated !== nonEmulated) {
|
|
||||||
// eslint-disable-next-line no-alert
|
|
||||||
window.alert('WARNING: You appear to be using IE' + nonEmulated + ' in IE' + emulated + ' emulation mode.\nIE emulation modes can behave significantly differently from ACTUAL older versions of IE.\nPLEASE DON\'T FILE BOOTSTRAP BUGS based on testing in IE emulation modes!')
|
|
||||||
}
|
|
||||||
}())
|
|
@ -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.')
|
|
||||||
}
|
|
||||||
}())
|
|
@ -1,38 +0,0 @@
|
|||||||
// stylelint-disable declaration-no-important, selector-max-id
|
|
||||||
|
|
||||||
//
|
|
||||||
// Carbon ads
|
|
||||||
//
|
|
||||||
|
|
||||||
#carbonads {
|
|
||||||
position: static;
|
|
||||||
display: block;
|
|
||||||
max-width: 400px;
|
|
||||||
padding: 15px 15px 15px 160px;
|
|
||||||
margin: 2rem 0;
|
|
||||||
overflow: hidden;
|
|
||||||
font-size: 13px;
|
|
||||||
line-height: 1.4;
|
|
||||||
text-align: left;
|
|
||||||
background-color: rgba(0, 0, 0, .05);
|
|
||||||
|
|
||||||
a {
|
|
||||||
color: #333;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
@include media-breakpoint-up(sm) {
|
|
||||||
max-width: 330px;
|
|
||||||
border-radius: 4px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.carbon-img {
|
|
||||||
float: left;
|
|
||||||
margin-left: -145px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carbon-poweredby {
|
|
||||||
display: block;
|
|
||||||
color: #777 !important;
|
|
||||||
}
|
|
@ -1,141 +0,0 @@
|
|||||||
// stylelint-disable declaration-no-important
|
|
||||||
|
|
||||||
// Docsearch overrides
|
|
||||||
//
|
|
||||||
// `!important` indicates overridden properties.
|
|
||||||
.algolia-autocomplete {
|
|
||||||
display: block !important;
|
|
||||||
flex: 1;
|
|
||||||
|
|
||||||
// Menu container
|
|
||||||
.ds-dropdown-menu {
|
|
||||||
width: 100%;
|
|
||||||
min-width: 0 !important;
|
|
||||||
max-width: none !important;
|
|
||||||
padding: .75rem 0 !important;
|
|
||||||
background-color: #fff;
|
|
||||||
background-clip: padding-box;
|
|
||||||
border: 1px solid rgba(0, 0, 0, .1);
|
|
||||||
box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .175);
|
|
||||||
|
|
||||||
@include media-breakpoint-up(md) {
|
|
||||||
width: 175%;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Caret
|
|
||||||
&::before {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
[class^="ds-dataset-"] {
|
|
||||||
padding: 0 !important;
|
|
||||||
overflow: visible !important;
|
|
||||||
background-color: transparent !important;
|
|
||||||
border: 0 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ds-suggestions {
|
|
||||||
margin-top: 0 !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.algolia-docsearch-suggestion {
|
|
||||||
padding: 0 !important;
|
|
||||||
overflow: visible !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.algolia-docsearch-suggestion--category-header {
|
|
||||||
padding: .125rem 1rem !important;
|
|
||||||
margin-top: 0 !important;
|
|
||||||
font-size: .875rem !important;
|
|
||||||
font-weight: 500 !important;
|
|
||||||
color: $bd-purple-bright !important;
|
|
||||||
border-bottom: 0 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.algolia-docsearch-suggestion--wrapper {
|
|
||||||
float: none !important;
|
|
||||||
padding-top: 0 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Section header
|
|
||||||
.algolia-docsearch-suggestion--subcategory-column {
|
|
||||||
float: none !important;
|
|
||||||
width: auto !important;
|
|
||||||
padding: 0 !important;
|
|
||||||
text-align: left !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.algolia-docsearch-suggestion--content {
|
|
||||||
float: none !important;
|
|
||||||
width: auto !important;
|
|
||||||
padding: 0 !important;
|
|
||||||
|
|
||||||
// Vertical divider between column header and content
|
|
||||||
&::before {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.ds-suggestion {
|
|
||||||
&:not(:first-child) {
|
|
||||||
.algolia-docsearch-suggestion--category-header {
|
|
||||||
padding-top: .75rem !important;
|
|
||||||
margin-top: .75rem !important;
|
|
||||||
border-top: 1px solid rgba(0, 0, 0, .1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.algolia-docsearch-suggestion--subcategory-column {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.algolia-docsearch-suggestion--title {
|
|
||||||
display: block;
|
|
||||||
padding: .25rem 1rem !important;
|
|
||||||
margin-bottom: 0 !important;
|
|
||||||
font-size: .875rem !important;
|
|
||||||
font-weight: 400 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.algolia-docsearch-suggestion--text {
|
|
||||||
padding: 0 1rem .5rem !important;
|
|
||||||
margin-top: -.25rem;
|
|
||||||
font-size: .875rem !important;
|
|
||||||
font-weight: 400;
|
|
||||||
line-height: 1.25 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.algolia-docsearch-footer {
|
|
||||||
float: none !important;
|
|
||||||
width: auto !important;
|
|
||||||
height: auto !important;
|
|
||||||
padding: .75rem 1rem 0;
|
|
||||||
font-size: .75rem !important;
|
|
||||||
line-height: 1 !important;
|
|
||||||
color: #767676 !important;
|
|
||||||
border-top: 1px solid rgba(0, 0, 0, .1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.algolia-docsearch-footer--logo {
|
|
||||||
display: inline !important;
|
|
||||||
overflow: visible !important;
|
|
||||||
color: inherit !important;
|
|
||||||
text-indent: 0 !important;
|
|
||||||
background: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.algolia-docsearch-suggestion--highlight {
|
|
||||||
color: #5f2dab;
|
|
||||||
background-color: rgba(154, 132, 187, .12);
|
|
||||||
}
|
|
||||||
|
|
||||||
.algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight {
|
|
||||||
box-shadow: inset 0 -2px 0 0 rgba(95, 45, 171, .5) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ds-suggestion.ds-cursor .algolia-docsearch-suggestion--content {
|
|
||||||
background-color: rgba(208, 189, 236, .15) !important;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,10 +0,0 @@
|
|||||||
.anchorjs-link {
|
|
||||||
font-weight: 400;
|
|
||||||
color: rgba($link-color, .5);
|
|
||||||
transition: color .16s linear;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
color: $link-color;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
}
|
|
@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,12 +0,0 @@
|
|||||||
// Wall of Browser Bugs
|
|
||||||
//
|
|
||||||
// Better display for the responsive table on the Wall of Browser Bugs.
|
|
||||||
|
|
||||||
.bd-browser-bugs {
|
|
||||||
td p {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
th:first-child {
|
|
||||||
width: 18%;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,29 +0,0 @@
|
|||||||
// Buttons
|
|
||||||
//
|
|
||||||
// Custom buttons for the docs.
|
|
||||||
|
|
||||||
.btn-bd-primary {
|
|
||||||
font-weight: 500;
|
|
||||||
color: $bd-purple-bright;
|
|
||||||
border-color: $bd-purple-bright;
|
|
||||||
|
|
||||||
&:hover,
|
|
||||||
&:active {
|
|
||||||
color: #fff;
|
|
||||||
background-color: $bd-purple-bright;
|
|
||||||
border-color: $bd-purple-bright;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-bd-download {
|
|
||||||
font-weight: 500;
|
|
||||||
color: $bd-download;
|
|
||||||
border-color: $bd-download;
|
|
||||||
|
|
||||||
&:hover,
|
|
||||||
&:active {
|
|
||||||
color: $bd-dark;
|
|
||||||
background-color: $bd-download;
|
|
||||||
border-color: $bd-download;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,40 +0,0 @@
|
|||||||
//
|
|
||||||
// Callouts
|
|
||||||
//
|
|
||||||
|
|
||||||
.bd-callout {
|
|
||||||
padding: 1.25rem;
|
|
||||||
margin-top: 1.25rem;
|
|
||||||
margin-bottom: 1.25rem;
|
|
||||||
border: 1px solid #eee;
|
|
||||||
border-left-width: .25rem;
|
|
||||||
border-radius: .25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bd-callout h4 {
|
|
||||||
margin-top: 0;
|
|
||||||
margin-bottom: .25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bd-callout p:last-child {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bd-callout code {
|
|
||||||
border-radius: .25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bd-callout + .bd-callout {
|
|
||||||
margin-top: -.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Variations
|
|
||||||
@mixin bs-callout-variant($color) {
|
|
||||||
border-left-color: $color;
|
|
||||||
|
|
||||||
h4 { color: $color; }
|
|
||||||
}
|
|
||||||
|
|
||||||
.bd-callout-info { @include bs-callout-variant($bd-info); }
|
|
||||||
.bd-callout-warning { @include bs-callout-variant($bd-warning); }
|
|
||||||
.bd-callout-danger { @include bs-callout-variant($bd-danger); }
|
|