61 lines
1.8 KiB
CoffeeScript
Executable File
61 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}/browse/"
|
|
"#{base}/configure/"
|
|
"#{base}/craft/"
|
|
"#{base}/login/"
|
|
]
|
|
|
|
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
|