9

Jekyll は、指定されたディレクトリ (デフォルトでは_site) に静的サイトを生成します。実行jekyll serveすると、サイトが構築され、指定されたポートでサイトをローカルで表示できるようにサーバーがセットアップされます (たとえばlocalhost:4000、デフォルトで)。serve最初にサイトを再コンパイルするように宝石をトリガーせずに、この動作を有効にする方法があるかどうか疑問に思っています。

または、他のツールを使用して、jekyll を使用せずに localhost ポートからサイトを提供するだけで十分ですが、その方法がわかりません (node.js?)。ブラウザで静的ファイルを直接開くことはできますが、(css などへの) すべての相対 URL リンクが正しく検出されず、代わりに/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 を使用すると、次のように WEBrickにアクセスcdして使用できます。_site

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

または python の SimpleHTTPServer:

python -mSimpleHTTPServer 4000

これらは両方ともポートを 4000 に設定しますが、それは任意の番号にすることができます。

于 2013-08-06T03:30:04.950 に答える