Isso será útil se você quiser que seu blog seja executado em um subdiretório de um aplicativo Sinatra.
Após gerar seu blog Octopress, seguindo os passos para implantar em um subdiretório , coloque a pasta gerada na pasta / public do seu aplicativo Sinatra. Em seguida, edite seu arquivo site.rb e adicione estas linhas:
get(/.+/) do
send_sinatra_file(request.path) {404}
end
not_found do
send_file(File.join(File.dirname(__FILE__), 'public', '404.html'), {:status => 404})
end
def send_sinatra_file(path, &missing_file_block)
file_path = File.join(File.dirname(__FILE__), 'public', path)
file_path = File.join(file_path, 'index.html') unless file_path =~ /.[a-z]+$/i
File.exist?(file_path) ? send_file(file_path) : missing_file_block.call
end
Depois disso, seu blog deve estar acessível quando você iniciar o servidor, em localhost: 4567 / yoursubdirectoryname
Eu criei um pequeno aplicativo para demonstrar seu funcionamento. Você pode acessá-lo no GitHub aqui .