It's common that a user may way to edit a file (e.g., to make it
smaller if given an error message), and this allows the user to
select the same file name multilple times (which ordinarily the
file element will ignore).
* Make sure no elements of the markdown section are displayed when
they shouldn't be by taking advantage of the jQuery animation
queue
* Don't crash when the user cancels selecting a file
When the model is set on the MarkdownSectionController before it has
been rendered, it crashes attempting to set the value into the
textarea (which doesn't exist yet).
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.
When rapidly transitioning between various states, the markdown
editor could wind up with a weird mixture of UI elements showing as
some of transitions were dropped because they followed too quickly
on the heels of another transition.
This change fixes the problem by changing how the BaseController's
`hide` and `show` functions work. They now set a "target" state on
the element and, during each step of the animation, check whether
the target has changed. If so, the transition begins to work in
reverse to return to the prior state.
* 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
* Fix AddThis component not showing up by altering the URL they
provide to use GET parameters instead of the hash component
* Fix a bug with saving the "have" items on the crafting page