Converting to Webpack. Stage 1.

Этот коммит содержится в:
Christopher Speller
2016-03-14 08:50:46 -04:00
родитель 29fe6a3d13
Коммит 12896bd23e
4950 изменённых файлов: 10935 добавлений и 1604875 удалений

4
.gitignore поставляемый
Просмотреть файл

@@ -2,12 +2,14 @@
logs
.DS_Store
node_modules
dist
/dist
/webapp/dist
npm-debug.log
web/static/js/bundle*.js
web/static/js/bundle*.js.map
web/static/js/libs*.js
.npminstall
config/active.dat

Просмотреть файл

@@ -110,67 +110,33 @@ package:
cp $(GOPATH)/bin/platform $(DIST_PATH)/bin
cp -RL config $(DIST_PATH)/config
cp -RL fonts $(DIST_PATH)/fonts
touch $(DIST_PATH)/config/build.txt
echo $(BUILD_NUMBER) | tee -a $(DIST_PATH)/config/build.txt
mkdir -p $(DIST_PATH)/logs
mkdir -p $(DIST_PATH)/web/static/js
cp -L web/static/js/*.min.js $(DIST_PATH)/web/static/js/
cp -L web/static/js/*.min.js.map $(DIST_PATH)/web/static/js/
cp -RL web/static/js/intl-1.0.0 $(DIST_PATH)/web/static/js/
cp -RL web/static/js/react-intl-2.0.0-beta-2 $(DIST_PATH)/web/static/js/
cp -RL web/static/i18n $(DIST_PATH)/web/static
cp -RL web/static/config $(DIST_PATH)/web/static
cp -RL web/static/css $(DIST_PATH)/web/static
cp -RL web/static/fonts $(DIST_PATH)/web/static
cp -RL web/static/help $(DIST_PATH)/web/static
cp -RL web/static/images $(DIST_PATH)/web/static
cp -RL web/static/js/jquery-dragster $(DIST_PATH)/web/static/js/
mkdir -p $(DIST_PATH)/webapp/dist
cp -RL webapp/dist $(DIST_PATH)/webapp
cp -RL templates $(DIST_PATH)
mkdir -p $(DIST_PATH)/api
cp -RL i18n $(DIST_PATH)
cp build/MIT-COMPILED-LICENSE.md $(DIST_PATH)
cp NOTICE.txt $(DIST_PATH)
cp README.md $(DIST_PATH)
mv $(DIST_PATH)/web/static/js/bundle.min.js $(DIST_PATH)/web/static/js/bundle-$(BUILD_NUMBER).min.js
mv $(DIST_PATH)/web/static/js/libs.min.js $(DIST_PATH)/web/static/js/libs-$(BUILD_NUMBER).min.js
sed -i'.bak' 's|react-0.14.3.js|react-0.14.3.min.js|g' $(DIST_PATH)/templates/head.html
sed -i'.bak' 's|react-dom-0.14.3.js|react-dom-0.14.3.min.js|g' $(DIST_PATH)/templates/head.html
sed -i'.bak' 's|Intl.js|Intl.min.js|g' $(DIST_PATH)/templates/head.html
sed -i'.bak' 's|react-intl.js|react-intl.min.js|g' $(DIST_PATH)/templates/head.html
sed -i'.bak' 's|jquery-2.1.4.js|jquery-2.1.4.min.js|g' $(DIST_PATH)/templates/head.html
sed -i'.bak' 's|bootstrap-3.3.5.js|bootstrap-3.3.5.min.js|g' $(DIST_PATH)/templates/head.html
sed -i'.bak' 's|react-bootstrap-0.28.1.js|react-bootstrap-0.28.1.min.js|g' $(DIST_PATH)/templates/head.html
sed -i'.bak' 's|perfect-scrollbar-0.6.7.jquery.js|perfect-scrollbar-0.6.7.jquery.min.js|g' $(DIST_PATH)/templates/head.html
sed -i'.bak' 's|bundle.js|bundle-$(BUILD_NUMBER).min.js|g' $(DIST_PATH)/templates/head.html
sed -i'.bak' 's|libs.min.js|libs-$(BUILD_NUMBER).min.js|g' $(DIST_PATH)/templates/head.html
rm $(DIST_PATH)/templates/*.bak
mv $(DIST_PATH)/webapp/dist/bundle.js $(DIST_PATH)/webapp/dist/bundle-$(BUILD_NUMBER).js
sed -i'.bak' 's|bundle.js|bundle-$(BUILD_NUMBER).js|g' $(DIST_PATH)/webapp/dist/root.html
rm $(DIST_PATH)/webapp/dist/root.html.bak
sudo mv -f $(DIST_PATH)/config/config.json.bak $(DIST_PATH)/config/config.json || echo 'nomv'
tar -C dist -czf $(DIST_PATH).tar.gz mattermost
build-client:
@echo Building mattermost web client
cd web/react/ && npm install
@echo Checking for style guide compliance
@echo ESLint...
cd web/react && $(ESLINT) --ext ".jsx" --ignore-pattern node_modules --quiet .
cd web/react/ && npm run build-libs
mkdir -p web/static/js
cd web/react && npm run build
cd web/sass-files && compass compile -e production --force
cd webapp && make build
go-test:
$(GO) test $(GOFLAGS) -run=$(TESTS) -test.v -test.timeout=180s ./api || exit 1
@@ -254,25 +220,14 @@ nuke: | clean clean-docker
touch $@
.prepare-jsx: web/react/package.json
@echo Preparation for compiling jsx code
cd web/react/ && npm install
cd web/react/ && npm run build-libs
touch $@
run: start-docker run-server run-client
run-server: .prepare-go
@echo Starting go web server
$(GO) run $(GOFLAGS) mattermost.go -config=config.json &
run-client: .prepare-jsx
mkdir -p web/static/js
run-client: build-client
@echo Starting react processo
cd web/react && npm start &
@if [ "$(BUILD_ENTERPRISE)" = "true" ] && [ -d "$(ENTERPRISE_DIR)" ]; then \
cp ./config/config.json ./config/config.json.bak; \
@@ -284,10 +239,7 @@ run-client: .prepare-jsx
sed -i'.bak' 's|_BUILD_ENTERPRISE_READY_|false|g' ./model/version.go; \
fi
@echo Starting compass watch
cd web/sass-files && compass compile && compass watch &
stop: stop-client stop-server
stop: stop-server
@if [ $(shell docker ps -a | grep -ci ${DOCKER_CONTAINER_NAME}) -eq 1 ]; then \
echo removing dev docker container; \
docker stop ${DOCKER_CONTAINER_NAME} > /dev/null; \
@@ -300,22 +252,6 @@ stop: stop-client stop-server
mv ./model/version.go.bak ./model/version.go 2> /dev/null || true; \
fi
stop-client:
@for PID in $$(ps -ef | grep [c]ompass | awk '{ print $$2 }'); do \
echo stopping css watch $$PID; \
kill $$PID; \
done
@for PID in $$(ps -ef | grep [n]pm | awk '{ print $$2 }'); do \
echo stopping client $$PID; \
kill $$PID; \
done
@for PID in $$(ps -ef | grep [w]atchify | awk '{ print $$2 }'); do \
echo stopping client $$PID; \
kill $$PID; \
done
stop-server:
@for PID in $$(ps -ef | grep "go run [m]attermost.go" | awk '{ print $$2 }'); do \
echo stopping go $$PID; \

Просмотреть файл

@@ -43,7 +43,7 @@ func TestUploadFile(t *testing.T) {
t.Fatal(err)
}
path := utils.FindDir("web/static/images")
path := utils.FindDir("tests")
file, err := os.Open(path + "/test.png")
defer file.Close()
@@ -159,7 +159,7 @@ func TestGetFile(t *testing.T) {
t.Fatal(err)
}
path := utils.FindDir("web/static/images")
path := utils.FindDir("tests")
file, err := os.Open(path + "/test.png")
if err != nil {
t.Fatal(err)
@@ -342,7 +342,7 @@ func TestGetPublicLink(t *testing.T) {
t.Fatal(err)
}
path := utils.FindDir("web/static/images")
path := utils.FindDir("tests")
file, err := os.Open(path + "/test.png")
if err != nil {
t.Fatal(err)

Просмотреть файл

@@ -1049,7 +1049,7 @@ func createProfileImage(username string, userId string) ([]byte, *model.AppError
initial := string(strings.ToUpper(username)[0])
fontBytes, err := ioutil.ReadFile(utils.FindDir("web/static/fonts") + utils.Cfg.FileSettings.InitialFont)
fontBytes, err := ioutil.ReadFile(utils.FindDir("fonts") + utils.Cfg.FileSettings.InitialFont)
if err != nil {
return nil, model.NewLocAppError("createProfileImage", "api.user.create_profile_image.default_font.app_error", nil, err.Error())
}

Просмотреть файл

@@ -470,7 +470,7 @@ func TestUserUploadProfileImage(t *testing.T) {
t.Fatal(err)
}
path := utils.FindDir("web/static/images")
path := utils.FindDir("tests")
file, err := os.Open(path + "/test.png")
if err != nil {
t.Fatal(err)

Просмотреть файл

@@ -19,7 +19,9 @@
"SessionLengthWebInDays": 30,
"SessionLengthMobileInDays": 30,
"SessionLengthSSOInDays": 30,
"SessionCacheInMinutes": 10
"SessionCacheInMinutes": 10,
"WebsocketSecurePort": 443,
"WebsocketPort": 80
},
"TeamSettings": {
"SiteName": "Mattermost",
@@ -113,5 +115,28 @@
"AuthEndpoint": "",
"TokenEndpoint": "",
"UserApiEndpoint": ""
},
"GoogleSettings": {
"Enable": false,
"Secret": "",
"Id": "",
"Scope": "",
"AuthEndpoint": "",
"TokenEndpoint": "",
"UserApiEndpoint": ""
},
"LdapSettings": {
"Enable": false,
"LdapServer": null,
"LdapPort": 389,
"BaseDN": null,
"BindUsername": null,
"BindPassword": null,
"FirstNameAttribute": null,
"LastNameAttribute": null,
"EmailAttribute": null,
"UsernameAttribute": null,
"IdAttribute": null,
"QueryTimeout": 60
}
}
}

Просмотреть файл

Просмотреть файл

@@ -56,7 +56,7 @@ func TestGetInfoForBytes(t *testing.T) {
t.Fatalf("Got HasPreviewImage = false for static gif")
}
animatedGifFile, err := ioutil.ReadFile("../web/static/images/testgif.gif")
animatedGifFile, err := ioutil.ReadFile("../tests/testgif.gif")
if err != nil {
t.Fatalf("Failed to load testgif.gif: %v", err.Error())
}

Просмотреть файл

@@ -1,92 +0,0 @@
{{define "head"}}
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="robots" content="noindex, nofollow">
<meta name="referrer" content="no-referrer">
<title>{{ .Props.Title }}</title>
<!-- iOS add to homescreen -->
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="default">
<meta name="mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-title" content="{{ .Props.Title }}">
<meta name="application-name" content="{{ .Props.Title }}">
<meta name="format-detection" content="telephone=no">
<!-- iOS add to homescreen -->
<!-- Android add to homescreen -->
<link rel="apple-touch-icon" sizes="57x57" href="/static/images/favicon/apple-touch-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/static/images/favicon/apple-touch-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/static/images/favicon/apple-touch-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/static/images/favicon/apple-touch-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/static/images/favicon/apple-touch-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/static/images/favicon/apple-touch-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/static/images/favicon/apple-touch-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/static/images/favicon/apple-touch-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/static/images/favicon/apple-touch-icon-180x180.png">
<link rel="icon" type="image/png" sizes="32x32" href="/static/images/favicon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="192x192" href="/static/images/favicon/android-chrome-192x192.png">
<link rel="icon" type="image/png" sizes="96x96" href="/static/images/favicon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/static/images/favicon/favicon-16x16.png">
<link rel="manifest" href="/static/config/manifest.json">
<!-- Android add to homescreen -->
<!-- CSS Should always go first -->
<link rel="stylesheet" href="/static/css/bootstrap-3.3.5.min.css">
<link rel="stylesheet" href="/static/css/jasny-bootstrap.min.css">
<link rel="stylesheet" href="/static/css/bootstrap-colorpicker.min.css">
<link rel="stylesheet" href="/static/css/styles.css">
<link rel="stylesheet" href="/static/css/google-fonts.css">
<link rel="stylesheet" href="/static/css/katex.min.css">
<link rel="stylesheet" class="code_theme" href="">
<script src="/static/js/intl-1.0.0/Intl.js"></script>
<script src="/static/js/intl-1.0.0/locale-data/jsonp/en.js"></script>
<script src="/static/js/intl-1.0.0/locale-data/jsonp/es.js"></script>
<script src="/static/js/intl-1.0.0/locale-data/jsonp/pt.js"></script>
<script src="/static/js/react-0.14.3.js"></script>
<script src="/static/js/react-dom-0.14.3.js"></script>
<script src="/static/js/react-intl-2.0.0-beta-2/react-intl.js"></script>
<script src="/static/js/react-intl-2.0.0-beta-2/locale-data/en.js"></script>
<script src="/static/js/react-intl-2.0.0-beta-2/locale-data/es.js"></script>
<script src="/static/js/react-intl-2.0.0-beta-2/locale-data/pt.js"></script>
<script src="/static/js/jquery-2.1.4.js"></script>
<script src="/static/js/bootstrap-3.3.5.js"></script>
<script src="/static/js/bootstrap-colorpicker.min.js"></script>
<script src="/static/js/react-bootstrap-0.28.1.js"></script>
<script src="/static/js/velocity.min.js"></script>
<script src="/static/js/perfect-scrollbar-0.6.7.jquery.min.js"></script>
<script src="/static/js/jquery-dragster/jquery.dragster.js"></script>
<script src="/static/js/babel-polyfill-6.1.18.min.js"></script>
<script src="/static/js/katex.min.js"></script>
<script src="/static/js/Chart.min.js"></script>
<style id="antiClickjack">body{display:none !important;}</style>
<script>
if ('ReactIntl' in window && 'ReactIntlLocaleData' in window) {
Object.keys(ReactIntlLocaleData).forEach(function(lang) {
ReactIntl.addLocaleData(ReactIntlLocaleData[lang]);
});
}
$(window).on('beforeunload', function(){
if (window.SocketStore) {
SocketStore.close();
}
});
</script>
<script src="/static/js/libs.min.js"></script>
<script src="/static/js/bundle.js"></script>
<script type="text/javascript">
if (self === top) {
var blocker = document.getElementById("antiClickjack");
blocker.parentNode.removeChild(blocker);
}
</script>
</head>
{{end}}

Просмотреть файл

@@ -1,12 +0,0 @@
{{define "root"}}
<!DOCTYPE html>
<html>
{{template "head" . }}
<body>
<div id='root'/>
<script>
window.setup_root();
</script>
</body>
</html>
{{end}}

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 273 KiB

После

Ширина:  |  Высота:  |  Размер: 273 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 38 KiB

После

Ширина:  |  Высота:  |  Размер: 38 KiB

Просмотреть файл

@@ -1,55 +0,0 @@
{
"name": "mattermost",
"version": "0.0.1",
"private": true,
"dependencies": {
"autolinker": "0.24.0",
"fastclick": "1.0.6",
"flux": "2.1.1",
"highlight.js": "9.1.0",
"keymirror": "0.1.1",
"marked": "mattermost/marked#cb85e5cc81bc7937dbb73c3c53d9532b1b97e3ca",
"mm-intl": "mattermost/mm-intl#805442fd474fa40cd586ddeda404dbbe8e60626d",
"object-assign": "4.0.1",
"react": "0.14.3",
"react-router": "2.0.0",
"twemoji": "1.4.1"
},
"devDependencies": {
"babel-eslint": "5.0.0",
"babel-plugin-transform-runtime": "6.5.2",
"babel-preset-es2015": "6.5.0",
"babel-preset-react": "6.5.0",
"babel-preset-stage-0": "6.5.0",
"babelify": "7.2.0",
"browserify": "13.0.0",
"eslint": "2.2.0",
"eslint-plugin-react": "4.0.0",
"exorcist": "0.4.0",
"uglify-js": "2.6.1",
"watchify": "3.7.0"
},
"scripts": {
"check": "",
"build-libs": "browserify -r crypto -r autolinker -r flux -r keymirror -r marked -r object-assign -r twemoji | uglifyjs -c -m --screw-ie8 > ../static/js/libs.min.js",
"start": "watchify --fast -x crypto -x node -x autolinker -x flux -x keymirror -x marked -x object-assign -x twemoji -o ../static/js/bundle.js -v -d ./**/*.jsx",
"build": "browserify -x crypto -x autolinker -x flux -x keymirror -x marked -x object-assign -x twemoji -d ./**/*.jsx | exorcist ../static/js/inter.js.map > ../static/js/tmp.js && uglifyjs ../static/js/tmp.js --in-source-map \"../static/js/inter.js.map\" --source-map \"../static/js/bundle.min.js.map\" --source-map-url \"/static/js/bundle.min.js.map\" -c -m --screw-ie8 > ../static/js/bundle.min.js && rm ../static/js/tmp.js && rm ../static/js/inter.js.map"
},
"browserify": {
"transform": [
[
"babelify",
{
"presets": [
"es2015",
"react",
"stage-0"
],
"plugins": [
"transform-runtime"
]
}
]
]
}
}

Просмотреть файл

@@ -1,71 +0,0 @@
// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.
import Authorize from '../components/authorize.jsx';
import * as Client from '../utils/client.jsx';
var IntlProvider = ReactIntl.IntlProvider;
class Root extends React.Component {
constructor() {
super();
this.state = {
translations: null,
loaded: false
};
}
static propTypes() {
return {
map: React.PropTypes.object.isRequired
};
}
componentWillMount() {
Client.getTranslations(
this.props.map.Locale,
(data) => {
this.setState({
translations: data,
loaded: true
});
return;
},
() => {
this.setState({
loaded: true
});
}
);
}
render() {
if (!this.state.loaded) {
return <div></div>;
}
return (
<IntlProvider
locale={this.props.map.Locale}
messages={this.state.translations}
>
<Authorize
teamName={this.props.map.TeamName}
appName={this.props.map.AppName}
responseType={this.props.map.ResponseType}
clientId={this.props.map.ClientId}
redirectUri={this.props.map.RedirectUri}
scope={this.props.map.Scope}
state={this.props.map.State}
/>
</IntlProvider>
);
}
}
global.window.setup_authorize_page = function setup(props) {
ReactDOM.render(
<Root map={props}/>,
document.getElementById('authorize')
);
};

Просмотреть файл

@@ -1,20 +0,0 @@
require 'compass/import-once/activate'
# Require any additional compass plugins here.
# Set this to the root of your project when deployed:
http_path = "/"
css_dir = "../static/css"
sass_dir = "sass"
images_dir = "../static/img"
javascripts_dir = "../static/js"
fonts_dir = "../static/fonts"
output_style = :compressed
# To enable relative paths to assets via compass helper functions. Uncomment:
# relative_assets = true
line_comments = false
color_output = false
preferred_syntax = :scss

Двоичные данные
web/sass-files/sass/routes/_print.scss

Двоичный файл не отображается.

6800
web/static/css/bootstrap-3.3.5.css поставляемый

Разница между файлами не показана из-за своего большого размера Загрузить разницу

5
web/static/css/bootstrap-3.3.5.min.css поставляемый

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@@ -1,9 +0,0 @@
/*!
* Bootstrap Colorpicker
* http://mjolnic.github.io/bootstrap-colorpicker/
*
* Originally written by (c) 2012 Stefan Petre
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0.txt
*
*/.colorpicker-saturation{float:left;width:100px;height:100px;cursor:crosshair;background-image:url("../images/bootstrap-colorpicker/saturation.png")}.colorpicker-saturation i{position:absolute;top:0;left:0;display:block;width:5px;height:5px;margin:-4px 0 0 -4px;border:1px solid #000;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.colorpicker-saturation i b{display:block;width:5px;height:5px;border:1px solid #fff;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.colorpicker-hue,.colorpicker-alpha{float:left;width:15px;height:100px;margin-bottom:4px;margin-left:4px;cursor:row-resize}.colorpicker-hue i,.colorpicker-alpha i{position:absolute;top:0;left:0;display:block;width:100%;height:1px;margin-top:-1px;background:#000;border-top:1px solid #fff}.colorpicker-hue{background-image:url("../images/bootstrap-colorpicker/hue.png")}.colorpicker-alpha{display:none;background-image:url("../images/bootstrap-colorpicker/alpha.png")}.colorpicker-saturation,.colorpicker-hue,.colorpicker-alpha{background-size:contain}.colorpicker{top:0;left:0;z-index:2500;min-width:130px;padding:4px;margin-top:1px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1}.colorpicker:before,.colorpicker:after{display:table;line-height:0;content:""}.colorpicker:after{clear:both}.colorpicker:before{position:absolute;top:-7px;left:6px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.colorpicker:after{position:absolute;top:-6px;left:7px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.colorpicker div{position:relative}.colorpicker.colorpicker-with-alpha{min-width:140px}.colorpicker.colorpicker-with-alpha .colorpicker-alpha{display:block}.colorpicker-color{height:10px;margin-top:5px;clear:both;background-image:url("../images/bootstrap-colorpicker/alpha.png");background-position:0 100%}.colorpicker-color div{height:10px}.colorpicker-selectors{display:none;height:10px;margin-top:5px;clear:both}.colorpicker-selectors i{float:left;width:10px;height:10px;cursor:pointer}.colorpicker-selectors i+i{margin-left:3px}.colorpicker-element .input-group-addon i,.colorpicker-element .add-on i{display:inline-block;width:16px;height:16px;vertical-align:text-top;cursor:pointer}.colorpicker.colorpicker-inline{position:relative;z-index:auto;display:inline-block;float:none}.colorpicker.colorpicker-horizontal{width:110px;height:auto;min-width:110px}.colorpicker.colorpicker-horizontal .colorpicker-saturation{margin-bottom:4px}.colorpicker.colorpicker-horizontal .colorpicker-color{width:100px}.colorpicker.colorpicker-horizontal .colorpicker-hue,.colorpicker.colorpicker-horizontal .colorpicker-alpha{float:left;width:100px;height:15px;margin-bottom:4px;margin-left:0;cursor:col-resize}.colorpicker.colorpicker-horizontal .colorpicker-hue i,.colorpicker.colorpicker-horizontal .colorpicker-alpha i{position:absolute;top:0;left:0;display:block;width:1px;height:15px;margin-top:0;background:#fff;border:0}.colorpicker.colorpicker-horizontal .colorpicker-hue{background-image:url("../images/bootstrap-colorpicker/hue-horizontal.png")}.colorpicker.colorpicker-horizontal .colorpicker-alpha{background-image:url("../images/bootstrap-colorpicker/alpha-horizontal.png")}.colorpicker.colorpicker-hidden{display:none}.colorpicker.colorpicker-visible{display:block}.colorpicker-inline.colorpicker-visible{display:inline-block}.colorpicker-right:before{right:6px;left:auto}.colorpicker-right:after{right:7px;left:auto}

Просмотреть файл

@@ -1,680 +0,0 @@
/* open-sans-300 - latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
src: url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-300.eot'); /* IE9 Compat Modes */
src: local('Open Sans Light'), local('OpenSans-Light'),
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-300.woff2') format('woff2'), /* Super Modern Browsers */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-300.woff') format('woff'), /* Modern Browsers */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-300.ttf') format('truetype'), /* Safari, Android, iOS */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-300.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-300italic - latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 300;
src: url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-300italic.eot'); /* IE9 Compat Modes */
src: local('Open Sans Light Italic'), local('OpenSansLight-Italic'),
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-300italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-300italic.woff2') format('woff2'), /* Super Modern Browsers */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-300italic.woff') format('woff'), /* Modern Browsers */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-300italic.ttf') format('truetype'), /* Safari, Android, iOS */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-300italic.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-regular - latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-regular.eot'); /* IE9 Compat Modes */
src: local('Open Sans'), local('OpenSans'),
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-regular.woff2') format('woff2'), /* Super Modern Browsers */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-regular.woff') format('woff'), /* Modern Browsers */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-regular.ttf') format('truetype'), /* Safari, Android, iOS */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-regular.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-italic - latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 400;
src: url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-italic.eot'); /* IE9 Compat Modes */
src: local('Open Sans Italic'), local('OpenSans-Italic'),
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-italic.woff2') format('woff2'), /* Super Modern Browsers */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-italic.woff') format('woff'), /* Modern Browsers */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-italic.ttf') format('truetype'), /* Safari, Android, iOS */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-italic.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-600 - latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 600;
src: url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-600.eot'); /* IE9 Compat Modes */
src: local('Open Sans Semibold'), local('OpenSans-Semibold'),
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-600.woff2') format('woff2'), /* Super Modern Browsers */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-600.woff') format('woff'), /* Modern Browsers */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-600.ttf') format('truetype'), /* Safari, Android, iOS */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-600.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-600italic - latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 600;
src: url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-600italic.eot'); /* IE9 Compat Modes */
src: local('Open Sans Semibold Italic'), local('OpenSans-SemiboldItalic'),
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-600italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-600italic.woff2') format('woff2'), /* Super Modern Browsers */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-600italic.woff') format('woff'), /* Modern Browsers */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-600italic.ttf') format('truetype'), /* Safari, Android, iOS */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-600italic.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-700 - latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 700;
src: url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-700.eot'); /* IE9 Compat Modes */
src: local('Open Sans Bold'), local('OpenSans-Bold'),
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-700.woff2') format('woff2'), /* Super Modern Browsers */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-700.woff') format('woff'), /* Modern Browsers */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-700.ttf') format('truetype'), /* Safari, Android, iOS */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-700.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-700italic - latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 700;
src: url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-700italic.eot'); /* IE9 Compat Modes */
src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'),
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-700italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-700italic.woff2') format('woff2'), /* Super Modern Browsers */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-700italic.woff') format('woff'), /* Modern Browsers */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-700italic.ttf') format('truetype'), /* Safari, Android, iOS */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-700italic.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-800 - latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 800;
src: url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-800.eot'); /* IE9 Compat Modes */
src: local('Open Sans Extrabold'), local('OpenSans-Extrabold'),
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-800.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-800.woff2') format('woff2'), /* Super Modern Browsers */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-800.woff') format('woff'), /* Modern Browsers */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-800.ttf') format('truetype'), /* Safari, Android, iOS */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-800.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-800italic - latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 800;
src: url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-800italic.eot'); /* IE9 Compat Modes */
src: local('Open Sans Extrabold Italic'), local('OpenSans-ExtraboldItalic'),
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-800italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-800italic.woff2') format('woff2'), /* Super Modern Browsers */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-800italic.woff') format('woff'), /* Modern Browsers */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-800italic.ttf') format('truetype'), /* Safari, Android, iOS */
url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-800italic.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* Lato */
@font-face {
font-family: 'Lato';
font-weight: 400;
font-style: normal;
src: url('/static/fonts/Lato-regular.eot');
src: local('Lato Regular'), local('Lato-regular'),
url('/static/fonts/Lato-regular.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/Lato-regular.woff2') format('woff2'),
url('/static/fonts/Lato-regular.woff') format('woff'),
url('/static/fonts/Lato-regular.ttf') format('truetype'),
url('/static/fonts/Lato-regular.svg#Lato') format('svg');
}
/* Lato Italic */
@font-face {
font-family: 'Lato';
font-weight: 400;
font-style: italic;
src: url('/static/fonts/lato-italic-webfont.eot');
src: url('/static/fonts/lato-italic-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/lato-italic-webfont.woff2') format('woff2'),
url('/static/fonts/lato-italic-webfont.woff') format('woff'),
url('/static/fonts/lato-italic-webfont.ttf') format('truetype'),
url('/static/fonts/lato-italic-webfont.svg#latoitalic') format('svg');
}
/* Lato Bold */
@font-face {
font-family: 'Lato';
font-style: normal;
font-weight: 700;
src: url('/static/fonts/lato-bold-webfont.eot');
src: url('/static/fonts/lato-bold-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/lato-bold-webfont.woff2') format('woff2'),
url('/static/fonts/lato-bold-webfont.woff') format('woff'),
url('/static/fonts/lato-bold-webfont.ttf') format('truetype'),
url('/static/fonts/lato-bold-webfont.svg#latobold') format('svg');
}
/* Lato Bold Italic*/
@font-face {
font-family: 'Lato';
font-style: italic;
font-weight: 700;
src: url('/static/fonts/lato-bolditalic-webfont.eot');
src: url('/static/fonts/lato-bolditalic-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/lato-bolditalic-webfont.woff2') format('woff2'),
url('/static/fonts/lato-bolditalic-webfont.woff') format('woff'),
url('/static/fonts/lato-bolditalic-webfont.ttf') format('truetype'),
url('/static/fonts/lato-bolditalic-webfont.svg#latobold_italic') format('svg');
}
/* Droid Serif */
@font-face {
font-family: 'Droid Serif';
font-weight: 400;
font-style: normal;
src: url('/static/fonts/Droid-Serif-regular.eot');
src: local('Droid Serif'), local('Droid-Serif-regular'),
url('/static/fonts/Droid-Serif-regular.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/Droid-Serif-regular.woff2') format('woff2'),
url('/static/fonts/Droid-Serif-regular.woff') format('woff'),
url('/static/fonts/Droid-Serif-regular.ttf') format('truetype'),
url('/static/fonts/Droid-Serif-regular.svg#DroidSerif') format('svg');
}
/* Droid Serif Italic */
@font-face {
font-family: 'Droid Serif';
font-weight: 400;
font-style: italic;
src: url('/static/fonts/droidserif-italic-webfont.eot');
src: url('/static/fonts/droidserif-italic-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/droidserif-italic-webfont.woff2') format('woff2'),
url('/static/fonts/droidserif-italic-webfont.woff') format('woff'),
url('/static/fonts/droidserif-italic-webfont.ttf') format('truetype'),
url('/static/fonts/droidserif-italic-webfont.svg#droid_serifitalic') format('svg');
}
/* Droid Serif Bold */
@font-face {
font-family: 'Droid Serif';
font-weight: 700;
font-style: normal;
src: url('/static/fonts/droidserif-bold-webfont.eot');
src: url('/static/fonts/droidserif-bold-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/droidserif-bold-webfont.woff2') format('woff2'),
url('/static/fonts/droidserif-bold-webfont.woff') format('woff'),
url('/static/fonts/droidserif-bold-webfont.ttf') format('truetype'),
url('/static/fonts/droidserif-bold-webfont.svg#droid_serifbold') format('svg');
}
/* Droid Serif Bold Italic */
@font-face {
font-family: 'Droid Serif';
font-weight: 700;
font-style: italic;
src: url('/static/fonts/droidserif-bolditalic-webfont.eot');
src: url('/static/fonts/droidserif-bolditalic-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/droidserif-bolditalic-webfont.woff2') format('woff2'),
url('/static/fonts/droidserif-bolditalic-webfont.woff') format('woff'),
url('/static/fonts/droidserif-bolditalic-webfont.ttf') format('truetype'),
url('/static/fonts/droidserif-bolditalic-webfont.svg#droid_serifbold_italic') format('svg');
}
/* Lora */
@font-face {
font-family: 'Lora';
font-weight: 400;
font-style: normal;
src: url('/static/fonts/Lora-regular.eot');
src: local('Lora'), local('Lora-regular'),
url('/static/fonts/Lora-regular.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/Lora-regular.woff2') format('woff2'),
url('/static/fonts/Lora-regular.woff') format('woff'),
url('/static/fonts/Lora-regular.ttf') format('truetype'),
url('/static/fonts/Lora-regular.svg#Lora') format('svg');
}
/* Lora Italic */
@font-face {
font-family: 'Lora';
font-weight: 400;
font-style: italic;
src: url('/static/fonts/lora-italic-webfont.eot');
src: url('/static/fonts/lora-italic-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/lora-italic-webfont.woff2') format('woff2'),
url('/static/fonts/lora-italic-webfont.woff') format('woff'),
url('/static/fonts/lora-italic-webfont.ttf') format('truetype'),
url('/static/fonts/lora-italic-webfont.svg#loraitalic') format('svg');
}
/* Lora Bold */
@font-face {
font-family: 'Lora';
font-weight: 700;
font-style: normal;
src: url('/static/fonts/lora-bold-webfont.eot');
src: url('/static/fonts/lora-bold-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/lora-bold-webfont.woff2') format('woff2'),
url('/static/fonts/lora-bold-webfont.woff') format('woff'),
url('/static/fonts/lora-bold-webfont.ttf') format('truetype'),
url('/static/fonts/lora-bold-webfont.svg#lorabold') format('svg');
}
/* Lora Bold Italic */
@font-face {
font-family: 'Lora';
font-weight: 700;
font-style: italic;
src: url('/static/fonts/lora-bolditalic-webfont.eot');
src: url('/static/fonts/lora-bolditalic-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/lora-bolditalic-webfont.woff2') format('woff2'),
url('/static/fonts/lora-bolditalic-webfont.woff') format('woff'),
url('/static/fonts/lora-bolditalic-webfont.ttf') format('truetype'),
url('/static/fonts/lora-bolditalic-webfont.svg#lorabold_italic') format('svg');
}
/* Arvo */
@font-face {
font-family: 'Arvo';
font-weight: 400;
font-style: normal;
src: url('/static/fonts/Arvo-regular.eot');
src: local('Arvo'), local('Arvo-regular'),
url('/static/fonts/Arvo-regular.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/Arvo-regular.woff2') format('woff2'),
url('/static/fonts/Arvo-regular.woff') format('woff'),
url('/static/fonts/Arvo-regular.ttf') format('truetype'),
url('/static/fonts/Arvo-regular.svg#Arvo') format('svg');
}
/* Arvo Italic */
@font-face {
font-family: 'Arvo';
font-weight: 400;
font-style: italic;
src: url('/static/fonts/arvo-italic-webfont.eot');
src: url('/static/fonts/arvo-italic-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/arvo-italic-webfont.woff2') format('woff2'),
url('/static/fonts/arvo-italic-webfont.woff') format('woff'),
url('/static/fonts/arvo-italic-webfont.ttf') format('truetype'),
url('/static/fonts/arvo-italic-webfont.svg#arvoitalic') format('svg');
}
/* Arvo Bold */
@font-face {
font-family: 'Arvo';
font-weight: 700;
font-style: normal;
src: url('/static/fonts/arvo-bold-webfont.eot');
src: url('/static/fonts/arvo-bold-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/arvo-bold-webfont.woff2') format('woff2'),
url('/static/fonts/arvo-bold-webfont.woff') format('woff'),
url('/static/fonts/arvo-bold-webfont.ttf') format('truetype'),
url('/static/fonts/arvo-bold-webfont.svg#arvobold') format('svg');
}
/* Arvo Bold Italic */
@font-face {
font-family: 'Arvo';
font-weight: 700;
font-style: italic;
src: url('/static/fonts/arvo-bolditalic-webfont.eot');
src: url('/static/fonts/arvo-bolditalic-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/arvo-bolditalic-webfont.woff2') format('woff2'),
url('/static/fonts/arvo-bolditalic-webfont.woff') format('woff'),
url('/static/fonts/arvo-bolditalic-webfont.ttf') format('truetype'),
url('/static/fonts/arvo-bolditalic-webfont.svg#arvobold_italic') format('svg');
}
/* Roboto */
@font-face {
font-family: 'Roboto';
font-weight: 400;
font-style: normal;
src: url('/static/fonts/Roboto-regular.eot');
src: local('Roboto'), local('Roboto-regular'),
url('/static/fonts/Roboto-regular.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/Roboto-regular.woff2') format('woff2'),
url('/static/fonts/Roboto-regular.woff') format('woff'),
url('/static/fonts/Roboto-regular.ttf') format('truetype'),
url('/static/fonts/Roboto-regular.svg#Roboto') format('svg');
}
/* Roboto Italic */
@font-face {
font-family: 'Roboto';
font-weight: 400;
font-style: italic;
src: url('/static/fonts/roboto-italic-webfont.eot');
src: url('/static/fonts/roboto-italic-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/roboto-italic-webfont.woff2') format('woff2'),
url('/static/fonts/roboto-italic-webfont.woff') format('woff'),
url('/static/fonts/roboto-italic-webfont.ttf') format('truetype'),
url('/static/fonts/roboto-italic-webfont.svg#robotoitalic') format('svg');
}
/* Roboto Bold */
@font-face {
font-family: 'Roboto';
font-weight: 700;
font-style: normal;
src: url('/static/fonts/roboto-bold-webfont.eot');
src: url('/static/fonts/roboto-bold-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/roboto-bold-webfont.woff2') format('woff2'),
url('/static/fonts/roboto-bold-webfont.woff') format('woff'),
url('/static/fonts/roboto-bold-webfont.ttf') format('truetype'),
url('/static/fonts/roboto-bold-webfont.svg#robotobold') format('svg');
}
/* Roboto Bold Italic */
@font-face {
font-family: 'Roboto';
font-weight: 700;
font-style: italic;
src: url('/static/fonts/roboto-bolditalic-webfont.eot');
src: url('/static/fonts/roboto-bolditalic-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/roboto-bolditalic-webfont.woff2') format('woff2'),
url('/static/fonts/roboto-bolditalic-webfont.woff') format('woff'),
url('/static/fonts/roboto-bolditalic-webfont.ttf') format('truetype'),
url('/static/fonts/roboto-bolditalic-webfont.svg#robotobold_italic') format('svg');
}
/* PT Sans */
@font-face {
font-family: 'PT Sans';
font-weight: 400;
font-style: normal;
src: url('/static/fonts/PT-Sans-regular.eot');
src: local('PT Sans'), local('PT-Sans-regular'),
url('/static/fonts/PT-Sans-regular.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/PT-Sans-regular.woff2') format('woff2'),
url('/static/fonts/PT-Sans-regular.woff') format('woff'),
url('/static/fonts/PT-Sans-regular.ttf') format('truetype'),
url('/static/fonts/PT-Sans-regular.svg#PTSans') format('svg');
}
/* PT Sans Italic */
@font-face {
font-family: 'PT Sans';
font-weight: 400;
font-style: italic;
src: url('/static/fonts/pt_sans-web-italic-webfont.eot');
src: url('/static/fonts/pt_sans-web-italic-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/pt_sans-web-italic-webfont.woff2') format('woff2'),
url('/static/fonts/pt_sans-web-italic-webfont.woff') format('woff'),
url('/static/fonts/pt_sans-web-italic-webfont.ttf') format('truetype'),
url('/static/fonts/pt_sans-web-italic-webfont.svg#pt_sansitalic') format('svg');
}
/* PT Sans Bold */
@font-face {
font-family: 'PT Sans';
font-weight: 700;
font-style: normal;
src: url('/static/fonts/pt_sans-web-bold-webfont.eot');
src: url('/static/fonts/pt_sans-web-bold-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/pt_sans-web-bold-webfont.woff2') format('woff2'),
url('/static/fonts/pt_sans-web-bold-webfont.woff') format('woff'),
url('/static/fonts/pt_sans-web-bold-webfont.ttf') format('truetype'),
url('/static/fonts/pt_sans-web-bold-webfont.svg#pt_sansbold') format('svg');
}
/* PT Sans Bold Italic */
@font-face {
font-family: 'PT Sans';
font-weight: 700;
font-style: italic;
src: url('/static/fonts/pt_sans-web-bolditalic-webfont.eot');
src: url('/static/fonts/pt_sans-web-bolditalic-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/pt_sans-web-bolditalic-webfont.woff2') format('woff2'),
url('/static/fonts/pt_sans-web-bolditalic-webfont.woff') format('woff'),
url('/static/fonts/pt_sans-web-bolditalic-webfont.ttf') format('truetype'),
url('/static/fonts/pt_sans-web-bolditalic-webfont.svg#pt_sansbold_italic') format('svg');
}
/* Source Sans Pro */
@font-face {
font-family: 'Source Sans Pro';
font-weight: 400;
font-style: normal;
src: url('/static/fonts/Source-Sans-Pro-regular.eot');
src: local('Source Sans Pro'), local('Source-Sans-Pro-regular'),
url('/static/fonts/Source-Sans-Pro-regular.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/Source-Sans-Pro-regular.woff2') format('woff2'),
url('/static/fonts/Source-Sans-Pro-regular.woff') format('woff'),
url('/static/fonts/Source-Sans-Pro-regular.ttf') format('truetype'),
url('/static/fonts/Source-Sans-Pro-regular.svg#SourceSansPro') format('svg');
}
/* Source Sans Pro Italic */
@font-face {
font-family: 'Source Sans Pro';
font-weight: 400;
font-style: italic;
src: url('/static/fonts/sourcesanspro-italic-webfont.eot');
src: url('/static/fonts/sourcesanspro-italic-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/sourcesanspro-italic-webfont.woff2') format('woff2'),
url('/static/fonts/sourcesanspro-italic-webfont.woff') format('woff'),
url('/static/fonts/sourcesanspro-italic-webfont.ttf') format('truetype'),
url('/static/fonts/sourcesanspro-italic-webfont.svg#source_sans_proitalic') format('svg');
}
/* Source Sans Pro Bold */
@font-face {
font-family: 'Source Sans Pro';
font-weight: 700;
font-style: normal;
src: url('/static/fonts/sourcesanspro-bold-webfont.eot');
src: url('/static/fonts/sourcesanspro-bold-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/sourcesanspro-bold-webfont.woff2') format('woff2'),
url('/static/fonts/sourcesanspro-bold-webfont.woff') format('woff'),
url('/static/fonts/sourcesanspro-bold-webfont.ttf') format('truetype'),
url('/static/fonts/sourcesanspro-bold-webfont.svg#source_sans_probold') format('svg');
}
/* Source Sans Pro Bold Italic */
@font-face {
font-family: 'Source Sans Pro';
font-weight: 700;
font-style: italic;
src: url('/static/fonts/sourcesanspro-bolditalic-webfont.eot');
src: url('/static/fonts/sourcesanspro-bolditalic-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/sourcesanspro-bolditalic-webfont.woff2') format('woff2'),
url('/static/fonts/sourcesanspro-bolditalic-webfont.woff') format('woff'),
url('/static/fonts/sourcesanspro-bolditalic-webfont.ttf') format('truetype'),
url('/static/fonts/sourcesanspro-bolditalic-webfont.svg#source_sans_probold_italic') format('svg');
}
/* Exo 2 */
@font-face {
font-family: 'Exo 2';
font-weight: 400;
font-style: normal;
src: url('/static/fonts/Exo-2-regular.eot');
src: local('Exo 2'), local('Exo-2-regular'),
url('/static/fonts/Exo-2-regular.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/Exo-2-regular.woff2') format('woff2'),
url('/static/fonts/Exo-2-regular.woff') format('woff'),
url('/static/fonts/Exo-2-regular.ttf') format('truetype'),
url('/static/fonts/Exo-2-regular.svg#Exo2') format('svg');
}
/* Exo 2 Italic */
@font-face {
font-family: 'Exo 2';
font-weight: 400;
font-style: italic;
src: url('/static/fonts/exo2-italic-webfont.eot');
src: url('/static/fonts/exo2-italic-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/exo2-italic-webfont.woff2') format('woff2'),
url('/static/fonts/exo2-italic-webfont.woff') format('woff'),
url('/static/fonts/exo2-italic-webfont.ttf') format('truetype'),
url('/static/fonts/exo2-italic-webfont.svg#exo_2italic') format('svg');
}
/* Exo 2 Bold */
@font-face {
font-family: 'Exo 2';
font-weight: 700;
font-style: normal;
src: url('/static/fonts/exo2-bold-webfont.eot');
src: url('/static/fonts/exo2-bold-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/exo2-bold-webfont.woff2') format('woff2'),
url('/static/fonts/exo2-bold-webfont.woff') format('woff'),
url('/static/fonts/exo2-bold-webfont.ttf') format('truetype'),
url('/static/fonts/exo2-bold-webfont.svg#exo_2bold') format('svg');
}
/* Exo 2 Bold Italic */
@font-face {
font-family: 'Exo 2';
font-weight: 700;
font-style: italic;
src: url('/static/fonts/exo2-bolditalic-webfont.eot');
src: url('/static/fonts/exo2-bolditalic-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/exo2-bolditalic-webfont.woff2') format('woff2'),
url('/static/fonts/exo2-bolditalic-webfont.woff') format('woff'),
url('/static/fonts/exo2-bolditalic-webfont.ttf') format('truetype'),
url('/static/fonts/exo2-bolditalic-webfont.svg#exo_2bold_italic') format('svg');
}
/* Ubuntu */
@font-face {
font-family: 'Ubuntu';
font-weight: 400;
font-style: normal;
src: url('/static/fonts/Ubuntu-regular.eot');
src: local('Ubuntu'), local('Ubuntu-regular'),
url('/static/fonts/Ubuntu-regular.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/Ubuntu-regular.woff2') format('woff2'),
url('/static/fonts/Ubuntu-regular.woff') format('woff'),
url('/static/fonts/Ubuntu-regular.ttf') format('truetype'),
url('/static/fonts/Ubuntu-regular.svg#Ubuntu') format('svg');
}
/* Ubuntu Italic */
@font-face {
font-family: 'Ubuntu';
font-weight: 400;
font-style: italic;
src: url('/static/fonts/ubuntu-italic-webfont.eot');
src: url('/static/fonts/ubuntu-italic-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/ubuntu-italic-webfont.woff2') format('woff2'),
url('/static/fonts/ubuntu-italic-webfont.woff') format('woff'),
url('/static/fonts/ubuntu-italic-webfont.ttf') format('truetype'),
url('/static/fonts/ubuntu-italic-webfont.svg#ubuntuitalic') format('svg');
}
/* Ubuntu Bold */
@font-face {
font-family: 'Ubuntu';
font-weight: 700;
font-style: normal;
src: url('/static/fonts/ubuntu-bold-webfont.eot');
src: url('/static/fonts/ubuntu-bold-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/ubuntu-bold-webfont.woff2') format('woff2'),
url('/static/fonts/ubuntu-bold-webfont.woff') format('woff'),
url('/static/fonts/ubuntu-bold-webfont.ttf') format('truetype'),
url('/static/fonts/ubuntu-bold-webfont.svg#ubuntubold') format('svg');
}
/* Ubuntu Bold Italic */
@font-face {
font-family: 'Ubuntu';
font-weight: 700;
font-style: italic;
src: url('/static/fonts/ubuntu-bolditalic-webfont.eot');
src: url('/static/fonts/ubuntu-bolditalic-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/ubuntu-bolditalic-webfont.woff2') format('woff2'),
url('/static/fonts/ubuntu-bolditalic-webfont.woff') format('woff'),
url('/static/fonts/ubuntu-bolditalic-webfont.ttf') format('truetype'),
url('/static/fonts/ubuntu-bolditalic-webfont.svg#ubuntubold_italic') format('svg');
}
/* Roboto Slab */
@font-face {
font-family: 'Roboto Slab';
font-weight: 400;
font-style: normal;
src: url('/static/fonts/Roboto-Slab-regular.eot');
src: local('Roboto Slab Regular'), local('Roboto-Slab-regular'),
url('/static/fonts/Roboto-Slab-regular.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/Roboto-Slab-regular.woff2') format('woff2'),
url('/static/fonts/Roboto-Slab-regular.woff') format('woff'),
url('/static/fonts/Roboto-Slab-regular.ttf') format('truetype'),
url('/static/fonts/Roboto-Slab-regular.svg#RobotoSlab') format('svg');
}
/* Roboto Slab Bold */
@font-face {
font-family: 'Roboto Slab';
font-weight: 700;
font-style: normal;
src: url('/static/fonts/robotoslab-bold-webfont.eot');
src: url('/static/fonts/robotoslab-bold-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/robotoslab-bold-webfont.woff2') format('woff2'),
url('/static/fonts/robotoslab-bold-webfont.woff') format('woff'),
url('/static/fonts/robotoslab-bold-webfont.ttf') format('truetype'),
url('/static/fonts/robotoslab-bold-webfont.svg#roboto_slabbold') format('svg');
}
.font--open_sans {
font-family: 'Open Sans', 'sans-serif';
}
.font--droid_serif {
font-family: 'Droid Serif', 'serif';
}
.font--roboto_slab {
font-family: 'Roboto Slab', 'serif';
}
.font--lora {
font-family: 'Lora', 'serif';
}
.font--arvo {
font-family: 'Arvo', 'serif';
}
.font--roboto {
font-family: 'Roboto', 'sans-serif';
}
.font--pt_sans {
font-family: 'PT Sans', 'sans-serif';
}
.font--lato {
font-family: 'Lato', 'sans-serif';
}
.font--source_sans_pro {
font-family: 'Source Sans Pro', 'sans-serif';
}
.font--exo_2 {
font-family: 'Exo 2', 'sans-serif';
}
.font--ubuntu {
font-family: Ubuntu, 'sans-serif';
}

Просмотреть файл

@@ -1 +0,0 @@
../../react/node_modules/highlight.js/styles/

Просмотреть файл

@@ -1,621 +0,0 @@
/*!
* Jasny Bootstrap v3.1.3 (http://jasny.github.io/bootstrap)
* Copyright 2012-2014 Arnold Daniels
* Licensed under Apache-2.0 (https://github.com/jasny/bootstrap/blob/master/LICENSE)
*/
.container-smooth {
max-width: 1170px;
}
@media (min-width: 1px) {
.container-smooth {
width: auto;
}
}
.btn-labeled {
padding-top: 0;
padding-bottom: 0;
}
.btn-label {
position: relative;
left: -12px;
display: inline-block;
padding: 6px 12px;
background: transparent;
background: rgba(0, 0, 0, .15);
border-radius: 3px 0 0 3px;
}
.btn-label.btn-label-right {
right: -12px;
left: auto;
border-radius: 0 3px 3px 0;
}
.btn-lg .btn-label {
left: -16px;
padding: 10px 16px;
border-radius: 5px 0 0 5px;
}
.btn-lg .btn-label.btn-label-right {
right: -16px;
left: auto;
border-radius: 0 5px 5px 0;
}
.btn-sm .btn-label {
left: -10px;
padding: 5px 10px;
border-radius: 2px 0 0 2px;
}
.btn-sm .btn-label.btn-label-right {
right: -10px;
left: auto;
border-radius: 0 2px 2px 0;
}
.btn-xs .btn-label {
left: -5px;
padding: 1px 5px;
border-radius: 2px 0 0 2px;
}
.btn-xs .btn-label.btn-label-right {
right: -5px;
left: auto;
border-radius: 0 2px 2px 0;
}
.nav-tabs-bottom {
border-top: 1px solid #ddd;
border-bottom: 0;
}
.nav-tabs-bottom > li {
margin-top: -1px;
margin-bottom: 0;
}
.nav-tabs-bottom > li > a {
border-radius: 0 0 4px 4px;
}
.nav-tabs-bottom > li > a:hover,
.nav-tabs-bottom > li > a:focus,
.nav-tabs-bottom > li.active > a,
.nav-tabs-bottom > li.active > a:hover,
.nav-tabs-bottom > li.active > a:focus {
border: 1px solid #ddd;
border-top-color: transparent;
}
.nav-tabs-left {
border-right: 1px solid #ddd;
border-bottom: 0;
}
.nav-tabs-left > li {
float: none;
margin-right: -1px;
margin-bottom: 0;
}
.nav-tabs-left > li > a {
margin-right: 0;
margin-bottom: 2px;
border-radius: 4px 0 0 4px;
}
.nav-tabs-left > li > a:hover,
.nav-tabs-left > li > a:focus,
.nav-tabs-left > li.active > a,
.nav-tabs-left > li.active > a:hover,
.nav-tabs-left > li.active > a:focus {
border: 1px solid #ddd;
border-right-color: transparent;
}
.row > .nav-tabs-left {
position: relative;
z-index: 1;
padding-right: 0;
padding-left: 15px;
margin-right: -1px;
}
.row > .nav-tabs-left + .tab-content {
border-left: 1px solid #ddd;
}
.nav-tabs-right {
border-bottom: 0;
border-left: 1px solid #ddd;
}
.nav-tabs-right > li {
float: none;
margin-bottom: 0;
margin-left: -1px;
}
.nav-tabs-right > li > a {
margin-bottom: 2px;
margin-left: 0;
border-radius: 0 4px 4px 0;
}
.nav-tabs-right > li > a:hover,
.nav-tabs-right > li > a:focus,
.nav-tabs-right > li.active > a,
.nav-tabs-right > li.active > a:hover,
.nav-tabs-right > li.active > a:focus {
border: 1px solid #ddd;
border-left-color: transparent;
}
.row > .nav-tabs-right {
padding-right: 15px;
padding-left: 0;
}
.navmenu,
.navbar-offcanvas {
width: 300px;
height: auto;
border-style: solid;
border-width: 1px;
border-radius: 4px;
}
.navmenu-fixed-left,
.navmenu-fixed-right,
.navbar-offcanvas {
position: fixed;
top: 0;
bottom: 0;
z-index: 1030;
overflow-y: auto;
border-radius: 0;
}
.navmenu-fixed-left,
.navbar-offcanvas.navmenu-fixed-left {
right: auto;
left: 0;
border-width: 0 1px 0 0;
}
.navmenu-fixed-right,
.navbar-offcanvas {
right: 0;
left: auto;
border-width: 0 0 0 1px;
}
.navmenu-nav {
margin-bottom: 10px;
}
.navmenu-nav.dropdown-menu {
position: static;
float: none;
padding-top: 0;
margin: 0;
border: none;
border-radius: 0;
-webkit-box-shadow: none;
box-shadow: none;
}
.navbar-offcanvas .navbar-nav {
margin: 0;
}
@media (min-width: 768px) {
.navbar-offcanvas {
width: auto;
border-top: 0;
box-shadow: none;
}
.navbar-offcanvas.offcanvas {
position: static;
display: block !important;
height: auto !important;
padding-bottom: 0;
overflow: visible !important;
}
.navbar-offcanvas .navbar-nav.navbar-left:first-child {
margin-left: -15px;
}
.navbar-offcanvas .navbar-nav.navbar-right:last-child {
margin-right: -15px;
}
.navbar-offcanvas .navmenu-brand {
display: none;
}
}
.navmenu-brand {
display: block;
padding: 10px 15px;
margin: 10px 0;
font-size: 18px;
line-height: 20px;
}
.navmenu-brand:hover,
.navmenu-brand:focus {
text-decoration: none;
}
.navmenu-default,
.navbar-default .navbar-offcanvas {
background-color: #f8f8f8;
border-color: #e7e7e7;
}
.navmenu-default .navmenu-brand,
.navbar-default .navbar-offcanvas .navmenu-brand {
color: #777;
}
.navmenu-default .navmenu-brand:hover,
.navbar-default .navbar-offcanvas .navmenu-brand:hover,
.navmenu-default .navmenu-brand:focus,
.navbar-default .navbar-offcanvas .navmenu-brand:focus {
color: #5e5e5e;
background-color: transparent;
}
.navmenu-default .navmenu-text,
.navbar-default .navbar-offcanvas .navmenu-text {
color: #777;
}
.navmenu-default .navmenu-nav > .dropdown > a:hover .caret,
.navbar-default .navbar-offcanvas .navmenu-nav > .dropdown > a:hover .caret,
.navmenu-default .navmenu-nav > .dropdown > a:focus .caret,
.navbar-default .navbar-offcanvas .navmenu-nav > .dropdown > a:focus .caret {
border-top-color: #333;
border-bottom-color: #333;
}
.navmenu-default .navmenu-nav > .open > a,
.navbar-default .navbar-offcanvas .navmenu-nav > .open > a,
.navmenu-default .navmenu-nav > .open > a:hover,
.navbar-default .navbar-offcanvas .navmenu-nav > .open > a:hover,
.navmenu-default .navmenu-nav > .open > a:focus,
.navbar-default .navbar-offcanvas .navmenu-nav > .open > a:focus {
color: #555;
background-color: #e7e7e7;
}
.navmenu-default .navmenu-nav > .open > a .caret,
.navbar-default .navbar-offcanvas .navmenu-nav > .open > a .caret,
.navmenu-default .navmenu-nav > .open > a:hover .caret,
.navbar-default .navbar-offcanvas .navmenu-nav > .open > a:hover .caret,
.navmenu-default .navmenu-nav > .open > a:focus .caret,
.navbar-default .navbar-offcanvas .navmenu-nav > .open > a:focus .caret {
border-top-color: #555;
border-bottom-color: #555;
}
.navmenu-default .navmenu-nav > .dropdown > a .caret,
.navbar-default .navbar-offcanvas .navmenu-nav > .dropdown > a .caret {
border-top-color: #777;
border-bottom-color: #777;
}
.navmenu-default .navmenu-nav.dropdown-menu,
.navbar-default .navbar-offcanvas .navmenu-nav.dropdown-menu {
background-color: #e7e7e7;
}
.navmenu-default .navmenu-nav.dropdown-menu > .divider,
.navbar-default .navbar-offcanvas .navmenu-nav.dropdown-menu > .divider {
background-color: #f8f8f8;
}
.navmenu-default .navmenu-nav.dropdown-menu > .active > a,
.navbar-default .navbar-offcanvas .navmenu-nav.dropdown-menu > .active > a,
.navmenu-default .navmenu-nav.dropdown-menu > .active > a:hover,
.navbar-default .navbar-offcanvas .navmenu-nav.dropdown-menu > .active > a:hover,
.navmenu-default .navmenu-nav.dropdown-menu > .active > a:focus,
.navbar-default .navbar-offcanvas .navmenu-nav.dropdown-menu > .active > a:focus {
background-color: #d7d7d7;
}
.navmenu-default .navmenu-nav > li > a,
.navbar-default .navbar-offcanvas .navmenu-nav > li > a {
color: #777;
}
.navmenu-default .navmenu-nav > li > a:hover,
.navbar-default .navbar-offcanvas .navmenu-nav > li > a:hover,
.navmenu-default .navmenu-nav > li > a:focus,
.navbar-default .navbar-offcanvas .navmenu-nav > li > a:focus {
color: #333;
background-color: transparent;
}
.navmenu-default .navmenu-nav > .active > a,
.navbar-default .navbar-offcanvas .navmenu-nav > .active > a,
.navmenu-default .navmenu-nav > .active > a:hover,
.navbar-default .navbar-offcanvas .navmenu-nav > .active > a:hover,
.navmenu-default .navmenu-nav > .active > a:focus,
.navbar-default .navbar-offcanvas .navmenu-nav > .active > a:focus {
color: #555;
background-color: #e7e7e7;
}
.navmenu-default .navmenu-nav > .disabled > a,
.navbar-default .navbar-offcanvas .navmenu-nav > .disabled > a,
.navmenu-default .navmenu-nav > .disabled > a:hover,
.navbar-default .navbar-offcanvas .navmenu-nav > .disabled > a:hover,
.navmenu-default .navmenu-nav > .disabled > a:focus,
.navbar-default .navbar-offcanvas .navmenu-nav > .disabled > a:focus {
color: #ccc;
background-color: transparent;
}
.navmenu-inverse,
.navbar-inverse .navbar-offcanvas {
background-color: #222;
border-color: #080808;
}
.navmenu-inverse .navmenu-brand,
.navbar-inverse .navbar-offcanvas .navmenu-brand {
color: #999;
}
.navmenu-inverse .navmenu-brand:hover,
.navbar-inverse .navbar-offcanvas .navmenu-brand:hover,
.navmenu-inverse .navmenu-brand:focus,
.navbar-inverse .navbar-offcanvas .navmenu-brand:focus {
color: #fff;
background-color: transparent;
}
.navmenu-inverse .navmenu-text,
.navbar-inverse .navbar-offcanvas .navmenu-text {
color: #999;
}
.navmenu-inverse .navmenu-nav > .dropdown > a:hover .caret,
.navbar-inverse .navbar-offcanvas .navmenu-nav > .dropdown > a:hover .caret,
.navmenu-inverse .navmenu-nav > .dropdown > a:focus .caret,
.navbar-inverse .navbar-offcanvas .navmenu-nav > .dropdown > a:focus .caret {
border-top-color: #fff;
border-bottom-color: #fff;
}
.navmenu-inverse .navmenu-nav > .open > a,
.navbar-inverse .navbar-offcanvas .navmenu-nav > .open > a,
.navmenu-inverse .navmenu-nav > .open > a:hover,
.navbar-inverse .navbar-offcanvas .navmenu-nav > .open > a:hover,
.navmenu-inverse .navmenu-nav > .open > a:focus,
.navbar-inverse .navbar-offcanvas .navmenu-nav > .open > a:focus {
color: #fff;
background-color: #080808;
}
.navmenu-inverse .navmenu-nav > .open > a .caret,
.navbar-inverse .navbar-offcanvas .navmenu-nav > .open > a .caret,
.navmenu-inverse .navmenu-nav > .open > a:hover .caret,
.navbar-inverse .navbar-offcanvas .navmenu-nav > .open > a:hover .caret,
.navmenu-inverse .navmenu-nav > .open > a:focus .caret,
.navbar-inverse .navbar-offcanvas .navmenu-nav > .open > a:focus .caret {
border-top-color: #fff;
border-bottom-color: #fff;
}
.navmenu-inverse .navmenu-nav > .dropdown > a .caret,
.navbar-inverse .navbar-offcanvas .navmenu-nav > .dropdown > a .caret {
border-top-color: #999;
border-bottom-color: #999;
}
.navmenu-inverse .navmenu-nav.dropdown-menu,
.navbar-inverse .navbar-offcanvas .navmenu-nav.dropdown-menu {
background-color: #080808;
}
.navmenu-inverse .navmenu-nav.dropdown-menu > .divider,
.navbar-inverse .navbar-offcanvas .navmenu-nav.dropdown-menu > .divider {
background-color: #222;
}
.navmenu-inverse .navmenu-nav.dropdown-menu > .active > a,
.navbar-inverse .navbar-offcanvas .navmenu-nav.dropdown-menu > .active > a,
.navmenu-inverse .navmenu-nav.dropdown-menu > .active > a:hover,
.navbar-inverse .navbar-offcanvas .navmenu-nav.dropdown-menu > .active > a:hover,
.navmenu-inverse .navmenu-nav.dropdown-menu > .active > a:focus,
.navbar-inverse .navbar-offcanvas .navmenu-nav.dropdown-menu > .active > a:focus {
background-color: #000;
}
.navmenu-inverse .navmenu-nav > li > a,
.navbar-inverse .navbar-offcanvas .navmenu-nav > li > a {
color: #999;
}
.navmenu-inverse .navmenu-nav > li > a:hover,
.navbar-inverse .navbar-offcanvas .navmenu-nav > li > a:hover,
.navmenu-inverse .navmenu-nav > li > a:focus,
.navbar-inverse .navbar-offcanvas .navmenu-nav > li > a:focus {
color: #fff;
background-color: transparent;
}
.navmenu-inverse .navmenu-nav > .active > a,
.navbar-inverse .navbar-offcanvas .navmenu-nav > .active > a,
.navmenu-inverse .navmenu-nav > .active > a:hover,
.navbar-inverse .navbar-offcanvas .navmenu-nav > .active > a:hover,
.navmenu-inverse .navmenu-nav > .active > a:focus,
.navbar-inverse .navbar-offcanvas .navmenu-nav > .active > a:focus {
color: #fff;
background-color: #080808;
}
.navmenu-inverse .navmenu-nav > .disabled > a,
.navbar-inverse .navbar-offcanvas .navmenu-nav > .disabled > a,
.navmenu-inverse .navmenu-nav > .disabled > a:hover,
.navbar-inverse .navbar-offcanvas .navmenu-nav > .disabled > a:hover,
.navmenu-inverse .navmenu-nav > .disabled > a:focus,
.navbar-inverse .navbar-offcanvas .navmenu-nav > .disabled > a:focus {
color: #444;
background-color: transparent;
}
.alert-fixed-top,
.alert-fixed-bottom {
position: fixed;
left: 0;
z-index: 1035;
width: 100%;
margin: 0;
border-radius: 0;
}
@media (min-width: 992px) {
.alert-fixed-top,
.alert-fixed-bottom {
left: 50%;
width: 992px;
margin-left: -496px;
}
}
.alert-fixed-top {
top: 0;
border-width: 0 0 1px 0;
}
@media (min-width: 992px) {
.alert-fixed-top {
border-width: 0 1px 1px 1px;
border-bottom-right-radius: 4px;
border-bottom-left-radius: 4px;
}
}
.alert-fixed-bottom {
bottom: 0;
border-width: 1px 0 0 0;
}
@media (min-width: 992px) {
.alert-fixed-bottom {
border-width: 1px 1px 0 1px;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
}
}
.offcanvas {
display: none;
}
.offcanvas.in {
display: block;
}
@media (max-width: 767px) {
.offcanvas-xs {
display: none;
}
.offcanvas-xs.in {
display: block;
}
}
@media (max-width: 991px) {
.offcanvas-sm {
display: none;
}
.offcanvas-sm.in {
display: block;
}
}
@media (max-width: 1199px) {
.offcanvas-md {
display: none;
}
.offcanvas-md.in {
display: block;
}
}
.offcanvas-lg {
display: none;
}
.offcanvas-lg.in {
display: block;
}
.canvas-sliding {
-webkit-transition: top .35s, left .35s, bottom .35s, right .35s;
transition: top .35s, left .35s, bottom .35s, right .35s;
}
.offcanvas-clone {
position: absolute !important;
top: auto !important;
right: 0 !important;
bottom: 0 !important;
left: auto !important;
width: 0 !important;
height: 0 !important;
padding: 0 !important;
margin: 0 !important;
overflow: hidden !important;
border: none !important;
opacity: 0 !important;
}
.table.rowlink td:not(.rowlink-skip),
.table .rowlink td:not(.rowlink-skip) {
cursor: pointer;
}
.table.rowlink td:not(.rowlink-skip) a,
.table .rowlink td:not(.rowlink-skip) a {
font: inherit;
color: inherit;
text-decoration: inherit;
}
.table-hover.rowlink tr:hover td,
.table-hover .rowlink tr:hover td {
background-color: #cfcfcf;
}
.btn-file {
position: relative;
overflow: hidden;
vertical-align: middle;
}
.btn-file > input {
position: absolute;
top: 0;
right: 0;
width: 100%;
height: 100%;
margin: 0;
font-size: 23px;
cursor: pointer;
filter: alpha(opacity=0);
opacity: 0;
direction: ltr;
}
.fileinput {
display: inline-block;
margin-bottom: 9px;
}
.fileinput .form-control {
display: inline-block;
padding-top: 7px;
padding-bottom: 5px;
margin-bottom: 0;
vertical-align: middle;
cursor: text;
}
.fileinput .thumbnail {
display: inline-block;
margin-bottom: 5px;
overflow: hidden;
text-align: center;
vertical-align: middle;
}
.fileinput .thumbnail > img {
max-height: 100%;
}
.fileinput .btn {
vertical-align: middle;
}
.fileinput-exists .fileinput-new,
.fileinput-new .fileinput-exists {
display: none;
}
.fileinput-inline .fileinput-controls {
display: inline;
}
.fileinput-filename {
display: inline-block;
overflow: hidden;
vertical-align: middle;
}
.form-control .fileinput-filename {
vertical-align: bottom;
}
.fileinput.input-group {
display: table;
}
.fileinput.input-group > * {
position: relative;
z-index: 2;
}
.fileinput.input-group > .btn-file {
z-index: 1;
}
.fileinput-new.input-group .btn-file,
.fileinput-new .input-group .btn-file {
border-radius: 0 4px 4px 0;
}
.fileinput-new.input-group .btn-file.btn-xs,
.fileinput-new .input-group .btn-file.btn-xs,
.fileinput-new.input-group .btn-file.btn-sm,
.fileinput-new .input-group .btn-file.btn-sm {
border-radius: 0 3px 3px 0;
}
.fileinput-new.input-group .btn-file.btn-lg,
.fileinput-new .input-group .btn-file.btn-lg {
border-radius: 0 6px 6px 0;
}
.form-group.has-warning .fileinput .fileinput-preview {
color: #8a6d3b;
}
.form-group.has-warning .fileinput .thumbnail {
border-color: #faebcc;
}
.form-group.has-error .fileinput .fileinput-preview {
color: #a94442;
}
.form-group.has-error .fileinput .thumbnail {
border-color: #ebccd1;
}
.form-group.has-success .fileinput .fileinput-preview {
color: #3c763d;
}
.form-group.has-success .fileinput .thumbnail {
border-color: #d6e9c6;
}
.input-group-addon:not(:first-child) {
border-left: 0;
}
/*# sourceMappingURL=jasny-bootstrap.css.map */

7
web/static/css/jasny-bootstrap.min.css поставляемый

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

1
web/static/css/katex.min.css поставляемый

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Двоичные данные
web/static/flash/ZeroClipboard.swf

Двоичный файл не отображается.

Просмотреть файл

@@ -1,24 +0,0 @@
<htmL>
<body>
<h1>About Mattermost</h1>
<p>Mattermost is a team communication service. It brings team real-time messaging and file sharing into one place, with easy archiving and search, accessible across PCs and phones.
</p>
<p>We built Mattermost to help teams focus on what matters most to them. It works for us, we hope it works for you too.
Learn more, or download the source code from <a href=http://mattermost.org>http://mattermost.org</a>.</p>
<h1>Join the community</h1>
<p>To take part in the community building Mattermost, please consider sharing comments, feature requests, votes, and contributions. If you like the project, please Tweet about us at <a href=https://twitter.com/mattermosthq>@mattermosthq</a>.</p>
<p>Here's some links to get started:<br>
<ul>
<li><a href="https://github.com/mattermost/platform">Follow Mattermost on Github</a></li>
<li><a href="http://forum.mattermost.org/">Ask us anything at http://forum.mattermost.org/</a></li>
<li><a href="http://www.mattermost.org/feature-requests/">Review the Mattermost feature list </a></li>
<li><a href="http://www.mattermost.org/download/">Download our source code and install instructions</a></li>
<li><a href="http://www.mattermost.org/feature-requests/">Share feature requests and upvotes</a></li>
<li><a href="http://www.mattermost.org/filing-issues/">File any bugs you find with our Issue tracking system</a></li>
</ul>
</p>
</body>
</html>

Просмотреть файл

@@ -1,24 +0,0 @@
<htmL>
<body>
<h1>Help with Mattermost</h1>
<p>Mattermost is a team communication service. It brings team real-time messaging and file sharing into one place, with easy archiving and search, accessible across PCs and phones.
</p>
<p>We built Mattermost to help teams focus on what matters most to them. It works for us, we hope it works for you too.
Learn more, or download the source code from <a href=http://mattermost.com>http://mattermost.com</a>.</p>
<h1>Join the community</h1>
<p>To take part in the community building Mattermost, please consider sharing comments, feature requests, votes, and contributions. If you like the project, please Tweet about us at <a href=https://twitter.com/mattermosthq>@mattermosthq</a>.</p>
<p>Here's some links to get started:<br>
<ul>
<li><a href="https://github.com/mattermost/platform">Follow Mattermost on Github</a></li>
<li><a href="http://forum.mattermost.org/">Ask us anything at http://forum.mattermost.org/</a></li>
<li><a href="http://www.mattermost.org/feature-requests/">Review the Mattermost feature list </a></li>
<li><a href="http://www.mattermost.org/download/">Download our source code and install instructions</a></li>
<li><a href="http://www.mattermost.org/feature-requests/">Share feature requests and upvotes</a></li>
<li><a href="http://www.mattermost.org/filing-issues/">File any bugs you find with our Issue tracking system</a></li>
</ul>
</p>
</body>
</html>

Просмотреть файл

@@ -1,24 +0,0 @@
<htmL>
<body>
<h1>Mattermost Privacy</h1>
<p>Mattermost is a team communication service. It brings team real-time messaging and file sharing into one place, with easy archiving and search, accessible across PCs and phones.
</p>
<p>We built Mattermost to help teams focus on what matters most to them. It works for us, we hope it works for you too.
Learn more, or download the source code from <a href=http://mattermost.com>http://mattermost.com</a>.</p>
<h1>Join the community</h1>
<p>To take part in the community building Mattermost, please consider sharing comments, feature requests, votes, and contributions. If you like the project, please Tweet about us at <a href=https://twitter.com/mattermosthq>@mattermosthq</a>.</p>
<p>Here's some links to get started:<br>
<ul>
<li><a href="https://github.com/mattermost/platform">Follow Mattermost on Github</a></li>
<li><a href="http://forum.mattermost.org/">Ask us anything at http://forum.mattermost.org/</a></li>
<li><a href="http://www.mattermost.org/feature-requests/">Review the Mattermost feature list </a></li>
<li><a href="http://www.mattermost.org/download/">Download our source code and install instructions</a></li>
<li><a href="http://www.mattermost.org/feature-requests/">Share feature requests and upvotes</a></li>
<li><a href="http://www.mattermost.org/filing-issues/">File any bugs you find with our Issue tracking system</a></li>
</ul>
</p>
</body>
</html>

Просмотреть файл

@@ -1,24 +0,0 @@
<htmL>
<body>
<h1>Report a Problem About Mattermost</h1>
<p>Mattermost is a team communication service. It brings team real-time messaging and file sharing into one place, with easy archiving and search, accessible across PCs and phones.
</p>
<p>We built Mattermost to help teams focus on what matters most to them. It works for us, we hope it works for you too.
Learn more, or download the source code from <a href=http://mattermost.com>http://mattermost.com</a>.</p>
<h1>Join the community</h1>
<p>To take part in the community building Mattermost, please consider sharing comments, feature requests, votes, and contributions. If you like the project, please Tweet about us at <a href=https://twitter.com/mattermosthq>@mattermosthq</a>.</p>
<p>Here's some links to get started:<br>
<ul>
<li><a href="https://github.com/mattermost/platform">Follow Mattermost on Github</a></li>
<li><a href="http://forum.mattermost.org/">Ask us anything at http://forum.mattermost.org/</a></li>
<li><a href="http://www.mattermost.org/feature-requests/">Review the Mattermost feature list </a></li>
<li><a href="http://www.mattermost.org/download/">Download our source code and install instructions</a></li>
<li><a href="http://www.mattermost.org/feature-requests/">Share feature requests and upvotes</a></li>
<li><a href="http://www.mattermost.org/filing-issues/">File any bugs you find with our Issue tracking system</a></li>
</ul>
</p>
</body>
</html>

Просмотреть файл

@@ -1,24 +0,0 @@
<htmL>
<body>
<h1>Mattermost Terms</h1>
<p>Mattermost is a team communication service. It brings team real-time messaging and file sharing into one place, with easy archiving and search, accessible across PCs and phones.
</p>
<p>We built Mattermost to help teams focus on what matters most to them. It works for us, we hope it works for you too.
Learn more, or download the source code from <a href=http://mattermost.com>http://mattermost.com</a>.</p>
<h1>Join the community</h1>
<p>To take part in the community building Mattermost, please consider sharing comments, feature requests, votes, and contributions. If you like the project, please Tweet about us at <a href=https://twitter.com/mattermosthq>@mattermosthq</a>.</p>
<p>Here's some links to get started:<br>
<ul>
<li><a href="https://github.com/mattermost/platform">Follow Mattermost on Github</a></li>
<li><a href="http://forum.mattermost.org/">Ask us anything at http://forum.mattermost.org/</a></li>
<li><a href="http://www.mattermost.org/feature-requests/">Review the Mattermost feature list </a></li>
<li><a href="http://www.mattermost.org/download/">Download our source code and install instructions</a></li>
<li><a href="http://www.mattermost.org/feature-requests/">Share feature requests and upvotes</a></li>
<li><a href="http://www.mattermost.org/filing-issues/">File any bugs you find with our Issue tracking system</a></li>
</ul>
</p>
</body>
</html>

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 42 KiB

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 76 KiB

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 45 KiB

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 120 KiB

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 46 KiB

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 153 KiB

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 34 KiB

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 50 KiB

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 42 KiB

Двоичные данные
web/static/images/favicon/iTunesArtwork@2x.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 517 KiB

11
web/static/js/Chart.min.js поставляемый

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Разница между файлами не показана из-за своего большого размера Загрузить разницу

2
web/static/js/babel-polyfill-6.1.18.min.js поставляемый

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

2363
web/static/js/bootstrap-3.3.5.js поставляемый

Разница между файлами не показана из-за своего большого размера Загрузить разницу

7
web/static/js/bootstrap-3.3.5.min.js поставляемый

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

1
web/static/js/bootstrap-colorpicker.min.js поставляемый

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

1
web/static/js/intl-1.0.0/Intl.min.js поставляемый

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше