pub struct MD042NoEmptyLinks {}Expand description
Rule MD042: No empty links
See docs/md042.md for full documentation, configuration, and examples.
This rule is triggered when a link has no content (text) or destination (URL).
§MkDocs Support
When flavor = "mkdocs" is configured, this rule recognizes two types of valid MkDocs patterns:
§1. Auto-References (via mkdocs-autorefs / mkdocstrings)
Backtick-wrapped Python identifiers used for cross-referencing:
[`module.Class`][] // Python class reference
[`str`][] // Built-in type reference
[`api.function`][] // Function referenceReferences:
§2. Paragraph Anchors (via Python-Markdown attr_list extension)
Empty links combined with attributes to create anchor points:
[](){ #my-anchor } // Basic anchor
[](){ #anchor .class } // Anchor with CSS class
[](){: #anchor } // With colon (canonical attr_list syntax)
[](){ .class1 .class2 } // Classes onlyThis syntax combines:
- Empty link
[]()→ creates<a href=""></a> - attr_list syntax
{ #id }→ adds attributes to preceding element - Result:
<a href="" id="my-anchor"></a>
References:
Implementation: See is_mkdocs_attribute_anchor
Implementations§
Trait Implementations§
Source§impl Clone for MD042NoEmptyLinks
impl Clone for MD042NoEmptyLinks
Source§fn clone(&self) -> MD042NoEmptyLinks
fn clone(&self) -> MD042NoEmptyLinks
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 Default for MD042NoEmptyLinks
impl Default for MD042NoEmptyLinks
Source§fn default() -> MD042NoEmptyLinks
fn default() -> MD042NoEmptyLinks
Returns the “default value” for a type. Read more
Source§impl Rule for MD042NoEmptyLinks
impl Rule for MD042NoEmptyLinks
Source§fn category(&self) -> RuleCategory
fn category(&self) -> RuleCategory
Get the category of this rule for selective processing
Source§fn should_skip(&self, ctx: &LintContext<'_>) -> bool
fn should_skip(&self, ctx: &LintContext<'_>) -> bool
Check if this rule should be skipped
fn name(&self) -> &'static str
fn description(&self) -> &'static str
fn check(&self, ctx: &LintContext<'_>) -> LintResult
fn fix(&self, ctx: &LintContext<'_>) -> Result<String, LintError>
fn as_any(&self) -> &dyn Any
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 check_with_ast(
&self,
ctx: &LintContext<'_>,
_ast: &MarkdownAst,
) -> LintResult
fn check_with_ast( &self, ctx: &LintContext<'_>, _ast: &MarkdownAst, ) -> LintResult
AST-based check method for rules that can benefit from shared AST parsing
By default, calls the regular check method if not overridden
fn as_maybe_ast(&self) -> Option<&dyn MaybeAst>
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 config_aliases(&self) -> Option<HashMap<String, String>>
fn config_aliases(&self) -> Option<HashMap<String, String>>
Returns config key aliases for this rule
This allows rules to accept alternative config key names for backwards compatibility
Source§fn fix_capability(&self) -> FixCapability
fn fix_capability(&self) -> FixCapability
Declares the fix capability of this rule
Auto Trait Implementations§
impl Freeze for MD042NoEmptyLinks
impl RefUnwindSafe for MD042NoEmptyLinks
impl Send for MD042NoEmptyLinks
impl Sync for MD042NoEmptyLinks
impl Unpin for MD042NoEmptyLinks
impl UnwindSafe for MD042NoEmptyLinks
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