skillfed

mkdocs-link-marker

MkDocs plugin for marking external or mail links in your documentation.

mkdocs-link-marker v0.3.0 1.0M downloads/30d#4,534 on PyPI9
Permissive license MIT Active released

What it is and what it does

mkdocs-link-marker is a MkDocs plugin that automatically decorates links in your documentation with visual markers. It intercepts the build process and adds icons next to external URLs and email addresses, making it immediately clear to readers which links leave the site or trigger an email client. The plugin works by integrating with MkDocs' plugin architecture and uses Jinja2 templating to inject the markers during rendering.

You configure it by adding it to your mkdocs.yml file, then control its behavior through simple options: enable or disable external link marking and email marking separately, and customize the icons used (defaulting to ⧉ for external links and ✉ for email). Once configured, it requires no further action—the markers appear automatically when you build your documentation.

Use it for:

  • Mark all external links in a documentation site to help users distinguish internal navigation from outbound links.
  • Add email icons to mailto: links so readers know they will open an email client.
  • Customize link markers to match your documentation's visual style or accessibility requirements.
  • Improve user experience in large documentation projects by making link destinations immediately obvious.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

A MkDocs plugin that automatically marks external links and email links in your documentation with configurable icons during the build process.

Yes. The plugin is lightweight, actively maintained, has no security vulnerabilities, and solves a real UX problem in documentation. Install it if you want automatic external and email link decoration in MkDocs without manual markup—it requires minimal configuration and has low install friction.

Install

mkdocs-link-marker on PyPI

pip

pip install mkdocs-link-marker

uv

uv add mkdocs-link-marker

poetry

poetry add mkdocs-link-marker

Installing mkdocs-link-marker

Before you install

Low friction install as a pure Python wheel with only mkdocs and jinja2 as runtime dependencies. Repository is active with recent commits and no known security vulnerabilities.

License in practice

MIT license permits commercial and private use with minimal restrictions; you may use, modify, and distribute this package freely as long as you include the license notice.

Quickstart

pip install mkdocs-link-marker

Then add to mkdocs.yml:
plugins:
  - link-marker

Run: mkdocs build

Verify before relying

  • Whether the plugin works with all current MkDocs versions or if there are known compatibility constraints.
  • Whether custom icon support extends beyond external links and mail links to other link types.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.4)
Install friction low — pure-Python wheel
Runtime dependencies 2 — mkdocs, jinja2
Maintenance actively maintained — 163 days since the last release
Last repo commit
First released
Downloads 1,002,188/month — #4,534 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: mkdocs_link_marker-0.3.0-py3-none-any.whl

Keywords: mkdocs, link, external

License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: DocumentationTopic :: Text Processing

Tags

mkdocs external link iconmark external links documentationmkdocs email link markerlink decoration mkdocs pluginexternal url indicator mkdocsdocument link styling plugin
mkdocs-pluginlink-decoration

More Text Processing packages

regex

A drop-in replacement for Python's standard…

permissive · top 100 on PyPI

pyparsing

pyparsing provides a library for building text…

permissive · top 1,000 on PyPI

docutils

Docutils converts plaintext documentation in…

unclear · top 1,000 on PyPI

RapidFuzz

RapidFuzz provides fast fuzzy string matching…

permissive · top 1,000 on PyPI

tinycss2

tinycss2 parses CSS strings into token and…

permissive · top 1,000 on PyPI

llama-parse

LlamaParse parses complex documents (PDFs,…

permissive · top 1,000 on PyPI

mkdocs-open-in-new-tab

A MkDocs plugin that injects JavaScript to…

permissive · top 15,000 on PyPI

mkdocs-video

A MkDocs plugin that embeds videos in…

permissive · top 15,000 on PyPI

mkdocs-meta-manager

A MkDocs plugin that automatically applies meta…

permissive · top 5,000 on PyPI

mkdocs-simple-hooks

A MkDocs plugin that lets you define custom…

permissive · top 15,000 on PyPI

mkdocs-material-extensions

Provides emoji and SVG icon extensions for…

permissive · top 5,000 on PyPI

mkdocs-macros-plugin

Extends MkDocs with Jinja2 templating to use…

permissive · top 5,000 on PyPI

mkdocs-task-collector

A MkDocs plugin that scans Markdown files for…

permissive · top 15,000 on PyPI

mkdocs-git-revision-date-plugin

Adds a Git-based revision date to MkDocs…

permissive · top 15,000 on PyPI

mkdocs-get-deps

Scans a MkDocs configuration file to…

permissive · top 5,000 on PyPI

mkdocs-plugin-inline-svg

A MkDocs plugin that replaces SVG image…

permissive · top 15,000 on PyPI