Files
website/scripts/sitemap
T

60 lines
1.8 KiB
CoffeeScript
Executable File

#!/usr/bin/env coffee
Mod = require '../src/coffee/models/mod'
ModParser = require '../src/coffee/models/mod_parser'
ModVersionParser = require '../src/coffee/models/mod_version_parser'
_ = require 'underscore'
fs = require 'fs'
{DefaultMods} = require '../src/coffee/constants'
{Logger} = require 'crafting-guide-common'
require '../src/coffee/underscore_mixins'
########################################################################################################################
global.logger = new Logger level:Logger.FATAL
modSlugs = {}
itemSlugs = {}
tutorialSlugs = []
base = 'http://crafting-guide.com'
urls = [
"#{base}/"
"#{base}/configure/"
"#{base}/browse/"
"#{base}/craft/"
]
for modSlug, modData of DefaultMods
modSlugs[modSlug] = modSlug
mod = new Mod slug:modSlug
modParser = new ModParser model:mod
modParser.parse fs.readFileSync "../crafting-guide-data/data/#{modSlug}/mod.cg", 'utf-8'
mod.eachModVersion (modVersion)->
modVersionDataFile = "../crafting-guide-data/data/#{modSlug}/versions/#{modVersion.version}/mod-version.cg"
modVersionParser = new ModVersionParser model:modVersion
modVersionParser.parse fs.readFileSync modVersionDataFile, 'utf-8'
modVersion.eachItem (item)->
itemSlugs[item.slug] = item.slug
for tutorial in mod.tutorials
tutorialSlugs.push mod:mod.slug, tutorial:tutorial.slug
for modSlug in _.values(modSlugs).sort()
urls.push base + "/browse/#{modSlug}/"
for tutorialSlug in tutorialSlugs
urls.push base + "/browse/#{tutorialSlug.mod}/tutorials/#{tutorialSlug.tutorial}/"
for key in _.keys(itemSlugs).sort()
itemSlug = itemSlugs[key]
urls.push base + "/browse/#{itemSlug.mod}/#{itemSlug.item}/"
for url in urls
console.log url