9

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

或者,在不使用 jekyll 的情况下,使用其他工具从 localhost 端口为站点提供服务就足够了,但我不知道该怎么做(node.js?)。虽然我可以直接在浏览器中打开静态文件,但这并没有正确找到所有相对 url 链接(到 css 等),而是默认链接,例如/css/default.css到根目录file://css/default.css,这当然不存在。

(这会很有用,例如,因为 Jekyll 需要相当长的时间来构建一个大型站点,而且我使用的某些插件需要互联网访问各种 API。离线查看站点而不触发这些会很好)。

4

2 回答 2

9
jekyll serve --skip-initial-build 

这将为站点提供服务,跳过初始构建过程。可以在此处找到用于构建和服务站点的其他配置选项。

于 2015-11-10T22:54:14.993 回答
7

如果您只想为已构建的_site目录提供服务,有多种方法可以在本地快速运行 Web 服务器。使用 ruby​​,您可以像这样cd进入_site和使用 WEBrick:

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

或 python 的 SimpleHTTPServer:

python -mSimpleHTTPServer 4000

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

于 2013-08-06T03:30:04.950 回答