X

Whoa! Bidirectional hyperlinks!

Cross Referencing

Hyperlinks are an aid to readers, and are perhaps the key reason why HTML is such a success, but bidirectional hyperlinks are not a directly supported markup feature.

When hyperlinks are defined with classic anchor tags, the link is unidirectional. With these hyperlinks, going from A to B is straightforward, and returning is as simple as pressing the "back" button. But when a visitor arrives at B while reading a page from top to bottom, there is no link to A, because bidirectional hyperlinks do not exist.

Duplex junctors

Blue-phrase solves this problem with its junctor shorthand. This feature allows the author to mark two phrases with the same junctor identifier, and the blue processor will wrap the phrases with hyperlinks that navigate from A to B and from B to A.

This type of junctor is called a duplex junctor, and it might look like this:

The ocean's rise will make <<~map1 numerous highways>> impassible during semi-diurnal tides.
figure {
figcaption ~map1 High Tides
img `highway-flooding.gif`
}
duplex-junctor.blue

The blue processor creates hyperlinks around the two phrases using arbitrary IDs that allow them to be interlinked:

<p>The ocean's rise will make <span id=jt01><a href=#jt02>numerous highways</a></span> impassible during semi-diurnal tides.</p>
<figure>
<figcaption id=jt02><a href=#jt01>High Tides</a></figcaption>
<img src=highway-flooding.gif />
</figure>
duplex-junctor.html

Half-duplex junctors

Sometimes an author will want to use the convenience of junctor shorthand syntax without making a full duplex junctor. For example, a phrase A is intended to be the destination for a hyperlink from B, but the interlinking from A back to B is not wanted.

The blue processor will create a half-duplex junctor when one phrase has a phrase identifier that matches another phrase's junctor identifier.

The ocean's rise will make <<#map3 numerous state-owned highways>> impassible during semi-diurnal tides.
figure {
figcaption ~map3 Highways and High Tides
img `highway-flooding.gif`
}
half-duplex-junctor.blue
<p>The ocean's rise will make <span id=map3>numerous state-owned highways</span> impassible during semi-diurnal tides.</p>
<figure>
<a href=#map3><figcaption>Highways and High Tides</figcaption></a>
<img src='highway-flooding.gif' />
</figure>
half-duplex-junctor.html

Multiplex junctors

Sometimes an author will want to use the convenience of half-duplex junctor syntax on multiple phrases. For example, a phrase A is intended to be the destination for hyperlinks from phrases B, C and D, but the interlinking from A back to B, C, and D is not wanted. The blue processor will create a multiplex junctor when one phrase has a phrase identifier that matches two or more other phrases that have the same value for their junctor identifier.

<<i #glxy Galaxies>> are collections of stars bound by gravity.

The <<i ~glxy Sombrero Galaxy>> is in Virgo.
The <<i ~glxy Whirlpool Galaxy>> has a famous design.
<<i ~glxy M81>> is one of the brightest galaxies.
multiplex-junctor.blue
<p><i id=glxy>Galaxies</i> are collections of stars bound by gravity.</p>

<p>The <i><a href='#glxy'>Sombrero Galaxy</a></i> is in Virgo.</p>
<p>The <i><a href='#glxy'>Whirlpool Galaxy</a></i> has a famous design.</p>
<p><i><a href='#glxy'>M81</a></i> is one of the brightest galaxies.</p>
multiplex-junctor.html

Whoa! Bidirectional hyperlinks!