pub struct MD059LinkText { /* private fields */ }Expand description
Rule MD059: Link text should be descriptive
See docs/md059.md for full documentation, configuration, and examples.
This rule enforces that markdown links use meaningful, descriptive text rather than generic phrases. It triggers when link text matches prohibited terms like “click here,” “here,” “link,” or “more.”
§Rationale
Descriptive link text is crucial for accessibility. Screen readers often present links without surrounding context, making generic text problematic for users relying on assistive technologies.
§Examples
<!-- Bad -->
[click here](docs.md)
[link](api.md)
[more](details.md)
<!-- Good -->
[API documentation](docs.md)
[Installation guide](install.md)
[Full details](details.md)§Configuration
[MD059]
prohibited_texts = ["click here", "here", "link", "more"]For non-English content, customize the prohibited texts:
[MD059]
prohibited_texts = ["hier klicken", "hier", "link", "mehr"]Implementations§
Source§impl MD059LinkText
impl MD059LinkText
Trait Implementations§
Source§impl Clone for MD059LinkText
impl Clone for MD059LinkText
Source§fn clone(&self) -> MD059LinkText
fn clone(&self) -> MD059LinkText
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 MD059LinkText
impl Default for MD059LinkText
Source§impl Rule for MD059LinkText
impl Rule for MD059LinkText
fn name(&self) -> &'static str
fn description(&self) -> &'static str
Source§fn category(&self) -> RuleCategory
fn category(&self) -> RuleCategory
Get the category of this rule for selective processing
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 fix_capability(&self) -> FixCapability
fn fix_capability(&self) -> FixCapability
Declares the fix capability of this rule
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.
fn check(&self, ctx: &LintContext<'_>) -> LintResult
fn fix(&self, ctx: &LintContext<'_>) -> Result<String, LintError>
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
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 cross_file_scope(&self) -> CrossFileScope
fn cross_file_scope(&self) -> CrossFileScope
Declares cross-file analysis requirements for this rule Read more
Source§fn contribute_to_index(
&self,
_ctx: &LintContext<'_>,
_file_index: &mut FileIndex,
)
fn contribute_to_index( &self, _ctx: &LintContext<'_>, _file_index: &mut FileIndex, )
Contribute data to the workspace index during linting Read more
Source§fn cross_file_check(
&self,
_file_path: &Path,
_file_index: &FileIndex,
_workspace_index: &WorkspaceIndex,
) -> LintResult
fn cross_file_check( &self, _file_path: &Path, _file_index: &FileIndex, _workspace_index: &WorkspaceIndex, ) -> LintResult
Perform cross-file validation after all files have been linted Read more
Auto Trait Implementations§
impl Freeze for MD059LinkText
impl RefUnwindSafe for MD059LinkText
impl Send for MD059LinkText
impl Sync for MD059LinkText
impl Unpin for MD059LinkText
impl UnwindSafe for MD059LinkText
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