Jekyll在给定目录中生成静态站点(默认情况下为_site
)。运行jekyll serve
构建站点,然后设置服务器,以便可以在指定端口上本地查看该站点(例如,默认情况下为localhost:4000
)。我想知道是否有办法激活此serve
行为而不会触发gem首先重新编译该站点。
或者,使用其他工具从localhost端口服务站点而不使用jekyll就足够了,但我不知道该怎么做(node.js?)。虽然我可以直接在浏览器中打开静态文件,但是没有正确找到所有相对URL链接(到css等),而是将/css/default.css
等链接默认为根file://css/default.css
,当然不存在。
(例如,这可能很有用,因为Jekyll需要花费一些时间来构建一个大型网站,而我使用的某些插件需要对各种API进行互联网访问。最好在不触发这些网站的情况下离线查看网站)。
答案 0 :(得分:8)
jekyll serve --skip-initial-build
这将为网站提供服务,跳过初始构建过程。可以在here找到用于构建和提供网站的其他配置选项。
答案 1 :(得分:7)
如果您只想提供已构建的_site
目录,可以通过多种方式在本地快速运行Web服务器。使用ruby,您只需cd
进入_site
并使用WEBrick,就像这样:
ruby -rwebrick -e 'WEBrick::HTTPServer.new(:Port=>4000,:DocumentRoot=>".").start'
或python的SimpleHTTPServer:
python -mSimpleHTTPServer 4000
这两个端口都设置为4000,但可以是任意数字。