Custom Grunt Build Script for Documents

Custom Grunt Build "Text-Converter"

Hi, I have hundreds of book-sized documents of various types and want to create a Grunt web-development build process to convert to HTML5 and DB store the documents. I'm a novice with Grunt and don't have time to go this deep right now -- but if you are a wizard with Grunt and Grunt tasks, this might be pretty easy for you.

I've been using various Yeoman generated Grunt configurations and they actually do a lot of what I want but I'm too novice to make many changes to [url removed, login to view] without just breaking everything. What I have in mind could be a modified and extended version of the basic Yeoman "generator-webapp".

I just need a place where I can plug in my code for converting documents. The grunt commands I need are:

grunt (default) - rebuild entire output folder, rebuild index file

grunt serve - open index file & watch for changes with LiveReload

changes rebuild the changed document and the index file

grunt deploy - push changed files to CouchDB


* You don't have to actually write the document conversion code, just the Grunt build & deploy processes, leaving a convenient way for me to add the complex conversion steps myself later. That could be one or more custom grunt tasks applied to all documents which I will extend later.

I'll want to be able to pull in other libraries to help me convert many document types such as .doc, .html, .epub, .jade, .md, .txt, .rtf, .pdf. I want it to be easy to add new conversion types as well as sub-types (such as a custom versions of text documents). Sub-types will be detected by the conversion script or determined by an optional metadata JSON file accompanying each document.

* I don't need testing frameworks, since these are just document conversions. You can yank all the moca and phantom stuff out (if you start from the Yeoman project "generator-webapp".)

* The build process should always generate a master index file which provides a file list of all documents so that one can find and view a specific document while editing. The build process should rebuild this file from a template in the app folder -- inserting a JSON object with an array of book metadata such as:

{ documents: [

language: "English:en", bookshelf: "Fiction", title: "Moby-Dick",

author: "Herman Melville", modified: "2013-08-31T09:05:[url removed, login to view]",

size: "102456", crc32: "461707669",

uri: "English/Fiction/Herman Melville/Moby-Dick/[url removed, login to view]"



The idea is that I should be able to browse each book using the URI. All assets are stored as attachments in a single CouchDB record with the relative path as filename -- so links to resources inside the documents (pictures etc) do not need to be modified to be viewed online. The build script should not care where such files are located but simply move them to a parallel location in the document's output folder.

* Deploy to CouchDB:

Each document gets two CouchDB JSON records. Only changed files need be pushed to the DB.

1) One record contains all the standalone files as attachments (including the generated .html files).

2) A second record contains metadata for each document and a list of associated files from the first record (perhaps just a copy of the first record's _attachments block).

* Use a PouchDB wrapper to communicate with CouchDB (for consistency with my other code)

More: [url removed, login to view]

Skills: Javascript, node.js

See more: grunt build block, write my book online, write my book for me, write javascript code online, write fiction online, where to start if you want to write a book, where to find html5 template, where to find an author, web development steps, web development book pdf, web development book, webapp google, using go for web development, use html for web development, template libraries, steps in web development, project title for web development, open mind template, online web template for development, online web development template com, online html5 code generator, online editing document, online copy editing, online book editing, novice to master

About the Employer:
( 27 reviews ) Granite Bay, United States

Project ID: #5708850

1 freelancer is bidding on average $2000 for this job


Can help... I am an Expert... Lets Start! Please start a Discussion with me and we can get started from there... Please check the past projects I have handled and check my reviews for what employers have to say about More

$2000 USD in 30 days
(16 Reviews)