Convert site to a single JavaScript archive
* Convert build to use a single JavaScript file on the site (instead of downloading each library separately). This also means that all global variables (e.g., `$` for JQuery, `_` for Underscore.js) can be removed. * Remove unused scripts and/or move them to a more appropriate repo * Update the `deploy` script to work with CircleCI's automation * Update markdown display code to allow images to be located with the markdown data files instead of the pre-rendered index pages
This commit is contained in:
@@ -5,7 +5,9 @@ Copyright (c) 2015 by Redwood Labs
|
||||
All rights reserved.
|
||||
###
|
||||
|
||||
$ = require 'jquery'
|
||||
BaseController = require './base_controller'
|
||||
_ = require 'underscore'
|
||||
{Adsense} = require '../constants'
|
||||
{Duration} = require '../constants'
|
||||
{ProductionEnvs} = require '../constants'
|
||||
|
||||
@@ -5,13 +5,16 @@ Copyright (c) 2014-2015 by Redwood Labs
|
||||
All rights reserved.
|
||||
###
|
||||
|
||||
$ = require 'jquery'
|
||||
_ = require 'underscore'
|
||||
backbone = require 'backbone'
|
||||
views = require '../views'
|
||||
{Duration} = require '../constants'
|
||||
{Event} = require '../constants'
|
||||
|
||||
########################################################################################################################
|
||||
|
||||
module.exports = class BaseController extends Backbone.View
|
||||
module.exports = class BaseController extends backbone.View
|
||||
|
||||
constructor: (options={})->
|
||||
@tryRefresh = _.debounce @_tryRefresh, 100
|
||||
|
||||
@@ -10,6 +10,7 @@ CraftPage = require '../models/craft_page'
|
||||
InventoryController = require './inventory_controller'
|
||||
PageController = require './page_controller'
|
||||
StepController = require './step_controller'
|
||||
_ = require 'underscore'
|
||||
{Event} = require '../constants'
|
||||
{Url} = require '../constants'
|
||||
|
||||
@@ -30,7 +31,7 @@ module.exports = class CraftPageController extends PageController
|
||||
@modPack = options.modPack
|
||||
@storage = options.storage
|
||||
|
||||
@model.plan.on Event.change, => @refresh()
|
||||
@model.plan.on Event.change, => @tryRefresh()
|
||||
|
||||
# Event Methods ################################################################################
|
||||
|
||||
|
||||
@@ -5,11 +5,12 @@ Copyright (c) 2014-2015 by Redwood Labs
|
||||
All rights reserved.
|
||||
###
|
||||
|
||||
BaseController = require './base_controller'
|
||||
{Duration} = require '../constants'
|
||||
{Event} = require '../constants'
|
||||
ImageLoader = require './image_loader'
|
||||
BaseController = require './base_controller'
|
||||
ImageLoader = require './image_loader'
|
||||
MinimalRecipeController = require './minimal_recipe_controller'
|
||||
_ = require 'underscore'
|
||||
{Duration} = require '../constants'
|
||||
{Event} = require '../constants'
|
||||
|
||||
########################################################################################################################
|
||||
|
||||
|
||||
@@ -5,9 +5,11 @@ Copyright (c) 2015 by Redwood Labs
|
||||
All rights reserved.
|
||||
###
|
||||
|
||||
$ = require 'jquery'
|
||||
BaseController = require './base_controller'
|
||||
{Duration} = require '../constants'
|
||||
EmailClient = require '../models/email_client'
|
||||
_ = require 'underscore'
|
||||
{Duration} = require '../constants'
|
||||
{Key} = require '../constants'
|
||||
|
||||
########################################################################################################################
|
||||
|
||||
@@ -10,6 +10,7 @@ CraftingGridController = require './crafting_grid_controller'
|
||||
ImageLoader = require './image_loader'
|
||||
Inventory = require '../models/inventory'
|
||||
InventoryController = require './inventory_controller'
|
||||
_ = require 'underscore'
|
||||
{Duration} = require '../constants'
|
||||
{StringBuilder} = require 'crafting-guide-common'
|
||||
|
||||
|
||||
@@ -5,8 +5,10 @@ Copyright (c) 2015 by Redwood Labs
|
||||
All rights reserved.
|
||||
###
|
||||
|
||||
$ = require 'jquery'
|
||||
BaseController = require './base_controller'
|
||||
ItemSelectorController = require './item_selector_controller'
|
||||
_ = require 'underscore'
|
||||
{Duration} = require '../constants'
|
||||
{Event} = require '../constants'
|
||||
{ProductionEnvs} = require '../constants'
|
||||
|
||||
@@ -7,6 +7,7 @@ All rights reserved.
|
||||
|
||||
AdsenseController = require './adsense_controller'
|
||||
PageController = require './page_controller'
|
||||
_ = require 'underscore'
|
||||
|
||||
########################################################################################################################
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ ImageLoader = require './image_loader'
|
||||
ItemSelectorController = require './item_selector_controller'
|
||||
NameFinder = require '../models/name_finder'
|
||||
StackController = require './stack_controller'
|
||||
_ = require 'underscore'
|
||||
{Duration} = require '../constants'
|
||||
{Event} = require '../constants'
|
||||
{Key} = require '../constants'
|
||||
|
||||
@@ -6,6 +6,7 @@ All rights reserved.
|
||||
###
|
||||
|
||||
BaseController = require './base_controller'
|
||||
_ = require 'underscore'
|
||||
|
||||
########################################################################################################################
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ ItemSlug = require '../models/item_slug'
|
||||
MarkdownSectionController = require './markdown_section_controller'
|
||||
PageController = require './page_controller'
|
||||
VideoController = require './video_controller'
|
||||
_ = require 'underscore'
|
||||
{Duration} = require '../constants'
|
||||
{Event} = require '../constants'
|
||||
{Text} = require '../constants'
|
||||
@@ -88,6 +89,8 @@ module.exports = class ItemPageController extends PageController
|
||||
@imageLoader.load display.iconUrl, @$titleImage
|
||||
@$name.html display.itemName
|
||||
|
||||
@_descriptionController.imageBase = Url.itemImageDir display
|
||||
|
||||
if @model.item.officialUrl?
|
||||
@$officialPageLink.attr 'href', @model.item.officialUrl
|
||||
@show @$officialPageLink
|
||||
|
||||
@@ -5,9 +5,11 @@ Copyright (c) 2015 by Redwood Labs
|
||||
All rights reserved.
|
||||
###
|
||||
|
||||
$ = require 'jquery'
|
||||
BaseController = require './base_controller'
|
||||
ItemSelector = require '../models/item_selector'
|
||||
ItemSelectorElementController = require './item_selector_element_controller'
|
||||
_ = require 'underscore'
|
||||
{Duration} = require '../constants'
|
||||
{Event} = require '../constants'
|
||||
{Key} = require '../constants'
|
||||
|
||||
@@ -6,6 +6,7 @@ All rights reserved.
|
||||
###
|
||||
|
||||
BaseController = require './base_controller'
|
||||
_ = require 'underscore'
|
||||
{Event} = require '../constants'
|
||||
|
||||
########################################################################################################################
|
||||
|
||||
@@ -7,6 +7,7 @@ All rights reserved.
|
||||
|
||||
PageController = require './page_controller'
|
||||
User = require '../models/user'
|
||||
_ = require 'underscore'
|
||||
{CraftingGuideClient} = require 'crafting-guide-common'
|
||||
{Event} = require '../constants'
|
||||
{Login} = require '../constants'
|
||||
|
||||
@@ -6,6 +6,8 @@ All rights reserved.
|
||||
###
|
||||
|
||||
BaseController = require './base_controller'
|
||||
_ = require 'underscore'
|
||||
{markdown} = require 'markdown'
|
||||
{Url} = require '../constants'
|
||||
|
||||
########################################################################################################################
|
||||
@@ -14,13 +16,15 @@ module.exports = class MarkdownSectionController extends BaseController
|
||||
|
||||
constructor: (options={})->
|
||||
if not options.modPack? then throw new Error 'options.modPack is required'
|
||||
options.imageBase ?= ''
|
||||
options.model ?= ''
|
||||
options.title ?= 'Description'
|
||||
options.templateName = 'markdown_section'
|
||||
super options
|
||||
|
||||
@modPack = options.modPack
|
||||
@title = options.title
|
||||
@imageBase = options.imageBase
|
||||
@modPack = options.modPack
|
||||
@title = options.title
|
||||
|
||||
# BaseController Overrides #####################################################################
|
||||
|
||||
@@ -50,15 +54,17 @@ module.exports = class MarkdownSectionController extends BaseController
|
||||
tree = markdown.parse @model, 'Maruku'
|
||||
|
||||
findLinkRefs = (node)=>
|
||||
logger.verbose "inspecting a #{node[0]}"
|
||||
logger.verbose -> "inspecting a #{node[0]}"
|
||||
if node[0] is 'link_ref'
|
||||
logger.verbose "looking for item named: #{node[2]}"
|
||||
logger.verbose -> "looking for item named: #{node[2]}"
|
||||
item = @modPack.findItemByName node[2]
|
||||
if item?
|
||||
logger.verbose "found item #{item.slug}, updating link"
|
||||
logger.verbose -> "found item #{item.slug}, updating link"
|
||||
node[0] = 'link'
|
||||
node[1].href = Url.item itemSlug:item.slug.item, modSlug:item.slug.mod
|
||||
delete node[1].ref
|
||||
else if node[0] is 'img'
|
||||
node[1].href = "#{@imageBase}/#{node[1].href}"
|
||||
else
|
||||
for index in [1...node.length]
|
||||
if _.isArray node[index]
|
||||
|
||||
@@ -9,6 +9,7 @@ BaseController = require './base_controller'
|
||||
CraftingGridController = require './crafting_grid_controller'
|
||||
ImageLoader = require './image_loader'
|
||||
SlotController = require './slot_controller'
|
||||
_ = require 'underscore'
|
||||
{Duration} = require '../constants'
|
||||
{StringBuilder} = require 'crafting-guide-common'
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ All rights reserved.
|
||||
###
|
||||
|
||||
BaseController = require './base_controller'
|
||||
_ = require 'underscore'
|
||||
{Url} = require '../constants'
|
||||
|
||||
########################################################################################################################
|
||||
|
||||
@@ -7,6 +7,7 @@ All rights reserved.
|
||||
|
||||
BaseController = require './base_controller'
|
||||
ModSelectorController = require './mod_selector_controller'
|
||||
_ = require 'underscore'
|
||||
{Duration} = require '../constants'
|
||||
|
||||
########################################################################################################################
|
||||
|
||||
@@ -5,6 +5,7 @@ Copyright (c) 2015 by Redwood Labs
|
||||
All rights reserved.
|
||||
###
|
||||
|
||||
$ = require 'jquery'
|
||||
AdsenseController = require './adsense_controller'
|
||||
Item = require '../models/item'
|
||||
ItemGroupController = require './item_group_controller'
|
||||
|
||||
@@ -5,9 +5,11 @@ Copyright (c) 2014-2015 by Redwood Labs
|
||||
All rights reserved.
|
||||
###
|
||||
|
||||
$ = require 'jquery'
|
||||
BaseController = require './base_controller'
|
||||
{Event} = require '../constants'
|
||||
Mod = require '../models/mod'
|
||||
_ = require 'underscore'
|
||||
{Event} = require '../constants'
|
||||
{RequiredMods} = require '../constants'
|
||||
{Url} = require '../constants'
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ Copyright (c) 2015 by Redwood Labs
|
||||
All rights reserved.
|
||||
###
|
||||
|
||||
$ = require 'jquery'
|
||||
BaseController = require './base_controller'
|
||||
{Text} = require '../constants'
|
||||
|
||||
@@ -34,4 +35,4 @@ module.exports = class PageController extends BaseController
|
||||
|
||||
$('title').html title
|
||||
|
||||
super
|
||||
super
|
||||
|
||||
@@ -6,6 +6,7 @@ All rights reserved.
|
||||
###
|
||||
|
||||
BaseController = require './base_controller'
|
||||
_ = require 'underscore'
|
||||
|
||||
########################################################################################################################
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ All rights reserved.
|
||||
|
||||
BaseController = require './base_controller'
|
||||
ImageLoader = require './image_loader'
|
||||
_ = require 'underscore'
|
||||
{Duration} = require '../constants'
|
||||
{Event} = require '../constants'
|
||||
{Key} = require '../constants'
|
||||
|
||||
@@ -8,6 +8,7 @@ All rights reserved.
|
||||
BaseController = require './base_controller'
|
||||
InventoryController = require './inventory_controller'
|
||||
MinimalRecipeController = require './minimal_recipe_controller'
|
||||
_ = require 'underscore'
|
||||
{Event} = require '../constants'
|
||||
|
||||
########################################################################################################################
|
||||
|
||||
@@ -6,6 +6,7 @@ All rights reserved.
|
||||
###
|
||||
|
||||
BaseController = require './base_controller'
|
||||
_ = require 'underscore'
|
||||
{Url} = require '../constants'
|
||||
|
||||
########################################################################################################################
|
||||
|
||||
@@ -98,6 +98,7 @@ module.exports = class TutorialPageController extends BaseController
|
||||
controller.model = section.model
|
||||
controller.refresh()
|
||||
|
||||
controller.imageBase = Url.tutorialImageDir modSlug:@modSlug, tutorialSlug:@tutorialSlug
|
||||
index += 1
|
||||
|
||||
while @_sectionControllers.length > index
|
||||
|
||||
Reference in New Issue
Block a user