Skip to content

Commit

Permalink
Bugfix somewhere
Browse files Browse the repository at this point in the history
  • Loading branch information
dafeng.xdf committed Sep 25, 2014
1 parent 31c791d commit 3d02d94
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 31 deletions.
54 changes: 28 additions & 26 deletions bin/startserver
Original file line number Diff line number Diff line change
Expand Up @@ -26,45 +26,46 @@ var markdown = require('../lib/middleware/markdown').markdown;
var platform = process.platform;
var program = require('commander');
var request = require('request');
var logx = require('logx');
var logger = require('logx');
require('colorx');
var pkg = require('../package.json');
var open = true;
var root = process.cwd();


program
.option('-v, --version', 'output version infomation')
.option('-v, --versions', 'output version infomation')
.option('-n, --normal', 'start server without opening browser')
.on('version', function() {
console.log('\n ' + pkg.version.blue + '\n');
process.exit(0);
})
.option('-s, --static', 'generate static file for markdown')
.on('static', function() {
var args = this.rawArgs;
if (args.length !== 4) {
console.log('\n Arguments Error.'.red + '\n');
program.help();
process.exit(0);
}
var dir = path.dirname(root).split(path.sep);
var dist = path.resolve(args[3]);
var content = markdown('slide', dir[dir.length - 1], path.resolve(args[3]));
util.file.writeFile(dist + '.html' ,content);
process.exit(0);
})
.on('normal', function() {
open = false;
})
.usage('[port]')
.parse(process.argv);

if (program.versions) {
logger.info('your version is ' + pkg.version.gray);
process.exit(0);
}

if (program.static) {

var args = program.args;
if (args.length !== 1) {
logger.warn(' Arguments Error.'.red + '\n');
program.help();
process.exit(0);
}
var dir = path.dirname(root).split(path.sep);
var dist = path.resolve(args[0]);
var content = markdown('slide', dir[dir.length - 1], path.resolve(args[0]));
util.file.writeFile(dist + '.html' ,content);
logger.info('file' + dist + '.html created.');
process.exit(0);
}

var handle = function() {
var port = parseInt(program.args[0] || 8080);

if (isNaN(port)) {
console.log('\n Arguments Error.'.red + '\n');
logger.warn(' Arguments Error.'.red + '\n');
return program.help();
}

Expand All @@ -75,9 +76,9 @@ var handle = function() {
server.listen(port, ipv4, function(e) {
var url = 'http://' + ipv4 + ':' + port;
var opener = platform === 'win32' ? 'start' : platform === 'linux' ? 'xdg-open' : 'open';
open && exec(opener + ' ' + url);
!program.normal && exec(opener + ' ' + url);
url = 'http://' + ipv4.yellow + ':' + port.blue;
console.log('Running at '.red + url);
logger.info('Running at '.red + url);
});
}

Expand All @@ -86,12 +87,13 @@ var opts = {
timeout: 1000
};


request(opts, function(err, res, body) {
if (err) return handle();
var data = JSON.parse(body);

if (data.version && pkg.version !== data.version) {
logx.warn('您的版本[' + pkg.version.red + ']落伍啦,请执行 '.yellow + 'npm install -g startserver@'.gray + data.version.gray + ' 更新。'.yellow);
logger.warn('Your version [' + pkg.version.red + '] id outdate, please exec '.yellow + 'npm install -g startserver@'.gray + data.version.gray + ' to update。'.yellow);
}
handle();
});
8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "startserver",
"version": "0.5.10",
"version": "0.5.12",
"description": "A simple http server witch can be used like `python -m SimpleHTTPServer` and be more easy to generate a slider.",
"preferGlobal": true,
"bin": {
Expand All @@ -17,11 +17,11 @@
"dependencies": {
"xutil":"0.1.1",
"ipv4":"0.0.4",
"minitpl":"0.0.2",
"minitpl":"0.0.3",
"marked": "0.3.2",
"colorx": "0.0.5",
"logx": "0.0.3",
"commander": "*",
"logx": "0.0.4",
"commander": "2.0.0",
"request": "~2.40.0"
},
"keywords": ["server","httpserver","demo","dev","slider"],
Expand Down
2 changes: 1 addition & 1 deletion test/startserver.directory.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ describe('lib/middleware/directory', function () {

it('directory should be working ok', function (done) {

var proxy = http.createServer(function( request, response ){
var proxy = http.createServer(function(request, response) {
directoryModel(request, response, function(){
(response._header.indexOf(200) != '-1').should.equal(true);
(response._header.indexOf('text/html') != '-1').should.equal(true);
Expand Down

0 comments on commit 3d02d94

Please sign in to comment.