pub struct MD054LinkImageStyle { /* private fields */ }Expand description
Rule MD054: Link and image style should be consistent
This rule is triggered when different link or image styles are used in the same document. Markdown supports various styles for links and images, and this rule enforces consistency.
§Supported Link Styles
- Autolink:
<https://example.com> - Inline:
[link text](https://example.com) - URL Inline: Special case of inline links where the URL itself is also the link text:
[https://example.com](https://example.com) - Shortcut:
[link text](requires a reference definition elsewhere in the document) - Collapsed:
[link text][](requires a reference definition with the same name) - Full:
[link text][reference](requires a reference definition for the reference)
§Configuration Options
You can configure which link styles are allowed. By default, all styles are allowed:
MD054:
autolink: true # Allow autolink style
inline: true # Allow inline style
url_inline: true # Allow URL inline style
shortcut: true # Allow shortcut style
collapsed: true # Allow collapsed style
full: true # Allow full styleTo enforce a specific style, set only that style to true and all others to false.
§Unicode Support
This rule fully supports Unicode characters in link text and URLs, including:
- Combining characters (e.g., café)
- Zero-width joiners (e.g., family emojis: 👨👩👧👦)
- Right-to-left text (e.g., Arabic, Hebrew)
- Emojis and other special characters
§Rationale
Consistent link styles improve document readability and maintainability. Different link styles have different advantages (e.g., inline links are self-contained, reference links keep the content cleaner), but mixing styles can create confusion.
Implementations§
Trait Implementations§
Source§impl Clone for MD054LinkImageStyle
impl Clone for MD054LinkImageStyle
Source§fn clone(&self) -> MD054LinkImageStyle
fn clone(&self) -> MD054LinkImageStyle
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MD054LinkImageStyle
impl Debug for MD054LinkImageStyle
Source§impl Default for MD054LinkImageStyle
impl Default for MD054LinkImageStyle
Source§fn default() -> MD054LinkImageStyle
fn default() -> MD054LinkImageStyle
Returns the “default value” for a type. Read more
Source§impl Rule for MD054LinkImageStyle
impl Rule for MD054LinkImageStyle
fn name(&self) -> &'static str
fn description(&self) -> &'static str
fn check(&self, ctx: &LintContext<'_>) -> LintResult
fn fix(&self, _ctx: &LintContext<'_>) -> Result<String, LintError>
Source§fn fix_capability(&self) -> FixCapability
fn fix_capability(&self) -> FixCapability
Declares the fix capability of this rule
Source§fn should_skip(&self, ctx: &LintContext<'_>) -> bool
fn should_skip(&self, ctx: &LintContext<'_>) -> bool
Check if this rule should quickly skip processing based on content
fn as_any(&self) -> &dyn Any
Source§fn default_config_section(&self) -> Option<(String, Value)>
fn default_config_section(&self) -> Option<(String, Value)>
Returns the rule name and default config table if the rule has config.
If a rule implements this, it MUST be defined on the
impl Rule for ... block,
not just the inherent impl.Source§fn from_config(config: &Config) -> Box<dyn Rule>where
Self: Sized,
fn from_config(config: &Config) -> Box<dyn Rule>where
Self: Sized,
Factory: create a rule from config (if present), or use defaults.
Source§fn category(&self) -> RuleCategory
fn category(&self) -> RuleCategory
Get the category of this rule for selective processing
Auto Trait Implementations§
impl Freeze for MD054LinkImageStyle
impl RefUnwindSafe for MD054LinkImageStyle
impl Send for MD054LinkImageStyle
impl Sync for MD054LinkImageStyle
impl Unpin for MD054LinkImageStyle
impl UnwindSafe for MD054LinkImageStyle
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more