Skip to content

Commit

Permalink
Merge branch 'release/v1.0.0'
Browse files Browse the repository at this point in the history
1. Migrate bower to yarn for dependency management.
2. Remove vghks mode switch and standard dev setting.
3. Change export excel format to xlsx, due to lib upgrade.
4. Add vghks style in exporting excel.
5. Fix event dialog behavior. (#55)
  • Loading branch information
tsaiid committed Nov 14, 2017
2 parents 33199fc + 6aafdc3 commit dff4c51
Show file tree
Hide file tree
Showing 17 changed files with 3,217 additions and 705 deletions.
10 changes: 10 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"extends": "google",
"rules": {
"no-var": "off",
"max-len": "off",
"camelcase": "off",
"new-cap": "off",
"no-extend-native": ["error", { "exceptions": ["Array"] }]
}
}
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
/bower_components/
/node_modules/
/vendor/
/_site/
8 changes: 8 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
### [1.0.0](/vghks-random-duty/ver/1.0.0/) – 2017-11-14

1. Migrate bower to yarn for dependency management.
2. Remove vghks mode switch and standard dev setting.
3. Change export excel format to xlsx, due to lib upgrade.
4. Add vghks style in exporting excel.
5. Fix event dialog behavior. (#55)

### [0.2.5](/vghks-random-duty/ver/0.2.5/) – 2017-06-20

1. Change event order: duty, holiday, non-duty. (#52)
Expand Down
57 changes: 28 additions & 29 deletions Gruntfile.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
"use strict"

module.exports = (grunt) ->
grunt.loadNpmTasks "grunt-bower-task"
grunt.loadNpmTasks "grunt-contrib-connect"
grunt.loadNpmTasks "grunt-contrib-copy"
grunt.loadNpmTasks "grunt-contrib-watch"
Expand All @@ -16,33 +15,33 @@ module.exports = (grunt) ->
font_path: '_site/vghks-random-duty/vendor/fonts/'

files = [
{ expand: true, src: ['assets/**', 'index.html', 'bower.json', 'ChangeLog.md'], dest: '<%= opts.base_path %>'},
{ expand: true, cwd: 'bower_components/jquery/dist/', src: 'jquery.min.*', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'bower_components/moment/min/', src: 'moment.min.js', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'bower_components/jquery-ui/', src: ['themes/redmond/**'], dest: '<%= opts.css_path %>' },
{ expand: true, cwd: 'bower_components/jquery-ui/', src: 'jquery-ui.min.js', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'bower_components/jquery-ui-slider-pips/dist/', src: 'jquery-ui-slider-pips.css', dest: '<%= opts.css_path %>' },
{ expand: true, cwd: 'bower_components/jquery-ui-slider-pips/dist/', src: 'jquery-ui-slider-pips.min.js', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'bower_components/blockUI/', src: 'jquery.blockUI.js', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'bower_components/font-awesome/css/', src: 'font-awesome.min.css', dest: '<%= opts.css_path %>' },
{ expand: true, cwd: 'bower_components/font-awesome/fonts/', src: ['*.woff*', '*.ttf', '*.eot'], dest: '<%= opts.font_path %>' },
{ expand: true, cwd: 'bower_components/bootstrap/dist/css/', src: 'bootstrap.min.css', dest: '<%= opts.css_path %>' },
{ expand: true, cwd: 'bower_components/bootstrap/dist/js/', src: 'bootstrap.min.js', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'bower_components/bootstrap-switch/dist/css/bootstrap3/', src: 'bootstrap-switch.min.css', dest: '<%= opts.css_path %>' },
{ expand: true, cwd: 'bower_components/bootstrap-switch/dist/js/', src: 'bootstrap-switch.min.js', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'bower_components/bootstrap-dialog/dist/css/', src: 'bootstrap-dialog.min.css', dest: '<%= opts.css_path %>' },
{ expand: true, cwd: 'bower_components/bootstrap-dialog/dist/js/', src: 'bootstrap-dialog.min.js', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'bower_components/fullcalendar/dist/', src: ['fullcalendar.min.css', 'fullcalendar.print.css'], dest: '<%= opts.css_path %>' },
{ expand: true, cwd: 'bower_components/fullcalendar/dist/', src: 'fullcalendar.min.js', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'bower_components/fullcalendar/dist/', src: 'gcal.js', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'bower_components/cryptojslib/rollups/', src: 'md5.js', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'bower_components/excellentexport/', src: 'excellentexport.min.js', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'bower_components/jquery.contenteditable/', src: 'jquery.contenteditable.js', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'bower_components/pace/', src: 'pace.min.js', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'bower_components/pace/themes/blue/', src: 'pace-theme-loading-bar.css', dest: '<%= opts.css_path %>' },
{ expand: true, cwd: 'bower_components/js-cookie/src/', src: 'js.cookie.js', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'bower_components/marked/', src: 'marked.min.js', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'bower_components/html2canvas/build/', src: 'html2canvas.min.js', dest: '<%= opts.js_path %>' },
{ expand: true, src: ['assets/**', 'index.html', 'package.json', 'ChangeLog.md'], dest: '<%= opts.base_path %>'},
{ expand: true, cwd: 'node_modules/jquery/dist/', src: 'jquery.min.*', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'node_modules/moment/min/', src: 'moment.min.js', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'node_modules/jquery-ui-themes/', src: ['themes/redmond/**'], dest: '<%= opts.css_path %>' },
{ expand: true, cwd: 'node_modules/jquery-ui-dist/', src: 'jquery-ui.min.js', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'node_modules/jquery-ui-slider-pips/dist/', src: 'jquery-ui-slider-pips.css', dest: '<%= opts.css_path %>' },
{ expand: true, cwd: 'node_modules/jquery-ui-slider-pips/dist/', src: 'jquery-ui-slider-pips.min.js', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'node_modules/blockui-npm/', src: 'jquery.blockUI.js', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'node_modules/font-awesome/css/', src: 'font-awesome.min.css', dest: '<%= opts.css_path %>' },
{ expand: true, cwd: 'node_modules/font-awesome/fonts/', src: ['*.woff*', '*.ttf', '*.eot'], dest: '<%= opts.font_path %>' },
{ expand: true, cwd: 'node_modules/bootstrap/dist/css/', src: ['bootstrap.min.css', 'bootstrap.min.css.map'], dest: '<%= opts.css_path %>' },
{ expand: true, cwd: 'node_modules/bootstrap/dist/js/', src: 'bootstrap.min.js', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'node_modules/bootstrap-switch/dist/css/bootstrap3/', src: 'bootstrap-switch.min.css', dest: '<%= opts.css_path %>' },
{ expand: true, cwd: 'node_modules/bootstrap-switch/dist/js/', src: 'bootstrap-switch.min.js', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'node_modules/bootstrap3-dialog/dist/css/', src: 'bootstrap-dialog.min.css', dest: '<%= opts.css_path %>' },
{ expand: true, cwd: 'node_modules/bootstrap3-dialog/dist/js/', src: 'bootstrap-dialog.min.js', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'node_modules/fullcalendar/dist/', src: ['fullcalendar.min.css', 'fullcalendar.print.css'], dest: '<%= opts.css_path %>' },
{ expand: true, cwd: 'node_modules/fullcalendar/dist/', src: 'fullcalendar.min.js', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'node_modules/fullcalendar/dist/', src: 'gcal.js', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'node_modules/crypto-js/', src: 'crypto-js.js', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'node_modules/excellentexport/dist/', src: 'excellentexport.js', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'node_modules/jquery-contenteditable/', src: 'jquery.contenteditable.js', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'node_modules/pace-js/', src: 'pace.min.js', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'node_modules/pace-js/themes/blue/', src: 'pace-theme-loading-bar.css', dest: '<%= opts.css_path %>' },
{ expand: true, cwd: 'node_modules/js-cookie/src/', src: 'js.cookie.js', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'node_modules/marked/', src: 'marked.min.js', dest: '<%= opts.js_path %>' },
{ expand: true, cwd: 'node_modules/html2canvas/dist/', src: 'html2canvas.min.js', dest: '<%= opts.js_path %>' },
]

grunt.initConfig
Expand All @@ -67,7 +66,7 @@ module.exports = (grunt) ->
files: [
"assets/**/*"
"*.html"
"bower.json"
"package.json"
"ChangeLog.md"
]
tasks: [
Expand Down
19 changes: 17 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# VGHKS Random Duty Generator

A single page application to assist resident duty arrangement in General or VGHKS mode.
A single page application to assist resident duty arrangement.

輔助住院醫師排班的網頁版小工具,可使用「一般」或「VGHKS」模式[Demo Site](http://radtools.tsai.it/vghks-random-duty/)
輔助住院醫師排班的網頁版小工具。[Demo Site](http://radtools.tsai.it/vghks-random-duty/)

## Feature

Expand All @@ -20,3 +20,18 @@ A single page application to assist resident duty arrangement in General or VGHK
## License

MIT License

## Install

1. Install [Yarn](https://yarnpkg.com/) for dependency management
2. Install dependencies

```bash
yarn install
```

## Testing Locally

1. Run `grunt` will start a testing web server on <http://localhost:4000>
2. For my own deployment purpose, the files will be copied to `_site/vghks-random-duty`, and the testing url will be <http://localhost:4000/vghks-random-duty>
3. The path of the testing site can be changed in `Gruntfile.coffee`
Loading

0 comments on commit dff4c51

Please sign in to comment.