2013-08-05 9 views
6

Jekyllは、特定のディレクトリ(デフォルトでは_site)に静的サイトを生成します。 jekyll serveを実行すると、サイトが構築され、サイトが指定されたポートでローカルに表示できるようにサーバーが設定されます(デフォルトでlocalhost:4000など)。私は、このserveの動作を有効にする方法があり、gemを起動してサイトを最初に再コンパイルしないと思っています。jekyll serve(local)without building

また、jekyllを使用せずにローカルホストのポートからサイトを提供するには他のツールを使用するだけで十分ですが、その方法(node.js?)はわかりません。私はブラウザで直接静的ファイルを開くことができますが、これは(CSSなどの)相対URLのリンクをすべて正しく見つけることができず、代わりに/css/default.cssなどのリンクをデフォルトルートfile://css/default.cssにデフォルト設定しています。

(これは、Jekyllが大きなサイトを構築するのにかなり時間がかかり、さまざまなAPIへのインターネットアクセスが必要なプラグインがあるため便利です。 。

+0

静的ファイルサーバーが必要な場合は、['node-static'](https://github.com/cloudhead/node-static#command-line-interface)を使用できます。しかし、サイトがまだビルドしていれば、ファイルは実際にはまだ利用可能ではないかもしれません。 –

+0

Hmm .. 'npm'でうまくインストールされますが、サイトディレクトリで' static'を試してみるとコンソール出力は得られず、localhost:8080で何も表示されません...私が逃したものはわかりません... – cboettig

答えて

6
jekyll serve --skip-initial-build 

これはサイトの初期構築プロセスをスキップします。サイトを構築して提供するための追加の構成オプションは、hereです。

6

既に組み込まれている_siteディレクトリを提供したいだけなら、Webサーバーをローカルですぐに実行する方法はいくつもあります。ルビーを使用すると、ちょうどcd_siteへとそのようWEBrickに使用することができます。

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

やPythonのSimpleHTTPServerを:

python -mSimpleHTTPServer 4000 

これらの両方の4000にポートを設定し、それは、任意の数である可能性があります。

+0

完璧、ありがとう!どちらも私の魅力のように働いた。 WEBrickは、ジキルが内部的に使用しているように見えます。 – cboettig

0

BlogDownのような別のブログプラットフォームを使用すると、建物を完全にバイパスすることができます。 BlogDownは、コンパイルする必要のない静的なサイトジェネレータです。マークダウンファイルを交換するだけで、あなたは行こうとします。 https://github.com/thingdown/blogdown

関連する問題