Module: blog
  Desc: Web Log Manager. This module is being designed to make a static Web Log easier to maintain. It uses topics, so when someone reads a blog he can  follow a topic without much trouble. This module is in early pre-alpha stage, so it might break your computer, format your hard disk, blow your house ... never mind.

  Sources: src/hbblog.c

  Function: blog.topic.add
    Desc: Adds a topic to the blog.

    Param: _
      Desc: The topic you want to add.

    Param: alias (optional)
      Desc: String we will use to make a reference to a topic.

    Example:
      <blog.topic.add _='Random Thoughts' alias='rnd'>

  Function: blog.topic.show
    Desc: Shows the current topic. This *showing* mode starts when the tag <blog.show.start> is called. 

    Param: _ (optional)
      Desc: This parameter says what will be shown. It can be either 'first', 'condfirst', 'last', 'condlast', 'topic' or 'condtopic'. 'topic' will be assumed if not present. 'first' and 'last' mean the first/last entry of this topic. 'condfirst'/'condlast' is similar to 'first'/'last', but nothing will be printed if there are zero or one entries for this topic. If this parameter is 'topic', then the name of the current topic is printed. 'condtopic' is similar to 'topic' but will only print if there is at least one entry for the current topic.

    Param: field
      Desc: this parameter is mandatory when the parameter '_' has not been specified or when its not equal to 'topic'. It specifies which field of the blog entry it points to should be displayed. It has to be either 'date', 'count' or 'title'.

    Param: before (optional) 
      Desc: String to add before each topic. It will not be shown if there is not topic to be printed or if there is a single topic in the thread and field is equal to 'condlast'.

    Param: after (optional)
      Desc: String to add after each topic. It will not be shown if there is not topic to be printed or if there is a single topic in the thread and field is equal to 'condlast'.

    Example:
      <blog.topic.show _='condlast' field='date' before='<p> date of the last entry for this topic:' after='</p>'>

  Function: blog.topic.skip
    Desc: moves the pointer of the current topic to the next topic.

  Function: blog.topic.eof
    Desc: Returns 'T' if no topic is currently selected, the empty string otherwise.

  Function: blog.topic.thread.count
    Desc: prints the number of entries that belong to the current topic.

  Function: blog.add
    Desc: Adds an entry to the blog.

    Param: _
      Desc: Text to be added.

    Param: title
      Desc: Title of the entry on the Web Log.

    Param: topic
      Desc: Alias of the topic this entry will belong to.

    Param: date
      Desc: String with the date of the post.

    Example:
      <blog.add title='Just Another Day' _='Well, blah blah...' date='2002-11-20' topic='rnd'>

  Function: blog.show.start
    Desc: Begin the iteration thru the logs defined with blog.add.

    Param: count-prefix
      Desc: Prefix to be appended to the blog.show.count tags.
    
    Example:
      <blog.show.start count-prefix='#blog'>

  Function: blog.show.skip
    Desc: Moves the pointer of the current log one position ahead.

  Function: blog.show.eof
    Desc: Returns 'T' if no log is currently selected, the empty string otherwise.

  Function: blog.show
    Desc: Show a field of the current log.

    Param: _ (optional)
      Desc: This parameter can be either ('this', 'prev', 'next', 'first', 'last'). 'this' is the default value if omitted.

    Param: field (optional)
      Desc: This parameter can be either ('text', 'date', 'title', 'count', 'topic'). if not present, 'text' is  assumed.

    Param: null (optional)
      Desc: If present, show this value when _ points to a nonexistent entity. Note that it does not make sense when _ = 'this' or 'first' or 'last'.

    Param: empty (optional)
      Desc: If present, show this value when _ point to an entity that do exists, but its field is equal to the empty string. Note that this does not make sense when the field is 'count' nor 'topic'.

    Param: after (optional)
      Desc: If present, this value will get printed when the field is not empty.

    Param: before (optional)
      Desc: If present, this value will get printed when the field is not empty.
