More details:
Each day's worth of entries will be stored in an XML file. Schema TBD right now.
There will be a configure option for the root of the working directory of the site. This will default to {My Documents}JoeBlogger. Call this {Root}. Things will look like this:
{Root}
Config
Site1
Data
EveryPage
Bloglist.xml
FavoriteSong.xml
...
2003
01
23.xml
26.xml
...
Templates
RSS.xsl
Homepage.xsl
Day.xsl
...
OtherStuff
foo.jpg
otherpage.htm
Archive
2003
01
23.html
26.html
index.htm
rss.xml
Site2
...
Everything under the site dir will be uploaded. This means that the Data, templates and anything else anyone puts in this folder will be uploaded.
The Archive, index.htm file and rss.xml file will all be generated automatically. Every time the page generator runs, it will generate a source XML data document. This will include the relevant days along with the all of the xml files in the EveryPage directory. This will then be fed through the appropriate XSL sheet to generate the page. Note that this will always be an in memory XmlDocument and will probably never be persisted, except for debugging purposes. Here is what a source doc might look like:
<JoeBloggerData>
<EveryPage>
<File name="Bloglist.xml">
... verbatim paste of bloglist.xml here
</File>
... same for every file in the EveryPage dir
</EveryDay>
<Days>
<Day date="Sun, 26 Jan 2003">
... verbatim paste of 2003/01/26.xml here
</Day>
... every day relevant to this page.
</Days>
</JoeBloggerData>
Generating a page is now the simple matter of writting an XSL stylesheet that takes this source document and produces the correct output doc.