/**
     * Generate the Static Website
     * 1. Clean the Database
     * 2. Parse the Source files
     * 3. Render the Source Files
     */
    generate: function(next){
        if ( DocPad.generating ) return;
        DocPad.generating = true;
        path.exists(DocPad.options.srcPath,function(exists){
            if ( !exists ) {
                throw new Error('Cannot generate website as the src path does not exist, run: docpad skeleton');
            }
            else {
                util.rmdir(DocPad.options.outPath,function(){
                    DocPad.generateClean(function(){
                        DocPad.generateParse(function(){
                            DocPad.generateRelations(function(){
                                DocPad.generateRender(function(){
                                    DocPad.generateWrite(function(){
                                        console.log('Website Generated');
                                        DocPad.generating = false;
                                        if ( next ) next();
                                    })
                                })
                            })
                        })
                    })
                });
            }
        });
    },