From 7bec183753f1fec4a32348a1df30fa21a97f4fe5 Mon Sep 17 00:00:00 2001 From: Kyle Hornberg Date: Mon, 25 Nov 2013 10:26:50 -0600 Subject: [PATCH] set up bower and grunt --- .gitignore | 2 ++ Gruntfile.js | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 14 +++++++++---- bower.json | 29 ++++++++++++++++++++++++++ demo/demo.html | 9 +++++--- demo/demo.js | 6 ++++++ ics.min.js | 2 ++ package.json | 35 +++++++++++++++++++++++++++++++ 8 files changed, 146 insertions(+), 7 deletions(-) create mode 100644 .gitignore create mode 100644 Gruntfile.js create mode 100644 bower.json create mode 100644 demo/demo.js create mode 100644 ics.min.js create mode 100644 package.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..68b9e27 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +node_modules/ +bower_components/ diff --git a/Gruntfile.js b/Gruntfile.js new file mode 100644 index 0000000..91f7222 --- /dev/null +++ b/Gruntfile.js @@ -0,0 +1,56 @@ +module.exports = function(grunt) { + + grunt.initConfig({ + pkg: grunt.file.readJSON('package.json'), + concat: { + options: { + separator: ';' + }, + dist: { + src: ['ics.js'], + dest: '<%= pkg.name %>.js' + } + }, + uglify: { + options: { + banner: '/*! <%= pkg.name %> <%= grunt.template.today("mm-dd-yyyy") %> */\n' + }, + dist: { + files: { + 'ics.min.js': ['ics.js'] + } + } + }, + qunit: { + files: ['tests/**/*.html'] + }, + jshint: { + files: ['Gruntfile.js', '*.js', 'tests/tests.js'], + options: { + // options here to override JSHint defaults + globals: { + jQuery: true, + console: true, + module: true, + document: true, + }, + laxcomma: true + } + }, + watch: { + files: ['<%= jshint.files %>'], + tasks: ['jshint', 'qunit'] + } + }); + + grunt.loadNpmTasks('grunt-contrib-uglify'); + grunt.loadNpmTasks('grunt-contrib-jshint'); + grunt.loadNpmTasks('grunt-contrib-qunit'); + grunt.loadNpmTasks('grunt-contrib-watch'); + grunt.loadNpmTasks('grunt-contrib-concat'); + + grunt.registerTask('test', ['jshint', 'qunit']); + + grunt.registerTask('default', ['jshint', 'qunit', 'uglify']); + +}; \ No newline at end of file diff --git a/README.md b/README.md index 4f4715b..9318947 100644 --- a/README.md +++ b/README.md @@ -7,9 +7,11 @@ Now you can make calendar friendly files client-side. It outputs .ics files, so How To Use ---------- -Simply use the function... - - download_ics(filename, subject, description, location, begin, end); +Simply use invoke the object and use the functions... + + var cal = ics(); + cal.addEvent(subject, description, location, begin, end); + cal.download(filename); `begin` and `end` need to be formatted in a way that is friendly to `Date()` @@ -19,7 +21,11 @@ Example * **[Demo](http://htmlpreview.github.io/?https://github.com/nwcell/ics.js/blob/master/demo/demo.html)** ``` -Demo + +Demo ``` diff --git a/bower.json b/bower.json new file mode 100644 index 0000000..8e47170 --- /dev/null +++ b/bower.json @@ -0,0 +1,29 @@ +{ + "name": "ics.js", + "main": "ics.js", + "version": "0.0.0", + "homepage": "https://github.com/khornberg/ics.js" + "contributors": [ + "Travis Krause ", + "Kyle Hornberg " + ], + "description": "A browser firendly .ics/.vcs file generator written entirely in javascript", + "keywords": [ + "ics", + "iCal", + "iCalendar" + ], + "license": "MIT", + "private": true, + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "test", + "tests" + ], + "dependencies": { + "Blob.js": "eligrey/Blob.js", + "FileSaver": "*" + } +} diff --git a/demo/demo.html b/demo/demo.html index 0a2832a..e5776a4 100644 --- a/demo/demo.html +++ b/demo/demo.html @@ -1,6 +1,9 @@ - + + + +