├── .editorconfig
├── .eslintrc
├── .gitignore
├── .gitmodules
├── .stylelintrc
├── .travis.yml
├── LICENSE
├── README.md
├── appveyor.yml
├── bower.json
├── build
└── postcss.config.js
├── dist
├── css
│ ├── bootstrap.css
│ └── bootstrap.min.css
└── js
│ ├── bootstrap.bundle.js
│ ├── bootstrap.bundle.min.js
│ ├── bootstrap.js
│ └── bootstrap.min.js
├── docs
├── assets
│ ├── css
│ │ └── example.css
│ ├── img
│ │ ├── bower-logo.png
│ │ ├── brand-light.png
│ │ ├── brand.png
│ │ ├── circle.png
│ │ ├── hatebu.svg
│ │ ├── honoka.png
│ │ ├── npm-logo.png
│ │ ├── sample.png
│ │ └── umi.png
│ └── scss
│ │ └── example.scss
├── bootstrap-ja.html
├── bootstrap.html
├── css
│ ├── bootstrap.css
│ └── bootstrap.min.css
├── index.html
├── js
│ ├── bootstrap.bundle.js
│ ├── bootstrap.bundle.min.js
│ ├── bootstrap.js
│ └── bootstrap.min.js
└── v3
│ ├── assets
│ ├── css
│ │ └── example.css
│ ├── img
│ │ ├── bower-logo.png
│ │ ├── brand.png
│ │ ├── circle.png
│ │ ├── honoka.png
│ │ ├── npm-logo.png
│ │ └── sample.png
│ └── scss
│ │ └── example.scss
│ ├── bootstrap-ja.html
│ ├── bootstrap.html
│ ├── css
│ ├── bootstrap.css
│ └── bootstrap.min.css
│ ├── index.html
│ └── js
│ ├── bootstrap.js
│ └── bootstrap.min.js
├── gulpfile.js
├── package-lock.json
├── package.json
└── scss
├── bootstrap.scss
└── honoka
├── _bootswatch.scss
├── _honoka.scss
├── _mixins.scss
├── _override.scss
└── _variables.scss
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | charset = utf-8
5 | end_of_line = lf
6 | indent_style = space
7 | tab_width = 2
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
11 | [*.md]
12 | trim_trailing_whitespace = false
13 |
14 | [{package,bower}.json]
15 | indent_style = space
16 | indent_size = 2
17 |
18 | [*.yml]
19 | indent_style = space
20 | indent_size = 2
21 |
--------------------------------------------------------------------------------
/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "airbnb-base",
3 | "rules": {
4 | "arrow-body-style": ["error", "always"],
5 | "no-console": ["off"]
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | #=============================================
2 | # bower
3 | #=============================================
4 | bower_components/
5 |
6 | #=============================================
7 | # My Original Set
8 | #=============================================
9 | data/
10 |
11 | #=============================================
12 | # node.js & Grunt
13 | #=============================================
14 | node_modules/
15 | .grunt
16 | .tmp/
17 |
18 | #=============================================
19 | # Sass/Compass
20 | #=============================================
21 | .sass-cache
22 | *.css.map
23 |
24 | #=============================================
25 | # Ruby/Bundler
26 | #=============================================
27 | .bundle/
28 | vendor/bundle/
29 |
30 | #=============================================
31 | # Sublime Text
32 | #=============================================
33 | *.sublime-workspace
34 | *.sublime-project
35 |
36 | *.tmlanguage.cache
37 | *.tmPreferences.cache
38 | *.stTheme.cache
39 |
40 | sftp-config.json
41 |
42 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ysakasin/Umi/95bde5331beb6155f4abb35c27c5b91552c4c649/.gitmodules
--------------------------------------------------------------------------------
/.stylelintrc:
--------------------------------------------------------------------------------
1 | {
2 | "extends": ["stylelint-config-standard", "stylelint-config-recommended-scss"],
3 | "plugins": [
4 | "stylelint-order"
5 | ],
6 | "rules": {
7 | "at-rule-empty-line-before": [null,
8 | "except": ["first-nested"]
9 | ],
10 | "at-rule-name-space-after": "always",
11 | "at-rule-no-vendor-prefix": true,
12 | "at-rule-semicolon-space-before": "never",
13 | "block-closing-brace-empty-line-before": null,
14 | "block-closing-brace-newline-after": null,
15 | "block-opening-brace-space-before": null,
16 | "color-named": "never",
17 | "declaration-block-semicolon-newline-after": "always-multi-line",
18 | "declaration-block-semicolon-newline-before": "never-multi-line",
19 | "declaration-block-semicolon-space-after": "always-single-line",
20 | "declaration-empty-line-before": null,
21 | "declaration-no-important": true,
22 | "font-family-name-quotes": "always-where-recommended",
23 | "font-weight-notation": "numeric",
24 | "function-url-no-scheme-relative": true,
25 | "function-url-quotes": "always",
26 | "length-zero-no-unit": true,
27 | "max-empty-lines": 2,
28 | "max-line-length": null,
29 | "media-feature-name-no-vendor-prefix": true,
30 | "media-feature-parentheses-space-inside": "never",
31 | "media-feature-range-operator-space-after": "always",
32 | "media-feature-range-operator-space-before": "never",
33 | "no-descending-specificity": null,
34 | "no-duplicate-selectors": true,
35 | "number-leading-zero": "never",
36 | "order/properties-order": [
37 | "position",
38 | "top",
39 | "right",
40 | "bottom",
41 | "left",
42 | "z-index",
43 | "box-sizing",
44 | "display",
45 | "flex",
46 | "flex-align",
47 | "flex-basis",
48 | "flex-direction",
49 | "flex-wrap",
50 | "flex-flow",
51 | "flex-grow",
52 | "flex-order",
53 | "flex-pack",
54 | "align-items",
55 | "align-self",
56 | "justify-content",
57 | "order",
58 | "float",
59 | "width",
60 | "min-width",
61 | "max-width",
62 | "height",
63 | "min-height",
64 | "max-height",
65 | "padding",
66 | "padding-top",
67 | "padding-right",
68 | "padding-bottom",
69 | "padding-left",
70 | "margin",
71 | "margin-top",
72 | "margin-right",
73 | "margin-bottom",
74 | "margin-left",
75 | "overflow",
76 | "overflow-x",
77 | "overflow-y",
78 | "-webkit-overflow-scrolling",
79 | "-ms-overflow-x",
80 | "-ms-overflow-y",
81 | "-ms-overflow-style",
82 | "clip",
83 | "clear",
84 | "font",
85 | "font-family",
86 | "font-size",
87 | "font-style",
88 | "font-weight",
89 | "font-variant",
90 | "font-size-adjust",
91 | "font-stretch",
92 | "font-effect",
93 | "font-emphasize",
94 | "font-emphasize-position",
95 | "font-emphasize-style",
96 | "font-smooth",
97 | "hyphens",
98 | "line-height",
99 | "color",
100 | "text-align",
101 | "text-align-last",
102 | "text-emphasis",
103 | "text-emphasis-color",
104 | "text-emphasis-style",
105 | "text-emphasis-position",
106 | "text-decoration",
107 | "text-indent",
108 | "text-justify",
109 | "text-outline",
110 | "-ms-text-overflow",
111 | "text-overflow",
112 | "text-overflow-ellipsis",
113 | "text-overflow-mode",
114 | "text-shadow",
115 | "text-transform",
116 | "text-wrap",
117 | "-webkit-text-size-adjust",
118 | "-ms-text-size-adjust",
119 | "letter-spacing",
120 | "-ms-word-break",
121 | "word-break",
122 | "word-spacing",
123 | "-ms-word-wrap",
124 | "word-wrap",
125 | "overflow-wrap",
126 | "tab-size",
127 | "white-space",
128 | "vertical-align",
129 | "list-style",
130 | "list-style-position",
131 | "list-style-type",
132 | "list-style-image",
133 | "pointer-events",
134 | "-ms-touch-action",
135 | "touch-action",
136 | "cursor",
137 | "visibility",
138 | "zoom",
139 | "table-layout",
140 | "empty-cells",
141 | "caption-side",
142 | "border-spacing",
143 | "border-collapse",
144 | "content",
145 | "quotes",
146 | "counter-reset",
147 | "counter-increment",
148 | "resize",
149 | "user-select",
150 | "nav-index",
151 | "nav-up",
152 | "nav-right",
153 | "nav-down",
154 | "nav-left",
155 | "background",
156 | "background-color",
157 | "background-image",
158 | "filter",
159 | "background-repeat",
160 | "background-attachment",
161 | "background-position",
162 | "background-position-x",
163 | "background-position-y",
164 | "background-clip",
165 | "background-origin",
166 | "background-size",
167 | "border",
168 | "border-color",
169 | "border-style",
170 | "border-width",
171 | "border-top",
172 | "border-top-color",
173 | "border-top-style",
174 | "border-top-width",
175 | "border-right",
176 | "border-right-color",
177 | "border-right-style",
178 | "border-right-width",
179 | "border-bottom",
180 | "border-bottom-color",
181 | "border-bottom-style",
182 | "border-bottom-width",
183 | "border-left",
184 | "border-left-color",
185 | "border-left-style",
186 | "border-left-width",
187 | "border-radius",
188 | "border-top-left-radius",
189 | "border-top-right-radius",
190 | "border-bottom-right-radius",
191 | "border-bottom-left-radius",
192 | "border-image",
193 | "border-image-source",
194 | "border-image-slice",
195 | "border-image-width",
196 | "border-image-outset",
197 | "border-image-repeat",
198 | "outline",
199 | "outline-width",
200 | "outline-style",
201 | "outline-color",
202 | "outline-offset",
203 | "box-shadow",
204 | "opacity",
205 | "-ms-interpolation-mode",
206 | "transition",
207 | "transition-delay",
208 | "transition-timing-function",
209 | "transition-duration",
210 | "transition-property",
211 | "transform",
212 | "transform-origin",
213 | "animation",
214 | "animation-name",
215 | "animation-duration",
216 | "animation-play-state",
217 | "animation-timing-function",
218 | "animation-delay",
219 | "animation-iteration-count",
220 | "animation-direction"
221 | ],
222 | "property-no-vendor-prefix": true,
223 | "rule-empty-line-before": null,
224 | "selector-attribute-quotes": "always",
225 | "selector-list-comma-newline-after": "always",
226 | "selector-list-comma-newline-before": "never-multi-line",
227 | "selector-list-comma-space-after": "always-single-line",
228 | "selector-list-comma-space-before": "never-single-line",
229 | "selector-max-attribute": 2,
230 | "selector-max-class": 4,
231 | "selector-max-combinators": 4,
232 | "selector-max-compound-selectors": 4,
233 | "selector-max-empty-lines": 1,
234 | "selector-max-id": 0,
235 | "selector-max-specificity": null,
236 | "selector-max-type": 2,
237 | "selector-max-universal": 1,
238 | "selector-no-qualifying-type": true,
239 | "selector-no-vendor-prefix": true,
240 | "string-quotes": "double",
241 | "value-keyword-case": "lower",
242 | "value-list-comma-newline-after": "never-multi-line",
243 | "value-list-comma-newline-before": "never-multi-line",
244 | "value-list-comma-space-after": "always",
245 | "value-no-vendor-prefix": true
246 | }
247 | }
248 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 |
3 | notifications:
4 | email: false
5 |
6 | node_js:
7 | - '8'
8 |
9 | sudo: false
10 |
11 | cache:
12 | directories:
13 | - node_modules
14 |
15 | git:
16 | submodules: false
17 |
18 | script:
19 | - npm test
20 | - npm start
21 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015 ysakasin
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 all
13 | 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 THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Umi
2 |
3 | [](https://travis-ci.org/ysakasin/Umi)
4 | [](https://david-dm.org/ysakasin/Umi#info=devDependencies)
5 | [](LICENSE)
6 | [](https://www.npmjs.com/package/bootstrap-umi)
7 |
8 | [https://ysakasin.github.io/Umi/](https://ysakasin.github.io/Umi/)
9 |
10 | [](https://ysakasin.github.io/Umi/)
11 |
12 | "Umi" は "Honoka"を元にした日本語も美しく表示できるBootstrapテーマです。
13 |
14 | ## About "Umi"
15 |
16 | 通常の [Bootstrap](http://getbootstrap.com/) では、日本語の表示が最適であるとはいえません。 "Honoka" では Bootstrap をベースに、日本語表示に適したフォントの指定や、ウェイトに関するコードを追記した Bootstrap テーマです。
17 |
18 | "Umi"は"Honoka"にBootswatch Flatlyの配色を適応したテーマです。
19 |
20 | ## Live Demo
21 |
22 | * [https://ysakasin.github.io/Umi/bootstrap-ja.html](https://ysakasin.github.io/Umi/bootstrap-ja.html) (日本語レイアウト)
23 | * [https://ysakasin.github.io/Umi/bootstrap.html](https://ysakasin.github.io/Umi/bootstrap.html) (英語レイアウト)
24 |
25 | ## Getting Started
26 |
27 | ### Download
28 |
29 | [Releases](https://github.com/ysakasin/Umi/releases) ページから最新版をダウンロードしてください。
30 |
31 | ### npm
32 |
33 | Node.js のパッケージ管理システムである、 [npm](https://npmjs.com) で [公開されています](https://www.npmjs.com/package/bootstrap-honoka)。 [webpack](https://webpack.js.org/) など、npmを利用したmodule bundlerでご利用ください。
34 |
35 | ```
36 | npm install --save bootstrap-umi
37 | ```
38 |
39 | パッケージ名が「**bootstrap-**umi」であることに注意してください。
40 |
41 | ### Bower
42 |
43 | [Bower](http://bower.io/) からインストールすることができます。
44 |
45 | 最新版をインストールするには以下のコマンドを実行してください。
46 |
47 | ```
48 | bower install --save-dev $(node -e "$(curl -fsSL https://cdn.honokak.osaka/last.js)" ysakasin Umi)
49 | ```
50 |
51 | もしcURLが入っていない環境の場合には、
52 |
53 | ```
54 | bower install --save-dev Umi#(version)
55 | ```
56 |
57 | `(version)` には Umi のバージョン番号を指定します(ex. `Umi#4.0.0`)。 Umi の最新バージョン番号は [Releases](https://github.com/ysakasin/Umi/releases) ページから確認してください。
58 |
59 | ## Usage
60 |
61 | Umi は Bootstrap のテーマにしか過ぎないため、基本的な使い方は Bootstrap と変わりません。 Bootstrap のスタイルシートの読み込みを Umi のスタイルシートに置き換えることで動作します。また JavaScript のコードは変更されていないので、 Bootstrap のものを使っても問題ありません。
62 |
63 | そのほか Bootstrap の機能の詳細については [Bootstrap のドキュメント](https://getbootstrap.com/docs/4.1/getting-started/introduction/) を参照してください。
64 |
65 | ### Package
66 |
67 | 配布している ZIP ファイルの内容物は以下のとおりです。 `bootstrap.min.css` といったように、ファイル名に `min` がついているファイルは、改行やインデント・スペーシングをなくした(minifyされた)コードで、ユーザがウェブページを読み込む際の転送量を少なくすることができます。通常はこの `bootstrap.min.*` を使うことをおすすめします。
68 |
69 | ```
70 | umi/
71 | ├─ LICENSE
72 | ├─ README.md
73 | ├─ bootstrap.html
74 | ├─ css/
75 | │ ├─ bootstrap.css
76 | │ └─ bootstrap.min.css
77 | └─ js/
78 | ├─ bootstrap.bundle.js
79 | ├─ bootstrap.bundle.min.js
80 | ├─ bootstrap.js
81 | └─ bootstrap.min.js
82 | ```
83 |
84 | ## Build
85 |
86 | ビルドの方法については [Wiki](https://github.com/windyakin/Honoka/wiki) をご覧ください。
87 |
88 | ## License
89 |
90 | [MIT License](LICENSE)
91 |
92 | ## Author of "Honoka"
93 |
94 | * windyakin ([@MITLicense](https://twitter.com/MITLicense))
95 |
96 | ## Editor of "Umi"
97 |
98 | * 酒田 シンジ ([@ysakasin](https://twitter.com/ysakasin))
99 |
--------------------------------------------------------------------------------
/appveyor.yml:
--------------------------------------------------------------------------------
1 | version: "{build}"
2 |
3 | init:
4 | - git config --global core.autocrlf true
5 |
6 | environment:
7 | nodejs_version: "8"
8 |
9 | install:
10 | - ps: Install-Product node $env:nodejs_version
11 | - npm install
12 |
13 | build: off
14 |
15 | test_script:
16 | - node --version
17 | - npm --version
18 | - npm start
19 |
20 | matrix:
21 | fast_finish: true
22 |
23 | cache:
24 | - C:\Users\appveyor\AppData\Roaming\npm-cache -> package.json
25 | - node_modules -> package.json
26 |
--------------------------------------------------------------------------------
/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Umi",
3 | "description": "Umi is one of the Bootstrap original theme.",
4 | "keywords": [
5 | "css",
6 | "sass",
7 | "bootstrap",
8 | "japanese",
9 | "theme",
10 | "responsive",
11 | "front-end",
12 | "framework",
13 | "web",
14 | "lovelive"
15 | ],
16 | "author": "ysakasin",
17 | "homepage": "https://ysakasin.github.io/Umi/",
18 | "repository": {
19 | "type": "git",
20 | "url": "git://github.com/ysakasin/Umi.git"
21 | },
22 | "license": "MIT",
23 | "moduleType": "globals",
24 | "main": [
25 | "dist/css/bootstrap.min.css"
26 | ],
27 | "ignore": [
28 | "build",
29 | "docs",
30 | "scss",
31 | "/.*",
32 | "appveyor.yml",
33 | "CNAME"
34 | ],
35 | "dependencies": {},
36 | "devDependencies": {
37 | "bootstrap": "4.0.0"
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/build/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = () => {
2 | return {
3 | use: [
4 | 'postcss-flexbugs-fixes',
5 | 'autoprefixer',
6 | ],
7 | map: {
8 | inline: false,
9 | annotation: true,
10 | sourcesContent: true,
11 | },
12 | plugins: {
13 | autoprefixer: {
14 | cascade: false,
15 | // https://github.com/twbs/bootstrap/blob/v4.0.0/package.json#L136-L147
16 | browsers: [
17 | 'last 1 major version',
18 | '>= 1%',
19 | 'Chrome >= 45',
20 | 'Firefox >= 38',
21 | 'Edge >= 12',
22 | 'Explorer >= 10',
23 | 'iOS >= 9',
24 | 'Safari >= 9',
25 | 'Android >= 4.4',
26 | 'Opera >= 30',
27 | ],
28 | },
29 | },
30 | };
31 | };
32 |
--------------------------------------------------------------------------------
/docs/assets/css/example.css:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 | @import url(https://fonts.googleapis.com/css?family=Montserrat);
3 | .btn {
4 | display: inline-block;
5 | font-weight: 400;
6 | text-align: center;
7 | white-space: nowrap;
8 | vertical-align: middle;
9 | -webkit-user-select: none;
10 | -moz-user-select: none;
11 | -ms-user-select: none;
12 | user-select: none;
13 | border: 1px solid transparent;
14 | padding: 0.375rem 0.75rem;
15 | font-size: 1rem;
16 | line-height: 1.5;
17 | border-radius: 0.25rem;
18 | transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
19 | }
20 |
21 | .btn:hover, .btn:focus {
22 | text-decoration: none;
23 | }
24 |
25 | .btn:focus, .btn.focus {
26 | outline: 0;
27 | box-shadow: 0 0 0 0.2rem rgba(44, 62, 80, 0.25);
28 | }
29 |
30 | .btn.disabled, .btn:disabled {
31 | opacity: 0.65;
32 | }
33 |
34 | .btn:not(:disabled):not(.disabled) {
35 | cursor: pointer;
36 | }
37 |
38 | .btn:not(:disabled):not(.disabled):active, .btn:not(:disabled):not(.disabled).active {
39 | background-image: none;
40 | }
41 |
42 | a.btn.disabled,
43 | fieldset:disabled a.btn {
44 | pointer-events: none;
45 | }
46 |
47 | .btn-primary {
48 | color: #fff;
49 | background-color: #2C3E50;
50 | border-color: #2C3E50;
51 | }
52 |
53 | .btn-primary:hover {
54 | color: #fff;
55 | background-color: #1e2b37;
56 | border-color: #1a252f;
57 | }
58 |
59 | .btn-primary:focus, .btn-primary.focus {
60 | box-shadow: 0 0 0 0.2rem rgba(44, 62, 80, 0.5);
61 | }
62 |
63 | .btn-primary.disabled, .btn-primary:disabled {
64 | color: #fff;
65 | background-color: #2C3E50;
66 | border-color: #2C3E50;
67 | }
68 |
69 | .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,
70 | .show > .btn-primary.dropdown-toggle {
71 | color: #fff;
72 | background-color: #1a252f;
73 | border-color: #151e27;
74 | }
75 |
76 | .btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,
77 | .show > .btn-primary.dropdown-toggle:focus {
78 | box-shadow: 0 0 0 0.2rem rgba(44, 62, 80, 0.5);
79 | }
80 |
81 | .btn-secondary {
82 | color: #212529;
83 | background-color: #95a5a6;
84 | border-color: #95a5a6;
85 | }
86 |
87 | .btn-secondary:hover {
88 | color: #fff;
89 | background-color: #809395;
90 | border-color: #798d8f;
91 | }
92 |
93 | .btn-secondary:focus, .btn-secondary.focus {
94 | box-shadow: 0 0 0 0.2rem rgba(149, 165, 166, 0.5);
95 | }
96 |
97 | .btn-secondary.disabled, .btn-secondary:disabled {
98 | color: #212529;
99 | background-color: #95a5a6;
100 | border-color: #95a5a6;
101 | }
102 |
103 | .btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,
104 | .show > .btn-secondary.dropdown-toggle {
105 | color: #fff;
106 | background-color: #798d8f;
107 | border-color: #738789;
108 | }
109 |
110 | .btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,
111 | .show > .btn-secondary.dropdown-toggle:focus {
112 | box-shadow: 0 0 0 0.2rem rgba(149, 165, 166, 0.5);
113 | }
114 |
115 | .btn-success {
116 | color: #fff;
117 | background-color: #18BC9C;
118 | border-color: #18BC9C;
119 | }
120 |
121 | .btn-success:hover {
122 | color: #fff;
123 | background-color: #149a80;
124 | border-color: #128f76;
125 | }
126 |
127 | .btn-success:focus, .btn-success.focus {
128 | box-shadow: 0 0 0 0.2rem rgba(24, 188, 156, 0.5);
129 | }
130 |
131 | .btn-success.disabled, .btn-success:disabled {
132 | color: #fff;
133 | background-color: #18BC9C;
134 | border-color: #18BC9C;
135 | }
136 |
137 | .btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,
138 | .show > .btn-success.dropdown-toggle {
139 | color: #fff;
140 | background-color: #128f76;
141 | border-color: #11836d;
142 | }
143 |
144 | .btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,
145 | .show > .btn-success.dropdown-toggle:focus {
146 | box-shadow: 0 0 0 0.2rem rgba(24, 188, 156, 0.5);
147 | }
148 |
149 | .btn-info {
150 | color: #fff;
151 | background-color: #3498DB;
152 | border-color: #3498DB;
153 | }
154 |
155 | .btn-info:hover {
156 | color: #fff;
157 | background-color: #2384c6;
158 | border-color: #217dbb;
159 | }
160 |
161 | .btn-info:focus, .btn-info.focus {
162 | box-shadow: 0 0 0 0.2rem rgba(52, 152, 219, 0.5);
163 | }
164 |
165 | .btn-info.disabled, .btn-info:disabled {
166 | color: #fff;
167 | background-color: #3498DB;
168 | border-color: #3498DB;
169 | }
170 |
171 | .btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,
172 | .show > .btn-info.dropdown-toggle {
173 | color: #fff;
174 | background-color: #217dbb;
175 | border-color: #1f76b0;
176 | }
177 |
178 | .btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,
179 | .show > .btn-info.dropdown-toggle:focus {
180 | box-shadow: 0 0 0 0.2rem rgba(52, 152, 219, 0.5);
181 | }
182 |
183 | .btn-warning {
184 | color: #212529;
185 | background-color: #F39C12;
186 | border-color: #F39C12;
187 | }
188 |
189 | .btn-warning:hover {
190 | color: #fff;
191 | background-color: #d4860b;
192 | border-color: #c87f0a;
193 | }
194 |
195 | .btn-warning:focus, .btn-warning.focus {
196 | box-shadow: 0 0 0 0.2rem rgba(243, 156, 18, 0.5);
197 | }
198 |
199 | .btn-warning.disabled, .btn-warning:disabled {
200 | color: #212529;
201 | background-color: #F39C12;
202 | border-color: #F39C12;
203 | }
204 |
205 | .btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,
206 | .show > .btn-warning.dropdown-toggle {
207 | color: #fff;
208 | background-color: #c87f0a;
209 | border-color: #bc770a;
210 | }
211 |
212 | .btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,
213 | .show > .btn-warning.dropdown-toggle:focus {
214 | box-shadow: 0 0 0 0.2rem rgba(243, 156, 18, 0.5);
215 | }
216 |
217 | .btn-danger {
218 | color: #fff;
219 | background-color: #E74C3C;
220 | border-color: #E74C3C;
221 | }
222 |
223 | .btn-danger:hover {
224 | color: #fff;
225 | background-color: #e12e1c;
226 | border-color: #d62c1a;
227 | }
228 |
229 | .btn-danger:focus, .btn-danger.focus {
230 | box-shadow: 0 0 0 0.2rem rgba(231, 76, 60, 0.5);
231 | }
232 |
233 | .btn-danger.disabled, .btn-danger:disabled {
234 | color: #fff;
235 | background-color: #E74C3C;
236 | border-color: #E74C3C;
237 | }
238 |
239 | .btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,
240 | .show > .btn-danger.dropdown-toggle {
241 | color: #fff;
242 | background-color: #d62c1a;
243 | border-color: #ca2a19;
244 | }
245 |
246 | .btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,
247 | .show > .btn-danger.dropdown-toggle:focus {
248 | box-shadow: 0 0 0 0.2rem rgba(231, 76, 60, 0.5);
249 | }
250 |
251 | .btn-light {
252 | color: #212529;
253 | background-color: #ecf0f1;
254 | border-color: #ecf0f1;
255 | }
256 |
257 | .btn-light:hover {
258 | color: #212529;
259 | background-color: #d6dfe1;
260 | border-color: #cfd9db;
261 | }
262 |
263 | .btn-light:focus, .btn-light.focus {
264 | box-shadow: 0 0 0 0.2rem rgba(236, 240, 241, 0.5);
265 | }
266 |
267 | .btn-light.disabled, .btn-light:disabled {
268 | color: #212529;
269 | background-color: #ecf0f1;
270 | border-color: #ecf0f1;
271 | }
272 |
273 | .btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,
274 | .show > .btn-light.dropdown-toggle {
275 | color: #212529;
276 | background-color: #cfd9db;
277 | border-color: #c7d3d6;
278 | }
279 |
280 | .btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,
281 | .show > .btn-light.dropdown-toggle:focus {
282 | box-shadow: 0 0 0 0.2rem rgba(236, 240, 241, 0.5);
283 | }
284 |
285 | .btn-dark {
286 | color: #fff;
287 | background-color: #7b8a8b;
288 | border-color: #7b8a8b;
289 | }
290 |
291 | .btn-dark:hover {
292 | color: #fff;
293 | background-color: #697677;
294 | border-color: #636f70;
295 | }
296 |
297 | .btn-dark:focus, .btn-dark.focus {
298 | box-shadow: 0 0 0 0.2rem rgba(123, 138, 139, 0.5);
299 | }
300 |
301 | .btn-dark.disabled, .btn-dark:disabled {
302 | color: #fff;
303 | background-color: #7b8a8b;
304 | border-color: #7b8a8b;
305 | }
306 |
307 | .btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,
308 | .show > .btn-dark.dropdown-toggle {
309 | color: #fff;
310 | background-color: #636f70;
311 | border-color: #5d696a;
312 | }
313 |
314 | .btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,
315 | .show > .btn-dark.dropdown-toggle:focus {
316 | box-shadow: 0 0 0 0.2rem rgba(123, 138, 139, 0.5);
317 | }
318 |
319 | .btn-outline-primary {
320 | color: #2C3E50;
321 | background-color: transparent;
322 | background-image: none;
323 | border-color: #2C3E50;
324 | }
325 |
326 | .btn-outline-primary:hover {
327 | color: #fff;
328 | background-color: #2C3E50;
329 | border-color: #2C3E50;
330 | }
331 |
332 | .btn-outline-primary:focus, .btn-outline-primary.focus {
333 | box-shadow: 0 0 0 0.2rem rgba(44, 62, 80, 0.5);
334 | }
335 |
336 | .btn-outline-primary.disabled, .btn-outline-primary:disabled {
337 | color: #2C3E50;
338 | background-color: transparent;
339 | }
340 |
341 | .btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,
342 | .show > .btn-outline-primary.dropdown-toggle {
343 | color: #fff;
344 | background-color: #2C3E50;
345 | border-color: #2C3E50;
346 | }
347 |
348 | .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,
349 | .show > .btn-outline-primary.dropdown-toggle:focus {
350 | box-shadow: 0 0 0 0.2rem rgba(44, 62, 80, 0.5);
351 | }
352 |
353 | .btn-outline-secondary {
354 | color: #95a5a6;
355 | background-color: transparent;
356 | background-image: none;
357 | border-color: #95a5a6;
358 | }
359 |
360 | .btn-outline-secondary:hover {
361 | color: #212529;
362 | background-color: #95a5a6;
363 | border-color: #95a5a6;
364 | }
365 |
366 | .btn-outline-secondary:focus, .btn-outline-secondary.focus {
367 | box-shadow: 0 0 0 0.2rem rgba(149, 165, 166, 0.5);
368 | }
369 |
370 | .btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
371 | color: #95a5a6;
372 | background-color: transparent;
373 | }
374 |
375 | .btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,
376 | .show > .btn-outline-secondary.dropdown-toggle {
377 | color: #212529;
378 | background-color: #95a5a6;
379 | border-color: #95a5a6;
380 | }
381 |
382 | .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
383 | .show > .btn-outline-secondary.dropdown-toggle:focus {
384 | box-shadow: 0 0 0 0.2rem rgba(149, 165, 166, 0.5);
385 | }
386 |
387 | .btn-outline-success {
388 | color: #18BC9C;
389 | background-color: transparent;
390 | background-image: none;
391 | border-color: #18BC9C;
392 | }
393 |
394 | .btn-outline-success:hover {
395 | color: #fff;
396 | background-color: #18BC9C;
397 | border-color: #18BC9C;
398 | }
399 |
400 | .btn-outline-success:focus, .btn-outline-success.focus {
401 | box-shadow: 0 0 0 0.2rem rgba(24, 188, 156, 0.5);
402 | }
403 |
404 | .btn-outline-success.disabled, .btn-outline-success:disabled {
405 | color: #18BC9C;
406 | background-color: transparent;
407 | }
408 |
409 | .btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,
410 | .show > .btn-outline-success.dropdown-toggle {
411 | color: #fff;
412 | background-color: #18BC9C;
413 | border-color: #18BC9C;
414 | }
415 |
416 | .btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,
417 | .show > .btn-outline-success.dropdown-toggle:focus {
418 | box-shadow: 0 0 0 0.2rem rgba(24, 188, 156, 0.5);
419 | }
420 |
421 | .btn-outline-info {
422 | color: #3498DB;
423 | background-color: transparent;
424 | background-image: none;
425 | border-color: #3498DB;
426 | }
427 |
428 | .btn-outline-info:hover {
429 | color: #fff;
430 | background-color: #3498DB;
431 | border-color: #3498DB;
432 | }
433 |
434 | .btn-outline-info:focus, .btn-outline-info.focus {
435 | box-shadow: 0 0 0 0.2rem rgba(52, 152, 219, 0.5);
436 | }
437 |
438 | .btn-outline-info.disabled, .btn-outline-info:disabled {
439 | color: #3498DB;
440 | background-color: transparent;
441 | }
442 |
443 | .btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,
444 | .show > .btn-outline-info.dropdown-toggle {
445 | color: #fff;
446 | background-color: #3498DB;
447 | border-color: #3498DB;
448 | }
449 |
450 | .btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,
451 | .show > .btn-outline-info.dropdown-toggle:focus {
452 | box-shadow: 0 0 0 0.2rem rgba(52, 152, 219, 0.5);
453 | }
454 |
455 | .btn-outline-warning {
456 | color: #F39C12;
457 | background-color: transparent;
458 | background-image: none;
459 | border-color: #F39C12;
460 | }
461 |
462 | .btn-outline-warning:hover {
463 | color: #212529;
464 | background-color: #F39C12;
465 | border-color: #F39C12;
466 | }
467 |
468 | .btn-outline-warning:focus, .btn-outline-warning.focus {
469 | box-shadow: 0 0 0 0.2rem rgba(243, 156, 18, 0.5);
470 | }
471 |
472 | .btn-outline-warning.disabled, .btn-outline-warning:disabled {
473 | color: #F39C12;
474 | background-color: transparent;
475 | }
476 |
477 | .btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,
478 | .show > .btn-outline-warning.dropdown-toggle {
479 | color: #212529;
480 | background-color: #F39C12;
481 | border-color: #F39C12;
482 | }
483 |
484 | .btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,
485 | .show > .btn-outline-warning.dropdown-toggle:focus {
486 | box-shadow: 0 0 0 0.2rem rgba(243, 156, 18, 0.5);
487 | }
488 |
489 | .btn-outline-danger {
490 | color: #E74C3C;
491 | background-color: transparent;
492 | background-image: none;
493 | border-color: #E74C3C;
494 | }
495 |
496 | .btn-outline-danger:hover {
497 | color: #fff;
498 | background-color: #E74C3C;
499 | border-color: #E74C3C;
500 | }
501 |
502 | .btn-outline-danger:focus, .btn-outline-danger.focus {
503 | box-shadow: 0 0 0 0.2rem rgba(231, 76, 60, 0.5);
504 | }
505 |
506 | .btn-outline-danger.disabled, .btn-outline-danger:disabled {
507 | color: #E74C3C;
508 | background-color: transparent;
509 | }
510 |
511 | .btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,
512 | .show > .btn-outline-danger.dropdown-toggle {
513 | color: #fff;
514 | background-color: #E74C3C;
515 | border-color: #E74C3C;
516 | }
517 |
518 | .btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,
519 | .show > .btn-outline-danger.dropdown-toggle:focus {
520 | box-shadow: 0 0 0 0.2rem rgba(231, 76, 60, 0.5);
521 | }
522 |
523 | .btn-outline-light {
524 | color: #ecf0f1;
525 | background-color: transparent;
526 | background-image: none;
527 | border-color: #ecf0f1;
528 | }
529 |
530 | .btn-outline-light:hover {
531 | color: #212529;
532 | background-color: #ecf0f1;
533 | border-color: #ecf0f1;
534 | }
535 |
536 | .btn-outline-light:focus, .btn-outline-light.focus {
537 | box-shadow: 0 0 0 0.2rem rgba(236, 240, 241, 0.5);
538 | }
539 |
540 | .btn-outline-light.disabled, .btn-outline-light:disabled {
541 | color: #ecf0f1;
542 | background-color: transparent;
543 | }
544 |
545 | .btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,
546 | .show > .btn-outline-light.dropdown-toggle {
547 | color: #212529;
548 | background-color: #ecf0f1;
549 | border-color: #ecf0f1;
550 | }
551 |
552 | .btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,
553 | .show > .btn-outline-light.dropdown-toggle:focus {
554 | box-shadow: 0 0 0 0.2rem rgba(236, 240, 241, 0.5);
555 | }
556 |
557 | .btn-outline-dark {
558 | color: #7b8a8b;
559 | background-color: transparent;
560 | background-image: none;
561 | border-color: #7b8a8b;
562 | }
563 |
564 | .btn-outline-dark:hover {
565 | color: #fff;
566 | background-color: #7b8a8b;
567 | border-color: #7b8a8b;
568 | }
569 |
570 | .btn-outline-dark:focus, .btn-outline-dark.focus {
571 | box-shadow: 0 0 0 0.2rem rgba(123, 138, 139, 0.5);
572 | }
573 |
574 | .btn-outline-dark.disabled, .btn-outline-dark:disabled {
575 | color: #7b8a8b;
576 | background-color: transparent;
577 | }
578 |
579 | .btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,
580 | .show > .btn-outline-dark.dropdown-toggle {
581 | color: #fff;
582 | background-color: #7b8a8b;
583 | border-color: #7b8a8b;
584 | }
585 |
586 | .btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,
587 | .show > .btn-outline-dark.dropdown-toggle:focus {
588 | box-shadow: 0 0 0 0.2rem rgba(123, 138, 139, 0.5);
589 | }
590 |
591 | .btn-link {
592 | font-weight: 400;
593 | color: #18BC9C;
594 | background-color: transparent;
595 | }
596 |
597 | .btn-link:hover {
598 | color: #0f7864;
599 | text-decoration: underline;
600 | background-color: transparent;
601 | border-color: transparent;
602 | }
603 |
604 | .btn-link:focus, .btn-link.focus {
605 | text-decoration: underline;
606 | border-color: transparent;
607 | box-shadow: none;
608 | }
609 |
610 | .btn-link:disabled, .btn-link.disabled {
611 | color: #95a5a6;
612 | }
613 |
614 | .btn-lg {
615 | padding: 0.5rem 1rem;
616 | font-size: 1.25rem;
617 | line-height: 1.5;
618 | border-radius: 0.3rem;
619 | }
620 |
621 | .btn-sm {
622 | padding: 0.25rem 0.5rem;
623 | font-size: 0.875rem;
624 | line-height: 1.5;
625 | border-radius: 0.2rem;
626 | }
627 |
628 | .btn-block {
629 | display: block;
630 | width: 100%;
631 | }
632 |
633 | .btn-block + .btn-block {
634 | margin-top: 0.5rem;
635 | }
636 |
637 | input[type="submit"].btn-block,
638 | input[type="reset"].btn-block,
639 | input[type="button"].btn-block {
640 | width: 100%;
641 | }
642 |
643 | .bg-primary .navbar-nav .active > .nav-link,
644 | .bg-primary .navbar-nav .nav-link:hover,
645 | .bg-primary .navbar-nav .nav-link:focus {
646 | color: #18BC9C !important;
647 | }
648 |
649 | .bg-primary .nav-item .nav-link::before {
650 | border-color: #18BC9C !important;
651 | }
652 |
653 | .bg-dark {
654 | background-color: #18BC9C !important;
655 | }
656 |
657 | .bg-dark.navbar-dark .navbar-nav .nav-link:focus,
658 | .bg-dark.navbar-dark .navbar-nav .nav-link:hover,
659 | .bg-dark.navbar-dark .navbar-nav .active > .nav-link {
660 | color: #2C3E50 !important;
661 | }
662 |
663 | .bg-dark.navbar-dark .navbar-nav .nav-item .nav-link::before {
664 | border-color: #2C3E50 !important;
665 | }
666 |
667 | .btn-secondary, .btn-secondary:hover, .btn-warning, .btn-warning:hover {
668 | color: #fff;
669 | }
670 |
671 | .btn-secondary.disabled, .btn-secondary:hover.disabled, .btn-warning.disabled, .btn-warning:hover.disabled {
672 | color: #fff;
673 | }
674 |
675 | .table .thead-dark th {
676 | background-color: #2C3E50;
677 | }
678 |
679 | .table-success, .table-info, .table-warning, .table-danger {
680 | color: #fff;
681 | }
682 |
683 | .table-success, .table-success > th, .table-success > td {
684 | background-color: #18BC9C;
685 | }
686 |
687 | .table-info, .table-info > th, .table-info > td {
688 | background-color: #3498DB;
689 | }
690 |
691 | .table-danger, .table-danger > th, .table-danger > td {
692 | background-color: #E74C3C;
693 | }
694 |
695 | .table-warning, .table-warning > th, .table-warning > td {
696 | background-color: #F39C12;
697 | }
698 |
699 | .table-hover .table-success:hover, .table-hover .table-success:hover > th, .table-hover .table-success:hover > td {
700 | background-color: #15a589;
701 | }
702 |
703 | .table-hover .table-info:hover, .table-hover .table-info:hover > th, .table-hover .table-info:hover > td {
704 | background-color: #258cd1;
705 | }
706 |
707 | .table-hover .table-danger:hover, .table-hover .table-danger:hover > th, .table-hover .table-danger:hover > td {
708 | background-color: #e43725;
709 | }
710 |
711 | .table-hover .table-warning:hover, .table-hover .table-warning:hover > th, .table-hover .table-warning:hover > td {
712 | background-color: #e08e0b;
713 | }
714 |
715 | .nav-tabs .nav-link.active,
716 | .nav-tabs .nav-link.active:focus,
717 | .nav-tabs .nav-link.active:hover,
718 | .nav-tabs .nav-item.open .nav-link,
719 | .nav-tabs .nav-item.open .nav-link:focus,
720 | .nav-tabs .nav-item.open .nav-link:hover {
721 | color: #2C3E50;
722 | }
723 |
724 | .pagination a:hover {
725 | text-decoration: none;
726 | }
727 |
728 | .close {
729 | text-decoration: none;
730 | opacity: 0.4;
731 | }
732 |
733 | .close:hover, .close:focus {
734 | opacity: 1;
735 | }
736 |
737 | .badge-secondary, .badge-warning {
738 | color: #fff;
739 | }
740 |
741 | .alert {
742 | border: none;
743 | color: #fff;
744 | }
745 |
746 | .alert a,
747 | .alert .alert-link {
748 | color: #fff;
749 | text-decoration: underline;
750 | }
751 |
752 | .alert-primary {
753 | background-color: #2C3E50;
754 | }
755 |
756 | .alert-secondary {
757 | background-color: #95a5a6;
758 | }
759 |
760 | .alert-success {
761 | background-color: #18BC9C;
762 | }
763 |
764 | .alert-info {
765 | background-color: #3498DB;
766 | }
767 |
768 | .alert-warning {
769 | background-color: #F39C12;
770 | }
771 |
772 | .alert-danger {
773 | background-color: #E74C3C;
774 | }
775 |
776 | .alert-light {
777 | background-color: #ecf0f1;
778 | }
779 |
780 | .alert-dark {
781 | background-color: #7b8a8b;
782 | }
783 |
784 | .alert-light,
785 | .alert-light a,
786 | .alert-light .alert-link {
787 | color: #212529;
788 | }
789 |
790 | .modal .close {
791 | color: #000;
792 | }
793 |
794 | .btn-honoka {
795 | color: #fff;
796 | background-color: #1490ff;
797 | border-color: #1490ff;
798 | color: #fff;
799 | }
800 |
801 | .btn-honoka:hover {
802 | color: #fff;
803 | background-color: #007ded;
804 | border-color: #0076e0;
805 | }
806 |
807 | .btn-honoka:focus, .btn-honoka.focus {
808 | box-shadow: 0 0 0 0.2rem rgba(20, 144, 255, 0.5);
809 | }
810 |
811 | .btn-honoka.disabled, .btn-honoka:disabled {
812 | color: #fff;
813 | background-color: #1490ff;
814 | border-color: #1490ff;
815 | }
816 |
817 | .btn-honoka:not(:disabled):not(.disabled):active, .btn-honoka:not(:disabled):not(.disabled).active,
818 | .show > .btn-honoka.dropdown-toggle {
819 | color: #fff;
820 | background-color: #0076e0;
821 | border-color: #006fd3;
822 | }
823 |
824 | .btn-honoka:not(:disabled):not(.disabled):active:focus, .btn-honoka:not(:disabled):not(.disabled).active:focus,
825 | .show > .btn-honoka.dropdown-toggle:focus {
826 | box-shadow: 0 0 0 0.2rem rgba(20, 144, 255, 0.5);
827 | }
828 |
829 | .btn-twitter {
830 | color: #212529;
831 | background-color: #55acee;
832 | border-color: #55acee;
833 | color: #fff;
834 | }
835 |
836 | .btn-twitter:hover {
837 | color: #fff;
838 | background-color: #329beb;
839 | border-color: #2795e9;
840 | }
841 |
842 | .btn-twitter:focus, .btn-twitter.focus {
843 | box-shadow: 0 0 0 0.2rem rgba(85, 172, 238, 0.5);
844 | }
845 |
846 | .btn-twitter.disabled, .btn-twitter:disabled {
847 | color: #212529;
848 | background-color: #55acee;
849 | border-color: #55acee;
850 | }
851 |
852 | .btn-twitter:not(:disabled):not(.disabled):active, .btn-twitter:not(:disabled):not(.disabled).active,
853 | .show > .btn-twitter.dropdown-toggle {
854 | color: #fff;
855 | background-color: #2795e9;
856 | border-color: #1b90e8;
857 | }
858 |
859 | .btn-twitter:not(:disabled):not(.disabled):active:focus, .btn-twitter:not(:disabled):not(.disabled).active:focus,
860 | .show > .btn-twitter.dropdown-toggle:focus {
861 | box-shadow: 0 0 0 0.2rem rgba(85, 172, 238, 0.5);
862 | }
863 |
864 | .btn-facebook {
865 | color: #fff;
866 | background-color: #3b5998;
867 | border-color: #3b5998;
868 | color: #fff;
869 | }
870 |
871 | .btn-facebook:hover {
872 | color: #fff;
873 | background-color: #30497c;
874 | border-color: #2d4373;
875 | }
876 |
877 | .btn-facebook:focus, .btn-facebook.focus {
878 | box-shadow: 0 0 0 0.2rem rgba(59, 89, 152, 0.5);
879 | }
880 |
881 | .btn-facebook.disabled, .btn-facebook:disabled {
882 | color: #fff;
883 | background-color: #3b5998;
884 | border-color: #3b5998;
885 | }
886 |
887 | .btn-facebook:not(:disabled):not(.disabled):active, .btn-facebook:not(:disabled):not(.disabled).active,
888 | .show > .btn-facebook.dropdown-toggle {
889 | color: #fff;
890 | background-color: #2d4373;
891 | border-color: #293e6a;
892 | }
893 |
894 | .btn-facebook:not(:disabled):not(.disabled):active:focus, .btn-facebook:not(:disabled):not(.disabled).active:focus,
895 | .show > .btn-facebook.dropdown-toggle:focus {
896 | box-shadow: 0 0 0 0.2rem rgba(59, 89, 152, 0.5);
897 | }
898 |
899 | .btn-hatena {
900 | color: #fff;
901 | background-color: #178fde;
902 | border-color: #178fde;
903 | color: #fff;
904 | }
905 |
906 | .btn-hatena:hover {
907 | color: #fff;
908 | background-color: #1379bb;
909 | border-color: #1271b0;
910 | }
911 |
912 | .btn-hatena:focus, .btn-hatena.focus {
913 | box-shadow: 0 0 0 0.2rem rgba(23, 143, 222, 0.5);
914 | }
915 |
916 | .btn-hatena.disabled, .btn-hatena:disabled {
917 | color: #fff;
918 | background-color: #178fde;
919 | border-color: #178fde;
920 | }
921 |
922 | .btn-hatena:not(:disabled):not(.disabled):active, .btn-hatena:not(:disabled):not(.disabled).active,
923 | .show > .btn-hatena.dropdown-toggle {
924 | color: #fff;
925 | background-color: #1271b0;
926 | border-color: #116aa4;
927 | }
928 |
929 | .btn-hatena:not(:disabled):not(.disabled):active:focus, .btn-hatena:not(:disabled):not(.disabled).active:focus,
930 | .show > .btn-hatena.dropdown-toggle:focus {
931 | box-shadow: 0 0 0 0.2rem rgba(23, 143, 222, 0.5);
932 | }
933 |
934 | .btn-twitter .fa.fa-lg,
935 | .btn-facebook .fa.fa-lg,
936 | .btn-hatena .fa.fa-lg {
937 | vertical-align: -1px;
938 | }
939 |
940 | .icon.icon-hatebu::before {
941 | display: inline-block;
942 | width: 1.5rem;
943 | height: 1.1rem;
944 | content: "";
945 | background-image: url("../img/hatebu.svg");
946 | background-size: 100% 100%;
947 | }
948 |
949 | .social-button {
950 | position: relative;
951 | padding: get-maps((0: 0, 1: 0.25rem, 2: 0.5rem, 3: 1rem, 4: 1.5rem, 5: 3rem), 2) 0;
952 | margin: 0 auto;
953 | overflow: hidden;
954 | }
955 |
956 | .social-button > ul {
957 | position: relative;
958 | left: 50%;
959 | float: left;
960 | padding: 0;
961 | margin: 0;
962 | list-style: outside none none;
963 | }
964 |
965 | .social-button > ul > li {
966 | position: relative;
967 | left: -50%;
968 | float: left;
969 | padding: 0;
970 | margin: 0 10px;
971 | }
972 |
973 | .social-button > ul > li .fb-like > span {
974 | vertical-align: 0 !important;
975 | }
976 |
977 | .social {
978 | padding: 1rem 0;
979 | background: #ecf0f1;
980 | }
981 |
982 | .bg-primary .navbar-nav .active > .nav-link,
983 | .bg-primary .navbar-nav .nav-link:hover,
984 | .bg-primary .navbar-nav .nav-link:focus {
985 | color: #add8ff !important;
986 | }
987 |
988 | .bg-primary .nav-item .nav-link::before {
989 | border-color: #add8ff !important;
990 | }
991 |
992 | .jumbotron.special {
993 | position: relative;
994 | min-height: 530px;
995 | margin-bottom: 0;
996 | overflow: hidden;
997 | background-color: #add8ff;
998 | background-image: url("../img/circle.png");
999 | background-repeat: no-repeat;
1000 | background-position: -35% center;
1001 | background-size: 70%;
1002 | }
1003 |
1004 | .jumbotron.special .honoka {
1005 | position: absolute;
1006 | bottom: -5rem;
1007 | left: 0;
1008 | width: 390px;
1009 | height: 530px;
1010 | background-image: url("../img/umi.png");
1011 | background-repeat: no-repeat;
1012 | }
1013 |
1014 | .jumbotron.special .outline {
1015 | position: relative;
1016 | }
1017 |
1018 | .jumbotron.special .copy {
1019 | font-weight: 600;
1020 | }
1021 |
1022 | @media (max-width: 767.98px) {
1023 | .jumbotron.special .copy {
1024 | font-size: 2.5rem;
1025 | }
1026 | }
1027 |
1028 | .jumbotron.special .download {
1029 | margin: 1rem auto 0.5rem;
1030 | }
1031 |
1032 | .jumbotron.special .basedon {
1033 | margin: 0.5rem auto;
1034 | color: #7b8a8b;
1035 | }
1036 |
1037 | .section {
1038 | padding: 10rem 0;
1039 | }
1040 |
1041 | .section.section-default {
1042 | background-color: #fff;
1043 | }
1044 |
1045 | .section.section-inverse {
1046 | background-color: #e0f0ff;
1047 | }
1048 |
1049 | .section .subtitle {
1050 | margin-bottom: 1rem;
1051 | text-align: center;
1052 | }
1053 |
1054 | .section .subtitle h2 {
1055 | margin-top: 0;
1056 | }
1057 |
1058 | .point .point-box {
1059 | text-align: center;
1060 | }
1061 |
1062 | .point .point-box .point-circle {
1063 | width: 100px;
1064 | height: 100px;
1065 | margin: 0 auto;
1066 | font-size: 60px;
1067 | line-height: 100px;
1068 | color: #fff;
1069 | border-radius: 100%;
1070 | }
1071 |
1072 | .point .point-box .point-circle.start {
1073 | background-color: #18BC9C;
1074 | }
1075 |
1076 | .point .point-box .point-circle.replace {
1077 | background-color: #F39C12;
1078 | }
1079 |
1080 | .point .point-box .point-circle.compass {
1081 | background-color: #2C3E50;
1082 | }
1083 |
1084 | .point .point-box .point-circle.japanese {
1085 | background-color: #E74C3C;
1086 | }
1087 |
1088 | .point .point-box .point-description h4 {
1089 | margin-top: 1rem;
1090 | text-align: center;
1091 | }
1092 |
1093 | .point .point-box .point-description p {
1094 | text-align: justify;
1095 | }
1096 |
1097 | .icon-jp::before {
1098 | font-weight: 700;
1099 | content: "あ";
1100 | }
1101 |
1102 | .getting-started h3 {
1103 | margin-top: 0;
1104 | }
1105 |
1106 | .japanese-font .well > h3 {
1107 | margin-top: 1rem;
1108 | }
1109 |
1110 | h3 .package-system-logo {
1111 | width: auto;
1112 | height: 3.5rem;
1113 | font-size: 3.5rem;
1114 | line-height: 3.5rem;
1115 | }
1116 |
1117 | .featured .subtitle h2 {
1118 | font-size: 1.75rem;
1119 | }
1120 |
1121 | .featured .featured-list a {
1122 | opacity: .7;
1123 | transition: opacity .2s;
1124 | }
1125 |
1126 | .featured .featured-list a:hover, .featured .featured-list a:active, .featured .featured-list a:focus {
1127 | opacity: .5;
1128 | }
1129 |
1130 | .featured .featured-list li {
1131 | padding: 1rem 1rem;
1132 | }
1133 |
1134 | .card > a {
1135 | transition: opacity .2s;
1136 | }
1137 |
1138 | .card > a:hover, .card > a:active, .card > a:focus {
1139 | opacity: .7;
1140 | }
1141 |
1142 | footer {
1143 | padding: 4rem 0;
1144 | color: #ecf0f1;
1145 | background-color: #343a40;
1146 | }
1147 |
1148 | footer .copyright {
1149 | padding-top: 1rem;
1150 | padding-bottom: 1rem;
1151 | }
1152 |
1153 | /*# sourceMappingURL=example.css.map */
--------------------------------------------------------------------------------
/docs/assets/img/bower-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ysakasin/Umi/95bde5331beb6155f4abb35c27c5b91552c4c649/docs/assets/img/bower-logo.png
--------------------------------------------------------------------------------
/docs/assets/img/brand-light.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ysakasin/Umi/95bde5331beb6155f4abb35c27c5b91552c4c649/docs/assets/img/brand-light.png
--------------------------------------------------------------------------------
/docs/assets/img/brand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ysakasin/Umi/95bde5331beb6155f4abb35c27c5b91552c4c649/docs/assets/img/brand.png
--------------------------------------------------------------------------------
/docs/assets/img/circle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ysakasin/Umi/95bde5331beb6155f4abb35c27c5b91552c4c649/docs/assets/img/circle.png
--------------------------------------------------------------------------------
/docs/assets/img/hatebu.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
10 |
--------------------------------------------------------------------------------
/docs/assets/img/honoka.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ysakasin/Umi/95bde5331beb6155f4abb35c27c5b91552c4c649/docs/assets/img/honoka.png
--------------------------------------------------------------------------------
/docs/assets/img/npm-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ysakasin/Umi/95bde5331beb6155f4abb35c27c5b91552c4c649/docs/assets/img/npm-logo.png
--------------------------------------------------------------------------------
/docs/assets/img/sample.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ysakasin/Umi/95bde5331beb6155f4abb35c27c5b91552c4c649/docs/assets/img/sample.png
--------------------------------------------------------------------------------
/docs/assets/img/umi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ysakasin/Umi/95bde5331beb6155f4abb35c27c5b91552c4c649/docs/assets/img/umi.png
--------------------------------------------------------------------------------
/docs/assets/scss/example.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
3 | // $spacer: 1rem;
4 | @import "bootstrap/scss/functions";
5 | @import "honoka/variables";
6 | @import "bootstrap/scss/mixins";
7 | @import "bootstrap/scss/buttons";
8 | @import "honoka/bootswatch";
9 | // @import "bootstrap/scss/variables";
10 |
11 | @import url(https://fonts.googleapis.com/css?family=Montserrat);
12 | // @import "honoka/mixins";
13 |
14 | // stylelint-disable
15 | $brand-honoka: #1490ff;
16 | $brand-twitter: #55acee;
17 | $brand-facebook: #3b5998;
18 | $brand-hatena: #178fde;
19 |
20 | $brand-colors: ();
21 | $brand-colors: map-merge((
22 | "honoka": $brand-honoka,
23 | "twitter": $brand-twitter,
24 | "facebook": $brand-facebook,
25 | "hatena": $brand-hatena
26 | ), $brand-colors);
27 | // stylelint-enable
28 |
29 | @each $color, $value in $brand-colors {
30 | .btn-#{$color} {
31 | @include button-variant($value, $value);
32 | color: #fff;
33 | }
34 | }
35 |
36 | .btn-twitter,
37 | .btn-facebook,
38 | .btn-hatena {
39 | .fa.fa-lg {
40 | vertical-align: -1px;
41 | }
42 | }
43 |
44 | .icon.icon-hatebu::before {
45 | display: inline-block;
46 | width: 1.5rem;
47 | height: 1.1rem;
48 | content: "";
49 | background-image: url("../img/hatebu.svg");
50 | background-size: 100% 100%;
51 | }
52 |
53 | .social-button {
54 | position: relative;
55 | padding: get-maps($spacers, 2) 0;
56 | margin: 0 auto;
57 | overflow: hidden;
58 | > ul {
59 | position: relative;
60 | left: 50%;
61 | float: left;
62 | padding: 0;
63 | margin: 0;
64 | list-style: outside none none;
65 | > li {
66 | position: relative;
67 | left: -50%;
68 | float: left;
69 | padding: 0;
70 | margin: 0 10px;
71 | .fb-like > span {
72 | vertical-align: 0 !important;
73 | }
74 | }
75 | }
76 | }
77 |
78 | .social {
79 | padding: $spacer 0;
80 | background: $gray-200;
81 | }
82 |
83 | .bg-primary {
84 | .navbar-nav {
85 | .active > .nav-link,
86 | .nav-link:hover,
87 | .nav-link:focus {
88 | color: lighten($brand-honoka, 30%) !important;
89 | }
90 | }
91 | .nav-item .nav-link::before {
92 | border-color: lighten($brand-honoka, 30%) !important;
93 | }
94 | }
95 |
96 | .jumbotron.special {
97 | position: relative;
98 | min-height: 530px;
99 | margin-bottom: 0;
100 | overflow: hidden;
101 | background-color: lighten($brand-honoka, 30%);
102 | background-image: url("../img/circle.png");
103 | background-repeat: no-repeat;
104 | background-position: -35% center;
105 | background-size: 70%;
106 | .honoka {
107 | position: absolute;
108 | bottom: -1 * ($jumbotron-padding * 2 + $spacer);
109 | left: 0;
110 | width: 390px;
111 | height: 530px;
112 | background-image: url("../img/umi.png");
113 | background-repeat: no-repeat;
114 | }
115 | .outline {
116 | position: relative;
117 | }
118 | .copy {
119 | font-weight: $font-weight-bold;
120 | @include media-breakpoint-down(sm) {
121 | font-size: $h1-font-size;
122 | }
123 | }
124 | .download {
125 | margin: map-get($spacers, 3) auto map-get($spacers, 2);
126 | }
127 | .basedon {
128 | margin: map-get($spacers, 2) auto;
129 | color: $gray-700;
130 | }
131 | }
132 |
133 | .section {
134 | padding: ($spacer * 10) 0;
135 | &.section-default {
136 | background-color: $body-bg;
137 | }
138 | &.section-inverse {
139 | background-color: lighten($brand-honoka, 40%);
140 | }
141 | .subtitle {
142 | margin-bottom: $spacer;
143 | text-align: center;
144 | h2 {
145 | margin-top: 0;
146 | }
147 | }
148 | }
149 |
150 | .point {
151 | .point-box {
152 | text-align: center;
153 | .point-circle {
154 | $point-circle-size: 100px;
155 | width: $point-circle-size;
156 | height: $point-circle-size;
157 | margin: 0 auto;
158 | font-size: $point-circle-size * .6;
159 | line-height: $point-circle-size;
160 | color: #fff;
161 | border-radius: 100%;
162 | &.start {
163 | background-color: $success;
164 | }
165 | &.replace {
166 | background-color: $warning;
167 | }
168 | &.compass {
169 | background-color: $primary;
170 | }
171 | &.japanese {
172 | background-color: $danger;
173 | }
174 | }
175 | .point-description {
176 | h4 {
177 | margin-top: $spacer;
178 | text-align: center;
179 | }
180 | p {
181 | text-align: justify;
182 | }
183 | }
184 | }
185 | }
186 |
187 | .icon-jp::before {
188 | font-weight: 700;
189 | content: "あ";
190 | }
191 |
192 | .getting-started {
193 | h3 {
194 | margin-top: 0;
195 | }
196 | }
197 |
198 | .japanese-font {
199 | .well {
200 | > h3 {
201 | margin-top: $spacer;
202 | }
203 | }
204 | }
205 |
206 | h3 .package-system-logo {
207 | width: auto;
208 | height: $h3-font-size * 2;
209 | font-size: $h3-font-size * 2;
210 | line-height: $h3-font-size * 2;
211 | }
212 |
213 | .featured {
214 | .subtitle {
215 | h2 {
216 | font-size: $h3-font-size;
217 | }
218 | }
219 | .featured-list {
220 | a {
221 | opacity: .7;
222 | transition: opacity .2s;
223 | &:hover,
224 | &:active,
225 | &:focus {
226 | opacity: .5;
227 | }
228 | }
229 | li {
230 | padding: $spacer $spacer;
231 | }
232 | }
233 | }
234 |
235 | .card {
236 | > a {
237 | transition: opacity .2s;
238 | &:hover,
239 | &:active,
240 | &:focus {
241 | opacity: .7;
242 | }
243 | }
244 | }
245 |
246 | footer {
247 | padding: $spacer * 4 0;
248 | color: $gray-200;
249 | background-color: $gray-800;
250 | .copyright {
251 | padding-top: $spacer;
252 | padding-bottom: $spacer;
253 | }
254 | }
255 |
--------------------------------------------------------------------------------
/docs/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Umi - 日本語も美しく表示できるBootstrapテーマ
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
72 |
73 |
74 |
75 |
76 |
79 |
80 |
81 | その Bootstrap は、
82 | 日本語も美しく
83 | 表示されてますか?
84 |
85 |
Umi は Honoka を元にした日本語も美しく表示できる Bootstrap テーマです
86 |
87 |
92 |
93 | Last version v
・ Based on
Bootstrap v
94 |
95 |
96 |
97 |
98 |
99 |
100 |
110 |
111 |
112 |
113 |
114 |
115 |
Umi は Honoka をフォークしたBootstrapテーマです
116 |
Honoka に Bootswatch Flatly の配色を適用しました。
117 |
Umi と Honoka は、以下の特徴を持っています。
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
Easy to Start
127 |
UmiはBootstrapを元に製作されているため、非常に高い互換性を持っています。マークアップに関する規約はほとんど変わりません。
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
Replace Bootstrap
136 |
既にBootstrapを使って作成したウェブサイトがある場合は、CSSを置き換えるだけで簡単にUmiを利用できます。
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
Open Source
145 |
Umiを構成するファイルは全て公開されています。変数の定義ファイルを変更することで自分好みの設定に変更することも可能です。
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
Optimized Japanese
154 |
Bootstrapでは考慮されていない日本語のフォント指定やウェイトの変更を行っているので、美しく日本語を表示できます。
155 |
156 |
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
さあ、はじめましょう。
166 |
導入はとっても簡単です
167 |
168 |
169 |
177 |
178 |
179 |

180 |
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
Bower
190 |
191 |
193 |
194 |
195 |
196 |
197 |
v3.3.6-1 以降から対応
198 |
199 |
200 |
201 |
202 |
使い方やファイルの説明など、詳しくは README または Wiki をご確認ください
203 |
204 |
205 |
206 |
207 |
208 |
209 |
210 |
211 |
212 |
Available on Framework!
213 |
Honokaは様々なパッケージマネージャからも利用することができます
214 |
215 |
216 |
217 |
218 |

219 |
220 |
221 |
222 |
223 |
224 |
225 |
226 |
227 |
228 |
Bower
229 |
230 |
232 |
233 |
234 |
235 |
236 |
v3.3.5-c 以降から対応
237 |
238 |
239 |
240 |
241 |
242 |
243 |
244 |
245 |
246 |
Honokaを使って作られたウェブサイト
247 |
HonokaやそのForkテーマで構築されたウェブサイトを紹介します
248 |
249 |
250 |
251 |
252 |
253 |

254 |
255 |
Proconist.net
256 |
257 |
258 |
259 |
260 |
261 |

262 |
263 |
この高専がすごい!
264 |
265 |
266 |
267 |
268 |
269 |

270 |
271 |
yashihei.net
272 |
273 |
274 |
275 |
276 |
277 |
278 |
279 |

280 |
281 |
SYSKEN Advent Calendar
282 |
283 |
284 |
285 |
286 |
287 |

288 |
289 |
TIMERS Inc
290 |
291 |
292 |
293 |
294 |
295 |

296 |
297 |
PROCON O.S.T. Project
298 |
299 |
300 |
301 |
302 |
303 |
304 |
305 |
306 |
307 |
308 |
309 |
HonokaのForkテーマ
310 |
Honokaをベースにして作られた他のBootstrapテーマ
311 |
312 |
313 |
314 |
315 |
316 |

317 |
318 |
Umi
319 |
"Umi"は"Honoka"にBootswatch Flatlyの配色を適用したテーマです。
320 |
324 |
325 |
326 |
327 |
328 |
329 |

330 |
331 |
Nico
332 |
"Nico"は"Honoka"にピンク系の配色を適用したテーマです。
333 |
337 |
338 |
339 |
340 |
341 |
342 |

343 |
344 |
Rin
345 |
"Rin"は"Honoka"を元にしたMaterial Design風のテーマです。
346 |
350 |
351 |
352 |
353 |
354 |
355 |
356 |
357 |
358 |
359 |
360 |
361 |
Honoka has been featured on
362 |
363 |
364 |
373 |
374 |
375 |
376 |
377 |
394 |
395 |
405 |
406 |
407 |
408 |
409 |
431 |
432 |
433 |
434 |
435 |
436 |
437 |
--------------------------------------------------------------------------------
/docs/v3/assets/css/example.css:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 | @import url(https://fonts.googleapis.com/css?family=Montserrat);
3 | .btn-twitter .fa.fa-lg, .btn-facebook .fa.fa-lg {
4 | margin-right: 2px;
5 | vertical-align: -1px;
6 | }
7 |
8 | .btn-twitter {
9 | color: #fff;
10 | background-color: #55acee;
11 | border-color: #4ca7ed;
12 | -webkit-transition-timing-function: ease;
13 | -o-transition-timing-function: ease;
14 | transition-timing-function: ease;
15 | -webkit-transition-duration: .3s;
16 | -o-transition-duration: .3s;
17 | transition-duration: .3s;
18 | -webkit-transition-property: all;
19 | -o-transition-property: all;
20 | transition-property: all;
21 | }
22 | .btn-twitter:focus, .btn-twitter.focus {
23 | color: #fff;
24 | background-color: #2795e9;
25 | border-color: #1167a8;
26 | }
27 | .btn-twitter:hover {
28 | color: #fff;
29 | background-color: #2795e9;
30 | border-color: #178ce5;
31 | }
32 | .btn-twitter:active, .btn-twitter.active, .open > .btn-twitter.dropdown-toggle {
33 | color: #fff;
34 | background-color: #3ea1ec;
35 | border-color: #309aea;
36 | }
37 | .btn-twitter:active:hover, .btn-twitter:active:focus, .btn-twitter:active.focus, .btn-twitter.active:hover, .btn-twitter.active:focus, .btn-twitter.active.focus, .open > .btn-twitter.dropdown-toggle:hover, .open > .btn-twitter.dropdown-toggle:focus, .open > .btn-twitter.dropdown-toggle.focus {
38 | color: #fff;
39 | background-color: #1583d7;
40 | border-color: #1167a8;
41 | }
42 | .btn-twitter:active, .btn-twitter.active, .open > .btn-twitter.dropdown-toggle {
43 | background-image: none;
44 | }
45 | .btn-twitter.disabled, .btn-twitter.disabled:hover, .btn-twitter.disabled:focus, .btn-twitter.disabled.focus, .btn-twitter.disabled:active, .btn-twitter.disabled.active, .btn-twitter[disabled], .btn-twitter[disabled]:hover, .btn-twitter[disabled]:focus, .btn-twitter[disabled].focus, .btn-twitter[disabled]:active, .btn-twitter[disabled].active, fieldset[disabled] .btn-twitter, fieldset[disabled] .btn-twitter:hover, fieldset[disabled] .btn-twitter:focus, fieldset[disabled] .btn-twitter.focus, fieldset[disabled] .btn-twitter:active, fieldset[disabled] .btn-twitter.active {
46 | background-color: #55acee;
47 | border-color: #4ca7ed;
48 | }
49 | .btn-twitter .badge {
50 | color: #55acee;
51 | background-color: #fff;
52 | }
53 |
54 | .btn-facebook {
55 | color: #fff;
56 | background-color: #3b5998;
57 | border-color: #385591;
58 | -webkit-transition-timing-function: ease;
59 | -o-transition-timing-function: ease;
60 | transition-timing-function: ease;
61 | -webkit-transition-duration: .3s;
62 | -o-transition-duration: .3s;
63 | transition-duration: .3s;
64 | -webkit-transition-property: all;
65 | -o-transition-property: all;
66 | transition-property: all;
67 | }
68 | .btn-facebook:focus, .btn-facebook.focus {
69 | color: #fff;
70 | background-color: #2d4373;
71 | border-color: #141f35;
72 | }
73 | .btn-facebook:hover {
74 | color: #fff;
75 | background-color: #2d4373;
76 | border-color: #273b65;
77 | }
78 | .btn-facebook:active, .btn-facebook.active, .open > .btn-facebook.dropdown-toggle {
79 | color: #fff;
80 | background-color: #344e86;
81 | border-color: #30487b;
82 | }
83 | .btn-facebook:active:hover, .btn-facebook:active:focus, .btn-facebook:active.focus, .btn-facebook.active:hover, .btn-facebook.active:focus, .btn-facebook.active.focus, .open > .btn-facebook.dropdown-toggle:hover, .open > .btn-facebook.dropdown-toggle:focus, .open > .btn-facebook.dropdown-toggle.focus {
84 | color: #fff;
85 | background-color: #23345a;
86 | border-color: #141f35;
87 | }
88 | .btn-facebook:active, .btn-facebook.active, .open > .btn-facebook.dropdown-toggle {
89 | background-image: none;
90 | }
91 | .btn-facebook.disabled, .btn-facebook.disabled:hover, .btn-facebook.disabled:focus, .btn-facebook.disabled.focus, .btn-facebook.disabled:active, .btn-facebook.disabled.active, .btn-facebook[disabled], .btn-facebook[disabled]:hover, .btn-facebook[disabled]:focus, .btn-facebook[disabled].focus, .btn-facebook[disabled]:active, .btn-facebook[disabled].active, fieldset[disabled] .btn-facebook, fieldset[disabled] .btn-facebook:hover, fieldset[disabled] .btn-facebook:focus, fieldset[disabled] .btn-facebook.focus, fieldset[disabled] .btn-facebook:active, fieldset[disabled] .btn-facebook.active {
92 | background-color: #3b5998;
93 | border-color: #385591;
94 | }
95 | .btn-facebook .badge {
96 | color: #3b5998;
97 | background-color: #fff;
98 | }
99 |
100 | .btn-hatebu {
101 | color: #fff;
102 | background-color: #178fde;
103 | border-color: #1689d5;
104 | -webkit-transition-timing-function: ease;
105 | -o-transition-timing-function: ease;
106 | transition-timing-function: ease;
107 | -webkit-transition-duration: .3s;
108 | -o-transition-duration: .3s;
109 | transition-duration: .3s;
110 | -webkit-transition-property: all;
111 | -o-transition-property: all;
112 | transition-property: all;
113 | }
114 | .btn-hatebu:focus, .btn-hatebu.focus {
115 | color: #fff;
116 | background-color: #1271b0;
117 | border-color: #0a3f61;
118 | }
119 | .btn-hatebu:hover {
120 | color: #fff;
121 | background-color: #1271b0;
122 | border-color: #10659d;
123 | }
124 | .btn-hatebu:active, .btn-hatebu.active, .open > .btn-hatebu.dropdown-toggle {
125 | color: #fff;
126 | background-color: #1580c7;
127 | border-color: #1377b9;
128 | }
129 | .btn-hatebu:active:hover, .btn-hatebu:active:focus, .btn-hatebu:active.focus, .btn-hatebu.active:hover, .btn-hatebu.active:focus, .btn-hatebu.active.focus, .open > .btn-hatebu.dropdown-toggle:hover, .open > .btn-hatebu.dropdown-toggle:focus, .open > .btn-hatebu.dropdown-toggle.focus {
130 | color: #fff;
131 | background-color: #0f5c8f;
132 | border-color: #0a3f61;
133 | }
134 | .btn-hatebu:active, .btn-hatebu.active, .open > .btn-hatebu.dropdown-toggle {
135 | background-image: none;
136 | }
137 | .btn-hatebu.disabled, .btn-hatebu.disabled:hover, .btn-hatebu.disabled:focus, .btn-hatebu.disabled.focus, .btn-hatebu.disabled:active, .btn-hatebu.disabled.active, .btn-hatebu[disabled], .btn-hatebu[disabled]:hover, .btn-hatebu[disabled]:focus, .btn-hatebu[disabled].focus, .btn-hatebu[disabled]:active, .btn-hatebu[disabled].active, fieldset[disabled] .btn-hatebu, fieldset[disabled] .btn-hatebu:hover, fieldset[disabled] .btn-hatebu:focus, fieldset[disabled] .btn-hatebu.focus, fieldset[disabled] .btn-hatebu:active, fieldset[disabled] .btn-hatebu.active {
138 | background-color: #178fde;
139 | border-color: #1689d5;
140 | }
141 | .btn-hatebu .badge {
142 | color: #178fde;
143 | background-color: #fff;
144 | }
145 |
146 | .fa.fa-hatebu::before {
147 | font-family: Verdana;
148 | font-weight: bold;
149 | content: "B!";
150 | }
151 |
152 | body {
153 | margin-top: 80px;
154 | }
155 |
156 | .v4-dev a {
157 | display: block;
158 | padding: 10px;
159 | font-weight: bold;
160 | color: #fff;
161 | text-align: center;
162 | text-decoration: none;
163 | background-color: #2196f3;
164 | }
165 | .v4-dev a:hover, .v4-dev a:active, .v4-dev a:focus {
166 | background-color: #0c7cd5;
167 | }
168 |
169 | .social-button {
170 | position: relative;
171 | padding: 10px 0;
172 | margin: 0 auto !important;
173 | overflow: hidden;
174 | }
175 | .social-button > ul {
176 | position: relative;
177 | left: 50%;
178 | float: left;
179 | padding: 0;
180 | margin: 0;
181 | list-style: outside none none;
182 | }
183 | .social-button > ul > li {
184 | position: relative;
185 | left: -50%;
186 | float: left;
187 | padding: 0;
188 | margin: 0 10px;
189 | }
190 | .social-button > ul > li .fb-like > span {
191 | vertical-align: 0 !important;
192 | }
193 |
194 | .social {
195 | padding: 10px 0;
196 | background: #eee;
197 | }
198 |
199 | .jumbotron.special {
200 | position: relative;
201 | min-height: 530px;
202 | margin-bottom: 0;
203 | overflow: hidden;
204 | text-align: center;
205 | background-color: #fdcea0;
206 | background-image: url("../img/circle.png");
207 | background-repeat: no-repeat;
208 | background-position: -35% center;
209 | -webkit-background-size: 70% 70%;
210 | background-size: 70%;
211 | }
212 | .jumbotron.special .honoka {
213 | position: absolute;
214 | bottom: -20px;
215 | left: 0;
216 | width: 400px;
217 | height: 530px;
218 | background-image: url("../img/honoka.png");
219 | background-repeat: no-repeat;
220 | }
221 | .jumbotron.special .outline {
222 | margin-top: 180px;
223 | }
224 | .jumbotron.special h1,
225 | .jumbotron.special .h1 {
226 | font-family: Montserrat, sans-serif;
227 | }
228 | .jumbotron.special .download {
229 | margin: 24px auto 12px;
230 | }
231 | .jumbotron.special .basedon {
232 | margin: 12px auto;
233 | color: #777;
234 | text-shadow: #fff 0 1px 2px;
235 | }
236 |
237 | section.section {
238 | padding: 100px 0;
239 | }
240 | section.section.section-default {
241 | background-color: #f9f9f9;
242 | }
243 | section.section.section-inverse {
244 | background-color: #fff5eb;
245 | }
246 | section.section .subtitle {
247 | margin-bottom: 24px;
248 | text-align: center;
249 | }
250 | section.section .subtitle h2 {
251 | margin-top: 0;
252 | }
253 |
254 | .point .point-box {
255 | text-align: center;
256 | }
257 | .point .point-box .point-circle {
258 | width: 100px;
259 | height: 100px;
260 | margin: 0 auto;
261 | font-size: 60px;
262 | line-height: 100px;
263 | color: #fff;
264 | border-radius: 100%;
265 | }
266 | .point .point-box .point-circle.start {
267 | background-color: #4caf50;
268 | }
269 | .point .point-box .point-circle.replace {
270 | background-color: #ff9800;
271 | }
272 | .point .point-box .point-circle.compass {
273 | background-color: #2196f3;
274 | }
275 | .point .point-box .point-circle.japanese {
276 | background-color: #f44336;
277 | }
278 | .point .point-box .point-circle.japanese span.icon-jp::before {
279 | font-weight: bold;
280 | content: "あ";
281 | }
282 | .point .point-box .point-description h4 {
283 | text-align: center;
284 | }
285 | .point .point-box .point-description p {
286 | text-align: justify;
287 | }
288 |
289 | .getting-started h3 {
290 | margin-top: 0;
291 | }
292 |
293 | .japanese-font .well > h3 {
294 | margin-top: 24px;
295 | }
296 |
297 | h3 .package-system-logo {
298 | width: auto;
299 | height: 48px;
300 | }
301 |
302 | .available-bower {
303 | position: relative;
304 | overflow: hidden;
305 | }
306 | .available-bower .bower-logo {
307 | position: absolute;
308 | right: 40px;
309 | bottom: 0;
310 | width: 300px;
311 | height: 300px;
312 | background-image: url("../img/bower-logo.png");
313 | background-repeat: no-repeat;
314 | background-position: center center;
315 | -webkit-background-size: contain;
316 | background-size: contain;
317 | opacity: .3;
318 | }
319 |
320 | .featured .subtitle h2 {
321 | font-size: 24px;
322 | }
323 | .featured ul.featured-list a {
324 | opacity: .7;
325 | }
326 | .featured ul.featured-list a:hover, .featured ul.featured-list a:active, .featured ul.featured-list a:focus {
327 | opacity: .5;
328 | }
329 | .featured ul.featured-list li {
330 | padding: 6px 20px;
331 | }
332 |
333 | .thumbnail {
334 | background: #fff;
335 | }
336 | .thumbnail > a:hover, .thumbnail > a:active, .thumbnail > a:focus {
337 | opacity: .7;
338 | }
339 |
340 | footer {
341 | padding: 40px 0;
342 | color: #eee;
343 | background-color: #333;
344 | }
345 | footer .copyright {
346 | padding-top: 10px;
347 | padding-bottom: 10px;
348 | }
349 |
350 | .bootstrap-default {
351 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
352 | font-size: 14px;
353 | line-height: 1.4285;
354 | }
355 | .bootstrap-default > h3 {
356 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
357 | font-size: 24px;
358 | }
359 |
--------------------------------------------------------------------------------
/docs/v3/assets/img/bower-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ysakasin/Umi/95bde5331beb6155f4abb35c27c5b91552c4c649/docs/v3/assets/img/bower-logo.png
--------------------------------------------------------------------------------
/docs/v3/assets/img/brand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ysakasin/Umi/95bde5331beb6155f4abb35c27c5b91552c4c649/docs/v3/assets/img/brand.png
--------------------------------------------------------------------------------
/docs/v3/assets/img/circle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ysakasin/Umi/95bde5331beb6155f4abb35c27c5b91552c4c649/docs/v3/assets/img/circle.png
--------------------------------------------------------------------------------
/docs/v3/assets/img/honoka.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ysakasin/Umi/95bde5331beb6155f4abb35c27c5b91552c4c649/docs/v3/assets/img/honoka.png
--------------------------------------------------------------------------------
/docs/v3/assets/img/npm-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ysakasin/Umi/95bde5331beb6155f4abb35c27c5b91552c4c649/docs/v3/assets/img/npm-logo.png
--------------------------------------------------------------------------------
/docs/v3/assets/img/sample.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ysakasin/Umi/95bde5331beb6155f4abb35c27c5b91552c4c649/docs/v3/assets/img/sample.png
--------------------------------------------------------------------------------
/docs/v3/assets/scss/example.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
3 | @import url(https://fonts.googleapis.com/css?family=Montserrat);
4 |
5 | @import "honoka/variables";
6 | @import "honoka/mixins";
7 |
8 | $brand-honoka: #fdcea0;
9 | $brand-twitter: #55acee;
10 | $brand-facebook: #3b5998;
11 | $brand-hatena: #178fde;
12 |
13 | .btn-twitter,.btn-facebook {
14 | .fa.fa-lg {
15 | margin-right: 2px;
16 | vertical-align: -1px;
17 | }
18 | }
19 | .btn-twitter {
20 | @include button-variant(#fff, $brand-twitter, darken($brand-twitter, 2%));
21 | }
22 | .btn-facebook {
23 | @include button-variant(#fff, $brand-facebook, darken($brand-facebook, 2%));
24 | }
25 | .btn-hatebu {
26 | @include button-variant(#fff, $brand-hatena, darken($brand-hatena, 2%));
27 | }
28 |
29 | .fa.fa-hatebu::before {
30 | font-family: Verdana;
31 | font-weight: bold;
32 | content: "B!";
33 | }
34 |
35 | body {
36 | margin-top: $navbar-height;
37 | }
38 |
39 | .v4-dev {
40 | a {
41 | display: block;
42 | padding: $padding-large-vertical;
43 | font-weight: bold;
44 | color: #fff;
45 | text-align: center;
46 | text-decoration: none;
47 | background-color: $brand-primary;
48 | &:hover, &:active, &:focus {
49 | background-color: darken($brand-primary, 10%);
50 | }
51 | }
52 | }
53 |
54 | .social-button {
55 | position: relative;
56 | padding: $padding-large-vertical 0;
57 | margin: 0 auto !important;
58 | overflow: hidden;
59 | > ul {
60 | position: relative;
61 | left: 50%;
62 | float: left;
63 | padding: 0;
64 | margin: 0;
65 | list-style: outside none none;
66 | > li {
67 | position: relative;
68 | left: -50%;
69 | float: left;
70 | padding: 0;
71 | margin: 0 10px;
72 | .fb-like {
73 | > span {
74 | vertical-align: 0 !important;
75 | }
76 | }
77 | }
78 | }
79 | }
80 |
81 | .social {
82 | padding: $padding-large-vertical 0;
83 | background: $gray-lighter;
84 | }
85 |
86 | .jumbotron.special {
87 | position: relative;
88 | min-height: 530px;
89 | margin-bottom: 0;
90 | overflow: hidden;
91 | text-align: center;
92 | background-color: $brand-honoka;
93 | background-image: url("../img/circle.png");
94 | background-repeat: no-repeat;
95 | background-position: -35% center;
96 | background-size: 70%;
97 | .honoka {
98 | position: absolute;
99 | bottom: -20px;
100 | left: 0;
101 | width: 400px;
102 | height: 530px;
103 | background-image: url("../img/honoka.png");
104 | background-repeat: no-repeat;
105 | }
106 | .outline {
107 | margin-top: 180px;
108 | }
109 | h1,
110 | .h1 {
111 | font-family: Montserrat, sans-serif;
112 | }
113 | .download {
114 | margin: $line-height-computed auto ($line-height-computed * 0.5);
115 | }
116 | .basedon {
117 | margin: ($line-height-computed * 0.5) auto;
118 | color: $gray-light;
119 | text-shadow: #fff 0 1px 2px;
120 | }
121 | }
122 |
123 |
124 |
125 | section.section {
126 | padding: ($padding-large-vertical * 10) 0;
127 | &.section-default {
128 | background-color: $body-bg;
129 | }
130 | &.section-inverse {
131 | background-color: lighten($brand-honoka, 15%);
132 | }
133 | .subtitle {
134 | margin-bottom: $line-height-computed;
135 | text-align: center;
136 | h2 {
137 | margin-top: 0;
138 | }
139 | }
140 | }
141 |
142 | .point {
143 | .point-box {
144 | text-align: center;
145 | .point-circle {
146 | $point-circle-size: 100px;
147 | width: $point-circle-size;
148 | height: $point-circle-size;
149 | margin: 0 auto;
150 | font-size: $point-circle-size * 0.6;
151 | line-height: $point-circle-size;
152 | color: #fff;
153 | border-radius: 100%;
154 | &.start {
155 | background-color: $brand-success;
156 | }
157 | &.replace {
158 | background-color: $brand-warning;
159 | }
160 | &.compass {
161 | background-color: $brand-primary;
162 | }
163 | &.japanese {
164 | background-color: $brand-danger;
165 | span.icon-jp::before {
166 | font-weight: bold;
167 | content: "あ";
168 | }
169 | }
170 | }
171 | .point-description {
172 | h4 {
173 | text-align: center;
174 | }
175 | p {
176 | text-align: justify;
177 | }
178 | }
179 | }
180 | }
181 |
182 | .getting-started {
183 | h3 {
184 | margin-top: 0;
185 | }
186 | }
187 |
188 | .japanese-font {
189 | .well {
190 | > h3 {
191 | margin-top: $line-height-computed;
192 | }
193 | }
194 | }
195 |
196 | h3 .package-system-logo {
197 | width: auto;
198 | height: $font-size-h3 * 2;
199 | }
200 |
201 | .available-bower {
202 | position: relative;
203 | overflow: hidden;
204 | .bower-logo {
205 | position: absolute;
206 | right: 40px;
207 | bottom: 0;
208 | width: 300px;
209 | height: 300px;
210 | background-image: url("../img/bower-logo.png");
211 | background-repeat: no-repeat;
212 | background-position: center center;
213 | background-size: contain;
214 | opacity: 0.3;
215 | }
216 | }
217 |
218 | .featured {
219 | .subtitle {
220 | h2 {
221 | font-size: $font-size-h3;
222 | }
223 | }
224 | ul.featured-list {
225 | a {
226 | opacity: 0.7;
227 | &:hover, &:active, &:focus {
228 | opacity: 0.5;
229 | }
230 | }
231 | li {
232 | padding: $padding-base-vertical $padding-large-horizontal;
233 | }
234 | }
235 | }
236 |
237 | .thumbnail {
238 | background: #fff;
239 | > a {
240 | &:hover, &:active, &:focus {
241 | opacity: 0.7;
242 | }
243 | }
244 | }
245 |
246 | footer {
247 | padding: $padding-large-vertical * 4 0;
248 | color: $gray-lighter;
249 | background-color: $gray-dark;
250 | .copyright {
251 | padding-top: $padding-large-vertical;
252 | padding-bottom: $padding-large-vertical;
253 | }
254 | }
255 |
256 | .bootstrap-default {
257 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
258 | font-size: 14px;
259 | line-height: 1.4285;
260 | > h3 {
261 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
262 | font-size: 24px;
263 | }
264 | }
265 |
--------------------------------------------------------------------------------
/docs/v3/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Honoka - 日本語も美しく表示できるBootstrapテーマ
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
33 |
34 |
35 |
36 |
37 |
74 |
75 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
Bootstrap Theme for Japanese.
85 |
"Honoka" は日本語も美しく表示できるBootstrapテーマです。
86 |
90 |
91 | Last version v
・ Based on
Bootstrap v
92 |
93 |
96 |
97 |
98 |
99 |
100 |
101 |
111 |
112 |
113 |
114 |
115 |
116 |
HonokaはオリジナルBootstrapテーマです
117 |
HonokaはBootstrapテーマの一つですが、以下の特徴を持っています。
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
Easy to Start
127 |
HonokaはBootstrapを元に製作されているため、非常に高い互換性を持っています。マークアップに関する規約はほとんど変わりません。
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
Replace Bootstrap
136 |
既にBootstrapを使って作成したウェブサイトがある場合は、CSSを置き換えるだけで簡単にHonokaを利用できます。
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
Open Source
145 |
作成に使用したSASSファイルは全て公開されています。変数の定義ファイルを変更することで自分好みの設定に変更することも可能です。
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
Optimized Japanese
154 |
本家Bootstrapでは指定されていない日本語フォントに関する指定が行われているため、美しく日本語を表示できます。
155 |
156 |
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
Honokaは日本語を美しく表示します
166 |
本家Bootstrapでは指定されていない日本語のフォント指定を行っているので、日本語も美しく表示されます。
167 |
168 |
169 |
170 |
171 |
172 |
従来の日本語表示
173 |
174 | 秋葉原と神田と神保町という3つの街のはざまにある伝統校、音ノ木坂学院は統廃合の危機に瀕していた。
175 | 学校の危機に、2年生の高坂穂乃果を中心とした9人の女子生徒が立ち上がる。
176 | 私たちの大好きな学校を守るために、私たちができること……。それは、アイドルになること! アイドルになって学校を世に広く宣伝し、入学者を増やそう!
177 | ここから、彼女たちの「みんなで叶える物語」(スクールアイドルプロジェクト)が始まった!
178 |
179 |
180 |
181 |
182 |
183 |
Honokaの日本語表示
184 |
185 | 秋葉原と神田と神保町という3つの街のはざまにある伝統校、音ノ木坂学院は統廃合の危機に瀕していた。
186 | 学校の危機に、2年生の高坂穂乃果を中心とした9人の女子生徒が立ち上がる。
187 | 私たちの大好きな学校を守るために、私たちができること……。それは、アイドルになること! アイドルになって学校を世に広く宣伝し、入学者を増やそう!
188 | ここから、彼女たちの「みんなで叶える物語」(スクールアイドルプロジェクト)が始まった!
189 |
190 |
191 |
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
さあ、はじめましょう。
201 |
導入はとっても簡単です
202 |
203 |
204 |
205 |
206 |
210 |
使い方やファイルの説明など、詳しくは README または Wiki をご確認ください
211 |
212 |
213 |
214 |
215 |
216 |
217 |
218 |
219 |
220 |
Available on Framework!
221 |
Honokaは様々なパッケージマネージャからも利用することができます
222 |
223 |
224 |
225 |
226 |

227 |
228 |
229 |
230 |
231 |
232 |
233 |
npmjs.com / v3.3.7-a 以降から対応
234 |
235 |
236 |
Bower
237 |
238 |
240 |
241 |
242 |
243 |
244 |
v3.3.5-c 以降から対応
245 |
246 |
247 |
248 |
249 |
250 |
251 |
252 |
253 |
254 |
Honokaを使って作られたウェブサイト
255 |
HonokaやそのForkテーマで構築されたウェブサイトを紹介します
256 |
257 |
258 |
259 |
260 |
261 |

262 |
263 |
Proconist.net
264 |
265 |
266 |
267 |
268 |
269 |

270 |
271 |
この高専がすごい!
272 |
273 |
274 |
275 |
276 |
277 |

278 |
279 |
yashihei.net
280 |
281 |
282 |
283 |
284 |
285 |
286 |
287 |

288 |
289 |
SYSKEN Advent Calendar
290 |
291 |
292 |
293 |
294 |
295 |

296 |
297 |
TIMERS Inc
298 |
299 |
300 |
301 |
302 |
303 |

304 |
305 |
PROCON O.S.T. Project
306 |
307 |
308 |
309 |
310 |
311 |
312 |
313 |
314 |
315 |
316 |
317 |
HonokaのForkテーマ
318 |
Honokaをベースにして作られた他のBootstrapテーマ
319 |
320 |
321 |
322 |
323 |
324 |

325 |
326 |
Umi
327 |
"Umi"は"Honoka"にBootswatch Flatlyの配色を適用したテーマです。
328 |
332 |
333 |
334 |
335 |
336 |
337 |

338 |
339 |
Nico
340 |
"Nico"は"Honoka"にピンク系の配色を適用したテーマです。
341 |
345 |
346 |
347 |
348 |
349 |
350 |
351 |
352 |

353 |
354 |
Rin
355 |
"Rin"は"Honoka"を元にしたMaterial Design風のテーマです。
356 |
360 |
361 |
362 |
363 |
364 |
365 |
366 |
367 |
368 |
369 |
370 |
371 |
Honoka has been featured on
372 |
373 |
374 |
383 |
384 |
385 |
386 |
387 |
404 |
405 |
415 |
416 |
417 |
418 |
419 |
441 |
442 |
443 |
444 |
445 |
446 |
447 |
--------------------------------------------------------------------------------
/docs/v3/js/bootstrap.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap v3.3.7 (http://getbootstrap.com)
3 | * Copyright 2011-2016 Twitter, Inc.
4 | * Licensed under the MIT license
5 | */
6 | if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){if(a(b.target).is(this))return b.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.7",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a("#"===f?[]:f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.7",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c).prop(c,!0)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c).prop(c,!1))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target).closest(".btn");b.call(d,"toggle"),a(c.target).is('input[type="radio"], input[type="checkbox"]')||(c.preventDefault(),d.is("input,button")?d.trigger("focus"):d.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(a>this.$items.length-1||a<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.7",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.7",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);if(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),!c.isInStateTrue())return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null,a.$element=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.7",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.7",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.7",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return e=a-d&&"bottom"},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
--------------------------------------------------------------------------------
/gulpfile.js:
--------------------------------------------------------------------------------
1 | const Gulp = require('gulp');
2 | const Plugins = require('gulp-load-plugins')();
3 | const Fs = require('fs');
4 | const Del = require('del');
5 | const RunSequence = require('run-sequence');
6 | const BrowserSync = require('browser-sync').create();
7 |
8 | const PackageJSON = JSON.parse(Fs.readFileSync('./package.json'));
9 |
10 | const BANNER = `/*!
11 | * ${PackageJSON.config.packageName} v${PackageJSON.version} (${PackageJSON.website})
12 | * Copyright ${PackageJSON.config.projectStartYear} ${PackageJSON.author}
13 | * Licensed under ${PackageJSON.license} (${PackageJSON.config.licenseUrl})
14 | */
15 | /*!
16 | * Bootstrap v${PackageJSON.dependencies.bootstrap} (https://getbootstrap.com)
17 | * Copyright 2011-2018 The Bootstrap Authors
18 | * Copyright 2011-2018 Twitter, Inc.
19 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
20 | */
21 | `;
22 |
23 | Gulp.task('default', (resolve) => {
24 | return RunSequence('build', resolve);
25 | });
26 |
27 | Gulp.task('gulp:lint', () => {
28 | return Gulp.src(['gulpfile.js'])
29 | .pipe(Plugins.eslint({ useEslintrc: true }))
30 | .pipe(Plugins.eslint.format())
31 | .pipe(Plugins.eslint.failAfterError());
32 | });
33 |
34 | Gulp.task('js:clean', () => {
35 | return Del(['dist/js/**/*']);
36 | });
37 |
38 | Gulp.task('js:copy', ['js:clean'], () => {
39 | return Gulp.src(['bootstrap/dist/js/**/*.js'], { cwd: 'node_modules' })
40 | .pipe(Gulp.dest('dist/js'));
41 | });
42 |
43 | Gulp.task('css:clean', () => {
44 | return Del(['dist/css/**/*']);
45 | });
46 |
47 | Gulp.task('css:lint', () => {
48 | return Gulp.src(['scss/**/*.scss'])
49 | .pipe(Plugins.stylelint({
50 | failAfterError: true,
51 | reporters: [
52 | { formatter: 'verbose', console: true },
53 | ],
54 | }));
55 | });
56 |
57 | Gulp.task('css:build', () => {
58 | return Gulp.src(['scss/**/*.scss'])
59 | .pipe(Plugins.plumber({
60 | errorHandler(err) {
61 | console.error(err.message);
62 | this.emit('end');
63 | },
64 | }))
65 | .pipe(Plugins.sass({
66 | includePaths: [
67 | 'node_modules/',
68 | ],
69 | outputStyle: 'expanded',
70 | sourceMap: true,
71 | sourceMapContents: true,
72 | lineFeed: 'lf',
73 | precision: 6,
74 | }))
75 | .pipe(Plugins.plumber.stop())
76 | .pipe(Plugins.postcss({
77 | noMap: true,
78 | use: 'autoprefixer',
79 | config: '../build/postcss.config.js',
80 | replace: 'dist/css/bootstrap.css',
81 | }))
82 | .pipe(Gulp.dest('dist/css'));
83 | });
84 |
85 | Gulp.task('css:banner', () => {
86 | return Gulp.src(['dist/css/*.css'])
87 | .pipe(Plugins.replace('/*! [<>] */', BANNER))
88 | .pipe(Gulp.dest('dist/css'));
89 | });
90 |
91 | Gulp.task('css:minify', () => {
92 | return Gulp.src(['dist/css/*.css', '!dist/css/*.min.css'])
93 | .pipe(Plugins.cleanCss({
94 | level: 1,
95 | }))
96 | .pipe(Plugins.rename({
97 | extname: '.min.css',
98 | }))
99 | .pipe(Gulp.dest('dist/css'));
100 | });
101 |
102 | Gulp.task('docs:clean', () => {
103 | return Del(['docs/css/**/*', 'docs/js/**/*']);
104 | });
105 |
106 | Gulp.task('docs:copy', () => {
107 | return Gulp.src(['dist/**/*'], { base: 'dist' })
108 | .pipe(Gulp.dest('docs'));
109 | });
110 |
111 | Gulp.task('docs:css', () => {
112 | return Gulp.src(['docs/assets/scss/**/*.scss'])
113 | .pipe(Plugins.plumber({
114 | errorHandler(err) {
115 | console.error(err.message);
116 | this.emit('end');
117 | },
118 | }))
119 | .pipe(Plugins.sass({
120 | includePaths: [
121 | 'node_modules/',
122 | 'scss/',
123 | ],
124 | outputStyle: 'expanded',
125 | sourceMap: true,
126 | sourceMapContents: true,
127 | lineFeed: 'lf',
128 | precision: 6,
129 | }))
130 | .pipe(Plugins.plumber.stop())
131 | .pipe(Plugins.postcss({
132 | noMap: true,
133 | use: 'autoprefixer',
134 | config: '../../../build/postcss.config.js',
135 | replace: 'docs/assets/css/bootstrap.css',
136 | }))
137 | .pipe(Gulp.dest('docs/assets/css'));
138 | });
139 |
140 | Gulp.task('packing', () => {
141 | return Gulp.src(['dist/**/*', 'docs/bootstrap.html', 'README.md', 'LICENSE'], { base: '.' })
142 | .pipe(Plugins.rename((path) => {
143 | // NOTE: ディレクトリ構造を変更するために gulp-rename を使う
144 | // FIXME: gulp-rename の仕様により引数代入を許可する
145 | /* eslint-disable no-param-reassign */
146 | path.dirname = path.dirname.replace(/^(?:dist|docs)/, '');
147 | path.dirname = `honoka/${path.dirname}`;
148 | /* eslint-enable no-param-reassign */
149 | }))
150 | .pipe(Plugins.zip(`bootstrap-${PackageJSON.config.packageName.toLowerCase()}-${PackageJSON.version}-dist.zip`))
151 | .pipe(Gulp.dest('./'));
152 | });
153 |
154 | Gulp.task('docs:serve', () => {
155 | BrowserSync.init({
156 | server: 'docs/',
157 | port: 8000,
158 | });
159 | });
160 |
161 | Gulp.task('watch', () => {
162 | const message = (ev) => {
163 | console.log(`File: ${ev.path} was ${ev.type}, running tasks...`);
164 | };
165 | Gulp.watch(['scss/**/*'], () => { RunSequence('css', 'docs:copy'); })
166 | .on('change', message);
167 | Gulp.watch(['docs/**/*.html'])
168 | .on('change', message)
169 | .on('change', BrowserSync.reload);
170 | Gulp.watch(['docs/assets/scss/**/*.scss'], ['docs:css'])
171 | .on('change', message);
172 | });
173 |
174 | Gulp.task('docs', (resolve) => {
175 | return RunSequence('docs:clean', 'docs:copy', 'docs:css', resolve);
176 | });
177 |
178 | Gulp.task('serve', ['docs:serve', 'watch']);
179 |
180 | Gulp.task('clean', (resolve) => {
181 | return RunSequence(['css:clean', 'js:clean'], resolve);
182 | });
183 |
184 | Gulp.task('css', (resolve) => {
185 | return RunSequence('css:build', 'css:minify', 'css:banner', resolve);
186 | });
187 |
188 | Gulp.task('js', (resolve) => {
189 | return RunSequence('js:copy', resolve);
190 | });
191 |
192 | Gulp.task('test', (resolve) => {
193 | return RunSequence('css:lint', 'gulp:lint', resolve);
194 | });
195 |
196 | Gulp.task('build', (resolve) => {
197 | return RunSequence('clean', ['css', 'js'], ['docs'], resolve);
198 | });
199 |
200 | Gulp.task('release', (resolve) => {
201 | return RunSequence('build', 'packing', resolve);
202 | });
203 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "bootstrap-umi",
3 | "version": "4.0.0",
4 | "description": "Umi is one of the Bootstrap original theme.",
5 | "author": "SAKATA Sinji",
6 | "website": "https://ysakasin.github.io/Umi/",
7 | "config": {
8 | "packageName": "Umi",
9 | "projectStartYear": "2015",
10 | "licenseUrl": "https://github.com/ysakasin/Umi/blob/master/LICENSE"
11 | },
12 | "keywords": [
13 | "css",
14 | "bootstrap",
15 | "sass",
16 | "scss",
17 | "lovelive",
18 | "web",
19 | "front-end",
20 | "framework",
21 | "theme"
22 | ],
23 | "license": "MIT",
24 | "main": "dist/js/bootstrap.js",
25 | "scripts": {
26 | "start": "gulp default",
27 | "test": "gulp test"
28 | },
29 | "style": "dist/css/bootstrap.css",
30 | "repository": {
31 | "type": "git",
32 | "url": "https://github.com/ysakasin/umi.git"
33 | },
34 | "dependencies": {
35 | "bootstrap": "4.0.0",
36 | "jquery": ">=1.9.1",
37 | "popper.js": "^1.14.3"
38 | },
39 | "devDependencies": {
40 | "autoprefixer": "^7.2.6",
41 | "browser-sync": "^2.24.2",
42 | "clean-css": "^4.1.11",
43 | "del": "^3.0.0",
44 | "eslint": "^4.19.1",
45 | "eslint-config-airbnb-base": "^12.1.0",
46 | "eslint-plugin-import": "^2.11.0",
47 | "gulp": "^3.9.1",
48 | "gulp-clean-css": "^3.9.3",
49 | "gulp-eslint": "^4.0.2",
50 | "gulp-load-plugins": "^1.5.0",
51 | "gulp-plumber": "^1.2.0",
52 | "gulp-postcss": "^7.0.1",
53 | "gulp-rename": "^1.2.2",
54 | "gulp-replace": "^0.6.1",
55 | "gulp-sass": "^3.2.1",
56 | "gulp-stylelint": "^6.0.0",
57 | "gulp-zip": "^4.1.0",
58 | "postcss-flexbugs-fixes": "^3.3.1",
59 | "run-sequence": "^2.2.1",
60 | "stylelint": "^8.4.0",
61 | "stylelint-config-recommended-scss": "^3.2.0",
62 | "stylelint-config-standard": "^18.2.0",
63 | "stylelint-order": "^0.8.1",
64 | "stylelint-scss": "^2.5.0"
65 | },
66 | "files": [
67 | "build",
68 | "dist",
69 | "scss/**/*.scss",
70 | "gulpfile.js",
71 | "LICENSE"
72 | ]
73 | }
74 |
--------------------------------------------------------------------------------
/scss/bootstrap.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
3 | // [!] Please do *NOT* remove the banner space at below this
4 | // This will be automatically replaced by gulp build tasks
5 |
6 | /*! [<>] */
7 |
8 | @import "honoka/honoka";
9 |
--------------------------------------------------------------------------------
/scss/honoka/_bootswatch.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable
2 |
3 | // Flatly 4.0.0
4 | // Bootswatch
5 |
6 |
7 |
8 | // Navbar =======================================================================
9 |
10 | .bg-primary {
11 | .navbar-nav {
12 | .active > .nav-link,
13 | .nav-link:hover,
14 | .nav-link:focus {
15 | color: $success !important;
16 | }
17 | }
18 | .nav-item .nav-link::before {
19 | border-color: $success !important;
20 | }
21 | }
22 |
23 | .bg-dark {
24 | background-color: $success !important;
25 | &.navbar-dark .navbar-nav {
26 | .nav-link:focus,
27 | .nav-link:hover,
28 | .active > .nav-link {
29 | color: $primary !important;
30 | }
31 | .nav-item .nav-link::before {
32 | border-color: $primary !important;
33 | }
34 | }
35 | }
36 |
37 | // Buttons =====================================================================
38 |
39 | .btn {
40 | &-secondary,
41 | &-secondary:hover,
42 | &-warning,
43 | &-warning:hover {
44 | color: #fff;
45 |
46 | &.disabled {
47 | color: #fff;
48 | }
49 | }
50 | }
51 |
52 | // Typography ==================================================================
53 |
54 | // Tables ======================================================================
55 |
56 | .table {
57 |
58 | .thead-dark th {
59 | background-color: $primary;
60 | }
61 |
62 | &-success,
63 | &-info,
64 | &-warning,
65 | &-danger {
66 | color: #fff;
67 | }
68 |
69 | &-success {
70 | &, > th, > td {
71 | background-color: $success;
72 | }
73 | }
74 |
75 | &-info {
76 | &, > th, > td {
77 | background-color: $info;
78 | }
79 | }
80 |
81 | &-danger {
82 | &, > th, > td {
83 | background-color: $danger;
84 | }
85 | }
86 |
87 | &-warning {
88 | &, > th, > td {
89 | background-color: $warning;
90 | }
91 | }
92 |
93 | &-hover {
94 |
95 | .table-success:hover {
96 | &, > th, > td {
97 | background-color: darken($success, 5%);
98 | }
99 | }
100 |
101 | .table-info:hover {
102 | &, > th, > td {
103 | background-color: darken($info, 5%);
104 | }
105 | }
106 |
107 | .table-danger:hover {
108 | &, > th, > td {
109 | background-color: darken($danger, 5%);
110 | }
111 | }
112 |
113 | .table-warning:hover {
114 | &, > th, > td {
115 | background-color: darken($warning, 5%);
116 | }
117 | }
118 |
119 | }
120 | }
121 |
122 | // Forms =======================================================================
123 |
124 | // Navs ========================================================================
125 |
126 | .nav-tabs {
127 | .nav-link.active,
128 | .nav-link.active:focus,
129 | .nav-link.active:hover,
130 | .nav-item.open .nav-link,
131 | .nav-item.open .nav-link:focus,
132 | .nav-item.open .nav-link:hover {
133 | color: $primary;
134 | }
135 | }
136 |
137 | .pagination {
138 | a:hover {
139 | text-decoration: none;
140 | }
141 | }
142 |
143 | // Indicators ==================================================================
144 |
145 | .close {
146 | text-decoration: none;
147 | opacity: 0.4;
148 |
149 | &:hover,
150 | &:focus {
151 | opacity: 1;
152 | }
153 | }
154 |
155 | .badge {
156 | &-secondary,
157 | &-warning {
158 | color: #fff;
159 | }
160 | }
161 |
162 |
163 | .alert {
164 | border: none;
165 | color: $white;
166 |
167 | a,
168 | .alert-link {
169 | color: #fff;
170 | text-decoration: underline;
171 | }
172 |
173 | @each $color, $value in $theme-colors {
174 | &-#{$color} {
175 | background-color: $value;
176 | }
177 | }
178 |
179 | &-light {
180 | &,
181 | & a,
182 | & .alert-link {
183 | color: $body-color;
184 | }
185 | }
186 | }
187 |
188 | // Progress bars ===============================================================
189 |
190 | // Containers ==================================================================
191 | .modal .close{
192 | color: $black;
193 | }
194 |
--------------------------------------------------------------------------------
/scss/honoka/_honoka.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
3 | // Core functions
4 | @import "bootstrap/scss/functions";
5 |
6 | // Honoka variables
7 | @import "honoka/variables";
8 |
9 | @import "bootstrap/scss/variables";
10 | @import "bootstrap/scss/mixins";
11 | @import "bootstrap/scss/root";
12 |
13 | // Core CSS
14 | @import "bootstrap/scss/reboot";
15 | @import "bootstrap/scss/type";
16 | @import "bootstrap/scss/images";
17 | @import "bootstrap/scss/code";
18 | @import "bootstrap/scss/grid";
19 | @import "bootstrap/scss/tables";
20 | @import "bootstrap/scss/forms";
21 | @import "bootstrap/scss/buttons";
22 |
23 | // Components
24 | @import "bootstrap/scss/transitions";
25 | @import "bootstrap/scss/dropdown";
26 | @import "bootstrap/scss/button-group";
27 | @import "bootstrap/scss/input-group";
28 | @import "bootstrap/scss/custom-forms";
29 | @import "bootstrap/scss/nav";
30 | @import "bootstrap/scss/navbar";
31 | @import "bootstrap/scss/card";
32 | @import "bootstrap/scss/breadcrumb";
33 | @import "bootstrap/scss/pagination";
34 | @import "bootstrap/scss/badge";
35 | @import "bootstrap/scss/jumbotron";
36 | @import "bootstrap/scss/alert";
37 | @import "bootstrap/scss/progress";
38 | @import "bootstrap/scss/media";
39 | @import "bootstrap/scss/list-group";
40 | @import "bootstrap/scss/close";
41 | @import "bootstrap/scss/modal";
42 | @import "bootstrap/scss/tooltip";
43 | @import "bootstrap/scss/popover";
44 | @import "bootstrap/scss/carousel";
45 | @import "bootstrap/scss/utilities";
46 | @import "bootstrap/scss/print";
47 |
48 | // Honoka original setting
49 | @import "honoka/override";
50 |
51 | // Bootswatch
52 | @import "honoka/bootswatch";
53 |
--------------------------------------------------------------------------------
/scss/honoka/_mixins.scss:
--------------------------------------------------------------------------------
1 | // original mixin functions
2 |
--------------------------------------------------------------------------------
/scss/honoka/_override.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
3 | .navbar {
4 | .nav-item {
5 | .nav-link {
6 | position: relative;
7 | margin-right: $spacer * .5;
8 | &::before {
9 | position: absolute;
10 | right: 0;
11 | bottom: 0;
12 | left: 0;
13 | width: 0;
14 | margin: 0 auto;
15 | content: "";
16 | border-bottom-style: solid;
17 | border-bottom-width: 1px;
18 | transition: width .2s;
19 | }
20 | @include hover-focus {
21 | &::before {
22 | width: 100%;
23 | }
24 | }
25 | }
26 | &.active .nav-link::before {
27 | width: 100%;
28 | }
29 | }
30 | }
31 |
32 | .navbar-dark {
33 | .nav-item .nav-link::before {
34 | border-color: $navbar-dark-active-color;
35 | }
36 | }
37 |
38 | .navbar-light {
39 | .nav-item .nav-link::before {
40 | border-color: $navbar-light-active-color;
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/scss/honoka/_variables.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 | // Variables
3 | //
4 | // Variables should follow the `$component-state-property-size` formula for
5 | // consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.
6 |
7 | // Applied bootswatch/dist/flatly/_variables.scss 13d7f1c
8 |
9 | //
10 | // Color system
11 | //
12 |
13 | // stylelint-disable
14 | $white: #fff !default;
15 | $gray-100: #f8f9fa !default;
16 | $gray-200: #ecf0f1 !default;
17 | $gray-300: #dee2e6 !default;
18 | $gray-400: #ced4da !default;
19 | $gray-500: #b4bcc2 !default;
20 | $gray-600: #95a5a6 !default;
21 | $gray-700: #7b8a8b !default;
22 | $gray-800: #343a40 !default;
23 | $gray-900: #212529 !default;
24 | $black: #000 !default;
25 |
26 | $grays: () !default;
27 | $grays: map-merge((
28 | "100": $gray-100,
29 | "200": $gray-200,
30 | "300": $gray-300,
31 | "400": $gray-400,
32 | "500": $gray-500,
33 | "600": $gray-600,
34 | "700": $gray-700,
35 | "800": $gray-800,
36 | "900": $gray-900
37 | ), $grays);
38 |
39 | $blue: #2C3E50 !default;
40 | $indigo: #6610f2 !default;
41 | $purple: #6f42c1 !default;
42 | $pink: #e83e8c !default;
43 | $red: #E74C3C !default;
44 | $orange: #fd7e14 !default;
45 | $yellow: #F39C12 !default;
46 | $green: #18BC9C !default;
47 | $teal: #20c997 !default;
48 | $cyan: #3498DB !default;
49 |
50 | $colors: () !default;
51 | $colors: map-merge((
52 | "blue": $blue,
53 | "indigo": $indigo,
54 | "purple": $purple,
55 | "pink": $pink,
56 | "red": $red,
57 | "orange": $orange,
58 | "yellow": $yellow,
59 | "green": $green,
60 | "teal": $teal,
61 | "cyan": $cyan,
62 | "white": $white,
63 | "gray": $gray-600,
64 | "gray-dark": $gray-800
65 | ), $colors);
66 |
67 | $primary: $blue !default;
68 | $secondary: $gray-600 !default;
69 | $success: $green !default;
70 | $info: $cyan !default;
71 | $warning: $yellow !default;
72 | $danger: $red !default;
73 | $light: $gray-200 !default;
74 | $dark: $gray-700 !default;
75 |
76 | $theme-colors: () !default;
77 | $theme-colors: map-merge((
78 | "primary": $primary,
79 | "secondary": $secondary,
80 | "success": $success,
81 | "info": $info,
82 | "warning": $warning,
83 | "danger": $danger,
84 | "light": $light,
85 | "dark": $dark
86 | ), $theme-colors);
87 | // stylelint-enable
88 |
89 | // Set a specific jump point for requesting color jumps
90 | $theme-color-interval: 8% !default;
91 |
92 | // The yiq lightness value that determines when the lightness of color changes from "dark" to "light". Acceptable values are between 0 and 255.
93 | $yiq-contrasted-threshold: 150 !default;
94 |
95 | // Customize the light and dark text colors for use in our YIQ color contrast function.
96 | $yiq-text-dark: $gray-900 !default;
97 | $yiq-text-light: $white !default;
98 |
99 | // Options
100 | //
101 | // Quickly modify global styling by enabling or disabling optional features.
102 |
103 | $enable-caret: true !default;
104 | $enable-rounded: true !default;
105 | $enable-shadows: false !default;
106 | $enable-gradients: false !default;
107 | $enable-transitions: true !default;
108 | $enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS
109 | $enable-grid-classes: true !default;
110 | $enable-print-styles: true !default;
111 |
112 |
113 | // Spacing
114 | //
115 | // Control the default styling of most Bootstrap elements by modifying these
116 | // variables. Mostly focused on spacing.
117 | // You can add more entries to the $spacers map, should you need more variation.
118 |
119 | // stylelint-disable
120 | $spacer: 1rem !default;
121 | $spacers: () !default;
122 | $spacers: map-merge((
123 | 0: 0,
124 | 1: ($spacer * .25),
125 | 2: ($spacer * .5),
126 | 3: $spacer,
127 | 4: ($spacer * 1.5),
128 | 5: ($spacer * 3)
129 | ), $spacers);
130 |
131 | // This variable affects the `.h-*` and `.w-*` classes.
132 | $sizes: () !default;
133 | $sizes: map-merge((
134 | 25: 25%,
135 | 50: 50%,
136 | 75: 75%,
137 | 100: 100%
138 | ), $sizes);
139 | // stylelint-enable
140 |
141 | // Body
142 | //
143 | // Settings for the `` element.
144 |
145 | $body-bg: $white !default;
146 | $body-color: $gray-900 !default;
147 |
148 | // Links
149 | //
150 | // Style anchor elements.
151 |
152 | $link-color: $success !default;
153 | $link-decoration: none !default;
154 | $link-hover-color: darken($link-color, 15%) !default;
155 | $link-hover-decoration: underline !default;
156 |
157 | // Paragraphs
158 | //
159 | // Style p element.
160 |
161 | $paragraph-margin-bottom: 1rem !default;
162 |
163 |
164 | // Grid breakpoints
165 | //
166 | // Define the minimum dimensions at which your layout will change,
167 | // adapting to different screen sizes, for use in media queries.
168 |
169 | $grid-breakpoints: (
170 | xs: 0,
171 | sm: 576px,
172 | md: 768px,
173 | lg: 992px,
174 | xl: 1200px
175 | ) !default;
176 |
177 | @include _assert-ascending($grid-breakpoints, "$grid-breakpoints");
178 | @include _assert-starts-at-zero($grid-breakpoints);
179 |
180 |
181 | // Grid containers
182 | //
183 | // Define the maximum width of `.container` for different screen sizes.
184 |
185 | $container-max-widths: (
186 | sm: 540px,
187 | md: 720px,
188 | lg: 960px,
189 | xl: 1140px
190 | ) !default;
191 |
192 | @include _assert-ascending($container-max-widths, "$container-max-widths");
193 |
194 |
195 | // Grid columns
196 | //
197 | // Set the number of columns and specify the width of the gutters.
198 |
199 | $grid-columns: 12 !default;
200 | $grid-gutter-width: 30px !default;
201 |
202 | // Components
203 | //
204 | // Define common padding and border radius sizes and more.
205 |
206 | $line-height-lg: 1.5 !default;
207 | $line-height-sm: 1.5 !default;
208 |
209 | $border-width: 1px !default;
210 | $border-color: $gray-300 !default;
211 |
212 | $border-radius: .25rem !default;
213 | $border-radius-lg: .3rem !default;
214 | $border-radius-sm: .2rem !default;
215 |
216 | $component-active-color: $white !default;
217 | $component-active-bg: theme-color("primary") !default;
218 |
219 | $caret-width: .3em !default;
220 |
221 | $transition-base: all .2s ease-in-out !default;
222 | $transition-fade: opacity .15s linear !default;
223 | $transition-collapse: height .35s ease !default;
224 |
225 |
226 | // Fonts
227 | //
228 | // Font, line-height, and color for body text, headings, and more.
229 |
230 | // stylelint-disable value-keyword-case
231 | $font-family-sans-serif: -apple-system, "BlinkMacSystemFont", "Helvetica Neue", Helvetica, "Arial", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !default;
232 | $font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default;
233 | $font-family-serif: "Times New Roman", Times, "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "MS P明朝", "MS PMincho", "MS 明朝", serif !default;
234 | $font-family-base: $font-family-sans-serif !default;
235 | // stylelint-enable value-keyword-case
236 |
237 | $font-size-base: 1rem !default; // Assumes the browser default, typically `16px`
238 | $font-size-lg: ($font-size-base * 1.25) !default;
239 | $font-size-sm: ($font-size-base * .875) !default;
240 |
241 | $font-weight-light: 400 !default;
242 | $font-weight-normal: 400 !default;
243 | $font-weight-bold: 600 !default;
244 |
245 | $font-weight-base: $font-weight-normal !default;
246 | $line-height-base: 1.5 !default;
247 |
248 | $h1-font-size: $font-size-base * 2.5 !default;
249 | $h2-font-size: $font-size-base * 2 !default;
250 | $h3-font-size: $font-size-base * 1.75 !default;
251 | $h4-font-size: $font-size-base * 1.5 !default;
252 | $h5-font-size: $font-size-base * 1.25 !default;
253 | $h6-font-size: $font-size-base !default;
254 |
255 | $headings-margin-bottom: ($spacer / 2) !default;
256 | $headings-font-family: $font-family-sans-serif !default;
257 | $headings-font-weight: $font-weight-bold !default;
258 | $headings-line-height: 1.2 !default;
259 | $headings-color: inherit !default;
260 |
261 | $display1-size: 6rem !default;
262 | $display2-size: 5.5rem !default;
263 | $display3-size: 4.5rem !default;
264 | $display4-size: 3.5rem !default;
265 |
266 | $display1-weight: $font-weight-normal !default;
267 | $display2-weight: $font-weight-normal !default;
268 | $display3-weight: $font-weight-normal !default;
269 | $display4-weight: $font-weight-normal !default;
270 | $display-line-height: $headings-line-height !default;
271 |
272 | $lead-font-size: ($font-size-base * 1.25) !default;
273 | $lead-font-weight: $font-weight-normal !default;
274 |
275 | $small-font-size: 80% !default;
276 |
277 | $text-muted: $gray-600 !default;
278 |
279 | $blockquote-small-color: $gray-600 !default;
280 | $blockquote-font-size: $font-size-base !default;
281 |
282 | $hr-border-color: rgba($black, .1) !default;
283 | $hr-border-width: $border-width !default;
284 |
285 | $mark-padding: .2em !default;
286 |
287 | $dt-font-weight: $font-weight-bold !default;
288 |
289 | $kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;
290 | $nested-kbd-font-weight: $font-weight-bold !default;
291 |
292 | $list-inline-padding: .5rem !default;
293 |
294 | $mark-bg: #fcf8e3 !default;
295 |
296 | $hr-margin-y: $spacer !default;
297 |
298 |
299 | // Tables
300 | //
301 | // Customizes the `.table` component with basic values, each used across all table variations.
302 |
303 | $table-cell-padding: .75rem !default;
304 | $table-cell-padding-sm: .3rem !default;
305 |
306 | $table-bg: transparent !default;
307 | $table-accent-bg: $gray-200 !default;
308 | $table-hover-bg: rgba($black, .075) !default;
309 | $table-active-bg: $table-hover-bg !default;
310 |
311 | $table-border-width: $border-width !default;
312 | $table-border-color: $gray-300 !default;
313 |
314 | $table-head-bg: $gray-200 !default;
315 | $table-head-color: $gray-700 !default;
316 |
317 | $table-dark-bg: $gray-900 !default;
318 | $table-dark-accent-bg: rgba($white, .05) !default;
319 | $table-dark-hover-bg: rgba($white, .075) !default;
320 | $table-dark-border-color: lighten($gray-900, 7.5%) !default;
321 | $table-dark-color: $body-bg !default;
322 |
323 |
324 | // Buttons + Forms
325 | //
326 | // Shared variables that are reassigned to `$input-` and `$btn-` specific variables.
327 |
328 | $input-btn-padding-y: .375rem !default;
329 | $input-btn-padding-x: .75rem !default;
330 | $input-btn-line-height: $line-height-base !default;
331 |
332 | $input-btn-focus-width: .2rem !default;
333 | $input-btn-focus-color: rgba($component-active-bg, .25) !default;
334 | $input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;
335 |
336 | $input-btn-padding-y-sm: .25rem !default;
337 | $input-btn-padding-x-sm: .5rem !default;
338 | $input-btn-line-height-sm: $line-height-sm !default;
339 |
340 | $input-btn-padding-y-lg: .5rem !default;
341 | $input-btn-padding-x-lg: 1rem !default;
342 | $input-btn-line-height-lg: $line-height-lg !default;
343 |
344 | $input-btn-border-width: $border-width !default;
345 |
346 |
347 | // Buttons
348 | //
349 | // For each of Bootstrap's buttons, define text, background, and border color.
350 |
351 | $btn-padding-y: $input-btn-padding-y !default;
352 | $btn-padding-x: $input-btn-padding-x !default;
353 | $btn-line-height: $input-btn-line-height !default;
354 |
355 | $btn-padding-y-sm: $input-btn-padding-y-sm !default;
356 | $btn-padding-x-sm: $input-btn-padding-x-sm !default;
357 | $btn-line-height-sm: $input-btn-line-height-sm !default;
358 |
359 | $btn-padding-y-lg: $input-btn-padding-y-lg !default;
360 | $btn-padding-x-lg: $input-btn-padding-x-lg !default;
361 | $btn-line-height-lg: $input-btn-line-height-lg !default;
362 |
363 | $btn-border-width: $input-btn-border-width !default;
364 |
365 | $btn-font-weight: $font-weight-normal !default;
366 | $btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;
367 | $btn-focus-width: $input-btn-focus-width !default;
368 | $btn-focus-box-shadow: $input-btn-focus-box-shadow !default;
369 | $btn-disabled-opacity: .65 !default;
370 | $btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;
371 |
372 | $btn-link-disabled-color: $gray-600 !default;
373 |
374 | $btn-block-spacing-y: .5rem !default;
375 |
376 | // Allows for customizing button radius independently from global border radius
377 | $btn-border-radius: $border-radius !default;
378 | $btn-border-radius-lg: $border-radius-lg !default;
379 | $btn-border-radius-sm: $border-radius-sm !default;
380 |
381 | $btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
382 |
383 |
384 | // Forms
385 |
386 | $input-padding-y: $input-btn-padding-y !default;
387 | $input-padding-x: $input-btn-padding-x !default;
388 | $input-line-height: $input-btn-line-height !default;
389 |
390 | $input-padding-y-sm: $input-btn-padding-y-sm !default;
391 | $input-padding-x-sm: $input-btn-padding-x-sm !default;
392 | $input-line-height-sm: $input-btn-line-height-sm !default;
393 |
394 | $input-padding-y-lg: $input-btn-padding-y-lg !default;
395 | $input-padding-x-lg: $input-btn-padding-x-lg !default;
396 | $input-line-height-lg: $input-btn-line-height-lg !default;
397 |
398 | $input-bg: $white !default;
399 | $input-disabled-bg: $gray-200 !default;
400 |
401 | $input-color: $gray-700 !default;
402 | $input-border-color: $gray-400 !default;
403 | $input-border-width: $input-btn-border-width !default;
404 | $input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;
405 |
406 | $input-border-radius: $border-radius !default;
407 | $input-border-radius-lg: $border-radius-lg !default;
408 | $input-border-radius-sm: $border-radius-sm !default;
409 |
410 | $input-focus-bg: $input-bg !default;
411 | $input-focus-border-color: lighten($component-active-bg, 25%) !default;
412 | $input-focus-color: $input-color !default;
413 | $input-focus-width: $input-btn-focus-width !default;
414 | $input-focus-box-shadow: $input-btn-focus-box-shadow !default;
415 |
416 | $input-placeholder-color: $gray-600 !default;
417 |
418 | $input-height-border: $input-border-width * 2 !default;
419 |
420 | $input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;
421 | $input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;
422 |
423 | $input-height-inner-sm: ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;
424 | $input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;
425 |
426 | $input-height-inner-lg: ($font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;
427 | $input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;
428 |
429 | $input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
430 |
431 | $form-text-margin-top: .25rem !default;
432 |
433 | $form-check-input-gutter: 1.25rem !default;
434 | $form-check-input-margin-y: .3rem !default;
435 | $form-check-input-margin-x: .25rem !default;
436 |
437 | $form-check-inline-margin-x: .75rem !default;
438 | $form-check-inline-input-margin-x: .3125rem !default;
439 |
440 | $form-group-margin-bottom: 1rem !default;
441 |
442 | $input-group-addon-color: $input-color !default;
443 | $input-group-addon-bg: $gray-200 !default;
444 | $input-group-addon-border-color: $input-border-color !default;
445 |
446 | $custom-control-gutter: 1.5rem !default;
447 | $custom-control-spacer-x: 1rem !default;
448 |
449 | $custom-control-indicator-size: 1rem !default;
450 | $custom-control-indicator-bg: $gray-300 !default;
451 | $custom-control-indicator-bg-size: 50% 50% !default;
452 | $custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;
453 |
454 | $custom-control-indicator-disabled-bg: $gray-200 !default;
455 | $custom-control-label-disabled-color: $gray-600 !default;
456 |
457 | $custom-control-indicator-checked-color: $component-active-color !default;
458 | $custom-control-indicator-checked-bg: $component-active-bg !default;
459 | $custom-control-indicator-checked-disabled-bg: rgba(theme-color("primary"), .5) !default;
460 | $custom-control-indicator-checked-box-shadow: none !default;
461 |
462 | $custom-control-indicator-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;
463 |
464 | $custom-control-indicator-active-color: $component-active-color !default;
465 | $custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;
466 | $custom-control-indicator-active-box-shadow: none !default;
467 |
468 | $custom-checkbox-indicator-border-radius: $border-radius !default;
469 | $custom-checkbox-indicator-icon-checked: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"), "#", "%23") !default;
470 |
471 | $custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;
472 | $custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;
473 | $custom-checkbox-indicator-icon-indeterminate: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E"), "#", "%23") !default;
474 | $custom-checkbox-indicator-indeterminate-box-shadow: none !default;
475 |
476 | $custom-radio-indicator-border-radius: 50% !default;
477 | $custom-radio-indicator-icon-checked: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E"), "#", "%23") !default;
478 |
479 | $custom-select-padding-y: .375rem !default;
480 | $custom-select-padding-x: .75rem !default;
481 | $custom-select-height: $input-height !default;
482 | $custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator
483 | $custom-select-line-height: $input-btn-line-height !default;
484 | $custom-select-color: $input-color !default;
485 | $custom-select-disabled-color: $gray-600 !default;
486 | $custom-select-bg: $white !default;
487 | $custom-select-disabled-bg: $gray-200 !default;
488 | $custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions
489 | $custom-select-indicator-color: $gray-800 !default;
490 | $custom-select-indicator: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E"), "#", "%23") !default;
491 | $custom-select-border-width: $input-btn-border-width !default;
492 | $custom-select-border-color: $input-border-color !default;
493 | $custom-select-border-radius: $border-radius !default;
494 |
495 | $custom-select-focus-border-color: $input-focus-border-color !default;
496 | $custom-select-focus-box-shadow: inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;
497 |
498 | $custom-select-font-size-sm: 75% !default;
499 | $custom-select-height-sm: $input-height-sm !default;
500 |
501 | $custom-select-font-size-lg: 125% !default;
502 | $custom-select-height-lg: $input-height-lg !default;
503 |
504 | $custom-file-height: $input-height !default;
505 | $custom-file-focus-border-color: $input-focus-border-color !default;
506 | $custom-file-focus-box-shadow: $input-btn-focus-box-shadow !default;
507 |
508 | $custom-file-padding-y: $input-btn-padding-y !default;
509 | $custom-file-padding-x: $input-btn-padding-x !default;
510 | $custom-file-line-height: $input-btn-line-height !default;
511 | $custom-file-color: $input-color !default;
512 | $custom-file-bg: $input-bg !default;
513 | $custom-file-border-width: $input-btn-border-width !default;
514 | $custom-file-border-color: $input-border-color !default;
515 | $custom-file-border-radius: $input-border-radius !default;
516 | $custom-file-box-shadow: $input-box-shadow !default;
517 | $custom-file-button-color: $custom-file-color !default;
518 | $custom-file-button-bg: $input-group-addon-bg !default;
519 | $custom-file-text: (
520 | en: "Browse"
521 | ) !default;
522 |
523 |
524 | // Form validation
525 | $form-feedback-margin-top: $form-text-margin-top !default;
526 | $form-feedback-font-size: $small-font-size !default;
527 | $form-feedback-valid-color: theme-color("success") !default;
528 | $form-feedback-invalid-color: theme-color("danger") !default;
529 |
530 |
531 | // Dropdowns
532 | //
533 | // Dropdown menu container and contents.
534 |
535 | $dropdown-min-width: 10rem !default;
536 | $dropdown-padding-y: .5rem !default;
537 | $dropdown-spacer: .125rem !default;
538 | $dropdown-bg: $white !default;
539 | $dropdown-border-color: rgba($black, .15) !default;
540 | $dropdown-border-radius: $border-radius !default;
541 | $dropdown-border-width: $border-width !default;
542 | $dropdown-divider-bg: $gray-200 !default;
543 | $dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;
544 |
545 | $dropdown-link-color: $gray-700 !default;
546 | $dropdown-link-hover-color: $white !default;
547 | $dropdown-link-hover-bg: $primary !default;
548 |
549 | $dropdown-link-active-color: $component-active-color !default;
550 | $dropdown-link-active-bg: $component-active-bg !default;
551 |
552 | $dropdown-link-disabled-color: $gray-600 !default;
553 |
554 | $dropdown-item-padding-y: .25rem !default;
555 | $dropdown-item-padding-x: 1.5rem !default;
556 |
557 | $dropdown-header-color: $gray-600 !default;
558 |
559 |
560 | // Z-index master list
561 | //
562 | // Warning: Avoid customizing these values. They're used for a bird's eye view
563 | // of components dependent on the z-axis and are designed to all work together.
564 |
565 | $zindex-dropdown: 1000 !default;
566 | $zindex-sticky: 1020 !default;
567 | $zindex-fixed: 1030 !default;
568 | $zindex-modal-backdrop: 1040 !default;
569 | $zindex-modal: 1050 !default;
570 | $zindex-popover: 1060 !default;
571 | $zindex-tooltip: 1070 !default;
572 |
573 | // Navs
574 |
575 | $nav-link-padding-y: .5rem !default;
576 | $nav-link-padding-x: 1rem !default;
577 | $nav-link-disabled-color: $gray-600 !default;
578 |
579 | $nav-tabs-border-color: $gray-200 !default;
580 | $nav-tabs-border-width: $border-width !default;
581 | $nav-tabs-border-radius: $border-radius !default;
582 | $nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;
583 | $nav-tabs-link-active-color: $gray-700 !default;
584 | $nav-tabs-link-active-bg: $body-bg !default;
585 | $nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;
586 |
587 | $nav-pills-border-radius: $border-radius !default;
588 | $nav-pills-link-active-color: $component-active-color !default;
589 | $nav-pills-link-active-bg: $component-active-bg !default;
590 |
591 | // Navbar
592 |
593 | $navbar-padding-y: ($spacer * 1.2) !default;
594 | $navbar-padding-x: ($spacer * 1.5) !default;
595 |
596 | $navbar-nav-link-padding-x: .5rem !default;
597 |
598 | $navbar-brand-font-size: $font-size-lg !default;
599 | // Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link
600 | $nav-link-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;
601 | $navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;
602 | $navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;
603 |
604 | $navbar-toggler-padding-y: .25rem !default;
605 | $navbar-toggler-padding-x: .75rem !default;
606 | $navbar-toggler-font-size: $font-size-lg !default;
607 | $navbar-toggler-border-radius: $btn-border-radius !default;
608 |
609 | $navbar-dark-color: $white !default;
610 | $navbar-dark-hover-color: $success !default;
611 | $navbar-dark-active-color: $white !default;
612 | $navbar-dark-disabled-color: rgba($white, .25) !default;
613 | $navbar-dark-toggler-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"), "#", "%23") !default;
614 | $navbar-dark-toggler-border-color: rgba($white, .1) !default;
615 |
616 | $navbar-light-color: rgba($black, .5) !default;
617 | $navbar-light-hover-color: rgba($black, .7) !default;
618 | $navbar-light-active-color: rgba($black, .9) !default;
619 | $navbar-light-disabled-color: rgba($black, .3) !default;
620 | $navbar-light-toggler-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"), "#", "%23") !default;
621 | $navbar-light-toggler-border-color: rgba($black, .1) !default;
622 |
623 | // Pagination
624 |
625 | $pagination-padding-y: .5rem !default;
626 | $pagination-padding-x: .75rem !default;
627 | $pagination-padding-y-sm: .25rem !default;
628 | $pagination-padding-x-sm: .5rem !default;
629 | $pagination-padding-y-lg: .75rem !default;
630 | $pagination-padding-x-lg: 1.5rem !default;
631 | $pagination-line-height: 1.25 !default;
632 |
633 | $pagination-color: $white !default;
634 | $pagination-bg: $success !default;
635 | $pagination-border-width: $border-width !default;
636 | $pagination-border-color: transparent !default;
637 |
638 | $pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;
639 |
640 | $pagination-hover-color: $white !default;
641 | $pagination-hover-bg: darken($success, 15%) !default;
642 | $pagination-hover-border-color: transparent !default;
643 |
644 | $pagination-active-color: $component-active-color !default;
645 | $pagination-active-bg: $pagination-hover-bg !default;
646 | $pagination-active-border-color: transparent !default;
647 |
648 | $pagination-disabled-color: $gray-200 !default;
649 | $pagination-disabled-bg: lighten($success, 15%) !default;
650 | $pagination-disabled-border-color: transparent !default;
651 |
652 |
653 | // Jumbotron
654 |
655 | $jumbotron-padding: 2rem !default;
656 | $jumbotron-bg: $gray-200 !default;
657 |
658 |
659 | // Cards
660 |
661 | $card-spacer-y: .75rem !default;
662 | $card-spacer-x: 1.25rem !default;
663 | $card-border-width: $border-width !default;
664 | $card-border-radius: $border-radius !default;
665 | $card-border-color: rgba($black, .125) !default;
666 | $card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;
667 | $card-cap-bg: rgba($black, .03) !default;
668 | $card-bg: $white !default;
669 |
670 | $card-img-overlay-padding: 1.25rem !default;
671 |
672 | $card-group-margin: ($grid-gutter-width / 2) !default;
673 | $card-deck-margin: $card-group-margin !default;
674 |
675 | $card-columns-count: 3 !default;
676 | $card-columns-gap: 1.25rem !default;
677 | $card-columns-margin: $card-spacer-y !default;
678 |
679 |
680 | // Tooltips
681 |
682 | $tooltip-font-size: $font-size-sm !default;
683 | $tooltip-max-width: 200px !default;
684 | $tooltip-color: $white !default;
685 | $tooltip-bg: $black !default;
686 | $tooltip-border-radius: $border-radius !default;
687 | $tooltip-opacity: .9 !default;
688 | $tooltip-padding-y: .25rem !default;
689 | $tooltip-padding-x: .5rem !default;
690 | $tooltip-margin: 0 !default;
691 |
692 | $tooltip-arrow-width: .8rem !default;
693 | $tooltip-arrow-height: .4rem !default;
694 | $tooltip-arrow-color: $tooltip-bg !default;
695 |
696 |
697 | // Popovers
698 |
699 | $popover-font-size: $font-size-sm !default;
700 | $popover-bg: $white !default;
701 | $popover-max-width: 276px !default;
702 | $popover-border-width: $border-width !default;
703 | $popover-border-color: rgba($black, .2) !default;
704 | $popover-border-radius: $border-radius-lg !default;
705 | $popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;
706 |
707 | $popover-header-bg: darken($popover-bg, 3%) !default;
708 | $popover-header-color: $headings-color !default;
709 | $popover-header-padding-y: .5rem !default;
710 | $popover-header-padding-x: .75rem !default;
711 |
712 | $popover-body-color: $body-color !default;
713 | $popover-body-padding-y: $popover-header-padding-y !default;
714 | $popover-body-padding-x: $popover-header-padding-x !default;
715 |
716 | $popover-arrow-width: 1rem !default;
717 | $popover-arrow-height: .5rem !default;
718 | $popover-arrow-color: $popover-bg !default;
719 |
720 | $popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;
721 |
722 |
723 | // Badges
724 |
725 | $badge-font-size: 75% !default;
726 | $badge-font-weight: $font-weight-bold !default;
727 | $badge-padding-y: .25em !default;
728 | $badge-padding-x: .4em !default;
729 | $badge-border-radius: $border-radius !default;
730 |
731 | $badge-pill-padding-x: .6em !default;
732 | // Use a higher than normal value to ensure completely rounded edges when
733 | // customizing padding or font-size on labels.
734 | $badge-pill-border-radius: 10rem !default;
735 |
736 |
737 | // Modals
738 |
739 | // Padding applied to the modal body
740 | $modal-inner-padding: 1rem !default;
741 |
742 | $modal-dialog-margin: .5rem !default;
743 | $modal-dialog-margin-y-sm-up: 1.75rem !default;
744 |
745 | $modal-title-line-height: $line-height-base !default;
746 |
747 | $modal-content-bg: $white !default;
748 | $modal-content-border-color: rgba($black, .2) !default;
749 | $modal-content-border-width: $border-width !default;
750 | $modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;
751 | $modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;
752 |
753 | $modal-backdrop-bg: $black !default;
754 | $modal-backdrop-opacity: .5 !default;
755 | $modal-header-border-color: $gray-200 !default;
756 | $modal-footer-border-color: $modal-header-border-color !default;
757 | $modal-header-border-width: $modal-content-border-width !default;
758 | $modal-footer-border-width: $modal-header-border-width !default;
759 | $modal-header-padding: 1rem !default;
760 |
761 | $modal-lg: 800px !default;
762 | $modal-md: 500px !default;
763 | $modal-sm: 300px !default;
764 |
765 | $modal-transition: transform .3s ease-out !default;
766 |
767 |
768 | // Alerts
769 | //
770 | // Define alert colors, border radius, and padding.
771 |
772 | $alert-padding-y: .75rem !default;
773 | $alert-padding-x: 1.25rem !default;
774 | $alert-margin-bottom: 1rem !default;
775 | $alert-border-radius: $border-radius !default;
776 | $alert-link-font-weight: $font-weight-bold !default;
777 | $alert-border-width: $border-width !default;
778 |
779 | $alert-bg-level: -10 !default;
780 | $alert-border-level: -9 !default;
781 | $alert-color-level: 6 !default;
782 |
783 |
784 | // Progress bars
785 |
786 | $progress-height: 1rem !default;
787 | $progress-font-size: ($font-size-base * .75) !default;
788 | $progress-bg: $gray-200 !default;
789 | $progress-border-radius: $border-radius !default;
790 | $progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;
791 | $progress-bar-color: $white !default;
792 | $progress-bar-bg: theme-color("primary") !default;
793 | $progress-bar-animation-timing: 1s linear infinite !default;
794 | $progress-bar-transition: width .6s ease !default;
795 |
796 | // List group
797 |
798 | $list-group-bg: $gray-200 !default;
799 | $list-group-border-color: rgba($black, .125) !default;
800 | $list-group-border-width: $border-width !default;
801 | $list-group-border-radius: $border-radius !default;
802 |
803 | $list-group-item-padding-y: .75rem !default;
804 | $list-group-item-padding-x: 1.25rem !default;
805 |
806 | $list-group-hover-bg: $gray-200 !default;
807 | $list-group-active-color: $component-active-color !default;
808 | $list-group-active-bg: $component-active-bg !default;
809 | $list-group-active-border-color: $list-group-active-bg !default;
810 |
811 | $list-group-disabled-color: $gray-600 !default;
812 | $list-group-disabled-bg: $list-group-bg !default;
813 |
814 | $list-group-action-color: $gray-700 !default;
815 | $list-group-action-hover-color: $list-group-action-color !default;
816 |
817 | $list-group-action-active-color: $body-color !default;
818 | $list-group-action-active-bg: $gray-200 !default;
819 |
820 |
821 | // Image thumbnails
822 |
823 | $thumbnail-padding: .25rem !default;
824 | $thumbnail-bg: $body-bg !default;
825 | $thumbnail-border-width: $border-width !default;
826 | $thumbnail-border-color: $gray-300 !default;
827 | $thumbnail-border-radius: $border-radius !default;
828 | $thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;
829 |
830 |
831 | // Figures
832 |
833 | $figure-caption-font-size: 90% !default;
834 | $figure-caption-color: $gray-600 !default;
835 |
836 |
837 | // Breadcrumbs
838 |
839 | $breadcrumb-padding-y: .75rem !default;
840 | $breadcrumb-padding-x: 1rem !default;
841 | $breadcrumb-item-padding: .5rem !default;
842 |
843 | $breadcrumb-margin-bottom: 1rem !default;
844 |
845 | $breadcrumb-bg: $gray-200 !default;
846 | $breadcrumb-divider-color: $gray-600 !default;
847 | $breadcrumb-active-color: $gray-600 !default;
848 | $breadcrumb-divider: "/" !default;
849 |
850 |
851 | // Carousel
852 |
853 | $carousel-control-color: $white !default;
854 | $carousel-control-width: 15% !default;
855 | $carousel-control-opacity: .5 !default;
856 |
857 | $carousel-indicator-width: 30px !default;
858 | $carousel-indicator-height: 3px !default;
859 | $carousel-indicator-spacer: 3px !default;
860 | $carousel-indicator-active-bg: $white !default;
861 |
862 | $carousel-caption-width: 70% !default;
863 | $carousel-caption-color: $white !default;
864 |
865 | $carousel-control-icon-width: 20px !default;
866 |
867 | $carousel-control-prev-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"), "#", "%23") !default;
868 | $carousel-control-next-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"), "#", "%23") !default;
869 |
870 | $carousel-transition: transform .6s ease !default;
871 |
872 |
873 | // Close
874 |
875 | $close-font-size: $font-size-base * 1.5 !default;
876 | $close-font-weight: $font-weight-bold !default;
877 | $close-color: $black !default;
878 | $close-text-shadow: 0 1px 0 $white !default;
879 |
880 | // Code
881 |
882 | $code-font-size: 87.5% !default;
883 | $code-color: $pink !default;
884 |
885 | $kbd-padding-y: .2rem !default;
886 | $kbd-padding-x: .4rem !default;
887 | $kbd-font-size: $code-font-size !default;
888 | $kbd-color: $white !default;
889 | $kbd-bg: $gray-900 !default;
890 |
891 | $pre-color: $gray-900 !default;
892 | $pre-scrollable-max-height: 340px !default;
893 |
894 |
895 | // Printing
896 | $print-page-size: a3 !default;
897 | $print-body-min-width: map-get($grid-breakpoints, "lg") !default;
898 |
--------------------------------------------------------------------------------