When implementing these items or considering new ones, remember that it's
more important for this program to be simple than powerful.
This to-do list isn't as detailed as the one in the source directory. Many
of the items are pretty large in scope, and will probably be addressed in
a future development branch.
add a dry run option "-n" that only shows what would happen, but makes
no changes.
should be using split() instead of regular expressions to
parse the config file and status files.
Portability issues: much of the path handling code could probably be more
cleanly and portably handled by the functions of File::Basename and File::Spec.
Just do a search in the source for "/"...
Perhaps File::Checktree::validate() could be of use for complex
existence/permission checks? My only question is that there's no mention of its
portability in the man pages...
build_tree()'s find() probably shouldn't look descend the .mod/ tree.
improve name_cmp so that it correctly handles numbers, e.g.:
10._conclusion vs 1._introduction
4.3.5.2_subsubsubtopic vs. 4.3_larger_issue
decide what to do about mingled vs. unmingled folders.
decide what to do about =this_folder_first/last. perhaps rename
=me_first/last as a result (or becuase it's a better name anyway).
finish confirming/modifying all other past name decisions. Now's the time for changes.
first pass should warn about any "almost" tags (unrecognized keyword, space before, ...)
improve documentation for config file variables -- the description of what
format these should be in is not clear.
A rewrite would be great. The design of mod was very evolutionary, and it
shows. Not a great method for a complex procedural language. Our own tree class
would really pay off.
Compatibility with POD files.
A lot of the functionality of this program would be more naturally
implemented by writing my own node code rather than using Tree::DAG_Node. This
would almost certainly offer some performance improvement as well.
I didn't take this tack at first due to time and learning curve restraints.
Cleanly separating html-independent code into a Tree::MOD module would also
lend itself nicely to other "mod2*" scripts down the road. This would probably be
version 2.
There's no reason why this can't be portable across OS's. Should make sure
it's supported just about everywhere.
I'm sure that there's a place for style sheets in MOD. Right now I know
very little about them, but I'd like to make sure that they're seriously
considered.