Euan,
I agree and think there is a need for a plugin API that could be called to parse any content being posted to look for custom plugin tags. This could then be added to stories, comments, forum posting and other plugins.
The [tag] would be then be a interpeted by the desired plugin and replaced with the formatted HTML.
I recently developed a CMS plugin that integrated with a Document Mgmt Plugin where you could just enter and when the content on that page was being saved, it would scan and replace the [tag] with a link to the file (id#1) with a the name "myfile". So the resulting content for that page would have the resulting link formatted.
It would be possible to then have tags like:
related topic
[glink: 4 mysite]
[story sid# related story]
Format would be [plugin: uniqueID name for link]
The Story SID is a bit long for easy use so there may need to be a new field in that table added. Most other plugins have a ID field.
Components (like plugins or stories) could even show the [tag] that needs to be used to link to it. I think it's a good way of easily integrating components.
As I noted, I have this working now between two plugins and will be talking to Dirk about extending the Plugin API.
Would this address your need as well?
Geeklog components by PortalParts -- www.portalparts.com