1999-04-24  Johan Sundstrm  <johan@id3.org>

	* diary.pike: Added lots and lots of documentation. *Whoosh*

	* diary.pike: Added the <alldays help>, and tidied up sligthly
	for release one.

1999-03-17  Johan Sundstrm  <johan@id3.org>

	* diary.pike: Who said HEAD was fixed? And why did I ever bother
	trying to implement HEAD myself, when Roxen already did it on its
	own? Well, we all learn in our own time... find_file() was
	straightened out a bit for readability; it was really rather
	untidy.

	With that, the handling of non-YYYY-MM-DD files within the
	diary module was finally dropped; in order to have common files,
	images et cetera in the same directory as the diary texts, you
	will have to let the requests fall through to the filesystem
	module. This shouldn't be hard to do; if the filesystem is mounted
	at / and the diary module at /diary/, just put your files in a
	directory called "diary" below the server root, and you'll be
	fine.

	* diary.pike: Fixed a mighty ugly bug that crept up on me through
	an unfortunate misunderstanding. id->time has nothing to do with
	the latest modification of the file, as I had thought (and hence
	acted upon); it's the time of the request. Bad Things Happen if
	you tamper with this time_t and your logger module puts it in the
	logfile as the time of the request...

1999-03-10  Johan Sundstrm  <johan@id3.org>

	* diary.pike: Last checkin (version 0.46) was bogus -- it broke
	the emphasis detection and turned them into URLs instead -- /not/
	good. :-) Let's not overdo things next time, shall we? ;-)

	* diary.pike: Bettered the magic urlification regexps somewhat;
	now it's possible to state absolute URL:s within the site, using
	(/path/to/file) instead of the usual (http://site/path/to/file),
	to reference local documents.

1999-03-07  Johan Sundstrm  <johan@id3.org>

	* diary.pike: Ooh -- forgot about keeping queries intact in the
	initial redirect. Well, now they are maintained as they were,
	anyhow. Should always work, I hope. :-)

	* diary.pike: Now keeps queries intact in URL:s to other pages
	within the diary.

1999-03-05  Johan Sundstrm  <johan@id3.org>

	* diary.pike: Implemented the http HEAD access method. All link
	validators out there should be a lot happier about the diary
	module from now on. :-)

1999-03-03  Johan Sundstrm  <johan@id3.org>

	* diary.pike: Language selection is now possible from the template
	as well, via a <set variable="language" value="...">, or perhaps
	in the URL, by appending ?language=... -- however, links generated
	by the diary engine do not add any query variables, so the
	language choice in the URL is lost whenever a link is followed.
	Perhaps the diary ought to keep all query variables intact. For
	now, it removes them completely.

1999-02-22  Johan Sundstrm  <johan@id3.org>

	* diary.pike: Finally made the module report a http Last-Modified
	header properly.

1999-02-21  Johan Sundstrm  <johan@id3.org>

	* diary.pike: Added urlification of telnet:// URLs.

1999-02-20  Johan Sundstrm  <johan@id3.org>

	* diary.pike: Minute bugfix, or perhaps more of a kludge. The
	<lastmodified mostrecent> tag really does not work at all until
	the most recently changed day has been cached. Now it shouldn't
	report dates such as 0-00-00, though.

	* diary.pike: The <lastmodified> tag now does some magic (href
	argument), and forwards unknown arguments to the date tag (when
	the href argument was not given).

1999-02-19  Johan Sundstrm  <johan@id3.org>

	* diary.pike: Added yet another text-to-HTML filter, which
	<pre>-formats things between "cut here" scissor marks, such as
	these, for example:
	
	---------8<---------8<---------8<---------8<---------8<---------
	
	I also added another tag; <lastmodified>, which briefly prints
	out the time of the last file modification. It _ought to_ take
	the same parameters as the standard RXML <date> tag, but for now
	it doesn't.

	---------8<---------8<---------8<---------8<---------8<---------

1999-02-16  Johan Sundstrm  <johan@id3.org>

	* diary.pike: Waah! I just realized it wasn't possible to enter
	working URL:s to friends' diaries, since the date part of the URL
	got zapped by the magic in your own diary, if that date existed...
	...hence, the order of parsing has been changed to something a bit
	more appropriate.
	
	Nothing should break a given URL now, unless it contains multiple
	consecutive newlines... :-)

1999-02-11  Johan Sundstrm  <johan@id3.org>

	* diary.pike: Fixed the emphasizing/boldifying regexps somewhat
	more. Now works well inside parenthesises as well. Strange I
	didn't foresee this problem earlier...

	* diary.pike: Presents some more info with (expert) now.

	* diary.pike: Added prestates "raw" and "expert", for raw text
	mode and module info mode respectively.

1999-02-09  Johan Sundstrm  <johan@id3.org>

	* diary.pike: Finally straightened out the ugly code that made up
	the <monthmap> tag. It is now quite readable, definetely works and
	even has the option of showing the entire month even if all dates
	have not yet passed, all depending on the preferences of the
	module owner. :-)

1999-02-08  Johan Sundstrm  <johan@id3.org>

	* diary.pike: Fixed better documentation of various features in
	the config interface, and probably finally made all those pesky
	settings accessable... :-)
	
	Also, I changed the boldification and emphasizing regexps a bit;
	now you may have a word that is only emphasized/bold in part -- if
	you separate the sections of the word with a dash. Specifically,
	words like these work:
	
	/Hackishly-cool/-ish, _corny_-looking and friends.

1999-02-07  Johan Sundstrm  <johan@id3.org>

	* diary.pike: Fixed a bug in the configuration interface -- it
	seems it is a really bad idea to have a variable identify itself
	with a slash in the identity string. It cracks upp the poor config
	interface brownie. :-)

1999-02-06  Johan Sundstrm  <johan@id3.org>

	* diary.pike: Now, there are two ways of having URL:s in the text,
	both "named" and "non-named" URL:s are supported. "Non-named"
	URL:s appear as a link, where the link text is the same as the
	URL. To insert such a link in the text, one of four methods may be
	used, according to preference:
	
	1) "protocol://rest of URL"
	
	This method is preferred, since it can handle any possible URL;
	every character is possible between the double quotes.
	
	2) [protocol://rest of URL]
	
	3) (protocol://rest of URL)
	
	With these methods, right brackets/right parenthesises
	respectively may not occur in the URL, since that would be
	interpreted as the end of the URL. Most URL:s don't suffer from
	this, though, but URL:s containing Roxen prestates do not like
	method 3).
	
	4) protocol://rest/of/URL
	
	This might be the most common way of referring to a URL, and it
	works, as long as the URL does not contain any whitespace
	character (well, tabs are allowed, but never mind that :-).
	
	There is also a more advanced mode, for all of you who wish to
	have URL:s that look like the average hypertext text links. Here
	too, there are four ways of entering the URL, and yet again, there
	are good ways and less good ways:
	
	1) "description of URL" ("protocol://rest of URL")
	
	2) descriptive-word ("protocol://rest of URL")
	
	This will be turned into <a href="protocol://rest of
	URL">description</a>, and should be the preferred way of entering
	URL:s -- the first case for multi-word descriptions, the second
	for lazy-dog single-word descriptions.
	
	3) "description of URL" (protocol://rest of URL)
	
	4) descriptive-word (protocol://rest of URL)
	
	These two variants are the more tacky way of entering URLs, which
	however works as long as the URL:s do not contain any right
	parenthesises.
	
	Well, that's pretty much it. Have fun with URL substitutions!

	* diary.pike: Added line-breaking substitution, such that ASCII 13
	(carriage return) may be replaced with a <br> tag. I'm rather
	proud of the excellent example of its usage in the configuration
	interface as well. :-) Perhaps I ought to ask for LucasArts'
	permission before releasing the module now, but I hardly think
	that they would mind my borrowing their excellent poem this way...

	* diary.pike: It seems the last version was a bit bogus, but now I
	can't get the system to break on odd style markup any more. I
	fixed a little bug in refresh_dir() as well; it had crept up when
	I removed the superfluous language argument to the Date class
	create() function, and lurked in an Array.map() statement that
	went by me in the process of fixing all calls. Well, that is now
	fixed.
	
	What is also fixed is the URL:ification of date references, which
	now Works<tm>. All YYYY-MM-DD date references where there is such
	a date in the diary are made into URL:s to that date, and none
	other. Aah. It sure is getting pretty pretty now! :D

	* diary.pike: Improved regexps for matching _text to be made bold_
	and /text to be emphasized/ -- it even turned out there will be no
	need for safeguard thresholds for these to work, so I removed
	those configuration options as well. Another bug I fixed was the
	URL:ification -- priorities were a bit off. Naturally, quoted URLs
	("http://a205.ryd.student.liu.se/", for example) should receive
	priority over other methods of URL:ification, since they are the
	safest way of entering a URL.

	* diary.pike: Added _boldification_ and /emphasizing/ text
	properties. Since the regexp replace functions came to be, these
	really were too easily implemented to leave undone for too long...
	:-)

	* diary.pike: Lots of neat search-and-replace functions have been
	added/modified, and a new way of handling text replacement is now
	being used. Substitutions only occur once now, thanks to the
	clever "unchanged { changed" scheme of interleaved arrays. Most
	noteworthy perhaps is the new function multi_replace_regexp(),
	which will sure come in handy later on. Mostly to try it out, I've
	added some URL markup schemes and a quick'n'dirty diary date
	linkification scheme. The latter will definetely need some
	improvement, but that will probably be both quick and fun to add
	later on.
	
	By the way, interleave() is the function that turns the new kind
	of interleaved arrays back into proper strings. Really neat. It
	sure shows I'm fond of the latest changes, doesn't it? :-)

1999-02-05  Johan Sundstrm  <johan@id3.org>

	* diary.pike: Kludged the problem with Netscape (and other
	browsers implementing different colours for visited and not
	visited links respectively) not knowing where they have been and
	not when the user read the most recent page directly below the
	mountpoint, or when the user with some inside information read a
	date [-]n, by redirecting such requests to the date they resolve
	to.

	Browsers not implementing http redirects aren't worth the code
	they are made of anyway. :-)

1999-02-04  Johan Sundstrm  <johan@id3.org>

	* diary.pike: Added a rudimentary skeleton for the <alldays> tag
	and improved the module documentation with a link to the diary
	documentation page to be. The <alldays> tag needs a "modulo"
	argument, stating how many dates should be printed on each row.
	Still has a very "beta" feeling to it, though. It does not
	generate the tidiest of HTML code either.

	* diary.pike: *Major* internal rewrite!
	
	The module is no longer a parser module, nor does it need no be.
	Tags are local to the module, and are now tags in a more true
	sense; eg, they take parameters and explain themselves a bit when
	given the help argument. Many of the tags also take the arguments
	capitalize and uppercase, to write themselves capitalized or
	uppercase respectively.
	
	The localization finally works, and it works really well at that.
	All tags that output something localizable now use Roxen:s
	knowledge of foreign languages; that is, the <monthname>,
	<ordered> (new tag), <weekday> (new as well) and <monthmap> tags
	now respect the choice made in the module configuration interface.
	A minor layout bug was fixed as well in the <monthmap> tag.
	
	The module will now be transparent to requests for files that lie
	in the module's configured searchpath, that is, there is no longer
	any need to use <base href> to set the path for relative
	references to files linked from the diary page. In fact, it might
	not work at all in the near future, if I remove all absolute paths
	in URLs, which I plan to do.
	
	The bit generating a list of all dates present in the database is
	no more. It will probably return soon in the form of a useful tag.

1999-01-31  Johan Sundstrm  <johan@id3.org>

	* diary.pike: Added some VAR_MORE bits to the various extras in
	the config interface, and tried to also hide the non-working
	template definition with a VAR_EXPERT. The latter didn't seem to
	work; I may be doing it wrong somehow.

1999-01-25  Johan Sundstrm  <johan@id3.org>

	* diary.pike: Duh. date2url() is once again picky about data
	types; not because it really needs to be, but rather because that
	was the easy way out on this one. It seems Pike 0.6 has another
	way of sprintf("%O",foo):ing than had Pike 0.5; strings are now
	surrounded by double quotes, which really was not what I wanted,
	at least not here.

1999-01-20  Johan Sundstrm  <johan@id3.org>

	* diary.pike: Again, I tried to fix the module to work on a fresh
	setup. It seems the test I made in refresh_dir() wasn't quite in
	sync with what was defined in create(). Should work better now...

1999-01-17  Johan Sundstrm  <johan@id3.org>

	* diary.pike: Realized that it would be neat being able to list
	all diary dates on one single page, and remembered that there
	already was some (though broken) debug code present to do this. A
	quick fix later, and it's there again, however quite untidy. It
	really ought to be better implemented, through a tag or
	something. Haven't quite figured out how yet, though. For now, the
	list is shown when given a correct date that lacks a diary entry.

1999-01-15  Johan Sundstrm  <johan@id3.org>

	* diary.pike: I finally found a good old-book-style separator to
	intersect paragraphs with for \n\n\n sequences! Too bad I haven't
	found a suitable way of incorporating the image into the module
	itself; the current solution is rather ugly. :\ It works,
	though. :] A bit.

1999-01-12  Johan Sundstrm  <johan@id3.org>

	* diary.pike: refresh_dir() shouldn't require correct preset
	settings in the initial configuration phase any more, at least I
	hope not. Another Momentum 22 down the drain. :-)

1999-01-11  Johan Sundstrm  <johan@id3.org>

	* diary.pike: Naturally, that was because the change was made in
	some dead code. Duh.

	* diary.pike: Tried to make \n\n\n be substituted for a horizontal
	rule (until I've found a nice picture of the sort I'm looking
	for), but I haven't quite figured out yet why it didn't seem to
	work.

	* diary.pike: I just fixed the strangest bug in write_month() -- I
	have no idea of how it got there. For some reason, only dates with
	texts got shown in the navigation panel; the rest of the dates
	were simply spaced out. I definetely wonder when, how and why that
	bug crept into the code...

	* diary.pike: Made date2url() less picky about data types for the
	URL comment. No reason to inforce strings, really; it's not like
	we were coding in one of those really boring programming
	languages there are out there, like C or so... :-)