Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MojoMojo::Formatter::WUser3Contributed Perl DocumeMojoMojo::Formatter::Wiki(3)

NAME
       MojoMojo::Formatter::Wiki - Handle interpage linking.

DESCRIPTION
       This formatter handles intra-Wiki links specified between double	square
       brackets	or parentheses:	[[wiki link]] or ((another wiki	link)).	It
       will also indicate missing links	with a question	mark and a link	to the
       edit page. Links	can be implicit	(like the two above), where the	path
       is derived from the link	text by	replacing spaces with underscores (<a
       href="wiki_link">wiki link</a>),	or explicit, where the path is
       specified before	a '|' sign:

	   [[/explicit/path|Link text goes here]]

       Note that external links	have a different syntax: [Link
       text](http://foo.com).

METHODS
   format_content_order
       Format order can	be 1-99. The Wiki formatter runs on 10.

   strip_pre
       Replace <pre ...	with a placeholder

   reinsert_pre
       Put pre and lang	back into place.

   format_content
       Calls the formatter. Takes a ref	to the content as well as the context
       object.

   format_link <c> <wikilink> <base> [<link_text>]
       Format a	wikilink as an HTML hyperlink with the given link_text.	If the
       wikilink	doesn't	exist, it will be rendered as a	hyperlink to an	.edit
       page ready to be	created.

       Since there is no difference in syntax between new and existing links,
       some abiguities my occur	when it	comes to characters that are invalid
       in URLs.	For example,

       * [[say "NO" to #8]] should be rendered as "<a
       href="say_%22NO%22_to_%238">say "NO" to #8</a>" * [[100%	match]]	should
       be rendered as "<a href="100%25_match>100% match</a>", URL-escaping the
       '%' * but what about a user pasting an existing link,
       "[[say_%22NO%22_to_%238]]"? We shouldn't	URL-escape the '%' or '#'
       here.  *	for links with explicit	link text, we should definitiely not
       URL-escape the link: "[[say_%22NO%22_to_%238|say	"NO" to	#8]]"

       This is complicated by the fact that '#'	can delimit the	start of the
       anchor portion of a link.

       * "[[Mambo #5]]"	- URL-escape '#' => Mambo_%235 * "[[Mambo#origins]]" -
       do not URL-escape * "[[existing/link#Introduction|See the
       Introduction]]" - definitely do not URL-escape

       Since escaping is somewhat magic	and therefore potentially counter-
       intuitive, we will: * only URL-escape '#' if it follows a whitespace
       directly	* always URL-escape '%'	unless it is followed by two uppercase
       hex digits * always escape other	characters that	are invalid in URLs

   expand_wikilink <wikilink>
       Replace "_" with	spaces and unescape URL-encoded	characters

   find_links <content>	<page>
       Find wiki links in content.

       Return a	listref	of linked (existing) and wanted	pages.

SEE ALSO
       MojoMojo, Module::Pluggable::Ordered

AUTHORS
       Marcus Ramberg <mramberg@cpan.org>

LICENSE
       This library is free software. You can redistribute it and/or modify it
       under the same terms as Perl itself.

perl v5.24.1			  2014-10-25	  MojoMojo::Formatter::Wiki(3)

NAME | DESCRIPTION | METHODS | SEE ALSO | AUTHORS | LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=MojoMojo::Formatter::Wiki&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help