Rails应用程序和Jekyll博客可以一起生活吗?

Pan*_*hew 26 blogs ruby-on-rails jekyll

我有一个Rails应用程序,我想添加一个博客功能; 我的想法是使用Jekyll,这是一个很棒的博客工具,我只需要弄清楚是否可以使用http://my.app.com/blog作为网址(知道Jekyll将使用它运行自己的服务器进程)自己的网址).

有人知道实现这个目标的方法吗?能够做到这一点真是太棒了.最好的祝福!

kik*_*ito 21

...只需要弄清楚是否可以使用http://my.app.com/blog 作为网址(知道Jekyll将使用自己的网址运行自己的服务器进程).

虽然jekyll的网络服务器可以工作,但使用rails应用程序的网络服务器来提供所有页面可能更容易,更简单,更安全.

做你想做的最简单的方法是 jekyll调用挂钩到服务器的git存储库,这样public/blog/每次推送时jekyll的静态内容都会自动添加到rails应用程序的目录中.

  1. 创建一个public/blog在应用程序public文件夹中调用的符号链接.指向_sitejekyll存储库的生成文件夹.
  2. 在控制jekyll博客内容的git存储库中,添加执行以下操作的post-receive挂钩:

    #!/bin/sh
    
    rm -rf _site
    
    jekyll
    
    Run Code Online (Sandbox Code Playgroud)

这些是基本步骤.您可能必须正确配置读取权限,如果您使用SCM(如您所愿),请忽略/ blog/link,如果使用Capistrano或Vlad进行部署,则自动创建链接.

还有其他选择,比如使用真正的文件夹而不是符号链接,让jekyll直接在那里生成东西,但我觉得我提出的那个是最干净的.


Han*_*Gay 7

你会使用nginx反向代理Rails应用程序吗?如果是这样,您应该能够只创建一个异常,因此/blog由nginx直接提供,而不是转发给Rails.