A tool for maintaining POSHDOC collections


pdocbot is a commandline application which is started in the top directory of a POSHDOC collection and can be feed with commands on stdin, which allow to explore and maintain the collection.

A first Tcl implementation of pdocbot is available from the MagmaSoft Darcs repository


pdocbot can make use of templates and configuration files in the pdocbot subdirectory of the POSHDOC collection, if present.



Create (missing) Topics

Also be able to create a Topic on demand, specifying a path, the title and optionally a template, the description, subtitle and author.

Create backlink pages

When required in a page create a backlink listing page and link it over the page title.

<h1><a href="{{ROOT}}/backlinks/PAGE.html">TITLE<a/>

Allow to do it over the whole collection.

Note: only backlink creation over whole collection is implemented. it' is still buggy and "old" pages have to be changed to link to their backlinks.


Update created and updated timestamps

Alternatively take the timestamps from the underlying version control system – especially from Darcs.

Insert/update author information

(Re-)write author information in body/footer/small/a[@rel='p-author'] in specified POSHDOCs

Create links to terms


<mark class="todo" title="ToDo: Link to term">TERM</mark>

with an optional rel="PATH" to


Update the ToDo page


<mark class="todo" title="ToDo: ACTION">ToDo: … </mark>

Add a local link with a unique id="todoN" to it on the ToDo page and replace it with

<mark class="todo"><a href="ROOT/ToDo.html#todoN" title="ToDo: ACTION">ToDo</a>: … </mark>


Add/update/remove presentation and navigation

fmt — HTML re-formatter

Pretty-(re)format the POSHDOC HTML files similar to Emacs html-mode.


@title and meta@description attributes should never be wrapped.

Nested headings should probably be intended too.

Make the wrapping column somewhat greater then Emacs.

Transclusion of Topics into master documents

Allow to create master documents with a content structure with transclusion links to Topics.


The transclusion should take care of re-numbering the headings

It should be possible to select ranges of content.

Transclusion of source code into master documents

Allow to transclude a source file and mark it up with syntax highlighting.