From 9d9de782a10d1217c55e2cab764924493ee3435b Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Fri, 12 Apr 2013 19:42:10 +0100 Subject: Simplify generation of browser JavaScript --- index.html | 52 ---------------------------------------------------- lib/browser.js | 50 +++++++++++++++++++++++++++++++++++++++++++++++--- makefile | 4 ++-- 3 files changed, 49 insertions(+), 57 deletions(-) diff --git a/index.html b/index.html index 046db75..8c2cae3 100644 --- a/index.html +++ b/index.html @@ -22,58 +22,6 @@ - diff --git a/lib/browser.js b/lib/browser.js index 6d06c4a..04d73ee 100644 --- a/lib/browser.js +++ b/lib/browser.js @@ -1,3 +1,47 @@ -exports.q = require("q"); -exports.mammoth = require("./"); -exports.Buffer = Buffer; +var q = require("q"); +var mammoth = require("./"); + +var converter = new mammoth.Converter(mammoth.standardOptions); +function handleFileSelect(event) { + var files = event.target.files; + + for (var i = 0; i < files.length; i++) { + var file = files[i]; + var reader = new FileReader(); + + reader.onload = function(loadEvent) { + var arrayBuffer = loadEvent.target.result; + converter.convertToHtml({file: openFile(arrayBuffer)}) + .then(function(result) { + document.getElementById("output").innerHTML = result.html; + }) + .done(); + }; + + + reader.readAsArrayBuffer(file); + } + + function openFile(arrayBuffer) { + var zipFile = new JSZip(arrayBuffer); + function exists(name) { + return zipFile.file(name) !== null; + } + + function read(name, encoding) { + var array = zipFile.file(name).asUint8Array(); + var buffer = new Buffer(array); + if (encoding) { + return q.when(buffer.toString(encoding)); + } else { + return q.when(buffer); + } + } + return { + exists: exists, + read: read + }; + } +} + +document.getElementById("document").addEventListener('change', handleFileSelect, false); diff --git a/makefile b/makefile index aa71fe0..ea6c909 100644 --- a/makefile +++ b/makefile @@ -1,4 +1,4 @@ -.PHONY: test +.PHONY: test bundle.js test: node_modules/.bin/mocha tests @@ -18,4 +18,4 @@ static/jszip: cp _build/jszip/*.js static/jszip bundle.js: - node_modules/.bin/browserify lib/browser.js --standalone MAMMOTH > bundle.js + node_modules/.bin/browserify lib/browser.js > bundle.js -- cgit v1.2.3