diff --git a/.eslintignore b/.eslintignore
new file mode 100644
index 0000000..6122eb4
--- /dev/null
+++ b/.eslintignore
@@ -0,0 +1,5 @@
+node_modules
+dist
+example/src/js/prism.min.js
+example/build
+coverage
\ No newline at end of file
diff --git a/.eslintrc b/.eslintrc
new file mode 100644
index 0000000..c01d8a3
--- /dev/null
+++ b/.eslintrc
@@ -0,0 +1,12 @@
+{
+ "extends": "airbnb",
+ "import/no-extraneous-dependencies": ["warn", {
+ "devDependencies": true,
+ "optionalDependencies": true,
+ "peerDependencies": true
+ }],
+ "env": {
+ "node": true,
+ "browser": true
+ }
+}
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 16a2410..ae9a173 100755
--- a/.gitignore
+++ b/.gitignore
@@ -151,3 +151,6 @@ node_modules
scss-report.json
docs/
.jshint*
+example/build
+example/*.html
+dist/main.scss
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
index e1319b1..6eb46d9 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,6 +1,7 @@
language: node_js
sudo: true
node_js: 4
+script: npm run lint
deploy:
provider: script
script:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 368a5f0..b78149f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,16 @@
CHANGELOG
=========
+## Version 0.4.0
+
+:new: The `0.4.0` removes the static assets transforming this into a sass only library. We will be releasing icons, images and javascript as part of the (soon to be release) React component library.
+
+_2016-09-06_
+
+ * New: source maps for sass files.
+ * Fix: remove icons, svgs and JS files
+
+
## Version 0.3.1
_2016-08-30_
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index b175089..ff0e531 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,4 +1,16 @@
-# Contributing Guidelines
+# Issues
+
+If you encounter an issue with this sample app, you are welcome to submit a bug report. Before that, please search for similar issues. It's possible somebody has encountered this issue already.
+
+# Pull Requests
+
+If you want to contribute to the repository, here's a quick guide:
+
+1. Fork the repo
+1. Develop your code changes
+1. Ensure `eslint` is happy: `npm run lint`
+1. Commit your changes
+1. Push to your fork and submit a pull request
## Publishing a Github Page
diff --git a/README.md b/README.md
index 9e1dbf1..f0664ef 100755
--- a/README.md
+++ b/README.md
@@ -41,23 +41,14 @@ The path of the icon-fonts must be relative to the path of the compiled css file
You will also need to make sure to load the paths of your `node_modules` directory into your Sass configurations, so that the library can reference its npm dependencies properly.
-The javascript of this library relies on `JQuery 2.*.*` and above. Make sure it is
-included before this library.
-
## Directory Structure
```none
.
-│
-└── dist
- ├── _watson-developer-cloud-ui-components.scss // Compiled Sass
- ├── icons
- │ ├── link.svg
- │ └── reset.svg
- ├── watson-developer-cloud-ui-components.css // Compiled css
- ├── watson-developer-cloud-ui-components.js
- ├── watson-developer-cloud-ui-components.min.css
- └── watson-developer-cloud-ui-components.min.js
+└─ dist
+ ├── _watson-developer-cloud-ui-components.scss // Compiled Sass
+ ├── watson-developer-cloud-ui-components.css // Compiled css
+ └── watson-developer-cloud-ui-components.min.css
```
## Credits
diff --git a/RELEASES.md b/RELEASES.md
index 4ded1b6..2c9f29b 100644
--- a/RELEASES.md
+++ b/RELEASES.md
@@ -12,8 +12,8 @@ pip install bumpversion
### 2. Doing a release
- [ ] Commit all the local changes
-- [ ] Run `npm run dist`
-- [ ] Commit the changes in `dist`
+- [ ] Run `npm run compile`
+- [ ] Commit the changes
- [ ] Use `bumpversion` to update the version and commit the changes
```sh
diff --git a/config.js b/config.js
deleted file mode 100755
index 50cbe52..0000000
--- a/config.js
+++ /dev/null
@@ -1,32 +0,0 @@
-'use strict';
-
-var pkg = require('./package.json');
-var src = './src';
-var docs = './docs';
-var dist = './dist';
-
-module.exports = {
- projectName: pkg.name,
- paths: {
- src: {
- root: src,
- styles: src + '/scss',
- scripts: src + '/js',
- views: src + '/views',
- dist: src + '/dist',
- icons: src + '/icons'
- },
- docs: {
- root: docs,
- styles: docs + '/css',
- scripts: docs + '/js',
- iconFonts: docs + '/fonts/icon-fonts',
- icons: docs + '/images/icons'
- },
- dist: {
- root: dist,
- stylesheets: dist + '/stylesheets',
- scripts: dist + '/js'
- }
- }
-};
diff --git a/dist/icons/link.svg b/dist/icons/link.svg
deleted file mode 100644
index 39affed..0000000
--- a/dist/icons/link.svg
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
diff --git a/dist/icons/reset.svg b/dist/icons/reset.svg
deleted file mode 100644
index a167782..0000000
--- a/dist/icons/reset.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
diff --git a/dist/js/components/tab-panels.js b/dist/js/components/tab-panels.js
deleted file mode 100644
index 7df6541..0000000
--- a/dist/js/components/tab-panels.js
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
-Tabbed Panels js
-*/
-(function() {
- $('.tab-panels--tab').click(function(e) {
- e.preventDefault();
- var self = $(this);
- var inputGroup = self.closest('.tab-panels');
- var idName = null;
-
- inputGroup.find('.active').removeClass('active');
- self.addClass('active');
- idName = self.attr('href');
- $(idName).addClass('active');
- });
-})();
diff --git a/dist/js/script.js b/dist/js/script.js
deleted file mode 100644
index b1c40e7..0000000
--- a/dist/js/script.js
+++ /dev/null
@@ -1 +0,0 @@
-// main lib js file
diff --git a/dist/js/vendors/browser-detect.js b/dist/js/vendors/browser-detect.js
deleted file mode 100644
index 7aabab0..0000000
--- a/dist/js/vendors/browser-detect.js
+++ /dev/null
@@ -1,97 +0,0 @@
-/**
- * Copyright 2015 IBM Corp. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-
-/*
-Browser-detect.js by James Zhang.
-This is a very basic browser sniffer.
-*/
-
-(function() {
-
- var userAgent = window.navigator.userAgent;
- // Browser User Agent Strings
- var ie = 'MSIE';
- var ie9 = 'MSIE 9.0';
- var ie10 = 'MSIE 10.0';
- var chrome = 'Chrome';
- var firefox = 'Firefox/';
- var safari = 'Safari';
- // OS User Agent Strings
- var windows = 'Windows';
- var mac = 'Macintosh';
- var linux = 'Linux';
-
- // class names
- var ie_class = 'ie';
- var ie9_class = 'ie9';
- var ie10_class = 'ie10';
- var ie11_class = 'ie11';
- var chrome_class = 'chrome';
- var firefox_class = 'firefox';
- var safari_class = 'safari';
- var windows_class = 'windows';
- var mac_class = 'mac';
- var linux_class = 'linux';
-
- // All matching classes will be appended to classes
- var classes = '';
-
- // using UserAgent, checking to see which match
- if (userAgent.indexOf(ie) > -1) {
- classes += ie_class + ' ';
- }
- if (userAgent.indexOf(ie9) > -1) {
- classes += ie9_class + ' ';
- }
- if (userAgent.indexOf(ie10) > -1) {
- classes += ie10_class + ' ';
- }
- if (!!navigator.userAgent.match(/Trident.*rv\:11\./)) {
- classes += ie_class + ' ' + ie11_class + ' ';
- }
- if (userAgent.indexOf(safari) > -1 && userAgent.indexOf(chrome) == -1) {
- classes += safari_class + ' ';
- }
- if (userAgent.indexOf(chrome) > -1) {
- classes += chrome_class + ' ';
- }
- if (userAgent.indexOf(firefox) > -1) {
- classes += firefox_class + ' ';
- }
- if (userAgent.indexOf(windows) > -1) {
- classes += windows_class + ' ';
- }
- if (userAgent.indexOf(mac) > -1) {
- classes += mac_class + ' ';
- }
- if (userAgent.indexOf(linux) > -1) {
- classes += linux_class + ' ';
- }
-
- // trimming off additional space
- classes = classes.slice(0,-1);
-
- document.addEventListener('DOMContentLoaded', function() {
- // adding class names to body tag
- document.body.className += classes;
- });
-
- // exposing browser information globally
- window.browserInfo = classes;
-
- return classes;
-
-})();
diff --git a/dist/lib/components/icon/_icon-fonts.scss b/dist/lib/components/icon/_icon-fonts.scss
deleted file mode 100755
index 78d553f..0000000
--- a/dist/lib/components/icon/_icon-fonts.scss
+++ /dev/null
@@ -1,30 +0,0 @@
-@font-face {
- font-family: "icons";
- src: url('../fonts/icon-fonts/icons.eot');
- src: url('../fonts/icon-fonts/icons.eot?#iefix') format('eot'),
- url('../fonts/icon-fonts/icons.woff2') format('woff2'),
- url('../fonts/icon-fonts/icons.woff') format('woff'),
- url('../fonts/icon-fonts/icons.ttf') format('truetype'),
- url('../fonts/icon-fonts/icons.svg#icons') format('svg');
-}
-
-.icon:before {
- font-family: "icons";
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
- font-style: normal;
- font-variant: normal;
- font-weight: normal;
- /* speak: none; only necessary if not using the private unicode range (firstGlyph option) */
- text-decoration: none;
- text-transform: none;
-}
-
-
-.icon-link:before {
- content: "\E001";
-}
-
-.icon-reset:before {
- content: "\E002";
-}
diff --git a/dist/lib/components/icon/_icon.scss b/dist/lib/components/icon/_icon.scss
index de6fc96..92db68d 100755
--- a/dist/lib/components/icon/_icon.scss
+++ b/dist/lib/components/icon/_icon.scss
@@ -1,4 +1,22 @@
-@import 'icon-fonts';
+.icon:before {
+ font-family: "icons";
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ font-style: normal;
+ font-variant: normal;
+ font-weight: normal;
+ /* speak: none; only necessary if not using the private unicode range (firstGlyph option) */
+ text-decoration: none;
+ text-transform: none;
+}
+
+.icon-link:before {
+ content: "\E001";
+}
+
+.icon-reset:before {
+ content: "\E002";
+}
.icon {
vertical-align: middle;
diff --git a/dist/watson-developer-cloud-ui-components.css b/dist/watson-developer-cloud-ui-components.css
index 6b643e0..6382fc1 100644
--- a/dist/watson-developer-cloud-ui-components.css
+++ b/dist/watson-developer-cloud-ui-components.css
@@ -320,7 +320,6 @@ body {
border-bottom: 2px solid #121212;
font-weight: 400;
text-decoration: none;
- -webkit-transition: 0.2s;
transition: 0.2s; }
.base--a:visited {
color: #121212;
@@ -355,8 +354,8 @@ body {
.base--pre, .base--pre code, .base--pre .base--code {
display: block;
-webkit-hyphens: none;
- -ms-hyphens: none;
- hyphens: none;
+ -ms-hyphens: none;
+ hyphens: none;
word-spacing: normal;
text-align: left;
word-break: normal;
@@ -364,8 +363,7 @@ body {
word-wrap: normal;
direction: ltr;
-moz-tab-size: 2;
- -o-tab-size: 2;
- tab-size: 2;
+ tab-size: 2;
overflow-y: overlay; }
.base--pre {
@@ -453,10 +451,8 @@ body {
border: 2px solid #aeaeae;
border-radius: 50%;
content: '';
- -webkit-transform: translateY(-0.125em);
- transform: translateY(-0.125em); }
+ transform: translateY(-0.125em); }
.base--radio:checked + label::before {
- background: -webkit-radial-gradient(#323232 40%, transparent 40%);
background: radial-gradient(#323232 40%, transparent 40%); }
.base--color-input {
@@ -496,8 +492,7 @@ input[type="week"]::-webkit-inner-spin-button {
background: #fff;
border-radius: 1.5em;
box-shadow: inset 0 0 0 0.1875em #464646;
- -webkit-transition-duration: .5s;
- transition-duration: .5s; }
+ transition-duration: .5s; }
.base--range-input:active::-webkit-slider-thumb {
box-shadow: inset 0 0 0 1.25em #464646;
width: 1.875em;
@@ -540,8 +535,7 @@ input[type="week"]::-webkit-inner-spin-button {
vertical-align: middle;
border: 2px solid #aeaeae;
content: '';
- -webkit-transform: translateY(-0.125em);
- transform: translateY(-0.125em); }
+ transform: translateY(-0.125em); }
.base--checkbox:checked + label::before {
background: #323232;
box-shadow: inset 0 0 0 1.33333px #fff; }
@@ -571,7 +565,6 @@ input[type="week"]::-webkit-inner-spin-button {
background-color: transparent;
border: 2px solid #9855d4;
border-radius: 10rem;
- -webkit-transition: 0.2s;
transition: 0.2s;
display: inline-block; }
.base--button:hover, .base--button:focus {
@@ -579,10 +572,8 @@ input[type="week"]::-webkit-inner-spin-button {
border-color: #bd92e3;
color: #bd92e3; }
.base--button:active {
- -webkit-transition: 0s;
transition: 0s;
- -webkit-transform: translateY(2px);
- transform: translateY(2px); }
+ transform: translateY(2px); }
.base--button_submit {
padding: 0.25em 2em;
@@ -591,7 +582,6 @@ input[type="week"]::-webkit-inner-spin-button {
background-color: transparent;
border: 2px solid #9855d4;
border-radius: 10rem;
- -webkit-transition: 0.2s;
transition: 0.2s;
display: inline-block; }
.base--button_submit:hover, .base--button_submit:focus {
@@ -599,10 +589,8 @@ input[type="week"]::-webkit-inner-spin-button {
border-color: #bd92e3;
color: #bd92e3; }
.base--button_submit:active {
- -webkit-transition: 0s;
transition: 0s;
- -webkit-transform: translateY(2px);
- transform: translateY(2px); }
+ transform: translateY(2px); }
.base--button_reset {
padding: 0.25em 2em;
@@ -611,7 +599,6 @@ input[type="week"]::-webkit-inner-spin-button {
background-color: transparent;
border: 2px solid #9855d4;
border-radius: 10rem;
- -webkit-transition: 0.2s;
transition: 0.2s;
display: inline-block; }
.base--button_reset:hover, .base--button_reset:focus {
@@ -619,10 +606,8 @@ input[type="week"]::-webkit-inner-spin-button {
border-color: #bd92e3;
color: #bd92e3; }
.base--button_reset:active {
- -webkit-transition: 0s;
transition: 0s;
- -webkit-transform: translateY(2px);
- transform: translateY(2px); }
+ transform: translateY(2px); }
.base--button_black {
padding: 0.25em 2em;
@@ -631,7 +616,6 @@ input[type="week"]::-webkit-inner-spin-button {
background-color: transparent;
border: 2px solid #121212;
border-radius: 10rem;
- -webkit-transition: 0.2s;
transition: 0.2s;
display: inline-block; }
.base--button_black:hover, .base--button_black:focus {
@@ -639,10 +623,8 @@ input[type="week"]::-webkit-inner-spin-button {
border-color: #383838;
color: #383838; }
.base--button_black:active {
- -webkit-transition: 0s;
transition: 0s;
- -webkit-transform: translateY(2px);
- transform: translateY(2px); }
+ transform: translateY(2px); }
.base--button_teal {
padding: 0.25em 2em;
@@ -651,7 +633,6 @@ input[type="week"]::-webkit-inner-spin-button {
background-color: transparent;
border: 2px solid #008571;
border-radius: 10rem;
- -webkit-transition: 0.2s;
transition: 0.2s;
display: inline-block; }
.base--button_teal:hover, .base--button_teal:focus {
@@ -659,10 +640,8 @@ input[type="week"]::-webkit-inner-spin-button {
border-color: #00d2b2;
color: #00d2b2; }
.base--button_teal:active {
- -webkit-transition: 0s;
transition: 0s;
- -webkit-transform: translateY(2px);
- transform: translateY(2px); }
+ transform: translateY(2px); }
.base--button_icon-hyperlink {
background-color: transparent;
@@ -677,10 +656,8 @@ input[type="week"]::-webkit-inner-spin-button {
border-color: transparent;
color: #121212; }
.base--button_icon-hyperlink:active {
- -webkit-transition: 0s;
transition: 0s;
- -webkit-transform: none;
- transform: none; }
+ transform: none; }
.base--button_icon-hyperlink--icon {
margin-right: 0.2em; }
.base--button_icon-hyperlink--icon.icon-reset {
@@ -690,7 +667,6 @@ input[type="week"]::-webkit-inner-spin-button {
border-bottom: 2px solid #121212;
font-weight: 400;
text-decoration: none;
- -webkit-transition: 0.2s;
transition: 0.2s;
padding-bottom: 0.1em; }
.base--button_icon-hyperlink--link:visited {
@@ -734,11 +710,6 @@ input[type="week"]::-webkit-inner-spin-button {
margin-top: 3rem;
margin-bottom: 3rem; }
-@font-face {
- font-family: "icons";
- src: url("../fonts/icon-fonts/icons.eot");
- src: url("../fonts/icon-fonts/icons.eot?#iefix") format("eot"), url("../fonts/icon-fonts/icons.woff2") format("woff2"), url("../fonts/icon-fonts/icons.woff") format("woff"), url("../fonts/icon-fonts/icons.ttf") format("truetype"), url("../fonts/icon-fonts/icons.svg#icons") format("svg"); }
-
.icon:before {
font-family: "icons";
-webkit-font-smoothing: antialiased;
@@ -819,7 +790,6 @@ input[type="week"]::-webkit-inner-spin-button {
background-color: #734098;
border: 2px solid #734098;
border-radius: 10rem;
- -webkit-transition: 0.2s;
transition: 0.2s;
display: inline-block;
color: #fff;
@@ -831,19 +801,15 @@ input[type="week"]::-webkit-inner-spin-button {
border-color: #9966bf;
color: #bd92e3; }
.metatag:active {
- -webkit-transition: 0s;
transition: 0s;
- -webkit-transform: translateY(2px);
- transform: translateY(2px); }
+ transform: translateY(2px); }
.metatag:hover, .metatag:focus {
background-color: #734098;
border-color: #734098;
color: #fff; }
.metatag:active {
- -webkit-transition: 0s;
transition: 0s;
- -webkit-transform: translateY(0px);
- transform: translateY(0px); }
+ transform: translateY(0px); }
.loader-container {
display: inline-block;
@@ -856,14 +822,10 @@ input[type="week"]::-webkit-inner-spin-button {
.loader {
height: 100%;
width: 100%;
- -webkit-transform: translateZ(0) rotate(300deg);
- transform: translateZ(0) rotate(300deg);
- -webkit-transform-origin: 25px 25px;
- transform-origin: 25px 25px;
- -webkit-transform-origin: center center;
- transform-origin: center center;
- -webkit-animation: b 4s ease-out infinite;
- animation: b 4s ease-out infinite; }
+ transform: translateZ(0) rotate(300deg);
+ transform-origin: 25px 25px;
+ transform-origin: center center;
+ animation: b 4s ease-out infinite; }
.loader--path {
stroke-dasharray: 125px;
stroke-dashoffset: 9.7px;
@@ -874,19 +836,9 @@ input[type="week"]::-webkit-inner-spin-button {
stroke: #9855d4;
stroke-width: 4.65116px;
stroke-linecap: butt;
- -webkit-transition: stroke-dashoffset 1s cubic-bezier(0.5, 0.08, 0, 1);
transition: stroke-dashoffset 1s cubic-bezier(0.5, 0.08, 0, 1);
- -webkit-animation: a 4s ease-out infinite;
animation: a 4s ease-out infinite; }
-@-webkit-keyframes a {
- 0% {
- stroke-dashoffset: 9.7px; }
- 60% {
- stroke-dashoffset: 113.52px; }
- to {
- stroke-dashoffset: 9.7px; } }
-
@keyframes a {
0% {
stroke-dashoffset: 9.7px; }
@@ -895,26 +847,12 @@ input[type="week"]::-webkit-inner-spin-button {
to {
stroke-dashoffset: 9.7px; } }
-@-webkit-keyframes b {
- 0% {
- -webkit-transform: rotate(300deg);
- transform: rotate(300deg); }
- 60% {
- -webkit-transform: rotate(1320deg);
- transform: rotate(1320deg); }
- to {
- -webkit-transform: rotate(2100deg);
- transform: rotate(2100deg); } }
-
@keyframes b {
0% {
- -webkit-transform: rotate(300deg);
transform: rotate(300deg); }
60% {
- -webkit-transform: rotate(1320deg);
transform: rotate(1320deg); }
to {
- -webkit-transform: rotate(2100deg);
transform: rotate(2100deg); } }
._container {
diff --git a/dist/watson-developer-cloud-ui-components.js b/dist/watson-developer-cloud-ui-components.js
deleted file mode 100644
index 4016299..0000000
--- a/dist/watson-developer-cloud-ui-components.js
+++ /dev/null
@@ -1,128 +0,0 @@
-/**
- * Copyright 2015 IBM Corp. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-
-/*
-Browser-detect.js by James Zhang.
-This is a very basic browser sniffer.
-*/
-
-(function() {
-
- var userAgent = window.navigator.userAgent;
- // Browser User Agent Strings
- var ie = 'MSIE';
- var ie9 = 'MSIE 9.0';
- var ie10 = 'MSIE 10.0';
- var chrome = 'Chrome';
- var firefox = 'Firefox/';
- var safari = 'Safari';
- // OS User Agent Strings
- var windows = 'Windows';
- var mac = 'Macintosh';
- var linux = 'Linux';
-
- // class names
- var ie_class = 'ie';
- var ie9_class = 'ie9';
- var ie10_class = 'ie10';
- var ie11_class = 'ie11';
- var chrome_class = 'chrome';
- var firefox_class = 'firefox';
- var safari_class = 'safari';
- var windows_class = 'windows';
- var mac_class = 'mac';
- var linux_class = 'linux';
-
- // All matching classes will be appended to classes
- var classes = '';
-
- // using UserAgent, checking to see which match
- if (userAgent.indexOf(ie) > -1) {
- classes += ie_class + ' ';
- }
- if (userAgent.indexOf(ie9) > -1) {
- classes += ie9_class + ' ';
- }
- if (userAgent.indexOf(ie10) > -1) {
- classes += ie10_class + ' ';
- }
- if (!!navigator.userAgent.match(/Trident.*rv\:11\./)) {
- classes += ie_class + ' ' + ie11_class + ' ';
- }
- if (userAgent.indexOf(safari) > -1 && userAgent.indexOf(chrome) == -1) {
- classes += safari_class + ' ';
- }
- if (userAgent.indexOf(chrome) > -1) {
- classes += chrome_class + ' ';
- }
- if (userAgent.indexOf(firefox) > -1) {
- classes += firefox_class + ' ';
- }
- if (userAgent.indexOf(windows) > -1) {
- classes += windows_class + ' ';
- }
- if (userAgent.indexOf(mac) > -1) {
- classes += mac_class + ' ';
- }
- if (userAgent.indexOf(linux) > -1) {
- classes += linux_class + ' ';
- }
-
- // trimming off additional space
- classes = classes.slice(0,-1);
-
- document.addEventListener('DOMContentLoaded', function() {
- // adding class names to body tag
- document.body.className += classes;
- });
-
- // exposing browser information globally
- window.browserInfo = classes;
-
- return classes;
-
-})();
-
-/* http://prismjs.com/download.html?themes=prism&languages=markup+css+clike+javascript+bash+json+python+sass+scss */
-var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(){var e=/\blang(?:uage)?-(\w+)\b/i,t=0,n=_self.Prism={util:{encode:function(e){return e instanceof a?new a(e.type,n.util.encode(e.content),e.alias):"Array"===n.util.type(e)?e.map(n.util.encode):e.replace(/&/g,"&").replace(/e.length)break e;if(!(v instanceof a)){u.lastIndex=0;var b=u.exec(v),k=1;if(!b&&h&&m!=r.length-1){if(u.lastIndex=y,b=u.exec(e),!b)break;for(var w=b.index+(g?b[1].length:0),_=b.index+b[0].length,A=m,S=y,P=r.length;P>A&&_>S;++A)S+=(r[A].matchedStr||r[A]).length,w>=S&&(++m,y=S);if(r[m]instanceof a||r[A-1].greedy)continue;k=A-m,v=e.slice(y,S),b.index-=y}if(b){g&&(f=b[1].length);var w=b.index+f,b=b[0].slice(f),_=w+b.length,x=v.slice(0,w),O=v.slice(_),j=[m,k];x&&j.push(x);var N=new a(l,c?n.tokenize(b,c):b,d,b,h);j.push(N),O&&j.push(O),Array.prototype.splice.apply(r,j)}}}}}return r},hooks:{all:{},add:function(e,t){var a=n.hooks.all;a[e]=a[e]||[],a[e].push(t)},run:function(e,t){var a=n.hooks.all[e];if(a&&a.length)for(var r,i=0;r=a[i++];)r(t)}}},a=n.Token=function(e,t,n,a,r){this.type=e,this.content=t,this.alias=n,this.matchedStr=a||null,this.greedy=!!r};if(a.stringify=function(e,t,r){if("string"==typeof e)return e;if("Array"===n.util.type(e))return e.map(function(n){return a.stringify(n,t,e)}).join("");var i={type:e.type,content:a.stringify(e.content,t,r),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:r};if("comment"==i.type&&(i.attributes.spellcheck="true"),e.alias){var l="Array"===n.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(i.classes,l)}n.hooks.run("wrap",i);var o="";for(var s in i.attributes)o+=(o?" ":"")+s+'="'+(i.attributes[s]||"")+'"';return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+(o?" "+o:"")+">"+i.content+""+i.tag+">"},!_self.document)return _self.addEventListener?(_self.addEventListener("message",function(e){var t=JSON.parse(e.data),a=t.language,r=t.code,i=t.immediateClose;_self.postMessage(n.highlight(r,n.languages[a],a)),i&&_self.close()},!1),_self.Prism):_self.Prism;var r=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return r&&(n.filename=r.src,document.addEventListener&&!r.hasAttribute("data-manual")&&("loading"!==document.readyState?window.requestAnimationFrame?window.requestAnimationFrame(n.highlightAll):window.setTimeout(n.highlightAll,16):document.addEventListener("DOMContentLoaded",n.highlightAll))),_self.Prism}();"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism);
-Prism.languages.markup={comment://,prolog:/<\?[\w\W]+?\?>/,doctype://,cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=(?:('|")[\w\W]*?(\1)|[^\s>]+)/i,inside:{punctuation:/[=>"']/}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/?[\da-z]{1,8};/i},Prism.hooks.add("wrap",function(a){"entity"===a.type&&(a.attributes.title=a.content.replace(/&/,"&"))}),Prism.languages.xml=Prism.languages.markup,Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup;
-Prism.languages.css={comment:/\/\*[\w\W]*?\*\//,atrule:{pattern:/@[\w-]+?.*?(;|(?=\s*\{))/i,inside:{rule:/@[\w-]+/}},url:/url\((?:(["'])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,selector:/[^\{\}\s][^\{\};]*?(?=\s*\{)/,string:/("|')(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1/,property:/(\b|\B)[\w-]+(?=\s*:)/i,important:/\B!important\b/i,"function":/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:]/},Prism.languages.css.atrule.inside.rest=Prism.util.clone(Prism.languages.css),Prism.languages.markup&&(Prism.languages.insertBefore("markup","tag",{style:{pattern:/(