1999-08-04 Mike Brownlow * Webmake 0.5.5 released * libwebmake/SubTag.cc: Added helper functions for reusing tags for libwebmake/Page.cc : builtin tags * libwebmake/Website*: Added builtin tags header_tagname and footer_tagname for CGI filetypes * libwebmake/wmfile.cc (getNextConfigLine): Fixed situation where line was erased after # but the iterator was still being incremented and thus failing the next string.end test. * Moved core of webmake into libwebmake 1999-07-31 Mike Brownlow * Webmake 0.5.4 released * src/wmfile.cc: Changed searchAndReplace to return success or failure in finding the given tag to replace * src/Website_sync.cc: Added assertions for "impossible" situations Fixed bug where common_page_order wasn't set in config file, but the sync process tried to find the pages in that pageorder. * src/Website_parse.cc: Changed setSubTagList to call new recursive function addPageSubTags to handle pageorder subtags. Took out redundant recurse_level assignments. Changed parseSubtags so that it returns whether it found a tag to replace. Changed parseContentLoop to while loop on parseSubtags for each line. Moved setSubTagList to location where it happens once for each page. Added replaceSubTagDefined to allow subtag overriding. * src/SubTag.cc: Fixed add method to detect duplicates. Added listTags and defined methods. * src/PageOrder.cc: Fixed pageorder memory bugs during allocation and update detection * src/Database.cc: Fixed situation in database where pageorders had the same path name and duplicates happened to be more unique. 1999-07-29 Mike Brownlow * Fixed recursive pageorders and parse includes only option * Nailed a nasty memory bug in the database code * Overhauled sync process. Also put it into its own file 1999-07-15 Mike Brownlow * src/Database.cc: Modularized much of the key/data pair memory handling. Changed key format to DBTYPE:data * src/wmfile.h: Changed applyPerms to applyStat. It now copies the access and last modification times over to the output file * src/Website_parse.cc (syncDatabase): Moved database update to point after page is actually updated to keep page old if errors happen 1999-07-14 Mike Brownlow * Fixed various bugs exposed by the move to strings. Added global subtag overriding. 1999-07-13 Mike Brownlow * Added -v option which gives version and copyright info converted all object specific code to use strings instead of char * 1999-07-10 Mike Brownlow * src/Website_parse.cc (syncDatabase): Now detects PAGEORDER's and ignores them properly (parse): Added CGI support * src/Website_load.cc: Changed get*ID to only receive const char * * src/Website.h (PAGETYPE_CGI): Added PAGEORDER page type Changed page types and parse types to numer ID's and added new functions to handle them * src/Website_load.cc (loadPage): Added detection of name attribute * src/Database.cc: Fixed all key/data pairs to be properly initialized for all methods. Also changed all URLName var names to path 1999-07-04 Mike Brownlow * src/Website_load.cc (loadPage): Changed many function calls to adopt new name change to path * src/Website.h: Rearranged TAG_* according to config file section and changed URLNAME to PATH * src/Website_load.cc: Added parse tag detection to load process 1999-07-02 Mike Brownlow * Major changes to parse area. Multiple includes on one line are supported now. Auto output dir creation works. File permissions are perserved from input to output. The beginnings of pagetypes have begun. * src/wmfile.cc (getNextLine): Now edits a string passed to it rather than a char[] 1999-07-01 Mike Brownlow * src/Website_parse.cc (parse): Changed parseAndCopy to parse, webmake now creates dirs if they don't exist 1999-06-26 Mike Brownlow * Added config.h use through autoheader and added webmake.h includes to all src/*.h 1999-06-25 Mike Brownlow * Release: 0.4.3 * src/Website_parse.cc: Added recursion detection for better status indicators * src/wmfile.cc: Fixed getNextLine to make \nEOF be EOF for treating file inclusion correctly 1999-06-24 Mike Brownlow * src/Database.cc: Changed all get and put database calls to work with new db2 * src/Database.cc (Database): Fixed db_open call to set error codes if needed * src/Website.cc (Website): Added checks for failed database load * src/Database.*: Fixed DB includes back to db.h * acinclude.m4: Added checks for DB version. It forces 2.6.4 (db2) 1999-06-23 Mike Brownlow * src/Website.cc (printDebug): Added printDebug for debugging purposes, escapes -q request if compiled with -DDEBUG * src/Website_load.cc: tagname now split into front and back strings across '%s' (make this variable?) * src/Website*: Added include_tagfront and include_tagback * src/Website.cc: Added include_tagname and TAG_INCLUDE_TAGNAME to config file loading functions Moved parse functions into Website_parse.cc Moved load functions into Website_load.cc * src/Website.h: Added include_tagname and TAG_INCLUDE_TAGNAME for parsing file includes 1999-06-18 Mike Brownlow * Changed cout and cerr calls to use printErr and printOut. Added Website pointers to classes with print methods and added debug passing to print methods. * src/Website.cc: Added printErr and printOut which take regular printf args and print them. printOut also has a level argument indicating the type of debug info * src/webmake.cc: Added -q option to silence all output 1999-06-17 Mike Brownlow * src/wmfile.cc (getFileLastMod): now properly returns time_t * src/Website.cc (loadPage): cleaned up lastmod tag entry * src/Page.cc (addSubTag): Declared params const for addSubTag * src/Page.h: Declared params const for addSubTag * src/Page.cc (addSubTag): Added 2-param addSubTag * src/Page.h: Added proto for two parameter addSubTag * src/Website.cc: Added detection of lastmod tag for website section * src/Website.h: Added lastmod_tagname and TAG_LASTMOD_TAGNAME for global settings 1999-06-11 Mike Brownlow * src/Database.cc: Changed db.h to db_185.h * src/Database.h: Changed db.h to db_185.h * src/Website.cc: Included errno.h for errno * src/webmake.cc: Included unistd.h for getopt 1999-01-25 Mike Brownlow * Changed string.data() entries to string.c_str() in Website.cc * released 0.4.0 * Fixed a whole bunch of bugs in wmfile.cc that affected Page.cc SubTagGroup.cc and Website.cc. Added splitString function to replace getTag and getValue. 1999-01-17 Mike Brownlow * Fixed output to correspond with debug levels: 0 - no output except for errors 1 - minimal output that shows current stage of processing 2 - moderate output 3 - lots of output * Force works now. * Added command line parsing using getopt and added debug and force to Website constructor. * Fixed some things in configure.in to accomodate new behaviours of automake 1.4 1999-01-12 Mike Brownlow * Fixed bug where files that are new aren't parsed the first time. :( * Added searchAndReplace to wmfile and parseSubTags to Website. It now makes substitutions. * Changed getNextLine in wmfile.cc to be getNextConfigLine. Making way for new getNextLine that returns all lines of a file 1999-01-10 Mike Brownlow * Finished sePageFileList to set new vars in Website: prepend_file_list and append_file_list * Revamped destructing methods of all component classes. Made static clear functions that delete all members of list. Each destructor removes the object pointer from the list. * Created begin/end static methods in Page for iterating * Took page_list and subtag_group_list out of Website and made it static in Page and SubTagGroup respectively. 1999-01-09 Mike Brownlow * Took the page_order_list out of Website and made it static in PageOrder. 1999-01-08 Mike Brownlow * Fixed bug where pages defined in the config file that didn't exist on filesystem but were added to the database to not be added 1999-01-07 Mike Brownlow * Added parseAndCopy method to Website * Added parsePages method to Website 1999-01-05 Mike Brownlow * Added file helper functions to wmfile and now website verifies output directory. * Added set method to database that updates a given URLName with a given lasmod in the database * syncDatabase flags Page's for update and updates db * Added update flag and set/get methods to Page class 1999-01-04 Mike Brownlow * Updated files are now detected and indicated with a 'U' * Added lastmod checking to wmfile and syncDatabase. Uses 'X' to represent a file that doesn't exist on the filesystem but does in the config file. 1999-01-03 Mike Brownlow * Fixed exists method in Database to pass 0 as last parameter for get method in db * Added add method to Database class, now adds files from syncDatabase method of Website class. * Fixed Database exists method memory problems 1998-12-23 Mike Brownlow * Added Database class and took db code out of Website and put it into Database * Added sync database 1998-12-17 Mike Brownlow * Files added to cvs