mirror of https://github.com/IoTcat/docsify.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.4 KiB
55 lines
1.4 KiB
const liveServer = require('live-server') |
|
const isSSR = !!process.env.SSR |
|
const middleware = [] |
|
|
|
if (isSSR) { |
|
const Renderer = require('./packages/docsify-server-renderer/build.js') |
|
const renderer = new Renderer({ |
|
template: ` |
|
<!DOCTYPE html> |
|
<html lang="en"> |
|
<head> |
|
<meta charset="UTF-8"> |
|
<title>docsify</title> |
|
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> |
|
<link rel="stylesheet" href="/themes/vue.css" title="vue"> |
|
</head> |
|
<body> |
|
<!--inject-app--> |
|
<!--inject-config--> |
|
<script src="/lib/docsify.js"></script> |
|
</body> |
|
</html>`, |
|
config: { |
|
name: 'docsify', |
|
repo: 'docsifyjs/docsify', |
|
basePath: 'https://docsify.js.org/', |
|
loadNavbar: true, |
|
loadSidebar: true, |
|
subMaxLevel: 3, |
|
auto2top: true, |
|
alias: { |
|
'/de-de/changelog': '/changelog', |
|
'/zh-cn/changelog': '/changelog', |
|
'/changelog': |
|
'https://raw.githubusercontent.com/docsifyjs/docsify/master/CHANGELOG' |
|
} |
|
}, |
|
path: './' |
|
}) |
|
|
|
middleware.push(function(req, res, next) { |
|
if (/\.(css|js)$/.test(req.url)) { |
|
return next() |
|
} |
|
renderer.renderToString(req.url).then(html => res.end(html)) |
|
}) |
|
} |
|
|
|
const params = { |
|
port: 3000, |
|
watch: ['lib', 'docs', 'themes'], |
|
middleware |
|
} |
|
|
|
liveServer.start(params)
|
|
|