jekyll服务(本地)没有build筑物

Jekyll在给定的目录中生成一个静态的站点(默认情况下, _site )。 运行jekyll servebuild立网站,然后build立一个服务器,使得该网站可以在指定的端口上被本地查看(例如localhost:4000默认)。 我想知道是否有一种方法来激活这个serve行为,而不触发gem重新编译网站。

或者,使用其他工具从本地端口服务于站点而不使用jekyll就足够了,但是我不知道如何做(node.js?)。 虽然我可以直接在浏览器中打开静态文件,但是没有正确地find所有相关的url链接(对于css等),默认将/css/default.css这样的链接/css/default.cssfile://css/default.css而这当然不存在。

(例如,这很有用,因为Jekyll需要一段时间才能build立一个大型的网站,而且我使用的某些插件需要互联网访问各种API,如果离线查看网站而不触发这些网站,那就太好了。

 jekyll serve --skip-initial-build 

这将为网站服务,跳过了最初的构build过程。 可以在这里find用于构build和服务站点的其他configuration选项。

如果你只想提供一个已经build好的_site目录,那么有很多方法可以在本地快速运行一个web服务器。 使用ruby,您可以直接进入_site并使用WEBrick:

 ruby -rwebrick -e 'WEBrick::HTTPServer.new(:Port=>4000,:DocumentRoot=>".").start' 

或python的SimpleHTTPServer:

 python -mSimpleHTTPServer 4000 

这两个设置端口为4000,但可以是任何数字。

如果您使用其他博客平台(如BlogDown),则可以完全绕过构build。 BlogDown是一个静态站点生成器,根本不需要编译。 你只需换出减价文件,你就可以走了。 https://github.com/thingdown/blogdown