* Change all internal links to use URLs ending in `/` * Add the prerender script which uses PhantomJS to pre-render the HTML for all possible pages in the system * Change the build process to incorporate the pre-rendered files * Update the sitemap script to generate the new URLs
52 lines
1.4 KiB
CoffeeScript
Executable File
52 lines
1.4 KiB
CoffeeScript
Executable File
#!/usr/bin/env coffee
|
|
|
|
Logger = require '../src/scripts/logger'
|
|
|
|
global._ = require 'underscore'
|
|
global.Backbone = require 'backbone'
|
|
global.logger = new Logger level:Logger.FATAL
|
|
|
|
require '../src/scripts/underscore_mixins'
|
|
|
|
Mod = require '../src/scripts/models/mod'
|
|
ModParser = require '../src/scripts/models/mod_parser'
|
|
ModVersionParser = require '../src/scripts/models/mod_version_parser'
|
|
fs = require 'fs'
|
|
|
|
modSlugs = {}
|
|
itemSlugs = {}
|
|
|
|
base = 'http://crafting-guide.com'
|
|
|
|
urls = [
|
|
"#{base}/"
|
|
"#{base}/configure/"
|
|
"#{base}/browse/"
|
|
"#{base}/craft/"
|
|
]
|
|
|
|
for modSlug in fs.readdirSync './src/data'
|
|
continue if modSlug[0] is '.'
|
|
modSlugs[modSlug] = modSlug
|
|
|
|
mod = new Mod slug:modSlug
|
|
modParser = new ModParser model:mod
|
|
modParser.parse fs.readFileSync "./src/data/#{modSlug}/mod.cg", 'utf-8'
|
|
|
|
mod.eachModVersion (modVersion)->
|
|
modVersionParser = new ModVersionParser model:modVersion
|
|
modVersionParser.parse fs.readFileSync "./src/data/#{modSlug}/#{modVersion.version}/mod-version.cg", 'utf-8'
|
|
|
|
modVersion.eachItem (item)->
|
|
itemSlugs[item.slug] = item.slug
|
|
|
|
for modSlug in _.values(modSlugs).sort()
|
|
urls.push base + "/browse/#{modSlug}/"
|
|
|
|
for key in _.keys(itemSlugs).sort()
|
|
itemSlug = itemSlugs[key]
|
|
urls.push base + "/browse/#{itemSlug.mod}/#{itemSlug.item}/"
|
|
|
|
for url in urls
|
|
console.log url
|