pax_global_header 0000666 0000000 0000000 00000000064 12407572640 0014521 g ustar 00root root 0000000 0000000 52 comment=c74c465d26d84c274afb0a3f33b1c6db60fa56ac jio-v2.0.1/ 0000775 0000000 0000000 00000000000 12407572640 0012470 5 ustar 00root root 0000000 0000000 jio-v2.0.1/.gitignore 0000664 0000000 0000000 00000000061 12407572640 0014455 0 ustar 00root root 0000000 0000000 #vi *.swp *~ #dolphin .directory node_modules/* jio-v2.0.1/Gruntfile.js 0000664 0000000 0000000 00000005443 12407572640 0014773 0 ustar 00root root 0000000 0000000 /*jslint indent: 2, maxlen: 80 */ /*global module */ module.exports = function (grunt) { "use strict"; // Project configuration. grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), jslint: { grunt: { src: ['Gruntfile.js'], options: { errorsOnly: true } }, jio: { src: ['src/jio/**/*.js'], exclude: ['src/jio/intro.js', 'src/jio/outro.js'], options: { errorsOnly: true } }, jio_storages: { src: ['src/jio.storage/**/*.js'], options: { errorsOnly: true } }, jiodate: { src: ['src/jio.date/jiodate.js'] }, tests: { src: ['test/**/*.js'], options: { errorsOnly: true } }, queries: { src: ['src/queries/core/**/*.js'], exclude: [ 'src/queries/begin.js', 'src/queries/end.js', 'src/queries/parser-begin.js', 'src/queries/parser-end.js' ], options: { errorsOnly: true } } }, concat: { jio: { // duplicate files are ignored src: [ 'src/jio/intro.js', // core 'src/jio/core/globals.js', 'src/jio/core/util.js', 'src/jio/core/**/*.js', 'src/jio/features/**/*.js', // queries 'src/queries/core/globals.js', 'src/queries/core/query.js', 'src/queries/parser-begin.js', 'src/queries/build/parser.js', 'src/queries/parser-end.js', 'src/queries/core/tools.js', 'src/queries/core/**/*.js', 'src/jio/outro.js' ], dest: 'jio.js' } }, uglify: { options: { banner: '/*! <%= pkg.name %> <%= pkg.version %> ' + '<%= grunt.template.today("yyyy-mm-dd") %> */\n' }, jio: { src: 'jio.js', // '<%= pkg.name %>.js' dest: 'jio.min.js', options: { sourceMap: "jio.min.map" } }, jiodate: { src: 'src/jio.date/jiodate.js', dest: 'jiodate.min.js', options: { sourceMap: "jiodate.min.map" } } }, qunit: { // grunt doesn't like requirejs files: ['test/tests.html'], options: { timeout: 30000 // if no test occurs for 30 seconds, then timeout } } }); grunt.loadNpmTasks('grunt-jslint'); grunt.loadNpmTasks('grunt-contrib-concat'); grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-contrib-qunit'); grunt.registerTask('default', ['jslint', 'concat', 'uglify', 'qunit']); grunt.registerTask('lint', ['jslint']); grunt.registerTask('build', ['concat', 'uglify']); grunt.registerTask('test', ['jslint', 'qunit']); }; jio-v2.0.1/Makefile 0000664 0000000 0000000 00000011143 12407572640 0014130 0 ustar 00root root 0000000 0000000 # dir QUERIES_DIR = src/queries # files JIO = jio.js JIO_MIN = jio.min.js JIODATE_MIN = jiodate.min.js PARSER_PAR = $(QUERIES_DIR)/core/parser.par PARSER_OUT = $(QUERIES_DIR)/build/parser.js UGLIFY = ./node_modules/grunt-contrib-uglify/node_modules/uglify-js/bin/uglifyjs ZIP_FULL = jio.zip ZIP_MINI = jio-min.zip # npm install jscc-node JSCC_CMD = node ./node_modules/jscc-node/jscc.js -t ./node_modules/jscc-node/driver_node.js_ auto: compile compile: mkdir -p $(dir $(PARSER_OUT)) $(JSCC_CMD) -o $(PARSER_OUT) $(PARSER_PAR) TMPDIR := $(shell mktemp -d) zip: @echo "Preparing $(ZIP_FULL)" @mkdir $(TMPDIR)/jio @mkdir $(TMPDIR)/jio/storage @cp jio.js $(TMPDIR)/jio/ @cp src/sha1.amd.js $(TMPDIR)/jio/ @cp src/sha2.amd.js $(TMPDIR)/jio/ @cp src/sha256.amd.js $(TMPDIR)/jio/ @cp src/jio.date/jiodate.js $(TMPDIR)/jio/ @cp lib/rsvp/rsvp-custom.js $(TMPDIR)/jio/ @cp lib/rsvp/rsvp-custom.amd.js $(TMPDIR)/jio/ @cp lib/jquery/jquery.js $(TMPDIR)/jio/ @cp lib/require/require.js $(TMPDIR)/jio/ @cp src/jio.storage/localstorage.js $(TMPDIR)/jio/storage/ @cp src/jio.storage/davstorage.js $(TMPDIR)/jio/storage/ @cp src/jio.storage/erp5storage.js $(TMPDIR)/jio/storage/ @cp src/jio.storage/indexstorage.js $(TMPDIR)/jio/storage/ @cp src/jio.storage/gidstorage.js $(TMPDIR)/jio/storage/ @cp src/jio.storage/replicatestorage.js $(TMPDIR)/jio/storage/ @cp src/jio.storage/splitstorage.js $(TMPDIR)/jio/storage/ @cp src/jio.storage/cryptstorage.js $(TMPDIR)/jio/storage/ @cp src/jio.storage/revisionstorage.js $(TMPDIR)/jio/storage/ @cp src/jio.storage/replicaterevisionstorage.js $(TMPDIR)/jio/storage/ @cp src/jio.storage/s3storage.js $(TMPDIR)/jio/storage/ @cp src/jio.storage/splitstorage.js $(TMPDIR)/jio/storage/ @cp src/jio.storage/xwikistorage.js $(TMPDIR)/jio/storage/ @cd $(TMPDIR) && zip -q $(ZIP_FULL) -r jio @mv $(TMPDIR)/$(ZIP_FULL) ./ @rm -rf $(TMPDIR)/jio @echo "Preparing $(ZIP_MINI)" @mkdir $(TMPDIR)/jio @mkdir $(TMPDIR)/jio/storage @echo "Minimizing JS..." @cp jio.min.js $(TMPDIR)/jio/ @cp jio.min.map $(TMPDIR)/jio/ @cp jiodate.min.js $(TMPDIR)/jio/ @cp jiodate.min.map $(TMPDIR)/jio/ @$(UGLIFY) src/sha1.amd.js >$(TMPDIR)/jio/sha1.amd.min.js 2>/dev/null @$(UGLIFY) src/sha2.amd.js >$(TMPDIR)/jio/sha2.amd.min.js 2>/dev/null @$(UGLIFY) src/sha256.amd.js >$(TMPDIR)/jio/sha256.amd.min.js 2>/dev/null @$(UGLIFY) lib/rsvp/rsvp-custom.js >$(TMPDIR)/jio/rsvp-custom.min.js 2>/dev/null @$(UGLIFY) lib/rsvp/rsvp-custom.amd.js >$(TMPDIR)/jio/rsvp-custom.amd.min.js 2>/dev/null @cp lib/jquery/jquery.min.js $(TMPDIR)/jio/ @$(UGLIFY) lib/require/require.js >$(TMPDIR)/jio/require.min.js 2>/dev/null @$(UGLIFY) src/jio.storage/localstorage.js >$(TMPDIR)/jio/storage/localstorage.min.js 2>/dev/null @$(UGLIFY) src/jio.storage/davstorage.js >$(TMPDIR)/jio/storage/davstorage.min.js 2>/dev/null @$(UGLIFY) src/jio.storage/erp5storage.js >$(TMPDIR)/jio/storage/erp5storage.min.js 2>/dev/null @$(UGLIFY) src/jio.storage/indexstorage.js >$(TMPDIR)/jio/storage/indexstorage.min.js 2>/dev/null @$(UGLIFY) src/jio.storage/gidstorage.js >$(TMPDIR)/jio/storage/gidstorage.min.js 2>/dev/null @$(UGLIFY) src/jio.storage/replicatestorage.js >$(TMPDIR)/jio/storage/replicatestorage.min.js 2>/dev/null @$(UGLIFY) src/jio.storage/splitstorage.js >$(TMPDIR)/jio/storage/splitstorage.min.js 2>/dev/null @$(UGLIFY) src/jio.storage/cryptstorage.js >$(TMPDIR)/jio/storage/cryptstorage.min.js 2>/dev/null @$(UGLIFY) src/jio.storage/revisionstorage.js >$(TMPDIR)/jio/storage/revisionstorage.min.js 2>/dev/null @$(UGLIFY) src/jio.storage/replicaterevisionstorage.js >$(TMPDIR)/jio/storage/replicaterevisionstorage.min.js 2>/dev/null @$(UGLIFY) src/jio.storage/s3storage.js >$(TMPDIR)/jio/storage/s3storage.min.js 2>/dev/null @$(UGLIFY) src/jio.storage/splitstorage.js >$(TMPDIR)/jio/storage/splitstorage.min.js 2>/dev/null @$(UGLIFY) src/jio.storage/xwikistorage.js >$(TMPDIR)/jio/storage/xwikistorage.min.js 2>/dev/null @cd $(TMPDIR) && zip -q $(ZIP_MINI) -r jio @mv $(TMPDIR)/$(ZIP_MINI) ./ @rm -rf $(TMPDIR) .phony: clean clean: find -name '*~' -delete realclean: rm -f "$(JIO)" rm -f "$(JIO_MIN)" rm -f "$(JIODATE_MIN)" rm -f "$(PARSER_OUT)" jio-v2.0.1/README.md 0000664 0000000 0000000 00000025464 12407572640 0013762 0 ustar 00root root 0000000 0000000 ## Javascript Input/Output **jIO is a client-side JavaScript library to manage documents across multiple storages.** ### Getting Started To set up jIO you should include jio.js, dependencies and the connectors for the storages you want to use in the HTML page header (note that more dependencies may be required depending on type of storages being used): ```html {{ super() }} {% if theme_touch_icon %} {% endif %} {% endblock %} {%- block relbar2 %}{% endblock %} {%- block footer %}