index.js 1.3 KB

1234567891011121314151617181920212223242526272829303132
  1. /* global hexo */
  2. 'use strict';
  3. var assign = require('object-assign');
  4. hexo.config.server = assign({
  5. port: 4000,
  6. log: false,
  7. // `undefined` uses Node's default (try `::` with fallback to `0.0.0.0`)
  8. ip: undefined,
  9. compress: false,
  10. header: true
  11. }, hexo.config.server);
  12. hexo.extend.console.register('server', 'Start the server.', {
  13. desc: 'Start the server and watch for file changes.',
  14. options: [
  15. {name: '-i, --ip', desc: 'Override the default server IP. Bind to all IP address by default.'},
  16. {name: '-p, --port', desc: 'Override the default port.'},
  17. {name: '-s, --static', desc: 'Only serve static files.'},
  18. {name: '-l, --log [format]', desc: 'Enable logger. Override log format.'},
  19. {name: '-o, --open', desc: 'Immediately open the server url in your default web browser.'}
  20. ]
  21. }, require('./lib/server'));
  22. hexo.extend.filter.register('server_middleware', require('./lib/middlewares/header'));
  23. hexo.extend.filter.register('server_middleware', require('./lib/middlewares/gzip'));
  24. hexo.extend.filter.register('server_middleware', require('./lib/middlewares/logger'));
  25. hexo.extend.filter.register('server_middleware', require('./lib/middlewares/route'));
  26. hexo.extend.filter.register('server_middleware', require('./lib/middlewares/static'));
  27. hexo.extend.filter.register('server_middleware', require('./lib/middlewares/redirect'));