Backend-related: [ ] Create an interface for template systems [ ] Create an interface for versioning systems (not sure if this is acutally a good thing, I don't see any benefits of the alternatives to GIT (like SVN, Bazaar, etc)) [ ] Move template/project stuff to a separate binary? Parser(?): [ ] Ensure the output (input?) is always UTF-8: g_utf8_validate(s, NULL, NULL) conversion? [ ] How are comment handled in raw/rc-data? [X] Fix long comments with ">" inside. Templates: [X] Implement template markers completely [ ] How to handle recursive templates? [X] Implement template updating Projects: [ ] Add a function for getting the project info for a file (whether it's a template, and the template filename if any) [ ] Project file loading/saving [ ] Project loading in the UI [ ] Initialize a "new" project when there's no project file and import all .html (and image/stylesheet/javascript/related) files [X] Populating the file list [ ] Adding/removing files [ ] Detect deleted files (use "git status -u all" instead of just listing directories). [X] Template editing. Make an implicitly editable section? [ ] Load subdirectories on demand Editor (C): [X] Saving files [X] Paragraph types [ ] Changing editable sections [ ] Styles [X] Free memory after gtk_tree_model_get, etc... [ ] Style tags (bold, italic, etc) [ ] Image insertion [ ] Audio and video insertion [ ] Drag and drop (image/*, audio/*, video/*) [ ] Table insertion [ ] What happens if something is inserted before the ? [ ] Clean up the code (indentation, remove Apple-style-span,

, etc.) [X] Clean up some aspects of the code live [ ] Javascript plugins/extensions? [X] Restore the selection after the element type is changed Editor (JS): [ ] Make non-editable elements non-focusable (like , ,