MarkSpecialLinks pattern.

Add a special class to links in certain conditions.

Scan all links in the container and mark external links with class if they point outside the site, or are special protocols. Also implements new window opening for external links. To disable this effect for links on a one-by-one-basis, give them a class of 'link-plain'

Configuration

Option Type Default Description
external_links_open_new_window Boolean false Open external links in a new window.
mark_special_links Boolean false Marks external or special protocl links with class.

Examples

Default external link example

<div class="pat-markspeciallinks">
<ul>
<li>Find out What's new in <a href="http://www.plone.org">Plone</a>.</li>
<li>
Plone is written in
<a class="link-plain" href="http://www.python.org">Python</a>.
</li>
<li>Plone builds on <a href="http://zope.org">Zope</a>.</li>
<li>Plone uses <a href="/">Mockup</a>.</li>
</ul>
</div>

Open external link in new window

<div
class="pat-markspeciallinks"
data-pat-markspeciallinks='{"external_links_open_new_window": "true"}'
>

<ul>
<li>Find out What's new in <a href="http://www.plone.org">Plone</a>.</li>
<li>
Plone is written in
<a class="link-plain" href="http://www.python.org">Python</a>.
</li>
<li>Plone builds on <a href="http://zope.org">Zope</a>.</li>
<li>Plone uses <a href="/">Mockup</a>.</li>
</ul>
</div>

Open external link in new window, without icons

<div
class="pat-markspeciallinks"
data-pat-markspeciallinks='{"external_links_open_new_window": "true", "mark_special_links": "false"}'
>

<ul>
<li>Find out What's new in <a href="http://www.plone.org">Plone</a>.</li>
<li>
Plone is written in
<a class="link-plain" href="http://www.python.org">Python</a>.
</li>
<li>Plone builds on <a href="http://zope.org">Zope</a>.</li>
<li>Plone uses <a href="/">Mockup</a>.</li>
</ul>
</div>

List of all protocol icons

<div class="pat-markspeciallinks">
<ul>
<li><a href="https://plone.org"> https </a></li>
<li><a href="http://plone.org"> http </a></li>
<li><a href="ftp://plone.org"> ftp </a></li>
<li><a href="callto://plone.org"> callto </a></li>
<li><a href="bitcoin://plone.org"> bitcoin </a></li>
<li><a href="geo://plone.org"> geo </a></li>
<li><a href="im://plone.org"> im </a></li>
<li><a href="irc://plone.org"> irc </a></li>
<li><a href="ircs://plone.org"> ircs </a></li>
<li><a href="magnet://plone.org"> magnet </a></li>
<li><a href="mailto:info@plone.org"> mailto </a></li>
<li><a href="mms://plone.org"> mms </a></li>
<li><a href="news://plone.org"> news </a></li>
<li><a href="nntp://plone.org"> nntp </a></li>
<li><a href="openpgp4fpr://plone.org"> openpgp4fpr </a></li>
<li><a href="sip://plone.org"> sip </a></li>
<li><a href="sms://plone.org"> sms </a></li>
<li><a href="smsto://plone.org"> smsto </a></li>
<li><a href="ssh://plone.org"> ssh </a></li>
<li><a href="tel://plone.org"> tel </a></li>
<li><a href="urn://plone.org"> urn </a></li>
<li><a href="webcal://plone.org"> webcal </a></li>
<li><a href="wtai://plone.org"> wtai </a></li>
<li><a href="xmpp://plone.org"> xmpp </a></li>
</ul>
</div>