2
2
3
3
[ ![ Build Status] ( https://travis-ci.org/Yukaii/ics-scheduler.svg?branch=master )] ( https://travis-ci.org/Yukaii/ics-scheduler )
4
4
5
- 繼承原專案 [ Neson/NTUST-ics-Class-Schedule ] ( https://github.com/Neson/NTUST-ics-Class-Schedule ) ,為了用 GitHub Pages 免費部屬,改成完全用 Client Side JavaScript 的架構 : heart :
5
+ ![ preview ] ( ./docs/images/screenshot-1.png )
6
6
7
- 架構保留擴充其它學校的可能 。
7
+ 一個把學校課表轉成 ics 格式(iCalendar, [ RFC 5545 ] ( https://tools.ietf.org/html/rfc5545 ) ) 的工具 : heart : 。 改寫自 Neson 有四年歷史(!)的專案 [ NTUST-ics-Class-Schedule ] ( https://github.com/Neson/NTUST-ics-Class-Schedule ) ,為了用 GitHub Pages 免費部屬,由原本的 PHP 架構改用客端 JavaScript 重新寫過。去掉資料庫,取而代之是 [ 純粹 JSON 檔案 ] ( https://github.com/Yukaii/ics-scheduler/tree/gh-pages ) 的資料儲存 。
8
8
9
- ## Dependencies
9
+ 前端使用 Bootstrap v4 alpha 以及 jQuery 3。雖然已經 2016,不過做架構簡單的東西,這樣就夠了 : sweat_smile :
10
10
11
- * Node Js (6.2 up)
11
+ 目前支援 NTUST。
12
12
13
13
## Development
14
14
15
+ 請確定已安裝 [ Node.js] ( https://nodejs.org ) 。
16
+
17
+ 本專案採用 [ brunch] ( http://brunch.io ) 作為建置工具,總之設定檔比 webpack 少寫很多 :laughing :
18
+
15
19
``` bash
16
20
npm install
17
21
npm install brunch -g
18
22
brunch watch --server
19
23
```
20
24
21
- ### Build
25
+ ### Build for production
22
26
23
27
``` bash
24
28
brunch build --production
25
29
```
26
30
27
31
### Run crawler
28
32
33
+ 爬蟲目前一概放在 ` bin ` 目錄底下。
34
+
29
35
``` bash
30
36
./bin/ntust
31
37
```
@@ -40,7 +46,7 @@ brunch build --production
40
46
" lecturer" : " 王恩美" ,
41
47
" periods" : [
42
48
{
43
- " day" : 2 ,
49
+ " day" : 2 , // 禮拜二
44
50
" time" : " 09:10-10:00" ,
45
51
" location" : " 本部 樸407"
46
52
},
@@ -57,3 +63,36 @@ brunch build --production
57
63
]
58
64
}
59
65
```
66
+
67
+ ## Deployment
68
+
69
+ 本專案使用 Travis CI 做 Continous Deployment,自動部屬到 GitHub Pages 上,可以參考 [ PR #2 ] ( https://github.com/Yukaii/ics-scheduler/pull/2 ) 。
70
+
71
+ ## Contribution
72
+
73
+ * 爬蟲
74
+ * 課程 JSON 包
75
+
76
+ ## License
77
+
78
+ MIT License
79
+
80
+ Copyright (c) 2016 Yukai Huang
81
+
82
+ Permission is hereby granted, free of charge, to any person obtaining a copy
83
+ of this software and associated documentation files (the "Software"), to deal
84
+ in the Software without restriction, including without limitation the rights
85
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
86
+ copies of the Software, and to permit persons to whom the Software is
87
+ furnished to do so, subject to the following conditions:
88
+
89
+ The above copyright notice and this permission notice shall be included in all
90
+ copies or substantial portions of the Software.
91
+
92
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
93
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
94
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
95
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
96
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
97
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
98
+ SOFTWARE.
0 commit comments