【问题标题】:Combine Octopress and a Rails 4.0 Application?结合 Octopress 和 Rails 4.0 应用程序?
【发布时间】:2013-07-02 04:08:16
【问题描述】:

我了解 Octopress 旨在作为独立的网络应用程序运行。

我有一个个人网站,我想在其中添加一个博客,出于多种原因,我想为此使用 Octopress。我不想在 git 中拥有两个单独的应用程序和存储库,而是希望将这些应用程序集成在一起。

是否有可靠的方法将 Octopress 集成到现有的 Rails 4.0 应用程序中?

最好的办法是将 Octopress 作为机架应用程序安装在 Rails 路由器中,还是有更好的方法?

【问题讨论】:

  • Octopress 生成静态文件,将它们放在 Rails 应用程序的公共文件夹中就足够了吗?
  • @Wukerplank Octopress 实际上是一个sinatra/base 应用程序,所以我相信可以在Rails routes.rb 文件中使用mount OctopressApp, :at => '/blog'
  • 不,当您转到您的 Octopress 文件夹并运行 rake generate 时,您将获得一个包含您的博客的 public 文件夹。 Octopress 是 Jekyll (jekyllrb.com) 的包装器,它本身就是一个静态站点生成器。您所指的 Sinatra 部分用于预览和开发。
  • 对此也很感兴趣,目前正在寻找一种方法将 octopress 干净地集成到我的 Rails 应用程序中,也包括 Rails 4。您已经找到解决方案了吗?
  • 如果您不需要 octopress 的所有功能,我认为开发自己的博客比集成到 rails 更容易,但是您可以创建一个 gem 或插件来移动您的静态内容、配置文件和路由器引擎,但我的事情更复杂,在自定义 Rails 应用程序中,您可以集成 WSGY 编辑器并使用 Markdown(红地毯)和 Luquid 或 Jekyll

标签: ruby-on-rails rack ruby-on-rails-4 octopress


【解决方案1】:

我认为最好的办法是使用像 nginx 这样的前端服务器作为反向代理,并从那里进行重定向/代理。

所以你会有一个nginx.conf 类似的东西:

server {
  listen 80;
  server_name domain.com;
  location / {
    # ... proxy config stuff to rails ...
  }
}

server {
  listen 80;
  server_name blog.mydomain.com;
  location / {
    root /to/octopress/static/folder
  }
}

我的例子是如果您使用子域blog.domain.com。但显然如果你有domain.com/blog,它仍然可以工作,只需对nging.conf 文件进行一些调整。

【讨论】:

    猜你喜欢
    • 2010-09-11
    • 2013-05-15
    • 1970-01-01
    • 1970-01-01
    • 2011-01-28
    • 2018-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多