26

Railsアプリを持っていて、ブログ機能を追加したいと思います。私のアイデアは、優れたブログツールであるJekyllを使用することです。URLとしてhttp://my.app.com/blogを使用できるかどうかを判断する必要があります(Jekyllが独自のサーバープロセスを実行することを知っています。独自のURL)。

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

4

4 に答える 4

21

... http://my.app.com/blogを URL として使用できるかどうかを確認する必要があります (Jekyll は独自の URL で独自のサーバー プロセスを実行することを知っています)。

jekyll の Web サーバーは機能しますが、すべてのページを提供するために Rails アプリの Web サーバーを使用する方がおそらく簡単でシンプルで安全です。

必要なことを行う最も簡単な方法は、サーバーの git リポジトリに jekyll 呼び出しをフックpublic/blog/することです。これにより、jekyll の静的コンテンツは、プッシュがあるたびに Rails アプリのディレクトリに自動的に追加されます。

  1. public/blogアプリのpublicフォルダー内で呼び出されるシンボリック リンクを作成します。_sitejekyll リポジトリの生成されたフォルダーを指すようにします。
  2. jekyll ブログのコンテンツを制御する git リポジトリで、次のことを行うpost-receive フックを追加します。

    #!/bin/sh
    
    rm -rf _site
    
    jekyll
    

以上が基本的な手順です。読み取り権限を適切に設定し、SCM を使用している場合は /blog/ リンクを無視し (必要に応じて)、デプロイに Capistrano または Vlad を使用している場合はリンクの作成を自動化する必要があります。

シンボリック リンクの代わりに実際のフォルダーを使用し、jekyll に直接そこに何かを生成させるなど、他の選択肢もありますが、私が提示しているものは最もクリーンだと思います。

于 2011-01-05T17:35:26.123 に答える
7

Rails アプリのリバース プロキシに nginx を使用しますか? /blogその場合、 Rails に転送される代わりに nginx によって直接提供されるように、例外を切り出すことができるはずです。

于 2011-01-04T17:45:33.597 に答える
4

この宝石をチェックしてください: https://github.com/zbruhnke/bloggy

そして、それについてのこのブログ投稿: https://blog.engineyard.com/2012/introducing-bloggy-a-simple-way-to-add-a-jekyll-blog-to-any-rails-application

于 2013-03-17T18:04:02.570 に答える
3

私は数週間前に同じ問題を抱えていました。本当に Jekyll を使用する必要がある場合は、前述のBloggy gem を使用するのが最善の解決策だと思います。

ただし、テンプレート、ルート、スタイルシートなどの多くのものを複製または同期する必要があるため、このソリューションには満足できませんでした。そこで、Jekyll に似た独自のシンプルなブログ機能を Rails に実装することにしました。

実装について説明した私の記事はこちらにあります: Create a simple Jekyll-like blog in your Ra​​ils 4 app

于 2014-05-07T22:22:51.143 に答える