Revision history for Posy
=========================

0.05 Fri 24 December 2004
-------------------------

  * (24 Dec 2004) fix in Posy::Plugin::Dump
  	For backwards compatibility with earlier versions of Data::Dumper,
  this now uses the "Dumper()" call, not the extended call.  This should
  be okay, because the dumping is for debugging purposes, not for reading
  things back in.  And it's been failing for someone trying to install
  the system.


0.04 Wed 22 December 2004
-------------------------

  * (22 Dec 2004) a better fix of indexing entries
  	Silly, I should have used File::Spec->abs2rel before.  Am using it now.

  * (22 Dec 2004) corrected error in Changes file


0.03 Wed 22 December 2004
-------------------------

  * (22 Dec 2004) bug fix in indexing entries
  	Got error on CPAN from Win machine in _wanted; not sure exactly
  if this will fix the problem, but the section in question is now less
  unix-centric.


0.02 Mon 20 December 2004
-------------------------

  * (20 Dec 2004) support stuff
  	Forgot to add module names to a config file

  * (16 Dec 2004) action changes
  	Changed the processing of actions (and entry_actions
  and entries) so that it's possible to alter the list while
  actions are running.  Not really sure why this is a good thing,
  but it doesn't seem to hurt to be flexible in this regard.

  * (16 Dec 2004) Posy::Plugin::EntryTitles + Posy::Plugin::NearLinks
  	The NearLinks plugin depends on the EntryTitles plugin.
  I decided to make the EntryTitles a separate plugin because (a)
  it could be nicely used by other plugins such as a Headlines plugin
  (b) it isn't really core functionality.
  	Because EntryTitles has a 'get_title' method, that should
  make it easier for new-file-type plugins to add their own extra
  stuff to get titles if they want.

  * (15 Dec 2004) speed freakage
  	After much profiling, rearranging, adding and deleting,
  I have made Posy faster.  I moved out the 'dump' method into a separate
  plugin, so that Data::Dumper isn't loaded all the time.  I changed
  from using CGI to CGI::Minimal.  This entailed stealing functionality
  from CG::Simple to generate $self->{url} but it seems to work.
  	I removed 'use warnings' -- I'll put it back in when debugging, but
  otherwise it's faster without.

  * (15 Dec 2004) Posy::Plugin::Categories
  	Because I am Prime, I altered Posy::Core to make this easier;
  adding to the categories cache the category basename and the entry-count.
  I'm not doing a cumulative entry-count because (a) I don't want it for
  myself and (b) it's more work.

  * (15 Dec 2004) Toc bugfix
  	Problem if the header had attributes; wasn't done properly.

  * (15 Dec 2004) fix to LinkList
  	It wasn't including the $url in the link, which could mess
  up some people.

  * (14 Dec 2004) speed tweaks
  	Various tweaks to make the code more efficient.  As I suspected,
  Posy::Plugin::Toc was very bad, so I removed the cleverness.  This
  means that one has to make sure that headers in HTML files that
  are going to be indexed by Toc DO NOT have anchors in them,
  because this no longer checks for that.
  	Also added another option to ShortBody so that it can
  replace $entry_body -- this makes things faster when one is
  generating category/chrono indexes which only show the short body,
  since things like Toc won't wastefully process them.
  	I found out that the anchor-in-header thing messed up
  ShortBody's processing of the first header too.

  * (13 Dec 2004) Posy::Plugin::Toc
  	Based on the blosxom 'toc' plugin, but it actually checks
  for existing anchors.  This probably slows it down; oh well.

  * (13 Dec 2004) fix reindex bug
  	This now checks the $self->{path} to see if the current
  request (which would have been found by parse_path or it wouldn't
  have gotten this far) is in the files hash, and if it isn't, then
  it will now reindex (where it didn't before).  Stupid to have to
  manually reindex every time one adds a file when such a thing is
  easily detected.

  * (13 Dec 2004) Posy::Plugin::LinkList
  	This provides a method only; no actions, no replacements.
  Can be called from within flavour files if using Posy::Plugin::TextTemplate.

0.01 Sun 12 December 2004
-------------------------

  * (12 Dec 2004) posy_one
  	Generate one file (not inside the data dir) using Posy.
  It's a hack, and probably needs to be done as a proper overriding
  plugin, but it sort of works.

  * (12 Dec 2004) posy_static and Posy::Plugin::GenStatic
  	Posy::Plugin::GenStatic replaces the "run" method, and
  then runs around in a lot of loops.

  * (12 Dec 2004) changes to posy.cgi
  	Moved posy.cgi out of the scripts directory, since it shouldn't
  be installed like a script.  Also made two versions of it; a vanilla
  version (posy.cgi) which has no plugins, and a full version (posy_all.cgi)
  which has all the plugins, and has debugging enabled.

  * (12 Dec 2004) Posy::Plugin::FlavourMenu

  * (11 Dec 2004) Posy::Plugin::DynamicCss

  * (11 Dec 2004) Posy::Plugin::ThemeCss
  	This sets variables in $flow_state which can then be used
  in flavour templates.

  * (11 Dec 2004) removing redundancies
  	Changed some comments and removed unneeded methods

  * (11 Dec 2004) split append_entry
  	Split the append_entry method into two parts, so that
  future plugins (such as this_flavour) could alter the entry
  after it had been rendered, but before it had been added to the page data.

  * (11 Dec 2004) Posy::Plugin::YamlConfig
  	This was an easy way of enabling configuration values to be hashes,
  which is needed for things like ThemeCss and FlavourMenu.
  	The downside is that it requires one to install YAML, but I'd rather
  have that than have to reinvent the wheel.  And besides, if one uses
  Module::Build one has probably installed YAML anyway.

  * (11 Dec 2004) tweaking documentation

  * (11 Dec 2004) optional testing of dist + plugins
  	Since certain plugins use extra modules (for example, Text::Template
  is used by Posy::Plugin::TextTemplate) then both the Test::Distribution
  test and the plugins tests would fail if those modules weren't installed.
  Therefore these tests now check if those modules are installed, and
  skip themselves if they aren't.
  	This is good because the whole idea of putting certain functionality
  into "standard" plugins is so that the plugins can be optional, and thus
  their dependencies can be optional.

  * (11 Dec 2004) added Posy::Plugin::ShortBody

  * (11 Dec 2004) improved flavour template search
  	Now it looks for an alternative path-type before it looks
  for a template with no path-type.  Alternative path-types are:
  top_entry -> entry, top -> category.

  * (11 Dec 2004) improved reindexing
  	index_entries was always reading the cache even when reindex was
  forced.  Which seemed a bit silly to me.

  * (11 Dec 2004) fix CGI param problem
  	It wasn't reading CGI parameters properly because I'd given
  it keywords and that was all it found.  Probably some subtlety with
  when the "use CGI" command was done.  No matter.  I didn't really
  need those keywords anyway.

  * (11 Dec 2004) added Posy::Plugin::TextToHTML
  	Which uses HTML::TextToHTML module.

  * (10 Dec 2004) a few more tweaks
  	- make select_by_path include anything below the path
  	- made actions and entry_actions explicit in posy.cgi
  	- removed dump from the default actions

  * (10 Dec 2004) added TODO to manifest

  * (10 Dec 2004) more tweaking

  * (10 Dec 2004) tweaking to get tests right

  * (10 Dec 2004) testing TextTemplate plugin
  	Wrote proper tests for TextTemplate plugin.
  Also added some extra stuff to path parsing.

  * (10 Dec 2004) first plugin TextTemplate
  	Had to split Posy into Posy and Posy::Core to get the plugins
  to work; this was because I wasn't really paying attention to the
  plugin implementation of Module::Starter and why Module::Starter itself
  only implemented the "import" method.

  * (9 Dec 2004) fixing up flavours
  	Now the only default flavour is the error flavour.  The problem
  with how it was before, it meant that one couldn't override the default
  'html' flavour with a flavour file.  Much simpler to just have a default
  error flavour; and it isn't really a problem for the user because
  it isn't as if the distro isn't providing a default 'html' flavour,
  it just isn't providing it inside the Posy module itself, it's in
  the flavours directory.
  	Also slightly altered the way the page body data is built up.

  * (9 Dec 2004) getting posy.cgi to work
  	This involved first actually writing posy.cgi, then fixing
  a number of problems, such as with "use lib" and with "content_type"
  and with not finding files, and with various warnings.

  * (9 Dec 2004) changing debug_level from param to init
  	The debug_level is now set at run/new, not while parsing params;
  this is because it is less messy this way, and if you're debugging,
  you would be altering code anyway, so you might as well alter the init code.

  * (9 Dec 2004) updating todo

  * (8 Dec 2004) fix url var
  	Use the CGI url() by default, to pass to templates.

  * (8 Dec 2004) improved config stuff

  * (8 Dec 2004) initial checkin
  	This is a website content manager (and blog) inspired by blosxom.
  I decided to roll my own because there were certain fundamental problems
  with blosxom, and different fundamental problems with Blosxom3.
  This is written for my needs, but others may find it useful.