This fixes a regression where recipes for vanilla Minecraft items
(e.g., Iron Ingot) added by mods (e.g., Pulverized Iron to Iron
Ingot) didn't show up on that item's detail page.
When a visitor arrives at the site for the first time, this will
ensure they have a certain set of mods on/off. Right now, that means
IC2-Classic is off by default, and everything else is on.
* 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)
* Change all internal links to use URLs ending in `/`
* Add the prerender script which uses PhantomJS to pre-render the
HTML for all possible pages in the system
* Change the build process to incorporate the pre-rendered files
* Update the sitemap script to generate the new URLs
Add a SimpleStack model which is identical to the regular Stack model
except for not being a Backbone.Model subclass. Since so many stacks
are created during mod version parsing, this makes about a 50%
difference in performance during loading.
Change the inventory view to make editing of quantities happen on
the individual rows instead of having to get the quantity right
before adding the item.
* Adjust page change animations to slide the page closed and then
open again.
* Add Railcraft to the standard set of mods
* Change every controller which uses an `ImageLoader` to only accept
it from a parent controller (with the router creating the one
shared instance).
* Fix several places where controllers need to refresh when the mod
pack changes
* Fix a few places which should be using the `ImageLoader` but were
not.
* Remove a number of animations which caused performance issues (esp.
animating individual items in item group views).
* Fix a bug where changing the current version of a mod didn't cause
the current crafting plan to be re-evaluated
* Simplify the name finder to allow regular expressions instead of
the current algorithm
When the mod to which an item belongs is disabled, the item detail
page should continue to show all the relevant sections: including
those which rely on recipes which ordinarily would be hidden because
the mod is disabled.
* Fix "update" recipes in IC2 classic to use the new "update" command
* Remove the crafting plan model from the item detail page as it isn't
being used there right now and can be slow for complex items
* Update the `Recipe.compareFor` method to be able to work without an
item slug as a reference
Fix a bug where `ModPack.findRecipes` would only look for recipes for
qualified slugs in the mod which added the item, thus missing any
recipes added in other mods.
* Update crafting algo. to favor highest output recipes for making
items, and to be more flexible about trying a variety of recipes if
some one recipe doesn't work.
* Modify crafting algo. to allow crafting of "gatherable" items.
* Update logger to support indent/outdent for clearer formatting
* Convert IC2 Forge Hammer / Cutter recipes to treat them as tools
* Flesh out the formerly incomplete ItemSlug class
* Convert all uses of text item slugs to use ItemSlug
* Move the ItemSlug class under models where it properly belongs
* Avoid the use of `slug` as a local variable or item attribute
wherever possible to avoid confusion between various kinds of slugs
* Merge the InventoryParser class into the Inventory class as it is
unlikely to need to support multiple versions
* Simplify the ModPack/Mod/ModVersion interfaces by replacing the use
of various "helper" methods with equivalent use of more generic
methods
* Update the various methods of ModPack/Mod/ModVersion to be able to
work with qualified or unqualified ItemSlugs
* Remove the unused BaseCollection class
* Add tests for ItemSlug and update all other tests to reflect
all the other changes