LinkHelper Class

Helpers to parse Markdown links.

public static class LinkHelper

Methods

NameDescription
IsValidDomain(string, int, bool)Determines whether valid domain.
TryParseAutolink(StringSlice, string?, bool)Attempts to parse autolink.
TryParseAutolink(StringSlice, string?, bool)Attempts to parse autolink.
TryParseInlineLink(StringSlice, string?, string?)Attempts to parse inline link.
TryParseInlineLink(StringSlice, string?, string?, SourceSpan, SourceSpan)Attempts to parse inline link.
TryParseInlineLink(StringSlice, string?, string?)Attempts to parse inline link.
TryParseInlineLink(StringSlice, string?, string?, SourceSpan, SourceSpan)Attempts to parse inline link.
TryParseInlineLinkTrivia(StringSlice, string?, SourceSpan, string?, SourceSpan, char, SourceSpan, SourceSpan, SourceSpan, SourceSpan, SourceSpan, bool)Attempts to parse inline link trivia.
TryParseLabel<T>(T, string?)Attempts to parse label t.
TryParseLabel<T>(T, string?, SourceSpan)Attempts to parse label t.
TryParseLabel<T>(T, bool, string?, SourceSpan)Attempts to parse label t.
TryParseLabel<T>(T, string?)Attempts to parse label t.
TryParseLabel<T>(T, string?, SourceSpan)Attempts to parse label t.
TryParseLabelTrivia<T>(T, bool, string?, SourceSpan)Attempts to parse label trivia t.
TryParseLabelTrivia<T>(T, string?, SourceSpan)Attempts to parse label trivia t.
TryParseLinkReferenceDefinition<T>(T, string?, string?, string?, SourceSpan, SourceSpan, SourceSpan)Attempts to parse link reference definition t.
TryParseLinkReferenceDefinitionTrivia<T>(T, SourceSpan, string?, SourceSpan, SourceSpan, string?, SourceSpan, bool, SourceSpan, string?, SourceSpan, char, NewLine, SourceSpan, SourceSpan, SourceSpan, SourceSpan)Attempts to parse link reference definition trivia t.
TryParseTitle<T>(T, string?)Attempts to parse title t.
TryParseTitle<T>(T, string?, char)Attempts to parse title t.
TryParseTitleTrivia<T>(T, string?, char)Attempts to parse title trivia t.
TryParseUrl<T>(T, string?)Attempts to parse url t.
TryParseUrl<T>(T, string?, bool, bool)Attempts to parse url t.
TryParseUrlTrivia<T>(T, string?, bool, bool)Attempts to parse url trivia t.
Urilize(ReadOnlySpan<char>, bool, bool)Performs the urilize operation.
Urilize(string, bool, bool)Performs the urilize operation.
UrilizeAsGfm(ReadOnlySpan<char>)Performs the urilize as gfm operation.
UrilizeAsGfm(string)Performs the urilize as gfm operation.

IsValidDomain(string, int, bool)

LinkHelper.cs

Determines whether valid domain.

public static bool IsValidDomain(string link, int prefixLength, bool allowDomainWithoutPeriod = false)

Parameters

link string
prefixLength int
allowDomainWithoutPeriod bool

Returns

bool

TryParseInlineLinkTrivia(StringSlice, string?, SourceSpan, string?, SourceSpan, char, SourceSpan, SourceSpan, SourceSpan, SourceSpan, SourceSpan, bool)

LinkHelper.cs

Attempts to parse inline link trivia.

public static bool TryParseInlineLinkTrivia(ref StringSlice text, out string? link, out SourceSpan unescapedLink, out string? title, out SourceSpan unescapedTitle, out char titleEnclosingCharacter, out SourceSpan linkSpan, out SourceSpan titleSpan, out SourceSpan triviaBeforeLink, out SourceSpan triviaAfterLink, out SourceSpan triviaAfterTitle, out bool urlHasPointyBrackets)

Parameters

text StringSlice
link string?
unescapedLink SourceSpan
title string?
unescapedTitle SourceSpan
titleEnclosingCharacter char
linkSpan SourceSpan
titleSpan SourceSpan
triviaBeforeLink SourceSpan
triviaAfterLink SourceSpan
triviaAfterTitle SourceSpan
urlHasPointyBrackets bool

Returns

bool

TryParseLabel overloads

TryParseLabel<T>(T, string?)

LinkHelper.cs

Attempts to parse label t.

public static bool TryParseLabel<T>(T lines, out string? label) where T : ICharIterator
Type parameters
T
Parameters
lines T
label string?
Returns

bool

TryParseLabel<T>(T, string?, SourceSpan)

LinkHelper.cs

Attempts to parse label t.

public static bool TryParseLabel<T>(T lines, out string? label, out SourceSpan labelSpan) where T : ICharIterator
Type parameters
T
Parameters
lines T
label string?
labelSpan SourceSpan
Returns

bool

TryParseLabel<T>(T, bool, string?, SourceSpan)

LinkHelper.cs

Attempts to parse label t.

public static bool TryParseLabel<T>(ref T lines, bool allowEmpty, out string? label, out SourceSpan labelSpan) where T : ICharIterator
Type parameters
T
Parameters
lines T
allowEmpty bool
label string?
labelSpan SourceSpan
Returns

bool

TryParseLabel<T>(T, string?)

LinkHelper.cs

Attempts to parse label t.

public static bool TryParseLabel<T>(ref T lines, out string? label) where T : ICharIterator
Type parameters
T
Parameters
lines T
label string?
Returns

bool

TryParseLabel<T>(T, string?, SourceSpan)

LinkHelper.cs

Attempts to parse label t.

public static bool TryParseLabel<T>(ref T lines, out string? label, out SourceSpan labelSpan) where T : ICharIterator
Type parameters
T
Parameters
lines T
label string?
labelSpan SourceSpan
Returns

bool

TryParseLabelTrivia overloads

TryParseLabelTrivia<T>(T, bool, string?, SourceSpan)

LinkHelper.cs

Attempts to parse label trivia t.

public static bool TryParseLabelTrivia<T>(ref T lines, bool allowEmpty, out string? label, out SourceSpan labelSpan) where T : ICharIterator
Type parameters
T
Parameters
lines T
allowEmpty bool
label string?
labelSpan SourceSpan
Returns

bool

TryParseLabelTrivia<T>(T, string?, SourceSpan)

LinkHelper.cs

Attempts to parse label trivia t.

public static bool TryParseLabelTrivia<T>(ref T lines, out string? label, out SourceSpan labelSpan) where T : ICharIterator
Type parameters
T
Parameters
lines T
label string?
labelSpan SourceSpan
Returns

bool

TryParseLinkReferenceDefinition<T>(T, string?, string?, string?, SourceSpan, SourceSpan, SourceSpan)

LinkHelper.cs

Attempts to parse link reference definition t.

public static bool TryParseLinkReferenceDefinition<T>(ref T text, out string? label, out string? url, out string? title, out SourceSpan labelSpan, out SourceSpan urlSpan, out SourceSpan titleSpan) where T : ICharIterator

Type parameters

T

Parameters

text T
label string?
url string?
title string?
labelSpan SourceSpan
urlSpan SourceSpan
titleSpan SourceSpan

Returns

bool

TryParseLinkReferenceDefinitionTrivia<T>(T, SourceSpan, string?, SourceSpan, SourceSpan, string?, SourceSpan, bool, SourceSpan, string?, SourceSpan, char, NewLine, SourceSpan, SourceSpan, SourceSpan, SourceSpan)

LinkHelper.cs

Attempts to parse link reference definition trivia t.

public static bool TryParseLinkReferenceDefinitionTrivia<T>(ref T text, out SourceSpan triviaBeforeLabel, out string? label, out SourceSpan labelWithTrivia, out SourceSpan triviaBeforeUrl, out string? url, out SourceSpan unescapedUrl, out bool urlHasPointyBrackets, out SourceSpan triviaBeforeTitle, out string? title, out SourceSpan unescapedTitle, out char titleEnclosingCharacter, out NewLine newLine, out SourceSpan triviaAfterTitle, out SourceSpan labelSpan, out SourceSpan urlSpan, out SourceSpan titleSpan) where T : ICharIterator

Type parameters

T

Parameters

text T
triviaBeforeLabel SourceSpan
label string?
labelWithTrivia SourceSpan
triviaBeforeUrl SourceSpan
url string?
unescapedUrl SourceSpan
urlHasPointyBrackets bool
triviaBeforeTitle SourceSpan
title string?
unescapedTitle SourceSpan
titleEnclosingCharacter char
newLine NewLine
triviaAfterTitle SourceSpan
labelSpan SourceSpan
urlSpan SourceSpan
titleSpan SourceSpan

Returns

bool

TryParseTitle overloads

TryParseTitle<T>(T, string?)

LinkHelper.cs

Attempts to parse title t.

public static bool TryParseTitle<T>(T text, out string? title) where T : ICharIterator
Type parameters
T
Parameters
text T
title string?
Returns

bool

TryParseTitle<T>(T, string?, char)

LinkHelper.cs

Attempts to parse title t.

public static bool TryParseTitle<T>(ref T text, out string? title, out char enclosingCharacter) where T : ICharIterator
Type parameters
T
Parameters
text T
title string?
enclosingCharacter char
Returns

bool

TryParseTitleTrivia<T>(T, string?, char)

LinkHelper.cs

Attempts to parse title trivia t.

public static bool TryParseTitleTrivia<T>(ref T text, out string? title, out char enclosingCharacter) where T : ICharIterator

Type parameters

T

Parameters

text T
title string?
enclosingCharacter char

Returns

bool

TryParseUrl overloads

TryParseUrl<T>(T, string?)

LinkHelper.cs

Attempts to parse url t.

public static bool TryParseUrl<T>(T text, out string? link) where T : ICharIterator
Type parameters
T
Parameters
text T
link string?
Returns

bool

TryParseUrl<T>(T, string?, bool, bool)

LinkHelper.cs

Attempts to parse url t.

public static bool TryParseUrl<T>(ref T text, out string? link, out bool hasPointyBrackets, bool isAutoLink = false) where T : ICharIterator
Type parameters
T
Parameters
text T
link string?
hasPointyBrackets bool
isAutoLink bool
Returns

bool

TryParseUrlTrivia<T>(T, string?, bool, bool)

LinkHelper.cs

Attempts to parse url trivia t.

public static bool TryParseUrlTrivia<T>(ref T text, out string? link, out bool hasPointyBrackets, bool isAutoLink = false) where T : ICharIterator

Type parameters

T

Parameters

text T
link string?
hasPointyBrackets bool
isAutoLink bool

Returns

bool

Urilize overloads

Urilize(ReadOnlySpan<char>, bool, bool)

LinkHelper.cs

Performs the urilize operation.

public static string Urilize(ReadOnlySpan<char> headingText, bool allowOnlyAscii, bool keepOpeningDigits = false)
Parameters
headingText ReadOnlySpan<char>
allowOnlyAscii bool
keepOpeningDigits bool
Returns

string

Urilize(string, bool, bool)

LinkHelper.cs

Performs the urilize operation.

public static string Urilize(string headingText, bool allowOnlyAscii, bool keepOpeningDigits = false)
Parameters
headingText string
allowOnlyAscii bool
keepOpeningDigits bool
Returns

string

UrilizeAsGfm overloads

UrilizeAsGfm(ReadOnlySpan<char>)

LinkHelper.cs

Performs the urilize as gfm operation.

public static string UrilizeAsGfm(ReadOnlySpan<char> headingText)
Parameters
headingText ReadOnlySpan<char>
Returns

string

UrilizeAsGfm(string)

LinkHelper.cs

Performs the urilize as gfm operation.

public static string UrilizeAsGfm(string headingText)
Parameters
headingText string
Returns

string