|
3 | 3 | const connect = require("connect");
|
4 | 4 | const serveStatic = require("serve-static");
|
5 | 5 | const Renderer = require("docsify-server-renderer");
|
6 |
| -const fs = require("fs"); |
7 | 6 | const util = require("../util/index");
|
8 | 7 | const chalk = require("chalk");
|
9 | 8 | const LRU = require("lru-cache");
|
10 | 9 |
|
11 |
| -const defaultConfig = { |
12 |
| - template: `<!DOCTYPE html> |
13 |
| -<html lang="en"> |
14 |
| -<head> |
15 |
| - <meta charset="UTF-8"> |
16 |
| - <title>My Doc</title> |
17 |
| - <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> |
18 |
| - <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> |
19 |
| - <link rel="stylesheet" href="//unpkg.com/docsify/lib/themes/vue.css" title="vue"> |
20 |
| -</head> |
21 |
| -<body> |
22 |
| - <!--inject-app--> |
23 |
| - <!--inject-config--> |
24 |
| -<script src="//unpkg.com/docsify/lib/docsify.min.js"></script> |
25 |
| -</body> |
26 |
| -</html>` |
27 |
| -}; |
28 |
| - |
29 |
| -function loadConfig(config) { |
30 |
| - try { |
31 |
| - return require(util.cwd(config)); |
32 |
| - } catch (e) { |
33 |
| - console.log(chalk.red(`${e.message} in ${config}`)); |
34 |
| - process.exit(1); |
35 |
| - } |
36 |
| -} |
37 |
| - |
38 | 10 | module.exports = function(path, configFile, port) {
|
39 |
| - let config = defaultConfig; |
40 |
| - const pkg = util.pkg(); |
41 |
| - const ctx = util.cwd("."); |
42 |
| - |
43 |
| - path = path || "./"; |
44 |
| - |
45 |
| - if (configFile) { |
46 |
| - config = loadConfig(configFile); |
47 |
| - config.template = /\.html$/.test(config.template) |
48 |
| - ? util.read(util.resolve(ctx, config.template)) |
49 |
| - : defaultConfig.template; |
50 |
| - } else if (pkg.docsify) { |
51 |
| - const tpl = pkg.docsify.template; |
| 11 | + const config = util.getConfig(configFile); |
52 | 12 |
|
53 |
| - config = pkg.docsify; |
54 |
| - config.template = |
55 |
| - tpl && util.exists(util.resolve(ctx, tpl)) |
56 |
| - ? util.read(tpl) |
57 |
| - : defaultConfig.template; |
58 |
| - } |
| 13 | + path = path || "."; |
59 | 14 |
|
60 |
| - const renderer = new Renderer(Object.assign(defaultConfig, config)); |
| 15 | + const renderer = new Renderer(config); |
61 | 16 | const server = connect();
|
62 | 17 | const cached = new LRU(config.maxAge || 0);
|
63 | 18 |
|
64 |
| - server.use(serveStatic(path)); |
65 | 19 | server.use(function(req, res) {
|
66 |
| - serveStatic(path)(req, res, function() { |
| 20 | + serveStatic(path, { index: false })(req, res, function() { |
67 | 21 | if (
|
68 | 22 | /\.(jpg|jpeg|gif|png|svg|ico|mp4|webm|ogg|ogv|js|css|md)(?:\?v=[0-9.]+)?$/.test(
|
69 | 23 | req.url
|
|
0 commit comments