' % self.userId
18 |
19 |
20 | class Orm(object):
21 | '''
22 | 用法:
23 | obj = Orm()
24 | # 查询单条数据
25 | rt = obj.query_one(user, userId=1)
26 |
27 | # 查询多条数据
28 | users = obj.query(user, userId=1)
29 |
30 | # 更新数据
31 | obj.update(user, ('phone', '18516600716'), userId=1)
32 |
33 | # 添加数据
34 | new_user = user(2, '15021135862')
35 | obj.insert(new_user)
36 |
37 | # 删除数据
38 | obj.delete(obj.query_one(user, userId=2))
39 |
40 | '''
41 |
42 | def __init__(self):
43 | self.db = db
44 |
45 | def query_one(self, table, **filter):
46 | return self.db.session.query(table).filter_by(**filter).first()
47 |
48 | def query(self, table, **filter):
49 | return self.db.session.query(table).filter_by(**filter).all()
50 |
51 | def insert(self, obj):
52 | self.db.session.add(obj)
53 | self.db.session.commit()
54 |
55 | def update(self, table, *name, **filter):
56 | rv = self.db.session.query(table).filter_by(**filter).all()
57 | for item in rv:
58 | for key, value in name:
59 | setattr(item, key, value)
60 | self.db.session.commit()
61 |
62 | def delete(self, obj):
63 | self.db.session.delete(obj)
64 | self.db.session.commit()
65 |
66 |
--------------------------------------------------------------------------------
/common/time_handle.py:
--------------------------------------------------------------------------------
1 | __author__ = 'Woody'
2 | from datetime import datetime
3 | from initial import app
4 |
5 |
6 | class handle():
7 | time_format = app.config['TIMEFORMAT']
8 |
9 | @classmethod
10 | def time_str(self, dt):
11 | return dt.strftime(self.time_format)
12 |
13 | @classmethod
14 | def time_dt(self, string):
15 | return datetime.strptime(string, self.time_format)
16 |
17 | @classmethod
18 | def now(self):
19 | return datetime.now()
20 |
21 | @classmethod
22 | def now_str(self):
23 | return self.now().strftime(self.time_format)
24 |
25 | @classmethod
26 | def delta(self, start, end):
27 | return (self.time_dt(end) - self.time_dt(start)).total_seconds()
--------------------------------------------------------------------------------
/config.py:
--------------------------------------------------------------------------------
1 | __author__ = 'woody'
2 | '''配置类
3 | '''
4 | import os
5 |
6 |
7 | class conf(dict):
8 | # 系统根目录
9 | ROOT = r'E:\ApiTest'
10 |
11 | # 存放excel文件的目录
12 | WORKSPACE = os.path.join(ROOT, 'excel_data')
13 |
14 | # 存放日志的目录
15 | LOG_PATH = os.path.join(ROOT, 'log')
16 |
17 | # 日志名
18 | LOG_NAME = 'ApiTest.log'
19 |
20 | # 日志配置文件
21 | LOG_CONFIG = os.path.join(WORKSPACE, 'api_config.xlsx')
22 |
23 | # 用例超时时间
24 | TIMEOUT = 10
25 |
26 | # SQLALCHEMY关联数据库地址
27 | SQLALCHEMY_DATABASE_URI = 'mysql+mysqlconnector://root:wuranxu@localhost:3306/test'
28 | SQLALCHEMY_TRACK_MODIFICATIONS = True
29 | # 时间格式
30 | TIMEFORMAT = "%Y-%m-%d %H:%M:%S"
31 |
32 | # 报告目录
33 | REPORT = os.path.join(ROOT, 'report')
34 |
35 | # 线程个数
36 | THREAD_NUM = 1
37 |
38 | # excel配置文件
39 | CONFIG_XLSX = 'api_config.xlsx'
40 |
41 | # mysql地址
42 | HOST = "测试数据库地址"
43 |
44 | # mysql端口
45 | PORT = 3306
46 |
47 | # mysql用户名
48 | MYSQL_USER = '测试数据库用户名'
49 |
50 | # mysql密码
51 | MYSQL_PWD = '测试数据库密码'
52 |
53 | # mysql 验证码表
54 | MESSAGE_TABLE = '测试数据库短信验证码表不能告诉你哈'
55 |
56 | # USER表
57 | USER_TABLE = '测试数据库USER表不能告诉你哈'
58 |
59 | # 数据库名
60 | DBNAME = '公司数据库名,不能告诉你哈'
61 |
62 | # tester账户
63 | TESTER = '18516600716'
64 |
65 | # 本地mysql信息,CASE_TABLE可能没用
66 | LOCAL_HOST = 'localhost'
67 | LOCAL_PORT = '3306'
68 | LOCAL_USER = 'root'
69 | LOCAL_PWD = 'wuranxu'
70 | LOCAL_DB = 'test'
71 | CASE_TABLE = 'api'
72 | LOCAL_USER_TABLE = 'user'
73 | SECRET_KEY = 'xxx'
74 |
75 | # 本地mongo config
76 | MONGO_HOST = '127.0.0.1'
77 | MONGO_PORT = 27017
78 | MONGO_USER = 'yitu8'
79 | MONGO_PWD = 'yitu8'
80 |
81 | HOMEWORK = os.path.join(ROOT, 'homework')
--------------------------------------------------------------------------------
/db_operator/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/db_operator/__init__.py
--------------------------------------------------------------------------------
/db_operator/__pycache__/__init__.cpython-34.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/db_operator/__pycache__/__init__.cpython-34.pyc
--------------------------------------------------------------------------------
/db_operator/__pycache__/mongo_operator.cpython-34.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/db_operator/__pycache__/mongo_operator.cpython-34.pyc
--------------------------------------------------------------------------------
/db_operator/__pycache__/mysql_db.cpython-34.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/db_operator/__pycache__/mysql_db.cpython-34.pyc
--------------------------------------------------------------------------------
/db_operator/__pycache__/user_db.cpython-34.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/db_operator/__pycache__/user_db.cpython-34.pyc
--------------------------------------------------------------------------------
/db_operator/mongo_operator.py:
--------------------------------------------------------------------------------
1 | __author__ = 'Woody'
2 | import pymongo
3 | from initial import app
4 | import logging
5 | from bson import ObjectId
6 |
7 |
8 | class MongoClient(object):
9 | HOST = app.config['MONGO_HOST']
10 | PORT = app.config['MONGO_PORT']
11 | user = app.config['MONGO_USER']
12 | pwd = app.config['MONGO_PWD']
13 |
14 | def __init__(self):
15 | try:
16 | self.Client = pymongo.MongoClient(host=self.HOST, port=self.PORT)
17 | self.db = self.Client.yitu8
18 | assert self.db.authenticate(self.user, self.pwd), "mongo服务器连接失败!"
19 | except Exception as err:
20 | logging.error("mongo connect error: {}".format(str(err)))
21 |
22 | def __del__(self):
23 | self.Client.close()
24 |
25 | def add_case(self, **kwargs):
26 | return self.db.test_case.insert_one(kwargs)
27 |
28 | def edit_case(self, _id, case_info):
29 | return self.db.test_case.update_one({"_id": ObjectId(_id)}, {"$set": case_info})
30 |
31 | def delete_case(self, name):
32 | self.db.test_case.delete_many({"name": {"$in": name}})
33 |
34 | def get_case_list(self):
35 | case_list = self.db.test_case.find()
36 | return list(case_list)
37 |
38 | def get_case_by_name(self, name_list):
39 | case_list = self.db.test_case.find({"name": {"$in": name_list}})
40 | return list(case_list)
41 |
42 | def get_db(self):
43 | return self.db
44 |
45 | def get_case_info(self, case_name):
46 | return self.db.test_case.find_one({"name": case_name})
47 |
--------------------------------------------------------------------------------
/db_operator/mysql_db.py:
--------------------------------------------------------------------------------
1 | __author__ = 'Woody'
2 | import mysql.connector as mysql
3 | from initial import app
4 | import logging
5 | import re
6 |
7 |
8 | class MysqlDb(object):
9 | host = app.config['HOST']
10 | port = app.config['PORT']
11 | username = app.config['MYSQL_USER']
12 | pwd = app.config['MYSQL_PWD']
13 | sms_table = app.config['MESSAGE_TABLE']
14 | user_table = app.config['USER_TABLE']
15 |
16 | def __init__(self, dbname):
17 | self.connection = mysql.connect(
18 | host=self.host, port=self.port, user=self.username,
19 | password=self.pwd, db=dbname
20 | )
21 |
22 | def query(self, sql, params=()):
23 | rv = None
24 | cursor = self.connection.cursor()
25 | try:
26 | cursor.execute(sql, params)
27 | rv = cursor.fetchall()
28 | except Exception as err:
29 | logging.error('query error: {}'.format(str(err)))
30 | print(str(err))
31 | finally:
32 | if cursor:
33 | cursor.close()
34 | return rv
35 |
36 | def operator(self, sql, params=()):
37 | rv = False
38 | cursor = self.connection.cursor()
39 | try:
40 | cursor.execute(sql, params)
41 | self.connection.commit()
42 | rv = True
43 | except Exception as err:
44 | logging.error('query error: {}'.format(str(err)))
45 | print(str(err))
46 | finally:
47 | if cursor:
48 | cursor.close()
49 | return rv
50 |
51 |
52 | def getVerifyMsg(self, mobile):
53 | return
54 |
55 | def getVerifyCode(self, mobile=app.config['TESTER']):
56 | sql = 'select smsBody from {} where mobile=%s order by smsLogId desc limit 1'.format(self.sms_table)
57 | rv = self.query(sql, params=(mobile, ))
58 | msg = rv[0][0] if rv else None
59 | if msg:
60 | rt = re.findall(r'[\d]+', msg)
61 | if rt:
62 | return rt[0]
63 | else:
64 | return None
65 |
66 | def delete_user(self, mobile=app.config['TESTER']):
67 | sql = "delete from {} where phone={}".format(self.user_table, mobile)
68 | rt = self.operator(sql)
69 | return rt
70 |
71 | def verify_user(self, mobile=app.config['TESTER']):
72 | sql = "select * from {} where phone={}".format(self.user_table, mobile)
73 | rt = self.query(sql)
74 | if rt:
75 | if rt[0] is not None:
76 | return True
77 | return False
78 |
79 | def __del__(self):
80 | self.connection.close()
--------------------------------------------------------------------------------
/db_operator/user_db.py:
--------------------------------------------------------------------------------
1 | __author__ = 'Woody'
2 | import mysql.connector as mysql
3 | from initial import app
4 | import logging
5 | import re
6 | from db_operator.mysql_db import MysqlDb
7 |
8 |
9 | class UserDb(MysqlDb):
10 | host = app.config['LOCAL_HOST']
11 | port = app.config['LOCAL_PORT']
12 | username = app.config['LOCAL_USER']
13 | pwd = app.config['LOCAL_PWD']
14 | # dbname = app.config['LOCAL_DB']
15 | user_table = app.config['LOCAL_USER_TABLE']
16 |
17 | def login(self, user):
18 | sql = "select password from {} where username='{}'".format(self.user_table, user)
19 | rv = self.query(sql)
20 | if rv:
21 | return rv[0][0]
22 | else:
23 | return None
24 |
25 | def register(self, user, pwd):
26 | sql = 'INSERT INTO {} (username, password) VALUES ("{}", "{}")'.format(self.user_table, user, pwd)
27 | return self.operator(sql)
28 |
--------------------------------------------------------------------------------
/excel_data/api_config.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/excel_data/api_config.xlsx
--------------------------------------------------------------------------------
/excel_data/登录模块.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/excel_data/登录模块.xlsx
--------------------------------------------------------------------------------
/homework/20170703.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/homework/20170703.docx
--------------------------------------------------------------------------------
/homework/20170708.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/homework/20170708.docx
--------------------------------------------------------------------------------
/initial.py:
--------------------------------------------------------------------------------
1 | __author__ = 'Woody'
2 | '''
3 | 初始化app, 防止产生嵌套引用的问题
4 | '''
5 | from flask import Flask
6 | from config import conf
7 | import os
8 | import logging
9 | import requests
10 | import json
11 | from flask_sqlalchemy import SQLAlchemy
12 |
13 |
14 | app = Flask(__name__)
15 | # 从config.py获取配置
16 | config_obj = conf()
17 | app.config.from_object(config_obj)
18 | # app.config['TOKEN'] = getToken()
19 | db = SQLAlchemy(app)
20 |
21 | # 配置日志文件
22 | logging.basicConfig(level=logging.INFO,
23 | format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
24 | datefmt='%Y-%m-%d %H:%M:%S',
25 | filename=os.path.join(app.config['LOG_PATH'], app.config['LOG_NAME']),
26 | filemode='a+')
27 |
28 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/.editorconfig:
--------------------------------------------------------------------------------
1 | # editorconfig.org
2 |
3 | root = true
4 |
5 | [*]
6 | charset = utf-8
7 | end_of_line = lf
8 | indent_size = 2
9 | indent_style = space
10 | insert_final_newline = true
11 | trim_trailing_whitespace = true
12 |
13 | [*.md]
14 | trim_trailing_whitespace = false
15 |
16 | [*.py]
17 | indent_size = 4
18 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/.gitattributes:
--------------------------------------------------------------------------------
1 | # Enforce Unix newlines
2 | *.css text eol=lf
3 | *.html text eol=lf
4 | *.js text eol=lf
5 | *.json text eol=lf
6 | *.less text eol=lf
7 | *.md text eol=lf
8 | *.svg text eol=lf
9 | *.yml text eol=lf
10 | # Don't diff or textually merge source maps
11 | *.map binary
12 |
13 | bootstrap-theme.css linguist-vendored=false
14 | bootstrap.css linguist-vendored=false
15 | bootstrap.js linguist-vendored=false
16 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/.gitignore:
--------------------------------------------------------------------------------
1 | # Ignore docs files
2 | _gh_pages
3 | _site
4 | .ruby-version
5 |
6 | # Numerous always-ignore extensions
7 | *.diff
8 | *.err
9 | *.log
10 | *.orig
11 | *.rej
12 | *.swo
13 | *.swp
14 | *.vi
15 | *.zip
16 | *~
17 |
18 | # OS or Editor folders
19 | ._*
20 | .cache
21 | .DS_Store
22 | .idea
23 | .project
24 | .settings
25 | .tmproj
26 | *.esproj
27 | *.sublime-project
28 | *.sublime-workspace
29 | nbproject
30 | Thumbs.db
31 |
32 | # Komodo
33 | .komodotools
34 | *.komodoproject
35 |
36 | # Jekyll metadata
37 | docs/.jekyll-metadata
38 |
39 | # Folders to ignore
40 | bower_components
41 | node_modules
42 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/.hound.yml:
--------------------------------------------------------------------------------
1 | fail_on_violations: true
2 |
3 | scss:
4 | enabled: false
5 |
6 | javascript:
7 | enabled: true
8 | config_file: js/.jshintrc
9 |
10 | jscs:
11 | enabled: true
12 | config_file: js/.jscsrc
13 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/.travis.yml:
--------------------------------------------------------------------------------
1 | sudo: required
2 | dist: trusty
3 | language: node_js
4 | git:
5 | depth: 10
6 | node_js:
7 | - "0.12"
8 | before_install:
9 | # Remove ./node_modules/.bin from PATH so node-which doesn't replace Unix which and cause RVM to barf. See https://github.com/travis-ci/travis-ci/issues/5092
10 | - export PATH=$(python -c 'from sys import argv;from collections import OrderedDict as od;print(":".join(od((p,None) for p in argv[1].split(":") if p.startswith("/")).keys()))' "$PATH")
11 | - rvm install 2.2
12 | - rvm use 2.2 --fuzzy
13 | - "export TRAVIS_COMMIT_MSG=\"$(git log --format=%B --no-merges -n 1)\""
14 | - echo "$TRAVIS_COMMIT_MSG" | grep '\[skip validator\]'; export TWBS_DO_VALIDATOR=$?; true
15 | - echo "$TRAVIS_COMMIT_MSG" | grep '\[skip sauce\]'; export TWBS_DO_SAUCE=$?; true
16 | - if [ "$TRAVIS_REPO_SLUG" = twbs-savage/bootstrap ]; then export TWBS_DO_VALIDATOR=0; fi
17 | install:
18 | - bundle install --deployment --jobs=1
19 | - cp grunt/npm-shrinkwrap.json ./
20 | - npm install
21 | cache:
22 | directories:
23 | - node_modules
24 | - vendor/bundle
25 | env:
26 | global:
27 | - NPM_CONFIG_PROGRESS="false"
28 | - SAUCE_USERNAME="bootstrap"
29 | - secure: "pJkBwnuae9dKU5tEcCqccfS1QQw7/meEcfz63fM7ba7QJNjoA6BaXj08L5Z3Vb5vBmVPwBawxo5Hp0jC0r/Z/O0hGnAmz/Cz09L+cy7dSAZ9x4hvZePSja/UAusaB5ogMoO8l2b773MzgQeSmrLbExr9BWLeqEfjC2hFgdgHLaQ="
30 | - secure: "RKWpS+P20b4tG9tawzCMJSmQftoonmC7tJzyGYiHuEM1TcpHALLBcnzKlr/+DiPTfzDJWY4kS8pxfhK4uXOe8OHnhpMNub7LEWtFPePlZIervOJcsOydaQocTKqVVWD6OUubMeQmQ+tZmvmpjoJ1uPPEbFs9ciF7+dv3U5tLUZ0="
31 | - secure: "XswSKBY0HJ/aO9VOBeWlvGpqSFF/DsJmNKz7o5RkJMJX340qe44J929uUNwwOwlv9YrgptzC2W6l8bpmZQV+p6IYs99SoSA8CCaUfIJaqeU9x/UiT5vIHgqaNax+vFJwvzHLpF5v/ggFqFEKCd54gCDasePLTztHeC4oL104iaQ="
32 | matrix:
33 | - TWBS_TEST=core
34 | - TWBS_TEST=validate-html
35 | - TWBS_TEST=sauce-js-unit
36 | matrix:
37 | fast_finish: true
38 | notifications:
39 | slack: heybb:iz4wwosL0N0EdaX1gvgkU0NH
40 | webhooks:
41 | - http://savage1.twbsapps.com/savage/travis
42 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | Bootstrap uses [GitHub's Releases feature](https://github.com/blog/1547-release-your-software) for its changelogs.
2 |
3 | See [the Releases section of our GitHub project](https://github.com/twbs/bootstrap/releases) for changelogs for each release version of Bootstrap.
4 |
5 | Release announcement posts on [the official Bootstrap blog](http://blog.getbootstrap.com) contain summaries of the most noteworthy changes made in each release.
6 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/CNAME:
--------------------------------------------------------------------------------
1 | getbootstrap.com
2 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/Gemfile:
--------------------------------------------------------------------------------
1 | source 'https://rubygems.org'
2 |
3 | group :development, :test do
4 | gem 'jekyll', '~> 3.1.2'
5 | gem 'jekyll-sitemap', '~> 0.11.0'
6 | end
7 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/Gemfile.lock:
--------------------------------------------------------------------------------
1 | GEM
2 | remote: https://rubygems.org/
3 | specs:
4 | addressable (2.4.0)
5 | colorator (0.1)
6 | ffi (1.9.14-x64-mingw32)
7 | jekyll (3.1.6)
8 | colorator (~> 0.1)
9 | jekyll-sass-converter (~> 1.0)
10 | jekyll-watch (~> 1.1)
11 | kramdown (~> 1.3)
12 | liquid (~> 3.0)
13 | mercenary (~> 0.3.3)
14 | rouge (~> 1.7)
15 | safe_yaml (~> 1.0)
16 | jekyll-sass-converter (1.4.0)
17 | sass (~> 3.4)
18 | jekyll-sitemap (0.11.0)
19 | addressable (~> 2.4.0)
20 | jekyll-watch (1.4.0)
21 | listen (~> 3.0, < 3.1)
22 | kramdown (1.11.1)
23 | liquid (3.0.6)
24 | listen (3.0.8)
25 | rb-fsevent (~> 0.9, >= 0.9.4)
26 | rb-inotify (~> 0.9, >= 0.9.7)
27 | mercenary (0.3.6)
28 | rb-fsevent (0.9.7)
29 | rb-inotify (0.9.7)
30 | ffi (>= 0.5.0)
31 | rouge (1.11.1)
32 | safe_yaml (1.0.4)
33 | sass (3.4.22)
34 |
35 | PLATFORMS
36 | x64-mingw32
37 |
38 | DEPENDENCIES
39 | jekyll (~> 3.1.2)
40 | jekyll-sitemap (~> 0.11.0)
41 |
42 | BUNDLED WITH
43 | 1.12.5
44 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/ISSUE_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | Before opening an issue:
2 |
3 | - [Search for duplicate or closed issues](https://github.com/twbs/bootstrap/issues?utf8=%E2%9C%93&q=is%3Aissue)
4 | - [Validate](http://validator.w3.org/nu/) and [lint](https://github.com/twbs/bootlint#in-the-browser) any HTML to avoid common problems
5 | - Prepare a [reduced test case](https://css-tricks.com/reduced-test-cases/) for any bugs
6 | - Read the [contributing guidelines](https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md)
7 |
8 | When asking general "how to" questions:
9 |
10 | - Please do not open an issue here
11 | - Instead, ask for help on [StackOverflow, IRC, or Slack](https://github.com/twbs/bootstrap/blob/master/README.md#community)
12 |
13 | When reporting a bug, include:
14 |
15 | - Operating system and version (Windows, Mac OS X, Android, iOS, Win10 Mobile)
16 | - Browser and version (Chrome, Firefox, Safari, IE, MS Edge, Opera 15+, Android Browser)
17 | - Reduced test cases and potential fixes using [JS Bin](https://jsbin.com)
18 |
19 | When suggesting a feature, include:
20 |
21 | - As much detail as possible for what we should add and why it's important to Bootstrap
22 | - Relevant links to prior art, screenshots, or live demos whenever possible
23 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2011-2016 Twitter, Inc.
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/_config.yml:
--------------------------------------------------------------------------------
1 | # Dependencies
2 | markdown: kramdown
3 | highlighter: rouge
4 |
5 | # Permalinks
6 | permalink: pretty
7 |
8 | # Server
9 | source: docs
10 | destination: _gh_pages
11 | host: 0.0.0.0
12 | port: 9001
13 | url: http://getbootstrap.com
14 | encoding: UTF-8
15 |
16 | gems:
17 | - jekyll-sitemap
18 |
19 | # Custom vars
20 | current_version: 3.3.7
21 | repo: https://github.com/twbs/bootstrap
22 | sass_repo: https://github.com/twbs/bootstrap-sass
23 |
24 | download:
25 | source: https://github.com/twbs/bootstrap/archive/v3.3.7.zip
26 | dist: https://github.com/twbs/bootstrap/releases/download/v3.3.7/bootstrap-3.3.7-dist.zip
27 | sass: https://github.com/twbs/bootstrap-sass/archive/v3.3.7.tar.gz
28 |
29 | blog: http://blog.getbootstrap.com
30 | expo: http://expo.getbootstrap.com
31 | themes: http://themes.getbootstrap.com
32 |
33 | cdn:
34 | # See https://www.srihash.org for info on how to generate the hashes
35 | css: https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css
36 | css_hash: "sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u"
37 | css_theme: https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css
38 | css_theme_hash: "sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp"
39 | js: https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js
40 | js_hash: "sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"
41 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "bootstrap",
3 | "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
4 | "keywords": [
5 | "css",
6 | "js",
7 | "less",
8 | "mobile-first",
9 | "responsive",
10 | "front-end",
11 | "framework",
12 | "web"
13 | ],
14 | "homepage": "http://getbootstrap.com",
15 | "license": "MIT",
16 | "moduleType": "globals",
17 | "main": [
18 | "less/bootstrap.less",
19 | "dist/js/bootstrap.js"
20 | ],
21 | "ignore": [
22 | "/.*",
23 | "_config.yml",
24 | "CNAME",
25 | "composer.json",
26 | "CONTRIBUTING.md",
27 | "docs",
28 | "js/tests",
29 | "test-infra"
30 | ],
31 | "dependencies": {
32 | "jquery": "1.9.1 - 3"
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "twbs/bootstrap",
3 | "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
4 | "keywords": [
5 | "css",
6 | "js",
7 | "less",
8 | "mobile-first",
9 | "responsive",
10 | "front-end",
11 | "framework",
12 | "web"
13 | ],
14 | "homepage": "http://getbootstrap.com",
15 | "authors": [
16 | {
17 | "name": "Mark Otto",
18 | "email": "markdotto@gmail.com"
19 | },
20 | {
21 | "name": "Jacob Thornton",
22 | "email": "jacobthornton@gmail.com"
23 | }
24 | ],
25 | "support": {
26 | "issues": "https://github.com/twbs/bootstrap/issues"
27 | },
28 | "license": "MIT",
29 | "extra": {
30 | "branch-alias": {
31 | "dev-master": "3.3.x-dev"
32 | }
33 | },
34 | "replace": {
35 | "twitter/bootstrap": "self.version"
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/dist/css/bootstrap-multiselect.css:
--------------------------------------------------------------------------------
1 | span.multiselect-native-select{position:relative}span.multiselect-native-select select{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px -1px -1px -3px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;left:50%;top:30px}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0}.multiselect-container .input-group{margin:5px}.multiselect-container>li{padding:0}.multiselect-container>li>a.multiselect-all label{font-weight:700}.multiselect-container>li.multiselect-group label{margin:0;padding:3px 20px 3px 20px;height:100%;font-weight:700}.multiselect-container>li.multiselect-group-clickable label{cursor:pointer}.multiselect-container>li>a{padding:0}.multiselect-container>li>a>label{margin:0;height:100%;cursor:pointer;font-weight:400;padding:3px 20px 3px 40px}.multiselect-container>li>a>label.radio,.multiselect-container>li>a>label.checkbox{margin:0}.multiselect-container>li>a>label>input[type=checkbox]{margin-bottom:5px}.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.form-inline .multiselect-container label.checkbox,.form-inline .multiselect-container label.radio{padding:3px 20px 3px 40px}.form-inline .multiselect-container li a label.checkbox input[type=checkbox],.form-inline .multiselect-container li a label.radio input[type=radio]{margin-left:-20px;margin-right:0}
2 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/dist/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/dist/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/dist/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/dist/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/dist/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/dist/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/dist/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/dist/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/dist/js/npm.js:
--------------------------------------------------------------------------------
1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.
2 | require('../../js/transition.js')
3 | require('../../js/alert.js')
4 | require('../../js/button.js')
5 | require('../../js/carousel.js')
6 | require('../../js/collapse.js')
7 | require('../../js/dropdown.js')
8 | require('../../js/modal.js')
9 | require('../../js/tooltip.js')
10 | require('../../js/popover.js')
11 | require('../../js/scrollspy.js')
12 | require('../../js/tab.js')
13 | require('../../js/affix.js')
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_data/core-team.yml:
--------------------------------------------------------------------------------
1 | - name: Mark Otto
2 | user: mdo
3 | gravatar: bc4ab438f7a4ce1c406aadc688427f2c
4 |
5 | - name: Jacob Thornton
6 | user: fat
7 | gravatar: a98244cbdacaf1c0b55499466002f7a8
8 |
9 | - name: Chris Rebert
10 | user: cvrebert
11 | gravatar: edec428c425453955f770095a7d26c50
12 |
13 | - name: Julian Thilo
14 | user: juthilo
15 | gravatar: 0f7dd3ce58a416be5685ea6194f82b11
16 |
17 | - name: XhmikosR
18 | user: xhmikosr
19 | gravatar: e37759b1ea0125d4e97b1e00b5eed26f
20 |
21 | - name: Heinrich Fenkart
22 | user: hnrch02
23 | gravatar: 0d53f5d3d3d28bd470f394d98f7ef48f
24 |
25 | - name: Patrick H. Lauke
26 | user: patrickhlauke
27 | gravatar: 357f279672db832fc41a5a2f36559fcb
28 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_data/sass-team.yml:
--------------------------------------------------------------------------------
1 | - name: Thomas McDonald
2 | user: thomas-mcdonald
3 | gravatar: 24cd55ab1a62ffb113ab8c02f64c9301
4 |
5 | - name: Gleb Mazovetskiy
6 | user: glebm
7 | gravatar: 729f685b8e8d7e9feed18c177c82e59b
8 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_data/showcase.yml:
--------------------------------------------------------------------------------
1 | - name: Lyft
2 | url: https://www.lyft.com
3 | expo_url: http://expo.getbootstrap.com/2014/10/29/lyft/
4 | img: lyft
5 |
6 | - name: Vogue
7 | url: http://www.vogue.com
8 | expo_url: http://expo.getbootstrap.com/2014/09/30/vogue/
9 | img: vogue
10 |
11 | - name: Riot Design
12 | url: http://riotdesign.eu/en/
13 | expo_url: http://expo.getbootstrap.com/2014/03/13/riot-design/
14 | img: riot
15 |
16 | - name: Newsweek
17 | url: http://www.newsweek.com/
18 | expo_url: http://expo.getbootstrap.com/2014/02/12/newsweek/
19 | img: newsweek
20 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_data/translations.yml:
--------------------------------------------------------------------------------
1 | - name: Chinese
2 | code: zh
3 | description: Bootstrap 中文文档
4 | url: http://v3.bootcss.com/
5 |
6 | - name: Chinese (Traditional)
7 | code: zh-TW
8 | description: Bootstrap 3 中文手冊
9 | url: https://kkbruce.tw/bs3/
10 |
11 | - name: Danish
12 | code: da
13 | description: Bootstrap på Dansk
14 | url: http://getbootstrap.dk/
15 |
16 | - name: French
17 | code: fr
18 | description: Bootstrap en Français
19 | url: http://www.oneskyapp.com/fr/docs/bootstrap/getting-started/
20 |
21 | - name: German
22 | code: de
23 | description: Bootstrap auf Deutsch
24 | url: http://holdirbootstrap.de/
25 |
26 | - name: Italian
27 | code: it
28 | description: Bootstrap in Italiano
29 | url: http://www.hackerstribe.com/guide/IT-bootstrap-3.1.1/
30 |
31 | - name: Korean
32 | code: ko
33 | description: Bootstrap 한국어
34 | url: http://bootstrapk.com/
35 |
36 | - name: Brazilian Portuguese
37 | code: pt-BR
38 | description: Bootstrap em Português do Brasil
39 | url: http://bootstrapbrasil.github.io/
40 |
41 | - name: Russian
42 | code: ru
43 | description: Bootstrap по-русски
44 | url: http://www.oneskyapp.com/ru/docs/bootstrap/
45 |
46 | - name: Spanish
47 | code: es
48 | description: Bootstrap en Español
49 | url: http://www.oneskyapp.com/es/docs/bootstrap/
50 |
51 | - name: Turkish
52 | code: tr
53 | description: Türkçe Bootstrap
54 | url: http://www.trbootstrap.com
55 |
56 | - name: Ukrainian
57 | code: uk
58 | description: Bootstrap українською
59 | url: http://twbs.docs.org.ua
60 |
61 | - name: Vietnamese
62 | code: vi
63 | description: Bootstrap bằng tiếng Việt
64 | url: http://getbootstrap.com.vn
65 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_includes/ads.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_includes/components/badges.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Easily highlight new or unread items by adding a <span class="badge">
to links, Bootstrap navs, and more.
5 |
6 |
7 |
Inbox 42
8 |
9 |
10 | Messages 4
11 |
12 |
13 | {% highlight html %}
14 |
Inbox 42
15 |
16 |
17 | Messages 4
18 |
19 | {% endhighlight %}
20 |
21 |
Self collapsing
22 |
When there are no new or unread items, badges will simply collapse (via CSS's :empty
selector) provided no content exists within.
23 |
24 |
25 |
Cross-browser compatibility
26 |
Badges won't self collapse in Internet Explorer 8 because it lacks support for the :empty
selector.
27 |
28 |
29 |
Adapts to active nav states
30 |
Built-in styles are included for placing badges in active states in pill navigations.
31 |
38 | {% highlight html %}
39 |
44 | {% endhighlight %}
45 |
46 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_includes/components/breadcrumbs.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Indicate the current page's location within a navigational hierarchy.
5 |
Separators are automatically added in CSS through :before
and content
.
6 |
7 |
8 | Home
9 |
10 |
11 | Home
12 | Library
13 |
14 |
15 | Home
16 | Library
17 | Data
18 |
19 |
20 | {% highlight html %}
21 |
22 | Home
23 | Library
24 | Data
25 |
26 | {% endhighlight %}
27 |
28 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_includes/components/jumbotron.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
A lightweight, flexible component that can optionally extend the entire viewport to showcase key content on your site.
5 |
6 |
7 |
Hello, world!
8 |
This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.
9 |
Learn more
10 |
11 |
12 | {% highlight html %}
13 |
18 | {% endhighlight %}
19 |
To make the jumbotron full width, and without rounded corners, place it outside all .container
s and instead add a .container
within.
20 | {% highlight html %}
21 |
26 | {% endhighlight %}
27 |
28 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_includes/components/labels.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Example
5 |
6 |
Example heading New
7 | Example heading New
8 | Example heading New
9 | Example heading New
10 | Example heading New
11 | Example heading New
12 |
13 | {% highlight html %}
14 |
Example heading New
15 | {% endhighlight %}
16 |
17 |
Available variations
18 |
Add any of the below mentioned modifier classes to change the appearance of a label.
19 |
20 | Default
21 | Primary
22 | Success
23 | Info
24 | Warning
25 | Danger
26 |
27 | {% highlight html %}
28 |
Default
29 |
Primary
30 |
Success
31 |
Info
32 |
Warning
33 |
Danger
34 | {% endhighlight %}
35 |
36 |
37 |
Have tons of labels?
38 |
Rendering problems can arise when you have dozens of inline labels within a narrow container, each containing its own inline-block
element (like an icon). The way around this is setting display: inline-block;
. For context and an example, see #13219 .
39 |
40 |
41 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_includes/components/page-header.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
A simple shell for an h1
to appropriately space out and segment sections of content on a page. It can utilize the h1
's default small
element, as well as most other components (with additional styles).
5 |
6 |
9 |
10 | {% highlight html %}
11 |
14 | {% endhighlight %}
15 |
16 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_includes/components/responsive-embed.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Allow browsers to determine video or slideshow dimensions based on the width of their containing block by creating an intrinsic ratio that will properly scale on any device.
5 |
Rules are directly applied to <iframe>
, <embed>
, <video>
, and <object>
elements; optionally use an explicit descendant class .embed-responsive-item
when you want to match the styling for other attributes.
6 |
Pro-Tip! You don't need to include frameborder="0"
in your <iframe>
s as we override that for you.
7 |
12 | {% highlight html %}
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | {% endhighlight %}
23 |
24 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_includes/components/wells.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Default well
5 |
Use the well as a simple effect on an element to give it an inset effect.
6 |
7 |
8 | Look, I'm in a well!
9 |
10 |
11 | {% highlight html %}
12 |
...
13 | {% endhighlight %}
14 |
Optional classes
15 |
Control padding and rounded corners with two optional modifier classes.
16 |
17 |
18 | Look, I'm in a large well!
19 |
20 |
21 | {% highlight html %}
22 |
...
23 | {% endhighlight %}
24 |
25 |
26 |
27 | Look, I'm in a small well!
28 |
29 |
30 | {% highlight html %}
31 |
...
32 | {% endhighlight %}
33 |
34 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_includes/css/code.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Inline
5 |
Wrap inline snippets of code with <code>
.
6 |
7 | For example, <section>
should be wrapped as inline.
8 |
9 | {% highlight html %}
10 | For example,
<section>
should be wrapped as inline.
11 | {% endhighlight %}
12 |
13 |
14 |
Use the <kbd>
to indicate input that is typically entered via keyboard.
15 |
16 | To switch directories, type cd followed by the name of the directory.
17 | To edit settings, press ctrl + ,
18 |
19 | {% highlight html %}
20 | To switch directories, type
cd followed by the name of the directory.
21 | To edit settings, press
ctrl + ,
22 | {% endhighlight %}
23 |
24 |
Basic block
25 |
Use <pre>
for multiple lines of code. Be sure to escape any angle brackets in the code for proper rendering.
26 |
27 |
<p>Sample text here...</p>
28 |
29 | {% highlight html %}
30 |
<p>Sample text here...</p>
31 | {% endhighlight %}
32 |
33 |
You may optionally add the .pre-scrollable
class, which will set a max-height of 350px and provide a y-axis scrollbar.
34 |
Variables
35 |
For indicating variables use the <var>
tag.
36 |
37 |
y = m x + b
38 |
39 |
40 | {% highlight html %}
41 |
y =
m x +
b
42 | {% endhighlight %}
43 |
44 |
Sample output
45 |
For indicating blocks sample output from a program use the <samp>
tag.
46 |
47 |
This text is meant to be treated as sample output from a computer program.
48 |
49 | {% highlight html %}
50 |
This text is meant to be treated as sample output from a computer program.
51 | {% endhighlight %}
52 |
53 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_includes/css/images.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Responsive images
5 |
Images in Bootstrap 3 can be made responsive-friendly via the addition of the .img-responsive
class. This applies max-width: 100%;
, height: auto;
and display: block;
to the image so that it scales nicely to the parent element.
6 |
To center images which use the .img-responsive
class, use .center-block
instead of .text-center
. See the helper classes section for more details about .center-block
usage.
7 |
8 |
SVG images and IE 8-10
9 |
In Internet Explorer 8-10, SVG images with .img-responsive
are disproportionately sized. To fix this, add width: 100% \9;
where necessary. Bootstrap doesn't apply this automatically as it causes complications to other image formats.
10 |
11 | {% highlight html %}
12 |
13 | {% endhighlight %}
14 |
15 |
Image shapes
16 |
Add classes to an <img>
element to easily style images in any project.
17 |
18 |
Cross-browser compatibility
19 |
Keep in mind that Internet Explorer 8 lacks support for rounded corners.
20 |
21 |
26 | {% highlight html %}
27 |
28 |
29 |
30 | {% endhighlight %}
31 |
32 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_includes/css/sass.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
While Bootstrap is built on Less, it also has an official Sass port . We maintain it in a separate GitHub repository and handle updates with a conversion script.
4 |
5 |
What's included
6 |
Since the Sass port has a separate repo and serves a slightly different audience, the contents of the project differ greatly from the main Bootstrap project. This ensures the Sass port is as compatible with as many Sass-based systems as possible.
7 |
8 |
9 |
10 |
11 |
12 | Path
13 | Description
14 |
15 |
16 |
17 |
18 | lib/
19 | Ruby gem code (Sass configuration, Rails and Compass integrations)
20 |
21 |
22 | tasks/
23 | Converter scripts (turning upstream Less to Sass)
24 |
25 |
26 | test/
27 | Compilation tests
28 |
29 |
30 | templates/
31 | Compass package manifest
32 |
33 |
34 | vendor/assets/
35 | Sass, JavaScript, and font files
36 |
37 |
38 | Rakefile
39 | Internal tasks, such as rake and convert
40 |
41 |
42 |
43 |
44 |
Visit the Sass port's GitHub repository to see these files in action.
45 |
46 |
47 |
Installation
48 |
For information on how to install and use Bootstrap for Sass, consult the GitHub repository readme . It's the most up to date source and includes information for use with Rails, Compass, and standard Sass projects.
49 |
50 | Bootstrap for Sass
51 |
52 |
53 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_includes/getting-started/community.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Stay up to date on the development of Bootstrap and reach out to the community with these helpful resources.
5 |
12 |
You can also follow @getbootstrap on Twitter for the latest gossip and awesome music videos.
13 |
14 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_includes/getting-started/disabling-responsiveness.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Bootstrap automatically adapts your pages for various screen sizes.
5 | Here's how to disable this feature so your page works like this non-responsive example .
6 |
7 |
Steps to disable page responsiveness
8 |
9 | Omit the viewport <meta>
mentioned in the CSS docs
10 | Override the width
on the .container
for each grid tier with a single width, for example width: 970px !important;
Be sure that this comes after the default Bootstrap CSS. You can optionally avoid the !important
with media queries or some selector-fu.
11 | If using navbars, remove all navbar collapsing and expanding behavior.
12 | For grid layouts, use .col-xs-*
classes in addition to, or in place of, the medium/large ones. Don't worry, the extra-small device grid scales to all resolutions.
13 |
14 |
You'll still need Respond.js for IE8 (since our media queries are still there and need to be processed).
15 | This disables the "mobile site" aspects of Bootstrap.
16 |
17 |
Bootstrap template with responsiveness disabled
18 |
We've applied these steps to an example. Read its source code to see the specific changes implemented.
19 |
20 | View non-responsive example
21 |
22 |
23 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_includes/getting-started/license.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
Bootstrap is released under the MIT license and is copyright {{ site.time | date: "%Y" }} Twitter. Boiled down to smaller chunks, it can be described with the following conditions.
4 |
5 |
It requires you to:
6 |
7 | Keep the license and copyright notice included in Bootstrap's CSS and JavaScript files when you use them in your works
8 |
9 |
10 |
It permits you to:
11 |
12 | Freely download and use Bootstrap, in whole or in part, for personal, private, company internal, or commercial purposes
13 | Use Bootstrap in packages or distributions that you create
14 | Modify the source code
15 | Grant a sublicense to modify and distribute Bootstrap to third parties not included in the license
16 |
17 |
18 |
It forbids you to:
19 |
20 | Hold the authors and license owners liable for damages as Bootstrap is provided without warranty
21 | Hold the creators or copyright holders of Bootstrap liable
22 | Redistribute any piece of Bootstrap without proper attribution
23 | Use any marks owned by Twitter in any way that might state or imply that Twitter endorses your distribution
24 | Use any marks owned by Twitter in any way that might state or imply that you created the Twitter software in question
25 |
26 |
27 |
It does not require you to:
28 |
29 | Include the source of Bootstrap itself, or of any modifications you may have made to it, in any redistribution you may assemble that includes it
30 | Submit changes that you make to Bootstrap back to the Bootstrap project (though such feedback is encouraged)
31 |
32 |
33 |
The full Bootstrap license is located in the project repository for more information.
34 |
35 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_includes/getting-started/template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Start with this basic HTML template, or modify these examples . We hope you'll customize our templates and examples, adapting them to suit your needs.
5 |
6 |
Copy the HTML below to begin working with a minimal Bootstrap document.
7 | {% highlight html %}
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Bootstrap 101 Template
16 |
17 |
18 |
19 |
20 |
21 |
22 |
26 |
27 |
28 |
Hello, world!
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 | {% endhighlight %}
37 |
38 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_includes/getting-started/third-party-support.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
While we don't officially support any third party plugins or add-ons, we do offer some useful advice to help avoid potential issues in your projects.
4 |
5 |
Box-sizing
6 |
Some third party software, including Google Maps and Google Custom Search Engine, conflict with Bootstrap due to * { box-sizing: border-box; }
, a rule which makes it so padding
does not affect the final computed width of an element. Learn more about box model and sizing at CSS Tricks .
7 |
Depending on the context, you may override as-needed (Option 1) or reset the box-sizing for entire regions (Option 2).
8 | {% highlight scss %}
9 | /* Box-sizing resets
10 | *
11 | * Reset individual elements or override regions to avoid conflicts due to
12 | * global box model settings of Bootstrap. Two options, individual overrides and
13 | * region resets, are available as plain CSS and uncompiled Less formats.
14 | */
15 |
16 | /* Option 1A: Override a single element's box model via CSS */
17 | .element {
18 | -webkit-box-sizing: content-box;
19 | -moz-box-sizing: content-box;
20 | box-sizing: content-box;
21 | }
22 |
23 | /* Option 1B: Override a single element's box model by using a Bootstrap Less mixin */
24 | .element {
25 | .box-sizing(content-box);
26 | }
27 |
28 | /* Option 2A: Reset an entire region via CSS */
29 | .reset-box-sizing,
30 | .reset-box-sizing *,
31 | .reset-box-sizing *:before,
32 | .reset-box-sizing *:after {
33 | -webkit-box-sizing: content-box;
34 | -moz-box-sizing: content-box;
35 | box-sizing: content-box;
36 | }
37 |
38 | /* Option 2B: Reset an entire region with a custom Less mixin */
39 | .reset-box-sizing {
40 | &,
41 | *,
42 | *:before,
43 | *:after {
44 | .box-sizing(content-box);
45 | }
46 | }
47 | .element {
48 | .reset-box-sizing();
49 | }
50 | {% endhighlight %}
51 |
52 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_includes/getting-started/tools.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
Bootlint is the official Bootstrap HTML linter tool. It automatically checks for several common HTML mistakes in webpages that are using Bootstrap in a fairly "vanilla" way. Vanilla Bootstrap's components/widgets require their parts of the DOM to conform to certain structures. Bootlint checks that instances of Bootstrap components have correctly-structured HTML. Consider adding Bootlint to your Bootstrap web development toolchain so that none of the common mistakes slow down your project's development.
6 |
7 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_includes/getting-started/translations.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Community members have translated Bootstrap's documentation into various languages. None are officially supported and they may not always be up to date.
5 |
10 |
We don't help organize or host translations, we just link to them.
11 |
Finished a new or better translation? Open a pull request to add it to our list.
12 |
13 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_includes/js/transitions.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
About transitions
5 |
For simple transition effects, include transition.js
once alongside the other JS files. If you're using the compiled (or minified) bootstrap.js
, there is no need to include this—it's already there.
6 |
7 |
What's inside
8 |
Transition.js is a basic helper for transitionEnd
events as well as a CSS transition emulator. It's used by the other plugins to check for CSS transition support and to catch hanging transitions.
9 |
10 |
Disabling transitions
11 |
Transitions can be globally disabled using the following JavaScript snippet, which must come after transition.js
(or bootstrap.js
or bootstrap.min.js
, as the case may be) has loaded:
12 | {% highlight js %}
13 | $.support.transition = false
14 | {% endhighlight %}
15 |
16 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_includes/nav/about.html:
--------------------------------------------------------------------------------
1 |
2 | History
3 |
4 |
5 | Team
6 |
7 |
8 | Brand guidelines
9 |
10 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_includes/nav/customize.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Import
4 | Less components
5 | jQuery plugins
6 | Less variables
7 |
45 |
46 | Download
47 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_includes/nav/main.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
12 |
13 |
30 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_includes/nav/migration.html:
--------------------------------------------------------------------------------
1 |
2 | Major class changes
3 |
4 |
5 | What's new
6 |
7 |
8 | What's removed
9 |
10 |
11 | Additional notes
12 |
13 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_layouts/default.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {% include header.html %}
6 |
7 |
8 | Skip to main content
9 | Aww yeah, Bootstrap 4 is coming!
10 |
11 |
12 | {% include nav/main.html %}
13 |
14 |
15 |
22 |
23 |
24 |
25 |
26 |
27 | {{ content }}
28 |
29 | {% unless page.fullwidth == true %}
30 |
31 |
58 |
59 | {% endunless %}
60 |
61 |
62 |
63 | {% include footer.html %}
64 |
65 |
66 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_layouts/home.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {% include header.html %}
6 |
7 |
8 | Skip to main content
9 | Aww yeah, Bootstrap 4 is coming!
10 |
11 |
12 | {% include nav/main.html %}
13 |
14 |
15 | {{ content }}
16 |
17 | {% include footer.html %}
18 |
19 |
20 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_plugins/bridge.rb:
--------------------------------------------------------------------------------
1 | require 'yaml'
2 |
3 | module Bridge
4 | class Generator < Jekyll::Generator
5 | def generate(site)
6 | site.data["configBridge"] = YAML.load_file("./grunt/configBridge.json")
7 | end
8 | end
9 | end
10 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_plugins/bugify.rb:
--------------------------------------------------------------------------------
1 | module Jekyll
2 | module BugFilter
3 | def bugify(input)
4 | upstream_map = {
5 | "Bootstrap" => "https://github.com/twbs/bootstrap/issues/",
6 | "Edge" => ["https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/", "Edge issue"],
7 | "UserVoice" => ["https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggestions/", "Edge UserVoice idea"],
8 | "Mozilla" => ["https://bugzilla.mozilla.org/show_bug.cgi?id=", "Mozilla bug"],
9 | "Chromium" => ["https://bugs.chromium.org/p/chromium/issues/detail?id=", "Chromium issue"],
10 | "WebKit" => ["https://bugs.webkit.org/show_bug.cgi?id=", "WebKit bug"],
11 | "Safari" => ["https://openradar.appspot.com/", "Apple Safari Radar"],
12 | "Normalize" => ["https://github.com/necolas/normalize.css/issues/", "Normalize"]
13 | }
14 |
15 | upstream_map.each do |key, data|
16 | url = data.is_a?(Array) ? data[0] : data
17 | label = data.is_a?(Array) ? "#{data[1]} " : ""
18 | input = input.gsub(/#{key}#(\d+)/, "#{label}#\\1 ")
19 | end
20 |
21 | return input
22 | end
23 | end
24 | end
25 |
26 | Liquid::Template.register_filter(Jekyll::BugFilter)
27 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_pug/customizer-nav.pug:
--------------------------------------------------------------------------------
1 | // NOTE: DO NOT EDIT THE FOLLOWING SECTION DIRECTLY! It is autogenerated via the `build-customizer-html` Grunt task using the customizer-nav.pug template.
2 | li
3 | a(href='#import-drop-target') Import
4 | li
5 | a(href='#less') Less components
6 | li
7 | a(href='#plugins') jQuery plugins
8 | li
9 | a(href='#less-variables') Less variables
10 | ul.nav
11 | each section in sections
12 | if section.customizable
13 | li
14 | a(href='#'+section.id)= section.heading
15 | li
16 | a(href='#download') Download
17 | // NOTE: DO NOT EDIT THE PRECEDING SECTION DIRECTLY! It is autogenerated via the `build-customizer-html` Grunt task using the customizer-nav.pug template.
18 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/_pug/customizer-variables.pug:
--------------------------------------------------------------------------------
1 | // NOTE: DO NOT EDIT THE FOLLOWING SECTION DIRECTLY! It is autogenerated via the `build-customizer-html` Grunt task using the customizer-variables.pug template.
2 | each section in sections
3 | if section.customizable
4 | h2(id=section.id)= section.heading
5 | if section.docstring
6 | p!= section.docstring.html
7 | each subsection in section.subsections
8 | if subsection.heading
9 | h3(id=subsection.id)= subsection.heading
10 | div.row
11 | each variable, index in subsection.variables
12 | if index > 0 && index % 3 === 0
13 | div.clearfix
14 | div.col-xs-4
15 | label(for="input-" + variable.name)= variable.name
16 | - var helpId = "help-block-" + variable.name
17 | input.form-control(
18 | id="input-" + variable.name
19 | type="text"
20 | aria-describedby=variable.docstring ? helpId : undefined
21 | value=variable.defaultValue
22 | data-var=variable.name)
23 | if variable.docstring
24 | p.help-block(id=helpId)!= variable.docstring.html
25 | // NOTE: DO NOT EDIT THE PRECEDING SECTION DIRECTLY! It is autogenerated via the `build-customizer-html` Grunt task using the customizer-variables.pug template.
26 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/apple-touch-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/apple-touch-icon.png
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/assets/brand/bootstrap-outline.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
8 |
11 |
12 |
13 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/assets/brand/bootstrap-punchout.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
8 |
10 |
12 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/assets/brand/bootstrap-solid.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
9 |
10 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/assets/css/ie10-viewport-bug-workaround.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * IE10 viewport hack for Surface/desktop Windows 8 bug
3 | * Copyright 2014-2015 Twitter, Inc.
4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5 | */
6 |
7 | /*
8 | * See the Getting Started docs for more information:
9 | * http://getbootstrap.com/getting-started/#support-ie10-width
10 | */
11 | @-ms-viewport { width: device-width; }
12 | @-o-viewport { width: device-width; }
13 | @viewport { width: device-width; }
14 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/assets/flash/ZeroClipboard.swf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/assets/flash/ZeroClipboard.swf
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/assets/img/components.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/assets/img/components.png
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/assets/img/devices.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/assets/img/devices.png
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/assets/img/expo-lyft.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/assets/img/expo-lyft.jpg
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/assets/img/expo-newsweek.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/assets/img/expo-newsweek.jpg
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/assets/img/expo-riot.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/assets/img/expo-riot.jpg
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/assets/img/expo-vogue.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/assets/img/expo-vogue.jpg
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/assets/img/sass-less.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/assets/img/sass-less.png
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/assets/js/ie-emulation-modes-warning.js:
--------------------------------------------------------------------------------
1 | // NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT
2 | // IT'S JUST JUNK FOR OUR DOCS!
3 | // ++++++++++++++++++++++++++++++++++++++++++
4 | /*!
5 | * Copyright 2014-2015 Twitter, Inc.
6 | *
7 | * Licensed under the Creative Commons Attribution 3.0 Unported License. For
8 | * details, see https://creativecommons.org/licenses/by/3.0/.
9 | */
10 | // Intended to prevent false-positive bug reports about Bootstrap not working properly in old versions of IE due to folks testing using IE's unreliable emulation modes.
11 | (function () {
12 | 'use strict';
13 |
14 | function emulatedIEMajorVersion() {
15 | var groups = /MSIE ([0-9.]+)/.exec(window.navigator.userAgent)
16 | if (groups === null) {
17 | return null
18 | }
19 | var ieVersionNum = parseInt(groups[1], 10)
20 | var ieMajorVersion = Math.floor(ieVersionNum)
21 | return ieMajorVersion
22 | }
23 |
24 | function actualNonEmulatedIEMajorVersion() {
25 | // Detects the actual version of IE in use, even if it's in an older-IE emulation mode.
26 | // IE JavaScript conditional compilation docs: https://msdn.microsoft.com/library/121hztk3%28v=vs.94%29.aspx
27 | // @cc_on docs: https://msdn.microsoft.com/library/8ka90k2e%28v=vs.94%29.aspx
28 | var jscriptVersion = new Function('/*@cc_on return @_jscript_version; @*/')() // jshint ignore:line
29 | if (jscriptVersion === undefined) {
30 | return 11 // IE11+ not in emulation mode
31 | }
32 | if (jscriptVersion < 9) {
33 | return 8 // IE8 (or lower; haven't tested on IE<8)
34 | }
35 | return jscriptVersion // IE9 or IE10 in any mode, or IE11 in non-IE11 mode
36 | }
37 |
38 | var ua = window.navigator.userAgent
39 | if (ua.indexOf('Opera') > -1 || ua.indexOf('Presto') > -1) {
40 | return // Opera, which might pretend to be IE
41 | }
42 | var emulated = emulatedIEMajorVersion()
43 | if (emulated === null) {
44 | return // Not IE
45 | }
46 | var nonEmulated = actualNonEmulatedIEMajorVersion()
47 |
48 | if (emulated !== nonEmulated) {
49 | window.alert('WARNING: You appear to be using IE' + nonEmulated + ' in IE' + emulated + ' emulation mode.\nIE emulation modes can behave significantly differently from ACTUAL older versions of IE.\nPLEASE DON\'T FILE BOOTSTRAP BUGS based on testing in IE emulation modes!')
50 | }
51 | })();
52 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/assets/js/ie10-viewport-bug-workaround.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * IE10 viewport hack for Surface/desktop Windows 8 bug
3 | * Copyright 2014-2015 Twitter, Inc.
4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5 | */
6 |
7 | // See the Getting Started docs for more information:
8 | // http://getbootstrap.com/getting-started/#support-ie10-width
9 |
10 | (function () {
11 | 'use strict';
12 |
13 | if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
14 | var msViewportStyle = document.createElement('style')
15 | msViewportStyle.appendChild(
16 | document.createTextNode(
17 | '@-ms-viewport{width:auto!important}'
18 | )
19 | )
20 | document.querySelector('head').appendChild(msViewportStyle)
21 | }
22 |
23 | })();
24 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/assets/js/ie8-responsive-file-warning.js:
--------------------------------------------------------------------------------
1 | // NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT
2 | // IT'S JUST JUNK FOR OUR DOCS!
3 | // ++++++++++++++++++++++++++++++++++++++++++
4 | /*!
5 | * Copyright 2011-2015 Twitter, Inc.
6 | *
7 | * Licensed under the Creative Commons Attribution 3.0 Unported License. For
8 | * details, see https://creativecommons.org/licenses/by/3.0/.
9 | */
10 | // Intended to prevent false-positive bug reports about responsive styling supposedly not working in IE8.
11 | if (window.location.protocol == 'file:') {
12 | window.alert('ERROR: Bootstrap\'s responsive CSS is disabled!\nSee getbootstrap.com/getting-started/#respond-file-proto for details.')
13 | }
14 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/components.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | title: Components
4 | slug: components
5 | lead: "Over a dozen reusable components built to provide iconography, dropdowns, input groups, navigation, alerts, and much more."
6 | ---
7 |
8 |
9 | {% include components/glyphicons.html %}
10 | {% include components/dropdowns.html %}
11 | {% include components/button-groups.html %}
12 | {% include components/button-dropdowns.html %}
13 | {% include components/input-groups.html %}
14 | {% include components/navs.html %}
15 | {% include components/navbar.html %}
16 | {% include components/breadcrumbs.html %}
17 | {% include components/pagination.html %}
18 | {% include components/labels.html %}
19 | {% include components/badges.html %}
20 | {% include components/jumbotron.html %}
21 | {% include components/page-header.html %}
22 | {% include components/thumbnails.html %}
23 | {% include components/alerts.html %}
24 | {% include components/progress-bars.html %}
25 | {% include components/media.html %}
26 | {% include components/list-group.html %}
27 | {% include components/panels.html %}
28 | {% include components/responsive-embed.html %}
29 | {% include components/wells.html %}
30 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/css.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | title: CSS
4 | slug: css
5 | lead: "Global CSS settings, fundamental HTML elements styled and enhanced with extensible classes, and an advanced grid system."
6 | ---
7 |
8 |
9 | {% include css/overview.html %}
10 | {% include css/grid.html %}
11 | {% include css/type.html %}
12 | {% include css/code.html %}
13 | {% include css/tables.html %}
14 | {% include css/forms.html %}
15 | {% include css/buttons.html %}
16 | {% include css/images.html %}
17 | {% include css/helpers.html %}
18 | {% include css/responsive-utilities.html %}
19 | {% include css/less.html %}
20 | {% include css/sass.html %}
21 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/dist/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/dist/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/dist/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/dist/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/dist/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/dist/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/dist/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/dist/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/dist/js/npm.js:
--------------------------------------------------------------------------------
1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.
2 | require('../../js/transition.js')
3 | require('../../js/alert.js')
4 | require('../../js/button.js')
5 | require('../../js/carousel.js')
6 | require('../../js/collapse.js')
7 | require('../../js/dropdown.js')
8 | require('../../js/modal.js')
9 | require('../../js/tooltip.js')
10 | require('../../js/popover.js')
11 | require('../../js/scrollspy.js')
12 | require('../../js/tab.js')
13 | require('../../js/affix.js')
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/dashboard/dashboard.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Base structure
3 | */
4 |
5 | /* Move down content because we have a fixed navbar that is 50px tall */
6 | body {
7 | padding-top: 50px;
8 | }
9 |
10 |
11 | /*
12 | * Global add-ons
13 | */
14 |
15 | .sub-header {
16 | padding-bottom: 10px;
17 | border-bottom: 1px solid #eee;
18 | }
19 |
20 | /*
21 | * Top navigation
22 | * Hide default border to remove 1px line.
23 | */
24 | .navbar-fixed-top {
25 | border: 0;
26 | }
27 |
28 | /*
29 | * Sidebar
30 | */
31 |
32 | /* Hide for mobile, show later */
33 | .sidebar {
34 | display: none;
35 | }
36 | @media (min-width: 768px) {
37 | .sidebar {
38 | position: fixed;
39 | top: 51px;
40 | bottom: 0;
41 | left: 0;
42 | z-index: 1000;
43 | display: block;
44 | padding: 20px;
45 | overflow-x: hidden;
46 | overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */
47 | background-color: #f5f5f5;
48 | border-right: 1px solid #eee;
49 | }
50 | }
51 |
52 | /* Sidebar navigation */
53 | .nav-sidebar {
54 | margin-right: -21px; /* 20px padding + 1px border */
55 | margin-bottom: 20px;
56 | margin-left: -20px;
57 | }
58 | .nav-sidebar > li > a {
59 | padding-right: 20px;
60 | padding-left: 20px;
61 | }
62 | .nav-sidebar > .active > a,
63 | .nav-sidebar > .active > a:hover,
64 | .nav-sidebar > .active > a:focus {
65 | color: #fff;
66 | background-color: #428bca;
67 | }
68 |
69 |
70 | /*
71 | * Main content
72 | */
73 |
74 | .main {
75 | padding: 20px;
76 | }
77 | @media (min-width: 768px) {
78 | .main {
79 | padding-right: 40px;
80 | padding-left: 40px;
81 | }
82 | }
83 | .main .page-header {
84 | margin-top: 0;
85 | }
86 |
87 |
88 | /*
89 | * Placeholder dashboard ideas
90 | */
91 |
92 | .placeholders {
93 | margin-bottom: 30px;
94 | text-align: center;
95 | }
96 | .placeholders h4 {
97 | margin-bottom: 0;
98 | }
99 | .placeholder {
100 | margin-bottom: 20px;
101 | }
102 | .placeholder img {
103 | display: inline-block;
104 | border-radius: 50%;
105 | }
106 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/grid/grid.css:
--------------------------------------------------------------------------------
1 | h4 {
2 | margin-top: 25px;
3 | }
4 | .row {
5 | margin-bottom: 20px;
6 | }
7 | .row .row {
8 | margin-top: 10px;
9 | margin-bottom: 0;
10 | }
11 | [class*="col-"] {
12 | padding-top: 15px;
13 | padding-bottom: 15px;
14 | background-color: #eee;
15 | background-color: rgba(86,61,124,.15);
16 | border: 1px solid #ddd;
17 | border: 1px solid rgba(86,61,124,.2);
18 | }
19 |
20 | hr {
21 | margin-top: 40px;
22 | margin-bottom: 40px;
23 | }
24 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/jumbotron-narrow/jumbotron-narrow.css:
--------------------------------------------------------------------------------
1 | /* Space out content a bit */
2 | body {
3 | padding-top: 20px;
4 | padding-bottom: 20px;
5 | }
6 |
7 | /* Everything but the jumbotron gets side spacing for mobile first views */
8 | .header,
9 | .marketing,
10 | .footer {
11 | padding-right: 15px;
12 | padding-left: 15px;
13 | }
14 |
15 | /* Custom page header */
16 | .header {
17 | padding-bottom: 20px;
18 | border-bottom: 1px solid #e5e5e5;
19 | }
20 | /* Make the masthead heading the same height as the navigation */
21 | .header h3 {
22 | margin-top: 0;
23 | margin-bottom: 0;
24 | line-height: 40px;
25 | }
26 |
27 | /* Custom page footer */
28 | .footer {
29 | padding-top: 19px;
30 | color: #777;
31 | border-top: 1px solid #e5e5e5;
32 | }
33 |
34 | /* Customize container */
35 | @media (min-width: 768px) {
36 | .container {
37 | max-width: 730px;
38 | }
39 | }
40 | .container-narrow > hr {
41 | margin: 30px 0;
42 | }
43 |
44 | /* Main marketing message and sign up button */
45 | .jumbotron {
46 | text-align: center;
47 | border-bottom: 1px solid #e5e5e5;
48 | }
49 | .jumbotron .btn {
50 | padding: 14px 24px;
51 | font-size: 21px;
52 | }
53 |
54 | /* Supporting marketing content */
55 | .marketing {
56 | margin: 40px 0;
57 | }
58 | .marketing p + h4 {
59 | margin-top: 28px;
60 | }
61 |
62 | /* Responsive: Portrait tablets and up */
63 | @media screen and (min-width: 768px) {
64 | /* Remove the padding we set earlier */
65 | .header,
66 | .marketing,
67 | .footer {
68 | padding-right: 0;
69 | padding-left: 0;
70 | }
71 | /* Space out the masthead */
72 | .header {
73 | margin-bottom: 30px;
74 | }
75 | /* Remove the bottom border on the jumbotron for visual effect */
76 | .jumbotron {
77 | border-bottom: 0;
78 | }
79 | }
80 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/jumbotron/jumbotron.css:
--------------------------------------------------------------------------------
1 | /* Move down content because we have a fixed navbar that is 50px tall */
2 | body {
3 | padding-top: 50px;
4 | padding-bottom: 20px;
5 | }
6 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/justified-nav/justified-nav.css:
--------------------------------------------------------------------------------
1 | body {
2 | padding-top: 20px;
3 | }
4 |
5 | .footer {
6 | padding-top: 40px;
7 | padding-bottom: 40px;
8 | margin-top: 40px;
9 | border-top: 1px solid #eee;
10 | }
11 |
12 | /* Main marketing message and sign up button */
13 | .jumbotron {
14 | text-align: center;
15 | background-color: transparent;
16 | }
17 | .jumbotron .btn {
18 | padding: 14px 24px;
19 | font-size: 21px;
20 | }
21 |
22 | /* Customize the nav-justified links to be fill the entire space of the .navbar */
23 |
24 | .nav-justified {
25 | background-color: #eee;
26 | border: 1px solid #ccc;
27 | border-radius: 5px;
28 | }
29 | .nav-justified > li > a {
30 | padding-top: 15px;
31 | padding-bottom: 15px;
32 | margin-bottom: 0;
33 | font-weight: bold;
34 | color: #777;
35 | text-align: center;
36 | background-color: #e5e5e5; /* Old browsers */
37 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e5e5e5));
38 | background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e5e5e5 100%);
39 | background-image: -o-linear-gradient(top, #f5f5f5 0%, #e5e5e5 100%);
40 | background-image: linear-gradient(to bottom, #f5f5f5 0%,#e5e5e5 100%);
41 | filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f5f5f5', endColorstr='#e5e5e5',GradientType=0 ); /* IE6-9 */
42 | background-repeat: repeat-x; /* Repeat the gradient */
43 | border-bottom: 1px solid #d5d5d5;
44 | }
45 | .nav-justified > .active > a,
46 | .nav-justified > .active > a:hover,
47 | .nav-justified > .active > a:focus {
48 | background-color: #ddd;
49 | background-image: none;
50 | -webkit-box-shadow: inset 0 3px 7px rgba(0,0,0,.15);
51 | box-shadow: inset 0 3px 7px rgba(0,0,0,.15);
52 | }
53 | .nav-justified > li:first-child > a {
54 | border-radius: 5px 5px 0 0;
55 | }
56 | .nav-justified > li:last-child > a {
57 | border-bottom: 0;
58 | border-radius: 0 0 5px 5px;
59 | }
60 |
61 | @media (min-width: 768px) {
62 | .nav-justified {
63 | max-height: 52px;
64 | }
65 | .nav-justified > li > a {
66 | border-right: 1px solid #d5d5d5;
67 | border-left: 1px solid #fff;
68 | }
69 | .nav-justified > li:first-child > a {
70 | border-left: 0;
71 | border-radius: 5px 0 0 5px;
72 | }
73 | .nav-justified > li:last-child > a {
74 | border-right: 0;
75 | border-radius: 0 5px 5px 0;
76 | }
77 | }
78 |
79 | /* Responsive: Portrait tablets and up */
80 | @media screen and (min-width: 768px) {
81 | /* Remove the padding we set earlier */
82 | .masthead,
83 | .marketing,
84 | .footer {
85 | padding-right: 0;
86 | padding-left: 0;
87 | }
88 | }
89 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/navbar-fixed-top/navbar-fixed-top.css:
--------------------------------------------------------------------------------
1 | body {
2 | min-height: 2000px;
3 | padding-top: 70px;
4 | }
5 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/navbar-static-top/navbar-static-top.css:
--------------------------------------------------------------------------------
1 | body {
2 | min-height: 2000px;
3 | }
4 |
5 | .navbar-static-top {
6 | margin-bottom: 19px;
7 | }
8 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/navbar/navbar.css:
--------------------------------------------------------------------------------
1 | body {
2 | padding-top: 20px;
3 | padding-bottom: 20px;
4 | }
5 |
6 | .navbar {
7 | margin-bottom: 20px;
8 | }
9 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/offcanvas/offcanvas.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Style tweaks
3 | * --------------------------------------------------
4 | */
5 | html,
6 | body {
7 | overflow-x: hidden; /* Prevent scroll on narrow devices */
8 | }
9 | body {
10 | padding-top: 70px;
11 | }
12 | footer {
13 | padding: 30px 0;
14 | }
15 |
16 | /*
17 | * Off Canvas
18 | * --------------------------------------------------
19 | */
20 | @media screen and (max-width: 767px) {
21 | .row-offcanvas {
22 | position: relative;
23 | -webkit-transition: all .25s ease-out;
24 | -o-transition: all .25s ease-out;
25 | transition: all .25s ease-out;
26 | }
27 |
28 | .row-offcanvas-right {
29 | right: 0;
30 | }
31 |
32 | .row-offcanvas-left {
33 | left: 0;
34 | }
35 |
36 | .row-offcanvas-right
37 | .sidebar-offcanvas {
38 | right: -50%; /* 6 columns */
39 | }
40 |
41 | .row-offcanvas-left
42 | .sidebar-offcanvas {
43 | left: -50%; /* 6 columns */
44 | }
45 |
46 | .row-offcanvas-right.active {
47 | right: 50%; /* 6 columns */
48 | }
49 |
50 | .row-offcanvas-left.active {
51 | left: 50%; /* 6 columns */
52 | }
53 |
54 | .sidebar-offcanvas {
55 | position: absolute;
56 | top: 0;
57 | width: 50%; /* 6 columns */
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/offcanvas/offcanvas.js:
--------------------------------------------------------------------------------
1 | $(document).ready(function () {
2 | $('[data-toggle="offcanvas"]').click(function () {
3 | $('.row-offcanvas').toggleClass('active')
4 | });
5 | });
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/screenshots/blog.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/examples/screenshots/blog.jpg
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/screenshots/carousel.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/examples/screenshots/carousel.jpg
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/screenshots/cover.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/examples/screenshots/cover.jpg
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/screenshots/dashboard.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/examples/screenshots/dashboard.jpg
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/screenshots/equal-height-columns.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/examples/screenshots/equal-height-columns.jpg
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/screenshots/grid.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/examples/screenshots/grid.jpg
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/screenshots/jumbotron-narrow.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/examples/screenshots/jumbotron-narrow.jpg
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/screenshots/jumbotron.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/examples/screenshots/jumbotron.jpg
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/screenshots/justified-nav.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/examples/screenshots/justified-nav.jpg
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/screenshots/navbar-fixed.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/examples/screenshots/navbar-fixed.jpg
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/screenshots/navbar-static.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/examples/screenshots/navbar-static.jpg
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/screenshots/navbar.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/examples/screenshots/navbar.jpg
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/screenshots/non-responsive.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/examples/screenshots/non-responsive.jpg
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/screenshots/offcanvas.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/examples/screenshots/offcanvas.jpg
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/screenshots/sign-in.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/examples/screenshots/sign-in.jpg
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/screenshots/starter-template.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/examples/screenshots/starter-template.jpg
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/screenshots/sticky-footer-navbar.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/examples/screenshots/sticky-footer-navbar.jpg
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/screenshots/sticky-footer.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/examples/screenshots/sticky-footer.jpg
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/screenshots/theme.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/examples/screenshots/theme.jpg
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/signin/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | Signin Template for Bootstrap
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
32 |
33 |
34 |
35 |
36 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/signin/signin.css:
--------------------------------------------------------------------------------
1 | body {
2 | padding-top: 40px;
3 | padding-bottom: 40px;
4 | background-color: #eee;
5 | }
6 |
7 | .form-signin {
8 | max-width: 330px;
9 | padding: 15px;
10 | margin: 0 auto;
11 | }
12 | .form-signin .form-signin-heading,
13 | .form-signin .checkbox {
14 | margin-bottom: 10px;
15 | }
16 | .form-signin .checkbox {
17 | font-weight: normal;
18 | }
19 | .form-signin .form-control {
20 | position: relative;
21 | height: auto;
22 | -webkit-box-sizing: border-box;
23 | -moz-box-sizing: border-box;
24 | box-sizing: border-box;
25 | padding: 10px;
26 | font-size: 16px;
27 | }
28 | .form-signin .form-control:focus {
29 | z-index: 2;
30 | }
31 | .form-signin input[type="email"] {
32 | margin-bottom: -1px;
33 | border-bottom-right-radius: 0;
34 | border-bottom-left-radius: 0;
35 | }
36 | .form-signin input[type="password"] {
37 | margin-bottom: 10px;
38 | border-top-left-radius: 0;
39 | border-top-right-radius: 0;
40 | }
41 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/starter-template/starter-template.css:
--------------------------------------------------------------------------------
1 | body {
2 | padding-top: 50px;
3 | }
4 | .starter-template {
5 | padding: 40px 15px;
6 | text-align: center;
7 | }
8 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/sticky-footer-navbar/sticky-footer-navbar.css:
--------------------------------------------------------------------------------
1 | /* Sticky footer styles
2 | -------------------------------------------------- */
3 | html {
4 | position: relative;
5 | min-height: 100%;
6 | }
7 | body {
8 | /* Margin bottom by footer height */
9 | margin-bottom: 60px;
10 | }
11 | .footer {
12 | position: absolute;
13 | bottom: 0;
14 | width: 100%;
15 | /* Set the fixed height of the footer here */
16 | height: 60px;
17 | background-color: #f5f5f5;
18 | }
19 |
20 |
21 | /* Custom page CSS
22 | -------------------------------------------------- */
23 | /* Not required for template or sticky footer method. */
24 |
25 | body > .container {
26 | padding: 60px 15px 0;
27 | }
28 | .container .text-muted {
29 | margin: 20px 0;
30 | }
31 |
32 | .footer > .container {
33 | padding-right: 15px;
34 | padding-left: 15px;
35 | }
36 |
37 | code {
38 | font-size: 80%;
39 | }
40 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/sticky-footer/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | Sticky Footer Template for Bootstrap
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
41 |
Pin a fixed-height footer to the bottom of the viewport in desktop browsers with this custom HTML and CSS.
42 |
Use the sticky footer with a fixed navbar if need be, too.
43 |
44 |
45 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/sticky-footer/sticky-footer.css:
--------------------------------------------------------------------------------
1 | /* Sticky footer styles
2 | -------------------------------------------------- */
3 | html {
4 | position: relative;
5 | min-height: 100%;
6 | }
7 | body {
8 | /* Margin bottom by footer height */
9 | margin-bottom: 60px;
10 | }
11 | .footer {
12 | position: absolute;
13 | bottom: 0;
14 | width: 100%;
15 | /* Set the fixed height of the footer here */
16 | height: 60px;
17 | background-color: #f5f5f5;
18 | }
19 |
20 |
21 | /* Custom page CSS
22 | -------------------------------------------------- */
23 | /* Not required for template or sticky footer method. */
24 |
25 | .container {
26 | width: auto;
27 | max-width: 680px;
28 | padding: 0 15px;
29 | }
30 | .container .text-muted {
31 | margin: 20px 0;
32 | }
33 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/theme/theme.css:
--------------------------------------------------------------------------------
1 | body {
2 | padding-top: 70px;
3 | padding-bottom: 30px;
4 | }
5 |
6 | .theme-dropdown .dropdown-menu {
7 | position: static;
8 | display: block;
9 | margin-bottom: 20px;
10 | }
11 |
12 | .theme-showcase > p > .btn {
13 | margin: 5px 0;
14 | }
15 |
16 | .theme-showcase .navbar .container {
17 | width: auto;
18 | }
19 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/tooltip-viewport/tooltip-viewport.css:
--------------------------------------------------------------------------------
1 | body {
2 | height: 1200px;
3 | }
4 | .tooltip {
5 | min-width: 250px;
6 | max-width: 500px;
7 | }
8 | .tooltip .tooltip-inner {
9 | min-width: 250px;
10 | max-width: 500px;
11 | min-height: 100px;
12 | text-align: left;
13 | }
14 | .container-viewport {
15 | position: absolute;
16 | top: 100px;
17 | right: 250px;
18 | left: 250px;
19 | height: 300px;
20 | background-color: #eee;
21 | }
22 | .btn-bottom {
23 | position: absolute;
24 | bottom: 0;
25 | left: 0;
26 | }
27 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/examples/tooltip-viewport/tooltip-viewport.js:
--------------------------------------------------------------------------------
1 | $(document).ready(function () {
2 | $('.tooltip-right').tooltip({
3 | placement: 'right',
4 | viewport: {selector: 'body', padding: 2}
5 | })
6 | $('.tooltip-bottom').tooltip({
7 | placement: 'bottom',
8 | viewport: {selector: 'body', padding: 2}
9 | })
10 | $('.tooltip-viewport-right').tooltip({
11 | placement: 'right',
12 | viewport: {selector: '.container-viewport', padding: 2}
13 | })
14 | $('.tooltip-viewport-bottom').tooltip({
15 | placement: 'bottom',
16 | viewport: {selector: '.container-viewport', padding: 2}
17 | })
18 | })
19 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/docs/favicon.ico
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/getting-started.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | title: Getting started
4 | slug: getting-started
5 | lead: "An overview of Bootstrap, how to download and use, basic templates and examples, and more."
6 | ---
7 |
8 |
9 | {% include getting-started/download.html %}
10 | {% include getting-started/whats-included.html %}
11 | {% include getting-started/grunt.html %}
12 | {% include getting-started/template.html %}
13 | {% include getting-started/examples.html %}
14 | {% include getting-started/tools.html %}
15 | {% include getting-started/community.html %}
16 | {% include getting-started/disabling-responsiveness.html %}
17 |
18 |
19 |
20 |
Migrating from v2.x to v3.x
21 |
Looking to migrate from an older version of Bootstrap to v3.x? Check out our migration guide .
22 |
23 |
24 | {% include getting-started/browser-device-support.html %}
25 | {% include getting-started/third-party-support.html %}
26 | {% include getting-started/accessibility.html %}
27 | {% include getting-started/license.html %}
28 | {% include getting-started/translations.html %}
29 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/javascript.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | title: JavaScript
4 | slug: js
5 | lead: "Bring Bootstrap's components to life with over a dozen custom jQuery plugins. Easily include them all, or one by one."
6 | ---
7 |
8 |
9 | {% include js/overview.html %}
10 | {% include js/transitions.html %}
11 | {% include js/modal.html %}
12 | {% include js/dropdowns.html %}
13 | {% include js/scrollspy.html %}
14 | {% include js/tabs.html %}
15 | {% include js/tooltips.html %}
16 | {% include js/popovers.html %}
17 | {% include js/alerts.html %}
18 | {% include js/buttons.html %}
19 | {% include js/collapse.html %}
20 | {% include js/carousel.html %}
21 | {% include js/affix.html %}
22 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/docs/robots.txt:
--------------------------------------------------------------------------------
1 | ---
2 | ---
3 |
4 | # www.robotstxt.org/
5 |
6 | # Allow crawling of all content
7 | User-agent: *
8 | Disallow:
9 | Sitemap: {{ site.url }}/sitemap.xml
10 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/bootstrap-3.3.7/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/grunt/.jshintrc:
--------------------------------------------------------------------------------
1 | {
2 | "extends" : "../js/.jshintrc",
3 | "asi" : false,
4 | "browser" : false,
5 | "es3" : false,
6 | "node" : true
7 | }
8 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/grunt/bs-commonjs-generator.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap Grunt task for the CommonJS module generation
3 | * http://getbootstrap.com
4 | * Copyright 2014-2015 Twitter, Inc.
5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6 | */
7 |
8 | 'use strict';
9 |
10 | var fs = require('fs');
11 | var path = require('path');
12 |
13 | var COMMONJS_BANNER = '// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.\n';
14 |
15 | module.exports = function generateCommonJSModule(grunt, srcFiles, destFilepath) {
16 | var destDir = path.dirname(destFilepath);
17 |
18 | function srcPathToDestRequire(srcFilepath) {
19 | var requirePath = path.relative(destDir, srcFilepath).replace(/\\/g, '/');
20 | return 'require(\'' + requirePath + '\')';
21 | }
22 |
23 | var moduleOutputJs = COMMONJS_BANNER + srcFiles.map(srcPathToDestRequire).join('\n');
24 | try {
25 | fs.writeFileSync(destFilepath, moduleOutputJs);
26 | } catch (err) {
27 | grunt.fail.warn(err);
28 | }
29 | grunt.log.writeln('File ' + destFilepath.cyan + ' created.');
30 | };
31 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/grunt/bs-glyphicons-data-generator.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap Grunt task for Glyphicons data generation
3 | * http://getbootstrap.com
4 | * Copyright 2014-2015 Twitter, Inc.
5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6 | */
7 |
8 | 'use strict';
9 |
10 | var fs = require('fs');
11 |
12 | module.exports = function generateGlyphiconsData(grunt) {
13 | // Pass encoding, utf8, so `readFileSync` will return a string instead of a
14 | // buffer
15 | var glyphiconsFile = fs.readFileSync('less/glyphicons.less', 'utf8');
16 | var glyphiconsLines = glyphiconsFile.split('\n');
17 |
18 | // Use any line that starts with ".glyphicon-" and capture the class name
19 | var iconClassName = /^\.(glyphicon-[a-zA-Z0-9-]+)/;
20 | var glyphiconsData = '# This file is generated via Grunt task. **Do not edit directly.**\n' +
21 | '# See the \'build-glyphicons-data\' task in Gruntfile.js.\n\n';
22 | var glyphiconsYml = 'docs/_data/glyphicons.yml';
23 | for (var i = 0, len = glyphiconsLines.length; i < len; i++) {
24 | var match = glyphiconsLines[i].match(iconClassName);
25 |
26 | if (match !== null) {
27 | glyphiconsData += '- ' + match[1] + '\n';
28 | }
29 | }
30 |
31 | // Create the `_data` directory if it doesn't already exist
32 | if (!fs.existsSync('docs/_data')) {
33 | fs.mkdirSync('docs/_data');
34 | }
35 |
36 | try {
37 | fs.writeFileSync(glyphiconsYml, glyphiconsData);
38 | } catch (err) {
39 | grunt.fail.warn(err);
40 | }
41 | grunt.log.writeln('File ' + glyphiconsYml.cyan + ' created.');
42 | };
43 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/grunt/bs-raw-files-generator.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap Grunt task for generating raw-files.min.js for the Customizer
3 | * http://getbootstrap.com
4 | * Copyright 2014-2015 Twitter, Inc.
5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6 | */
7 |
8 | 'use strict';
9 |
10 | var fs = require('fs');
11 | var btoa = require('btoa');
12 | var glob = require('glob');
13 |
14 | function getFiles(type) {
15 | var files = {};
16 | var recursive = type === 'less';
17 | var globExpr = recursive ? '/**/*' : '/*';
18 | glob.sync(type + globExpr)
19 | .filter(function (path) {
20 | return type === 'fonts' ? true : new RegExp('\\.' + type + '$').test(path);
21 | })
22 | .forEach(function (fullPath) {
23 | var relativePath = fullPath.replace(/^[^/]+\//, '');
24 | files[relativePath] = type === 'fonts' ? btoa(fs.readFileSync(fullPath)) : fs.readFileSync(fullPath, 'utf8');
25 | });
26 | return 'var __' + type + ' = ' + JSON.stringify(files) + '\n';
27 | }
28 |
29 | module.exports = function generateRawFilesJs(grunt, banner) {
30 | if (!banner) {
31 | banner = '';
32 | }
33 | var dirs = ['js', 'less', 'fonts'];
34 | var files = banner + dirs.map(getFiles).reduce(function (combined, file) {
35 | return combined + file;
36 | }, '');
37 | var rawFilesJs = 'docs/assets/js/raw-files.min.js';
38 | try {
39 | fs.writeFileSync(rawFilesJs, files);
40 | } catch (err) {
41 | grunt.fail.warn(err);
42 | }
43 | grunt.log.writeln('File ' + rawFilesJs.cyan + ' created.');
44 | };
45 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/grunt/configBridge.json:
--------------------------------------------------------------------------------
1 | {
2 | "paths": {
3 | "customizerJs": [
4 | "../assets/js/vendor/autoprefixer.js",
5 | "../assets/js/vendor/less.min.js",
6 | "../assets/js/vendor/jszip.min.js",
7 | "../assets/js/vendor/uglify.min.js",
8 | "../assets/js/vendor/Blob.js",
9 | "../assets/js/vendor/FileSaver.js",
10 | "../assets/js/raw-files.min.js",
11 | "../assets/js/src/customizer.js"
12 | ],
13 | "docsJs": [
14 | "../assets/js/vendor/holder.min.js",
15 | "../assets/js/vendor/ZeroClipboard.min.js",
16 | "../assets/js/vendor/anchor.min.js",
17 | "../assets/js/src/application.js"
18 | ]
19 | },
20 | "config": {
21 | "autoprefixerBrowsers": [
22 | "Android 2.3",
23 | "Android >= 4",
24 | "Chrome >= 20",
25 | "Firefox >= 24",
26 | "Explorer >= 8",
27 | "iOS >= 6",
28 | "Opera >= 12",
29 | "Safari >= 6"
30 | ],
31 | "jqueryCheck": [
32 | "if (typeof jQuery === 'undefined') {",
33 | " throw new Error('Bootstrap\\'s JavaScript requires jQuery')",
34 | "}\n"
35 | ],
36 | "jqueryVersionCheck": [
37 | "+function ($) {",
38 | " 'use strict';",
39 | " var version = $.fn.jquery.split(' ')[0].split('.')",
40 | " if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 3)) {",
41 | " throw new Error('Bootstrap\\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4')",
42 | " }",
43 | "}(jQuery);\n\n"
44 | ]
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/grunt/sauce_browsers.yml:
--------------------------------------------------------------------------------
1 | [
2 | # Docs: https://saucelabs.com/docs/platforms/webdriver
3 |
4 | {
5 | browserName: "safari",
6 | platform: "OS X 10.10"
7 | },
8 | {
9 | browserName: "chrome",
10 | platform: "OS X 10.10"
11 | },
12 | {
13 | browserName: "firefox",
14 | platform: "OS X 10.10"
15 | },
16 |
17 | # Mac Opera not currently supported by Sauce Labs
18 |
19 | {
20 | browserName: "internet explorer",
21 | version: "11",
22 | platform: "Windows 8.1"
23 | },
24 | {
25 | browserName: "internet explorer",
26 | version: "10",
27 | platform: "Windows 8"
28 | },
29 | {
30 | browserName: "internet explorer",
31 | version: "9",
32 | platform: "Windows 7"
33 | },
34 | {
35 | browserName: "internet explorer",
36 | version: "8",
37 | platform: "Windows 7"
38 | },
39 |
40 | # { # Unofficial
41 | # browserName: "internet explorer",
42 | # version: "7",
43 | # platform: "Windows XP"
44 | # },
45 |
46 | {
47 | browserName: "chrome",
48 | platform: "Windows 8.1"
49 | },
50 | {
51 | browserName: "firefox",
52 | platform: "Windows 8.1"
53 | },
54 |
55 | # Win Opera 15+ not currently supported by Sauce Labs
56 |
57 | {
58 | browserName: "iphone",
59 | platform: "OS X 10.10",
60 | version: "9.2"
61 | },
62 |
63 | # iOS Chrome not currently supported by Sauce Labs
64 |
65 | # Linux (unofficial)
66 | {
67 | browserName: "chrome",
68 | platform: "Linux"
69 | },
70 | {
71 | browserName: "firefox",
72 | platform: "Linux"
73 | }
74 |
75 | # Android Chrome not currently supported by Sauce Labs
76 |
77 | # { # Android Browser (super-unofficial)
78 | # browserName: "android",
79 | # version: "4.0",
80 | # platform: "Linux"
81 | # }
82 | ]
83 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/js/.jscsrc:
--------------------------------------------------------------------------------
1 | {
2 | "disallowEmptyBlocks": true,
3 | "disallowKeywords": ["with"],
4 | "disallowMixedSpacesAndTabs": true,
5 | "disallowMultipleLineStrings": true,
6 | "disallowMultipleVarDecl": true,
7 | "disallowQuotedKeysInObjects": "allButReserved",
8 | "disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
9 | "disallowSpaceBeforeBinaryOperators": [","],
10 | "disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
11 | "disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true },
12 | "disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true },
13 | "disallowSpacesInsideArrayBrackets": true,
14 | "disallowSpacesInsideParentheses": true,
15 | "disallowTrailingComma": true,
16 | "disallowTrailingWhitespace": true,
17 | "requireCamelCaseOrUpperCaseIdentifiers": true,
18 | "requireCapitalizedConstructors": true,
19 | "requireCommaBeforeLineBreak": true,
20 | "requireDollarBeforejQueryAssignment": true,
21 | "requireDotNotation": true,
22 | "requireLineFeedAtFileEnd": true,
23 | "requirePaddingNewLinesAfterUseStrict": true,
24 | "requirePaddingNewLinesBeforeExport": true,
25 | "requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!==", ">", "<", ">=", "<="],
26 | "requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch"],
27 | "requireSpaceAfterLineComment": true,
28 | "requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!==", ">", "<", ">=", "<="],
29 | "requireSpaceBetweenArguments": true,
30 | "requireSpacesInAnonymousFunctionExpression": { "beforeOpeningCurlyBrace": true, "beforeOpeningRoundBrace": true },
31 | "requireSpacesInConditionalExpression": true,
32 | "requireSpacesInForStatement": true,
33 | "requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true },
34 | "requireSpacesInFunctionExpression": { "beforeOpeningCurlyBrace": true },
35 | "requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true },
36 | "requireSpacesInsideObjectBrackets": "allButNested",
37 | "validateAlignedFunctionParameters": true,
38 | "validateIndentation": 2,
39 | "validateLineBreaks": "LF",
40 | "validateNewlineAfterArrayElements": true,
41 | "validateQuoteMarks": "'"
42 | }
43 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/js/.jshintrc:
--------------------------------------------------------------------------------
1 | {
2 | "asi" : true,
3 | "browser" : true,
4 | "eqeqeq" : false,
5 | "eqnull" : true,
6 | "es3" : true,
7 | "expr" : true,
8 | "jquery" : true,
9 | "latedef" : true,
10 | "laxbreak" : true,
11 | "nonbsp" : true,
12 | "strict" : true,
13 | "undef" : true,
14 | "unused" : true
15 | }
16 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/js/tests/unit/.jshintrc:
--------------------------------------------------------------------------------
1 | {
2 | "extends" : "../../.jshintrc",
3 | "devel" : true,
4 | "es3" : false,
5 | "qunit" : true
6 | }
7 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/js/tests/unit/phantom.js:
--------------------------------------------------------------------------------
1 | /*
2 | * grunt-contrib-qunit
3 | * http://gruntjs.com/
4 | *
5 | * Copyright (c) 2014 "Cowboy" Ben Alman, contributors
6 | * Licensed under the MIT license.
7 | */
8 |
9 | (function () {
10 | 'use strict';
11 |
12 | // Don't re-order tests.
13 | QUnit.config.reorder = false
14 | // Run tests serially, not in parallel.
15 | QUnit.config.autorun = false
16 |
17 | // Send messages to the parent PhantomJS process via alert! Good times!!
18 | function sendMessage() {
19 | var args = [].slice.call(arguments)
20 | alert(JSON.stringify(args))
21 | }
22 |
23 | // These methods connect QUnit to PhantomJS.
24 | QUnit.log(function (obj) {
25 | // What is this I don’t even
26 | if (obj.message === '[object Object], undefined:undefined') { return }
27 |
28 | // Parse some stuff before sending it.
29 | var actual
30 | var expected
31 | if (!obj.result) {
32 | // Dumping large objects can be very slow, and the dump isn't used for
33 | // passing tests, so only dump if the test failed.
34 | actual = QUnit.dump.parse(obj.actual)
35 | expected = QUnit.dump.parse(obj.expected)
36 | }
37 | // Send it.
38 | sendMessage('qunit.log', obj.result, actual, expected, obj.message, obj.source)
39 | })
40 |
41 | QUnit.testStart(function (obj) {
42 | sendMessage('qunit.testStart', obj.name)
43 | })
44 |
45 | QUnit.testDone(function (obj) {
46 | sendMessage('qunit.testDone', obj.name, obj.failed, obj.passed, obj.total, obj.duration)
47 | })
48 |
49 | QUnit.moduleStart(function (obj) {
50 | sendMessage('qunit.moduleStart', obj.name)
51 | })
52 |
53 | QUnit.moduleDone(function (obj) {
54 | if (obj.failed === 0) {
55 | console.log('\r\u221A All tests passed in "' + obj.name + '" module')
56 | } else {
57 | console.log('\u00D7 ' + obj.failed + ' tests failed in "' + obj.name + '" module')
58 | }
59 | sendMessage('qunit.moduleDone', obj.name, obj.failed, obj.passed, obj.total)
60 | })
61 |
62 | QUnit.begin(function () {
63 | sendMessage('qunit.begin')
64 | console.log('\n\nStarting test suite')
65 | console.log('================================================\n')
66 | })
67 |
68 | QUnit.done(function (obj) {
69 | sendMessage('qunit.done', obj.failed, obj.passed, obj.total, obj.runtime)
70 | })
71 |
72 | }())
73 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/js/tests/visual/alert.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Alert
8 |
9 |
10 |
11 |
12 |
16 |
17 |
18 |
19 |
20 |
21 |
24 |
25 |
26 | ×
27 | Holy guacamole! Best check yo self, you're not looking too good.
28 |
29 |
30 |
31 |
×
32 |
Oh snap! You got an error!
33 |
Change this and that and try again. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.
34 |
35 | Take this action
36 | Or do this
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/js/tests/visual/carousel.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Carousel
8 |
9 |
10 |
11 |
12 |
16 |
17 |
18 |
19 |
20 |
21 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/js/tests/visual/popover.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Popover
8 |
9 |
10 |
11 |
12 |
16 |
17 |
18 |
19 |
20 |
21 |
24 |
25 |
26 | Popover on left
27 |
28 |
29 | Popover on top
30 |
31 |
32 | Popover on bottom
33 |
34 |
35 | Popover on right
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
52 |
53 |
54 |
55 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/js/transition.js:
--------------------------------------------------------------------------------
1 | /* ========================================================================
2 | * Bootstrap: transition.js v3.3.7
3 | * http://getbootstrap.com/javascript/#transitions
4 | * ========================================================================
5 | * Copyright 2011-2016 Twitter, Inc.
6 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
7 | * ======================================================================== */
8 |
9 |
10 | +function ($) {
11 | 'use strict';
12 |
13 | // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
14 | // ============================================================
15 |
16 | function transitionEnd() {
17 | var el = document.createElement('bootstrap')
18 |
19 | var transEndEventNames = {
20 | WebkitTransition : 'webkitTransitionEnd',
21 | MozTransition : 'transitionend',
22 | OTransition : 'oTransitionEnd otransitionend',
23 | transition : 'transitionend'
24 | }
25 |
26 | for (var name in transEndEventNames) {
27 | if (el.style[name] !== undefined) {
28 | return { end: transEndEventNames[name] }
29 | }
30 | }
31 |
32 | return false // explicit for ie8 ( ._.)
33 | }
34 |
35 | // http://blog.alexmaccaw.com/css-transitions
36 | $.fn.emulateTransitionEnd = function (duration) {
37 | var called = false
38 | var $el = this
39 | $(this).one('bsTransitionEnd', function () { called = true })
40 | var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
41 | setTimeout(callback, duration)
42 | return this
43 | }
44 |
45 | $(function () {
46 | $.support.transition = transitionEnd()
47 |
48 | if (!$.support.transition) return
49 |
50 | $.event.special.bsTransitionEnd = {
51 | bindType: $.support.transition.end,
52 | delegateType: $.support.transition.end,
53 | handle: function (e) {
54 | if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)
55 | }
56 | }
57 | })
58 |
59 | }(jQuery);
60 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/.csslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "adjoining-classes": false,
3 | "box-sizing": false,
4 | "box-model": false,
5 | "compatible-vendor-prefixes": false,
6 | "floats": false,
7 | "font-sizes": false,
8 | "gradients": false,
9 | "important": false,
10 | "known-properties": false,
11 | "outline-none": false,
12 | "qualified-headings": false,
13 | "regex-selectors": false,
14 | "shorthand": false,
15 | "text-indent": false,
16 | "unique-headings": false,
17 | "universal-selector": false,
18 | "unqualified-attributes": false
19 | }
20 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/alerts.less:
--------------------------------------------------------------------------------
1 | //
2 | // Alerts
3 | // --------------------------------------------------
4 |
5 |
6 | // Base styles
7 | // -------------------------
8 |
9 | .alert {
10 | padding: @alert-padding;
11 | margin-bottom: @line-height-computed;
12 | border: 1px solid transparent;
13 | border-radius: @alert-border-radius;
14 |
15 | // Headings for larger alerts
16 | h4 {
17 | margin-top: 0;
18 | // Specified for the h4 to prevent conflicts of changing @headings-color
19 | color: inherit;
20 | }
21 |
22 | // Provide class for links that match alerts
23 | .alert-link {
24 | font-weight: @alert-link-font-weight;
25 | }
26 |
27 | // Improve alignment and spacing of inner content
28 | > p,
29 | > ul {
30 | margin-bottom: 0;
31 | }
32 |
33 | > p + p {
34 | margin-top: 5px;
35 | }
36 | }
37 |
38 | // Dismissible alerts
39 | //
40 | // Expand the right padding and account for the close button's positioning.
41 |
42 | .alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0.
43 | .alert-dismissible {
44 | padding-right: (@alert-padding + 20);
45 |
46 | // Adjust close link position
47 | .close {
48 | position: relative;
49 | top: -2px;
50 | right: -21px;
51 | color: inherit;
52 | }
53 | }
54 |
55 | // Alternate styles
56 | //
57 | // Generate contextual modifier classes for colorizing the alert.
58 |
59 | .alert-success {
60 | .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text);
61 | }
62 |
63 | .alert-info {
64 | .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text);
65 | }
66 |
67 | .alert-warning {
68 | .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text);
69 | }
70 |
71 | .alert-danger {
72 | .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text);
73 | }
74 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/badges.less:
--------------------------------------------------------------------------------
1 | //
2 | // Badges
3 | // --------------------------------------------------
4 |
5 |
6 | // Base class
7 | .badge {
8 | display: inline-block;
9 | min-width: 10px;
10 | padding: 3px 7px;
11 | font-size: @font-size-small;
12 | font-weight: @badge-font-weight;
13 | color: @badge-color;
14 | line-height: @badge-line-height;
15 | vertical-align: middle;
16 | white-space: nowrap;
17 | text-align: center;
18 | background-color: @badge-bg;
19 | border-radius: @badge-border-radius;
20 |
21 | // Empty badges collapse automatically (not available in IE8)
22 | &:empty {
23 | display: none;
24 | }
25 |
26 | // Quick fix for badges in buttons
27 | .btn & {
28 | position: relative;
29 | top: -1px;
30 | }
31 |
32 | .btn-xs &,
33 | .btn-group-xs > .btn & {
34 | top: 0;
35 | padding: 1px 5px;
36 | }
37 |
38 | // Hover state, but only for links
39 | a& {
40 | &:hover,
41 | &:focus {
42 | color: @badge-link-hover-color;
43 | text-decoration: none;
44 | cursor: pointer;
45 | }
46 | }
47 |
48 | // Account for badges in navs
49 | .list-group-item.active > &,
50 | .nav-pills > .active > a > & {
51 | color: @badge-active-color;
52 | background-color: @badge-active-bg;
53 | }
54 |
55 | .list-group-item > & {
56 | float: right;
57 | }
58 |
59 | .list-group-item > & + & {
60 | margin-right: 5px;
61 | }
62 |
63 | .nav-pills > li > a > & {
64 | margin-left: 3px;
65 | }
66 | }
67 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/bootstrap.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap v3.3.7 (http://getbootstrap.com)
3 | * Copyright 2011-2016 Twitter, Inc.
4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5 | */
6 |
7 | // Core variables and mixins
8 | @import "variables.less";
9 | @import "mixins.less";
10 |
11 | // Reset and dependencies
12 | @import "normalize.less";
13 | @import "print.less";
14 | @import "glyphicons.less";
15 |
16 | // Core CSS
17 | @import "scaffolding.less";
18 | @import "type.less";
19 | @import "code.less";
20 | @import "grid.less";
21 | @import "tables.less";
22 | @import "forms.less";
23 | @import "buttons.less";
24 |
25 | // Components
26 | @import "component-animations.less";
27 | @import "dropdowns.less";
28 | @import "button-groups.less";
29 | @import "input-groups.less";
30 | @import "navs.less";
31 | @import "navbar.less";
32 | @import "breadcrumbs.less";
33 | @import "pagination.less";
34 | @import "pager.less";
35 | @import "labels.less";
36 | @import "badges.less";
37 | @import "jumbotron.less";
38 | @import "thumbnails.less";
39 | @import "alerts.less";
40 | @import "progress-bars.less";
41 | @import "media.less";
42 | @import "list-group.less";
43 | @import "panels.less";
44 | @import "responsive-embed.less";
45 | @import "wells.less";
46 | @import "close.less";
47 |
48 | // Components w/ JavaScript
49 | @import "modals.less";
50 | @import "tooltip.less";
51 | @import "popovers.less";
52 | @import "carousel.less";
53 |
54 | // Utility classes
55 | @import "utilities.less";
56 | @import "responsive-utilities.less";
57 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/breadcrumbs.less:
--------------------------------------------------------------------------------
1 | //
2 | // Breadcrumbs
3 | // --------------------------------------------------
4 |
5 |
6 | .breadcrumb {
7 | padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal;
8 | margin-bottom: @line-height-computed;
9 | list-style: none;
10 | background-color: @breadcrumb-bg;
11 | border-radius: @border-radius-base;
12 |
13 | > li {
14 | display: inline-block;
15 |
16 | + li:before {
17 | content: "@{breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space
18 | padding: 0 5px;
19 | color: @breadcrumb-color;
20 | }
21 | }
22 |
23 | > .active {
24 | color: @breadcrumb-active-color;
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/close.less:
--------------------------------------------------------------------------------
1 | //
2 | // Close icons
3 | // --------------------------------------------------
4 |
5 |
6 | .close {
7 | float: right;
8 | font-size: (@font-size-base * 1.5);
9 | font-weight: @close-font-weight;
10 | line-height: 1;
11 | color: @close-color;
12 | text-shadow: @close-text-shadow;
13 | .opacity(.2);
14 |
15 | &:hover,
16 | &:focus {
17 | color: @close-color;
18 | text-decoration: none;
19 | cursor: pointer;
20 | .opacity(.5);
21 | }
22 |
23 | // Additional properties for button version
24 | // iOS requires the button element instead of an anchor tag.
25 | // If you want the anchor version, it requires `href="#"`.
26 | // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
27 | button& {
28 | padding: 0;
29 | cursor: pointer;
30 | background: transparent;
31 | border: 0;
32 | -webkit-appearance: none;
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/code.less:
--------------------------------------------------------------------------------
1 | //
2 | // Code (inline and block)
3 | // --------------------------------------------------
4 |
5 |
6 | // Inline and block code styles
7 | code,
8 | kbd,
9 | pre,
10 | samp {
11 | font-family: @font-family-monospace;
12 | }
13 |
14 | // Inline code
15 | code {
16 | padding: 2px 4px;
17 | font-size: 90%;
18 | color: @code-color;
19 | background-color: @code-bg;
20 | border-radius: @border-radius-base;
21 | }
22 |
23 | // User input typically entered via keyboard
24 | kbd {
25 | padding: 2px 4px;
26 | font-size: 90%;
27 | color: @kbd-color;
28 | background-color: @kbd-bg;
29 | border-radius: @border-radius-small;
30 | box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);
31 |
32 | kbd {
33 | padding: 0;
34 | font-size: 100%;
35 | font-weight: bold;
36 | box-shadow: none;
37 | }
38 | }
39 |
40 | // Blocks of code
41 | pre {
42 | display: block;
43 | padding: ((@line-height-computed - 1) / 2);
44 | margin: 0 0 (@line-height-computed / 2);
45 | font-size: (@font-size-base - 1); // 14px to 13px
46 | line-height: @line-height-base;
47 | word-break: break-all;
48 | word-wrap: break-word;
49 | color: @pre-color;
50 | background-color: @pre-bg;
51 | border: 1px solid @pre-border-color;
52 | border-radius: @border-radius-base;
53 |
54 | // Account for some code outputs that place code tags in pre tags
55 | code {
56 | padding: 0;
57 | font-size: inherit;
58 | color: inherit;
59 | white-space: pre-wrap;
60 | background-color: transparent;
61 | border-radius: 0;
62 | }
63 | }
64 |
65 | // Enable scrollable blocks of code
66 | .pre-scrollable {
67 | max-height: @pre-scrollable-max-height;
68 | overflow-y: scroll;
69 | }
70 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/component-animations.less:
--------------------------------------------------------------------------------
1 | //
2 | // Component animations
3 | // --------------------------------------------------
4 |
5 | // Heads up!
6 | //
7 | // We don't use the `.opacity()` mixin here since it causes a bug with text
8 | // fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552.
9 |
10 | .fade {
11 | opacity: 0;
12 | .transition(opacity .15s linear);
13 | &.in {
14 | opacity: 1;
15 | }
16 | }
17 |
18 | .collapse {
19 | display: none;
20 |
21 | &.in { display: block; }
22 | tr&.in { display: table-row; }
23 | tbody&.in { display: table-row-group; }
24 | }
25 |
26 | .collapsing {
27 | position: relative;
28 | height: 0;
29 | overflow: hidden;
30 | .transition-property(~"height, visibility");
31 | .transition-duration(.35s);
32 | .transition-timing-function(ease);
33 | }
34 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/grid.less:
--------------------------------------------------------------------------------
1 | //
2 | // Grid system
3 | // --------------------------------------------------
4 |
5 |
6 | // Container widths
7 | //
8 | // Set the container width, and override it for fixed navbars in media queries.
9 |
10 | .container {
11 | .container-fixed();
12 |
13 | @media (min-width: @screen-sm-min) {
14 | width: @container-sm;
15 | }
16 | @media (min-width: @screen-md-min) {
17 | width: @container-md;
18 | }
19 | @media (min-width: @screen-lg-min) {
20 | width: @container-lg;
21 | }
22 | }
23 |
24 |
25 | // Fluid container
26 | //
27 | // Utilizes the mixin meant for fixed width containers, but without any defined
28 | // width for fluid, full width layouts.
29 |
30 | .container-fluid {
31 | .container-fixed();
32 | }
33 |
34 |
35 | // Row
36 | //
37 | // Rows contain and clear the floats of your columns.
38 |
39 | .row {
40 | .make-row();
41 | }
42 |
43 |
44 | // Columns
45 | //
46 | // Common styles for small and large grid columns
47 |
48 | .make-grid-columns();
49 |
50 |
51 | // Extra small grid
52 | //
53 | // Columns, offsets, pushes, and pulls for extra small devices like
54 | // smartphones.
55 |
56 | .make-grid(xs);
57 |
58 |
59 | // Small grid
60 | //
61 | // Columns, offsets, pushes, and pulls for the small device range, from phones
62 | // to tablets.
63 |
64 | @media (min-width: @screen-sm-min) {
65 | .make-grid(sm);
66 | }
67 |
68 |
69 | // Medium grid
70 | //
71 | // Columns, offsets, pushes, and pulls for the desktop device range.
72 |
73 | @media (min-width: @screen-md-min) {
74 | .make-grid(md);
75 | }
76 |
77 |
78 | // Large grid
79 | //
80 | // Columns, offsets, pushes, and pulls for the large desktop device range.
81 |
82 | @media (min-width: @screen-lg-min) {
83 | .make-grid(lg);
84 | }
85 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/jumbotron.less:
--------------------------------------------------------------------------------
1 | //
2 | // Jumbotron
3 | // --------------------------------------------------
4 |
5 |
6 | .jumbotron {
7 | padding-top: @jumbotron-padding;
8 | padding-bottom: @jumbotron-padding;
9 | margin-bottom: @jumbotron-padding;
10 | color: @jumbotron-color;
11 | background-color: @jumbotron-bg;
12 |
13 | h1,
14 | .h1 {
15 | color: @jumbotron-heading-color;
16 | }
17 |
18 | p {
19 | margin-bottom: (@jumbotron-padding / 2);
20 | font-size: @jumbotron-font-size;
21 | font-weight: 200;
22 | }
23 |
24 | > hr {
25 | border-top-color: darken(@jumbotron-bg, 10%);
26 | }
27 |
28 | .container &,
29 | .container-fluid & {
30 | border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container
31 | padding-left: (@grid-gutter-width / 2);
32 | padding-right: (@grid-gutter-width / 2);
33 | }
34 |
35 | .container {
36 | max-width: 100%;
37 | }
38 |
39 | @media screen and (min-width: @screen-sm-min) {
40 | padding-top: (@jumbotron-padding * 1.6);
41 | padding-bottom: (@jumbotron-padding * 1.6);
42 |
43 | .container &,
44 | .container-fluid & {
45 | padding-left: (@jumbotron-padding * 2);
46 | padding-right: (@jumbotron-padding * 2);
47 | }
48 |
49 | h1,
50 | .h1 {
51 | font-size: @jumbotron-heading-font-size;
52 | }
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/labels.less:
--------------------------------------------------------------------------------
1 | //
2 | // Labels
3 | // --------------------------------------------------
4 |
5 | .label {
6 | display: inline;
7 | padding: .2em .6em .3em;
8 | font-size: 75%;
9 | font-weight: bold;
10 | line-height: 1;
11 | color: @label-color;
12 | text-align: center;
13 | white-space: nowrap;
14 | vertical-align: baseline;
15 | border-radius: .25em;
16 |
17 | // Add hover effects, but only for links
18 | a& {
19 | &:hover,
20 | &:focus {
21 | color: @label-link-hover-color;
22 | text-decoration: none;
23 | cursor: pointer;
24 | }
25 | }
26 |
27 | // Empty labels collapse automatically (not available in IE8)
28 | &:empty {
29 | display: none;
30 | }
31 |
32 | // Quick fix for labels in buttons
33 | .btn & {
34 | position: relative;
35 | top: -1px;
36 | }
37 | }
38 |
39 | // Colors
40 | // Contextual variations (linked labels get darker on :hover)
41 |
42 | .label-default {
43 | .label-variant(@label-default-bg);
44 | }
45 |
46 | .label-primary {
47 | .label-variant(@label-primary-bg);
48 | }
49 |
50 | .label-success {
51 | .label-variant(@label-success-bg);
52 | }
53 |
54 | .label-info {
55 | .label-variant(@label-info-bg);
56 | }
57 |
58 | .label-warning {
59 | .label-variant(@label-warning-bg);
60 | }
61 |
62 | .label-danger {
63 | .label-variant(@label-danger-bg);
64 | }
65 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/media.less:
--------------------------------------------------------------------------------
1 | .media {
2 | // Proper spacing between instances of .media
3 | margin-top: 15px;
4 |
5 | &:first-child {
6 | margin-top: 0;
7 | }
8 | }
9 |
10 | .media,
11 | .media-body {
12 | zoom: 1;
13 | overflow: hidden;
14 | }
15 |
16 | .media-body {
17 | width: 10000px;
18 | }
19 |
20 | .media-object {
21 | display: block;
22 |
23 | // Fix collapse in webkit from max-width: 100% and display: table-cell.
24 | &.img-thumbnail {
25 | max-width: none;
26 | }
27 | }
28 |
29 | .media-right,
30 | .media > .pull-right {
31 | padding-left: 10px;
32 | }
33 |
34 | .media-left,
35 | .media > .pull-left {
36 | padding-right: 10px;
37 | }
38 |
39 | .media-left,
40 | .media-right,
41 | .media-body {
42 | display: table-cell;
43 | vertical-align: top;
44 | }
45 |
46 | .media-middle {
47 | vertical-align: middle;
48 | }
49 |
50 | .media-bottom {
51 | vertical-align: bottom;
52 | }
53 |
54 | // Reset margins on headings for tighter default spacing
55 | .media-heading {
56 | margin-top: 0;
57 | margin-bottom: 5px;
58 | }
59 |
60 | // Media list variation
61 | //
62 | // Undo default ul/ol styles
63 | .media-list {
64 | padding-left: 0;
65 | list-style: none;
66 | }
67 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/mixins.less:
--------------------------------------------------------------------------------
1 | // Mixins
2 | // --------------------------------------------------
3 |
4 | // Utilities
5 | @import "mixins/hide-text.less";
6 | @import "mixins/opacity.less";
7 | @import "mixins/image.less";
8 | @import "mixins/labels.less";
9 | @import "mixins/reset-filter.less";
10 | @import "mixins/resize.less";
11 | @import "mixins/responsive-visibility.less";
12 | @import "mixins/size.less";
13 | @import "mixins/tab-focus.less";
14 | @import "mixins/reset-text.less";
15 | @import "mixins/text-emphasis.less";
16 | @import "mixins/text-overflow.less";
17 | @import "mixins/vendor-prefixes.less";
18 |
19 | // Components
20 | @import "mixins/alerts.less";
21 | @import "mixins/buttons.less";
22 | @import "mixins/panels.less";
23 | @import "mixins/pagination.less";
24 | @import "mixins/list-group.less";
25 | @import "mixins/nav-divider.less";
26 | @import "mixins/forms.less";
27 | @import "mixins/progress-bar.less";
28 | @import "mixins/table-row.less";
29 |
30 | // Skins
31 | @import "mixins/background-variant.less";
32 | @import "mixins/border-radius.less";
33 | @import "mixins/gradients.less";
34 |
35 | // Layout
36 | @import "mixins/clearfix.less";
37 | @import "mixins/center-block.less";
38 | @import "mixins/nav-vertical-align.less";
39 | @import "mixins/grid-framework.less";
40 | @import "mixins/grid.less";
41 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/mixins/alerts.less:
--------------------------------------------------------------------------------
1 | // Alerts
2 |
3 | .alert-variant(@background; @border; @text-color) {
4 | background-color: @background;
5 | border-color: @border;
6 | color: @text-color;
7 |
8 | hr {
9 | border-top-color: darken(@border, 5%);
10 | }
11 | .alert-link {
12 | color: darken(@text-color, 10%);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/mixins/background-variant.less:
--------------------------------------------------------------------------------
1 | // Contextual backgrounds
2 |
3 | .bg-variant(@color) {
4 | background-color: @color;
5 | a&:hover,
6 | a&:focus {
7 | background-color: darken(@color, 10%);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/mixins/border-radius.less:
--------------------------------------------------------------------------------
1 | // Single side border-radius
2 |
3 | .border-top-radius(@radius) {
4 | border-top-right-radius: @radius;
5 | border-top-left-radius: @radius;
6 | }
7 | .border-right-radius(@radius) {
8 | border-bottom-right-radius: @radius;
9 | border-top-right-radius: @radius;
10 | }
11 | .border-bottom-radius(@radius) {
12 | border-bottom-right-radius: @radius;
13 | border-bottom-left-radius: @radius;
14 | }
15 | .border-left-radius(@radius) {
16 | border-bottom-left-radius: @radius;
17 | border-top-left-radius: @radius;
18 | }
19 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/mixins/buttons.less:
--------------------------------------------------------------------------------
1 | // Button variants
2 | //
3 | // Easily pump out default styles, as well as :hover, :focus, :active,
4 | // and disabled options for all buttons
5 |
6 | .button-variant(@color; @background; @border) {
7 | color: @color;
8 | background-color: @background;
9 | border-color: @border;
10 |
11 | &:focus,
12 | &.focus {
13 | color: @color;
14 | background-color: darken(@background, 10%);
15 | border-color: darken(@border, 25%);
16 | }
17 | &:hover {
18 | color: @color;
19 | background-color: darken(@background, 10%);
20 | border-color: darken(@border, 12%);
21 | }
22 | &:active,
23 | &.active,
24 | .open > .dropdown-toggle& {
25 | color: @color;
26 | background-color: darken(@background, 10%);
27 | border-color: darken(@border, 12%);
28 |
29 | &:hover,
30 | &:focus,
31 | &.focus {
32 | color: @color;
33 | background-color: darken(@background, 17%);
34 | border-color: darken(@border, 25%);
35 | }
36 | }
37 | &:active,
38 | &.active,
39 | .open > .dropdown-toggle& {
40 | background-image: none;
41 | }
42 | &.disabled,
43 | &[disabled],
44 | fieldset[disabled] & {
45 | &:hover,
46 | &:focus,
47 | &.focus {
48 | background-color: @background;
49 | border-color: @border;
50 | }
51 | }
52 |
53 | .badge {
54 | color: @background;
55 | background-color: @color;
56 | }
57 | }
58 |
59 | // Button sizes
60 | .button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {
61 | padding: @padding-vertical @padding-horizontal;
62 | font-size: @font-size;
63 | line-height: @line-height;
64 | border-radius: @border-radius;
65 | }
66 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/mixins/center-block.less:
--------------------------------------------------------------------------------
1 | // Center-align a block level element
2 |
3 | .center-block() {
4 | display: block;
5 | margin-left: auto;
6 | margin-right: auto;
7 | }
8 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/mixins/clearfix.less:
--------------------------------------------------------------------------------
1 | // Clearfix
2 | //
3 | // For modern browsers
4 | // 1. The space content is one way to avoid an Opera bug when the
5 | // contenteditable attribute is included anywhere else in the document.
6 | // Otherwise it causes space to appear at the top and bottom of elements
7 | // that are clearfixed.
8 | // 2. The use of `table` rather than `block` is only necessary if using
9 | // `:before` to contain the top-margins of child elements.
10 | //
11 | // Source: http://nicolasgallagher.com/micro-clearfix-hack/
12 |
13 | .clearfix() {
14 | &:before,
15 | &:after {
16 | content: " "; // 1
17 | display: table; // 2
18 | }
19 | &:after {
20 | clear: both;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/mixins/hide-text.less:
--------------------------------------------------------------------------------
1 | // CSS image replacement
2 | //
3 | // Heads up! v3 launched with only `.hide-text()`, but per our pattern for
4 | // mixins being reused as classes with the same name, this doesn't hold up. As
5 | // of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`.
6 | //
7 | // Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757
8 |
9 | // Deprecated as of v3.0.1 (has been removed in v4)
10 | .hide-text() {
11 | font: ~"0/0" a;
12 | color: transparent;
13 | text-shadow: none;
14 | background-color: transparent;
15 | border: 0;
16 | }
17 |
18 | // New mixin to use as of v3.0.1
19 | .text-hide() {
20 | .hide-text();
21 | }
22 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/mixins/image.less:
--------------------------------------------------------------------------------
1 | // Image Mixins
2 | // - Responsive image
3 | // - Retina image
4 |
5 |
6 | // Responsive image
7 | //
8 | // Keep images from scaling beyond the width of their parents.
9 | .img-responsive(@display: block) {
10 | display: @display;
11 | max-width: 100%; // Part 1: Set a maximum relative to the parent
12 | height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching
13 | }
14 |
15 |
16 | // Retina image
17 | //
18 | // Short retina mixin for setting background-image and -size. Note that the
19 | // spelling of `min--moz-device-pixel-ratio` is intentional.
20 | .img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {
21 | background-image: url("@{file-1x}");
22 |
23 | @media
24 | only screen and (-webkit-min-device-pixel-ratio: 2),
25 | only screen and ( min--moz-device-pixel-ratio: 2),
26 | only screen and ( -o-min-device-pixel-ratio: 2/1),
27 | only screen and ( min-device-pixel-ratio: 2),
28 | only screen and ( min-resolution: 192dpi),
29 | only screen and ( min-resolution: 2dppx) {
30 | background-image: url("@{file-2x}");
31 | background-size: @width-1x @height-1x;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/mixins/labels.less:
--------------------------------------------------------------------------------
1 | // Labels
2 |
3 | .label-variant(@color) {
4 | background-color: @color;
5 |
6 | &[href] {
7 | &:hover,
8 | &:focus {
9 | background-color: darken(@color, 10%);
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/mixins/list-group.less:
--------------------------------------------------------------------------------
1 | // List Groups
2 |
3 | .list-group-item-variant(@state; @background; @color) {
4 | .list-group-item-@{state} {
5 | color: @color;
6 | background-color: @background;
7 |
8 | a&,
9 | button& {
10 | color: @color;
11 |
12 | .list-group-item-heading {
13 | color: inherit;
14 | }
15 |
16 | &:hover,
17 | &:focus {
18 | color: @color;
19 | background-color: darken(@background, 5%);
20 | }
21 | &.active,
22 | &.active:hover,
23 | &.active:focus {
24 | color: #fff;
25 | background-color: @color;
26 | border-color: @color;
27 | }
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/mixins/nav-divider.less:
--------------------------------------------------------------------------------
1 | // Horizontal dividers
2 | //
3 | // Dividers (basically an hr) within dropdowns and nav lists
4 |
5 | .nav-divider(@color: #e5e5e5) {
6 | height: 1px;
7 | margin: ((@line-height-computed / 2) - 1) 0;
8 | overflow: hidden;
9 | background-color: @color;
10 | }
11 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/mixins/nav-vertical-align.less:
--------------------------------------------------------------------------------
1 | // Navbar vertical align
2 | //
3 | // Vertically center elements in the navbar.
4 | // Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.
5 |
6 | .navbar-vertical-align(@element-height) {
7 | margin-top: ((@navbar-height - @element-height) / 2);
8 | margin-bottom: ((@navbar-height - @element-height) / 2);
9 | }
10 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/mixins/opacity.less:
--------------------------------------------------------------------------------
1 | // Opacity
2 |
3 | .opacity(@opacity) {
4 | opacity: @opacity;
5 | // IE8 filter
6 | @opacity-ie: (@opacity * 100);
7 | filter: ~"alpha(opacity=@{opacity-ie})";
8 | }
9 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/mixins/pagination.less:
--------------------------------------------------------------------------------
1 | // Pagination
2 |
3 | .pagination-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {
4 | > li {
5 | > a,
6 | > span {
7 | padding: @padding-vertical @padding-horizontal;
8 | font-size: @font-size;
9 | line-height: @line-height;
10 | }
11 | &:first-child {
12 | > a,
13 | > span {
14 | .border-left-radius(@border-radius);
15 | }
16 | }
17 | &:last-child {
18 | > a,
19 | > span {
20 | .border-right-radius(@border-radius);
21 | }
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/mixins/panels.less:
--------------------------------------------------------------------------------
1 | // Panels
2 |
3 | .panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) {
4 | border-color: @border;
5 |
6 | & > .panel-heading {
7 | color: @heading-text-color;
8 | background-color: @heading-bg-color;
9 | border-color: @heading-border;
10 |
11 | + .panel-collapse > .panel-body {
12 | border-top-color: @border;
13 | }
14 | .badge {
15 | color: @heading-bg-color;
16 | background-color: @heading-text-color;
17 | }
18 | }
19 | & > .panel-footer {
20 | + .panel-collapse > .panel-body {
21 | border-bottom-color: @border;
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/mixins/progress-bar.less:
--------------------------------------------------------------------------------
1 | // Progress bars
2 |
3 | .progress-bar-variant(@color) {
4 | background-color: @color;
5 |
6 | // Deprecated parent class requirement as of v3.2.0
7 | .progress-striped & {
8 | #gradient > .striped();
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/mixins/reset-filter.less:
--------------------------------------------------------------------------------
1 | // Reset filters for IE
2 | //
3 | // When you need to remove a gradient background, do not forget to use this to reset
4 | // the IE filter for IE9 and below.
5 |
6 | .reset-filter() {
7 | filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)"));
8 | }
9 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/mixins/reset-text.less:
--------------------------------------------------------------------------------
1 | .reset-text() {
2 | font-family: @font-family-base;
3 | // We deliberately do NOT reset font-size.
4 | font-style: normal;
5 | font-weight: normal;
6 | letter-spacing: normal;
7 | line-break: auto;
8 | line-height: @line-height-base;
9 | text-align: left; // Fallback for where `start` is not supported
10 | text-align: start;
11 | text-decoration: none;
12 | text-shadow: none;
13 | text-transform: none;
14 | white-space: normal;
15 | word-break: normal;
16 | word-spacing: normal;
17 | word-wrap: normal;
18 | }
19 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/mixins/resize.less:
--------------------------------------------------------------------------------
1 | // Resize anything
2 |
3 | .resizable(@direction) {
4 | resize: @direction; // Options: horizontal, vertical, both
5 | overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible`
6 | }
7 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/mixins/responsive-visibility.less:
--------------------------------------------------------------------------------
1 | // Responsive utilities
2 |
3 | //
4 | // More easily include all the states for responsive-utilities.less.
5 | .responsive-visibility() {
6 | display: block !important;
7 | table& { display: table !important; }
8 | tr& { display: table-row !important; }
9 | th&,
10 | td& { display: table-cell !important; }
11 | }
12 |
13 | .responsive-invisibility() {
14 | display: none !important;
15 | }
16 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/mixins/size.less:
--------------------------------------------------------------------------------
1 | // Sizing shortcuts
2 |
3 | .size(@width; @height) {
4 | width: @width;
5 | height: @height;
6 | }
7 |
8 | .square(@size) {
9 | .size(@size; @size);
10 | }
11 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/mixins/tab-focus.less:
--------------------------------------------------------------------------------
1 | // WebKit-style focus
2 |
3 | .tab-focus() {
4 | // WebKit-specific. Other browsers will keep their default outline style.
5 | // (Initially tried to also force default via `outline: initial`,
6 | // but that seems to erroneously remove the outline in Firefox altogether.)
7 | outline: 5px auto -webkit-focus-ring-color;
8 | outline-offset: -2px;
9 | }
10 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/mixins/table-row.less:
--------------------------------------------------------------------------------
1 | // Tables
2 |
3 | .table-row-variant(@state; @background) {
4 | // Exact selectors below required to override `.table-striped` and prevent
5 | // inheritance to nested tables.
6 | .table > thead > tr,
7 | .table > tbody > tr,
8 | .table > tfoot > tr {
9 | > td.@{state},
10 | > th.@{state},
11 | &.@{state} > td,
12 | &.@{state} > th {
13 | background-color: @background;
14 | }
15 | }
16 |
17 | // Hover states for `.table-hover`
18 | // Note: this is not available for cells or rows within `thead` or `tfoot`.
19 | .table-hover > tbody > tr {
20 | > td.@{state}:hover,
21 | > th.@{state}:hover,
22 | &.@{state}:hover > td,
23 | &:hover > .@{state},
24 | &.@{state}:hover > th {
25 | background-color: darken(@background, 5%);
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/mixins/text-emphasis.less:
--------------------------------------------------------------------------------
1 | // Typography
2 |
3 | .text-emphasis-variant(@color) {
4 | color: @color;
5 | a&:hover,
6 | a&:focus {
7 | color: darken(@color, 10%);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/mixins/text-overflow.less:
--------------------------------------------------------------------------------
1 | // Text overflow
2 | // Requires inline-block or block for proper styling
3 |
4 | .text-overflow() {
5 | overflow: hidden;
6 | text-overflow: ellipsis;
7 | white-space: nowrap;
8 | }
9 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/pager.less:
--------------------------------------------------------------------------------
1 | //
2 | // Pager pagination
3 | // --------------------------------------------------
4 |
5 |
6 | .pager {
7 | padding-left: 0;
8 | margin: @line-height-computed 0;
9 | list-style: none;
10 | text-align: center;
11 | &:extend(.clearfix all);
12 | li {
13 | display: inline;
14 | > a,
15 | > span {
16 | display: inline-block;
17 | padding: 5px 14px;
18 | background-color: @pager-bg;
19 | border: 1px solid @pager-border;
20 | border-radius: @pager-border-radius;
21 | }
22 |
23 | > a:hover,
24 | > a:focus {
25 | text-decoration: none;
26 | background-color: @pager-hover-bg;
27 | }
28 | }
29 |
30 | .next {
31 | > a,
32 | > span {
33 | float: right;
34 | }
35 | }
36 |
37 | .previous {
38 | > a,
39 | > span {
40 | float: left;
41 | }
42 | }
43 |
44 | .disabled {
45 | > a,
46 | > a:hover,
47 | > a:focus,
48 | > span {
49 | color: @pager-disabled-color;
50 | background-color: @pager-bg;
51 | cursor: @cursor-disabled;
52 | }
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/pagination.less:
--------------------------------------------------------------------------------
1 | //
2 | // Pagination (multiple pages)
3 | // --------------------------------------------------
4 | .pagination {
5 | display: inline-block;
6 | padding-left: 0;
7 | margin: @line-height-computed 0;
8 | border-radius: @border-radius-base;
9 |
10 | > li {
11 | display: inline; // Remove list-style and block-level defaults
12 | > a,
13 | > span {
14 | position: relative;
15 | float: left; // Collapse white-space
16 | padding: @padding-base-vertical @padding-base-horizontal;
17 | line-height: @line-height-base;
18 | text-decoration: none;
19 | color: @pagination-color;
20 | background-color: @pagination-bg;
21 | border: 1px solid @pagination-border;
22 | margin-left: -1px;
23 | }
24 | &:first-child {
25 | > a,
26 | > span {
27 | margin-left: 0;
28 | .border-left-radius(@border-radius-base);
29 | }
30 | }
31 | &:last-child {
32 | > a,
33 | > span {
34 | .border-right-radius(@border-radius-base);
35 | }
36 | }
37 | }
38 |
39 | > li > a,
40 | > li > span {
41 | &:hover,
42 | &:focus {
43 | z-index: 2;
44 | color: @pagination-hover-color;
45 | background-color: @pagination-hover-bg;
46 | border-color: @pagination-hover-border;
47 | }
48 | }
49 |
50 | > .active > a,
51 | > .active > span {
52 | &,
53 | &:hover,
54 | &:focus {
55 | z-index: 3;
56 | color: @pagination-active-color;
57 | background-color: @pagination-active-bg;
58 | border-color: @pagination-active-border;
59 | cursor: default;
60 | }
61 | }
62 |
63 | > .disabled {
64 | > span,
65 | > span:hover,
66 | > span:focus,
67 | > a,
68 | > a:hover,
69 | > a:focus {
70 | color: @pagination-disabled-color;
71 | background-color: @pagination-disabled-bg;
72 | border-color: @pagination-disabled-border;
73 | cursor: @cursor-disabled;
74 | }
75 | }
76 | }
77 |
78 | // Sizing
79 | // --------------------------------------------------
80 |
81 | // Large
82 | .pagination-lg {
83 | .pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);
84 | }
85 |
86 | // Small
87 | .pagination-sm {
88 | .pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);
89 | }
90 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/print.less:
--------------------------------------------------------------------------------
1 | /*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
2 |
3 | // ==========================================================================
4 | // Print styles.
5 | // Inlined to avoid the additional HTTP request: h5bp.com/r
6 | // ==========================================================================
7 |
8 | @media print {
9 | *,
10 | *:before,
11 | *:after {
12 | background: transparent !important;
13 | color: #000 !important; // Black prints faster: h5bp.com/s
14 | box-shadow: none !important;
15 | text-shadow: none !important;
16 | }
17 |
18 | a,
19 | a:visited {
20 | text-decoration: underline;
21 | }
22 |
23 | a[href]:after {
24 | content: " (" attr(href) ")";
25 | }
26 |
27 | abbr[title]:after {
28 | content: " (" attr(title) ")";
29 | }
30 |
31 | // Don't show links that are fragment identifiers,
32 | // or use the `javascript:` pseudo protocol
33 | a[href^="#"]:after,
34 | a[href^="javascript:"]:after {
35 | content: "";
36 | }
37 |
38 | pre,
39 | blockquote {
40 | border: 1px solid #999;
41 | page-break-inside: avoid;
42 | }
43 |
44 | thead {
45 | display: table-header-group; // h5bp.com/t
46 | }
47 |
48 | tr,
49 | img {
50 | page-break-inside: avoid;
51 | }
52 |
53 | img {
54 | max-width: 100% !important;
55 | }
56 |
57 | p,
58 | h2,
59 | h3 {
60 | orphans: 3;
61 | widows: 3;
62 | }
63 |
64 | h2,
65 | h3 {
66 | page-break-after: avoid;
67 | }
68 |
69 | // Bootstrap specific changes start
70 |
71 | // Bootstrap components
72 | .navbar {
73 | display: none;
74 | }
75 | .btn,
76 | .dropup > .btn {
77 | > .caret {
78 | border-top-color: #000 !important;
79 | }
80 | }
81 | .label {
82 | border: 1px solid #000;
83 | }
84 |
85 | .table {
86 | border-collapse: collapse !important;
87 |
88 | td,
89 | th {
90 | background-color: #fff !important;
91 | }
92 | }
93 | .table-bordered {
94 | th,
95 | td {
96 | border: 1px solid #ddd !important;
97 | }
98 | }
99 |
100 | // Bootstrap specific changes end
101 | }
102 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/progress-bars.less:
--------------------------------------------------------------------------------
1 | //
2 | // Progress bars
3 | // --------------------------------------------------
4 |
5 |
6 | // Bar animations
7 | // -------------------------
8 |
9 | // WebKit
10 | @-webkit-keyframes progress-bar-stripes {
11 | from { background-position: 40px 0; }
12 | to { background-position: 0 0; }
13 | }
14 |
15 | // Spec and IE10+
16 | @keyframes progress-bar-stripes {
17 | from { background-position: 40px 0; }
18 | to { background-position: 0 0; }
19 | }
20 |
21 |
22 | // Bar itself
23 | // -------------------------
24 |
25 | // Outer container
26 | .progress {
27 | overflow: hidden;
28 | height: @line-height-computed;
29 | margin-bottom: @line-height-computed;
30 | background-color: @progress-bg;
31 | border-radius: @progress-border-radius;
32 | .box-shadow(inset 0 1px 2px rgba(0,0,0,.1));
33 | }
34 |
35 | // Bar of progress
36 | .progress-bar {
37 | float: left;
38 | width: 0%;
39 | height: 100%;
40 | font-size: @font-size-small;
41 | line-height: @line-height-computed;
42 | color: @progress-bar-color;
43 | text-align: center;
44 | background-color: @progress-bar-bg;
45 | .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));
46 | .transition(width .6s ease);
47 | }
48 |
49 | // Striped bars
50 | //
51 | // `.progress-striped .progress-bar` is deprecated as of v3.2.0 in favor of the
52 | // `.progress-bar-striped` class, which you just add to an existing
53 | // `.progress-bar`.
54 | .progress-striped .progress-bar,
55 | .progress-bar-striped {
56 | #gradient > .striped();
57 | background-size: 40px 40px;
58 | }
59 |
60 | // Call animation for the active one
61 | //
62 | // `.progress.active .progress-bar` is deprecated as of v3.2.0 in favor of the
63 | // `.progress-bar.active` approach.
64 | .progress.active .progress-bar,
65 | .progress-bar.active {
66 | .animation(progress-bar-stripes 2s linear infinite);
67 | }
68 |
69 |
70 | // Variations
71 | // -------------------------
72 |
73 | .progress-bar-success {
74 | .progress-bar-variant(@progress-bar-success-bg);
75 | }
76 |
77 | .progress-bar-info {
78 | .progress-bar-variant(@progress-bar-info-bg);
79 | }
80 |
81 | .progress-bar-warning {
82 | .progress-bar-variant(@progress-bar-warning-bg);
83 | }
84 |
85 | .progress-bar-danger {
86 | .progress-bar-variant(@progress-bar-danger-bg);
87 | }
88 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/responsive-embed.less:
--------------------------------------------------------------------------------
1 | // Embeds responsive
2 | //
3 | // Credit: Nicolas Gallagher and SUIT CSS.
4 |
5 | .embed-responsive {
6 | position: relative;
7 | display: block;
8 | height: 0;
9 | padding: 0;
10 | overflow: hidden;
11 |
12 | .embed-responsive-item,
13 | iframe,
14 | embed,
15 | object,
16 | video {
17 | position: absolute;
18 | top: 0;
19 | left: 0;
20 | bottom: 0;
21 | height: 100%;
22 | width: 100%;
23 | border: 0;
24 | }
25 | }
26 |
27 | // Modifier class for 16:9 aspect ratio
28 | .embed-responsive-16by9 {
29 | padding-bottom: 56.25%;
30 | }
31 |
32 | // Modifier class for 4:3 aspect ratio
33 | .embed-responsive-4by3 {
34 | padding-bottom: 75%;
35 | }
36 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/thumbnails.less:
--------------------------------------------------------------------------------
1 | //
2 | // Thumbnails
3 | // --------------------------------------------------
4 |
5 |
6 | // Mixin and adjust the regular image class
7 | .thumbnail {
8 | display: block;
9 | padding: @thumbnail-padding;
10 | margin-bottom: @line-height-computed;
11 | line-height: @line-height-base;
12 | background-color: @thumbnail-bg;
13 | border: 1px solid @thumbnail-border;
14 | border-radius: @thumbnail-border-radius;
15 | .transition(border .2s ease-in-out);
16 |
17 | > img,
18 | a > img {
19 | &:extend(.img-responsive);
20 | margin-left: auto;
21 | margin-right: auto;
22 | }
23 |
24 | // Add a hover state for linked versions only
25 | a&:hover,
26 | a&:focus,
27 | a&.active {
28 | border-color: @link-color;
29 | }
30 |
31 | // Image captions
32 | .caption {
33 | padding: @thumbnail-caption-padding;
34 | color: @thumbnail-caption-color;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/utilities.less:
--------------------------------------------------------------------------------
1 | //
2 | // Utility classes
3 | // --------------------------------------------------
4 |
5 |
6 | // Floats
7 | // -------------------------
8 |
9 | .clearfix {
10 | .clearfix();
11 | }
12 | .center-block {
13 | .center-block();
14 | }
15 | .pull-right {
16 | float: right !important;
17 | }
18 | .pull-left {
19 | float: left !important;
20 | }
21 |
22 |
23 | // Toggling content
24 | // -------------------------
25 |
26 | // Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1
27 | .hide {
28 | display: none !important;
29 | }
30 | .show {
31 | display: block !important;
32 | }
33 | .invisible {
34 | visibility: hidden;
35 | }
36 | .text-hide {
37 | .text-hide();
38 | }
39 |
40 |
41 | // Hide from screenreaders and browsers
42 | //
43 | // Credit: HTML5 Boilerplate
44 |
45 | .hidden {
46 | display: none !important;
47 | }
48 |
49 |
50 | // For Affix plugin
51 | // -------------------------
52 |
53 | .affix {
54 | position: fixed;
55 | }
56 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/less/wells.less:
--------------------------------------------------------------------------------
1 | //
2 | // Wells
3 | // --------------------------------------------------
4 |
5 |
6 | // Base class
7 | .well {
8 | min-height: 20px;
9 | padding: 19px;
10 | margin-bottom: 20px;
11 | background-color: @well-bg;
12 | border: 1px solid @well-border;
13 | border-radius: @border-radius-base;
14 | .box-shadow(inset 0 1px 1px rgba(0,0,0,.05));
15 | blockquote {
16 | border-color: #ddd;
17 | border-color: rgba(0,0,0,.15);
18 | }
19 | }
20 |
21 | // Sizes
22 | .well-lg {
23 | padding: 24px;
24 | border-radius: @border-radius-large;
25 | }
26 | .well-sm {
27 | padding: 9px;
28 | border-radius: @border-radius-small;
29 | }
30 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/nuget/MyGet.ps1:
--------------------------------------------------------------------------------
1 | $nuget = $env:NuGet
2 |
3 | # parse the version number out of package.json
4 | $bsversion = ((Get-Content $env:SourcesPath\package.json) -join "`n" | ConvertFrom-Json).version
5 |
6 | # create packages
7 | & $nuget pack "nuget\bootstrap.nuspec" -Verbosity detailed -NonInteractive -NoPackageAnalysis -BasePath $env:SourcesPath -Version $bsversion
8 | & $nuget pack "nuget\bootstrap.less.nuspec" -Verbosity detailed -NonInteractive -NoPackageAnalysis -BasePath $env:SourcesPath -Version $bsversion
9 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/nuget/bootstrap.less.nuspec:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | bootstrap.less
5 | 3.3.7
6 | Bootstrap Less
7 | Twitter, Inc.
8 | bootstrap
9 | The most popular front-end framework for developing responsive, mobile first projects on the web.
10 | http://blog.getbootstrap.com
11 | Bootstrap framework in Less. Includes fonts and JavaScript
12 | en-us
13 | http://getbootstrap.com
14 | http://getbootstrap.com/apple-touch-icon.png
15 | https://github.com/twbs/bootstrap/blob/master/LICENSE
16 | Copyright 2016
17 | false
18 |
19 |
20 |
21 | css js less mobile-first responsive front-end framework web
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/nuget/bootstrap.nuspec:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | bootstrap
5 | 3.3.7
6 | Bootstrap CSS
7 | Twitter, Inc.
8 | bootstrap
9 | The most popular front-end framework for developing responsive, mobile first projects on the web.
10 | http://blog.getbootstrap.com
11 | Bootstrap framework in CSS. Includes fonts and JavaScript
12 | en-us
13 | http://getbootstrap.com
14 | http://getbootstrap.com/apple-touch-icon.png
15 | https://github.com/twbs/bootstrap/blob/master/LICENSE
16 | Copyright 2016
17 | false
18 |
19 |
20 |
21 | css js less mobile-first responsive front-end framework web
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/package.js:
--------------------------------------------------------------------------------
1 | // package metadata file for Meteor.js
2 |
3 | /* jshint strict:false */
4 | /* global Package:true */
5 |
6 | Package.describe({
7 | name: 'twbs:bootstrap', // http://atmospherejs.com/twbs/bootstrap
8 | summary: 'The most popular front-end framework for developing responsive, mobile first projects on the web.',
9 | version: '3.3.7',
10 | git: 'https://github.com/twbs/bootstrap.git'
11 | });
12 |
13 | Package.onUse(function (api) {
14 | api.versionsFrom('METEOR@1.0');
15 | api.use('jquery', 'client');
16 | var assets = [
17 | 'dist/fonts/glyphicons-halflings-regular.eot',
18 | 'dist/fonts/glyphicons-halflings-regular.svg',
19 | 'dist/fonts/glyphicons-halflings-regular.ttf',
20 | 'dist/fonts/glyphicons-halflings-regular.woff',
21 | 'dist/fonts/glyphicons-halflings-regular.woff2'
22 | ];
23 | if (api.addAssets) {
24 | api.addAssets(assets, 'client');
25 | } else {
26 | api.addFiles(assets, 'client', { isAsset: true });
27 | }
28 | api.addFiles([
29 | 'dist/css/bootstrap.css',
30 | 'dist/js/bootstrap.js'
31 | ], 'client');
32 | });
33 |
--------------------------------------------------------------------------------
/static/bootstrap-3.3.7/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "bootstrap",
3 | "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
4 | "version": "3.3.7",
5 | "keywords": [
6 | "css",
7 | "less",
8 | "mobile-first",
9 | "responsive",
10 | "front-end",
11 | "framework",
12 | "web"
13 | ],
14 | "homepage": "http://getbootstrap.com",
15 | "author": "Twitter, Inc.",
16 | "scripts": {
17 | "change-version": "node grunt/change-version.js",
18 | "update-shrinkwrap": "npm shrinkwrap --dev && shx mv ./npm-shrinkwrap.json ./grunt/npm-shrinkwrap.json",
19 | "test": "grunt test"
20 | },
21 | "style": "dist/css/bootstrap.css",
22 | "less": "less/bootstrap.less",
23 | "main": "./dist/js/npm",
24 | "repository": {
25 | "type": "git",
26 | "url": "https://github.com/twbs/bootstrap.git"
27 | },
28 | "bugs": {
29 | "url": "https://github.com/twbs/bootstrap/issues"
30 | },
31 | "license": "MIT",
32 | "devDependencies": {
33 | "btoa": "~1.1.2",
34 | "glob": "~7.0.3",
35 | "grunt": "~1.0.1",
36 | "grunt-autoprefixer": "~3.0.4",
37 | "grunt-contrib-clean": "~1.0.0",
38 | "grunt-contrib-compress": "~1.3.0",
39 | "grunt-contrib-concat": "~1.0.0",
40 | "grunt-contrib-connect": "~1.0.0",
41 | "grunt-contrib-copy": "~1.0.0",
42 | "grunt-contrib-csslint": "~1.0.0",
43 | "grunt-contrib-cssmin": "~1.0.0",
44 | "grunt-contrib-htmlmin": "~1.5.0",
45 | "grunt-contrib-jshint": "~1.0.0",
46 | "grunt-contrib-less": "~1.3.0",
47 | "grunt-contrib-pug": "~1.0.0",
48 | "grunt-contrib-qunit": "~0.7.0",
49 | "grunt-contrib-uglify": "~1.0.0",
50 | "grunt-contrib-watch": "~1.0.0",
51 | "grunt-csscomb": "~3.1.0",
52 | "grunt-exec": "~1.0.0",
53 | "grunt-html": "~8.0.1",
54 | "grunt-jekyll": "~0.4.4",
55 | "grunt-jscs": "~3.0.1",
56 | "grunt-saucelabs": "~9.0.0",
57 | "load-grunt-tasks": "~3.5.0",
58 | "markdown-it": "^7.0.0",
59 | "shelljs": "^0.7.0",
60 | "shx": "^0.1.2",
61 | "time-grunt": "^1.3.0"
62 | },
63 | "engines": {
64 | "node": ">=0.10.1"
65 | },
66 | "files": [
67 | "dist",
68 | "fonts",
69 | "grunt",
70 | "js/*.js",
71 | "less/**/*.less",
72 | "Gruntfile.js",
73 | "LICENSE"
74 | ],
75 | "jspm": {
76 | "main": "js/bootstrap",
77 | "shim": {
78 | "js/bootstrap": {
79 | "deps": "jquery",
80 | "exports": "$"
81 | }
82 | },
83 | "files": [
84 | "css",
85 | "fonts",
86 | "js"
87 | ]
88 | }
89 | }
90 |
--------------------------------------------------------------------------------
/static/css/jquery.mloading.css:
--------------------------------------------------------------------------------
1 | /* Author:mingyuhisoft@163.com
2 | * Github:https://github.com/imingyu/jquery.mloading
3 | * Npm:npm install jquery.mloading.js
4 | * Date:2016-7-4
5 | */
6 | .mloading-container {
7 | position: relative;
8 | min-height: 70px;
9 | -webkit-transition: height 0.6s ease-in-out;
10 | -o-transition: height 0.6s ease-in-out;
11 | transition: height 0.6s ease-in-out;
12 | }
13 | .mloading {
14 | position: absolute;
15 | background: #E9E9E8;
16 | font: normal 12px/22px "Microsoft Yahei", "微软雅黑", "宋体";
17 | display: none;
18 | z-index: 1600;
19 | background: rgba(233, 233, 232, 0);
20 | }
21 | .mloading.active {
22 | display: block;
23 | }
24 | .mloading.mloading-mask {
25 | background: rgba(233, 233, 232, 0.75);
26 | filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75);
27 | }
28 | .mloading-full {
29 | position: fixed;
30 | width: 100%;
31 | height: 100%;
32 | top: 0;
33 | left: 0;
34 | }
35 | .mloading-container > .mloading {
36 | top: 0px;
37 | left: 0px;
38 | width: 100%;
39 | height: 100%;
40 | }
41 | .mloading-body {
42 | width: 100%;
43 | height: 100%;
44 | position: relative;
45 | }
46 | .mloading-bar {
47 | width: 250px;
48 | min-height: 22px;
49 | text-align: center;
50 | background: #fff;
51 | box-shadow: 0 1px 2px rgba(0, 0, 0, 0.27);
52 | border-radius: 7px;
53 | padding: 20px 15px;
54 | font-size: 14px;
55 | color: #999;
56 | position: absolute;
57 | top: 50%;
58 | left: 50%;
59 | margin-left: -140px;
60 | margin-top: -30px;
61 | word-break: break-all;
62 | }
63 | @media (max-width: 300px) {
64 | .mloading-bar {
65 | width: 62px;
66 | height: 56px;
67 | margin-left: -30px !important;
68 | margin-top: -30px !important;
69 | padding: 0;
70 | line-height: 56px;
71 | }
72 | .mloading-bar > .mloading-text {
73 | display: none;
74 | }
75 | }
76 | .mloading-bar-sm {
77 | width: 62px;
78 | height: 56px;
79 | margin-left: -30px !important;
80 | margin-top: -30px !important;
81 | padding: 0;
82 | line-height: 56px;
83 | }
84 | .mloading-bar-sm > .mloading-text {
85 | display: none;
86 | }
87 | .mloading-icon {
88 | width: 16px;
89 | height: 16px;
90 | vertical-align: middle;
91 | }
92 | .mloading-text {
93 | margin-left: 10px;
94 | }
95 |
--------------------------------------------------------------------------------
/static/images/haha.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/static/images/haha.gif
--------------------------------------------------------------------------------
/static/scripts/common.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by Administrator on 2017/7/6.
3 | */
4 | function logout() {
5 | window.open('/logout', "_self");
6 | }
7 |
8 | function run(element) {
9 | var num = number();
10 | if (num > 0){
11 | //$('#myModal').click();
12 | element.removeAttribute('data-target');
13 | var case_list = [];
14 | var eles = $('input[type="checkbox"]');
15 | for(var i=0; i ');a()}});setTimeout(function(){b(d).fadeOut()},f.timeToHide);return this.css({backgroundColor:f.bgColor,zIndex:f.zIndex})};function a(){var c=b(window).width();var e=b(window).height();var d=b(".fl").outerWidth();var f=b(".fl").outerHeight();b(".fl").css({position:"absolute",left:(c/2)-(d/2),top:(e/2)-(f/2)})}b(window).load(function(){a();b(window).resize(function(){a()})})}(jQuery));
--------------------------------------------------------------------------------
/templates/error.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 出错啦!
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
19 |
20 |
21 |
22 |
23 |
{{ errorInfo }}
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
37 |
--------------------------------------------------------------------------------
/templates/register_to_main.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 某公司自动化测试平台登陆页面
6 |
7 |
8 |
9 |
10 |
15 |
30 |
31 |
32 |
33 |
恭喜您注册成功!3秒后页面自动跳转到首页!
34 |
点击手动跳转
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/templates/testResult.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | 某公司接口自动化测试报告
7 |
16 |
17 |
18 |
19 |
20 |
23 |
24 |
25 |
26 | {{ fileName }}
27 |
28 |
29 |
30 |
31 | 某公司接口自动化测试概览
32 |
33 |
34 | 总数
35 | 通过
36 | 失败
37 | 跳过
38 | 开始时间
39 | 结束时间
40 | 耗时
41 |
42 |
43 |
44 |
45 | {{ total }}
46 | {{ successNum }}
47 | {{ failNum }}
48 | {{ ignored }}
49 | {{ start }}
50 | {{ end }}
51 | {{ cost }}
52 |
53 |
54 |
55 |
56 |
57 |
58 |
64 |
65 |
66 |
--------------------------------------------------------------------------------
/test_method/__pycache__/caseOperator.cpython-34.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/test_method/__pycache__/caseOperator.cpython-34.pyc
--------------------------------------------------------------------------------
/test_method/__pycache__/runner.cpython-34.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wuranxu/apiTest/ce63996f5f7e78f9b23da88ccbfaa2b43edd1c41/test_method/__pycache__/runner.cpython-34.pyc
--------------------------------------------------------------------------------