Axel Beckert [Wed, 30 Jul 2008 22:21:47 +0000 (22:21 +0000)]
Rewrote the (at least with Apache 2.2's environment) no more working
manual base URL detection code.
Made it simpler, easier to understand and overview. Added a lot of
comments explaining the fixed problem and the remaining seldom cases
where manual configuration is necessary.
Modify $url only if the base URL was not set manually.
The concept since 2.0.2 was: Always ask for the whole URI and then
remove the PATH_INFO in some cases again. This caused some havoc. New
concept is: Strip PATH_INFO from base URL if CGI.pm didn't manage to do
it.
In those rare cases where neither CGI.pm nor Blosxom manages to
correctly determine the base URL, you can easily set $url in the config
file to the correct value and no base URL magic happens anymore (except
the removing of a trailing slash if present -- as before).
There is one case where this code does more than necessary, too: If the
URL requested is e.g. http://example.org/blog/blog and the base URL is
correctly determined as http://example.org/blog by CGI.pm, then this
code will incorrectly normalize the base URL down to http://example.org,
because the same string as PATH_INFO is part of the base URL, too. But
this is such a seldom case and can be fixed by setting $url in the
config file, too.
Axel Beckert [Wed, 30 Jul 2008 17:52:26 +0000 (17:52 +0000)]
Changing isPermalink back to "false" for the default RSS story template.
Reason:
The URL in there is no valid permalink and could cause non-working links
to the postings because of the missing flavour suffix in dynamic as well
as static setups. $default_flavour only applies to index pages, e.g.
start page or per year/month/day pages.
Thanks to Lilo von Hanffstengel for pointing this out and insisting on
me being wrong. :-)
Axel Beckert [Fri, 25 Jul 2008 18:22:09 +0000 (18:22 +0000)]
Moved $encode_xml_entities setting to configuration section since it's also useful to be set manually if e.g. your RSS templates contain CDATA sections
Axel Beckert [Thu, 24 Jul 2008 16:24:07 +0000 (16:24 +0000)]
Starting the next release cycle in the ChangeLog and the blosxom.cgi file header; adding $Id$ to the blosxom.cgi file header; reindenting changelog entries to make it consistently without tabs
Axel Beckert [Thu, 24 Jul 2008 15:58:17 +0000 (15:58 +0000)]
In contrary to the copyright statement on http://www.blosxom.com/license.html, but according to the Debian copyright file as well as http://web.archive.org/web/20020803094152/http://www.raelity.org/, Blosxom's history didn't begin in 2003, but at least 2002. The earliest appearance I found was version 0+5i on 2007-Jul-03.
Axel Beckert [Tue, 22 Jul 2008 21:35:19 +0000 (21:35 +0000)]
Bugfix: The content type set via template was only honored during dynamic generation via CGI in the HTTP headers. The content type inside the (default) HTML templates was resp. had to be hard-coded. Made $content_type a global package variable so that it can be used inside templates.
Axel Beckert [Tue, 22 Jul 2008 02:11:53 +0000 (02:11 +0000)]
Make <guid> content a full URL by default (as Gavin had it in his broken patch, too) since it could be ambigous otherwise. Additionally, feed parsers can use the value it as permanent link and it is a good example on how to implement links to articles without the date in the URL.
Axel Beckert [Tue, 22 Jul 2008 02:01:34 +0000 (02:01 +0000)]
Bugfix: Default RSS feed failed feed validation at http://www.feedvalidator.org/ if there was a blank inside a file name since blanks (and other characters) need to be escaped inside an URL. Most browsers do this, but not all.
Axel Beckert [Tue, 22 Jul 2008 01:46:08 +0000 (01:46 +0000)]
Bugfix: Default RSS feed failed feed validation at http://www.feedvalidator.org/ if there was a blank inside a file name since blanks (and other characters) need to be escaped inside an URL. Most browsers do this, but not all.
Axel Beckert [Tue, 22 Jul 2008 00:15:42 +0000 (00:15 +0000)]
Revert Gavin Garr's (gonzai's) commits to the test suite on 21st of July
2008 since they seem to be at least incomplete and caused the test suite
to break badly:
01_templates.......error finding or loading blosxom plugin 'storydate': Can't locate storydate in @INC (@INC contains: /home/abe/blosxom-devel/blosxom2/t/templates/config/../../../general /home/abe/blosxom-devel/blosxom2/t/templates/config/../../../gavinc /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at /home/abe/blosxom-devel/blosxom2/t/templates/../../blosxom.cgi line 318.
error finding or loading blosxom plugin 'rss20': Can't locate rss20 in @INC (@INC contains: /home/abe/blosxom-devel/blosxom2/t/templates/config/../../../general /home/abe/blosxom-devel/blosxom2/t/templates/config/../../../gavinc /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at /home/abe/blosxom-devel/blosxom2/t/templates/../../blosxom.cgi line 318.
01_templates.......ok 1/0error finding or loading blosxom plugin 'storydate': Can't locate storydate in @INC (@INC contains: /home/abe/blosxom-devel/blosxom2/t/templates/config/../../../general /home/abe/blosxom-devel/blosxom2/t/templates/config/../../../gavinc /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at /home/abe/blosxom-devel/blosxom2/t/templates/../../blosxom.cgi line 318.
error finding or loading blosxom plugin 'rss20': Can't locate rss20 in @INC (@INC contains: /home/abe/blosxom-devel/blosxom2/t/templates/config/../../../general /home/abe/blosxom-devel/blosxom2/t/templates/config/../../../gavinc /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at /home/abe/blosxom-devel/blosxom2/t/templates/../../blosxom.cgi line 318.
01_templates.......NOK 2
The commits also include paths to locations outside the repository which
made them look as if they weren't intended the way they happened. The
missing plugins were probably located there.
We can figure out what exactly went wrong after the 2.1.0 release.
Axel Beckert [Fri, 18 Jul 2008 10:51:31 +0000 (10:51 +0000)]
Updated the changelog to mention (hopefully) all new features added since 2.0.2. (Just made a diff between HEAD and the contents of the 2.0.2 tar ball.)
Added a $blog_encoding variable which can be used in the various templates. Updated the default HTML and RSS templates. The default RSS template is now RSS2 compliant.