如何在Heroku上提供Gitbook

时间:2015-09-24 16:10:51

标签: heroku gitbook

我有一个Gitbook存储库,我想通过Heroku提供服务。我应该如何为此目的设置我的应用程序?如何告诉“Gitbook serve”命令听Heroku的端口?

谢谢。

2 个答案:

答案 0 :(得分:4)

不要直接在Heroku上运行gitbook-cli,gitbbok将使用大量内存并为免费dyno传递512MB限制。最好的方法是首先将您的图书构建到静态网站,然后使用 nodejs express 静态或使用 sinatra 来提供静态内容。

gitbook 文件夹中运行以下内容。

gitbook build

将创建一个新文件夹_book,您的所有html文件都将在此处。您现在可以在Heroku上创建一个新应用并提供静态内容。

执行gitbook build后,您可以通过创建app.js这样的文件来Express投放该目录:

var express = require('express'); 
var app = express();
app.use(express.static(__dirname + '/_book'));

app.listen(process.env.PORT || 3000);

死容易。有关详细信息:Static files served by node.js on heroku - is it a good idea?

答案 1 :(得分:2)

1-将gitbook-cli添加到您的项目中:

web: ./node_modules/gitbook-cli/bin/gitbook.js serve --port $PORT

2-为项目添加Procfile

/* ----------- iPhone 5 and 5S ----------- */
/* Portrait and Landscape */
@media only screen and
(min-device-width: 320px) and (max-device-width: 568px) and
 (-webkit-min-device-pixel-ratio: 2) {

}

/* Portrait */
@media only screen 
 and (min-device-width: 320px) 
 and (max-device-width: 568px)
 and (-webkit-min-device-pixel-ratio: 2)
 and (orientation: portrait) {
}

 /* Landscape */
 @media only screen 
 and (min-device-width: 320px) 
 and (max-device-width: 568px)
 and (-webkit-min-device-pixel-ratio: 2)
 and (orientation: landscape) {

 }