Update the crafting page so that the check mark for each step only
appears when hovering over that step, and so that the check also has
some descriptive text helping the user understand what it does.
* 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
The `InventoryTableController` had been split off from the existing
`InventoryController` some time ago, but was never properly factored
not to share common code. This change elimiates it altogether in
favor of the newly re-vamped `InventoryController` which is now
flexible enough to be used in both places.
This introduces the new crafting page design featuring a new vertical
layout and list display of all crafting steps. It also makes it easy
to move items between the have/need sections and even from each step
into your inventory (causing a new crafting plan to be created which
doesn't plan on making that item).
* Convert the `BaseController.hide` and `show` methods to be much
more robust in the use of CSS transitions (using a timer in case a
transition doesn't actually fire).
* Change `hide`/`show` to use events for communicating animation
state instead of callbacks
* Convert several controllers to fire events for communication with
parent controllers instead of accepting functions.
* Rewrite the `CraftPageController`, `CraftPage` model and related
Jade/SCSS files to implement the new design.
* Alter the `InventoryController` and `StackController` to allow a
variety of action buttons, and for the events from those action
buttons to bubble up to parent controllers
* Add the `StepController` and its related model, template, and style
sheet as part of the new craft page.
* Tweak the `ItemSelectorController` and related files to allow for
a variety of styles for the launcher button
* Create the SlotController and refactor it into the various places
where a crafting grid or crafting output is displayed
* Update the Recipe model to allow each "input" stack to retain the
count indicated in the data file. This required changing how a few
other classes interact with it in order for them to get the full
stack back again for each input (instead of just getting the item
slug)
* Update the ModVersionParser to allow for full stacks to be given
as input and refactored common code out for handling input/output/
tools stacks
Any link inside a item detail page's markdown description which does
not have a URL will be assumed to be the name of an item covered by
Crafting Guide and an URL will be added to reference the appropiate
browse page.
* Update build process to *not* copy over prerendered pages during a
regular build (only during a `dist` build)
* Add dependency on npm "markdown" package and include it in the
scripts loaded in the default layout
* Update the Item model to be able to load from a *.cg file
* Add an ItemParser to process the `item.cg` file
* Update the general parser to be able to work with HereDoc-style
text blocks
* Add a markdown-specific stylesheet
* Add a sample of the `item.cg` file format (Advanced Crafting Table)