# Comment Plugin **Comment Plugin lets users quickly post comments to a page without an edit/preview/save cycle.**
Related topics: [[CommentPluginTemplates]], [[CommentPluginExamples]]%COMMENT\{_attributes_\}%
anywhere in a TWiki topic.
(See also [[additional attributes|Main/WebHome#MoreAttrs]])
### Positioning the comment
`%COMMENT` supports several ways to specify _where_ a comment should be inserted in the target topic. This is referred to as the _location_ of the comment.
#### Location relative to `%COMMENT` tag
The default _location_ is the `%COMMENT` tag itself. For example:
%COMMENT{type="below"}%
will add comments in the current topic, directly below the `%COMMENT` tag.
#### Location relative to a TWiki anchor
The `target` attribute may specify a web, and may also specify an anchor within the target topic; for example,
%COMMENT{type="above" target="%MAINWEB%.PersonalRemarks#InsertHere"}%
This uses a standard TWiki in-topic anchor as the insertion location. See [[TextFormattingRules]] for more about TWiki anchors.
#### Location relative to an arbitrary text string
Getting more sophisticated, you can also specify a regular expression for the target location using the `location` parameter. The target topic is searched for the regular expression, and the comment inserted relative to the string that the search matched. For example,
%COMMENT{type="above" location="Flights of Fancy"}%
will place comments above the first occurence of the string `Flights of Fancy` in the current topic.
**Warning** of course, if a user's comment contains the string "Flights of Fancy" they may and up _changing the location_ for the next comment! Also, if you use a tag in the location, then you've just inserted another tag in the page that contains the `%COMMENT`! So be very careful how you specify the RE for `location`. Note that the RE is matched using perl "multiple line" mode, so ^ and $ match the start of a line and the end of a line respectively. %BR% Also note that you cannot have the text `location="` just before the location.
I look forward to someone leveraging this feature to create - for example - threaded conversations using `%COMMENT`.
If you specify an anchor _and_ a `location`, the anchor will be ignored.
### Default templates
Templates are used to define the "comment style" i.e. how comments appear in the page. The default is to add comments in "Blog like" style using bulleted lists, with the most recent comment at the top, but many other styles are available such as tables or Wiki thread mode comments. It is easy to define your own customer styles as well.
A set of default comment templates are shipped with the plugin - see also [[CommentPluginTemplates]]:
Template type | Description |
---|---|
top |
Comments, signed and dated (server time), added at top of the topic (the anchor is ignored) |
bottom |
Comments, signed and dated (server time), added at end of the target topic (the anchor is ignored) |
above |
Comments, signed and dated (server time), added immediately before the target anchor, or the %COMMENT if no anchor is specified |
below |
Comments, signed and dated (server time), added immediately below the target anchor, or the %COMMENT if no anchor is specified |
belowthreadmode |
Comments, signed and dated, added recurse after comment box |
threadmode |
Wiki thread mode comment, signed and dated (server time) |
tableprepend |
Comments, signed and dated (server time), formatted as an HTML table row, added below the anchor (which must be in an HTML <table>) |
tableappend |
Comments, signed and dated (server time), formatted as an HTML table row, added above the anchor (which must be in an HTML <table>) |
action |
Action added to action table directly above comment box (requires TWiki:Plugins/ActionTrackerPlugin) |
table |
Tablerows adding on end |
toctalk |
Talk using TOC adding on end |
bookmark |
Create a list of annotated bookmarks |
return |
Post to a different topic and return |