# 部署 和 GitBook 生成的文档一样,我们可以直接把文档网站部署到 GitHub Pages 或者 VPS 上。 ## GitHub Pages GitHub Pages 支持从三个地方读取文件 - `docs/` 目录 - master 分支 - gh-pages 分支 我们推荐直接将文档放在 `docs/` 目录下,在设置页面开启 **GitHub Pages** 功能并选择 `master branch /docs folder` 选项。 ![github pages](../_images/deploy-github-pages.png) !> 可以将文档放在根目录下,然后选择 **master 分支** 作为文档目录。 ## GitLab Pages 如果你正在部署你的主分支, 在 `.gitlab-ci.yml` 中包含以下脚本: ?> `.public` 的解决方法是这样的,`cp` 不会无限循环的将 `public/` 复制到自身。 ```YAML pages: stage: deploy script: - mkdir .public - cp -r * .public - mv .public public artifacts: paths: - public only: - master ``` !> 你可以用 `- cp -r docs/. public` 替换脚本, 如果 `./docs` 是你的 docsify 子文件夹。 ## VPS 和部署所有静态网站一样,只需将服务器的访问根目录设定为 `index.html` 文件。 例如 nginx 的配置 ```nginx server { listen 80; server_name your.domain.com; location / { alias /path/to/dir/of/docs; index index.html; } } ``` ## Netlify 1. 登陆你的[Netlify](https://www.netlify.com/)账号 2. 在[dashboard](https://app.netlify.com/)页上点击 **New site from Git**. 3. 选择那个你用来存储文档的git仓库,将 **Build Command** 留空, 将 **Publish directory** 区域填入你的`index.html`所在的目录,例如:填入`docs`(如果你的`index.html`的相对路径是`docs/index.html`的话). ### HTML5 router 当使用HTML5路由时,你需要设置一条将所有请求重定向到你的`index.html`的重定向规则。当你使用Netlify时这相当简单,在你的**Publish Directory**下创建一个`\redirects`文件,写进以下内容,然后——:tada:就好了: ```sh /* /index.html 200 ```