Added spaced_reference_links extension.

This is now the default for pandoc's Markdown.
It allows whitespace between the two parts of a
reference link:  e.g.

    [a] [b]

    [b]: url

This is now forbidden by default.

Closes #2602.
This commit is contained in:
John MacFarlane 2017-05-25 12:50:43 +02:00
parent 650e1ac1fd
commit 708973a33a
34 changed files with 1115 additions and 230 deletions

View file

@ -3100,7 +3100,8 @@ definition, which may occur elsewhere in the document (either
before or after the link).
The link consists of link text in square brackets, followed by a label in
square brackets. (There can be space between the two.) The link definition
square brackets. (There cannot be space between the two unless the
`spaced_reference_links` extension is enabled.) The link definition
consists of the bracketed label, followed by a colon and a space, followed by
the URL, and optionally (after a space) a link title either in quotes or in
parentheses. The label must not be parseable as a citation (assuming
@ -3551,6 +3552,13 @@ implied by pandoc's default `all_symbols_escapable`.
Allow a list to occur right after a paragraph, with no intervening
blank space.
#### Extension: `spaced_reference_links` ####
Allow whitespace between the two components of a reference link,
for example,
[foo] [bar].
#### Extension: `hard_line_breaks` ####
Causes all newlines within a paragraph to be interpreted as hard line

View file

@ -137,6 +137,7 @@ data Extension =
| Ext_shortcut_reference_links -- ^ Shortcut reference links
| Ext_smart -- ^ "Smart" quotes, apostrophes, ellipses, dashes
| Ext_old_dashes -- ^ -- = em, - before number = en
| Ext_spaced_reference_links -- ^ Allow space between two parts of ref link
deriving (Show, Read, Enum, Eq, Ord, Bounded, Data, Typeable, Generic)
-- | Extensions to be used with pandoc-flavored markdown.
@ -187,7 +188,7 @@ pandocExtensions = extensionsFromList
, Ext_smart
]
-- | Extensions to be used with github-flavored markdown.
-- | Extensions to be used with plain text output.
plainExtensions :: Extensions
plainExtensions = extensionsFromList
[ Ext_table_captions
@ -220,6 +221,7 @@ phpMarkdownExtraExtensions = extensionsFromList
, Ext_link_attributes
, Ext_abbreviations
, Ext_shortcut_reference_links
, Ext_spaced_reference_links
]
-- | Extensions to be used with github-flavored markdown.
@ -272,6 +274,7 @@ multimarkdownExtensions = extensionsFromList
, Ext_superscript
, Ext_subscript
, Ext_backtick_code_blocks
, Ext_spaced_reference_links
]
-- | Language extensions to be used with strict markdown.
@ -279,6 +282,7 @@ strictExtensions :: Extensions
strictExtensions = extensionsFromList
[ Ext_raw_html
, Ext_shortcut_reference_links
, Ext_spaced_reference_links
]
-- | Default extensions from format-describing string.

View file

@ -1750,10 +1750,12 @@ referenceLink :: PandocMonad m
referenceLink constructor (lab, raw) = do
sp <- (True <$ lookAhead (char ' ')) <|> return False
(_,raw') <- option (mempty, "") $
lookAhead (try (guardEnabled Ext_citations >>
spnl >> normalCite >> return (mempty, "")))
lookAhead (try (do guardEnabled Ext_citations
guardDisabled Ext_spaced_reference_links <|> spnl
normalCite
return (mempty, "")))
<|>
try (spnl >> reference)
try ((guardDisabled Ext_spaced_reference_links <|> spnl) >> reference)
when (raw' == "") $ guardEnabled Ext_shortcut_reference_links
let labIsRef = raw' == "" || raw' == "[]"
let key = toKey $ if labIsRef then raw else raw'

18
test/command/2602.md Normal file
View file

@ -0,0 +1,18 @@
```
% pandoc
[a] [b]
[b]: url
^D
<p>[a] <a href="url">b</a></p>
```
```
% pandoc -f markdown+spaced_reference_links
[a] [b]
[b]: url
^D
<p><a href="url">a</a></p>
```

View file

@ -369,8 +369,6 @@ Pandoc (Meta {unMeta = fromList [("author",MetaList [MetaInlines [Str "John",Spa
,Para [Link ("",[],[]) [Str "Empty"] ("",""),Str "."]
,Header 2 ("reference",[],[]) [Str "Reference"]
,Para [Str "Foo",Space,Link ("",[],[]) [Str "bar"] ("/url/",""),Str "."]
,Para [Str "Foo",Space,Link ("",[],[]) [Str "bar"] ("/url/",""),Str "."]
,Para [Str "Foo",Space,Link ("",[],[]) [Str "bar"] ("/url/",""),Str "."]
,Para [Str "With",Space,Link ("",[],[]) [Str "embedded",Space,Str "[brackets]"] ("/url/",""),Str "."]
,Para [Link ("",[],[]) [Str "b"] ("/url/",""),Space,Str "by",Space,Str "itself",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "link."]
,Para [Str "Indented",Space,Link ("",[],[]) [Str "once"] ("/url",""),Str "."]

View file

@ -621,16 +621,11 @@ Just a [URL](/url/).
## Reference
Foo [bar] [a].
Foo [bar][a].
Foo [bar]
[a].
[a]: /url/
With [embedded [brackets]] [b].
With [embedded [brackets]][b].
[b] by itself should be a link.
@ -659,9 +654,9 @@ Foo [biz](/url/ "Title with "quote" inside").
## With ampersands
Here's a [link with an ampersand in the URL] [1].
Here's a [link with an ampersand in the URL][1].
Here's a link with an amersand in the link text: [AT&T] [2].
Here's a link with an amersand in the link text: [AT&T][2].
Here's an [inline link](/script?foo=1&bar=2).

View file

@ -600,10 +600,6 @@ Reference
Foo link:/url/[bar].
Foo link:/url/[bar].
Foo link:/url/[bar].
With link:/url/[embedded [brackets]].
link:/url/[b] by itself should be a link.

View file

@ -787,19 +787,15 @@ Just a \useURL[url4][/url/][][URL]\from[url4].
Foo \useURL[url13][/url/][][bar]\from[url13].
Foo \useURL[url14][/url/][][bar]\from[url14].
With \useURL[url14][/url/][][embedded {[}brackets{]}]\from[url14].
Foo \useURL[url15][/url/][][bar]\from[url15].
\useURL[url15][/url/][][b]\from[url15] by itself should be a link.
With \useURL[url16][/url/][][embedded {[}brackets{]}]\from[url16].
Indented \useURL[url16][/url][][once]\from[url16].
\useURL[url17][/url/][][b]\from[url17] by itself should be a link.
Indented \useURL[url17][/url][][twice]\from[url17].
Indented \useURL[url18][/url][][once]\from[url18].
Indented \useURL[url19][/url][][twice]\from[url19].
Indented \useURL[url20][/url][][thrice]\from[url20].
Indented \useURL[url18][/url][][thrice]\from[url18].
This should {[}not{]}{[}{]} be a link.
@ -807,41 +803,41 @@ This should {[}not{]}{[}{]} be a link.
[not]: /url
\stoptyping
Foo \useURL[url21][/url/][][bar]\from[url21].
Foo \useURL[url19][/url/][][bar]\from[url19].
Foo \useURL[url22][/url/][][biz]\from[url22].
Foo \useURL[url20][/url/][][biz]\from[url20].
\subsection[with-ampersands]{With ampersands}
Here's a \useURL[url23][http://example.com/?foo=1&bar=2][][link with an
ampersand in the URL]\from[url23].
Here's a \useURL[url21][http://example.com/?foo=1&bar=2][][link with an
ampersand in the URL]\from[url21].
Here's a link with an amersand in the link text:
\useURL[url24][http://att.com/][][AT&T]\from[url24].
\useURL[url22][http://att.com/][][AT&T]\from[url22].
Here's an \useURL[url25][/script?foo=1&bar=2][][inline link]\from[url25].
Here's an \useURL[url23][/script?foo=1&bar=2][][inline link]\from[url23].
Here's an \useURL[url26][/script?foo=1&bar=2][][inline link in pointy
braces]\from[url26].
Here's an \useURL[url24][/script?foo=1&bar=2][][inline link in pointy
braces]\from[url24].
\subsection[autolinks]{Autolinks}
With an ampersand: \useURL[url27][http://example.com/?foo=1&bar=2]\from[url27]
With an ampersand: \useURL[url25][http://example.com/?foo=1&bar=2]\from[url25]
\startitemize[packed]
\item
In a list?
\item
\useURL[url28][http://example.com/]\from[url28]
\useURL[url26][http://example.com/]\from[url26]
\item
It should.
\stopitemize
An e-mail address:
\useURL[url29][mailto:nobody@nowhere.net][][nobody@nowhere.net]\from[url29]
\useURL[url27][mailto:nobody@nowhere.net][][nobody@nowhere.net]\from[url27]
\startblockquote
Blockquoted: \useURL[url30][http://example.com/]\from[url30]
Blockquoted: \useURL[url28][http://example.com/]\from[url28]
\stopblockquote
Auto-links should not occur here: \type{<http://example.com/>}
@ -880,7 +876,7 @@ Here is a footnote reference,\footnote{Here is the footnote. It can go
indent the first line of each block.\stopbuffer\footnote{\getbuffer} This
should {\em not} be a footnote reference, because it contains a space.{[}^my
note{]} Here is an inline note.\footnote{This is {\em easier} to type. Inline
notes may contain \useURL[url31][http://google.com][][links]\from[url31] and
notes may contain \useURL[url29][http://google.com][][links]\from[url29] and
\type{]} verbatim characters, as well as {[}bracketed text{]}.}
\startblockquote

View file

@ -1248,12 +1248,6 @@ These should not be escaped: \$ \\ \&gt; \[ \{
<para>
Foo <ulink url="/url/">bar</ulink>.
</para>
<para>
Foo <ulink url="/url/">bar</ulink>.
</para>
<para>
Foo <ulink url="/url/">bar</ulink>.
</para>
<para>
With <ulink url="/url/">embedded [brackets]</ulink>.
</para>

View file

@ -1223,12 +1223,6 @@ These should not be escaped: \$ \\ \&gt; \[ \{
<para>
Foo <link xlink:href="/url/">bar</link>.
</para>
<para>
Foo <link xlink:href="/url/">bar</link>.
</para>
<para>
Foo <link xlink:href="/url/">bar</link>.
</para>
<para>
With <link xlink:href="/url/">embedded [brackets]</link>.
</para>

View file

@ -556,10 +556,6 @@ Just a [[url/|URL]].
Foo [[url/|bar]].
Foo [[url/|bar]].
Foo [[url/|bar]].
With [[url/|embedded [brackets]]].
[[url/|b]] by itself should be a link.

File diff suppressed because one or more lines are too long

View file

@ -560,10 +560,6 @@ Just a </url/ URL>.
Foo </url/ bar>.
Foo </url/ bar>.
Foo </url/ bar>.
With </url/ embedded [brackets]>.
</url/ b> by itself should be a link.

View file

@ -486,8 +486,6 @@ Blah
<p><a href="">Empty</a>.</p>
<h2 id="reference">Reference</h2>
<p>Foo <a href="/url/">bar</a>.</p>
<p>Foo <a href="/url/">bar</a>.</p>
<p>Foo <a href="/url/">bar</a>.</p>
<p>With <a href="/url/">embedded [brackets]</a>.</p>
<p><a href="/url/">b</a> by itself should be a link.</p>
<p>Indented <a href="/url">once</a>.</p>

View file

@ -489,8 +489,6 @@ Blah
<p><a href="">Empty</a>.</p>
<h2 id="reference">Reference</h2>
<p>Foo <a href="/url/">bar</a>.</p>
<p>Foo <a href="/url/">bar</a>.</p>
<p>Foo <a href="/url/">bar</a>.</p>
<p>With <a href="/url/">embedded [brackets]</a>.</p>
<p><a href="/url/">b</a> by itself should be a link.</p>
<p>Indented <a href="/url">once</a>.</p>

View file

@ -2564,39 +2564,11 @@ These should not be escaped: \$ \\ \&gt; \[ \{</Content>
</CharacterStyleRange>
</ParagraphStyleRange>
<Br />
<ParagraphStyleRange AppliedParagraphStyle="ParagraphStyle/Paragraph">
<CharacterStyleRange AppliedCharacterStyle="$ID/NormalCharacterStyle">
<Content>Foo </Content>
</CharacterStyleRange>
<HyperlinkTextSource Self="htss-14" Name="" Hidden="false">
<CharacterStyleRange AppliedCharacterStyle="CharacterStyle/Link">
<Content>bar</Content>
</CharacterStyleRange>
</HyperlinkTextSource>
<CharacterStyleRange AppliedCharacterStyle="$ID/NormalCharacterStyle">
<Content>.</Content>
</CharacterStyleRange>
</ParagraphStyleRange>
<Br />
<ParagraphStyleRange AppliedParagraphStyle="ParagraphStyle/Paragraph">
<CharacterStyleRange AppliedCharacterStyle="$ID/NormalCharacterStyle">
<Content>Foo </Content>
</CharacterStyleRange>
<HyperlinkTextSource Self="htss-15" Name="" Hidden="false">
<CharacterStyleRange AppliedCharacterStyle="CharacterStyle/Link">
<Content>bar</Content>
</CharacterStyleRange>
</HyperlinkTextSource>
<CharacterStyleRange AppliedCharacterStyle="$ID/NormalCharacterStyle">
<Content>.</Content>
</CharacterStyleRange>
</ParagraphStyleRange>
<Br />
<ParagraphStyleRange AppliedParagraphStyle="ParagraphStyle/Paragraph">
<CharacterStyleRange AppliedCharacterStyle="$ID/NormalCharacterStyle">
<Content>With </Content>
</CharacterStyleRange>
<HyperlinkTextSource Self="htss-16" Name="" Hidden="false">
<HyperlinkTextSource Self="htss-14" Name="" Hidden="false">
<CharacterStyleRange AppliedCharacterStyle="CharacterStyle/Link">
<Content>embedded [brackets]</Content>
</CharacterStyleRange>
@ -2607,7 +2579,7 @@ These should not be escaped: \$ \\ \&gt; \[ \{</Content>
</ParagraphStyleRange>
<Br />
<ParagraphStyleRange AppliedParagraphStyle="ParagraphStyle/Paragraph">
<HyperlinkTextSource Self="htss-17" Name="" Hidden="false">
<HyperlinkTextSource Self="htss-15" Name="" Hidden="false">
<CharacterStyleRange AppliedCharacterStyle="CharacterStyle/Link">
<Content>b</Content>
</CharacterStyleRange>
@ -2621,7 +2593,7 @@ These should not be escaped: \$ \\ \&gt; \[ \{</Content>
<CharacterStyleRange AppliedCharacterStyle="$ID/NormalCharacterStyle">
<Content>Indented </Content>
</CharacterStyleRange>
<HyperlinkTextSource Self="htss-18" Name="" Hidden="false">
<HyperlinkTextSource Self="htss-16" Name="" Hidden="false">
<CharacterStyleRange AppliedCharacterStyle="CharacterStyle/Link">
<Content>once</Content>
</CharacterStyleRange>
@ -2635,7 +2607,7 @@ These should not be escaped: \$ \\ \&gt; \[ \{</Content>
<CharacterStyleRange AppliedCharacterStyle="$ID/NormalCharacterStyle">
<Content>Indented </Content>
</CharacterStyleRange>
<HyperlinkTextSource Self="htss-19" Name="" Hidden="false">
<HyperlinkTextSource Self="htss-17" Name="" Hidden="false">
<CharacterStyleRange AppliedCharacterStyle="CharacterStyle/Link">
<Content>twice</Content>
</CharacterStyleRange>
@ -2649,7 +2621,7 @@ These should not be escaped: \$ \\ \&gt; \[ \{</Content>
<CharacterStyleRange AppliedCharacterStyle="$ID/NormalCharacterStyle">
<Content>Indented </Content>
</CharacterStyleRange>
<HyperlinkTextSource Self="htss-20" Name="" Hidden="false">
<HyperlinkTextSource Self="htss-18" Name="" Hidden="false">
<CharacterStyleRange AppliedCharacterStyle="CharacterStyle/Link">
<Content>thrice</Content>
</CharacterStyleRange>
@ -2675,7 +2647,7 @@ These should not be escaped: \$ \\ \&gt; \[ \{</Content>
<CharacterStyleRange AppliedCharacterStyle="$ID/NormalCharacterStyle">
<Content>Foo </Content>
</CharacterStyleRange>
<HyperlinkTextSource Self="htss-21" Name="Title with &quot;quotes&quot; inside" Hidden="false">
<HyperlinkTextSource Self="htss-19" Name="Title with &quot;quotes&quot; inside" Hidden="false">
<CharacterStyleRange AppliedCharacterStyle="CharacterStyle/Link">
<Content>bar</Content>
</CharacterStyleRange>
@ -2689,7 +2661,7 @@ These should not be escaped: \$ \\ \&gt; \[ \{</Content>
<CharacterStyleRange AppliedCharacterStyle="$ID/NormalCharacterStyle">
<Content>Foo </Content>
</CharacterStyleRange>
<HyperlinkTextSource Self="htss-22" Name="Title with &quot;quote&quot; inside" Hidden="false">
<HyperlinkTextSource Self="htss-20" Name="Title with &quot;quote&quot; inside" Hidden="false">
<CharacterStyleRange AppliedCharacterStyle="CharacterStyle/Link">
<Content>biz</Content>
</CharacterStyleRange>
@ -2709,7 +2681,7 @@ These should not be escaped: \$ \\ \&gt; \[ \{</Content>
<CharacterStyleRange AppliedCharacterStyle="$ID/NormalCharacterStyle">
<Content>Heres a </Content>
</CharacterStyleRange>
<HyperlinkTextSource Self="htss-23" Name="" Hidden="false">
<HyperlinkTextSource Self="htss-21" Name="" Hidden="false">
<CharacterStyleRange AppliedCharacterStyle="CharacterStyle/Link">
<Content>link with an ampersand in the URL</Content>
</CharacterStyleRange>
@ -2723,7 +2695,7 @@ These should not be escaped: \$ \\ \&gt; \[ \{</Content>
<CharacterStyleRange AppliedCharacterStyle="$ID/NormalCharacterStyle">
<Content>Heres a link with an amersand in the link text: </Content>
</CharacterStyleRange>
<HyperlinkTextSource Self="htss-24" Name="AT&amp;T" Hidden="false">
<HyperlinkTextSource Self="htss-22" Name="AT&amp;T" Hidden="false">
<CharacterStyleRange AppliedCharacterStyle="CharacterStyle/Link">
<Content>AT&amp;T</Content>
</CharacterStyleRange>
@ -2737,7 +2709,7 @@ These should not be escaped: \$ \\ \&gt; \[ \{</Content>
<CharacterStyleRange AppliedCharacterStyle="$ID/NormalCharacterStyle">
<Content>Heres an </Content>
</CharacterStyleRange>
<HyperlinkTextSource Self="htss-25" Name="" Hidden="false">
<HyperlinkTextSource Self="htss-23" Name="" Hidden="false">
<CharacterStyleRange AppliedCharacterStyle="CharacterStyle/Link">
<Content>inline link</Content>
</CharacterStyleRange>
@ -2751,7 +2723,7 @@ These should not be escaped: \$ \\ \&gt; \[ \{</Content>
<CharacterStyleRange AppliedCharacterStyle="$ID/NormalCharacterStyle">
<Content>Heres an </Content>
</CharacterStyleRange>
<HyperlinkTextSource Self="htss-26" Name="" Hidden="false">
<HyperlinkTextSource Self="htss-24" Name="" Hidden="false">
<CharacterStyleRange AppliedCharacterStyle="CharacterStyle/Link">
<Content>inline link in pointy braces</Content>
</CharacterStyleRange>
@ -2771,7 +2743,7 @@ These should not be escaped: \$ \\ \&gt; \[ \{</Content>
<CharacterStyleRange AppliedCharacterStyle="$ID/NormalCharacterStyle">
<Content>With an ampersand: </Content>
</CharacterStyleRange>
<HyperlinkTextSource Self="htss-27" Name="" Hidden="false">
<HyperlinkTextSource Self="htss-25" Name="" Hidden="false">
<CharacterStyleRange AppliedCharacterStyle="CharacterStyle/Link">
<Content>http://example.com/?foo=1&amp;bar=2</Content>
</CharacterStyleRange>
@ -2785,7 +2757,7 @@ These should not be escaped: \$ \\ \&gt; \[ \{</Content>
</ParagraphStyleRange>
<Br />
<ParagraphStyleRange AppliedParagraphStyle="ParagraphStyle/BulList">
<HyperlinkTextSource Self="htss-28" Name="" Hidden="false">
<HyperlinkTextSource Self="htss-26" Name="" Hidden="false">
<CharacterStyleRange AppliedCharacterStyle="CharacterStyle/Link">
<Content>http://example.com/</Content>
</CharacterStyleRange>
@ -2802,7 +2774,7 @@ These should not be escaped: \$ \\ \&gt; \[ \{</Content>
<CharacterStyleRange AppliedCharacterStyle="$ID/NormalCharacterStyle">
<Content>An e-mail address: </Content>
</CharacterStyleRange>
<HyperlinkTextSource Self="htss-29" Name="" Hidden="false">
<HyperlinkTextSource Self="htss-27" Name="" Hidden="false">
<CharacterStyleRange AppliedCharacterStyle="CharacterStyle/Link">
<Content>nobody@nowhere.net</Content>
</CharacterStyleRange>
@ -2813,7 +2785,7 @@ These should not be escaped: \$ \\ \&gt; \[ \{</Content>
<CharacterStyleRange AppliedCharacterStyle="$ID/NormalCharacterStyle">
<Content>Blockquoted: </Content>
</CharacterStyleRange>
<HyperlinkTextSource Self="htss-30" Name="" Hidden="false">
<HyperlinkTextSource Self="htss-28" Name="" Hidden="false">
<CharacterStyleRange AppliedCharacterStyle="CharacterStyle/Link">
<Content>http://example.com/</Content>
</CharacterStyleRange>
@ -3025,7 +2997,7 @@ These should not be escaped: \$ \\ \&gt; \[ \{</Content>
<CharacterStyleRange AppliedCharacterStyle="$ID/NormalCharacterStyle">
<Content> to type. Inline notes may contain </Content>
</CharacterStyleRange>
<HyperlinkTextSource Self="htss-31" Name="" Hidden="false">
<HyperlinkTextSource Self="htss-29" Name="" Hidden="false">
<CharacterStyleRange AppliedCharacterStyle="CharacterStyle/Link">
<Content>links</Content>
</CharacterStyleRange>
@ -3098,115 +3070,101 @@ These should not be escaped: \$ \\ \&gt; \[ \{</Content>
</Story>
<HyperlinkURLDestination Self="HyperlinkURLDestination/http%3a//google.com" Name="link" DestinationURL="http://google.com" DestinationUniqueKey="1" />
<Hyperlink Self="uf-31" Name="http://google.com" Source="htss-31" Visible="true" DestinationUniqueKey="1">
<Hyperlink Self="uf-29" Name="http://google.com" Source="htss-29" Visible="true" DestinationUniqueKey="1">
<Properties>
<BorderColor type="enumeration">Black</BorderColor>
<Destination type="object">HyperlinkURLDestination/http%3a//google.com</Destination>
</Properties>
</Hyperlink>
<HyperlinkURLDestination Self="HyperlinkURLDestination/http%3a//example.com/" Name="link" DestinationURL="http://example.com/" DestinationUniqueKey="1" />
<Hyperlink Self="uf-30" Name="http://example.com/" Source="htss-30" Visible="true" DestinationUniqueKey="1">
<Properties>
<BorderColor type="enumeration">Black</BorderColor>
<Destination type="object">HyperlinkURLDestination/http%3a//example.com/</Destination>
</Properties>
</Hyperlink>
<HyperlinkURLDestination Self="HyperlinkURLDestination/mailto%3anobody@nowhere.net" Name="link" DestinationURL="mailto:nobody@nowhere.net" DestinationUniqueKey="1" />
<Hyperlink Self="uf-29" Name="mailto:nobody@nowhere.net" Source="htss-29" Visible="true" DestinationUniqueKey="1">
<Properties>
<BorderColor type="enumeration">Black</BorderColor>
<Destination type="object">HyperlinkURLDestination/mailto%3anobody@nowhere.net</Destination>
</Properties>
</Hyperlink>
<HyperlinkURLDestination Self="HyperlinkURLDestination/http%3a//example.com/" Name="link" DestinationURL="http://example.com/" DestinationUniqueKey="1" />
<Hyperlink Self="uf-28" Name="http://example.com/" Source="htss-28" Visible="true" DestinationUniqueKey="1">
<Properties>
<BorderColor type="enumeration">Black</BorderColor>
<Destination type="object">HyperlinkURLDestination/http%3a//example.com/</Destination>
</Properties>
</Hyperlink>
<HyperlinkURLDestination Self="HyperlinkURLDestination/mailto%3anobody@nowhere.net" Name="link" DestinationURL="mailto:nobody@nowhere.net" DestinationUniqueKey="1" />
<Hyperlink Self="uf-27" Name="mailto:nobody@nowhere.net" Source="htss-27" Visible="true" DestinationUniqueKey="1">
<Properties>
<BorderColor type="enumeration">Black</BorderColor>
<Destination type="object">HyperlinkURLDestination/mailto%3anobody@nowhere.net</Destination>
</Properties>
</Hyperlink>
<HyperlinkURLDestination Self="HyperlinkURLDestination/http%3a//example.com/" Name="link" DestinationURL="http://example.com/" DestinationUniqueKey="1" />
<Hyperlink Self="uf-26" Name="http://example.com/" Source="htss-26" Visible="true" DestinationUniqueKey="1">
<Properties>
<BorderColor type="enumeration">Black</BorderColor>
<Destination type="object">HyperlinkURLDestination/http%3a//example.com/</Destination>
</Properties>
</Hyperlink>
<HyperlinkURLDestination Self="HyperlinkURLDestination/http%3a//example.com/?foo=1&amp;bar=2" Name="link" DestinationURL="http://example.com/?foo=1&amp;bar=2" DestinationUniqueKey="1" />
<Hyperlink Self="uf-27" Name="http://example.com/?foo=1&amp;bar=2" Source="htss-27" Visible="true" DestinationUniqueKey="1">
<Hyperlink Self="uf-25" Name="http://example.com/?foo=1&amp;bar=2" Source="htss-25" Visible="true" DestinationUniqueKey="1">
<Properties>
<BorderColor type="enumeration">Black</BorderColor>
<Destination type="object">HyperlinkURLDestination/http%3a//example.com/?foo=1&amp;bar=2</Destination>
</Properties>
</Hyperlink>
<HyperlinkURLDestination Self="HyperlinkURLDestination//script?foo=1&amp;bar=2" Name="link" DestinationURL="/script?foo=1&amp;bar=2" DestinationUniqueKey="1" />
<Hyperlink Self="uf-26" Name="/script?foo=1&amp;bar=2" Source="htss-26" Visible="true" DestinationUniqueKey="1">
<Hyperlink Self="uf-24" Name="/script?foo=1&amp;bar=2" Source="htss-24" Visible="true" DestinationUniqueKey="1">
<Properties>
<BorderColor type="enumeration">Black</BorderColor>
<Destination type="object">HyperlinkURLDestination//script?foo=1&amp;bar=2</Destination>
</Properties>
</Hyperlink>
<HyperlinkURLDestination Self="HyperlinkURLDestination//script?foo=1&amp;bar=2" Name="link" DestinationURL="/script?foo=1&amp;bar=2" DestinationUniqueKey="1" />
<Hyperlink Self="uf-25" Name="/script?foo=1&amp;bar=2" Source="htss-25" Visible="true" DestinationUniqueKey="1">
<Hyperlink Self="uf-23" Name="/script?foo=1&amp;bar=2" Source="htss-23" Visible="true" DestinationUniqueKey="1">
<Properties>
<BorderColor type="enumeration">Black</BorderColor>
<Destination type="object">HyperlinkURLDestination//script?foo=1&amp;bar=2</Destination>
</Properties>
</Hyperlink>
<HyperlinkURLDestination Self="HyperlinkURLDestination/http%3a//att.com/" Name="link" DestinationURL="http://att.com/" DestinationUniqueKey="1" />
<Hyperlink Self="uf-24" Name="http://att.com/" Source="htss-24" Visible="true" DestinationUniqueKey="1">
<Hyperlink Self="uf-22" Name="http://att.com/" Source="htss-22" Visible="true" DestinationUniqueKey="1">
<Properties>
<BorderColor type="enumeration">Black</BorderColor>
<Destination type="object">HyperlinkURLDestination/http%3a//att.com/</Destination>
</Properties>
</Hyperlink>
<HyperlinkURLDestination Self="HyperlinkURLDestination/http%3a//example.com/?foo=1&amp;bar=2" Name="link" DestinationURL="http://example.com/?foo=1&amp;bar=2" DestinationUniqueKey="1" />
<Hyperlink Self="uf-23" Name="http://example.com/?foo=1&amp;bar=2" Source="htss-23" Visible="true" DestinationUniqueKey="1">
<Hyperlink Self="uf-21" Name="http://example.com/?foo=1&amp;bar=2" Source="htss-21" Visible="true" DestinationUniqueKey="1">
<Properties>
<BorderColor type="enumeration">Black</BorderColor>
<Destination type="object">HyperlinkURLDestination/http%3a//example.com/?foo=1&amp;bar=2</Destination>
</Properties>
</Hyperlink>
<HyperlinkURLDestination Self="HyperlinkURLDestination//url/" Name="link" DestinationURL="/url/" DestinationUniqueKey="1" />
<Hyperlink Self="uf-22" Name="/url/" Source="htss-22" Visible="true" DestinationUniqueKey="1">
<Hyperlink Self="uf-20" Name="/url/" Source="htss-20" Visible="true" DestinationUniqueKey="1">
<Properties>
<BorderColor type="enumeration">Black</BorderColor>
<Destination type="object">HyperlinkURLDestination//url/</Destination>
</Properties>
</Hyperlink>
<HyperlinkURLDestination Self="HyperlinkURLDestination//url/" Name="link" DestinationURL="/url/" DestinationUniqueKey="1" />
<Hyperlink Self="uf-21" Name="/url/" Source="htss-21" Visible="true" DestinationUniqueKey="1">
<Hyperlink Self="uf-19" Name="/url/" Source="htss-19" Visible="true" DestinationUniqueKey="1">
<Properties>
<BorderColor type="enumeration">Black</BorderColor>
<Destination type="object">HyperlinkURLDestination//url/</Destination>
</Properties>
</Hyperlink>
<HyperlinkURLDestination Self="HyperlinkURLDestination//url" Name="link" DestinationURL="/url" DestinationUniqueKey="1" />
<Hyperlink Self="uf-20" Name="/url" Source="htss-20" Visible="true" DestinationUniqueKey="1">
<Properties>
<BorderColor type="enumeration">Black</BorderColor>
<Destination type="object">HyperlinkURLDestination//url</Destination>
</Properties>
</Hyperlink>
<HyperlinkURLDestination Self="HyperlinkURLDestination//url" Name="link" DestinationURL="/url" DestinationUniqueKey="1" />
<Hyperlink Self="uf-19" Name="/url" Source="htss-19" Visible="true" DestinationUniqueKey="1">
<Properties>
<BorderColor type="enumeration">Black</BorderColor>
<Destination type="object">HyperlinkURLDestination//url</Destination>
</Properties>
</Hyperlink>
<HyperlinkURLDestination Self="HyperlinkURLDestination//url" Name="link" DestinationURL="/url" DestinationUniqueKey="1" />
<Hyperlink Self="uf-18" Name="/url" Source="htss-18" Visible="true" DestinationUniqueKey="1">
<Properties>
<BorderColor type="enumeration">Black</BorderColor>
<Destination type="object">HyperlinkURLDestination//url</Destination>
</Properties>
</Hyperlink>
<HyperlinkURLDestination Self="HyperlinkURLDestination//url/" Name="link" DestinationURL="/url/" DestinationUniqueKey="1" />
<Hyperlink Self="uf-17" Name="/url/" Source="htss-17" Visible="true" DestinationUniqueKey="1">
<HyperlinkURLDestination Self="HyperlinkURLDestination//url" Name="link" DestinationURL="/url" DestinationUniqueKey="1" />
<Hyperlink Self="uf-17" Name="/url" Source="htss-17" Visible="true" DestinationUniqueKey="1">
<Properties>
<BorderColor type="enumeration">Black</BorderColor>
<Destination type="object">HyperlinkURLDestination//url/</Destination>
<Destination type="object">HyperlinkURLDestination//url</Destination>
</Properties>
</Hyperlink>
<HyperlinkURLDestination Self="HyperlinkURLDestination//url/" Name="link" DestinationURL="/url/" DestinationUniqueKey="1" />
<Hyperlink Self="uf-16" Name="/url/" Source="htss-16" Visible="true" DestinationUniqueKey="1">
<HyperlinkURLDestination Self="HyperlinkURLDestination//url" Name="link" DestinationURL="/url" DestinationUniqueKey="1" />
<Hyperlink Self="uf-16" Name="/url" Source="htss-16" Visible="true" DestinationUniqueKey="1">
<Properties>
<BorderColor type="enumeration">Black</BorderColor>
<Destination type="object">HyperlinkURLDestination//url/</Destination>
<Destination type="object">HyperlinkURLDestination//url</Destination>
</Properties>
</Hyperlink>
<HyperlinkURLDestination Self="HyperlinkURLDestination//url/" Name="link" DestinationURL="/url/" DestinationUniqueKey="1" />

View file

@ -1266,12 +1266,6 @@ These should not be escaped: \$ \\ \&gt; \[ \{</preformat>
<p>
Foo <ext-link ext-link-type="uri" xlink:href="/url/">bar</ext-link>.
</p>
<p>
Foo <ext-link ext-link-type="uri" xlink:href="/url/">bar</ext-link>.
</p>
<p>
Foo <ext-link ext-link-type="uri" xlink:href="/url/">bar</ext-link>.
</p>
<p>
With <ext-link ext-link-type="uri" xlink:href="/url/">embedded
[brackets]</ext-link>.

View file

@ -877,10 +877,6 @@ Just a \href{/url/}{URL}.
Foo \href{/url/}{bar}.
Foo \href{/url/}{bar}.
Foo \href{/url/}{bar}.
With \href{/url/}{embedded {[}brackets{]}}.
\href{/url/}{b} by itself should be a link.

View file

@ -677,10 +677,6 @@ Empty ().
.PP
Foo bar (/url/).
.PP
Foo bar (/url/).
.PP
Foo bar (/url/).
.PP
With embedded [brackets] (/url/).
.PP
b (/url/) by itself should be a link.

View file

@ -647,10 +647,6 @@ Reference
Foo [bar](/url/).
Foo [bar](/url/).
Foo [bar](/url/).
With [embedded \[brackets\]](/url/).
[b](/url/) by itself should be a link.

View file

@ -571,10 +571,6 @@ Just a [[url/|URL]].
Foo [[url/|bar]].
Foo [[url/|bar]].
Foo [[url/|bar]].
With [[url/|embedded [brackets]]].
[[url/|b]] by itself should be a link.

View file

@ -835,16 +835,6 @@ Foo \c
-- "bar"
\&.
.PP
Foo \c
.pdfhref W -D "/url/" -A "\c" \
-- "bar"
\&.
.PP
Foo \c
.pdfhref W -D "/url/" -A "\c" \
-- "bar"
\&.
.PP
With \c
.pdfhref W -D "/url/" -A "\c" \
-- "embedded [brackets]"

View file

@ -625,10 +625,6 @@ Just a [[/url/][URL]].
Foo [[/url/][bar]].
Foo [[/url/][bar]].
Foo [[/url/][bar]].
With [[/url/][embedded <verbatim>[brackets]</verbatim>]].
[[/url/][b]] by itself should be a link.

View file

@ -369,8 +369,6 @@ Pandoc (Meta {unMeta = fromList [("author",MetaList [MetaInlines [Str "John",Spa
,Para [Link ("",[],[]) [Str "Empty"] ("",""),Str "."]
,Header 2 ("reference",[],[]) [Str "Reference"]
,Para [Str "Foo",Space,Link ("",[],[]) [Str "bar"] ("/url/",""),Str "."]
,Para [Str "Foo",Space,Link ("",[],[]) [Str "bar"] ("/url/",""),Str "."]
,Para [Str "Foo",Space,Link ("",[],[]) [Str "bar"] ("/url/",""),Str "."]
,Para [Str "With",Space,Link ("",[],[]) [Str "embedded",Space,Str "[brackets]"] ("/url/",""),Str "."]
,Para [Link ("",[],[]) [Str "b"] ("/url/",""),Space,Str "by",Space,Str "itself",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "link."]
,Para [Str "Indented",Space,Link ("",[],[]) [Str "once"] ("/url",""),Str "."]

View file

@ -1434,10 +1434,6 @@ link</text:span></text:a></text:p>
<text:h text:style-name="Heading_20_2" text:outline-level="2">Reference</text:h>
<text:p text:style-name="First_20_paragraph">Foo
<text:a xlink:type="simple" xlink:href="/url/" office:name=""><text:span text:style-name="Definition">bar</text:span></text:a>.</text:p>
<text:p text:style-name="Text_20_body">Foo
<text:a xlink:type="simple" xlink:href="/url/" office:name=""><text:span text:style-name="Definition">bar</text:span></text:a>.</text:p>
<text:p text:style-name="Text_20_body">Foo
<text:a xlink:type="simple" xlink:href="/url/" office:name=""><text:span text:style-name="Definition">bar</text:span></text:a>.</text:p>
<text:p text:style-name="Text_20_body">With
<text:a xlink:type="simple" xlink:href="/url/" office:name=""><text:span text:style-name="Definition">embedded
[brackets]</text:span></text:a>.</text:p>

View file

@ -57,7 +57,7 @@
<outline text="Links">
<outline text="Explicit" _note="Just a [URL](/url/).&#10;&#10;[URL and title](/url/ &quot;title&quot;).&#10;&#10;[URL and title](/url/ &quot;title preceded by two spaces&quot;).&#10;&#10;[URL and title](/url/ &quot;title preceded by a tab&quot;).&#10;&#10;[URL and title](/url/ &quot;title with &quot;quotes&quot; in it&quot;)&#10;&#10;[URL and title](/url/ &quot;title with single quotes&quot;)&#10;&#10;[with\_underscore](/url/with_underscore)&#10;&#10;[Email link](mailto:nobody@nowhere.net)&#10;&#10;[Empty]().">
</outline>
<outline text="Reference" _note="Foo [bar](/url/).&#10;&#10;Foo [bar](/url/).&#10;&#10;Foo [bar](/url/).&#10;&#10;With [embedded \[brackets\]](/url/).&#10;&#10;[b](/url/) by itself should be a link.&#10;&#10;Indented [once](/url).&#10;&#10;Indented [twice](/url).&#10;&#10;Indented [thrice](/url).&#10;&#10;This should \[not\]\[\] be a link.&#10;&#10; [not]: /url&#10;&#10;Foo [bar](/url/ &quot;Title with &quot;quotes&quot; inside&quot;).&#10;&#10;Foo [biz](/url/ &quot;Title with &quot;quote&quot; inside&quot;).">
<outline text="Reference" _note="Foo [bar](/url/).&#10;&#10;With [embedded \[brackets\]](/url/).&#10;&#10;[b](/url/) by itself should be a link.&#10;&#10;Indented [once](/url).&#10;&#10;Indented [twice](/url).&#10;&#10;Indented [thrice](/url).&#10;&#10;This should \[not\]\[\] be a link.&#10;&#10; [not]: /url&#10;&#10;Foo [bar](/url/ &quot;Title with &quot;quotes&quot; inside&quot;).&#10;&#10;Foo [biz](/url/ &quot;Title with &quot;quote&quot; inside&quot;).">
</outline>
<outline text="With ampersands" _note="Heres a [link with an ampersand in the&#10;URL](http://example.com/?foo=1&amp;bar=2).&#10;&#10;Heres a link with an amersand in the link text:&#10;[AT&amp;T](http://att.com/ &quot;AT&amp;T&quot;).&#10;&#10;Heres an [inline link](/script?foo=1&amp;bar=2).&#10;&#10;Heres an [inline link in pointy braces](/script?foo=1&amp;bar=2).">
</outline>

View file

@ -737,10 +737,6 @@ Just a [[/url/][URL]].
Foo [[/url/][bar]].
Foo [[/url/][bar]].
Foo [[/url/][bar]].
With [[/url/][embedded [brackets]]].
[[/url/][b]] by itself should be a link.

View file

@ -594,10 +594,6 @@ Reference
Foo bar.
Foo bar.
Foo bar.
With embedded [brackets].
b by itself should be a link.

View file

@ -783,10 +783,6 @@ Reference
Foo `bar </url/>`__.
Foo `bar </url/>`__.
Foo `bar </url/>`__.
With `embedded [brackets] </url/>`__.
`b </url/>`__ by itself should be a link.

View file

@ -350,14 +350,6 @@ Empty
bar
}}}
.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Foo {\field{\*\fldinst{HYPERLINK "/url/"}}{\fldrslt{\ul
bar
}}}
.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Foo {\field{\*\fldinst{HYPERLINK "/url/"}}{\fldrslt{\ul
bar
}}}
.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 With {\field{\*\fldinst{HYPERLINK "/url/"}}{\fldrslt{\ul
embedded [brackets]
}}}

View file

@ -754,8 +754,6 @@ These should not be escaped: \$ \\ \&gt; \[ \{
<div type="level2" id="reference">
<head>Reference</head>
<p>Foo <ref target="/url/">bar</ref>.</p>
<p>Foo <ref target="/url/">bar</ref>.</p>
<p>Foo <ref target="/url/">bar</ref>.</p>
<p>With <ref target="/url/">embedded [brackets]</ref>.</p>
<p><ref target="/url/">b</ref> by itself should be a link.</p>
<p>Indented <ref target="/url">once</ref>.</p>

View file

@ -939,10 +939,6 @@ Just a @uref{/url/,URL}.
@anchor{#reference}
Foo @uref{/url/,bar}.
Foo @uref{/url/,bar}.
Foo @uref{/url/,bar}.
With @uref{/url/,embedded [brackets]}.
@uref{/url/,b} by itself should be a link.

View file

@ -623,10 +623,6 @@ h2(#reference). Reference
Foo "bar":/url/.
Foo "bar":/url/.
Foo "bar":/url/.
With "embedded [brackets]":/url/.
"b":/url/ by itself should be a link.

View file

@ -538,10 +538,6 @@ Just a [[url/|URL]].
Foo [[url/|bar]].
Foo [[url/|bar]].
Foo [[url/|bar]].
With [[url/|embedded [brackets]]].
[[url/|b]] by itself should be a link.