internal package Foswiki::Render::Anchors

See PublishedAPI for packages intended to be used by Plugin and Contrib authors, or browse all packages.
See also Developing plugins, Developer's Bible, Technical Overview

internal package Foswiki::Render::Anchors

Support for rendering anchors. Objects of this class represent a set of generated anchor names, which must be unique in a rendering context (topic). The renderer maintains a set of these objects, one for each topic, to ensure that anchor names are not re-used.

ClassMethod new()

Construct a new anchors set.

ObjectMethod clear()

Clear the anchor set. Clearing the anchor set will cause it to forget any anchors generated to date.

ObjectMethod add($text) → $name

Add a new anchor to the set. Return the name that was added. Note that if a name is added twice, it isn't an error, but only the one name is added.

ObjectMethod addUnique($text [,$alreadyMade]) → $uniqueName

Add a new anchor to the set. if it's already present, rename it.

If $alreadyMade, then $text is assumed to be a valid anchor name that was made by make.

Return the name that was added.

StaticMethod make( $text ) → $name

Make an anchor name from some text, subject to:
  1. Given the same text, this function must always return the same anchor name
  2. NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods ("."). (from http://www.w3.org/TR/html401/struct/links.html#h-12.2.1)

The making process tranforms an arbitrary text string to a string that can legally be used for an HTML anchor.

ObjectMethod makeHTMLTarget($name) → $id

Make an id that can be used as the target of links.

This site is powered by FoswikiCopyright © by the contributing authors. All material on this site is the property of the contributing authors.
Ideas, requests, problems regarding AustLII Communities? Send feedback
This website is using cookies. More info. That's Fine