diff --git a/scripts/sitemap b/scripts/sitemap index e69de29bb..570b866c2 100755 --- a/scripts/sitemap +++ b/scripts/sitemap @@ -0,0 +1,59 @@ +#!/usr/bin/env coffee + +{Logger} = require 'crafting-guide-common' + +global._ = require 'underscore' +global.Backbone = require 'backbone' +global.logger = new Logger level:Logger.FATAL + +require '../src/coffee/underscore_mixins' + +{DefaultMods} = require '../src/coffee/constants' +Mod = require '../src/coffee/models/mod' +ModParser = require '../src/coffee/models/mod_parser' +ModVersionParser = require '../src/coffee/models/mod_version_parser' +fs = require 'fs' + +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 "./static/data/#{modSlug}/mod.cg", 'utf-8' + + mod.eachModVersion (modVersion)-> + modVersionDataFile = "./static/data/#{modSlug}/#{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