diff --git a/scripts/server b/scripts/server index 9e620ead3..0cf68d9cd 100755 --- a/scripts/server +++ b/scripts/server @@ -12,8 +12,9 @@ path = require 'path' ######################################################################################################################## -ROOT = './dist/' -DATA_ROOT = '../crafting-guide-data' +ROOT = './dist' +DATA_ROOT = '../crafting-guide-data' +PRERENDER_ROOT = '../crafting-guide-prerender/static' CONTENT_TYPE = { '.cg': 'text/plain' @@ -33,29 +34,30 @@ app = express() serveIndex = (request, response)-> response.set 'Content-Type', 'text/html' - filePath = "#{request.path}index.html".replace /^\//, '' - fs.stat "#{ROOT}#{filePath}", (err, stats)-> + filePath = "#{request.path}index.html".replace('index.htmlindex.html', 'index.html') + fs.stat "#{PRERENDER_ROOT}#{filePath}", (err, stats)-> if not err? - response.sendFile filePath, root:ROOT - console.log ">>> #{filePath} (for #{request.path})" + console.log ">>> #{request.path} ==> #{PRERENDER_ROOT}#{filePath}" + response.sendFile filePath, root:PRERENDER_ROOT else + console.log ">>> #{request.path} ==> #{ROOT}app.html" response.sendFile '/app.html', root:ROOT - console.log ">>> app.html (for #{request.path})" serveData = (request, response)-> - console.log ">>> #{request.path}" response.set 'Content-Type', CONTENT_TYPE[path.extname request.path] + console.log ">>> #{request.path} ==> #{DATA_ROOT}#{request.path}" response.sendFile request.path, root:DATA_ROOT app.get '/data/*', serveData app.get '/craft/*', serveIndex app.get '/login', serveIndex +app.get '*.html', serveIndex app.get '*/$', serveIndex app.get '*', (request, response)-> - console.log ">>> #{request.path}" response.set 'Content-Type', CONTENT_TYPE[path.extname request.path] + console.log ">>> #{request.path} ==> #{ROOT}#{request.path}" response.sendFile request.path, root:ROOT server = app.listen 8000, '127.0.0.1', -> diff --git a/src/coffee/crafting_guide_router.coffee b/src/coffee/crafting_guide_router.coffee index 64ff616d4..850c0ee2a 100644 --- a/src/coffee/crafting_guide_router.coffee +++ b/src/coffee/crafting_guide_router.coffee @@ -118,15 +118,15 @@ module.exports = class CraftingGuideRouter extends backbone.Router @_recordPageView() routes: - '(/)': 'route__home' - 'browse(/)': 'route__browse' - 'browse/:modSlug(/)': 'route__browseMod' - 'browse/:modSlug/:itemSlug(/)': 'route__browseModItem' - 'browse/:modSlug/tutorials/:tutorialSlug(/)': 'route__browseTutorial' - 'configure(/)': 'route__configure' - 'craft(/)': 'route__craft' - 'craft/:text': 'route__craft' - 'login(/)': 'route__login' + '(/(index.html))': 'route__home' + 'browse(/(index.html))': 'route__browse' + 'browse/:modSlug(/(index.html))': 'route__browseMod' + 'browse/:modSlug/:itemSlug(/(index.html))': 'route__browseModItem' + 'browse/:modSlug/tutorials/:tutorialSlug(/(index.html))': 'route__browseTutorial' + 'configure(/(index.html))': 'route__configure' + 'craft(/(index.html)': 'route__craft' + 'craft/:text': 'route__craft' + 'login(/(index.html))': 'route__login' 'item/:itemSlug': 'deprecated__item' 'crafting/(:text)': 'deprecated__crafting'