2011-01-04 11 views
26

私はRailsアプリケーションを持っており、ブログ機能を追加したいと思います。私の考えは、素晴らしいブログツールであるJekyllを使うことです。私はちょうどそれがURLとしてhttp://my.app.com/blogを使うことができるかどうかを知る必要があります(Jekyllが独自のサーバープロセスを独自のURLで実行することを知っている)。RailsアプリとJekyllのブログは共存できますか?

誰でもこれを達成する方法を知っていますか?そうすることができることは素晴らしいことです。宜しくお願いします!

答えて

20

...ただそれは(ジキルは、独自のURLを持つ独自のサーバープロセスを実行することを知っている)URLとしてhttp://my.app.com/blog を使用することが可能かどう把握する必要があります。

jekyllのWebサーバーは機能しますが、レールアプリケーションのWebサーバーを使用してすべてのページを提供する方が簡単で簡単で安全です。

あなたが欲しいものを行うための最も簡単な方法は、サーバーのgitリポジトリへジキル呼び出しhookingので、ジキルの静的コンテンツは、あなたのレールのアプリのpublic/blog/ディレクトリに自動的にプッシュがあるたびに追加されます。

  1. アプリケーションのpublicフォルダ内にpublic/blogというシンボルリンクを作成します。 jekyllリポジトリの生成された_siteフォルダを指すようにします。ジキルのブログの内容を制御gitリポジトリで
  2. 、次んpost-receive hookを追加します。

    #!/bin/sh 
    
    rm -rf _site 
    
    jekyll 
    

これらは基本的な手順です。もしあなたがSCMを使っているならば、/ブログ/リンクを無視して、CapistranoやVladを使ってデプロイメントを行っているならば、リンクの作成を自動化しなければならないかもしれません。

シンボリックリンクの代わりに実際のフォルダを使用し、そこに直接ジーキルを生成するなどの方法がありますが、私が提示しているものが最もクリーンであると感じています。

6

Railsアプリの逆プロキシにnginxを使用しますか?もしそうなら、あなたはただ例外を作り出すことができるはずですので/blogはRailsに転送されるのではなくnginxによって直接提供されます。

2

私は数週間前に同じ問題を抱えていました。あなたが本当にジキルを使用する必要があるなら、私は最良の解決策は、既に述べたBloggy gemを使うことだと思います。

しかし、テンプレート、ルート、スタイルシートなどのような多くのものを複製または同期させる必要があるため、私はこの解決策に満足していませんでした。だから私は自分のシンプルなJekyllのようなブログ機能をRailsに実装することにしました。

私の記事の実装についてはこちらをご覧ください:Create a simple Jekyll-like blog in your Rails 4 app

関連する問題