UNPKG

@deck/app

Version:

Deck is a markdown driven content presentation system

49 lines (40 loc) 1.29 kB
var fs = require('fs') var path = require('path') var ncp = require('ncp') var init = require('init-package-json') var argv = require('minimist')(process.argv.slice(2)) var base = require('@deck/base') var source = base.dir var deck = base.deck module.exports = function () { argv.name = argv.name || argv._.slice(1)[0] var dir = path.join(process.cwd(), argv.name ? argv.name : '') var target = file => path.join(dir, file) if (!fs.existsSync(dir)) { fs.mkdirSync(dir) } // stop electron from showing alert box on SIGHUP (ctrl c) process.on('uncaughtException', code => { console.log() process.exit(code) }) init(dir, __dirname + '/init-input.js', {dir: dir, argv: argv}, function (err) { if (err) throw err ncp(source('images'), target('images'), err => { if (err) throw err ncp(source('code'), target('code'), err => { if (err) throw err var targetDeck = target('deck.md') if (!fs.existsSync(targetDeck)) { fs.writeFileSync(targetDeck, argv.deck ? fs.readFileSync(path.join(process.cwd(), argv.deck)) : deck ) } fs.symlinkSync('deck.md', target('readme.md')) process.exit() }) }) }) }