Translate edit-inline template patch to Grappelli's template. Also move it back to example/data/templates/, because otherwise it won't override the built-in template.
Restructure cookbook directories and use Grappelli for the admin interface. Moving the static and template directories into the python modules makes it easy for Django to find them using its built-in finders: django.contrib.staticfiles.finders.AppDirectoriesFinder django.template.loaders.app_directories.Loader This means that people using cookbook will not need to shift these files around on their own, or adjust their settings.py file to do more than add 'cookbook' to their INSTALLED_APPS. Grappelli is makes it very easy to add drag-and-drop sorting for Ingredient and IngredientBlock fields, which I also put in in this commit.
Rewrite to Django from scratch. Now it's much more user-friendly. Bump to version 0.2 (retroactively tagging the previous version as 0.1). The flask icon is from DesignKode From their website [1]: DesignKode is releasing this set of 40 free high quality icons for your web site and application GUI designs. All icons in this set are 32 x 32 pixel PNG image files. You may freely use these icons in your commercial or personal projects without attribution. [1] http://www.designkode.com/blog/free-developer-icons
Added recipe editing pages. Specifically: * Added "add new recipe" link to recipes.html template. * Added "edit recipe" link to recipe.html template. * Added new template: edit-recipe.html * Added new Server.edit() and sub-functions. * Moved Cookbook's save dir definition to Cookbook.save_dir. * Moved Recipe.path name generation to Cookbook._free_path(). * Cookbook.make_index() now adds paths to Recipes with .path == None. * In-memory updates for everything. * Add/remove ingredient blocks with index mapping. Along the way, I fixed up some random bugs: * recipe.html was failing if there were no ingredient_blocks or directions. * Amount.__unicode__ was failing if some attributes were None. * Ingredient.__unicode__ was failing if .amount was None. * Allow printing of recipes when .directions == None. I also made a few style fixes: * Server.tag_regexp -> ._tag_regexp, since it's internal data.