├── .gitignore ├── CONTRIBUTING.md ├── CoursePickingHelper_en_US.html ├── CoursePickingHelper_zh_TW.html ├── LICENSE ├── README.md ├── bootstrap ├── css │ ├── bootstrap-theme.css │ ├── bootstrap-theme.css.map │ ├── bootstrap-theme.min.css │ ├── bootstrap.css │ ├── bootstrap.css.map │ └── bootstrap.min.css ├── fonts │ ├── glyphicons-halflings-regular.eot │ ├── glyphicons-halflings-regular.svg │ ├── glyphicons-halflings-regular.ttf │ ├── glyphicons-halflings-regular.woff │ └── glyphicons-halflings-regular.woff2 └── js │ ├── bootstrap.js │ ├── bootstrap.min.js │ ├── jquery-1.11.2.min.js │ ├── jquery-1.6.min.js │ ├── jquery.circliful.min.js │ ├── minwt.auto_full_height.mini.js │ └── npm.js ├── font-awesome-4.3.0 ├── css │ ├── font-awesome.css │ └── font-awesome.min.css ├── fonts │ ├── FontAwesome.otf │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.svg │ ├── fontawesome-webfont.ttf │ ├── fontawesome-webfont.woff │ └── fontawesome-webfont.woff2 ├── less │ ├── animated.less │ ├── bordered-pulled.less │ ├── core.less │ ├── fixed-width.less │ ├── font-awesome.less │ ├── icons.less │ ├── larger.less │ ├── list.less │ ├── mixins.less │ ├── path.less │ ├── rotated-flipped.less │ ├── stacked.less │ └── variables.less └── scss │ ├── _animated.scss │ ├── _bordered-pulled.scss │ ├── _core.scss │ ├── _fixed-width.scss │ ├── _icons.scss │ ├── _larger.scss │ ├── _list.scss │ ├── _mixins.scss │ ├── _path.scss │ ├── _rotated-flipped.scss │ ├── _stacked.scss │ ├── _variables.scss │ └── font-awesome.scss ├── images ├── goose.jpg ├── manual │ ├── 001.png │ ├── 002.png │ ├── 003.png │ ├── 004.png │ ├── 005.png │ ├── 006.png │ ├── 007.png │ ├── 008.png │ └── 009.png ├── nchuit.png ├── old-jppg │ ├── 1.jpg │ ├── 2.jpg │ ├── 3.jpg │ ├── 4.jpg │ ├── 5-1.jpg │ ├── 5.jpg │ ├── 6.jpg │ ├── 7.jpg │ └── 大頭貼.jpg ├── 封面.jpg └── 會徽-01.jpg ├── index.html ├── js ├── CoursePickingHelper_en_US.js ├── CoursePickingHelper_zh_TW.js ├── bootstrap_site.js └── save │ ├── FileSaver.js │ ├── FileSaver.min.js │ ├── html2canvas.js │ └── saveAsPicture.js ├── json ├── D.json ├── G.json ├── N.json ├── O.json ├── U.json ├── W.json ├── department.json ├── new_department.json └── url_base.json ├── shell-script ├── backup.sh ├── crontab_file └── updatejson.sh └── toastr ├── toastr.css └── toastr.js /.gitignore: -------------------------------------------------------------------------------- 1 | backup-json/ -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # CoursePickingHelper 選課小幫手 2 | ======================= 3 | 4 | ####紀錄者:周彤 紀錄時間:2015/03/29 修改時間:2015/05/31 5 | ----------------------- 6 | * 成  員: 7 | * 隊  長 杜杰 8 | * 隊  員 劉子睿、周彤、張泰瑋 9 | * 友情幫助 妹子、均民 10 | 11 | * 功  能: 12 | * 主要功能: 13 | * 自動排上系級必修 14 | * 自動過濾衝堂課程 15 | * 搜  尋: 16 | * 可搜尋課號、課程名稱、教授名稱 17 | * 手動選擇自己所想要的通識、選修、體育等課程 18 | * 可搜尋自己所想要的課程、其他系必選修、教育學程與全校系選修 19 | * 預  計:每學期自動維護(自動爬課程) 20 | * 課  表: 21 | * 以顏色分類課程類別(例:必修為紅色) 22 | * 點選空堂,右邊自動過濾出可排的課程(系上必選修、通識與體育) 23 | * 可刪除、新增課程 24 | 25 | * 排  版: 26 | * 入口網站 27 | * 使用說明 28 | * 選擇語言(中英文) 29 | * 課  表 30 | * 右  側 31 | * 選擇系級(愛心圖示) 32 | * 搜尋課程(放大鏡圖示) 33 | * 清空課表(垃圾桶圖示) 34 | * 可選擇課程之列表 35 | * 分別為必修、選修(一~五年級)、通識(人文、社會、自然)、體育 36 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 張泰瑋(Chang Tai Wei) 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 | 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | CoursePickingHelper 選課小幫手 2 | =============================== 3 | 使用說明 4 | ------------------------------- 5 | * 進入頁面請點選 選擇自己的學制、系、年級(未選擇系級,無法使用下列功能) 6 | * 課表將自動排上必修課,並出現的圖案 7 | * 點選可在右側欄位看見該空堂有甚麼課可排 8 | * 若想找特定課程,點擊可查詢課程 9 | * 特別小叮嚀(1):是以各位輸入的條件篩選,條件越少,找到符合的課程就越多,所以請大家妥善利用 10 | * 特別小叮嚀(2):如果有想要查詢其他系的必選修,也可以使用課程查詢 11 | * 如果排好課,有需要請截圖來保留自己理想的課表(如果課表太大,可利用縮放功能來縮小視窗以利截圖)
12 | 13 | 另外在此特別申明:有鑑於作者群們對於每個學期都要花大量時間來找自己想選的通識課程,因此認為應該來做個幫助大家更輕鬆選課的小程 式來造福各位。但由於這是第一代,希望大家能包容作者群們以及我們的小程式,它看起來雖然有點陽春,不過也是我們努力了一個學期的成 果,希望能幫助到大家每個學期的預選、初選。
14 | 15 | __最後在此祝福各位搶課成功!!!__
16 | _謝謝大家_ 17 | -------------------------------------------------------------------------------- /bootstrap/css/bootstrap-theme.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v3.3.2 (http://getbootstrap.com) 3 | * Copyright 2011-2015 Twitter, Inc. 4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 5 | */.btn-danger,.btn-default,.btn-info,.btn-primary,.btn-success,.btn-warning{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-success.active,.btn-success:active,.btn-warning.active,.btn-warning:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-danger .badge,.btn-default .badge,.btn-info .badge,.btn-primary .badge,.btn-success .badge,.btn-warning .badge{text-shadow:none}.btn.active,.btn:active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc}.btn-default:focus,.btn-default:hover{background-color:#e0e0e0;background-position:0 -15px}.btn-default.active,.btn-default:active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default.disabled,.btn-default:disabled,.btn-default[disabled]{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-o-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#265a88));background-image:linear-gradient(to bottom,#337ab7 0,#265a88 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#245580}.btn-primary:focus,.btn-primary:hover{background-color:#265a88;background-position:0 -15px}.btn-primary.active,.btn-primary:active{background-color:#265a88;border-color:#245580}.btn-primary.disabled,.btn-primary:disabled,.btn-primary[disabled]{background-color:#265a88;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:focus,.btn-success:hover{background-color:#419641;background-position:0 -15px}.btn-success.active,.btn-success:active{background-color:#419641;border-color:#3e8f3e}.btn-success.disabled,.btn-success:disabled,.btn-success[disabled]{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:focus,.btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.btn-info.active,.btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.btn-info.disabled,.btn-info:disabled,.btn-info[disabled]{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:focus,.btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.btn-warning.active,.btn-warning:active{background-color:#eb9316;border-color:#e38d13}.btn-warning.disabled,.btn-warning:disabled,.btn-warning[disabled]{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:focus,.btn-danger:hover{background-color:#c12e2a;background-position:0 -15px}.btn-danger.active,.btn-danger:active{background-color:#c12e2a;border-color:#b92c28}.btn-danger.disabled,.btn-danger:disabled,.btn-danger[disabled]{background-color:#c12e2a;background-image:none}.img-thumbnail,.thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#2e6da4;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));background-image:linear-gradient(to bottom,#dbdbdb 0,#e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-o-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#080808),to(#0f0f0f));background-image:linear-gradient(to bottom,#080808 0,#0f0f0f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-o-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#286090));background-image:linear-gradient(to bottom,#337ab7 0,#286090 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{text-shadow:0 -1px 0 #286090;background-image:-webkit-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2b669a));background-image:linear-gradient(to bottom,#337ab7 0,#2b669a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);background-repeat:repeat-x;border-color:#2b669a}.list-group-item.active .badge,.list-group-item.active:focus .badge,.list-group-item.active:hover .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)} -------------------------------------------------------------------------------- /bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /bootstrap/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/bootstrap/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /bootstrap/js/jquery.circliful.min.js: -------------------------------------------------------------------------------- 1 | (function(t){t.fn.circliful=function(i){var e=t.extend({startdegree:0,fgcolor:"#556b2f",bgcolor:"#eee",fill:!1,width:15,dimension:200,fontsize:15,percent:50,animationstep:1,iconsize:"20px",iconcolor:"#999",border:"default",complete:null,bordersize:10},i);return this.each(function(){function a(i,e,a){t("").appendTo(i).addClass(e).text(s).prepend(l).css({"line-height":a+"px","font-size":h.fontsize+"px"})}function n(i,e){t("").appendTo(i).addClass("circle-info-half").css("line-height",h.dimension*e+"px").text(r)}function o(i){t.each(c,function(a,n){h[n]=void 0!=i.data(n)?i.data(n):t(e).attr(n),"fill"==n&&void 0!=i.data("fill")&&(m=!0)})}function d(e){u.clearRect(0,0,g.width,g.height),u.beginPath(),u.arc(x,b,w,z,y,!1),u.lineWidth=h.width+1,u.strokeStyle=h.bgcolor,u.stroke(),m&&(u.fillStyle=h.fill,u.fill()),u.beginPath(),u.arc(x,b,w,-k+T,C*e-k+T,!1),"outline"==h.border?u.lineWidth=h.width+13:"inline"==h.border&&(u.lineWidth=h.width-13),u.strokeStyle=h.fgcolor,u.stroke(),p>M&&(M+=I,requestAnimationFrame(function(){d(Math.min(M,p)/100)},f)),M==p&&S&&i!==void 0&&t.isFunction(i.complete)&&(i.complete(),S=!1)}var s,r,c=["fgcolor","bgcolor","fill","width","dimension","fontsize","animationstep","endPercent","icon","iconcolor","iconsize","border","startdegree","bordersize"],h={},l="",p=0,f=t(this),m=!1;if(f.addClass("circliful"),o(f),void 0!=f.data("text")&&(s=f.data("text"),void 0!=f.data("icon")&&(l=t("").addClass("fa "+t(this).data("icon")).css({color:h.iconcolor,"font-size":h.iconsize})),void 0!=f.data("type")?(F=t(this).data("type"),"half"==F?a(f,"circle-text-half",h.dimension/1.45):a(f,"circle-text",h.dimension)):a(f,"circle-text",h.dimension)),void 0!=t(this).data("total")&&void 0!=t(this).data("part")){var v=t(this).data("total")/100;percent=(t(this).data("part")/v/100).toFixed(3),p=(t(this).data("part")/v).toFixed(3)}else void 0!=t(this).data("percent")?(percent=t(this).data("percent")/100,p=t(this).data("percent")):percent=e.percent/100;void 0!=t(this).data("info")&&(r=t(this).data("info"),void 0!=t(this).data("type")?(F=t(this).data("type"),"half"==F?n(f,.9):n(f,1.25)):n(f,1.25)),t(this).width(h.dimension+"px");var g=t("").attr({width:h.dimension,height:h.dimension}).appendTo(t(this)).get(0),u=g.getContext("2d");t(g).parent();var x=g.width/2,b=g.height/2,P=360*h.percent;P*(Math.PI/180);var w=g.width/2.5,y=2.3*Math.PI,z=0,M=0===h.animationstep?p:0,I=Math.max(h.animationstep,0),C=2*Math.PI,k=Math.PI/2,F="",S=!0,T=h.startdegree/180*Math.PI;void 0!=t(this).data("type")&&(F=t(this).data("type"),"half"==F&&(y=2*Math.PI,z=3.13,C=Math.PI,k=Math.PI/.996)),d(M/100)})}})(jQuery); -------------------------------------------------------------------------------- /bootstrap/js/minwt.auto_full_height.mini.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/bootstrap/js/minwt.auto_full_height.mini.js -------------------------------------------------------------------------------- /bootstrap/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /font-awesome-4.3.0/css/font-awesome.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.3.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.3.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.3.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.3.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.3.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0)}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-genderless:before,.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"} -------------------------------------------------------------------------------- /font-awesome-4.3.0/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/font-awesome-4.3.0/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /font-awesome-4.3.0/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/font-awesome-4.3.0/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /font-awesome-4.3.0/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/font-awesome-4.3.0/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /font-awesome-4.3.0/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/font-awesome-4.3.0/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /font-awesome-4.3.0/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/font-awesome-4.3.0/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /font-awesome-4.3.0/less/animated.less: -------------------------------------------------------------------------------- 1 | // Animated Icons 2 | // -------------------------- 3 | 4 | .@{fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .@{fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /font-awesome-4.3.0/less/bordered-pulled.less: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em @fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .pull-right { float: right; } 11 | .pull-left { float: left; } 12 | 13 | .@{fa-css-prefix} { 14 | &.pull-left { margin-right: .3em; } 15 | &.pull-right { margin-left: .3em; } 16 | } 17 | -------------------------------------------------------------------------------- /font-awesome-4.3.0/less/core.less: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/1 FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | transform: translate(0, 0); // ensures no half-pixel rendering in firefox 12 | 13 | } 14 | -------------------------------------------------------------------------------- /font-awesome-4.3.0/less/fixed-width.less: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .@{fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /font-awesome-4.3.0/less/font-awesome.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables.less"; 7 | @import "mixins.less"; 8 | @import "path.less"; 9 | @import "core.less"; 10 | @import "larger.less"; 11 | @import "fixed-width.less"; 12 | @import "list.less"; 13 | @import "bordered-pulled.less"; 14 | @import "animated.less"; 15 | @import "rotated-flipped.less"; 16 | @import "stacked.less"; 17 | @import "icons.less"; 18 | -------------------------------------------------------------------------------- /font-awesome-4.3.0/less/larger.less: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .@{fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .@{fa-css-prefix}-2x { font-size: 2em; } 11 | .@{fa-css-prefix}-3x { font-size: 3em; } 12 | .@{fa-css-prefix}-4x { font-size: 4em; } 13 | .@{fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /font-awesome-4.3.0/less/list.less: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: @fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .@{fa-css-prefix}-li { 11 | position: absolute; 12 | left: -@fa-li-width; 13 | width: @fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.@{fa-css-prefix}-lg { 17 | left: (-@fa-li-width + (4em / 14)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /font-awesome-4.3.0/less/mixins.less: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | .fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/1 FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | transform: translate(0, 0); // ensures no half-pixel rendering in firefox 12 | 13 | } 14 | 15 | .fa-icon-rotate(@degrees, @rotation) { 16 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation); 17 | -webkit-transform: rotate(@degrees); 18 | -ms-transform: rotate(@degrees); 19 | transform: rotate(@degrees); 20 | } 21 | 22 | .fa-icon-flip(@horiz, @vert, @rotation) { 23 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation, mirror=1); 24 | -webkit-transform: scale(@horiz, @vert); 25 | -ms-transform: scale(@horiz, @vert); 26 | transform: scale(@horiz, @vert); 27 | } 28 | -------------------------------------------------------------------------------- /font-awesome-4.3.0/less/path.less: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); 7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), 8 | url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'), 9 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), 10 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), 11 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /font-awesome-4.3.0/less/rotated-flipped.less: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } 5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } 6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } 7 | 8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } 9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .@{fa-css-prefix}-rotate-90, 15 | :root .@{fa-css-prefix}-rotate-180, 16 | :root .@{fa-css-prefix}-rotate-270, 17 | :root .@{fa-css-prefix}-flip-horizontal, 18 | :root .@{fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /font-awesome-4.3.0/less/stacked.less: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; } 21 | -------------------------------------------------------------------------------- /font-awesome-4.3.0/less/variables.less: -------------------------------------------------------------------------------- 1 | // Variables 2 | // -------------------------- 3 | 4 | @fa-font-path: "../fonts"; 5 | @fa-font-size-base: 14px; 6 | //@fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.3.0/fonts"; // for referencing Bootstrap CDN font files directly 7 | @fa-css-prefix: fa; 8 | @fa-version: "4.3.0"; 9 | @fa-border-color: #eee; 10 | @fa-inverse: #fff; 11 | @fa-li-width: (30em / 14); 12 | 13 | @fa-var-adjust: "\f042"; 14 | @fa-var-adn: "\f170"; 15 | @fa-var-align-center: "\f037"; 16 | @fa-var-align-justify: "\f039"; 17 | @fa-var-align-left: "\f036"; 18 | @fa-var-align-right: "\f038"; 19 | @fa-var-ambulance: "\f0f9"; 20 | @fa-var-anchor: "\f13d"; 21 | @fa-var-android: "\f17b"; 22 | @fa-var-angellist: "\f209"; 23 | @fa-var-angle-double-down: "\f103"; 24 | @fa-var-angle-double-left: "\f100"; 25 | @fa-var-angle-double-right: "\f101"; 26 | @fa-var-angle-double-up: "\f102"; 27 | @fa-var-angle-down: "\f107"; 28 | @fa-var-angle-left: "\f104"; 29 | @fa-var-angle-right: "\f105"; 30 | @fa-var-angle-up: "\f106"; 31 | @fa-var-apple: "\f179"; 32 | @fa-var-archive: "\f187"; 33 | @fa-var-area-chart: "\f1fe"; 34 | @fa-var-arrow-circle-down: "\f0ab"; 35 | @fa-var-arrow-circle-left: "\f0a8"; 36 | @fa-var-arrow-circle-o-down: "\f01a"; 37 | @fa-var-arrow-circle-o-left: "\f190"; 38 | @fa-var-arrow-circle-o-right: "\f18e"; 39 | @fa-var-arrow-circle-o-up: "\f01b"; 40 | @fa-var-arrow-circle-right: "\f0a9"; 41 | @fa-var-arrow-circle-up: "\f0aa"; 42 | @fa-var-arrow-down: "\f063"; 43 | @fa-var-arrow-left: "\f060"; 44 | @fa-var-arrow-right: "\f061"; 45 | @fa-var-arrow-up: "\f062"; 46 | @fa-var-arrows: "\f047"; 47 | @fa-var-arrows-alt: "\f0b2"; 48 | @fa-var-arrows-h: "\f07e"; 49 | @fa-var-arrows-v: "\f07d"; 50 | @fa-var-asterisk: "\f069"; 51 | @fa-var-at: "\f1fa"; 52 | @fa-var-automobile: "\f1b9"; 53 | @fa-var-backward: "\f04a"; 54 | @fa-var-ban: "\f05e"; 55 | @fa-var-bank: "\f19c"; 56 | @fa-var-bar-chart: "\f080"; 57 | @fa-var-bar-chart-o: "\f080"; 58 | @fa-var-barcode: "\f02a"; 59 | @fa-var-bars: "\f0c9"; 60 | @fa-var-bed: "\f236"; 61 | @fa-var-beer: "\f0fc"; 62 | @fa-var-behance: "\f1b4"; 63 | @fa-var-behance-square: "\f1b5"; 64 | @fa-var-bell: "\f0f3"; 65 | @fa-var-bell-o: "\f0a2"; 66 | @fa-var-bell-slash: "\f1f6"; 67 | @fa-var-bell-slash-o: "\f1f7"; 68 | @fa-var-bicycle: "\f206"; 69 | @fa-var-binoculars: "\f1e5"; 70 | @fa-var-birthday-cake: "\f1fd"; 71 | @fa-var-bitbucket: "\f171"; 72 | @fa-var-bitbucket-square: "\f172"; 73 | @fa-var-bitcoin: "\f15a"; 74 | @fa-var-bold: "\f032"; 75 | @fa-var-bolt: "\f0e7"; 76 | @fa-var-bomb: "\f1e2"; 77 | @fa-var-book: "\f02d"; 78 | @fa-var-bookmark: "\f02e"; 79 | @fa-var-bookmark-o: "\f097"; 80 | @fa-var-briefcase: "\f0b1"; 81 | @fa-var-btc: "\f15a"; 82 | @fa-var-bug: "\f188"; 83 | @fa-var-building: "\f1ad"; 84 | @fa-var-building-o: "\f0f7"; 85 | @fa-var-bullhorn: "\f0a1"; 86 | @fa-var-bullseye: "\f140"; 87 | @fa-var-bus: "\f207"; 88 | @fa-var-buysellads: "\f20d"; 89 | @fa-var-cab: "\f1ba"; 90 | @fa-var-calculator: "\f1ec"; 91 | @fa-var-calendar: "\f073"; 92 | @fa-var-calendar-o: "\f133"; 93 | @fa-var-camera: "\f030"; 94 | @fa-var-camera-retro: "\f083"; 95 | @fa-var-car: "\f1b9"; 96 | @fa-var-caret-down: "\f0d7"; 97 | @fa-var-caret-left: "\f0d9"; 98 | @fa-var-caret-right: "\f0da"; 99 | @fa-var-caret-square-o-down: "\f150"; 100 | @fa-var-caret-square-o-left: "\f191"; 101 | @fa-var-caret-square-o-right: "\f152"; 102 | @fa-var-caret-square-o-up: "\f151"; 103 | @fa-var-caret-up: "\f0d8"; 104 | @fa-var-cart-arrow-down: "\f218"; 105 | @fa-var-cart-plus: "\f217"; 106 | @fa-var-cc: "\f20a"; 107 | @fa-var-cc-amex: "\f1f3"; 108 | @fa-var-cc-discover: "\f1f2"; 109 | @fa-var-cc-mastercard: "\f1f1"; 110 | @fa-var-cc-paypal: "\f1f4"; 111 | @fa-var-cc-stripe: "\f1f5"; 112 | @fa-var-cc-visa: "\f1f0"; 113 | @fa-var-certificate: "\f0a3"; 114 | @fa-var-chain: "\f0c1"; 115 | @fa-var-chain-broken: "\f127"; 116 | @fa-var-check: "\f00c"; 117 | @fa-var-check-circle: "\f058"; 118 | @fa-var-check-circle-o: "\f05d"; 119 | @fa-var-check-square: "\f14a"; 120 | @fa-var-check-square-o: "\f046"; 121 | @fa-var-chevron-circle-down: "\f13a"; 122 | @fa-var-chevron-circle-left: "\f137"; 123 | @fa-var-chevron-circle-right: "\f138"; 124 | @fa-var-chevron-circle-up: "\f139"; 125 | @fa-var-chevron-down: "\f078"; 126 | @fa-var-chevron-left: "\f053"; 127 | @fa-var-chevron-right: "\f054"; 128 | @fa-var-chevron-up: "\f077"; 129 | @fa-var-child: "\f1ae"; 130 | @fa-var-circle: "\f111"; 131 | @fa-var-circle-o: "\f10c"; 132 | @fa-var-circle-o-notch: "\f1ce"; 133 | @fa-var-circle-thin: "\f1db"; 134 | @fa-var-clipboard: "\f0ea"; 135 | @fa-var-clock-o: "\f017"; 136 | @fa-var-close: "\f00d"; 137 | @fa-var-cloud: "\f0c2"; 138 | @fa-var-cloud-download: "\f0ed"; 139 | @fa-var-cloud-upload: "\f0ee"; 140 | @fa-var-cny: "\f157"; 141 | @fa-var-code: "\f121"; 142 | @fa-var-code-fork: "\f126"; 143 | @fa-var-codepen: "\f1cb"; 144 | @fa-var-coffee: "\f0f4"; 145 | @fa-var-cog: "\f013"; 146 | @fa-var-cogs: "\f085"; 147 | @fa-var-columns: "\f0db"; 148 | @fa-var-comment: "\f075"; 149 | @fa-var-comment-o: "\f0e5"; 150 | @fa-var-comments: "\f086"; 151 | @fa-var-comments-o: "\f0e6"; 152 | @fa-var-compass: "\f14e"; 153 | @fa-var-compress: "\f066"; 154 | @fa-var-connectdevelop: "\f20e"; 155 | @fa-var-copy: "\f0c5"; 156 | @fa-var-copyright: "\f1f9"; 157 | @fa-var-credit-card: "\f09d"; 158 | @fa-var-crop: "\f125"; 159 | @fa-var-crosshairs: "\f05b"; 160 | @fa-var-css3: "\f13c"; 161 | @fa-var-cube: "\f1b2"; 162 | @fa-var-cubes: "\f1b3"; 163 | @fa-var-cut: "\f0c4"; 164 | @fa-var-cutlery: "\f0f5"; 165 | @fa-var-dashboard: "\f0e4"; 166 | @fa-var-dashcube: "\f210"; 167 | @fa-var-database: "\f1c0"; 168 | @fa-var-dedent: "\f03b"; 169 | @fa-var-delicious: "\f1a5"; 170 | @fa-var-desktop: "\f108"; 171 | @fa-var-deviantart: "\f1bd"; 172 | @fa-var-diamond: "\f219"; 173 | @fa-var-digg: "\f1a6"; 174 | @fa-var-dollar: "\f155"; 175 | @fa-var-dot-circle-o: "\f192"; 176 | @fa-var-download: "\f019"; 177 | @fa-var-dribbble: "\f17d"; 178 | @fa-var-dropbox: "\f16b"; 179 | @fa-var-drupal: "\f1a9"; 180 | @fa-var-edit: "\f044"; 181 | @fa-var-eject: "\f052"; 182 | @fa-var-ellipsis-h: "\f141"; 183 | @fa-var-ellipsis-v: "\f142"; 184 | @fa-var-empire: "\f1d1"; 185 | @fa-var-envelope: "\f0e0"; 186 | @fa-var-envelope-o: "\f003"; 187 | @fa-var-envelope-square: "\f199"; 188 | @fa-var-eraser: "\f12d"; 189 | @fa-var-eur: "\f153"; 190 | @fa-var-euro: "\f153"; 191 | @fa-var-exchange: "\f0ec"; 192 | @fa-var-exclamation: "\f12a"; 193 | @fa-var-exclamation-circle: "\f06a"; 194 | @fa-var-exclamation-triangle: "\f071"; 195 | @fa-var-expand: "\f065"; 196 | @fa-var-external-link: "\f08e"; 197 | @fa-var-external-link-square: "\f14c"; 198 | @fa-var-eye: "\f06e"; 199 | @fa-var-eye-slash: "\f070"; 200 | @fa-var-eyedropper: "\f1fb"; 201 | @fa-var-facebook: "\f09a"; 202 | @fa-var-facebook-f: "\f09a"; 203 | @fa-var-facebook-official: "\f230"; 204 | @fa-var-facebook-square: "\f082"; 205 | @fa-var-fast-backward: "\f049"; 206 | @fa-var-fast-forward: "\f050"; 207 | @fa-var-fax: "\f1ac"; 208 | @fa-var-female: "\f182"; 209 | @fa-var-fighter-jet: "\f0fb"; 210 | @fa-var-file: "\f15b"; 211 | @fa-var-file-archive-o: "\f1c6"; 212 | @fa-var-file-audio-o: "\f1c7"; 213 | @fa-var-file-code-o: "\f1c9"; 214 | @fa-var-file-excel-o: "\f1c3"; 215 | @fa-var-file-image-o: "\f1c5"; 216 | @fa-var-file-movie-o: "\f1c8"; 217 | @fa-var-file-o: "\f016"; 218 | @fa-var-file-pdf-o: "\f1c1"; 219 | @fa-var-file-photo-o: "\f1c5"; 220 | @fa-var-file-picture-o: "\f1c5"; 221 | @fa-var-file-powerpoint-o: "\f1c4"; 222 | @fa-var-file-sound-o: "\f1c7"; 223 | @fa-var-file-text: "\f15c"; 224 | @fa-var-file-text-o: "\f0f6"; 225 | @fa-var-file-video-o: "\f1c8"; 226 | @fa-var-file-word-o: "\f1c2"; 227 | @fa-var-file-zip-o: "\f1c6"; 228 | @fa-var-files-o: "\f0c5"; 229 | @fa-var-film: "\f008"; 230 | @fa-var-filter: "\f0b0"; 231 | @fa-var-fire: "\f06d"; 232 | @fa-var-fire-extinguisher: "\f134"; 233 | @fa-var-flag: "\f024"; 234 | @fa-var-flag-checkered: "\f11e"; 235 | @fa-var-flag-o: "\f11d"; 236 | @fa-var-flash: "\f0e7"; 237 | @fa-var-flask: "\f0c3"; 238 | @fa-var-flickr: "\f16e"; 239 | @fa-var-floppy-o: "\f0c7"; 240 | @fa-var-folder: "\f07b"; 241 | @fa-var-folder-o: "\f114"; 242 | @fa-var-folder-open: "\f07c"; 243 | @fa-var-folder-open-o: "\f115"; 244 | @fa-var-font: "\f031"; 245 | @fa-var-forumbee: "\f211"; 246 | @fa-var-forward: "\f04e"; 247 | @fa-var-foursquare: "\f180"; 248 | @fa-var-frown-o: "\f119"; 249 | @fa-var-futbol-o: "\f1e3"; 250 | @fa-var-gamepad: "\f11b"; 251 | @fa-var-gavel: "\f0e3"; 252 | @fa-var-gbp: "\f154"; 253 | @fa-var-ge: "\f1d1"; 254 | @fa-var-gear: "\f013"; 255 | @fa-var-gears: "\f085"; 256 | @fa-var-genderless: "\f1db"; 257 | @fa-var-gift: "\f06b"; 258 | @fa-var-git: "\f1d3"; 259 | @fa-var-git-square: "\f1d2"; 260 | @fa-var-github: "\f09b"; 261 | @fa-var-github-alt: "\f113"; 262 | @fa-var-github-square: "\f092"; 263 | @fa-var-gittip: "\f184"; 264 | @fa-var-glass: "\f000"; 265 | @fa-var-globe: "\f0ac"; 266 | @fa-var-google: "\f1a0"; 267 | @fa-var-google-plus: "\f0d5"; 268 | @fa-var-google-plus-square: "\f0d4"; 269 | @fa-var-google-wallet: "\f1ee"; 270 | @fa-var-graduation-cap: "\f19d"; 271 | @fa-var-gratipay: "\f184"; 272 | @fa-var-group: "\f0c0"; 273 | @fa-var-h-square: "\f0fd"; 274 | @fa-var-hacker-news: "\f1d4"; 275 | @fa-var-hand-o-down: "\f0a7"; 276 | @fa-var-hand-o-left: "\f0a5"; 277 | @fa-var-hand-o-right: "\f0a4"; 278 | @fa-var-hand-o-up: "\f0a6"; 279 | @fa-var-hdd-o: "\f0a0"; 280 | @fa-var-header: "\f1dc"; 281 | @fa-var-headphones: "\f025"; 282 | @fa-var-heart: "\f004"; 283 | @fa-var-heart-o: "\f08a"; 284 | @fa-var-heartbeat: "\f21e"; 285 | @fa-var-history: "\f1da"; 286 | @fa-var-home: "\f015"; 287 | @fa-var-hospital-o: "\f0f8"; 288 | @fa-var-hotel: "\f236"; 289 | @fa-var-html5: "\f13b"; 290 | @fa-var-ils: "\f20b"; 291 | @fa-var-image: "\f03e"; 292 | @fa-var-inbox: "\f01c"; 293 | @fa-var-indent: "\f03c"; 294 | @fa-var-info: "\f129"; 295 | @fa-var-info-circle: "\f05a"; 296 | @fa-var-inr: "\f156"; 297 | @fa-var-instagram: "\f16d"; 298 | @fa-var-institution: "\f19c"; 299 | @fa-var-ioxhost: "\f208"; 300 | @fa-var-italic: "\f033"; 301 | @fa-var-joomla: "\f1aa"; 302 | @fa-var-jpy: "\f157"; 303 | @fa-var-jsfiddle: "\f1cc"; 304 | @fa-var-key: "\f084"; 305 | @fa-var-keyboard-o: "\f11c"; 306 | @fa-var-krw: "\f159"; 307 | @fa-var-language: "\f1ab"; 308 | @fa-var-laptop: "\f109"; 309 | @fa-var-lastfm: "\f202"; 310 | @fa-var-lastfm-square: "\f203"; 311 | @fa-var-leaf: "\f06c"; 312 | @fa-var-leanpub: "\f212"; 313 | @fa-var-legal: "\f0e3"; 314 | @fa-var-lemon-o: "\f094"; 315 | @fa-var-level-down: "\f149"; 316 | @fa-var-level-up: "\f148"; 317 | @fa-var-life-bouy: "\f1cd"; 318 | @fa-var-life-buoy: "\f1cd"; 319 | @fa-var-life-ring: "\f1cd"; 320 | @fa-var-life-saver: "\f1cd"; 321 | @fa-var-lightbulb-o: "\f0eb"; 322 | @fa-var-line-chart: "\f201"; 323 | @fa-var-link: "\f0c1"; 324 | @fa-var-linkedin: "\f0e1"; 325 | @fa-var-linkedin-square: "\f08c"; 326 | @fa-var-linux: "\f17c"; 327 | @fa-var-list: "\f03a"; 328 | @fa-var-list-alt: "\f022"; 329 | @fa-var-list-ol: "\f0cb"; 330 | @fa-var-list-ul: "\f0ca"; 331 | @fa-var-location-arrow: "\f124"; 332 | @fa-var-lock: "\f023"; 333 | @fa-var-long-arrow-down: "\f175"; 334 | @fa-var-long-arrow-left: "\f177"; 335 | @fa-var-long-arrow-right: "\f178"; 336 | @fa-var-long-arrow-up: "\f176"; 337 | @fa-var-magic: "\f0d0"; 338 | @fa-var-magnet: "\f076"; 339 | @fa-var-mail-forward: "\f064"; 340 | @fa-var-mail-reply: "\f112"; 341 | @fa-var-mail-reply-all: "\f122"; 342 | @fa-var-male: "\f183"; 343 | @fa-var-map-marker: "\f041"; 344 | @fa-var-mars: "\f222"; 345 | @fa-var-mars-double: "\f227"; 346 | @fa-var-mars-stroke: "\f229"; 347 | @fa-var-mars-stroke-h: "\f22b"; 348 | @fa-var-mars-stroke-v: "\f22a"; 349 | @fa-var-maxcdn: "\f136"; 350 | @fa-var-meanpath: "\f20c"; 351 | @fa-var-medium: "\f23a"; 352 | @fa-var-medkit: "\f0fa"; 353 | @fa-var-meh-o: "\f11a"; 354 | @fa-var-mercury: "\f223"; 355 | @fa-var-microphone: "\f130"; 356 | @fa-var-microphone-slash: "\f131"; 357 | @fa-var-minus: "\f068"; 358 | @fa-var-minus-circle: "\f056"; 359 | @fa-var-minus-square: "\f146"; 360 | @fa-var-minus-square-o: "\f147"; 361 | @fa-var-mobile: "\f10b"; 362 | @fa-var-mobile-phone: "\f10b"; 363 | @fa-var-money: "\f0d6"; 364 | @fa-var-moon-o: "\f186"; 365 | @fa-var-mortar-board: "\f19d"; 366 | @fa-var-motorcycle: "\f21c"; 367 | @fa-var-music: "\f001"; 368 | @fa-var-navicon: "\f0c9"; 369 | @fa-var-neuter: "\f22c"; 370 | @fa-var-newspaper-o: "\f1ea"; 371 | @fa-var-openid: "\f19b"; 372 | @fa-var-outdent: "\f03b"; 373 | @fa-var-pagelines: "\f18c"; 374 | @fa-var-paint-brush: "\f1fc"; 375 | @fa-var-paper-plane: "\f1d8"; 376 | @fa-var-paper-plane-o: "\f1d9"; 377 | @fa-var-paperclip: "\f0c6"; 378 | @fa-var-paragraph: "\f1dd"; 379 | @fa-var-paste: "\f0ea"; 380 | @fa-var-pause: "\f04c"; 381 | @fa-var-paw: "\f1b0"; 382 | @fa-var-paypal: "\f1ed"; 383 | @fa-var-pencil: "\f040"; 384 | @fa-var-pencil-square: "\f14b"; 385 | @fa-var-pencil-square-o: "\f044"; 386 | @fa-var-phone: "\f095"; 387 | @fa-var-phone-square: "\f098"; 388 | @fa-var-photo: "\f03e"; 389 | @fa-var-picture-o: "\f03e"; 390 | @fa-var-pie-chart: "\f200"; 391 | @fa-var-pied-piper: "\f1a7"; 392 | @fa-var-pied-piper-alt: "\f1a8"; 393 | @fa-var-pinterest: "\f0d2"; 394 | @fa-var-pinterest-p: "\f231"; 395 | @fa-var-pinterest-square: "\f0d3"; 396 | @fa-var-plane: "\f072"; 397 | @fa-var-play: "\f04b"; 398 | @fa-var-play-circle: "\f144"; 399 | @fa-var-play-circle-o: "\f01d"; 400 | @fa-var-plug: "\f1e6"; 401 | @fa-var-plus: "\f067"; 402 | @fa-var-plus-circle: "\f055"; 403 | @fa-var-plus-square: "\f0fe"; 404 | @fa-var-plus-square-o: "\f196"; 405 | @fa-var-power-off: "\f011"; 406 | @fa-var-print: "\f02f"; 407 | @fa-var-puzzle-piece: "\f12e"; 408 | @fa-var-qq: "\f1d6"; 409 | @fa-var-qrcode: "\f029"; 410 | @fa-var-question: "\f128"; 411 | @fa-var-question-circle: "\f059"; 412 | @fa-var-quote-left: "\f10d"; 413 | @fa-var-quote-right: "\f10e"; 414 | @fa-var-ra: "\f1d0"; 415 | @fa-var-random: "\f074"; 416 | @fa-var-rebel: "\f1d0"; 417 | @fa-var-recycle: "\f1b8"; 418 | @fa-var-reddit: "\f1a1"; 419 | @fa-var-reddit-square: "\f1a2"; 420 | @fa-var-refresh: "\f021"; 421 | @fa-var-remove: "\f00d"; 422 | @fa-var-renren: "\f18b"; 423 | @fa-var-reorder: "\f0c9"; 424 | @fa-var-repeat: "\f01e"; 425 | @fa-var-reply: "\f112"; 426 | @fa-var-reply-all: "\f122"; 427 | @fa-var-retweet: "\f079"; 428 | @fa-var-rmb: "\f157"; 429 | @fa-var-road: "\f018"; 430 | @fa-var-rocket: "\f135"; 431 | @fa-var-rotate-left: "\f0e2"; 432 | @fa-var-rotate-right: "\f01e"; 433 | @fa-var-rouble: "\f158"; 434 | @fa-var-rss: "\f09e"; 435 | @fa-var-rss-square: "\f143"; 436 | @fa-var-rub: "\f158"; 437 | @fa-var-ruble: "\f158"; 438 | @fa-var-rupee: "\f156"; 439 | @fa-var-save: "\f0c7"; 440 | @fa-var-scissors: "\f0c4"; 441 | @fa-var-search: "\f002"; 442 | @fa-var-search-minus: "\f010"; 443 | @fa-var-search-plus: "\f00e"; 444 | @fa-var-sellsy: "\f213"; 445 | @fa-var-send: "\f1d8"; 446 | @fa-var-send-o: "\f1d9"; 447 | @fa-var-server: "\f233"; 448 | @fa-var-share: "\f064"; 449 | @fa-var-share-alt: "\f1e0"; 450 | @fa-var-share-alt-square: "\f1e1"; 451 | @fa-var-share-square: "\f14d"; 452 | @fa-var-share-square-o: "\f045"; 453 | @fa-var-shekel: "\f20b"; 454 | @fa-var-sheqel: "\f20b"; 455 | @fa-var-shield: "\f132"; 456 | @fa-var-ship: "\f21a"; 457 | @fa-var-shirtsinbulk: "\f214"; 458 | @fa-var-shopping-cart: "\f07a"; 459 | @fa-var-sign-in: "\f090"; 460 | @fa-var-sign-out: "\f08b"; 461 | @fa-var-signal: "\f012"; 462 | @fa-var-simplybuilt: "\f215"; 463 | @fa-var-sitemap: "\f0e8"; 464 | @fa-var-skyatlas: "\f216"; 465 | @fa-var-skype: "\f17e"; 466 | @fa-var-slack: "\f198"; 467 | @fa-var-sliders: "\f1de"; 468 | @fa-var-slideshare: "\f1e7"; 469 | @fa-var-smile-o: "\f118"; 470 | @fa-var-soccer-ball-o: "\f1e3"; 471 | @fa-var-sort: "\f0dc"; 472 | @fa-var-sort-alpha-asc: "\f15d"; 473 | @fa-var-sort-alpha-desc: "\f15e"; 474 | @fa-var-sort-amount-asc: "\f160"; 475 | @fa-var-sort-amount-desc: "\f161"; 476 | @fa-var-sort-asc: "\f0de"; 477 | @fa-var-sort-desc: "\f0dd"; 478 | @fa-var-sort-down: "\f0dd"; 479 | @fa-var-sort-numeric-asc: "\f162"; 480 | @fa-var-sort-numeric-desc: "\f163"; 481 | @fa-var-sort-up: "\f0de"; 482 | @fa-var-soundcloud: "\f1be"; 483 | @fa-var-space-shuttle: "\f197"; 484 | @fa-var-spinner: "\f110"; 485 | @fa-var-spoon: "\f1b1"; 486 | @fa-var-spotify: "\f1bc"; 487 | @fa-var-square: "\f0c8"; 488 | @fa-var-square-o: "\f096"; 489 | @fa-var-stack-exchange: "\f18d"; 490 | @fa-var-stack-overflow: "\f16c"; 491 | @fa-var-star: "\f005"; 492 | @fa-var-star-half: "\f089"; 493 | @fa-var-star-half-empty: "\f123"; 494 | @fa-var-star-half-full: "\f123"; 495 | @fa-var-star-half-o: "\f123"; 496 | @fa-var-star-o: "\f006"; 497 | @fa-var-steam: "\f1b6"; 498 | @fa-var-steam-square: "\f1b7"; 499 | @fa-var-step-backward: "\f048"; 500 | @fa-var-step-forward: "\f051"; 501 | @fa-var-stethoscope: "\f0f1"; 502 | @fa-var-stop: "\f04d"; 503 | @fa-var-street-view: "\f21d"; 504 | @fa-var-strikethrough: "\f0cc"; 505 | @fa-var-stumbleupon: "\f1a4"; 506 | @fa-var-stumbleupon-circle: "\f1a3"; 507 | @fa-var-subscript: "\f12c"; 508 | @fa-var-subway: "\f239"; 509 | @fa-var-suitcase: "\f0f2"; 510 | @fa-var-sun-o: "\f185"; 511 | @fa-var-superscript: "\f12b"; 512 | @fa-var-support: "\f1cd"; 513 | @fa-var-table: "\f0ce"; 514 | @fa-var-tablet: "\f10a"; 515 | @fa-var-tachometer: "\f0e4"; 516 | @fa-var-tag: "\f02b"; 517 | @fa-var-tags: "\f02c"; 518 | @fa-var-tasks: "\f0ae"; 519 | @fa-var-taxi: "\f1ba"; 520 | @fa-var-tencent-weibo: "\f1d5"; 521 | @fa-var-terminal: "\f120"; 522 | @fa-var-text-height: "\f034"; 523 | @fa-var-text-width: "\f035"; 524 | @fa-var-th: "\f00a"; 525 | @fa-var-th-large: "\f009"; 526 | @fa-var-th-list: "\f00b"; 527 | @fa-var-thumb-tack: "\f08d"; 528 | @fa-var-thumbs-down: "\f165"; 529 | @fa-var-thumbs-o-down: "\f088"; 530 | @fa-var-thumbs-o-up: "\f087"; 531 | @fa-var-thumbs-up: "\f164"; 532 | @fa-var-ticket: "\f145"; 533 | @fa-var-times: "\f00d"; 534 | @fa-var-times-circle: "\f057"; 535 | @fa-var-times-circle-o: "\f05c"; 536 | @fa-var-tint: "\f043"; 537 | @fa-var-toggle-down: "\f150"; 538 | @fa-var-toggle-left: "\f191"; 539 | @fa-var-toggle-off: "\f204"; 540 | @fa-var-toggle-on: "\f205"; 541 | @fa-var-toggle-right: "\f152"; 542 | @fa-var-toggle-up: "\f151"; 543 | @fa-var-train: "\f238"; 544 | @fa-var-transgender: "\f224"; 545 | @fa-var-transgender-alt: "\f225"; 546 | @fa-var-trash: "\f1f8"; 547 | @fa-var-trash-o: "\f014"; 548 | @fa-var-tree: "\f1bb"; 549 | @fa-var-trello: "\f181"; 550 | @fa-var-trophy: "\f091"; 551 | @fa-var-truck: "\f0d1"; 552 | @fa-var-try: "\f195"; 553 | @fa-var-tty: "\f1e4"; 554 | @fa-var-tumblr: "\f173"; 555 | @fa-var-tumblr-square: "\f174"; 556 | @fa-var-turkish-lira: "\f195"; 557 | @fa-var-twitch: "\f1e8"; 558 | @fa-var-twitter: "\f099"; 559 | @fa-var-twitter-square: "\f081"; 560 | @fa-var-umbrella: "\f0e9"; 561 | @fa-var-underline: "\f0cd"; 562 | @fa-var-undo: "\f0e2"; 563 | @fa-var-university: "\f19c"; 564 | @fa-var-unlink: "\f127"; 565 | @fa-var-unlock: "\f09c"; 566 | @fa-var-unlock-alt: "\f13e"; 567 | @fa-var-unsorted: "\f0dc"; 568 | @fa-var-upload: "\f093"; 569 | @fa-var-usd: "\f155"; 570 | @fa-var-user: "\f007"; 571 | @fa-var-user-md: "\f0f0"; 572 | @fa-var-user-plus: "\f234"; 573 | @fa-var-user-secret: "\f21b"; 574 | @fa-var-user-times: "\f235"; 575 | @fa-var-users: "\f0c0"; 576 | @fa-var-venus: "\f221"; 577 | @fa-var-venus-double: "\f226"; 578 | @fa-var-venus-mars: "\f228"; 579 | @fa-var-viacoin: "\f237"; 580 | @fa-var-video-camera: "\f03d"; 581 | @fa-var-vimeo-square: "\f194"; 582 | @fa-var-vine: "\f1ca"; 583 | @fa-var-vk: "\f189"; 584 | @fa-var-volume-down: "\f027"; 585 | @fa-var-volume-off: "\f026"; 586 | @fa-var-volume-up: "\f028"; 587 | @fa-var-warning: "\f071"; 588 | @fa-var-wechat: "\f1d7"; 589 | @fa-var-weibo: "\f18a"; 590 | @fa-var-weixin: "\f1d7"; 591 | @fa-var-whatsapp: "\f232"; 592 | @fa-var-wheelchair: "\f193"; 593 | @fa-var-wifi: "\f1eb"; 594 | @fa-var-windows: "\f17a"; 595 | @fa-var-won: "\f159"; 596 | @fa-var-wordpress: "\f19a"; 597 | @fa-var-wrench: "\f0ad"; 598 | @fa-var-xing: "\f168"; 599 | @fa-var-xing-square: "\f169"; 600 | @fa-var-yahoo: "\f19e"; 601 | @fa-var-yelp: "\f1e9"; 602 | @fa-var-yen: "\f157"; 603 | @fa-var-youtube: "\f167"; 604 | @fa-var-youtube-play: "\f16a"; 605 | @fa-var-youtube-square: "\f166"; 606 | 607 | -------------------------------------------------------------------------------- /font-awesome-4.3.0/scss/_animated.scss: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .#{$fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /font-awesome-4.3.0/scss/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em $fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .pull-right { float: right; } 11 | .pull-left { float: left; } 12 | 13 | .#{$fa-css-prefix} { 14 | &.pull-left { margin-right: .3em; } 15 | &.pull-right { margin-left: .3em; } 16 | } 17 | -------------------------------------------------------------------------------- /font-awesome-4.3.0/scss/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/1 FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | transform: translate(0, 0); // ensures no half-pixel rendering in firefox 12 | 13 | } 14 | -------------------------------------------------------------------------------- /font-awesome-4.3.0/scss/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /font-awesome-4.3.0/scss/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /font-awesome-4.3.0/scss/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /font-awesome-4.3.0/scss/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | @mixin fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/1 FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | transform: translate(0, 0); // ensures no half-pixel rendering in firefox 12 | 13 | } 14 | 15 | @mixin fa-icon-rotate($degrees, $rotation) { 16 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}); 17 | -webkit-transform: rotate($degrees); 18 | -ms-transform: rotate($degrees); 19 | transform: rotate($degrees); 20 | } 21 | 22 | @mixin fa-icon-flip($horiz, $vert, $rotation) { 23 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}); 24 | -webkit-transform: scale($horiz, $vert); 25 | -ms-transform: scale($horiz, $vert); 26 | transform: scale($horiz, $vert); 27 | } 28 | -------------------------------------------------------------------------------- /font-awesome-4.3.0/scss/_path.scss: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); 7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), 8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), 9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), 10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), 11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /font-awesome-4.3.0/scss/_rotated-flipped.scss: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } 5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } 6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } 7 | 8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } 9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .#{$fa-css-prefix}-rotate-90, 15 | :root .#{$fa-css-prefix}-rotate-180, 16 | :root .#{$fa-css-prefix}-rotate-270, 17 | :root .#{$fa-css-prefix}-flip-horizontal, 18 | :root .#{$fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /font-awesome-4.3.0/scss/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; } 21 | -------------------------------------------------------------------------------- /font-awesome-4.3.0/scss/_variables.scss: -------------------------------------------------------------------------------- 1 | // Variables 2 | // -------------------------- 3 | 4 | $fa-font-path: "../fonts" !default; 5 | $fa-font-size-base: 14px !default; 6 | //$fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.3.0/fonts" !default; // for referencing Bootstrap CDN font files directly 7 | $fa-css-prefix: fa !default; 8 | $fa-version: "4.3.0" !default; 9 | $fa-border-color: #eee !default; 10 | $fa-inverse: #fff !default; 11 | $fa-li-width: (30em / 14) !default; 12 | 13 | $fa-var-adjust: "\f042"; 14 | $fa-var-adn: "\f170"; 15 | $fa-var-align-center: "\f037"; 16 | $fa-var-align-justify: "\f039"; 17 | $fa-var-align-left: "\f036"; 18 | $fa-var-align-right: "\f038"; 19 | $fa-var-ambulance: "\f0f9"; 20 | $fa-var-anchor: "\f13d"; 21 | $fa-var-android: "\f17b"; 22 | $fa-var-angellist: "\f209"; 23 | $fa-var-angle-double-down: "\f103"; 24 | $fa-var-angle-double-left: "\f100"; 25 | $fa-var-angle-double-right: "\f101"; 26 | $fa-var-angle-double-up: "\f102"; 27 | $fa-var-angle-down: "\f107"; 28 | $fa-var-angle-left: "\f104"; 29 | $fa-var-angle-right: "\f105"; 30 | $fa-var-angle-up: "\f106"; 31 | $fa-var-apple: "\f179"; 32 | $fa-var-archive: "\f187"; 33 | $fa-var-area-chart: "\f1fe"; 34 | $fa-var-arrow-circle-down: "\f0ab"; 35 | $fa-var-arrow-circle-left: "\f0a8"; 36 | $fa-var-arrow-circle-o-down: "\f01a"; 37 | $fa-var-arrow-circle-o-left: "\f190"; 38 | $fa-var-arrow-circle-o-right: "\f18e"; 39 | $fa-var-arrow-circle-o-up: "\f01b"; 40 | $fa-var-arrow-circle-right: "\f0a9"; 41 | $fa-var-arrow-circle-up: "\f0aa"; 42 | $fa-var-arrow-down: "\f063"; 43 | $fa-var-arrow-left: "\f060"; 44 | $fa-var-arrow-right: "\f061"; 45 | $fa-var-arrow-up: "\f062"; 46 | $fa-var-arrows: "\f047"; 47 | $fa-var-arrows-alt: "\f0b2"; 48 | $fa-var-arrows-h: "\f07e"; 49 | $fa-var-arrows-v: "\f07d"; 50 | $fa-var-asterisk: "\f069"; 51 | $fa-var-at: "\f1fa"; 52 | $fa-var-automobile: "\f1b9"; 53 | $fa-var-backward: "\f04a"; 54 | $fa-var-ban: "\f05e"; 55 | $fa-var-bank: "\f19c"; 56 | $fa-var-bar-chart: "\f080"; 57 | $fa-var-bar-chart-o: "\f080"; 58 | $fa-var-barcode: "\f02a"; 59 | $fa-var-bars: "\f0c9"; 60 | $fa-var-bed: "\f236"; 61 | $fa-var-beer: "\f0fc"; 62 | $fa-var-behance: "\f1b4"; 63 | $fa-var-behance-square: "\f1b5"; 64 | $fa-var-bell: "\f0f3"; 65 | $fa-var-bell-o: "\f0a2"; 66 | $fa-var-bell-slash: "\f1f6"; 67 | $fa-var-bell-slash-o: "\f1f7"; 68 | $fa-var-bicycle: "\f206"; 69 | $fa-var-binoculars: "\f1e5"; 70 | $fa-var-birthday-cake: "\f1fd"; 71 | $fa-var-bitbucket: "\f171"; 72 | $fa-var-bitbucket-square: "\f172"; 73 | $fa-var-bitcoin: "\f15a"; 74 | $fa-var-bold: "\f032"; 75 | $fa-var-bolt: "\f0e7"; 76 | $fa-var-bomb: "\f1e2"; 77 | $fa-var-book: "\f02d"; 78 | $fa-var-bookmark: "\f02e"; 79 | $fa-var-bookmark-o: "\f097"; 80 | $fa-var-briefcase: "\f0b1"; 81 | $fa-var-btc: "\f15a"; 82 | $fa-var-bug: "\f188"; 83 | $fa-var-building: "\f1ad"; 84 | $fa-var-building-o: "\f0f7"; 85 | $fa-var-bullhorn: "\f0a1"; 86 | $fa-var-bullseye: "\f140"; 87 | $fa-var-bus: "\f207"; 88 | $fa-var-buysellads: "\f20d"; 89 | $fa-var-cab: "\f1ba"; 90 | $fa-var-calculator: "\f1ec"; 91 | $fa-var-calendar: "\f073"; 92 | $fa-var-calendar-o: "\f133"; 93 | $fa-var-camera: "\f030"; 94 | $fa-var-camera-retro: "\f083"; 95 | $fa-var-car: "\f1b9"; 96 | $fa-var-caret-down: "\f0d7"; 97 | $fa-var-caret-left: "\f0d9"; 98 | $fa-var-caret-right: "\f0da"; 99 | $fa-var-caret-square-o-down: "\f150"; 100 | $fa-var-caret-square-o-left: "\f191"; 101 | $fa-var-caret-square-o-right: "\f152"; 102 | $fa-var-caret-square-o-up: "\f151"; 103 | $fa-var-caret-up: "\f0d8"; 104 | $fa-var-cart-arrow-down: "\f218"; 105 | $fa-var-cart-plus: "\f217"; 106 | $fa-var-cc: "\f20a"; 107 | $fa-var-cc-amex: "\f1f3"; 108 | $fa-var-cc-discover: "\f1f2"; 109 | $fa-var-cc-mastercard: "\f1f1"; 110 | $fa-var-cc-paypal: "\f1f4"; 111 | $fa-var-cc-stripe: "\f1f5"; 112 | $fa-var-cc-visa: "\f1f0"; 113 | $fa-var-certificate: "\f0a3"; 114 | $fa-var-chain: "\f0c1"; 115 | $fa-var-chain-broken: "\f127"; 116 | $fa-var-check: "\f00c"; 117 | $fa-var-check-circle: "\f058"; 118 | $fa-var-check-circle-o: "\f05d"; 119 | $fa-var-check-square: "\f14a"; 120 | $fa-var-check-square-o: "\f046"; 121 | $fa-var-chevron-circle-down: "\f13a"; 122 | $fa-var-chevron-circle-left: "\f137"; 123 | $fa-var-chevron-circle-right: "\f138"; 124 | $fa-var-chevron-circle-up: "\f139"; 125 | $fa-var-chevron-down: "\f078"; 126 | $fa-var-chevron-left: "\f053"; 127 | $fa-var-chevron-right: "\f054"; 128 | $fa-var-chevron-up: "\f077"; 129 | $fa-var-child: "\f1ae"; 130 | $fa-var-circle: "\f111"; 131 | $fa-var-circle-o: "\f10c"; 132 | $fa-var-circle-o-notch: "\f1ce"; 133 | $fa-var-circle-thin: "\f1db"; 134 | $fa-var-clipboard: "\f0ea"; 135 | $fa-var-clock-o: "\f017"; 136 | $fa-var-close: "\f00d"; 137 | $fa-var-cloud: "\f0c2"; 138 | $fa-var-cloud-download: "\f0ed"; 139 | $fa-var-cloud-upload: "\f0ee"; 140 | $fa-var-cny: "\f157"; 141 | $fa-var-code: "\f121"; 142 | $fa-var-code-fork: "\f126"; 143 | $fa-var-codepen: "\f1cb"; 144 | $fa-var-coffee: "\f0f4"; 145 | $fa-var-cog: "\f013"; 146 | $fa-var-cogs: "\f085"; 147 | $fa-var-columns: "\f0db"; 148 | $fa-var-comment: "\f075"; 149 | $fa-var-comment-o: "\f0e5"; 150 | $fa-var-comments: "\f086"; 151 | $fa-var-comments-o: "\f0e6"; 152 | $fa-var-compass: "\f14e"; 153 | $fa-var-compress: "\f066"; 154 | $fa-var-connectdevelop: "\f20e"; 155 | $fa-var-copy: "\f0c5"; 156 | $fa-var-copyright: "\f1f9"; 157 | $fa-var-credit-card: "\f09d"; 158 | $fa-var-crop: "\f125"; 159 | $fa-var-crosshairs: "\f05b"; 160 | $fa-var-css3: "\f13c"; 161 | $fa-var-cube: "\f1b2"; 162 | $fa-var-cubes: "\f1b3"; 163 | $fa-var-cut: "\f0c4"; 164 | $fa-var-cutlery: "\f0f5"; 165 | $fa-var-dashboard: "\f0e4"; 166 | $fa-var-dashcube: "\f210"; 167 | $fa-var-database: "\f1c0"; 168 | $fa-var-dedent: "\f03b"; 169 | $fa-var-delicious: "\f1a5"; 170 | $fa-var-desktop: "\f108"; 171 | $fa-var-deviantart: "\f1bd"; 172 | $fa-var-diamond: "\f219"; 173 | $fa-var-digg: "\f1a6"; 174 | $fa-var-dollar: "\f155"; 175 | $fa-var-dot-circle-o: "\f192"; 176 | $fa-var-download: "\f019"; 177 | $fa-var-dribbble: "\f17d"; 178 | $fa-var-dropbox: "\f16b"; 179 | $fa-var-drupal: "\f1a9"; 180 | $fa-var-edit: "\f044"; 181 | $fa-var-eject: "\f052"; 182 | $fa-var-ellipsis-h: "\f141"; 183 | $fa-var-ellipsis-v: "\f142"; 184 | $fa-var-empire: "\f1d1"; 185 | $fa-var-envelope: "\f0e0"; 186 | $fa-var-envelope-o: "\f003"; 187 | $fa-var-envelope-square: "\f199"; 188 | $fa-var-eraser: "\f12d"; 189 | $fa-var-eur: "\f153"; 190 | $fa-var-euro: "\f153"; 191 | $fa-var-exchange: "\f0ec"; 192 | $fa-var-exclamation: "\f12a"; 193 | $fa-var-exclamation-circle: "\f06a"; 194 | $fa-var-exclamation-triangle: "\f071"; 195 | $fa-var-expand: "\f065"; 196 | $fa-var-external-link: "\f08e"; 197 | $fa-var-external-link-square: "\f14c"; 198 | $fa-var-eye: "\f06e"; 199 | $fa-var-eye-slash: "\f070"; 200 | $fa-var-eyedropper: "\f1fb"; 201 | $fa-var-facebook: "\f09a"; 202 | $fa-var-facebook-f: "\f09a"; 203 | $fa-var-facebook-official: "\f230"; 204 | $fa-var-facebook-square: "\f082"; 205 | $fa-var-fast-backward: "\f049"; 206 | $fa-var-fast-forward: "\f050"; 207 | $fa-var-fax: "\f1ac"; 208 | $fa-var-female: "\f182"; 209 | $fa-var-fighter-jet: "\f0fb"; 210 | $fa-var-file: "\f15b"; 211 | $fa-var-file-archive-o: "\f1c6"; 212 | $fa-var-file-audio-o: "\f1c7"; 213 | $fa-var-file-code-o: "\f1c9"; 214 | $fa-var-file-excel-o: "\f1c3"; 215 | $fa-var-file-image-o: "\f1c5"; 216 | $fa-var-file-movie-o: "\f1c8"; 217 | $fa-var-file-o: "\f016"; 218 | $fa-var-file-pdf-o: "\f1c1"; 219 | $fa-var-file-photo-o: "\f1c5"; 220 | $fa-var-file-picture-o: "\f1c5"; 221 | $fa-var-file-powerpoint-o: "\f1c4"; 222 | $fa-var-file-sound-o: "\f1c7"; 223 | $fa-var-file-text: "\f15c"; 224 | $fa-var-file-text-o: "\f0f6"; 225 | $fa-var-file-video-o: "\f1c8"; 226 | $fa-var-file-word-o: "\f1c2"; 227 | $fa-var-file-zip-o: "\f1c6"; 228 | $fa-var-files-o: "\f0c5"; 229 | $fa-var-film: "\f008"; 230 | $fa-var-filter: "\f0b0"; 231 | $fa-var-fire: "\f06d"; 232 | $fa-var-fire-extinguisher: "\f134"; 233 | $fa-var-flag: "\f024"; 234 | $fa-var-flag-checkered: "\f11e"; 235 | $fa-var-flag-o: "\f11d"; 236 | $fa-var-flash: "\f0e7"; 237 | $fa-var-flask: "\f0c3"; 238 | $fa-var-flickr: "\f16e"; 239 | $fa-var-floppy-o: "\f0c7"; 240 | $fa-var-folder: "\f07b"; 241 | $fa-var-folder-o: "\f114"; 242 | $fa-var-folder-open: "\f07c"; 243 | $fa-var-folder-open-o: "\f115"; 244 | $fa-var-font: "\f031"; 245 | $fa-var-forumbee: "\f211"; 246 | $fa-var-forward: "\f04e"; 247 | $fa-var-foursquare: "\f180"; 248 | $fa-var-frown-o: "\f119"; 249 | $fa-var-futbol-o: "\f1e3"; 250 | $fa-var-gamepad: "\f11b"; 251 | $fa-var-gavel: "\f0e3"; 252 | $fa-var-gbp: "\f154"; 253 | $fa-var-ge: "\f1d1"; 254 | $fa-var-gear: "\f013"; 255 | $fa-var-gears: "\f085"; 256 | $fa-var-genderless: "\f1db"; 257 | $fa-var-gift: "\f06b"; 258 | $fa-var-git: "\f1d3"; 259 | $fa-var-git-square: "\f1d2"; 260 | $fa-var-github: "\f09b"; 261 | $fa-var-github-alt: "\f113"; 262 | $fa-var-github-square: "\f092"; 263 | $fa-var-gittip: "\f184"; 264 | $fa-var-glass: "\f000"; 265 | $fa-var-globe: "\f0ac"; 266 | $fa-var-google: "\f1a0"; 267 | $fa-var-google-plus: "\f0d5"; 268 | $fa-var-google-plus-square: "\f0d4"; 269 | $fa-var-google-wallet: "\f1ee"; 270 | $fa-var-graduation-cap: "\f19d"; 271 | $fa-var-gratipay: "\f184"; 272 | $fa-var-group: "\f0c0"; 273 | $fa-var-h-square: "\f0fd"; 274 | $fa-var-hacker-news: "\f1d4"; 275 | $fa-var-hand-o-down: "\f0a7"; 276 | $fa-var-hand-o-left: "\f0a5"; 277 | $fa-var-hand-o-right: "\f0a4"; 278 | $fa-var-hand-o-up: "\f0a6"; 279 | $fa-var-hdd-o: "\f0a0"; 280 | $fa-var-header: "\f1dc"; 281 | $fa-var-headphones: "\f025"; 282 | $fa-var-heart: "\f004"; 283 | $fa-var-heart-o: "\f08a"; 284 | $fa-var-heartbeat: "\f21e"; 285 | $fa-var-history: "\f1da"; 286 | $fa-var-home: "\f015"; 287 | $fa-var-hospital-o: "\f0f8"; 288 | $fa-var-hotel: "\f236"; 289 | $fa-var-html5: "\f13b"; 290 | $fa-var-ils: "\f20b"; 291 | $fa-var-image: "\f03e"; 292 | $fa-var-inbox: "\f01c"; 293 | $fa-var-indent: "\f03c"; 294 | $fa-var-info: "\f129"; 295 | $fa-var-info-circle: "\f05a"; 296 | $fa-var-inr: "\f156"; 297 | $fa-var-instagram: "\f16d"; 298 | $fa-var-institution: "\f19c"; 299 | $fa-var-ioxhost: "\f208"; 300 | $fa-var-italic: "\f033"; 301 | $fa-var-joomla: "\f1aa"; 302 | $fa-var-jpy: "\f157"; 303 | $fa-var-jsfiddle: "\f1cc"; 304 | $fa-var-key: "\f084"; 305 | $fa-var-keyboard-o: "\f11c"; 306 | $fa-var-krw: "\f159"; 307 | $fa-var-language: "\f1ab"; 308 | $fa-var-laptop: "\f109"; 309 | $fa-var-lastfm: "\f202"; 310 | $fa-var-lastfm-square: "\f203"; 311 | $fa-var-leaf: "\f06c"; 312 | $fa-var-leanpub: "\f212"; 313 | $fa-var-legal: "\f0e3"; 314 | $fa-var-lemon-o: "\f094"; 315 | $fa-var-level-down: "\f149"; 316 | $fa-var-level-up: "\f148"; 317 | $fa-var-life-bouy: "\f1cd"; 318 | $fa-var-life-buoy: "\f1cd"; 319 | $fa-var-life-ring: "\f1cd"; 320 | $fa-var-life-saver: "\f1cd"; 321 | $fa-var-lightbulb-o: "\f0eb"; 322 | $fa-var-line-chart: "\f201"; 323 | $fa-var-link: "\f0c1"; 324 | $fa-var-linkedin: "\f0e1"; 325 | $fa-var-linkedin-square: "\f08c"; 326 | $fa-var-linux: "\f17c"; 327 | $fa-var-list: "\f03a"; 328 | $fa-var-list-alt: "\f022"; 329 | $fa-var-list-ol: "\f0cb"; 330 | $fa-var-list-ul: "\f0ca"; 331 | $fa-var-location-arrow: "\f124"; 332 | $fa-var-lock: "\f023"; 333 | $fa-var-long-arrow-down: "\f175"; 334 | $fa-var-long-arrow-left: "\f177"; 335 | $fa-var-long-arrow-right: "\f178"; 336 | $fa-var-long-arrow-up: "\f176"; 337 | $fa-var-magic: "\f0d0"; 338 | $fa-var-magnet: "\f076"; 339 | $fa-var-mail-forward: "\f064"; 340 | $fa-var-mail-reply: "\f112"; 341 | $fa-var-mail-reply-all: "\f122"; 342 | $fa-var-male: "\f183"; 343 | $fa-var-map-marker: "\f041"; 344 | $fa-var-mars: "\f222"; 345 | $fa-var-mars-double: "\f227"; 346 | $fa-var-mars-stroke: "\f229"; 347 | $fa-var-mars-stroke-h: "\f22b"; 348 | $fa-var-mars-stroke-v: "\f22a"; 349 | $fa-var-maxcdn: "\f136"; 350 | $fa-var-meanpath: "\f20c"; 351 | $fa-var-medium: "\f23a"; 352 | $fa-var-medkit: "\f0fa"; 353 | $fa-var-meh-o: "\f11a"; 354 | $fa-var-mercury: "\f223"; 355 | $fa-var-microphone: "\f130"; 356 | $fa-var-microphone-slash: "\f131"; 357 | $fa-var-minus: "\f068"; 358 | $fa-var-minus-circle: "\f056"; 359 | $fa-var-minus-square: "\f146"; 360 | $fa-var-minus-square-o: "\f147"; 361 | $fa-var-mobile: "\f10b"; 362 | $fa-var-mobile-phone: "\f10b"; 363 | $fa-var-money: "\f0d6"; 364 | $fa-var-moon-o: "\f186"; 365 | $fa-var-mortar-board: "\f19d"; 366 | $fa-var-motorcycle: "\f21c"; 367 | $fa-var-music: "\f001"; 368 | $fa-var-navicon: "\f0c9"; 369 | $fa-var-neuter: "\f22c"; 370 | $fa-var-newspaper-o: "\f1ea"; 371 | $fa-var-openid: "\f19b"; 372 | $fa-var-outdent: "\f03b"; 373 | $fa-var-pagelines: "\f18c"; 374 | $fa-var-paint-brush: "\f1fc"; 375 | $fa-var-paper-plane: "\f1d8"; 376 | $fa-var-paper-plane-o: "\f1d9"; 377 | $fa-var-paperclip: "\f0c6"; 378 | $fa-var-paragraph: "\f1dd"; 379 | $fa-var-paste: "\f0ea"; 380 | $fa-var-pause: "\f04c"; 381 | $fa-var-paw: "\f1b0"; 382 | $fa-var-paypal: "\f1ed"; 383 | $fa-var-pencil: "\f040"; 384 | $fa-var-pencil-square: "\f14b"; 385 | $fa-var-pencil-square-o: "\f044"; 386 | $fa-var-phone: "\f095"; 387 | $fa-var-phone-square: "\f098"; 388 | $fa-var-photo: "\f03e"; 389 | $fa-var-picture-o: "\f03e"; 390 | $fa-var-pie-chart: "\f200"; 391 | $fa-var-pied-piper: "\f1a7"; 392 | $fa-var-pied-piper-alt: "\f1a8"; 393 | $fa-var-pinterest: "\f0d2"; 394 | $fa-var-pinterest-p: "\f231"; 395 | $fa-var-pinterest-square: "\f0d3"; 396 | $fa-var-plane: "\f072"; 397 | $fa-var-play: "\f04b"; 398 | $fa-var-play-circle: "\f144"; 399 | $fa-var-play-circle-o: "\f01d"; 400 | $fa-var-plug: "\f1e6"; 401 | $fa-var-plus: "\f067"; 402 | $fa-var-plus-circle: "\f055"; 403 | $fa-var-plus-square: "\f0fe"; 404 | $fa-var-plus-square-o: "\f196"; 405 | $fa-var-power-off: "\f011"; 406 | $fa-var-print: "\f02f"; 407 | $fa-var-puzzle-piece: "\f12e"; 408 | $fa-var-qq: "\f1d6"; 409 | $fa-var-qrcode: "\f029"; 410 | $fa-var-question: "\f128"; 411 | $fa-var-question-circle: "\f059"; 412 | $fa-var-quote-left: "\f10d"; 413 | $fa-var-quote-right: "\f10e"; 414 | $fa-var-ra: "\f1d0"; 415 | $fa-var-random: "\f074"; 416 | $fa-var-rebel: "\f1d0"; 417 | $fa-var-recycle: "\f1b8"; 418 | $fa-var-reddit: "\f1a1"; 419 | $fa-var-reddit-square: "\f1a2"; 420 | $fa-var-refresh: "\f021"; 421 | $fa-var-remove: "\f00d"; 422 | $fa-var-renren: "\f18b"; 423 | $fa-var-reorder: "\f0c9"; 424 | $fa-var-repeat: "\f01e"; 425 | $fa-var-reply: "\f112"; 426 | $fa-var-reply-all: "\f122"; 427 | $fa-var-retweet: "\f079"; 428 | $fa-var-rmb: "\f157"; 429 | $fa-var-road: "\f018"; 430 | $fa-var-rocket: "\f135"; 431 | $fa-var-rotate-left: "\f0e2"; 432 | $fa-var-rotate-right: "\f01e"; 433 | $fa-var-rouble: "\f158"; 434 | $fa-var-rss: "\f09e"; 435 | $fa-var-rss-square: "\f143"; 436 | $fa-var-rub: "\f158"; 437 | $fa-var-ruble: "\f158"; 438 | $fa-var-rupee: "\f156"; 439 | $fa-var-save: "\f0c7"; 440 | $fa-var-scissors: "\f0c4"; 441 | $fa-var-search: "\f002"; 442 | $fa-var-search-minus: "\f010"; 443 | $fa-var-search-plus: "\f00e"; 444 | $fa-var-sellsy: "\f213"; 445 | $fa-var-send: "\f1d8"; 446 | $fa-var-send-o: "\f1d9"; 447 | $fa-var-server: "\f233"; 448 | $fa-var-share: "\f064"; 449 | $fa-var-share-alt: "\f1e0"; 450 | $fa-var-share-alt-square: "\f1e1"; 451 | $fa-var-share-square: "\f14d"; 452 | $fa-var-share-square-o: "\f045"; 453 | $fa-var-shekel: "\f20b"; 454 | $fa-var-sheqel: "\f20b"; 455 | $fa-var-shield: "\f132"; 456 | $fa-var-ship: "\f21a"; 457 | $fa-var-shirtsinbulk: "\f214"; 458 | $fa-var-shopping-cart: "\f07a"; 459 | $fa-var-sign-in: "\f090"; 460 | $fa-var-sign-out: "\f08b"; 461 | $fa-var-signal: "\f012"; 462 | $fa-var-simplybuilt: "\f215"; 463 | $fa-var-sitemap: "\f0e8"; 464 | $fa-var-skyatlas: "\f216"; 465 | $fa-var-skype: "\f17e"; 466 | $fa-var-slack: "\f198"; 467 | $fa-var-sliders: "\f1de"; 468 | $fa-var-slideshare: "\f1e7"; 469 | $fa-var-smile-o: "\f118"; 470 | $fa-var-soccer-ball-o: "\f1e3"; 471 | $fa-var-sort: "\f0dc"; 472 | $fa-var-sort-alpha-asc: "\f15d"; 473 | $fa-var-sort-alpha-desc: "\f15e"; 474 | $fa-var-sort-amount-asc: "\f160"; 475 | $fa-var-sort-amount-desc: "\f161"; 476 | $fa-var-sort-asc: "\f0de"; 477 | $fa-var-sort-desc: "\f0dd"; 478 | $fa-var-sort-down: "\f0dd"; 479 | $fa-var-sort-numeric-asc: "\f162"; 480 | $fa-var-sort-numeric-desc: "\f163"; 481 | $fa-var-sort-up: "\f0de"; 482 | $fa-var-soundcloud: "\f1be"; 483 | $fa-var-space-shuttle: "\f197"; 484 | $fa-var-spinner: "\f110"; 485 | $fa-var-spoon: "\f1b1"; 486 | $fa-var-spotify: "\f1bc"; 487 | $fa-var-square: "\f0c8"; 488 | $fa-var-square-o: "\f096"; 489 | $fa-var-stack-exchange: "\f18d"; 490 | $fa-var-stack-overflow: "\f16c"; 491 | $fa-var-star: "\f005"; 492 | $fa-var-star-half: "\f089"; 493 | $fa-var-star-half-empty: "\f123"; 494 | $fa-var-star-half-full: "\f123"; 495 | $fa-var-star-half-o: "\f123"; 496 | $fa-var-star-o: "\f006"; 497 | $fa-var-steam: "\f1b6"; 498 | $fa-var-steam-square: "\f1b7"; 499 | $fa-var-step-backward: "\f048"; 500 | $fa-var-step-forward: "\f051"; 501 | $fa-var-stethoscope: "\f0f1"; 502 | $fa-var-stop: "\f04d"; 503 | $fa-var-street-view: "\f21d"; 504 | $fa-var-strikethrough: "\f0cc"; 505 | $fa-var-stumbleupon: "\f1a4"; 506 | $fa-var-stumbleupon-circle: "\f1a3"; 507 | $fa-var-subscript: "\f12c"; 508 | $fa-var-subway: "\f239"; 509 | $fa-var-suitcase: "\f0f2"; 510 | $fa-var-sun-o: "\f185"; 511 | $fa-var-superscript: "\f12b"; 512 | $fa-var-support: "\f1cd"; 513 | $fa-var-table: "\f0ce"; 514 | $fa-var-tablet: "\f10a"; 515 | $fa-var-tachometer: "\f0e4"; 516 | $fa-var-tag: "\f02b"; 517 | $fa-var-tags: "\f02c"; 518 | $fa-var-tasks: "\f0ae"; 519 | $fa-var-taxi: "\f1ba"; 520 | $fa-var-tencent-weibo: "\f1d5"; 521 | $fa-var-terminal: "\f120"; 522 | $fa-var-text-height: "\f034"; 523 | $fa-var-text-width: "\f035"; 524 | $fa-var-th: "\f00a"; 525 | $fa-var-th-large: "\f009"; 526 | $fa-var-th-list: "\f00b"; 527 | $fa-var-thumb-tack: "\f08d"; 528 | $fa-var-thumbs-down: "\f165"; 529 | $fa-var-thumbs-o-down: "\f088"; 530 | $fa-var-thumbs-o-up: "\f087"; 531 | $fa-var-thumbs-up: "\f164"; 532 | $fa-var-ticket: "\f145"; 533 | $fa-var-times: "\f00d"; 534 | $fa-var-times-circle: "\f057"; 535 | $fa-var-times-circle-o: "\f05c"; 536 | $fa-var-tint: "\f043"; 537 | $fa-var-toggle-down: "\f150"; 538 | $fa-var-toggle-left: "\f191"; 539 | $fa-var-toggle-off: "\f204"; 540 | $fa-var-toggle-on: "\f205"; 541 | $fa-var-toggle-right: "\f152"; 542 | $fa-var-toggle-up: "\f151"; 543 | $fa-var-train: "\f238"; 544 | $fa-var-transgender: "\f224"; 545 | $fa-var-transgender-alt: "\f225"; 546 | $fa-var-trash: "\f1f8"; 547 | $fa-var-trash-o: "\f014"; 548 | $fa-var-tree: "\f1bb"; 549 | $fa-var-trello: "\f181"; 550 | $fa-var-trophy: "\f091"; 551 | $fa-var-truck: "\f0d1"; 552 | $fa-var-try: "\f195"; 553 | $fa-var-tty: "\f1e4"; 554 | $fa-var-tumblr: "\f173"; 555 | $fa-var-tumblr-square: "\f174"; 556 | $fa-var-turkish-lira: "\f195"; 557 | $fa-var-twitch: "\f1e8"; 558 | $fa-var-twitter: "\f099"; 559 | $fa-var-twitter-square: "\f081"; 560 | $fa-var-umbrella: "\f0e9"; 561 | $fa-var-underline: "\f0cd"; 562 | $fa-var-undo: "\f0e2"; 563 | $fa-var-university: "\f19c"; 564 | $fa-var-unlink: "\f127"; 565 | $fa-var-unlock: "\f09c"; 566 | $fa-var-unlock-alt: "\f13e"; 567 | $fa-var-unsorted: "\f0dc"; 568 | $fa-var-upload: "\f093"; 569 | $fa-var-usd: "\f155"; 570 | $fa-var-user: "\f007"; 571 | $fa-var-user-md: "\f0f0"; 572 | $fa-var-user-plus: "\f234"; 573 | $fa-var-user-secret: "\f21b"; 574 | $fa-var-user-times: "\f235"; 575 | $fa-var-users: "\f0c0"; 576 | $fa-var-venus: "\f221"; 577 | $fa-var-venus-double: "\f226"; 578 | $fa-var-venus-mars: "\f228"; 579 | $fa-var-viacoin: "\f237"; 580 | $fa-var-video-camera: "\f03d"; 581 | $fa-var-vimeo-square: "\f194"; 582 | $fa-var-vine: "\f1ca"; 583 | $fa-var-vk: "\f189"; 584 | $fa-var-volume-down: "\f027"; 585 | $fa-var-volume-off: "\f026"; 586 | $fa-var-volume-up: "\f028"; 587 | $fa-var-warning: "\f071"; 588 | $fa-var-wechat: "\f1d7"; 589 | $fa-var-weibo: "\f18a"; 590 | $fa-var-weixin: "\f1d7"; 591 | $fa-var-whatsapp: "\f232"; 592 | $fa-var-wheelchair: "\f193"; 593 | $fa-var-wifi: "\f1eb"; 594 | $fa-var-windows: "\f17a"; 595 | $fa-var-won: "\f159"; 596 | $fa-var-wordpress: "\f19a"; 597 | $fa-var-wrench: "\f0ad"; 598 | $fa-var-xing: "\f168"; 599 | $fa-var-xing-square: "\f169"; 600 | $fa-var-yahoo: "\f19e"; 601 | $fa-var-yelp: "\f1e9"; 602 | $fa-var-yen: "\f157"; 603 | $fa-var-youtube: "\f167"; 604 | $fa-var-youtube-play: "\f16a"; 605 | $fa-var-youtube-square: "\f166"; 606 | 607 | -------------------------------------------------------------------------------- /font-awesome-4.3.0/scss/font-awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | @import "larger"; 11 | @import "fixed-width"; 12 | @import "list"; 13 | @import "bordered-pulled"; 14 | @import "animated"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | -------------------------------------------------------------------------------- /images/goose.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/images/goose.jpg -------------------------------------------------------------------------------- /images/manual/001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/images/manual/001.png -------------------------------------------------------------------------------- /images/manual/002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/images/manual/002.png -------------------------------------------------------------------------------- /images/manual/003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/images/manual/003.png -------------------------------------------------------------------------------- /images/manual/004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/images/manual/004.png -------------------------------------------------------------------------------- /images/manual/005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/images/manual/005.png -------------------------------------------------------------------------------- /images/manual/006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/images/manual/006.png -------------------------------------------------------------------------------- /images/manual/007.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/images/manual/007.png -------------------------------------------------------------------------------- /images/manual/008.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/images/manual/008.png -------------------------------------------------------------------------------- /images/manual/009.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/images/manual/009.png -------------------------------------------------------------------------------- /images/nchuit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/images/nchuit.png -------------------------------------------------------------------------------- /images/old-jppg/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/images/old-jppg/1.jpg -------------------------------------------------------------------------------- /images/old-jppg/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/images/old-jppg/2.jpg -------------------------------------------------------------------------------- /images/old-jppg/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/images/old-jppg/3.jpg -------------------------------------------------------------------------------- /images/old-jppg/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/images/old-jppg/4.jpg -------------------------------------------------------------------------------- /images/old-jppg/5-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/images/old-jppg/5-1.jpg -------------------------------------------------------------------------------- /images/old-jppg/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/images/old-jppg/5.jpg -------------------------------------------------------------------------------- /images/old-jppg/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/images/old-jppg/6.jpg -------------------------------------------------------------------------------- /images/old-jppg/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/images/old-jppg/7.jpg -------------------------------------------------------------------------------- /images/old-jppg/大頭貼.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/images/old-jppg/大頭貼.jpg -------------------------------------------------------------------------------- /images/封面.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/images/封面.jpg -------------------------------------------------------------------------------- /images/會徽-01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/david30907d/CoursePickingHelper/a88219f57c7c6ccacb9d134615df09bb7f981321/images/會徽-01.jpg -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 選課小幫手 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 172 | 173 | 174 | 184 | 185 |
186 |
187 |
188 | 189 |
190 |
191 |

192 | 260 |
261 |
262 | 263 |
264 |

選課小幫手

265 |

隨著選課之日逼近,想先整理自己想要的課卻礙於學校系統操作不便,而浪費的不少寶貴時間嗎?「工欲善其事,必先利其器」,想打場勝仗必定要有好工具,「選課小幫手」一定能幫助各位打場漂亮的勝仗。

266 |

Do you have no idea which courses you can take or waste precious time on the inconvenience of school's system? Try this web.

267 |

請選擇語系

268 |

269 | 中文 270 | English 271 |

272 |
273 |
274 |
275 |
276 | 277 |
278 | advertisement 279 |
280 | 281 | 302 | 303 | 304 | 314 | 315 | 316 | 317 | 335 | 336 | -------------------------------------------------------------------------------- /js/bootstrap_site.js: -------------------------------------------------------------------------------- 1 | $( document ).ready(function() { 2 | $('#exampleModal').on('show.bs.modal', function (event) { 3 | var button = $(event.relatedTarget) // Button that triggered the modal 4 | var recipient = button.data('whatever') // Extract info from data-* attributes 5 | // If necessary, you could initiate an AJAX request here (and then do the updating in a callback). 6 | // Update the modal's content. We'll use jQuery here, but you could use a data binding library or other methods instead. 7 | var modal = $(this) 8 | modal.find('.modal-title').text('New message to ' + recipient) 9 | modal.find('.modal-body input').val(recipient) 10 | }) 11 | }); -------------------------------------------------------------------------------- /js/save/FileSaver.js: -------------------------------------------------------------------------------- 1 | /* FileSaver.js 2 | * A saveAs() FileSaver implementation. 3 | * 1.1.20151003 4 | * 5 | * By Eli Grey, http://eligrey.com 6 | * License: MIT 7 | * See https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md 8 | */ 9 | 10 | /*global self */ 11 | /*jslint bitwise: true, indent: 4, laxbreak: true, laxcomma: true, smarttabs: true, plusplus: true */ 12 | 13 | /*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */ 14 | 15 | var saveAs = saveAs || (function(view) { 16 | "use strict"; 17 | // IE <10 is explicitly unsupported 18 | if (typeof navigator !== "undefined" && /MSIE [1-9]\./.test(navigator.userAgent)) { 19 | return; 20 | } 21 | var 22 | doc = view.document 23 | // only get URL when necessary in case Blob.js hasn't overridden it yet 24 | , get_URL = function() { 25 | return view.URL || view.webkitURL || view; 26 | } 27 | , save_link = doc.createElementNS("http://www.w3.org/1999/xhtml", "a") 28 | , can_use_save_link = "download" in save_link 29 | , click = function(node) { 30 | var event = new MouseEvent("click"); 31 | node.dispatchEvent(event); 32 | } 33 | , is_safari = /Version\/[\d\.]+.*Safari/.test(navigator.userAgent) 34 | , webkit_req_fs = view.webkitRequestFileSystem 35 | , req_fs = view.requestFileSystem || webkit_req_fs || view.mozRequestFileSystem 36 | , throw_outside = function(ex) { 37 | (view.setImmediate || view.setTimeout)(function() { 38 | throw ex; 39 | }, 0); 40 | } 41 | , force_saveable_type = "application/octet-stream" 42 | , fs_min_size = 0 43 | // See https://code.google.com/p/chromium/issues/detail?id=375297#c7 and 44 | // https://github.com/eligrey/FileSaver.js/commit/485930a#commitcomment-8768047 45 | // for the reasoning behind the timeout and revocation flow 46 | , arbitrary_revoke_timeout = 500 // in ms 47 | , revoke = function(file) { 48 | var revoker = function() { 49 | if (typeof file === "string") { // file is an object URL 50 | get_URL().revokeObjectURL(file); 51 | } else { // file is a File 52 | file.remove(); 53 | } 54 | }; 55 | if (view.chrome) { 56 | revoker(); 57 | } else { 58 | setTimeout(revoker, arbitrary_revoke_timeout); 59 | } 60 | } 61 | , dispatch = function(filesaver, event_types, event) { 62 | event_types = [].concat(event_types); 63 | var i = event_types.length; 64 | while (i--) { 65 | var listener = filesaver["on" + event_types[i]]; 66 | if (typeof listener === "function") { 67 | try { 68 | listener.call(filesaver, event || filesaver); 69 | } catch (ex) { 70 | throw_outside(ex); 71 | } 72 | } 73 | } 74 | } 75 | , auto_bom = function(blob) { 76 | // prepend BOM for UTF-8 XML and text/* types (including HTML) 77 | if (/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(blob.type)) { 78 | return new Blob(["\ufeff", blob], {type: blob.type}); 79 | } 80 | return blob; 81 | } 82 | , FileSaver = function(blob, name, no_auto_bom) { 83 | if (!no_auto_bom) { 84 | blob = auto_bom(blob); 85 | } 86 | // First try a.download, then web filesystem, then object URLs 87 | var 88 | filesaver = this 89 | , type = blob.type 90 | , blob_changed = false 91 | , object_url 92 | , target_view 93 | , dispatch_all = function() { 94 | dispatch(filesaver, "writestart progress write writeend".split(" ")); 95 | } 96 | // on any filesys errors revert to saving with object URLs 97 | , fs_error = function() { 98 | if (target_view && is_safari && typeof FileReader !== "undefined") { 99 | // Safari doesn't allow downloading of blob urls 100 | var reader = new FileReader(); 101 | reader.onloadend = function() { 102 | var base64Data = reader.result; 103 | target_view.location.href = "data:attachment/file" + base64Data.slice(base64Data.search(/[,;]/)); 104 | filesaver.readyState = filesaver.DONE; 105 | dispatch_all(); 106 | }; 107 | reader.readAsDataURL(blob); 108 | filesaver.readyState = filesaver.INIT; 109 | return; 110 | } 111 | // don't create more object URLs than needed 112 | if (blob_changed || !object_url) { 113 | object_url = get_URL().createObjectURL(blob); 114 | } 115 | if (target_view) { 116 | target_view.location.href = object_url; 117 | } else { 118 | var new_tab = view.open(object_url, "_blank"); 119 | if (new_tab == undefined && is_safari) { 120 | //Apple do not allow window.open, see http://bit.ly/1kZffRI 121 | view.location.href = object_url 122 | } 123 | } 124 | filesaver.readyState = filesaver.DONE; 125 | dispatch_all(); 126 | revoke(object_url); 127 | } 128 | , abortable = function(func) { 129 | return function() { 130 | if (filesaver.readyState !== filesaver.DONE) { 131 | return func.apply(this, arguments); 132 | } 133 | }; 134 | } 135 | , create_if_not_found = {create: true, exclusive: false} 136 | , slice 137 | ; 138 | filesaver.readyState = filesaver.INIT; 139 | if (!name) { 140 | name = "download"; 141 | } 142 | if (can_use_save_link) { 143 | object_url = get_URL().createObjectURL(blob); 144 | setTimeout(function() { 145 | save_link.href = object_url; 146 | save_link.download = name; 147 | click(save_link); 148 | dispatch_all(); 149 | revoke(object_url); 150 | filesaver.readyState = filesaver.DONE; 151 | }); 152 | return; 153 | } 154 | // Object and web filesystem URLs have a problem saving in Google Chrome when 155 | // viewed in a tab, so I force save with application/octet-stream 156 | // http://code.google.com/p/chromium/issues/detail?id=91158 157 | // Update: Google errantly closed 91158, I submitted it again: 158 | // https://code.google.com/p/chromium/issues/detail?id=389642 159 | if (view.chrome && type && type !== force_saveable_type) { 160 | slice = blob.slice || blob.webkitSlice; 161 | blob = slice.call(blob, 0, blob.size, force_saveable_type); 162 | blob_changed = true; 163 | } 164 | // Since I can't be sure that the guessed media type will trigger a download 165 | // in WebKit, I append .download to the filename. 166 | // https://bugs.webkit.org/show_bug.cgi?id=65440 167 | if (webkit_req_fs && name !== "download") { 168 | name += ".download"; 169 | } 170 | if (type === force_saveable_type || webkit_req_fs) { 171 | target_view = view; 172 | } 173 | if (!req_fs) { 174 | fs_error(); 175 | return; 176 | } 177 | fs_min_size += blob.size; 178 | req_fs(view.TEMPORARY, fs_min_size, abortable(function(fs) { 179 | fs.root.getDirectory("saved", create_if_not_found, abortable(function(dir) { 180 | var save = function() { 181 | dir.getFile(name, create_if_not_found, abortable(function(file) { 182 | file.createWriter(abortable(function(writer) { 183 | writer.onwriteend = function(event) { 184 | target_view.location.href = file.toURL(); 185 | filesaver.readyState = filesaver.DONE; 186 | dispatch(filesaver, "writeend", event); 187 | revoke(file); 188 | }; 189 | writer.onerror = function() { 190 | var error = writer.error; 191 | if (error.code !== error.ABORT_ERR) { 192 | fs_error(); 193 | } 194 | }; 195 | "writestart progress write abort".split(" ").forEach(function(event) { 196 | writer["on" + event] = filesaver["on" + event]; 197 | }); 198 | writer.write(blob); 199 | filesaver.abort = function() { 200 | writer.abort(); 201 | filesaver.readyState = filesaver.DONE; 202 | }; 203 | filesaver.readyState = filesaver.WRITING; 204 | }), fs_error); 205 | }), fs_error); 206 | }; 207 | dir.getFile(name, {create: false}, abortable(function(file) { 208 | // delete file if it already exists 209 | file.remove(); 210 | save(); 211 | }), abortable(function(ex) { 212 | if (ex.code === ex.NOT_FOUND_ERR) { 213 | save(); 214 | } else { 215 | fs_error(); 216 | } 217 | })); 218 | }), fs_error); 219 | }), fs_error); 220 | } 221 | , FS_proto = FileSaver.prototype 222 | , saveAs = function(blob, name, no_auto_bom) { 223 | return new FileSaver(blob, name, no_auto_bom); 224 | } 225 | ; 226 | // IE 10+ (native saveAs) 227 | if (typeof navigator !== "undefined" && navigator.msSaveOrOpenBlob) { 228 | return function(blob, name, no_auto_bom) { 229 | if (!no_auto_bom) { 230 | blob = auto_bom(blob); 231 | } 232 | return navigator.msSaveOrOpenBlob(blob, name || "download"); 233 | }; 234 | } 235 | 236 | FS_proto.abort = function() { 237 | var filesaver = this; 238 | filesaver.readyState = filesaver.DONE; 239 | dispatch(filesaver, "abort"); 240 | }; 241 | FS_proto.readyState = FS_proto.INIT = 0; 242 | FS_proto.WRITING = 1; 243 | FS_proto.DONE = 2; 244 | 245 | FS_proto.error = 246 | FS_proto.onwritestart = 247 | FS_proto.onprogress = 248 | FS_proto.onwrite = 249 | FS_proto.onabort = 250 | FS_proto.onerror = 251 | FS_proto.onwriteend = 252 | null; 253 | 254 | return saveAs; 255 | }( 256 | typeof self !== "undefined" && self 257 | || typeof window !== "undefined" && window 258 | || this.content 259 | )); 260 | // `self` is undefined in Firefox for Android content script context 261 | // while `this` is nsIContentFrameMessageManager 262 | // with an attribute `content` that corresponds to the window 263 | 264 | if (typeof module !== "undefined" && module.exports) { 265 | module.exports.saveAs = saveAs; 266 | } else if ((typeof define !== "undefined" && define !== null) && (define.amd != null)) { 267 | define([], function() { 268 | return saveAs; 269 | }); 270 | } 271 | -------------------------------------------------------------------------------- /js/save/FileSaver.min.js: -------------------------------------------------------------------------------- 1 | /*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */ 2 | var saveAs=saveAs||function(view){"use strict";if(typeof navigator!=="undefined"&&/MSIE [1-9]\./.test(navigator.userAgent)){return}var doc=view.document,get_URL=function(){return view.URL||view.webkitURL||view},save_link=doc.createElementNS("http://www.w3.org/1999/xhtml","a"),can_use_save_link="download"in save_link,click=function(node){var event=new MouseEvent("click");node.dispatchEvent(event)},is_safari=/Version\/[\d\.]+.*Safari/.test(navigator.userAgent),webkit_req_fs=view.webkitRequestFileSystem,req_fs=view.requestFileSystem||webkit_req_fs||view.mozRequestFileSystem,throw_outside=function(ex){(view.setImmediate||view.setTimeout)(function(){throw ex},0)},force_saveable_type="application/octet-stream",fs_min_size=0,arbitrary_revoke_timeout=500,revoke=function(file){var revoker=function(){if(typeof file==="string"){get_URL().revokeObjectURL(file)}else{file.remove()}};if(view.chrome){revoker()}else{setTimeout(revoker,arbitrary_revoke_timeout)}},dispatch=function(filesaver,event_types,event){event_types=[].concat(event_types);var i=event_types.length;while(i--){var listener=filesaver["on"+event_types[i]];if(typeof listener==="function"){try{listener.call(filesaver,event||filesaver)}catch(ex){throw_outside(ex)}}}},auto_bom=function(blob){if(/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(blob.type)){return new Blob(["\ufeff",blob],{type:blob.type})}return blob},FileSaver=function(blob,name,no_auto_bom){if(!no_auto_bom){blob=auto_bom(blob)}var filesaver=this,type=blob.type,blob_changed=false,object_url,target_view,dispatch_all=function(){dispatch(filesaver,"writestart progress write writeend".split(" "))},fs_error=function(){if(target_view&&is_safari&&typeof FileReader!=="undefined"){var reader=new FileReader;reader.onloadend=function(){var base64Data=reader.result;target_view.location.href="data:attachment/file"+base64Data.slice(base64Data.search(/[,;]/));filesaver.readyState=filesaver.DONE;dispatch_all()};reader.readAsDataURL(blob);filesaver.readyState=filesaver.INIT;return}if(blob_changed||!object_url){object_url=get_URL().createObjectURL(blob)}if(target_view){target_view.location.href=object_url}else{var new_tab=view.open(object_url,"_blank");if(new_tab==undefined&&is_safari){view.location.href=object_url}}filesaver.readyState=filesaver.DONE;dispatch_all();revoke(object_url)},abortable=function(func){return function(){if(filesaver.readyState!==filesaver.DONE){return func.apply(this,arguments)}}},create_if_not_found={create:true,exclusive:false},slice;filesaver.readyState=filesaver.INIT;if(!name){name="download"}if(can_use_save_link){object_url=get_URL().createObjectURL(blob);setTimeout(function(){save_link.href=object_url;save_link.download=name;click(save_link);dispatch_all();revoke(object_url);filesaver.readyState=filesaver.DONE});return}if(view.chrome&&type&&type!==force_saveable_type){slice=blob.slice||blob.webkitSlice;blob=slice.call(blob,0,blob.size,force_saveable_type);blob_changed=true}if(webkit_req_fs&&name!=="download"){name+=".download"}if(type===force_saveable_type||webkit_req_fs){target_view=view}if(!req_fs){fs_error();return}fs_min_size+=blob.size;req_fs(view.TEMPORARY,fs_min_size,abortable(function(fs){fs.root.getDirectory("saved",create_if_not_found,abortable(function(dir){var save=function(){dir.getFile(name,create_if_not_found,abortable(function(file){file.createWriter(abortable(function(writer){writer.onwriteend=function(event){target_view.location.href=file.toURL();filesaver.readyState=filesaver.DONE;dispatch(filesaver,"writeend",event);revoke(file)};writer.onerror=function(){var error=writer.error;if(error.code!==error.ABORT_ERR){fs_error()}};"writestart progress write abort".split(" ").forEach(function(event){writer["on"+event]=filesaver["on"+event]});writer.write(blob);filesaver.abort=function(){writer.abort();filesaver.readyState=filesaver.DONE};filesaver.readyState=filesaver.WRITING}),fs_error)}),fs_error)};dir.getFile(name,{create:false},abortable(function(file){file.remove();save()}),abortable(function(ex){if(ex.code===ex.NOT_FOUND_ERR){save()}else{fs_error()}}))}),fs_error)}),fs_error)},FS_proto=FileSaver.prototype,saveAs=function(blob,name,no_auto_bom){return new FileSaver(blob,name,no_auto_bom)};if(typeof navigator!=="undefined"&&navigator.msSaveOrOpenBlob){return function(blob,name,no_auto_bom){if(!no_auto_bom){blob=auto_bom(blob)}return navigator.msSaveOrOpenBlob(blob,name||"download")}}FS_proto.abort=function(){var filesaver=this;filesaver.readyState=filesaver.DONE;dispatch(filesaver,"abort")};FS_proto.readyState=FS_proto.INIT=0;FS_proto.WRITING=1;FS_proto.DONE=2;FS_proto.error=FS_proto.onwritestart=FS_proto.onprogress=FS_proto.onwrite=FS_proto.onabort=FS_proto.onerror=FS_proto.onwriteend=null;return saveAs}(typeof self!=="undefined"&&self||typeof window!=="undefined"&&window||this.content);if(typeof module!=="undefined"&&module.exports){module.exports.saveAs=saveAs}else if(typeof define!=="undefined"&&define!==null&&define.amd!=null){define([],function(){return saveAs})} 3 | -------------------------------------------------------------------------------- /js/save/saveAsPicture.js: -------------------------------------------------------------------------------- 1 | $('#saveAsPicture').click(function() { 2 | var tmp_attr = $('#time-table').attr('class'); 3 | $('#time-table').removeAttr('class'); 4 | $('#time-table').css('width', '200%'); 5 | $('#time-table').css('height', 'auto'); 6 | $('#time-table td, th').css('padding', '5px'); 7 | $('#time-table').css('font-size', '180%'); 8 | html2canvas($('#time-table')).then(function(canvas) { 9 | var bgcanvas = document.createElement('canvas'); 10 | bgcanvas.width = canvas.width; 11 | bgcanvas.height = canvas.height; 12 | var ctx = bgcanvas.getContext('2d'); 13 | var gradient = ctx.createLinearGradient(0, 0, canvas.width, canvas.height); 14 | gradient.addColorStop(0, 'rgba(255, 255, 255, 0.9)'); 15 | gradient.addColorStop(1, 'rgba(221, 232, 255, 0.9)'); 16 | ctx.fillStyle = gradient; 17 | ctx.fillRect(0, 0, canvas.width, canvas.height); 18 | ctx.drawImage(canvas, 0, 0, canvas.width, canvas.height); 19 | var data = bgcanvas.toDataURL('image/png'); 20 | data = data.replace('image/png', 'image/octet-stream'); 21 | var downloadLink = document.createElement('a'); 22 | downloadLink.href = data; 23 | downloadLink.download = '選課小幫手.png'; 24 | document.body.appendChild(downloadLink); 25 | downloadLink.click(); 26 | document.body.removeChild(downloadLink); 27 | }); 28 | $('#time-table').removeAttr('height'); 29 | $('#time-table').css('width', '100%'); 30 | $('#time-table td, th').removeAttr('padding'); 31 | $('#time-table').attr('class', tmp_attr); 32 | $('#time-table').css('font-size', '100%'); 33 | }); -------------------------------------------------------------------------------- /json/department.json: -------------------------------------------------------------------------------- 1 | [{ 2 | "degree": "U", 3 | "department": [{ 4 | "value": "C10", 5 | "zh_TW": "文學院", 6 | "en_US": "Liberal Arts" 7 | }, { 8 | "value": "C20", 9 | "zh_TW": "管理學院", 10 | "en_US": "Management" 11 | }, { 12 | "value": "C30", 13 | "zh_TW": "農業暨自然資源學院", 14 | "en_US": "Agriculture and Natural Resources" 15 | }, { 16 | "value": "U11", 17 | "zh_TW": "中國文學系學士班", 18 | "en_US": "Chinese Literature" 19 | }, { 20 | "value": "U12", 21 | "zh_TW": "外國語文學系學士班", 22 | "en_US": "Foreign Languages and Literature" 23 | }, { 24 | "value": "U13", 25 | "zh_TW": "歷史學系學士班", 26 | "en_US": "History" 27 | }, { 28 | "value": "U21", 29 | "zh_TW": "財務金融學系學士班", 30 | "en_US": "Finance" 31 | }, { 32 | "value": "U23", 33 | "zh_TW": "企業管理學系學士班", 34 | "en_US": "Business Administration" 35 | }, { 36 | "value": "U24", 37 | "zh_TW": "法律學系學士班", 38 | "en_US": "Law" 39 | }, { 40 | "value": "U28", 41 | "zh_TW": "會計學系學士班", 42 | "en_US": "Accounting" 43 | }, { 44 | "value": "U29", 45 | "zh_TW": "資訊管理學系學士班", 46 | "en_US": "Management Information Systems" 47 | }, { 48 | "value": "U30F", 49 | "zh_TW": "景觀與遊憩學士學位學程", 50 | "en_US": "Landscape and Recreation" 51 | }, { 52 | "value": "U30G", 53 | "zh_TW": "生物科技學士學位學程", 54 | "en_US": "Bachelor Program of Biotechnology" 55 | }, { 56 | "value": "U30H", 57 | "zh_TW": "國際農企業學士學位學程", 58 | "en_US": "International Bachelor's Program of Agribusiness" 59 | }, { 60 | "value": "U31", 61 | "zh_TW": "農藝學系學士班", 62 | "en_US": "Agronomy" 63 | }, { 64 | "value": "U32", 65 | "zh_TW": "園藝學系學士班", 66 | "en_US": "Horticulture" 67 | }, { 68 | "value": "U33A", 69 | "zh_TW": "森林學系林學組學士班 A", 70 | "en_US": "Forestry A" 71 | }, { 72 | "value": "U33B", 73 | "zh_TW": "森林學系木材科學組學士班 B", 74 | "en_US": "Forestry B" 75 | }, { 76 | "value": "U34", 77 | "zh_TW": "應用經濟學系學士班", 78 | "en_US": "Applied Economics" 79 | }, { 80 | "value": "U35", 81 | "zh_TW": "植物病理學系學士班", 82 | "en_US": "Plant Pathology" 83 | }, { 84 | "value": "U36", 85 | "zh_TW": "昆蟲學系學士班", 86 | "en_US": "Entomology" 87 | }, { 88 | "value": "U37", 89 | "zh_TW": "動物科學系學士班", 90 | "en_US": "Animal Science" 91 | }, { 92 | "value": "U38B", 93 | "zh_TW": "獸醫學系學士班 B", 94 | "en_US": "Veterinary Medicine B" 95 | }, { 96 | "value": "U38A", 97 | "zh_TW": "獸醫學系學士班 A", 98 | "en_US": "Veterinary Medicine A" 99 | }, { 100 | "value": "U39", 101 | "zh_TW": "土壤環境科學系學士班", 102 | "en_US": "Soil and Environmental Sciences" 103 | }, { 104 | "value": "U40", 105 | "zh_TW": "生物產業機電工程學系學士班", 106 | "en_US": "Bio-Industrial Mechatronics Engineering" 107 | }, { 108 | "value": "U42", 109 | "zh_TW": "水土保持學系學士班", 110 | "en_US": "Soil and Water Conservation" 111 | }, { 112 | "value": "U43", 113 | "zh_TW": "食品暨應用生物科技學系學士班", 114 | "en_US": "Food Science and Biotechnology" 115 | }, { 116 | "value": "U44", 117 | "zh_TW": "行銷學系學士班", 118 | "en_US": "Marketing" 119 | }, { 120 | "value": "U51", 121 | "zh_TW": "化學系學士班", 122 | "en_US": "Chemistry" 123 | }, { 124 | "value": "U52", 125 | "zh_TW": "生命科學系學士班", 126 | "en_US": "Life Sciences" 127 | }, { 128 | "value": "U53B", 129 | "zh_TW": "應用數學系學士班 B", 130 | "en_US": "Applied Math B" 131 | }, { 132 | "value": "U53A", 133 | "zh_TW": "應用數學系學士班 A", 134 | "en_US": "Applied Math A" 135 | }, { 136 | "value": "U54A", 137 | "zh_TW": "物理學系一般物理組學士班 A", 138 | "en_US": "Physics A" 139 | }, { 140 | "value": "U54B", 141 | "zh_TW": "物理學系光電物理組學士班 B", 142 | "en_US": "Physics B" 143 | }, { 144 | "value": "U56", 145 | "zh_TW": "資訊科學與工程學系學士班", 146 | "en_US": "Computer Science and Engineering" 147 | }, { 148 | "value": "U61B", 149 | "zh_TW": "機械工程學系學士班 B", 150 | "en_US": "Mechanical Engineering B" 151 | }, { 152 | "value": "U61A", 153 | "zh_TW": "機械工程學系學士班 A", 154 | "en_US": "Mechanical Engineering A" 155 | }, { 156 | "value": "U62A", 157 | "zh_TW": "土木工程學系學士班 A", 158 | "en_US": "Civil Engineering A" 159 | }, { 160 | "value": "U62B", 161 | "zh_TW": "土木工程學系學士班 B", 162 | "en_US": "Civil Engineering B" 163 | }, { 164 | "value": "U63", 165 | "zh_TW": "環境工程學系學士班", 166 | "en_US": "Environmental Engineering" 167 | }, { 168 | "value": "U64A", 169 | "zh_TW": "電機工程學系學士班 A", 170 | "en_US": "Electrical Engineering A" 171 | }, { 172 | "value": "U64B", 173 | "zh_TW": "電機工程學系學士班 B", 174 | "en_US": "Electrical Engineering B" 175 | }, { 176 | "value": "U65", 177 | "zh_TW": "化學工程學系學士班", 178 | "en_US": "Chemical Engineering" 179 | }, { 180 | "value": "U66", 181 | "zh_TW": "材料科學與工程學系學士班", 182 | "en_US": "Materials Science and Engineering" 183 | }] 184 | }, { 185 | "degree": "G", 186 | "department": [{ 187 | "value": "B20", 188 | "zh_TW": "管理學院(研究所)", 189 | "en_US": "" 190 | }, { 191 | "value": "B60", 192 | "zh_TW": "工學院(研究所)", 193 | "en_US": "" 194 | }, { 195 | "value": "G11", 196 | "zh_TW": "中國文學系碩士班", 197 | "en_US": "Chinese Literatures" 198 | }, { 199 | "value": "G12", 200 | "zh_TW": "外國語文學系碩士班", 201 | "en_US": "Foreign Languages and Literatures" 202 | }, { 203 | "value": "G13", 204 | "zh_TW": "歷史學系碩士班", 205 | "en_US": "History" 206 | }, { 207 | "value": "G14", 208 | "zh_TW": "圖書資訊學研究所碩士班", 209 | "en_US": "Library and Information Science" 210 | }, { 211 | "value": "G15", 212 | "zh_TW": "台灣文學與跨國文化研究所碩士班", 213 | "en_US": "Taiwan Literature and Transnational Culture Studies" 214 | }, { 215 | "value": "G17", 216 | "zh_TW": "奈米科學研究所碩士班", 217 | "en_US": "Nanoscience" 218 | }, { 219 | "value": "G18", 220 | "zh_TW": "統計學研究所碩士班", 221 | "en_US": "Statistics" 222 | }, { 223 | "value": "G19", 224 | "zh_TW": "基因體暨生物資訊學研究所碩士班", 225 | "en_US": "Genomics and Bioinformatics" 226 | }, { 227 | "value": "G21", 228 | "zh_TW": "財務金融學系碩士班", 229 | "en_US": "Finance" 230 | }, { 231 | "value": "G22", 232 | "zh_TW": "國際政治研究所碩士班", 233 | "en_US": "International Politics" 234 | }, { 235 | "value": "G23", 236 | "zh_TW": "企業管理學系碩士班", 237 | "en_US": "Business Administration" 238 | }, { 239 | "value": "G24", 240 | "zh_TW": "法律學系科技法律碩士班", 241 | "en_US": "Law" 242 | }, { 243 | "value": "G26", 244 | "zh_TW": "科技管理研究所科技管理碩士班", 245 | "en_US": "Technology Management" 246 | }, { 247 | "value": "G261", 248 | "zh_TW": "科技管理研究所電子商務碩士班", 249 | "en_US": "Technology Management" 250 | }, { 251 | "value": "G28", 252 | "zh_TW": "會計學系碩士班", 253 | "en_US": "Accounting" 254 | }, { 255 | "value": "G29", 256 | "zh_TW": "資訊管理學系碩士班", 257 | "en_US": "Management Information Systems" 258 | }, { 259 | "value": "G30F", 260 | "zh_TW": "景觀與遊憩碩士學位學程", 261 | "en_US": "Landscape Design, Leisure and Recreation" 262 | }, { 263 | "value": "G30G", 264 | "zh_TW": "國際農學碩士學位學程", 265 | "en_US": "International Master Program of Agriculture" 266 | }, { 267 | "value": "G30I", 268 | "zh_TW": "農業經濟與行銷碩士學位學程", 269 | "en_US": "Agricultural Economics and Marketing" 270 | }, { 271 | "value": "G31", 272 | "zh_TW": "農藝學系碩士班", 273 | "en_US": "Agronomy" 274 | }, { 275 | "value": "G32", 276 | "zh_TW": "園藝學系碩士班", 277 | "en_US": "Horticulture" 278 | }, { 279 | "value": "G33", 280 | "zh_TW": "森林學系碩士班", 281 | "en_US": "Forestry" 282 | }, { 283 | "value": "G34", 284 | "zh_TW": "應用經濟學系碩士班", 285 | "en_US": "Applied Economics" 286 | }, { 287 | "value": "G35", 288 | "zh_TW": "植物病理學系碩士班", 289 | "en_US": "Plant Pathology" 290 | }, { 291 | "value": "G36", 292 | "zh_TW": "昆蟲學系碩士班", 293 | "en_US": "Entomology" 294 | }, { 295 | "value": "G37", 296 | "zh_TW": "動物科學系碩士班", 297 | "en_US": "Animal Science" 298 | }, { 299 | "value": "G38", 300 | "zh_TW": "獸醫學系碩士班", 301 | "en_US": "Veterinary Medicine" 302 | }, { 303 | "value": "G39", 304 | "zh_TW": "土壤環境科學系碩士班", 305 | "en_US": "Soil and Environmental Sciences" 306 | }, { 307 | "value": "G40", 308 | "zh_TW": "生物產業機電工程學系碩士班", 309 | "en_US": "Bio-Industrial Mechatronics Engineering" 310 | }, { 311 | "value": "G41", 312 | "zh_TW": "生物科技學研究所碩士班", 313 | "en_US": "Biotechnology" 314 | }, { 315 | "value": "G42", 316 | "zh_TW": "水土保持學系碩士班", 317 | "en_US": "Soil and Water Conservation" 318 | }, { 319 | "value": "G43", 320 | "zh_TW": "食品暨應用生物科技學系碩士班", 321 | "en_US": "Food Science and Biotechnology" 322 | }, { 323 | "value": "G44", 324 | "zh_TW": "行銷學系碩士班", 325 | "en_US": "Marketing" 326 | }, { 327 | "value": "G45", 328 | "zh_TW": "生物產業管理研究所碩士班", 329 | "en_US": "Bio-Industrial Management" 330 | }, { 331 | "value": "G46", 332 | "zh_TW": "微生物暨公共衛生學研究所碩士班", 333 | "en_US": "Microbiology and Public Health" 334 | }, { 335 | "value": "G47", 336 | "zh_TW": "獸醫病理生物學研究所碩士班", 337 | "en_US": "Veterinary Pathobiology" 338 | }, { 339 | "value": "G49", 340 | "zh_TW": "植物醫學暨安全農業碩士學位學程", 341 | "en_US": "Plant Medical Science and Safe Agriculture" 342 | }, { 343 | "value": "G51", 344 | "zh_TW": "化學系碩士班", 345 | "en_US": "Chemistry" 346 | }, { 347 | "value": "G52", 348 | "zh_TW": "生命科學系碩士班", 349 | "en_US": "Life Sciences" 350 | }, { 351 | "value": "G53", 352 | "zh_TW": "應用數學系碩士班", 353 | "en_US": "Applied Mathematics" 354 | }, { 355 | "value": "G531", 356 | "zh_TW": "應用數學系計算科學碩士班", 357 | "en_US": "Applied Mathematics" 358 | }, { 359 | "value": "G54", 360 | "zh_TW": "物理學系碩士班", 361 | "en_US": "Physic" 362 | }, { 363 | "value": "G541", 364 | "zh_TW": "物理學系生物物理學碩士班", 365 | "en_US": "Physics" 366 | }, { 367 | "value": "G55", 368 | "zh_TW": "分子生物學研究所碩士班", 369 | "en_US": "Molecular Biology" 370 | }, { 371 | "value": "G56", 372 | "zh_TW": "資訊科學與工程學系碩士班", 373 | "en_US": "Computer Science and Engineering" 374 | }, { 375 | "value": "G58", 376 | "zh_TW": "生物化學研究所碩士班", 377 | "en_US": "Biochemistry" 378 | }, { 379 | "value": "G59", 380 | "zh_TW": "生物醫學研究所碩士班", 381 | "en_US": "Biomedical Sciences" 382 | }, { 383 | "value": "G61", 384 | "zh_TW": "機械工程學系碩士班", 385 | "en_US": "Mechanical Engineering" 386 | }, { 387 | "value": "G62", 388 | "zh_TW": "土木工程學系碩士班", 389 | "en_US": "Civil Engineering" 390 | }, { 391 | "value": "G63", 392 | "zh_TW": "環境工程學系碩士班", 393 | "en_US": "Environmental Engineering" 394 | }, { 395 | "value": "G64", 396 | "zh_TW": "電機工程學系碩士班", 397 | "en_US": "Electrical Engineering" 398 | }, { 399 | "value": "G65", 400 | "zh_TW": "化學工程學系碩士班", 401 | "en_US": "Chemical Engineering" 402 | }, { 403 | "value": "G66", 404 | "zh_TW": "材料科學與工程學系碩士班", 405 | "en_US": "Materials Science and Engineering" 406 | }, { 407 | "value": "G67", 408 | "zh_TW": "精密工程研究所碩士班", 409 | "en_US": "Precision Engineering" 410 | }, { 411 | "value": "G68", 412 | "zh_TW": "生醫工程研究所碩士班", 413 | "en_US": "Biomedical Engineering" 414 | }, { 415 | "value": "G71", 416 | "zh_TW": "全球事務研究跨洲碩士學位學程", 417 | "en_US": "Global Studies" 418 | }, { 419 | "value": "G81", 420 | "zh_TW": "運動與健康管理研究所碩士班", 421 | "en_US": "Sports and Health Management" 422 | }, { 423 | "value": "G82", 424 | "zh_TW": "教師專業發展研究所碩士班", 425 | "en_US": "Professional Development for Educators" 426 | }, { 427 | "value": "G91", 428 | "zh_TW": "國家政策與公共事務研究所碩士班", 429 | "en_US": "National Policy and Public Affairs" 430 | }, { 431 | "value": "G93", 432 | "zh_TW": "通訊工程研究所碩士班", 433 | "en_US": "Communication Engineering" 434 | }, { 435 | "value": "G94", 436 | "zh_TW": "光電工程研究所碩士班", 437 | "en_US": "Optoelectronic Engineering" 438 | }] 439 | }, { 440 | "degree": "D", 441 | "department": [{ 442 | "value": "D01F", 443 | "zh_TW": "組織工程與再生醫學博士學位學程", 444 | "en_US": "Tissue Engineering and Regenrative Medicine" 445 | }, { 446 | "value": "D01G", 447 | "zh_TW": "微生物基因體學博士學位學程", 448 | "en_US": "Microbial Genomics" 449 | }, { 450 | "value": "D01H", 451 | "zh_TW": "醫學生物科技博士學位學程", 452 | "en_US": "Medical Biotechnology" 453 | }, { 454 | "value": "D10F", 455 | "zh_TW": "台灣與跨文化研究國際博士學位學程", 456 | "en_US": "Taiwan and Transcultural Studies" 457 | }, { 458 | "value": "D11", 459 | "zh_TW": "中國文學系博士班", 460 | "en_US": "Chinese Literature" 461 | }, { 462 | "value": "D13", 463 | "zh_TW": "歷史學系博士班", 464 | "en_US": "History" 465 | }, { 466 | "value": "D21", 467 | "zh_TW": "財務金融學系博士班", 468 | "en_US": "Finance" 469 | }, { 470 | "value": "D22", 471 | "zh_TW": "國際政治研究所博士班", 472 | "en_US": "International Politics" 473 | }, { 474 | "value": "D23", 475 | "zh_TW": "企業管理學系博士班", 476 | "en_US": "Business Administration" 477 | }, { 478 | "value": "D26", 479 | "zh_TW": "科技管理研究所科技管理博士班", 480 | "en_US": "Technology Management Doctoral Program" 481 | }, { 482 | "value": "D31", 483 | "zh_TW": "農藝學系博士班", 484 | "en_US": "Agronomy" 485 | }, { 486 | "value": "D32", 487 | "zh_TW": "園藝學系博士班", 488 | "en_US": "Horticulture" 489 | }, { 490 | "value": "D33", 491 | "zh_TW": "森林學系博士班", 492 | "en_US": "Forestry" 493 | }, { 494 | "value": "D34", 495 | "zh_TW": "應用經濟學系博士班", 496 | "en_US": "Applied Economics" 497 | }, { 498 | "value": "D35", 499 | "zh_TW": "植物病理學系博士班", 500 | "en_US": "Plant Pathology" 501 | }, { 502 | "value": "D36", 503 | "zh_TW": "昆蟲學系博士班", 504 | "en_US": "Entomology" 505 | }, { 506 | "value": "D37", 507 | "zh_TW": "動物科學系博士班", 508 | "en_US": "Animal Science" 509 | }, { 510 | "value": "D38", 511 | "zh_TW": "獸醫學系博士班", 512 | "en_US": "Veterinary Medicine" 513 | }, { 514 | "value": "D39", 515 | "zh_TW": "土壤環境科學系博士班", 516 | "en_US": "Soil and Environmental Sciences" 517 | }, { 518 | "value": "D40", 519 | "zh_TW": "生物產業機電工程學系博士班", 520 | "en_US": "Bio-Industrial Mechatronics Engineering" 521 | }, { 522 | "value": "D41", 523 | "zh_TW": "生物科技學研究所博士班", 524 | "en_US": "Biotechnology" 525 | }, { 526 | "value": "D42", 527 | "zh_TW": "水土保持學系博士班", 528 | "en_US": "Soil and Water Conservation" 529 | }, { 530 | "value": "D43", 531 | "zh_TW": "食品暨應用生物科技學系博士班", 532 | "en_US": "Food Science and Biotechnology" 533 | }, { 534 | "value": "D46", 535 | "zh_TW": "微生物暨公共衛生學研究所博士班", 536 | "en_US": "Microbiology and Public Health" 537 | }, { 538 | "value": "D47", 539 | "zh_TW": "獸醫病理生物學研究所博士班", 540 | "en_US": "Veterinary Pathobiology" 541 | }, { 542 | "value": "D51", 543 | "zh_TW": "化學系博士班", 544 | "en_US": "Chemistry" 545 | }, { 546 | "value": "D52", 547 | "zh_TW": "生命科學系博士班", 548 | "en_US": "Life Sciences" 549 | }, { 550 | "value": "D53", 551 | "zh_TW": "應用數學系博士班", 552 | "en_US": "Applied Mathematics" 553 | }, { 554 | "value": "D54", 555 | "zh_TW": "物理學系博士班", 556 | "en_US": "Physics" 557 | }, { 558 | "value": "D55", 559 | "zh_TW": "分子生物學研究所博士班", 560 | "en_US": "Molecular Biology" 561 | }, { 562 | "value": "D56", 563 | "zh_TW": "資訊科學與工程學系博士班", 564 | "en_US": "Computer Science and Engineering" 565 | }, { 566 | "value": "D58", 567 | "zh_TW": "生物化學研究所博士班", 568 | "en_US": "Biochemistry" 569 | }, { 570 | "value": "D59", 571 | "zh_TW": "生物醫學研究所博士班", 572 | "en_US": "Biomedical Sciences" 573 | }, { 574 | "value": "D61", 575 | "zh_TW": "機械工程學系博士班", 576 | "en_US": "Mechanical Engineering" 577 | }, { 578 | "value": "D62", 579 | "zh_TW": "土木工程學系博士班", 580 | "en_US": "Civil Engineering" 581 | }, { 582 | "value": "D63", 583 | "zh_TW": "環境工程學系博士班", 584 | "en_US": "Environmental Engineering" 585 | }, { 586 | "value": "D64", 587 | "zh_TW": "電機工程學系博士班", 588 | "en_US": "Electrical Engineering" 589 | }, { 590 | "value": "D65", 591 | "zh_TW": "化學工程學系博士班", 592 | "en_US": "Chemical Engineering" 593 | }, { 594 | "value": "D66", 595 | "zh_TW": "材料科學與工程學系博士班", 596 | "en_US": "Materials Science and Engineering" 597 | }, { 598 | "value": "D67", 599 | "zh_TW": "精密工程研究所博士班", 600 | "en_US": "Precision Engineering" 601 | }, { 602 | "value": "D80F", 603 | "zh_TW": "轉譯醫學博士學位學程", 604 | "en_US": "Translation Medicine" 605 | }] 606 | }, { 607 | "degree": "R", 608 | "department": [{ 609 | "value": "R672", 610 | "zh_TW": "精密工程研究所LED產業碩士專班", 611 | "en_US": "Light Emitting Diode Engineering" 612 | }] 613 | }, { 614 | "degree": "W", 615 | "department": [{ 616 | "value": "W11", 617 | "zh_TW": "中國文學系碩士在職專班", 618 | "en_US": "Chinese Literature" 619 | }, { 620 | "value": "W13", 621 | "zh_TW": "歷史學系碩士在職專班", 622 | "en_US": "History" 623 | }, { 624 | "value": "W151", 625 | "zh_TW": "台灣文學與跨國文化研究所教師碩士在職專班", 626 | "en_US": "Taiwan Literature and Transnational Culture Studies" 627 | }, { 628 | "value": "W22", 629 | "zh_TW": "國際政治研究所碩士在職專班", 630 | "en_US": "International Politics" 631 | }, { 632 | "value": "W24", 633 | "zh_TW": "法律學系碩士在職專班", 634 | "en_US": "Law" 635 | }, { 636 | "value": "W27", 637 | "zh_TW": "高階經理人碩士在職專班", 638 | "en_US": "Business Administration" 639 | }, { 640 | "value": "W274", 641 | "zh_TW": "高階經理人碩士在職專班兩岸台商組", 642 | "en_US": "Business Administration" 643 | }, { 644 | "value": "W276", 645 | "zh_TW": "高階經理人中科碩士在職專班事業經營組", 646 | "en_US": "Business Administration" 647 | }, { 648 | "value": "W29", 649 | "zh_TW": "資訊管理學系碩士在職專班", 650 | "en_US": "Management Information Systems" 651 | }, { 652 | "value": "W34", 653 | "zh_TW": "應用經濟學系碩士在職專班", 654 | "en_US": "Applied Economics" 655 | }, { 656 | "value": "W42", 657 | "zh_TW": "水土保持學系碩士在職專班", 658 | "en_US": "Soil and Water Conservation" 659 | }, { 660 | "value": "W43", 661 | "zh_TW": "食品暨應用生物科技學系碩士在職專班", 662 | "en_US": "Food Science and Biotechnology" 663 | }, { 664 | "value": "W44", 665 | "zh_TW": "行銷學系碩士在職專班", 666 | "en_US": "Marketing" 667 | }, { 668 | "value": "W52", 669 | "zh_TW": "生命科學院碩士在職專班", 670 | "en_US": "Life Sciences" 671 | }, { 672 | "value": "W53", 673 | "zh_TW": "應用數學系碩士在職專班", 674 | "en_US": "Applied Mathematics" 675 | }, { 676 | "value": "W539", 677 | "zh_TW": "應用數學系中等學校教師在職進修數學教學碩士學位班", 678 | "en_US": "Mathematics in Teaching" 679 | }, { 680 | "value": "W546", 681 | "zh_TW": "物理學系(奈米電子與光電能源)中科碩士在職專班", 682 | "en_US": "Physics" 683 | }, { 684 | "value": "W56", 685 | "zh_TW": "資訊科學與工程學系碩士在職專班", 686 | "en_US": "Computer Science and Engineering" 687 | }, { 688 | "value": "W566", 689 | "zh_TW": "資訊科學與工程學系中科碩士在職專班", 690 | "en_US": "Computer Science and Engineering" 691 | }, { 692 | "value": "W61", 693 | "zh_TW": "機械工程學系碩士在職專班", 694 | "en_US": "Mechanical Engineering" 695 | }, { 696 | "value": "W62", 697 | "zh_TW": "土木工程學系碩士在職專班", 698 | "en_US": "Civil Engineering" 699 | }, { 700 | "value": "W63", 701 | "zh_TW": "環境工程學系碩士在職專班", 702 | "en_US": "Environmental Engineering" 703 | }, { 704 | "value": "W64", 705 | "zh_TW": "電機工程學系碩士在職專班", 706 | "en_US": "Electrical Engineering" 707 | }, { 708 | "value": "W65", 709 | "zh_TW": "化學工程學系碩士在職專班", 710 | "en_US": "Chemical Engineering" 711 | }, { 712 | "value": "W66", 713 | "zh_TW": "材料科學與工程學系碩士在職專班", 714 | "en_US": "Materials Science and Engineering" 715 | }, { 716 | "value": "W67", 717 | "zh_TW": "精密工程研究所碩士在職專班", 718 | "en_US": "Precision Engineering" 719 | }, { 720 | "value": "W676", 721 | "zh_TW": "精密工程研究所中科碩士在職專班", 722 | "en_US": "Precision Engineering" 723 | }, { 724 | "value": "W85", 725 | "zh_TW": "農業企業經營管理碩士在職專班", 726 | "en_US": "Agricultural Business Management" 727 | }, { 728 | "value": "W91", 729 | "zh_TW": "國家政策與公共事務研究所碩士在職專班", 730 | "en_US": "National Policy and Public Affairs" 731 | }, { 732 | "value": "W946", 733 | "zh_TW": "光電工程研究所中科碩士在職專班", 734 | "en_US": "Optoelectronic Engineering" 735 | }] 736 | }, { 737 | "degree": "N", 738 | "department": [{ 739 | "value": "C10", 740 | "zh_TW": "文學院", 741 | "en_US": "Liberal Arts" 742 | }, { 743 | "value": "C20", 744 | "zh_TW": "管理學院", 745 | "en_US": "Management" 746 | }, { 747 | "value": "C30", 748 | "zh_TW": "農業暨自然資源學院", 749 | "en_US": "Agriculture and Natural Resources" 750 | }, { 751 | "value": "N00", 752 | "zh_TW": "共同學科(進修學士班)", 753 | "en_US": "" 754 | }, { 755 | "value": "N01F", 756 | "zh_TW": "文化創意產業學士學位學程", 757 | "en_US": "Culture and Creative Iudustry" 758 | }, { 759 | "value": "N01G", 760 | "zh_TW": "創新產業經營學士學位學程", 761 | "en_US": "Innovation Iudustry Management" 762 | }, { 763 | "value": "N11", 764 | "zh_TW": "中國文學系進修學士班", 765 | "en_US": "Chinese Literature" 766 | }, { 767 | "value": "N12", 768 | "zh_TW": "外國語文學系進修學士班", 769 | "en_US": "Foreign Languages and Literatures" 770 | }, { 771 | "value": "N46", 772 | "zh_TW": "生物產業管理進修學士學位學程", 773 | "en_US": "Bio-Industry Management" 774 | }, { 775 | "value": "N79", 776 | "zh_TW": "企業管理學系進修學士班", 777 | "en_US": "Business Administration" 778 | }] 779 | }] -------------------------------------------------------------------------------- /json/new_department.json: -------------------------------------------------------------------------------- 1 | [{ 2 | "degree": "U", 3 | "department": [{ 4 | "value": "C10", 5 | "zh_TW": "文學院", 6 | "en_US": "Liberal Arts" 7 | }, { 8 | "value": "C20", 9 | "zh_TW": "管理學院", 10 | "en_US": "Management" 11 | }, { 12 | "value": "C30", 13 | "zh_TW": "農業暨自然資源學院", 14 | "en_US": "Agriculture and Natural Resources" 15 | }, { 16 | "value": "U11", 17 | "zh_TW": "中國文學系學士班", 18 | "en_US": "Chinese Literature" 19 | }, { 20 | "value": "U12", 21 | "zh_TW": "外國語文學系學士班", 22 | "en_US": "Foreign Languages and Literature" 23 | }, { 24 | "value": "U13", 25 | "zh_TW": "歷史學系學士班", 26 | "en_US": "History" 27 | }, { 28 | "value": "U21", 29 | "zh_TW": "財務金融學系學士班", 30 | "en_US": "Finance" 31 | }, { 32 | "value": "U23", 33 | "zh_TW": "企業管理學系學士班", 34 | "en_US": "Business Administration" 35 | }, { 36 | "value": "U24", 37 | "zh_TW": "法律學系學士班", 38 | "en_US": "Law" 39 | }, { 40 | "value": "U28", 41 | "zh_TW": "會計學系學士班", 42 | "en_US": "Accounting" 43 | }, { 44 | "value": "U29", 45 | "zh_TW": "資訊管理學系學士班", 46 | "en_US": "Management Information Systems" 47 | }, { 48 | "value": "U30F", 49 | "zh_TW": "景觀與遊憩學士學位學程", 50 | "en_US": "Landscape and Recreation" 51 | }, { 52 | "value": "U30G", 53 | "zh_TW": "生物科技學士學位學程", 54 | "en_US": "Bachelor Program of Biotechnology" 55 | }, { 56 | "value": "U30H", 57 | "zh_TW": "國際農企業學士學位學程", 58 | "en_US": "International Bachelor's Program of Agribusiness" 59 | }, { 60 | "value": "U31", 61 | "zh_TW": "農藝學系學士班", 62 | "en_US": "Agronomy" 63 | }, { 64 | "value": "U32", 65 | "zh_TW": "園藝學系學士班", 66 | "en_US": "Horticulture" 67 | }, { 68 | "value": "U33A", 69 | "zh_TW": "森林學系林學組學士班 A", 70 | "en_US": "Forestry A" 71 | }, { 72 | "value": "U33B", 73 | "zh_TW": "森林學系木材科學組學士班 B", 74 | "en_US": "Forestry B" 75 | }, { 76 | "value": "U34", 77 | "zh_TW": "應用經濟學系學士班", 78 | "en_US": "Applied Economics" 79 | }, { 80 | "value": "U35", 81 | "zh_TW": "植物病理學系學士班", 82 | "en_US": "Plant Pathology" 83 | }, { 84 | "value": "U36", 85 | "zh_TW": "昆蟲學系學士班", 86 | "en_US": "Entomology" 87 | }, { 88 | "value": "U37", 89 | "zh_TW": "動物科學系學士班", 90 | "en_US": "Animal Science" 91 | }, { 92 | "value": "U38B", 93 | "zh_TW": "獸醫學系學士班 B", 94 | "en_US": "Veterinary Medicine B" 95 | }, { 96 | "value": "U38A", 97 | "zh_TW": "獸醫學系學士班 A", 98 | "en_US": "Veterinary Medicine A" 99 | }, { 100 | "value": "U39", 101 | "zh_TW": "土壤環境科學系學士班", 102 | "en_US": "Soil and Environmental Sciences" 103 | }, { 104 | "value": "U40", 105 | "zh_TW": "生物產業機電工程學系學士班", 106 | "en_US": "Bio-Industrial Mechatronics Engineering" 107 | }, { 108 | "value": "U42", 109 | "zh_TW": "水土保持學系學士班", 110 | "en_US": "Soil and Water Conservation" 111 | }, { 112 | "value": "U43", 113 | "zh_TW": "食品暨應用生物科技學系學士班", 114 | "en_US": "Food Science and Biotechnology" 115 | }, { 116 | "value": "U44", 117 | "zh_TW": "行銷學系學士班", 118 | "en_US": "Marketing" 119 | }, { 120 | "value": "U51", 121 | "zh_TW": "化學系學士班", 122 | "en_US": "Chemistry" 123 | }, { 124 | "value": "U52", 125 | "zh_TW": "生命科學系學士班", 126 | "en_US": "Life Sciences" 127 | }, { 128 | "value": "U53B", 129 | "zh_TW": "應用數學系學士班 B", 130 | "en_US": "Applied Math B" 131 | }, { 132 | "value": "U53A", 133 | "zh_TW": "應用數學系學士班 A", 134 | "en_US": "Applied Math A" 135 | }, { 136 | "value": "U54A", 137 | "zh_TW": "物理學系一般物理組學士班 A", 138 | "en_US": "Physics A" 139 | }, { 140 | "value": "U54B", 141 | "zh_TW": "物理學系光電物理組學士班 B", 142 | "en_US": "Physics B" 143 | }, { 144 | "value": "U56", 145 | "zh_TW": "資訊科學與工程學系學士班", 146 | "en_US": "Computer Science and Engineering" 147 | }, { 148 | "value": "U61B", 149 | "zh_TW": "機械工程學系學士班 B", 150 | "en_US": "Mechanical Engineering B" 151 | }, { 152 | "value": "U61A", 153 | "zh_TW": "機械工程學系學士班 A", 154 | "en_US": "Mechanical Engineering A" 155 | }, { 156 | "value": "U62A", 157 | "zh_TW": "土木工程學系學士班 A", 158 | "en_US": "Civil Engineering A" 159 | }, { 160 | "value": "U62B", 161 | "zh_TW": "土木工程學系學士班 B", 162 | "en_US": "Civil Engineering B" 163 | }, { 164 | "value": "U63", 165 | "zh_TW": "環境工程學系學士班", 166 | "en_US": "Environmental Engineering" 167 | }, { 168 | "value": "U64A", 169 | "zh_TW": "電機工程學系學士班 A", 170 | "en_US": "Electrical Engineering A" 171 | }, { 172 | "value": "U64B", 173 | "zh_TW": "電機工程學系學士班 B", 174 | "en_US": "Electrical Engineering B" 175 | }, { 176 | "value": "U65", 177 | "zh_TW": "化學工程學系學士班", 178 | "en_US": "Chemical Engineering" 179 | }, { 180 | "value": "U66", 181 | "zh_TW": "材料科學與工程學系學士班", 182 | "en_US": "Materials Science and Engineering" 183 | }] 184 | }, { 185 | "degree": "G", 186 | "department": [{ 187 | "value": "B20", 188 | "zh_TW": "管理學院(研究所)", 189 | "en_US": "" 190 | }, { 191 | "value": "B60", 192 | "zh_TW": "工學院(研究所)", 193 | "en_US": "" 194 | }, { 195 | "value": "G11", 196 | "zh_TW": "中國文學系碩士班", 197 | "en_US": "Chinese Literatures" 198 | }, { 199 | "value": "G12", 200 | "zh_TW": "外國語文學系碩士班", 201 | "en_US": "Foreign Languages and Literatures" 202 | }, { 203 | "value": "G13", 204 | "zh_TW": "歷史學系碩士班", 205 | "en_US": "History" 206 | }, { 207 | "value": "G14", 208 | "zh_TW": "圖書資訊學研究所碩士班", 209 | "en_US": "Library and Information Science" 210 | }, { 211 | "value": "G15", 212 | "zh_TW": "台灣文學與跨國文化研究所碩士班", 213 | "en_US": "Taiwan Literature and Transnational Culture Studies" 214 | }, { 215 | "value": "G17", 216 | "zh_TW": "奈米科學研究所碩士班", 217 | "en_US": "Nanoscience" 218 | }, { 219 | "value": "G18", 220 | "zh_TW": "統計學研究所碩士班", 221 | "en_US": "Statistics" 222 | }, { 223 | "value": "G19", 224 | "zh_TW": "基因體暨生物資訊學研究所碩士班", 225 | "en_US": "Genomics and Bioinformatics" 226 | }, { 227 | "value": "G21", 228 | "zh_TW": "財務金融學系碩士班", 229 | "en_US": "Finance" 230 | }, { 231 | "value": "G22", 232 | "zh_TW": "國際政治研究所碩士班", 233 | "en_US": "International Politics" 234 | }, { 235 | "value": "G23", 236 | "zh_TW": "企業管理學系碩士班", 237 | "en_US": "Business Administration" 238 | }, { 239 | "value": "G24", 240 | "zh_TW": "法律學系科技法律碩士班", 241 | "en_US": "Law" 242 | }, { 243 | "value": "G26", 244 | "zh_TW": "科技管理研究所科技管理碩士班", 245 | "en_US": "Technology Management" 246 | }, { 247 | "value": "G261", 248 | "zh_TW": "科技管理研究所電子商務碩士班", 249 | "en_US": "Technology Management" 250 | }, { 251 | "value": "G28", 252 | "zh_TW": "會計學系碩士班", 253 | "en_US": "Accounting" 254 | }, { 255 | "value": "G29", 256 | "zh_TW": "資訊管理學系碩士班", 257 | "en_US": "Management Information Systems" 258 | }, { 259 | "value": "G30F", 260 | "zh_TW": "景觀與遊憩碩士學位學程", 261 | "en_US": "Landscape Design, Leisure and Recreation" 262 | }, { 263 | "value": "G30G", 264 | "zh_TW": "國際農學碩士學位學程", 265 | "en_US": "International Master Program of Agriculture" 266 | }, { 267 | "value": "G30I", 268 | "zh_TW": "農業經濟與行銷碩士學位學程", 269 | "en_US": "Agricultural Economics and Marketing" 270 | }, { 271 | "value": "G31", 272 | "zh_TW": "農藝學系碩士班", 273 | "en_US": "Agronomy" 274 | }, { 275 | "value": "G32", 276 | "zh_TW": "園藝學系碩士班", 277 | "en_US": "Horticulture" 278 | }, { 279 | "value": "G33", 280 | "zh_TW": "森林學系碩士班", 281 | "en_US": "Forestry" 282 | }, { 283 | "value": "G34", 284 | "zh_TW": "應用經濟學系碩士班", 285 | "en_US": "Applied Economics" 286 | }, { 287 | "value": "G35", 288 | "zh_TW": "植物病理學系碩士班", 289 | "en_US": "Plant Pathology" 290 | }, { 291 | "value": "G36", 292 | "zh_TW": "昆蟲學系碩士班", 293 | "en_US": "Entomology" 294 | }, { 295 | "value": "G37", 296 | "zh_TW": "動物科學系碩士班", 297 | "en_US": "Animal Science" 298 | }, { 299 | "value": "G38", 300 | "zh_TW": "獸醫學系碩士班", 301 | "en_US": "Veterinary Medicine" 302 | }, { 303 | "value": "G39", 304 | "zh_TW": "土壤環境科學系碩士班", 305 | "en_US": "Soil and Environmental Sciences" 306 | }, { 307 | "value": "G40", 308 | "zh_TW": "生物產業機電工程學系碩士班", 309 | "en_US": "Bio-Industrial Mechatronics Engineering" 310 | }, { 311 | "value": "G41", 312 | "zh_TW": "生物科技學研究所碩士班", 313 | "en_US": "Biotechnology" 314 | }, { 315 | "value": "G42", 316 | "zh_TW": "水土保持學系碩士班", 317 | "en_US": "Soil and Water Conservation" 318 | }, { 319 | "value": "G43", 320 | "zh_TW": "食品暨應用生物科技學系碩士班", 321 | "en_US": "Food Science and Biotechnology" 322 | }, { 323 | "value": "G44", 324 | "zh_TW": "行銷學系碩士班", 325 | "en_US": "Marketing" 326 | }, { 327 | "value": "G45", 328 | "zh_TW": "生物產業管理研究所碩士班", 329 | "en_US": "Bio-Industrial Management" 330 | }, { 331 | "value": "G46", 332 | "zh_TW": "微生物暨公共衛生學研究所碩士班", 333 | "en_US": "Microbiology and Public Health" 334 | }, { 335 | "value": "G47", 336 | "zh_TW": "獸醫病理生物學研究所碩士班", 337 | "en_US": "Veterinary Pathobiology" 338 | }, { 339 | "value": "G49", 340 | "zh_TW": "植物醫學暨安全農業碩士學位學程", 341 | "en_US": "Plant Medical Science and Safe Agriculture" 342 | }, { 343 | "value": "G51", 344 | "zh_TW": "化學系碩士班", 345 | "en_US": "Chemistry" 346 | }, { 347 | "value": "G52", 348 | "zh_TW": "生命科學系碩士班", 349 | "en_US": "Life Sciences" 350 | }, { 351 | "value": "G53", 352 | "zh_TW": "應用數學系碩士班", 353 | "en_US": "Applied Mathematics" 354 | }, { 355 | "value": "G531", 356 | "zh_TW": "應用數學系計算科學碩士班", 357 | "en_US": "Applied Mathematics" 358 | }, { 359 | "value": "G54", 360 | "zh_TW": "物理學系碩士班", 361 | "en_US": "Physic" 362 | }, { 363 | "value": "G541", 364 | "zh_TW": "物理學系生物物理學碩士班", 365 | "en_US": "Physics" 366 | }, { 367 | "value": "G55", 368 | "zh_TW": "分子生物學研究所碩士班", 369 | "en_US": "Molecular Biology" 370 | }, { 371 | "value": "G56", 372 | "zh_TW": "資訊科學與工程學系碩士班", 373 | "en_US": "Computer Science and Engineering" 374 | }, { 375 | "value": "G58", 376 | "zh_TW": "生物化學研究所碩士班", 377 | "en_US": "Biochemistry" 378 | }, { 379 | "value": "G59", 380 | "zh_TW": "生物醫學研究所碩士班", 381 | "en_US": "Biomedical Sciences" 382 | }, { 383 | "value": "G61", 384 | "zh_TW": "機械工程學系碩士班", 385 | "en_US": "Mechanical Engineering" 386 | }, { 387 | "value": "G62", 388 | "zh_TW": "土木工程學系碩士班", 389 | "en_US": "Civil Engineering" 390 | }, { 391 | "value": "G63", 392 | "zh_TW": "環境工程學系碩士班", 393 | "en_US": "Environmental Engineering" 394 | }, { 395 | "value": "G64", 396 | "zh_TW": "電機工程學系碩士班", 397 | "en_US": "Electrical Engineering" 398 | }, { 399 | "value": "G65", 400 | "zh_TW": "化學工程學系碩士班", 401 | "en_US": "Chemical Engineering" 402 | }, { 403 | "value": "G66", 404 | "zh_TW": "材料科學與工程學系碩士班", 405 | "en_US": "Materials Science and Engineering" 406 | }, { 407 | "value": "G67", 408 | "zh_TW": "精密工程研究所碩士班", 409 | "en_US": "Precision Engineering" 410 | }, { 411 | "value": "G68", 412 | "zh_TW": "生醫工程研究所碩士班", 413 | "en_US": "Biomedical Engineering" 414 | }, { 415 | "value": "G71", 416 | "zh_TW": "全球事務研究跨洲碩士學位學程", 417 | "en_US": "Global Studies" 418 | }, { 419 | "value": "G81", 420 | "zh_TW": "運動與健康管理研究所碩士班", 421 | "en_US": "Sports and Health Management" 422 | }, { 423 | "value": "G82", 424 | "zh_TW": "教師專業發展研究所碩士班", 425 | "en_US": "Professional Development for Educators" 426 | }, { 427 | "value": "G91", 428 | "zh_TW": "國家政策與公共事務研究所碩士班", 429 | "en_US": "National Policy and Public Affairs" 430 | }, { 431 | "value": "G93", 432 | "zh_TW": "通訊工程研究所碩士班", 433 | "en_US": "Communication Engineering" 434 | }, { 435 | "value": "G94", 436 | "zh_TW": "光電工程研究所碩士班", 437 | "en_US": "Optoelectronic Engineering" 438 | }] 439 | }, { 440 | "degree": "D", 441 | "department": [{ 442 | "value": "D01F", 443 | "zh_TW": "組織工程與再生醫學博士學位學程", 444 | "en_US": "Tissue Engineering and Regenrative Medicine" 445 | }, { 446 | "value": "D01G", 447 | "zh_TW": "微生物基因體學博士學位學程", 448 | "en_US": "Microbial Genomics" 449 | }, { 450 | "value": "D01H", 451 | "zh_TW": "醫學生物科技博士學位學程", 452 | "en_US": "Medical Biotechnology" 453 | }, { 454 | "value": "D10F", 455 | "zh_TW": "台灣與跨文化研究國際博士學位學程", 456 | "en_US": "Taiwan and Transcultural Studies" 457 | }, { 458 | "value": "D11", 459 | "zh_TW": "中國文學系博士班", 460 | "en_US": "Chinese Literature" 461 | }, { 462 | "value": "D13", 463 | "zh_TW": "歷史學系博士班", 464 | "en_US": "History" 465 | }, { 466 | "value": "D21", 467 | "zh_TW": "財務金融學系博士班", 468 | "en_US": "Finance" 469 | }, { 470 | "value": "D22", 471 | "zh_TW": "國際政治研究所博士班", 472 | "en_US": "International Politics" 473 | }, { 474 | "value": "D23", 475 | "zh_TW": "企業管理學系博士班", 476 | "en_US": "Business Administration" 477 | }, { 478 | "value": "D26", 479 | "zh_TW": "科技管理研究所科技管理博士班", 480 | "en_US": "Technology Management Doctoral Program" 481 | }, { 482 | "value": "D31", 483 | "zh_TW": "農藝學系博士班", 484 | "en_US": "Agronomy" 485 | }, { 486 | "value": "D32", 487 | "zh_TW": "園藝學系博士班", 488 | "en_US": "Horticulture" 489 | }, { 490 | "value": "D33", 491 | "zh_TW": "森林學系博士班", 492 | "en_US": "Forestry" 493 | }, { 494 | "value": "D34", 495 | "zh_TW": "應用經濟學系博士班", 496 | "en_US": "Applied Economics" 497 | }, { 498 | "value": "D35", 499 | "zh_TW": "植物病理學系博士班", 500 | "en_US": "Plant Pathology" 501 | }, { 502 | "value": "D36", 503 | "zh_TW": "昆蟲學系博士班", 504 | "en_US": "Entomology" 505 | }, { 506 | "value": "D37", 507 | "zh_TW": "動物科學系博士班", 508 | "en_US": "Animal Science" 509 | }, { 510 | "value": "D38", 511 | "zh_TW": "獸醫學系博士班", 512 | "en_US": "Veterinary Medicine" 513 | }, { 514 | "value": "D39", 515 | "zh_TW": "土壤環境科學系博士班", 516 | "en_US": "Soil and Environmental Sciences" 517 | }, { 518 | "value": "D40", 519 | "zh_TW": "生物產業機電工程學系博士班", 520 | "en_US": "Bio-Industrial Mechatronics Engineering" 521 | }, { 522 | "value": "D41", 523 | "zh_TW": "生物科技學研究所博士班", 524 | "en_US": "Biotechnology" 525 | }, { 526 | "value": "D42", 527 | "zh_TW": "水土保持學系博士班", 528 | "en_US": "Soil and Water Conservation" 529 | }, { 530 | "value": "D43", 531 | "zh_TW": "食品暨應用生物科技學系博士班", 532 | "en_US": "Food Science and Biotechnology" 533 | }, { 534 | "value": "D46", 535 | "zh_TW": "微生物暨公共衛生學研究所博士班", 536 | "en_US": "Microbiology and Public Health" 537 | }, { 538 | "value": "D47", 539 | "zh_TW": "獸醫病理生物學研究所博士班", 540 | "en_US": "Veterinary Pathobiology" 541 | }, { 542 | "value": "D51", 543 | "zh_TW": "化學系博士班", 544 | "en_US": "Chemistry" 545 | }, { 546 | "value": "D52", 547 | "zh_TW": "生命科學系博士班", 548 | "en_US": "Life Sciences" 549 | }, { 550 | "value": "D53", 551 | "zh_TW": "應用數學系博士班", 552 | "en_US": "Applied Mathematics" 553 | }, { 554 | "value": "D54", 555 | "zh_TW": "物理學系博士班", 556 | "en_US": "Physics" 557 | }, { 558 | "value": "D55", 559 | "zh_TW": "分子生物學研究所博士班", 560 | "en_US": "Molecular Biology" 561 | }, { 562 | "value": "D56", 563 | "zh_TW": "資訊科學與工程學系博士班", 564 | "en_US": "Computer Science and Engineering" 565 | }, { 566 | "value": "D58", 567 | "zh_TW": "生物化學研究所博士班", 568 | "en_US": "Biochemistry" 569 | }, { 570 | "value": "D59", 571 | "zh_TW": "生物醫學研究所博士班", 572 | "en_US": "Biomedical Sciences" 573 | }, { 574 | "value": "D61", 575 | "zh_TW": "機械工程學系博士班", 576 | "en_US": "Mechanical Engineering" 577 | }, { 578 | "value": "D62", 579 | "zh_TW": "土木工程學系博士班", 580 | "en_US": "Civil Engineering" 581 | }, { 582 | "value": "D63", 583 | "zh_TW": "環境工程學系博士班", 584 | "en_US": "Environmental Engineering" 585 | }, { 586 | "value": "D64", 587 | "zh_TW": "電機工程學系博士班", 588 | "en_US": "Electrical Engineering" 589 | }, { 590 | "value": "D65", 591 | "zh_TW": "化學工程學系博士班", 592 | "en_US": "Chemical Engineering" 593 | }, { 594 | "value": "D66", 595 | "zh_TW": "材料科學與工程學系博士班", 596 | "en_US": "Materials Science and Engineering" 597 | }, { 598 | "value": "D67", 599 | "zh_TW": "精密工程研究所博士班", 600 | "en_US": "Precision Engineering" 601 | }, { 602 | "value": "D80F", 603 | "zh_TW": "轉譯醫學博士學位學程", 604 | "en_US": "Translation Medicine" 605 | }] 606 | }, { 607 | "degree": "R", 608 | "department": [{ 609 | "value": "R672", 610 | "zh_TW": "精密工程研究所LED產業碩士專班", 611 | "en_US": "Light Emitting Diode Engineering" 612 | }] 613 | }, { 614 | "degree": "W", 615 | "department": [{ 616 | "value": "W11", 617 | "zh_TW": "中國文學系碩士在職專班", 618 | "en_US": "Chinese Literature" 619 | }, { 620 | "value": "W13", 621 | "zh_TW": "歷史學系碩士在職專班", 622 | "en_US": "History" 623 | }, { 624 | "value": "W151", 625 | "zh_TW": "台灣文學與跨國文化研究所教師碩士在職專班", 626 | "en_US": "Taiwan Literature and Transnational Culture Studies" 627 | }, { 628 | "value": "W22", 629 | "zh_TW": "國際政治研究所碩士在職專班", 630 | "en_US": "International Politics" 631 | }, { 632 | "value": "W24", 633 | "zh_TW": "法律學系碩士在職專班", 634 | "en_US": "Law" 635 | }, { 636 | "value": "W27", 637 | "zh_TW": "高階經理人碩士在職專班", 638 | "en_US": "Business Administration" 639 | }, { 640 | "value": "W274", 641 | "zh_TW": "高階經理人碩士在職專班兩岸台商組", 642 | "en_US": "Business Administration" 643 | }, { 644 | "value": "W276", 645 | "zh_TW": "高階經理人中科碩士在職專班事業經營組", 646 | "en_US": "Business Administration" 647 | }, { 648 | "value": "W29", 649 | "zh_TW": "資訊管理學系碩士在職專班", 650 | "en_US": "Management Information Systems" 651 | }, { 652 | "value": "W34", 653 | "zh_TW": "應用經濟學系碩士在職專班", 654 | "en_US": "Applied Economics" 655 | }, { 656 | "value": "W42", 657 | "zh_TW": "水土保持學系碩士在職專班", 658 | "en_US": "Soil and Water Conservation" 659 | }, { 660 | "value": "W43", 661 | "zh_TW": "食品暨應用生物科技學系碩士在職專班", 662 | "en_US": "Food Science and Biotechnology" 663 | }, { 664 | "value": "W44", 665 | "zh_TW": "行銷學系碩士在職專班", 666 | "en_US": "Marketing" 667 | }, { 668 | "value": "W52", 669 | "zh_TW": "生命科學院碩士在職專班", 670 | "en_US": "Life Sciences" 671 | }, { 672 | "value": "W53", 673 | "zh_TW": "應用數學系碩士在職專班", 674 | "en_US": "Applied Mathematics" 675 | }, { 676 | "value": "W539", 677 | "zh_TW": "應用數學系中等學校教師在職進修數學教學碩士學位班", 678 | "en_US": "Mathematics in Teaching" 679 | }, { 680 | "value": "W546", 681 | "zh_TW": "物理學系(奈米電子與光電能源)中科碩士在職專班", 682 | "en_US": "Physics" 683 | }, { 684 | "value": "W56", 685 | "zh_TW": "資訊科學與工程學系碩士在職專班", 686 | "en_US": "Computer Science and Engineering" 687 | }, { 688 | "value": "W566", 689 | "zh_TW": "資訊科學與工程學系中科碩士在職專班", 690 | "en_US": "Computer Science and Engineering" 691 | }, { 692 | "value": "W61", 693 | "zh_TW": "機械工程學系碩士在職專班", 694 | "en_US": "Mechanical Engineering" 695 | }, { 696 | "value": "W62", 697 | "zh_TW": "土木工程學系碩士在職專班", 698 | "en_US": "Civil Engineering" 699 | }, { 700 | "value": "W63", 701 | "zh_TW": "環境工程學系碩士在職專班", 702 | "en_US": "Environmental Engineering" 703 | }, { 704 | "value": "W64", 705 | "zh_TW": "電機工程學系碩士在職專班", 706 | "en_US": "Electrical Engineering" 707 | }, { 708 | "value": "W65", 709 | "zh_TW": "化學工程學系碩士在職專班", 710 | "en_US": "Chemical Engineering" 711 | }, { 712 | "value": "W66", 713 | "zh_TW": "材料科學與工程學系碩士在職專班", 714 | "en_US": "Materials Science and Engineering" 715 | }, { 716 | "value": "W67", 717 | "zh_TW": "精密工程研究所碩士在職專班", 718 | "en_US": "Precision Engineering" 719 | }, { 720 | "value": "W676", 721 | "zh_TW": "精密工程研究所中科碩士在職專班", 722 | "en_US": "Precision Engineering" 723 | }, { 724 | "value": "W85", 725 | "zh_TW": "農業企業經營管理碩士在職專班", 726 | "en_US": "Agricultural Business Management" 727 | }, { 728 | "value": "W91", 729 | "zh_TW": "國家政策與公共事務研究所碩士在職專班", 730 | "en_US": "National Policy and Public Affairs" 731 | }, { 732 | "value": "W946", 733 | "zh_TW": "光電工程研究所中科碩士在職專班", 734 | "en_US": "Optoelectronic Engineering" 735 | }] 736 | }, { 737 | "degree": "N", 738 | "department": [{ 739 | "value": "C10", 740 | "zh_TW": "文學院", 741 | "en_US": "Liberal Arts" 742 | }, { 743 | "value": "C20", 744 | "zh_TW": "管理學院", 745 | "en_US": "Management" 746 | }, { 747 | "value": "C30", 748 | "zh_TW": "農業暨自然資源學院", 749 | "en_US": "Agriculture and Natural Resources" 750 | }, { 751 | "value": "N00", 752 | "zh_TW": "共同學科(進修學士班)", 753 | "en_US": "" 754 | }, { 755 | "value": "N01F", 756 | "zh_TW": "文化創意產業學士學位學程", 757 | "en_US": "Culture and Creative Iudustry" 758 | }, { 759 | "value": "N01G", 760 | "zh_TW": "創新產業經營學士學位學程", 761 | "en_US": "Innovation Iudustry Management" 762 | }, { 763 | "value": "N11", 764 | "zh_TW": "中國文學系進修學士班", 765 | "en_US": "Chinese Literature" 766 | }, { 767 | "value": "N12", 768 | "zh_TW": "外國語文學系進修學士班", 769 | "en_US": "Foreign Languages and Literatures" 770 | }, { 771 | "value": "N46", 772 | "zh_TW": "生物產業管理進修學士學位學程", 773 | "en_US": "Bio-Industry Management" 774 | }, { 775 | "value": "N79", 776 | "zh_TW": "企業管理學系進修學士班", 777 | "en_US": "Business Administration" 778 | }] 779 | }] -------------------------------------------------------------------------------- /json/url_base.json: -------------------------------------------------------------------------------- 1 | ["https://onepiece.nchu.edu.tw/cofsys/plsql/Syllabus_main_q?v_strm=1042&v_class_nbr=","14:26:36"] -------------------------------------------------------------------------------- /shell-script/backup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Program: 3 | # Program automatically backup my nchu json. 4 | # History: 5 | # 2016/01/01 david First release 6 | 7 | # 3. 開始利用 date 指令來取得所需要的檔名了; 8 | date=$(date +%Y%m%d) # 今天的日期 9 | #要把指令的結果回傳給變數的話要寫$( command ) 10 | time=$(date | awk '{print $4}') 11 | folder="${date}-${time}" 12 | 13 | #echo "${folder}" 14 | cp -r /var/www/html/CoursePickingHelper/json /var/www/html/CoursePickingHelper/backup-json/${folder} 15 | -------------------------------------------------------------------------------- /shell-script/crontab_file: -------------------------------------------------------------------------------- 1 | # Edit this file to introduce tasks to be run by cron. 2 | # 3 | # Each task to run has to be defined through a single line 4 | # indicating with different fields when the task will be run 5 | # and what command to run for the task 6 | # 7 | # To define the time you can provide concrete values for 8 | # minute (m), hour (h), day of month (dom), month (mon), 9 | # and day of week (dow) or use '*' in these fields (for 'any').# 10 | # Notice that tasks will be started based on the cron's system 11 | # daemon's notion of time and timezones. 12 | # 13 | # Output of the crontab jobs (including errors) is sent through 14 | # email to the user the crontab file belongs to (unless redirected). 15 | # 16 | # For example, you can run a backup of all your user accounts 17 | # at 5 a.m every week with: 18 | # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/ 19 | # 20 | # For more information see the manual pages of crontab(5) and cron(8) 21 | # 22 | # m h dom mon dow command 23 | * * * * * python3 /var/www/html/Python-Crawler/nchu/CoursePickingHelper.py 24 | * * * * * bash ~/www/CoursePickingHelper/shell-script/updatejson.sh 25 | 0 0 7 * * bash ~/www/CoursePickingHelper/shell-script/backup.sh 26 | -------------------------------------------------------------------------------- /shell-script/updatejson.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #update:mv new json to coursepickinghelper/json 3 | time=$(date | awk '{print $4}') 4 | #要把指令的結果回傳給變數的話要寫$( command ) 5 | cp -r /var/www/html/Python-Crawler/nchu/json /var/www/html/CoursePickingHelper 6 | echo "[\"https://onepiece.nchu.edu.tw/cofsys/plsql/Syllabus_main_q?v_strm=1042&v_class_nbr=\",\"${time}\"]" > /var/www/html/CoursePickingHelper/json/url_base.json 7 | exit 0 8 | -------------------------------------------------------------------------------- /toastr/toastr.css: -------------------------------------------------------------------------------- 1 | .toast-title { 2 | font-weight: bold; 3 | } 4 | .toast-message { 5 | -ms-word-wrap: break-word; 6 | word-wrap: break-word; 7 | } 8 | .toast-message a, 9 | .toast-message label { 10 | color: #ffffff; 11 | } 12 | .toast-message a:hover { 13 | color: #cccccc; 14 | text-decoration: none; 15 | } 16 | .toast-close-button { 17 | position: relative; 18 | right: -0.3em; 19 | top: -0.3em; 20 | float: right; 21 | font-size: 20px; 22 | font-weight: bold; 23 | color: #ffffff; 24 | -webkit-text-shadow: 0 1px 0 #ffffff; 25 | text-shadow: 0 1px 0 #ffffff; 26 | opacity: 0.8; 27 | -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80); 28 | filter: alpha(opacity=80); 29 | } 30 | .toast-close-button:hover, 31 | .toast-close-button:focus { 32 | color: #000000; 33 | text-decoration: none; 34 | cursor: pointer; 35 | opacity: 0.4; 36 | -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40); 37 | filter: alpha(opacity=40); 38 | } 39 | /*Additional properties for button version 40 | iOS requires the button element instead of an anchor tag. 41 | If you want the anchor version, it requires `href="#"`.*/ 42 | button.toast-close-button { 43 | padding: 0; 44 | cursor: pointer; 45 | background: transparent; 46 | border: 0; 47 | -webkit-appearance: none; 48 | } 49 | .toast-top-center { 50 | top: 0; 51 | right: 0; 52 | width: 100%; 53 | } 54 | .toast-bottom-center { 55 | bottom: 0; 56 | right: 0; 57 | width: 100%; 58 | } 59 | .toast-top-full-width { 60 | top: 0; 61 | right: 0; 62 | width: 100%; 63 | } 64 | .toast-bottom-full-width { 65 | bottom: 0; 66 | right: 0; 67 | width: 100%; 68 | } 69 | .toast-top-left { 70 | top: 12px; 71 | left: 12px; 72 | } 73 | .toast-top-right { 74 | top: 12px; 75 | right: 12px; 76 | } 77 | .toast-bottom-right { 78 | right: 12px; 79 | bottom: 12px; 80 | } 81 | .toast-bottom-left { 82 | bottom: 12px; 83 | left: 12px; 84 | } 85 | #toast-container { 86 | position: fixed; 87 | z-index: 999999; 88 | /*overrides*/ 89 | 90 | } 91 | #toast-container * { 92 | -moz-box-sizing: border-box; 93 | -webkit-box-sizing: border-box; 94 | box-sizing: border-box; 95 | } 96 | #toast-container > div { 97 | position: relative; 98 | overflow: hidden; 99 | margin: 0 0 6px; 100 | padding: 15px 15px 15px 50px; 101 | width: 300px; 102 | -moz-border-radius: 3px 3px 3px 3px; 103 | -webkit-border-radius: 3px 3px 3px 3px; 104 | border-radius: 3px 3px 3px 3px; 105 | background-position: 15px center; 106 | background-repeat: no-repeat; 107 | -moz-box-shadow: 0 0 12px #999999; 108 | -webkit-box-shadow: 0 0 12px #999999; 109 | box-shadow: 0 0 12px #999999; 110 | color: #ffffff; 111 | opacity: 0.8; 112 | -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80); 113 | filter: alpha(opacity=80); 114 | } 115 | #toast-container > :hover { 116 | -moz-box-shadow: 0 0 12px #000000; 117 | -webkit-box-shadow: 0 0 12px #000000; 118 | box-shadow: 0 0 12px #000000; 119 | opacity: 1; 120 | -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); 121 | filter: alpha(opacity=100); 122 | cursor: pointer; 123 | } 124 | #toast-container > .toast-info { 125 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=") !important; 126 | } 127 | #toast-container > .toast-error { 128 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=") !important; 129 | } 130 | #toast-container > .toast-success { 131 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==") !important; 132 | } 133 | #toast-container > .toast-warning { 134 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=") !important; 135 | } 136 | #toast-container.toast-top-center > div, 137 | #toast-container.toast-bottom-center > div { 138 | width: 300px; 139 | margin: auto; 140 | } 141 | #toast-container.toast-top-full-width > div, 142 | #toast-container.toast-bottom-full-width > div { 143 | width: 96%; 144 | margin: auto; 145 | } 146 | .toast { 147 | background-color: #030303; 148 | } 149 | .toast-success { 150 | background-color: #51a351; 151 | } 152 | .toast-error { 153 | background-color: #bd362f; 154 | } 155 | .toast-info { 156 | background-color: #2f96b4; 157 | } 158 | .toast-warning { 159 | background-color: #f89406; 160 | } 161 | .toast-progress { 162 | position: absolute; 163 | left: 0; 164 | bottom: 0; 165 | height: 4px; 166 | background-color: #000000; 167 | opacity: 0.4; 168 | -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40); 169 | filter: alpha(opacity=40); 170 | } 171 | /*Responsive Design*/ 172 | @media all and (max-width: 240px) { 173 | #toast-container > div { 174 | padding: 8px 8px 8px 50px; 175 | width: 11em; 176 | } 177 | #toast-container .toast-close-button { 178 | right: -0.2em; 179 | top: -0.2em; 180 | } 181 | } 182 | @media all and (min-width: 241px) and (max-width: 480px) { 183 | #toast-container > div { 184 | padding: 8px 8px 8px 50px; 185 | width: 18em; 186 | } 187 | #toast-container .toast-close-button { 188 | right: -0.2em; 189 | top: -0.2em; 190 | } 191 | } 192 | @media all and (min-width: 481px) and (max-width: 768px) { 193 | #toast-container > div { 194 | padding: 15px 15px 15px 50px; 195 | width: 25em; 196 | } 197 | } -------------------------------------------------------------------------------- /toastr/toastr.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Toastr 3 | * Copyright 2012-2015 4 | * Authors: John Papa, Hans Fjällemark, and Tim Ferrell. 5 | * All Rights Reserved. 6 | * Use, reproduction, distribution, and modification of this code is subject to the terms and 7 | * conditions of the MIT license, available at http://www.opensource.org/licenses/mit-license.php 8 | * 9 | * ARIA Support: Greta Krafsig 10 | * 11 | * Project: https://github.com/CodeSeven/toastr 12 | */ 13 | /* global define */ 14 | ; (function (define) { 15 | define(['jquery'], function ($) { 16 | return (function () { 17 | var $container; 18 | var listener; 19 | var toastId = 0; 20 | var toastType = { 21 | error: 'error', 22 | info: 'info', 23 | success: 'success', 24 | warning: 'warning' 25 | }; 26 | 27 | var toastr = { 28 | clear: clear, 29 | remove: remove, 30 | error: error, 31 | getContainer: getContainer, 32 | info: info, 33 | options: {}, 34 | subscribe: subscribe, 35 | success: success, 36 | version: '2.1.1', 37 | warning: warning 38 | }; 39 | 40 | var previousToast; 41 | 42 | return toastr; 43 | 44 | //////////////// 45 | 46 | function error(message, title, optionsOverride) { 47 | return notify({ 48 | type: toastType.error, 49 | iconClass: getOptions().iconClasses.error, 50 | message: message, 51 | optionsOverride: optionsOverride, 52 | title: title 53 | }); 54 | } 55 | 56 | function getContainer(options, create) { 57 | if (!options) { options = getOptions(); } 58 | $container = $('#' + options.containerId); 59 | if ($container.length) { 60 | return $container; 61 | } 62 | if (create) { 63 | $container = createContainer(options); 64 | } 65 | return $container; 66 | } 67 | 68 | function info(message, title, optionsOverride) { 69 | return notify({ 70 | type: toastType.info, 71 | iconClass: getOptions().iconClasses.info, 72 | message: message, 73 | optionsOverride: optionsOverride, 74 | title: title 75 | }); 76 | } 77 | 78 | function subscribe(callback) { 79 | listener = callback; 80 | } 81 | 82 | function success(message, title, optionsOverride) { 83 | return notify({ 84 | type: toastType.success, 85 | iconClass: getOptions().iconClasses.success, 86 | message: message, 87 | optionsOverride: optionsOverride, 88 | title: title 89 | }); 90 | } 91 | 92 | function warning(message, title, optionsOverride) { 93 | return notify({ 94 | type: toastType.warning, 95 | iconClass: getOptions().iconClasses.warning, 96 | message: message, 97 | optionsOverride: optionsOverride, 98 | title: title 99 | }); 100 | } 101 | 102 | function clear($toastElement, clearOptions) { 103 | var options = getOptions(); 104 | if (!$container) { getContainer(options); } 105 | if (!clearToast($toastElement, options, clearOptions)) { 106 | clearContainer(options); 107 | } 108 | } 109 | 110 | function remove($toastElement) { 111 | var options = getOptions(); 112 | if (!$container) { getContainer(options); } 113 | if ($toastElement && $(':focus', $toastElement).length === 0) { 114 | removeToast($toastElement); 115 | return; 116 | } 117 | if ($container.children().length) { 118 | $container.remove(); 119 | } 120 | } 121 | 122 | // internal functions 123 | 124 | function clearContainer (options) { 125 | var toastsToClear = $container.children(); 126 | for (var i = toastsToClear.length - 1; i >= 0; i--) { 127 | clearToast($(toastsToClear[i]), options); 128 | } 129 | } 130 | 131 | function clearToast ($toastElement, options, clearOptions) { 132 | var force = clearOptions && clearOptions.force ? clearOptions.force : false; 133 | if ($toastElement && (force || $(':focus', $toastElement).length === 0)) { 134 | $toastElement[options.hideMethod]({ 135 | duration: options.hideDuration, 136 | easing: options.hideEasing, 137 | complete: function () { removeToast($toastElement); } 138 | }); 139 | return true; 140 | } 141 | return false; 142 | } 143 | 144 | function createContainer(options) { 145 | $container = $('
') 146 | .attr('id', options.containerId) 147 | .addClass(options.positionClass) 148 | .attr('aria-live', 'polite') 149 | .attr('role', 'alert'); 150 | 151 | $container.appendTo($(options.target)); 152 | return $container; 153 | } 154 | 155 | function getDefaults() { 156 | return { 157 | tapToDismiss: true, 158 | toastClass: 'toast', 159 | containerId: 'toast-container', 160 | debug: false, 161 | 162 | showMethod: 'fadeIn', //fadeIn, slideDown, and show are built into jQuery 163 | showDuration: 300, 164 | showEasing: 'swing', //swing and linear are built into jQuery 165 | onShown: undefined, 166 | hideMethod: 'fadeOut', 167 | hideDuration: 1000, 168 | hideEasing: 'swing', 169 | onHidden: undefined, 170 | 171 | extendedTimeOut: 1000, 172 | iconClasses: { 173 | error: 'toast-error', 174 | info: 'toast-info', 175 | success: 'toast-success', 176 | warning: 'toast-warning' 177 | }, 178 | iconClass: 'toast-info', 179 | /************改變位置 不會 所以從這裡改XD************/ 180 | positionClass: 'toast-top-right', 181 | timeOut: 5000, // Set timeOut and extendedTimeOut to 0 to make it sticky 182 | titleClass: 'toast-title', 183 | messageClass: 'toast-message', 184 | target: 'body', 185 | closeHtml: '', 186 | newestOnTop: true, 187 | preventDuplicates: false, 188 | progressBar: false 189 | }; 190 | } 191 | 192 | function publish(args) { 193 | if (!listener) { return; } 194 | listener(args); 195 | } 196 | 197 | function notify(map) { 198 | var options = getOptions(); 199 | var iconClass = map.iconClass || options.iconClass; 200 | 201 | if (typeof (map.optionsOverride) !== 'undefined') { 202 | options = $.extend(options, map.optionsOverride); 203 | iconClass = map.optionsOverride.iconClass || iconClass; 204 | } 205 | 206 | if (shouldExit(options, map)) { return; } 207 | 208 | toastId++; 209 | 210 | $container = getContainer(options, true); 211 | 212 | var intervalId = null; 213 | var $toastElement = $('
'); 214 | var $titleElement = $('
'); 215 | var $messageElement = $('
'); 216 | var $progressElement = $('
'); 217 | var $closeElement = $(options.closeHtml); 218 | var progressBar = { 219 | intervalId: null, 220 | hideEta: null, 221 | maxHideTime: null 222 | }; 223 | var response = { 224 | toastId: toastId, 225 | state: 'visible', 226 | startTime: new Date(), 227 | options: options, 228 | map: map 229 | }; 230 | 231 | personalizeToast(); 232 | 233 | displayToast(); 234 | 235 | handleEvents(); 236 | 237 | publish(response); 238 | 239 | if (options.debug && console) { 240 | console.log(response); 241 | } 242 | 243 | return $toastElement; 244 | 245 | function personalizeToast() { 246 | setIcon(); 247 | setTitle(); 248 | setMessage(); 249 | setCloseButton(); 250 | setProgressBar(); 251 | setSequence(); 252 | } 253 | 254 | function handleEvents() { 255 | $toastElement.hover(stickAround, delayedHideToast); 256 | if (!options.onclick && options.tapToDismiss) { 257 | $toastElement.click(hideToast); 258 | } 259 | 260 | if (options.closeButton && $closeElement) { 261 | $closeElement.click(function (event) { 262 | if (event.stopPropagation) { 263 | event.stopPropagation(); 264 | } else if (event.cancelBubble !== undefined && event.cancelBubble !== true) { 265 | event.cancelBubble = true; 266 | } 267 | hideToast(true); 268 | }); 269 | } 270 | 271 | if (options.onclick) { 272 | $toastElement.click(function () { 273 | options.onclick(); 274 | hideToast(); 275 | }); 276 | } 277 | } 278 | 279 | function displayToast() { 280 | $toastElement.hide(); 281 | 282 | $toastElement[options.showMethod]( 283 | {duration: options.showDuration, easing: options.showEasing, complete: options.onShown} 284 | ); 285 | 286 | if (options.timeOut > 0) { 287 | intervalId = setTimeout(hideToast, options.timeOut); 288 | progressBar.maxHideTime = parseFloat(options.timeOut); 289 | progressBar.hideEta = new Date().getTime() + progressBar.maxHideTime; 290 | if (options.progressBar) { 291 | progressBar.intervalId = setInterval(updateProgress, 10); 292 | } 293 | } 294 | } 295 | 296 | function setIcon() { 297 | if (map.iconClass) { 298 | $toastElement.addClass(options.toastClass).addClass(iconClass); 299 | } 300 | } 301 | 302 | function setSequence() { 303 | if (options.newestOnTop) { 304 | $container.prepend($toastElement); 305 | } else { 306 | $container.append($toastElement); 307 | } 308 | } 309 | 310 | function setTitle() { 311 | if (map.title) { 312 | $titleElement.append(map.title).addClass(options.titleClass); 313 | $toastElement.append($titleElement); 314 | } 315 | } 316 | 317 | function setMessage() { 318 | if (map.message) { 319 | $messageElement.append(map.message).addClass(options.messageClass); 320 | $toastElement.append($messageElement); 321 | } 322 | } 323 | 324 | function setCloseButton() { 325 | if (options.closeButton) { 326 | $closeElement.addClass('toast-close-button').attr('role', 'button'); 327 | $toastElement.prepend($closeElement); 328 | } 329 | } 330 | 331 | function setProgressBar() { 332 | if (options.progressBar) { 333 | $progressElement.addClass('toast-progress'); 334 | $toastElement.prepend($progressElement); 335 | } 336 | } 337 | 338 | function shouldExit(options, map) { 339 | if (options.preventDuplicates) { 340 | if (map.message === previousToast) { 341 | return true; 342 | } else { 343 | previousToast = map.message; 344 | } 345 | } 346 | return false; 347 | } 348 | 349 | function hideToast(override) { 350 | if ($(':focus', $toastElement).length && !override) { 351 | return; 352 | } 353 | clearTimeout(progressBar.intervalId); 354 | return $toastElement[options.hideMethod]({ 355 | duration: options.hideDuration, 356 | easing: options.hideEasing, 357 | complete: function () { 358 | removeToast($toastElement); 359 | if (options.onHidden && response.state !== 'hidden') { 360 | options.onHidden(); 361 | } 362 | response.state = 'hidden'; 363 | response.endTime = new Date(); 364 | publish(response); 365 | } 366 | }); 367 | } 368 | 369 | function delayedHideToast() { 370 | if (options.timeOut > 0 || options.extendedTimeOut > 0) { 371 | intervalId = setTimeout(hideToast, options.extendedTimeOut); 372 | progressBar.maxHideTime = parseFloat(options.extendedTimeOut); 373 | progressBar.hideEta = new Date().getTime() + progressBar.maxHideTime; 374 | } 375 | } 376 | 377 | function stickAround() { 378 | clearTimeout(intervalId); 379 | progressBar.hideEta = 0; 380 | $toastElement.stop(true, true)[options.showMethod]( 381 | {duration: options.showDuration, easing: options.showEasing} 382 | ); 383 | } 384 | 385 | function updateProgress() { 386 | var percentage = ((progressBar.hideEta - (new Date().getTime())) / progressBar.maxHideTime) * 100; 387 | $progressElement.width(percentage + '%'); 388 | } 389 | } 390 | 391 | function getOptions() { 392 | return $.extend({}, getDefaults(), toastr.options); 393 | } 394 | 395 | function removeToast($toastElement) { 396 | if (!$container) { $container = getContainer(); } 397 | if ($toastElement.is(':visible')) { 398 | return; 399 | } 400 | $toastElement.remove(); 401 | $toastElement = null; 402 | if ($container.children().length === 0) { 403 | $container.remove(); 404 | previousToast = undefined; 405 | } 406 | } 407 | 408 | })(); 409 | }); 410 | }(typeof define === 'function' && define.amd ? define : function (deps, factory) { 411 | if (typeof module !== 'undefined' && module.exports) { //Node 412 | module.exports = factory(require('jquery')); 413 | } else { 414 | window['toastr'] = factory(window['jQuery']); 415 | } 416 | })); --------------------------------------------------------------------------------