2013-07-04 12 views
8

Capisco che Octopress è progettato per funzionare come applicazione web standalone.Combina Octopress e un'applicazione Rails 4.0?

Ho un sito Web personale e desidero aggiungere un blog e per numerosi motivi vorrei utilizzare Octopress per questo. Piuttosto che avere due applicazioni separate e repos in git, mi piacerebbe integrare queste app insieme.

Esiste un modo affidabile per integrare Octopress in un'applicazione Rails 4.0 esistente?

La mia migliore scommessa è montare Octopress come applicazione rack all'interno del router Rails, o c'è un modo migliore?

+3

Octopress genera file statici, non sarebbe sufficiente metterli nella cartella pubblica dell'app Rails? – Wukerplank

+0

@Wukerplank Octopress è in realtà un'applicazione 'sinatra/base', quindi credo che sia possibile' montare OctopressApp,: at => '/ blog'' all'interno di un file 'routes.rb' di Rails. – professormeowingtons

+0

No, quando vai nella tua cartella Octopress ed esegui 'rake generate' otterrai una cartella' public' contenente il tuo blog. Octopress è un wrapper per Jekyll (http://jekyllrb.com) che a sua volta è un generatore di siti statici. La parte di Sinatra a cui ti riferisci è per l'anteprima e lo sviluppo. – Wukerplank

risposta

1

Penso che la cosa migliore da fare sia avere un server di frontend come nginx come proxy inverso e fare il reindirizzamento/proxy da lì.

in modo da avere un nginx.conf qualcosa sulla falsariga di:

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 
    } 
} 

Il mio esempio è se si utilizza un sottodominio blog.domain.com. Ma ovviamente se hai domain.com/blog, funzionerà ancora, basta fare qualche ritocco sul file nging.conf.