2017-01-23 8 views
2

ハキルを初めて使用しようとしています。 the official siteのチュートリアルに続いて、フォントを扱うルート処理イメージを拡張しようとしています。私はこれまでsite.hs内のコードを変更しました:fontsディレクトリでハキルルが新しいルートで更新しない

match ("images/*" .||. "fonts/*") $ do 
    route idRoute 
    compile copyFileCompiler 

を、私はアクセス権と所有者、サイトの静的ファイルの残りの部分と一致する.ttfフォントファイルの数(すべての作業のを持っています正しく)。何らかの理由で

はいえ、(stack exec site rebuildで)サイトを再構築した後、これらのアップデートは、バイナリには反映されず、404

fonts/*結果へのルートは、どのように私はHakyllフォントをロードするために得ることができますか?

答えて

3

stack exec site rebuildは、サイトデータ(宛先ディレクトリ内に生成されるファイル、デフォルトでは_site)のみを再構築します。サイトのソースを変更するたびに、stack buildを発行する必要があります。

watchサーバーを実行している場合は、再起動します。stack buildは、新しい実行可能ファイルsiteを作成します。実行中の古いインスタンスは再起動されません。

siteが建設された後に必要とするべきではないあなただけのsite rebuildを実行し、新しいルールを追加した場合、site buildまたはsite watchファイルは「キャッシュ」に欠けていることに気付くはずです。ただし、既存のルールを変更した場合は、ファイルが最新ではないことをHakyllに知らせる必要があります。 site cleanまたはsite rebuildを使用してサイトをクリーニングすると、ハキルはすべてを再生成します。大きなサイトがあり、変更の影響を受けるファイルがわずかな場合は、変更を保存し直すか、変更時間を変更することもできます(たとえば、touchコマンドを使用)。

+0

もし私が 'stack exec site watch'を走らせているのであれば' build/rebuild'が必要ですか? 'watch'を再起動する必要はありますか? – wizzup

+1

私は答えを広げました。 –

関連する問題