Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[new Rule] no links in headers #762

Closed
aepfli opened this issue Mar 31, 2023 · 6 comments
Closed

[new Rule] no links in headers #762

aepfli opened this issue Mar 31, 2023 · 6 comments
Labels

Comments

@aepfli
Copy link
Contributor

aepfli commented Mar 31, 2023

# heading with [link](link]

Although it is possible and it gets rendered correctly, links in headings provide a terrible user experience. Within rendered Markdown it is sometimes hard to grasp if a title is now a link or not.

Therefore, I suggest a rule called no-links-in-headings.

@aepfli
Copy link
Contributor Author

aepfli commented Mar 31, 2023

This rule is straightforward and not auto-fixable. If this is a rule fits the default set of markdownlint, i will gladly provide a pullrequest :)

// @ts-check

"use strict";

module.exports = {
  // eslint-disable-next-line no-warning-comments
  // TODO Adapt here
  "names": [ "no-links-in-headings" ],
  "description": "detects if links are hidden in headings",
  "information": new URL(
    "https://todo.add.url"
  ),
  "tags": [ "<tags>" ],
  "function": (params, onError) => {

    for (let i = 0; i < params.tokens.length - 1; i++) {
      const token = params.tokens[i];
      const nextToken = params.tokens[i + 1];
      if (token.type === "heading_open" &&
        nextToken.type === "inline") {
        for (const tokenChildren of nextToken.children) {
          if (tokenChildren.type === "link_open") {
            onError({
              "lineNumber": nextToken.lineNumber,
              "detail": nextToken.line,

              "context": "link in header",
              "range": [ 1, 1 ]
            });
          }
        }
      }
    }
  }
};

@DavidAnson
Copy link
Owner

This makes sense to me and seems reasonable as a built-in rule. I'll warn you now there's probably more to adding a rule then you expect. :) You can look at some previous PRs for context. Some first thoughts:

  • If you can find existing guidance that supports this rule, it would be good to have a look at. I searched very briefly, but didn't find anything.
  • This rule should detect both in-line links and reference links.
  • I will want you to implement this using the new/internal micromark support and helpers. You can refer to some of the rules I recently converted for an idea how to do that.
  • The range on the error should probably be the link itself, though I could be convinced it should be the entire heading if that's more like what existing rules do.
  • Please take the next highest MD000 number for this rule. The name you propose seems like a good start.
  • As soon as you have something working (even if it is standalone), it would be good to try it with the lint-test-repos script. I am expecting very few new violations to be reported, but if there are lots then I would like to understand why people are using this pattern and be sure it's reasonable to start telling them not to.

@aepfli
Copy link
Contributor Author

aepfli commented Mar 31, 2023

I am going down the rabbit hole :D and tried to find guidance regarding this rule.

As it was hard to find something, I thought of using ChatGPT - which sounded helpful, but sadly all mentioned articles seem to be of interest but are not accessible anymore.

There is no one definitive answer to whether using links within headings is good or bad practice in markdown and HTML, as it can depend on the context and specific use case.

In general, using links within headings can be useful for providing additional context and information for the heading, especially if the link is relevant to the content of the heading. It can also make it easier for readers to navigate to related content or sources.

However, some may argue that it can make the heading look cluttered or less visually appealing, and that it may be better to include the link elsewhere in the text. Additionally, if the link is broken or changes over time, it may make the heading less useful or accurate.

Ultimately, the decision to use links within headings should be based on the specific situation and what will best serve the needs of the content and audience.
Whole ChatGPT dialog

image

I also looked at the HTML Specification, and `a`-tags are allowed within headings.

So building a real rational explanation with a strong foundation will be hard. Additionally to the hard to find rational, the existing violations within the test-repos is also interesting.

Test Repos Result
https://github.com/eslint/eslint: Linting 386 files...
https://github.com/pi-hole/docs: Linting 83 files...
https://github.com/mkdocs/mkdocs: Linting 21 files...
https://github.com/electron/electron: Linting 227 files...
https://github.com/mochajs/mocha: Linting 18 files...
https://github.com/v8/v8.dev: Linting 242 files...
https://github.com/webpack/webpack.js.org: Linting 4 files...
test-repos/mkdocs-mkdocs/docs/about/release-notes.md: 133: MD054/no-links-in-headings Headings should not contain links [#### MkDocs is type-annotated, ready for use with [mypy](https://mypy.readthedocs.io/) (#2941, #2970)] [Context: "link in header"]
test-repos/mochajs-mocha/docs/index.md: 2167: MD054/no-links-in-headings Headings should not contain links [#### Options that differ slightly from [cli options](#command-line-usage):] [Context: "link in header"]
https://github.com/webhintio/hint: Linting 161 files...
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 17: MD054/no-links-in-headings Headings should not contain links [#### `CNAME_DEEP_INSPECT=true|false` (PR [#663](https://github.com/pi-hole/FTL/pull/663)) {#cname_deep_inspect data-toc-label='Deep CNAME inspection'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 21: MD054/no-links-in-headings Headings should not contain links [#### `BLOCK_ESNI=true|false` (PR [#733](https://github.com/pi-hole/FTL/pull/733)) {#block_esni data-toc-label='ESNI blocking'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 28: MD054/no-links-in-headings Headings should not contain links [#### `EDNS0_ECS=true|false` (PR [#851](https://github.com/pi-hole/FTL/pull/851)) {#block_edns0_ecs data-toc-label='EDNS ECS overwrite'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 35: MD054/no-links-in-headings Headings should not contain links [#### `RATE_LIMIT=1000/60` (PR [#1052](https://github.com/pi-hole/FTL/pull/1052)) {#rate_limit data-toc-label='Query rate limiting'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 47: MD054/no-links-in-headings Headings should not contain links [#### `LOCAL_IPV4=` (unset by default, PR [#1293](https://github.com/pi-hole/FTL/pull/1293)) {#local_ipv4 data-toc-label='Force local A reply'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 56: MD054/no-links-in-headings Headings should not contain links [#### `LOCAL_IPV6=` (unset by default, PR [#1293](https://github.com/pi-hole/FTL/pull/1293)) {#local_ipv6 data-toc-label='Force local AAAA reply'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 60: MD054/no-links-in-headings Headings should not contain links [#### `BLOCK_IPV4=` (unset by default, PR [#1293](https://github.com/pi-hole/FTL/pull/1293)) {#block_ipv4 data-toc-label='Force blocked A reply'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 67: MD054/no-links-in-headings Headings should not contain links [#### `BLOCK_IPV6=` (unset by default, PR [#1293](https://github.com/pi-hole/FTL/pull/1293)) {#block_ipv6 data-toc-label='Force blocked AAAA reply'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 71: MD054/no-links-in-headings Headings should not contain links [#### `REPLY_WHEN_BUSY=DROP|ALLOW|BLOCK|REFUSE` (PR [#1156](https://github.com/pi-hole/FTL/pull/1156) & PR [#1341](https://github.com/pi-hole/FTL/pull/1341)) {#reply_when_busy data-toc-label='Database busy reply'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 71: MD054/no-links-in-headings Headings should not contain links [#### `REPLY_WHEN_BUSY=DROP|ALLOW|BLOCK|REFUSE` (PR [#1156](https://github.com/pi-hole/FTL/pull/1156) & PR [#1341](https://github.com/pi-hole/FTL/pull/1341)) {#reply_when_busy data-toc-label='Database busy reply'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 82: MD054/no-links-in-headings Headings should not contain links [#### `MOZILLA_CANARY=true|false` (PR [#1148](https://github.com/pi-hole/FTL/pull/1148)) {#mozilla_canary data-toc-label='Mozilla canary domain handling'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 88: MD054/no-links-in-headings Headings should not contain links [#### `BLOCK_TTL=2` (PR [#1173](https://github.com/pi-hole/FTL/pull/1173)) {#block_ttl data-toc-label='Blocked domains lifetime'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 94: MD054/no-links-in-headings Headings should not contain links [#### `BLOCK_ICLOUD_PR=true|false` (PR [#1171](https://github.com/pi-hole/FTL/pull/1171)) {#icloud_private_relay data-toc-label='iCloud Private Relay domain handling'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 149: MD054/no-links-in-headings Headings should not contain links [#### `PIHOLE_PTR=PI.HOLE|HOSTNAME|HOSTNAMEFQDN|NONE` (PR [#1111](https://github.com/pi-hole/FTL/pull/1111), [#1164](https://github.com/pi-hole/FTL/pull/1164)) {#pihole_ptr data-toc-label='Pi-hole PTR'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 149: MD054/no-links-in-headings Headings should not contain links [#### `PIHOLE_PTR=PI.HOLE|HOSTNAME|HOSTNAMEFQDN|NONE` (PR [#1111](https://github.com/pi-hole/FTL/pull/1111), [#1164](https://github.com/pi-hole/FTL/pull/1164)) {#pihole_ptr data-toc-label='Pi-hole PTR'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 160: MD054/no-links-in-headings Headings should not contain links [#### `DELAY_STARTUP=0` (PR [#716](https://github.com/pi-hole/FTL/pull/716), PR [1349](https://github.com/pi-hole/FTL/pull/1349)) {#delay_startup data-toc-label='Delay resolver startup'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 160: MD054/no-links-in-headings Headings should not contain links [#### `DELAY_STARTUP=0` (PR [#716](https://github.com/pi-hole/FTL/pull/716), PR [1349](https://github.com/pi-hole/FTL/pull/1349)) {#delay_startup data-toc-label='Delay resolver startup'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 164: MD054/no-links-in-headings Headings should not contain links [#### `NICE=-10` (PR [#798](https://github.com/pi-hole/FTL/pull/798)) {#nice data-toc-label='Set niceness'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 174: MD054/no-links-in-headings Headings should not contain links [#### `MAXNETAGE=[MAXDBDAYS]` (PR [#871](https://github.com/pi-hole/FTL/pull/871)) {#maxnetage data-toc-label='Network table cleaning'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 181: MD054/no-links-in-headings Headings should not contain links [#### `NAMES_FROM_NETDB=true|false` (PR [#784](https://github.com/pi-hole/FTL/pull/784)) {#names_from_netdb data-toc-label='Load names from network table'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 193: MD054/no-links-in-headings Headings should not contain links [#### `REFRESH_HOSTNAMES=IPV4|ALL|UNKNOWN|NONE` (PR [#953](https://github.com/pi-hole/FTL/pull/953)) {#refresh_hostnames data-toc-label='Refresh hostnames'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 206: MD054/no-links-in-headings Headings should not contain links [#### `PARSE_ARP_CACHE=true|false` (PR [#445](https://github.com/pi-hole/FTL/pull/445)) {#parse_arp_cache data-toc-label='Parse ARP cache'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 210: MD054/no-links-in-headings Headings should not contain links [#### `CHECK_LOAD=true|false` (PR [#1249](https://github.com/pi-hole/FTL/pull/1249)) {#check_load data-toc-label='Check system load'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 216: MD054/no-links-in-headings Headings should not contain links [#### `CHECK_SHMEM=90` (PR [#1249](https://github.com/pi-hole/FTL/pull/1249)) {#check_shmem data-toc-label='Check shared-memory limits'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 222: MD054/no-links-in-headings Headings should not contain links [#### `CHECK_DISK=90` (PR [#1249](https://github.com/pi-hole/FTL/pull/1249)) {#check_disk data-toc-label='Check disk space'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 348: MD054/no-links-in-headings Headings should not contain links [#### `DEBUG_VECTORS=false|true` (PR [#725](https://github.com/pi-hole/FTL/pull/725)) {#debug_vectors data-toc-label='Vectors'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 352: MD054/no-links-in-headings Headings should not contain links [#### `DEBUG_RESOLVER=false|true` (PR [#728](https://github.com/pi-hole/FTL/pull/728)) {#debug_resolver data-toc-label='Resolver details'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 356: MD054/no-links-in-headings Headings should not contain links [#### `DEBUG_EDNS0=false|true` (PR [#851](https://github.com/pi-hole/FTL/pull/851)) {#debug_edns0 data-toc-label='EDNS(0) data'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 360: MD054/no-links-in-headings Headings should not contain links [#### `DEBUG_CLIENTS=false|true` (PR [#762](https://github.com/pi-hole/FTL/pull/762)) {#debug_clients data-toc-label='Clients'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 364: MD054/no-links-in-headings Headings should not contain links [#### `DEBUG_ALIASCLIENTS=false|true` (PR [#880](https://github.com/pi-hole/FTL/pull/880)) {#debug_aliasclients data-toc-label='Aliasclients'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 368: MD054/no-links-in-headings Headings should not contain links [#### `DEBUG_EVENTS=false|true` (PR [#881](https://github.com/pi-hole/FTL/pull/881)) {#debug_events data-toc-label='Events'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 372: MD054/no-links-in-headings Headings should not contain links [#### `DEBUG_HELPER=false|true` (PR [#914](https://github.com/pi-hole/FTL/pull/914)) {#debug_helper data-toc-label='Script helpers'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 376: MD054/no-links-in-headings Headings should not contain links [#### `ADDR2LINE=true|false` (PR [#774](https://github.com/pi-hole/FTL/pull/774)) {#addr2line data-toc-label='Addr2Line'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 380: MD054/no-links-in-headings Headings should not contain links [#### `DEBUG_EXTRA=false|true` (PR [#994](https://github.com/pi-hole/FTL/pull/994)) {#debug_extra data-toc-label='Misc.'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 386: MD054/no-links-in-headings Headings should not contain links [#### `REPLY_ADDR4=` (unset by default, PR [#965](https://github.com/pi-hole/FTL/pull/965)) {#reply_addr4 data-toc-label='Force A reply'}] [Context: "link in header"]
test-repos/pi-hole-docs/docs/ftldns/configfile.md: 392: MD054/no-links-in-headings Headings should not contain links [#### `REPLY_ADDR6=` (unset by default, PR [#965](https://github.com/pi-hole/FTL/pull/965)) {#reply_addr6 data-toc-label='Force AAAA reply'}] [Context: "link in header"]

https://github.com/apache/airflow: Linting 57 files...
test-repos/apache-airflow/airflow/www/static/js/README.md: 24: MD054/no-links-in-headings Headings should not contain links [## [React](https://reactjs.org/)] [Context: "link in header"]
test-repos/apache-airflow/airflow/www/static/js/README.md: 30: MD054/no-links-in-headings Headings should not contain links [## [Chakra UI](https://chakra-ui.com/)] [Context: "link in header"]
test-repos/apache-airflow/airflow/www/static/js/README.md: 35: MD054/no-links-in-headings Headings should not contain links [## [React Query](https://react-query.tanstack.com/)] [Context: "link in header"]
test-repos/apache-airflow/airflow/www/static/js/README.md: 41: MD054/no-links-in-headings Headings should not contain links [## [React Testing Library](https://testing-library.com/docs/react-testing-library/intro/)] [Context: "link in header"]
test-repos/electron-electron/CONTRIBUTING.md: 13: MD054/no-links-in-headings Headings should not contain links [## [Issues](https://electronjs.org/docs/development/issues)] [Context: "link in header"]
test-repos/electron-electron/CONTRIBUTING.md: 41: MD054/no-links-in-headings Headings should not contain links [## [Pull Requests](https://electronjs.org/docs/development/pull-requests)] [Context: "link in header"]
test-repos/electron-electron/docs/tutorial/launch-app-from-url-in-another-app.md: 129: MD054/no-links-in-headings Headings should not contain links [#### [Electron Forge](https://electronforge.io)] [Context: "link in header"]
test-repos/electron-electron/docs/tutorial/launch-app-from-url-in-another-app.md: 161: MD054/no-links-in-headings Headings should not contain links [#### [Electron Packager](https://github.com/electron/electron-packager)] [Context: "link in header"]

test-repos/v8-v8-dev/src/blog/optimizing-proxies.md: 123: MD054/no-links-in-headings Headings should not contain links [### Results from [jsdom-proxy-benchmark](https://github.com/domenic/jsdom-proxy-benchmark)] [Context: "link in header"]
test-repos/v8-v8-dev/src/blog/optimizing-proxies.md: 143: MD054/no-links-in-headings Headings should not contain links [### Results from [Chai.js](https://chaijs.com/)] [Context: "link in header"]
test-repos/v8-v8-dev/src/docs/embed.md: 74: MD054/no-links-in-headings Headings should not contain links [### [`process.cc`](https://github.com/v8/v8/blob/master/samples/process.cc)] [Context: "link in header"]
test-repos/v8-v8-dev/src/docs/embed.md: 78: MD054/no-links-in-headings Headings should not contain links [### [`shell.cc`](https://github.com/v8/v8/blob/master/samples/shell.cc)] [Context: "link in header"]
test-repos/v8-v8-dev/src/docs/linux-perf.md: 22: MD054/no-links-in-headings Headings should not contain links [## Profiling `d8` with [`linux-perf-d8.py`](https://source.chromium.org/search?q=linux-perf-d8.py)] [Context: "link in header"]
test-repos/v8-v8-dev/src/docs/linux-perf.md: 51: MD054/no-links-in-headings Headings should not contain links [## Profiling Chrome or content_shell with [linux-perf-chrome.py](https://source.chromium.org/search?q=linux-perf-chrome.py)] [Context: "link in header"]
test-repos/v8-v8-dev/src/docs/merge-patch.md: 50: MD054/no-links-in-headings Headings should not contain links [### Option 1: Using [gerrit](https://chromium-review.googlesource.com/)] [Context: "link in header"]
test-repos/v8-v8-dev/src/docs/merge-patch.md: 77: MD054/no-links-in-headings Headings should not contain links [### After landing: Observe the [branch waterfall](https://ci.chromium.org/p/v8)] [Context: "link in header"]

test-repos/eslint-eslint/docs/src/contribute/index.md: 13: MD054/no-links-in-headings Headings should not contain links [## Read the [Code of Conduct](https://eslint.org/conduct)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/contribute/index.md: 17: MD054/no-links-in-headings Headings should not contain links [## [Report Bugs](report-bugs)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/contribute/index.md: 21: MD054/no-links-in-headings Headings should not contain links [## [Propose a New Rule](propose-new-rule)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/contribute/index.md: 25: MD054/no-links-in-headings Headings should not contain links [## [Propose a Rule Change](propose-rule-change)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/contribute/index.md: 29: MD054/no-links-in-headings Headings should not contain links [## [Request a Change](request-change)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/contribute/index.md: 33: MD054/no-links-in-headings Headings should not contain links [## [Architecture](architecture)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/contribute/index.md: 37: MD054/no-links-in-headings Headings should not contain links [## [Set up a Development Environment](development-environment)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/contribute/index.md: 41: MD054/no-links-in-headings Headings should not contain links [## [Run the Tests](tests)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/contribute/index.md: 45: MD054/no-links-in-headings Headings should not contain links [## [Work on Issues](work-on-issue)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/contribute/index.md: 49: MD054/no-links-in-headings Headings should not contain links [## [Submit a Pull Request](pull-requests)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/contribute/index.md: 53: MD054/no-links-in-headings Headings should not contain links [## [Contribute to Core Rules](core-rules)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/contribute/index.md: 57: MD054/no-links-in-headings Headings should not contain links [## [Governance](governance)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/contribute/index.md: 61: MD054/no-links-in-headings Headings should not contain links [## [Report a Security Vulnerability](report-security-vulnerability)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/extend/index.md: 20: MD054/no-links-in-headings Headings should not contain links [## [Ways to Extend ESLint](ways-to-extend)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/extend/index.md: 24: MD054/no-links-in-headings Headings should not contain links [## [Create Plugins](plugins)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/extend/index.md: 28: MD054/no-links-in-headings Headings should not contain links [## [Custom Rules](custom-rules)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/extend/index.md: 32: MD054/no-links-in-headings Headings should not contain links [## [Custom Formatters](custom-formatters)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/extend/index.md: 36: MD054/no-links-in-headings Headings should not contain links [## [Custom Parsers](custom-parsers)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/extend/index.md: 40: MD054/no-links-in-headings Headings should not contain links [## [Custom Processors](custom-processors)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/extend/index.md: 44: MD054/no-links-in-headings Headings should not contain links [## [Share Configurations](shareable-configs)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/extend/index.md: 48: MD054/no-links-in-headings Headings should not contain links [## [Node.js API Reference](../integrate/nodejs-api)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/maintain/index.md: 12: MD054/no-links-in-headings Headings should not contain links [## [How ESLint is Maintained](overview)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/maintain/index.md: 16: MD054/no-links-in-headings Headings should not contain links [## [Manage Issues](manage-issues)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/maintain/index.md: 20: MD054/no-links-in-headings Headings should not contain links [## [Review Pull Requests](review-pull-requests)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/maintain/index.md: 24: MD054/no-links-in-headings Headings should not contain links [## [Manage Releases](manage-releases)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/maintain/index.md: 28: MD054/no-links-in-headings Headings should not contain links [## [Working Groups](working-groups)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/pages/index.md: 8: MD054/no-links-in-headings Headings should not contain links [## [Use ESLint in Your Project](use/)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/pages/index.md: 13: MD054/no-links-in-headings Headings should not contain links [## [Extend ESLint](extend/)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/pages/index.md: 17: MD054/no-links-in-headings Headings should not contain links [## [Contribute to ESLint](contribute/)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/pages/index.md: 21: MD054/no-links-in-headings Headings should not contain links [## [Maintain ESLint](maintain/)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/use/index.md: 11: MD054/no-links-in-headings Headings should not contain links [## [Getting Started](getting-started)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/use/index.md: 15: MD054/no-links-in-headings Headings should not contain links [## [Core Concepts](core-concepts)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/use/index.md: 19: MD054/no-links-in-headings Headings should not contain links [## [Configure ESLint](configure/)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/use/index.md: 23: MD054/no-links-in-headings Headings should not contain links [## [Command Line Interface Reference](command-line-interface)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/use/index.md: 27: MD054/no-links-in-headings Headings should not contain links [## [Rules Reference](../rules/)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/use/index.md: 31: MD054/no-links-in-headings Headings should not contain links [## [Formatters Reference](formatters)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/use/index.md: 35: MD054/no-links-in-headings Headings should not contain links [## [Integrations](integrations)] [Context: "link in header"]
test-repos/eslint-eslint/docs/src/use/index.md: 39: MD054/no-links-in-headings Headings should not contain links [## [Rule Deprecation](rule-deprecation)] [Context: "link in header"]
https://github.com/dotnet/docs: Linting 13676 files...
https://github.com/mdn/content: Linting 11524 files...
test-repos/dotnet-docs/docs/architecture/devops-for-aspnet-developers/index.md: 73: MD054/no-links-in-headings Headings should not contain links [### [Tools and downloads](xref:azure/devops/tools-and-downloads)] [Context: "link in header"]
test-repos/dotnet-docs/docs/architecture/devops-for-aspnet-developers/index.md: 77: MD054/no-links-in-headings Headings should not contain links [### [Deploy to App Service](xref:azure/devops/deploy-to-app-service)] [Context: "link in header"]
test-repos/dotnet-docs/docs/architecture/devops-for-aspnet-developers/index.md: 81: MD054/no-links-in-headings Headings should not contain links [### [Continuous integration and deployment with Azure DevOps](xref:azure/devops/cicd)] [Context: "link in header"]
test-repos/dotnet-docs/docs/architecture/devops-for-aspnet-developers/index.md: 85: MD054/no-links-in-headings Headings should not contain links [### [Continuous integration and deployment with GitHub Actions](xref:azure/devops/github-actions)] [Context: "link in header"]
test-repos/dotnet-docs/docs/architecture/devops-for-aspnet-developers/index.md: 89: MD054/no-links-in-headings Headings should not contain links [### [Monitor and debug](xref:azure/devops/monitor)] [Context: "link in header"]
test-repos/dotnet-docs/docs/architecture/devops-for-aspnet-developers/index.md: 93: MD054/no-links-in-headings Headings should not contain links [### [Next steps](xref:azure/devops/next-steps)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/authentication-azure-hosted-apps.md: 30: MD054/no-links-in-headings Headings should not contain links [### [Azure portal](#tab/azure-portal)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/authentication-azure-hosted-apps.md: 38: MD054/no-links-in-headings Headings should not contain links [### [Azure CLI](#tab/azure-cli)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/authentication-azure-hosted-apps.md: 66: MD054/no-links-in-headings Headings should not contain links [### [Azure portal](#tab/azure-portal)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/authentication-azure-hosted-apps.md: 78: MD054/no-links-in-headings Headings should not contain links [### [Azure CLI](#tab/azure-cli)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/authentication-local-development-dev-accounts.md: 29: MD054/no-links-in-headings Headings should not contain links [### [Azure portal](#tab/azure-portal)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/authentication-local-development-dev-accounts.md: 40: MD054/no-links-in-headings Headings should not contain links [### [Azure CLI](#tab/azure-cli)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/authentication-local-development-dev-accounts.md: 74: MD054/no-links-in-headings Headings should not contain links [### [Azure portal](#tab/azure-portal)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/authentication-local-development-dev-accounts.md: 86: MD054/no-links-in-headings Headings should not contain links [### [Azure CLI](#tab/azure-cli)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/authentication-local-development-dev-accounts.md: 119: MD054/no-links-in-headings Headings should not contain links [### [Visual Studio](#tab/sign-in-visual-studio)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/authentication-local-development-dev-accounts.md: 127: MD054/no-links-in-headings Headings should not contain links [### [VS Code Azure Tools extension](#tab/sign-in-vscode)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/authentication-local-development-dev-accounts.md: 138: MD054/no-links-in-headings Headings should not contain links [### [Azure CLI](#tab/sign-in-azure-cli)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/authentication-local-development-dev-accounts.md: 146: MD054/no-links-in-headings Headings should not contain links [### [Azure PowerShell](#tab/sign-in-azure-powershell)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/authentication-local-development-service-principal.md: 28: MD054/no-links-in-headings Headings should not contain links [### [Azure portal](#tab/azure-portal)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/authentication-local-development-service-principal.md: 42: MD054/no-links-in-headings Headings should not contain links [### [Azure CLI](#tab/azure-cli)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/authentication-local-development-service-principal.md: 73: MD054/no-links-in-headings Headings should not contain links [### [Azure portal](#tab/azure-portal)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/authentication-local-development-service-principal.md: 84: MD054/no-links-in-headings Headings should not contain links [### [Azure CLI](#tab/azure-cli)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/authentication-local-development-service-principal.md: 118: MD054/no-links-in-headings Headings should not contain links [### [Azure portal](#tab/azure-portal)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/authentication-local-development-service-principal.md: 130: MD054/no-links-in-headings Headings should not contain links [### [Azure CLI](#tab/azure-cli)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/authentication-local-development-service-principal.md: 170: MD054/no-links-in-headings Headings should not contain links [### [Visual Studio](#tab/visual-studio)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/authentication-local-development-service-principal.md: 201: MD054/no-links-in-headings Headings should not contain links [### [VS Code](#tab/vs-code)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/authentication-local-development-service-principal.md: 217: MD054/no-links-in-headings Headings should not contain links [### [Windows](#tab/windows)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/authentication-on-premises-apps.md: 19: MD054/no-links-in-headings Headings should not contain links [### [Azure portal](#tab/azure-portal)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/authentication-on-premises-apps.md: 33: MD054/no-links-in-headings Headings should not contain links [### [Azure CLI](#tab/azure-cli)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/authentication-on-premises-apps.md: 56: MD054/no-links-in-headings Headings should not contain links [### [Azure portal](#tab/azure-portal)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/authentication-on-premises-apps.md: 68: MD054/no-links-in-headings Headings should not contain links [### [Azure CLI](#tab/azure-cli)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/authentication-on-premises-apps.md: 108: MD054/no-links-in-headings Headings should not contain links [### [IIS](#tab/iis-app-pool)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/authentication-on-premises-apps.md: 134: MD054/no-links-in-headings Headings should not contain links [### [Windows](#tab/windows)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/azure-sdk-configure-proxy.md: 19: MD054/no-links-in-headings Headings should not contain links [### [cmd](#tab/cmd)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/azure-sdk-configure-proxy.md: 35: MD054/no-links-in-headings Headings should not contain links [### [bash](#tab/bash)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/includes/enable-managed-identity-azure-cli.md: 4: MD054/no-links-in-headings Headings should not contain links [#### [Azure App Service](#tab/azure-app-service)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/includes/enable-managed-identity-azure-cli.md: 10: MD054/no-links-in-headings Headings should not contain links [#### [Azure Virtual Machines](#tab/azure-virtual-machines)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/includes/implement-defaultazurecredential.md: 7: MD054/no-links-in-headings Headings should not contain links [### [Command Line](#tab/command-line)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/includes/implement-defaultazurecredential.md: 16: MD054/no-links-in-headings Headings should not contain links [### [NuGet Package Manager](#tab/nuget-package)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/resource-management.md: 34: MD054/no-links-in-headings Headings should not contain links [# [PowerShell](#tab/PowerShell)] [Context: "link in header"]
test-repos/dotnet-docs/docs/azure/sdk/resource-management.md: 43: MD054/no-links-in-headings Headings should not contain links [# [.NET CLI](#tab/dotnetcli)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/additional-tools/dotnet-svcutil-guide.md: 20: MD054/no-links-in-headings Headings should not contain links [# [dotnet-svcutil 2.x](#tab/dotnetsvcutil2x)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/additional-tools/dotnet-svcutil-guide.md: 25: MD054/no-links-in-headings Headings should not contain links [# [dotnet-svcutil 1.x](#tab/dotnetsvcutil1x)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/additional-tools/dotnet-svcutil-guide.md: 64: MD054/no-links-in-headings Headings should not contain links [    # [dotnet-svcutil 2.x](#tab/dotnetsvcutil2x)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/additional-tools/dotnet-svcutil-guide.md: 70: MD054/no-links-in-headings Headings should not contain links [    # [dotnet-svcutil 1.x](#tab/dotnetsvcutil1x)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/additional-tools/dotnet-svcutil-guide.md: 90: MD054/no-links-in-headings Headings should not contain links [    # [dotnet-svcutil 2.x](#tab/dotnetsvcutil2x)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/additional-tools/dotnet-svcutil-guide.md: 96: MD054/no-links-in-headings Headings should not contain links [    # [dotnet-svcutil 1.x](#tab/dotnetsvcutil1x)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/additional-tools/dotnet-svcutil-guide.md: 155: MD054/no-links-in-headings Headings should not contain links [# [dotnet-svcutil 2.x](#tab/dotnetsvcutil2x)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/additional-tools/dotnet-svcutil-guide.md: 161: MD054/no-links-in-headings Headings should not contain links [# [dotnet-svcutil 1.x](#tab/dotnetsvcutil1x)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/additional-tools/uninstall-tool.md: 79: MD054/no-links-in-headings Headings should not contain links [## [Windows](#tab/windows)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/additional-tools/uninstall-tool.md: 85: MD054/no-links-in-headings Headings should not contain links [## [macOS](#tab/macos)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/additional-tools/uninstall-tool.md: 101: MD054/no-links-in-headings Headings should not contain links [## [Windows](#tab/windows)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/additional-tools/uninstall-tool.md: 131: MD054/no-links-in-headings Headings should not contain links [## [macOS](#tab/macos)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/additional-tools/uninstall-tool.md: 188: MD054/no-links-in-headings Headings should not contain links [## [Windows](#tab/windows)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/additional-tools/uninstall-tool.md: 260: MD054/no-links-in-headings Headings should not contain links [## [macOS](#tab/macos)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/additional-tools/uninstall-tool.md: 353: MD054/no-links-in-headings Headings should not contain links [## [Windows](#tab/windows)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/additional-tools/uninstall-tool.md: 429: MD054/no-links-in-headings Headings should not contain links [## [macOS](#tab/macos)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/deploying/deploy-with-vs.md: 105: MD054/no-links-in-headings Headings should not contain links [# [Visual Studio 15.6 and earlier](#tab/vs156)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/deploying/deploy-with-vs.md: 171: MD054/no-links-in-headings Headings should not contain links [# [Visual Studio 15.7 and later](#tab/vs157)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/deploying/deploy-with-vs.md: 269: MD054/no-links-in-headings Headings should not contain links [# [Visual Studio 15.6 and earlier](#tab/vs156)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/deploying/deploy-with-vs.md: 284: MD054/no-links-in-headings Headings should not contain links [# [Visual Studio 15.7 and later](#tab/vs157)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/deploying/single-file/overview.md: 46: MD054/no-links-in-headings Headings should not contain links [# [CLI](#tab/cli)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/deploying/single-file/overview.md: 78: MD054/no-links-in-headings Headings should not contain links [# [Visual Studio](#tab/vs)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/deploying/single-file/overview.md: 108: MD054/no-links-in-headings Headings should not contain links [# [Visual Studio for Mac](#tab/vsmac)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/diagnostics/debug-deadlock.md: 54: MD054/no-links-in-headings Headings should not contain links [### [Linux](#tab/linux)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/diagnostics/debug-deadlock.md: 60: MD054/no-links-in-headings Headings should not contain links [### [Windows](#tab/windows)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/diagnostics/debug-highcpu.md: 131: MD054/no-links-in-headings Headings should not contain links [### [Linux](#tab/linux)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/diagnostics/debug-highcpu.md: 169: MD054/no-links-in-headings Headings should not contain links [### [Windows](#tab/windows)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/diagnostics/metrics-collection.md: 287: MD054/no-links-in-headings Headings should not contain links [## Create a custom collection tool using the .NET <xref:System.Diagnostics.Metrics.MeterListener> API] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/docker/build-container.md: 114: MD054/no-links-in-headings Headings should not contain links [#### [Windows](#tab/windows)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/docker/build-container.md: 132: MD054/no-links-in-headings Headings should not contain links [#### [Linux](#tab/linux)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/docker/build-container.md: 377: MD054/no-links-in-headings Headings should not contain links [#### [Windows](#tab/windows)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/docker/build-container.md: 404: MD054/no-links-in-headings Headings should not contain links [#### [Linux](#tab/linux)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/extensions/logging.md: 98: MD054/no-links-in-headings Headings should not contain links [## [Command Line](#tab/command-line)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/extensions/logging.md: 114: MD054/no-links-in-headings Headings should not contain links [## [PowerShell](#tab/powershell)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/extensions/logging.md: 132: MD054/no-links-in-headings Headings should not contain links [## [Bash](#tab/bash)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/install/windows.md: 269: MD054/no-links-in-headings Headings should not contain links [# [.NET 7](#tab/net70)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/install/windows.md: 287: MD054/no-links-in-headings Headings should not contain links [# [.NET 6](#tab/net60)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/porting/upgrade-assistant-telemetry.md: 15: MD054/no-links-in-headings Headings should not contain links [### [Console](#tab/console)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/porting/upgrade-assistant-telemetry.md: 31: MD054/no-links-in-headings Headings should not contain links [### [PowerShell](#tab/powershell)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/porting/upgrade-assistant-telemetry.md: 47: MD054/no-links-in-headings Headings should not contain links [### [Bash](#tab/bash)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/testing/unit-testing-code-coverage.md: 137: MD054/no-links-in-headings Headings should not contain links [## [Linux](#tab/linux)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/testing/unit-testing-code-coverage.md: 143: MD054/no-links-in-headings Headings should not contain links [## [Windows](#tab/windows)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/tools/elevated-access.md: 25: MD054/no-links-in-headings Headings should not contain links [# [Windows](#tab/windows)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/tools/elevated-access.md: 69: MD054/no-links-in-headings Headings should not contain links [# [Linux](#tab/linux)] [Context: "link in header"]
test-repos/dotnet-docs/docs/core/tools/elevated-access.md: 73: MD054/no-links-in-headings Headings should not contain links [# [macOS](#tab/macos)] [Context: "link in header"]
test-repos/dotnet-docs/docs/csharp/programming-guide/concepts/linq/how-to-use-expression-trees-to-build-dynamic-queries.md: 72: MD054/no-links-in-headings Headings should not contain links [### Constructing an [Expression\<TDelegate>](xref:System.Linq.Expressions.Expression%601)] [Context: "link in header"]
test-repos/dotnet-docs/docs/csharp/programming-guide/concepts/linq/how-to-use-expression-trees-to-build-dynamic-queries.md: 135: MD054/no-links-in-headings Headings should not contain links [## Add method call nodes to the <xref:System.Linq.IQueryable>'s expression tree] [Context: "link in header"]
test-repos/dotnet-docs/docs/csharp/roslyn-sdk/syntax-visualizer.md: 28: MD054/no-links-in-headings Headings should not contain links [# [C#](#tab/csharp)] [Context: "link in header"]
test-repos/dotnet-docs/docs/csharp/roslyn-sdk/syntax-visualizer.md: 32: MD054/no-links-in-headings Headings should not contain links [# [Visual Basic](#tab/vb)] [Context: "link in header"]
test-repos/dotnet-docs/docs/csharp/roslyn-sdk/syntax-visualizer.md: 59: MD054/no-links-in-headings Headings should not contain links [# [C#](#tab/csharp)] [Context: "link in header"]
test-repos/dotnet-docs/docs/csharp/roslyn-sdk/syntax-visualizer.md: 65: MD054/no-links-in-headings Headings should not contain links [# [Visual Basic](#tab/vb)] [Context: "link in header"]
test-repos/dotnet-docs/docs/csharp/tour-of-csharp/tutorials/index.md: 36: MD054/no-links-in-headings Headings should not contain links [## [Hello world](hello-world.yml)] [Context: "link in header"]
test-repos/dotnet-docs/docs/csharp/tour-of-csharp/tutorials/index.md: 41: MD054/no-links-in-headings Headings should not contain links [## [Numbers in C#](numbers-in-csharp.yml)] [Context: "link in header"]
test-repos/dotnet-docs/docs/csharp/tour-of-csharp/tutorials/index.md: 51: MD054/no-links-in-headings Headings should not contain links [## [Branches and loops](branches-and-loops.yml)] [Context: "link in header"]
test-repos/dotnet-docs/docs/csharp/tour-of-csharp/tutorials/index.md: 62: MD054/no-links-in-headings Headings should not contain links [## [List collection](list-collection.yml)] [Context: "link in header"]
test-repos/dotnet-docs/docs/csharp/tour-of-csharp/tutorials/index.md: 70: MD054/no-links-in-headings Headings should not contain links [## [101 Linq Samples](https://github.com/dotnet/try-samples/tree/main/101-linq-samples)] [Context: "link in header"]
test-repos/dotnet-docs/docs/devops/dotnet-cli-and-continuous-integration.md: 48: MD054/no-links-in-headings Headings should not contain links [### [PowerShell](#tab/powershell)] [Context: "link in header"]
test-repos/dotnet-docs/docs/devops/dotnet-cli-and-continuous-integration.md: 95: MD054/no-links-in-headings Headings should not contain links [### [Bash](#tab/bash)] [Context: "link in header"]
test-repos/dotnet-docs/docs/fundamentals/code-analysis/overview.md: 32: MD054/no-links-in-headings Headings should not contain links [# [.NET 7](#tab/net-7)] [Context: "link in header"]
test-repos/dotnet-docs/docs/fundamentals/code-analysis/overview.md: 59: MD054/no-links-in-headings Headings should not contain links [# [.NET 6](#tab/net-6)] [Context: "link in header"]
test-repos/dotnet-docs/docs/fundamentals/networking/sockets/tcp-classes.md: 101: MD054/no-links-in-headings Headings should not contain links [#### The <xref:System.Net.Sockets.TcpClient.%23ctor(System.Net.Sockets.AddressFamily)> constructor] [Context: "link in header"]
test-repos/dotnet-docs/docs/fundamentals/networking/sockets/tcp-classes.md: 121: MD054/no-links-in-headings Headings should not contain links [#### The <xref:System.Net.Sockets.TcpClient.%23ctor(System.Net.IPEndPoint)> constructor] [Context: "link in header"]
test-repos/dotnet-docs/docs/fundamentals/networking/sockets/tcp-classes.md: 141: MD054/no-links-in-headings Headings should not contain links [#### The <xref:System.Net.Sockets.TcpClient.%23ctor(System.String,System.Int32)> constructor] [Context: "link in header"]
test-repos/dotnet-docs/docs/iot/debugging.md: 56: MD054/no-links-in-headings Headings should not contain links [### [Self-contained](#tab/self-contained)] [Context: "link in header"]
test-repos/dotnet-docs/docs/iot/debugging.md: 87: MD054/no-links-in-headings Headings should not contain links [### [Framework-dependent](#tab/framework-dependent)] [Context: "link in header"]
test-repos/dotnet-docs/docs/machine-learning/how-to-guides/install-ml-net-cli.md: 37: MD054/no-links-in-headings Headings should not contain links [### [Windows](#tab/windows)] [Context: "link in header"]
test-repos/dotnet-docs/docs/machine-learning/how-to-guides/install-ml-net-cli.md: 51: MD054/no-links-in-headings Headings should not contain links [### [Mac](#tab/mac)] [Context: "link in header"]
test-repos/dotnet-docs/docs/machine-learning/how-to-guides/install-ml-net-cli.md: 65: MD054/no-links-in-headings Headings should not contain links [### [Linux](#tab/linux)] [Context: "link in header"]
test-repos/dotnet-docs/docs/machine-learning/how-to-guides/install-ml-net-cli.md: 133: MD054/no-links-in-headings Headings should not contain links [### [Windows](#tab/windows)] [Context: "link in header"]
test-repos/dotnet-docs/docs/machine-learning/how-to-guides/install-ml-net-cli.md: 147: MD054/no-links-in-headings Headings should not contain links [### [Mac](#tab/mac)] [Context: "link in header"]
test-repos/dotnet-docs/docs/machine-learning/how-to-guides/install-ml-net-cli.md: 161: MD054/no-links-in-headings Headings should not contain links [### [Linux](#tab/linux)] [Context: "link in header"]
test-repos/dotnet-docs/docs/machine-learning/how-to-guides/install-ml-net-cli.md: 181: MD054/no-links-in-headings Headings should not contain links [### [Windows](#tab/windows)] [Context: "link in header"]
test-repos/dotnet-docs/docs/machine-learning/how-to-guides/install-ml-net-cli.md: 195: MD054/no-links-in-headings Headings should not contain links [### [Mac](#tab/mac)] [Context: "link in header"]
test-repos/dotnet-docs/docs/machine-learning/how-to-guides/install-ml-net-cli.md: 209: MD054/no-links-in-headings Headings should not contain links [### [Linux](#tab/linux)] [Context: "link in header"]
test-repos/dotnet-docs/docs/machine-learning/how-to-guides/install-model-builder.md: 29: MD054/no-links-in-headings Headings should not contain links [# [Visual Studio 2022](#tab/visual-studio-2022)] [Context: "link in header"]
test-repos/dotnet-docs/docs/machine-learning/how-to-guides/install-model-builder.md: 38: MD054/no-links-in-headings Headings should not contain links [# [Visual Studio 2019](#tab/visual-studio-2019)] [Context: "link in header"]
test-repos/dotnet-docs/docs/machine-learning/how-to-guides/install-model-builder.md: 53: MD054/no-links-in-headings Headings should not contain links [### [Visual Studio 2022](#tab/visual-studio-2022)] [Context: "link in header"]
test-repos/dotnet-docs/docs/machine-learning/how-to-guides/install-model-builder.md: 62: MD054/no-links-in-headings Headings should not contain links [### [Visual Studio 2019](#tab/visual-studio-2019)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/implementation/index.md: 9: MD054/no-links-in-headings Headings should not contain links [## [Orleans Lifecycle](orleans-lifecycle.md)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/implementation/index.md: 14: MD054/no-links-in-headings Headings should not contain links [## [Messaging delivery guarantees](messaging-delivery-guarantees.md)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/implementation/index.md: 19: MD054/no-links-in-headings Headings should not contain links [## [Scheduler](scheduler.md)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/implementation/index.md: 23: MD054/no-links-in-headings Headings should not contain links [## [Cluster management](cluster-management.md)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/implementation/index.md: 28: MD054/no-links-in-headings Headings should not contain links [## [Streams implementation](streams-implementation/index.md)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/implementation/index.md: 33: MD054/no-links-in-headings Headings should not contain links [## [Load balancing](load-balancing.md)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/implementation/index.md: 37: MD054/no-links-in-headings Headings should not contain links [## [Unit testing](testing.md)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/quickstarts/build-your-first-orleans-app.md: 24: MD054/no-links-in-headings Headings should not contain links [# [Visual Studio](#tab/visual-studio)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/quickstarts/build-your-first-orleans-app.md: 29: MD054/no-links-in-headings Headings should not contain links [# [Visual Studio Code](#tab/visual-studio-code)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/quickstarts/build-your-first-orleans-app.md: 38: MD054/no-links-in-headings Headings should not contain links [# [Visual Studio](#tab/visual-studio)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/quickstarts/build-your-first-orleans-app.md: 48: MD054/no-links-in-headings Headings should not contain links [# [Visual Studio Code](#tab/visual-studio-code)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/quickstarts/build-your-first-orleans-app.md: 72: MD054/no-links-in-headings Headings should not contain links [# [Visual Studio](#tab/visual-studio)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/quickstarts/build-your-first-orleans-app.md: 78: MD054/no-links-in-headings Headings should not contain links [# [Visual Studio Code](#tab/visual-studio-code)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/quickstarts/build-your-first-orleans-app.md: 155: MD054/no-links-in-headings Headings should not contain links [# [Visual Studio](#tab/visual-studio)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/quickstarts/build-your-first-orleans-app.md: 165: MD054/no-links-in-headings Headings should not contain links [# [Visual Studio Code](#tab/visual-studio-code)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 123: MD054/no-links-in-headings Headings should not contain links [### [Orleans Core Abstractions](https://www.nuget.org/packages/Microsoft.Orleans.Core.Abstractions/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 151: MD054/no-links-in-headings Headings should not contain links [### [Orleans Server Libraries](https://www.nuget.org/packages/Microsoft.Orleans.Server/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 164: MD054/no-links-in-headings Headings should not contain links [### [Orleans Client Libraries](https://www.nuget.org/packages/Microsoft.Orleans.Client/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 176: MD054/no-links-in-headings Headings should not contain links [### [Orleans Core Library](https://www.nuget.org/packages/Microsoft.Orleans.Core/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 188: MD054/no-links-in-headings Headings should not contain links [### [Orleans Runtime](https://www.nuget.org/packages/Microsoft.Orleans.OrleansRuntime/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 196: MD054/no-links-in-headings Headings should not contain links [### [Orleans Runtime Abstractions](https://www.nuget.org/packages/Microsoft.Orleans.Runtime.Abstractions/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 204: MD054/no-links-in-headings Headings should not contain links [### [Orleans Hosting on Azure Cloud Services](https://www.nuget.org/packages/Microsoft.Orleans.Hosting.AzureCloudServices/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 212: MD054/no-links-in-headings Headings should not contain links [### [Orleans Service Fabric Hosting Support](https://www.nuget.org/packages/Microsoft.Orleans.Hosting.ServiceFabric/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 224: MD054/no-links-in-headings Headings should not contain links [### [Orleans clustering provider for Azure Table Storages](https://www.nuget.org/packages/Microsoft.Orleans.Clustering.AzureStorage/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 232: MD054/no-links-in-headings Headings should not contain links [### [Orleans clustering provider for ADO.NET Providers](https://www.nuget.org/packages/Microsoft.Orleans.Clustering.AdoNet/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 240: MD054/no-links-in-headings Headings should not contain links [### [Orleans Consul Utilities](https://www.nuget.org/packages/Microsoft.Orleans.OrleansConsulUtils/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 248: MD054/no-links-in-headings Headings should not contain links [### [Orleans ZooKeeper Utilities](https://www.nuget.org/packages/Microsoft.Orleans.OrleansZooKeeperUtils/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 256: MD054/no-links-in-headings Headings should not contain links [### [Orleans clustering provider for AWS DynamoDB](https://www.nuget.org/packages/Microsoft.Orleans.Clustering.DynamoDB/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 268: MD054/no-links-in-headings Headings should not contain links [### [Orleans Reminders Azure Table Storage](https://www.nuget.org/packages/Microsoft.Orleans.Reminders.AzureStorage/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 276: MD054/no-links-in-headings Headings should not contain links [### [Orleans Reminders ADO.NET Providers](https://www.nuget.org/packages/Microsoft.Orleans.reminders.AdoNet/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 284: MD054/no-links-in-headings Headings should not contain links [### [Orleans reminders provider for AWS DynamoDB](https://www.nuget.org/packages/Microsoft.Orleans.Reminders.DynamoDB/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 296: MD054/no-links-in-headings Headings should not contain links [### [Orleans Persistence Azure Storage](https://www.nuget.org/packages/Microsoft.Orleans.Persistence.AzureStorage/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 304: MD054/no-links-in-headings Headings should not contain links [### [Orleans Persistence ADO.NET Providers](https://www.nuget.org/packages/Microsoft.Orleans.Persistence.AdoNet/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 312: MD054/no-links-in-headings Headings should not contain links [### [Orleans Persistence DynamoDB](https://www.nuget.org/packages/Microsoft.Orleans.Persistence.DynamoDB/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 324: MD054/no-links-in-headings Headings should not contain links [### [Orleans ServiceBus Utilities](https://www.nuget.org/packages/Microsoft.Orleans.OrleansServiceBus/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 332: MD054/no-links-in-headings Headings should not contain links [### [Orleans Streaming Azure Storage](https://www.nuget.org/packages/Microsoft.Orleans.Streaming.AzureStorage/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 340: MD054/no-links-in-headings Headings should not contain links [### [Orleans Streaming AWS SQS](https://www.nuget.org/packages/Microsoft.Orleans.Streaming.SQS/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 348: MD054/no-links-in-headings Headings should not contain links [### [Orleans Google Cloud Platform Utilities](https://www.nuget.org/packages/Microsoft.Orleans.OrleansGCPUtils/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 358: MD054/no-links-in-headings Headings should not contain links [### [Orleans Code Generation](https://www.nuget.org/packages/Microsoft.Orleans.OrleansCodeGenerator/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 366: MD054/no-links-in-headings Headings should not contain links [### [Orleans Event-Sourcing](https://www.nuget.org/packages/Microsoft.Orleans.EventSourcing/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 376: MD054/no-links-in-headings Headings should not contain links [### [Orleans Providers](https://www.nuget.org/packages/Microsoft.Orleans.OrleansProviders/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 385: MD054/no-links-in-headings Headings should not contain links [### [Orleans Testing Host Library](https://www.nuget.org/packages/Microsoft.Orleans.TestingHost/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 395: MD054/no-links-in-headings Headings should not contain links [### [Orleans Bond Serializer](https://www.nuget.org/packages/Microsoft.Orleans.Serialization.Bond/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 403: MD054/no-links-in-headings Headings should not contain links [### [Orleans Google Utilities](https://www.nuget.org/packages/Microsoft.Orleans.OrleansGoogleUtils/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 411: MD054/no-links-in-headings Headings should not contain links [### [Orleans protobuf-net Serializer](https://www.nuget.org/packages/Microsoft.Orleans.ProtobufNet/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 421: MD054/no-links-in-headings Headings should not contain links [### [Orleans Telemetry Consumer - Performance Counters](https://www.nuget.org/packages/Microsoft.Orleans.OrleansTelemetryConsumers.Counters/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 429: MD054/no-links-in-headings Headings should not contain links [### [Orleans Telemetry Consumer - Azure Application Insights](https://www.nuget.org/packages/Microsoft.Orleans.OrleansTelemetryConsumers.AI/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 437: MD054/no-links-in-headings Headings should not contain links [### [Orleans Telemetry Consumer - NewRelic](https://www.nuget.org/packages/Microsoft.Orleans.OrleansTelemetryConsumers.NewRelic/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 447: MD054/no-links-in-headings Headings should not contain links [### [Orleans Transactions support](https://www.nuget.org/packages/Microsoft.Orleans.Transactions/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 455: MD054/no-links-in-headings Headings should not contain links [### [Orleans Transactions on Azure](https://www.nuget.org/packages/Microsoft.Orleans.Transactions.AzureStorage/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/resources/nuget-packages.md: 465: MD054/no-links-in-headings Headings should not contain links [### [Orleans Performance Counter Tool](https://www.nuget.org/packages/Microsoft.Orleans.CounterControl/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/tutorials-and-samples/index.md: 9: MD054/no-links-in-headings Headings should not contain links [## [Hello, World!](/samples/dotnet/samples/orleans-hello-world-sample-app)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/tutorials-and-samples/index.md: 21: MD054/no-links-in-headings Headings should not contain links [## [Shopping Cart](/samples/dotnet/samples/orleans-shopping-cart-app-sample)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/tutorials-and-samples/index.md: 39: MD054/no-links-in-headings Headings should not contain links [## [Adventure](/samples/dotnet/samples/orleans-text-adventure-game)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/tutorials-and-samples/index.md: 52: MD054/no-links-in-headings Headings should not contain links [## [Chirper](/samples/dotnet/samples/orleans-chirper-social-media-sample-app)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/tutorials-and-samples/index.md: 67: MD054/no-links-in-headings Headings should not contain links [## [GPS Tracker](/samples/dotnet/samples/orleans-gps-device-tracker-sample)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/tutorials-and-samples/index.md: 80: MD054/no-links-in-headings Headings should not contain links [## [HanBaoBao](https://github.com/ReubenBond/hanbaobao-web)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/tutorials-and-samples/index.md: 96: MD054/no-links-in-headings Headings should not contain links [## [Presence Service](/samples/dotnet/samples/orleans-gaming-presence-service-sample)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/tutorials-and-samples/index.md: 108: MD054/no-links-in-headings Headings should not contain links [## [Tic Tac Toe](/samples/dotnet/samples/orleans-tictactoe-web-based-game)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/tutorials-and-samples/index.md: 120: MD054/no-links-in-headings Headings should not contain links [## [Voting](/samples/dotnet/samples/orleans-voting-sample-app-on-kubernetes)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/tutorials-and-samples/index.md: 134: MD054/no-links-in-headings Headings should not contain links [## [Chat Room](/samples/dotnet/samples/orleans-chat-room-sample)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/tutorials-and-samples/index.md: 145: MD054/no-links-in-headings Headings should not contain links [## [Bank Account](/samples/dotnet/samples/orleans-bank-account-acid-transactions)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/tutorials-and-samples/index.md: 155: MD054/no-links-in-headings Headings should not contain links [## [Blazor Server](/samples/dotnet/samples/orleans-aspnet-core-blazor-server-sample) and [Blazor WebAssembly](/samples/dotnet/samples/orleans-aspnet-core-blazor-wasm-sample)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/tutorials-and-samples/index.md: 155: MD054/no-links-in-headings Headings should not contain links [## [Blazor Server](/samples/dotnet/samples/orleans-aspnet-core-blazor-server-sample) and [Blazor WebAssembly](/samples/dotnet/samples/orleans-aspnet-core-blazor-wasm-sample)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/tutorials-and-samples/index.md: 169: MD054/no-links-in-headings Headings should not contain links [## [Stocks](/samples/dotnet/samples/orleans-stocks-sample-app)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/tutorials-and-samples/index.md: 181: MD054/no-links-in-headings Headings should not contain links [## [Transport Layer Security](/samples/dotnet/samples/orleans-transport-layer-security-tls)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/tutorials-and-samples/index.md: 191: MD054/no-links-in-headings Headings should not contain links [## [Visual Basic Hello World](/samples/dotnet/samples/orleans-vb-sample/)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/tutorials-and-samples/index.md: 199: MD054/no-links-in-headings Headings should not contain links [## [F# Hello World](/samples/dotnet/samples/orleans-fsharp-sample)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/tutorials-and-samples/index.md: 207: MD054/no-links-in-headings Headings should not contain links [## [Streaming: Pub/Sub Streams over Azure Event Hubs](/samples/dotnet/samples/orleans-streaming-samples)] [Context: "link in header"]
test-repos/dotnet-docs/docs/orleans/tutorials-and-samples/index.md: 217: MD054/no-links-in-headings Headings should not contain links [## [Streaming: Custom Data Adapter](/samples/dotnet/samples/orleans-streaming-samples)] [Context: "link in header"]
test-repos/dotnet-docs/docs/spark/tutorials/get-started.md: 77: MD054/no-links-in-headings Headings should not contain links [#### [Windows](#tab/windows)] [Context: "link in header"]
test-repos/dotnet-docs/docs/spark/tutorials/get-started.md: 85: MD054/no-links-in-headings Headings should not contain links [#### [Mac/Linux](#tab/linux)] [Context: "link in header"]
test-repos/dotnet-docs/docs/spark/tutorials/get-started.md: 128: MD054/no-links-in-headings Headings should not contain links [#### [Windows](#tab/windows)] [Context: "link in header"]
test-repos/dotnet-docs/docs/spark/tutorials/get-started.md: 134: MD054/no-links-in-headings Headings should not contain links [#### [Mac/Linux](#tab/linux)] [Context: "link in header"]
test-repos/dotnet-docs/docs/spark/tutorials/get-started.md: 236: MD054/no-links-in-headings Headings should not contain links [### [Windows](#tab/windows)] [Context: "link in header"]
test-repos/dotnet-docs/docs/spark/tutorials/get-started.md: 246: MD054/no-links-in-headings Headings should not contain links [### [Mac/Linux](#tab/linux)] [Context: "link in header"]
test-repos/dotnet-docs/docs/standard/data/sqlite/custom-versions.md: 26: MD054/no-links-in-headings Headings should not contain links [### [.NET Core CLI](#tab/netcore-cli)] [Context: "link in header"]
test-repos/dotnet-docs/docs/standard/data/sqlite/custom-versions.md: 33: MD054/no-links-in-headings Headings should not contain links [### [Visual Studio](#tab/visual-studio)] [Context: "link in header"]
test-repos/dotnet-docs/docs/standard/data/sqlite/custom-versions.md: 57: MD054/no-links-in-headings Headings should not contain links [### [.NET Core CLI](#tab/netcore-cli)] [Context: "link in header"]
test-repos/dotnet-docs/docs/standard/data/sqlite/custom-versions.md: 65: MD054/no-links-in-headings Headings should not contain links [### [Visual Studio](#tab/visual-studio)] [Context: "link in header"]
test-repos/dotnet-docs/docs/standard/data/sqlite/encryption.md: 12: MD054/no-links-in-headings Headings should not contain links [### [.NET Core CLI](#tab/netcore-cli)] [Context: "link in header"]
test-repos/dotnet-docs/docs/standard/data/sqlite/encryption.md: 20: MD054/no-links-in-headings Headings should not contain links [### [Visual Studio](#tab/visual-studio)] [Context: "link in header"]
test-repos/dotnet-docs/docs/standard/data/sqlite/index.md: 14: MD054/no-links-in-headings Headings should not contain links [### [.NET Core CLI](#tab/netcore-cli)] [Context: "link in header"]
test-repos/dotnet-docs/docs/standard/data/sqlite/index.md: 20: MD054/no-links-in-headings Headings should not contain links [### [Visual Studio](#tab/visual-studio)] [Context: "link in header"]
test-repos/dotnet-docs/docs/standard/data/xml/rules-for-inferring-simple-types.md: 63: MD054/no-links-in-headings Headings should not contain links [### Ignored attributes from the <https://www.w3.org/2001/XMLSchema-instance> namespace] [Context: "link in header"]
test-repos/dotnet-docs/docs/standard/datetime/system-text-json-support.md: 75: MD054/no-links-in-headings Headings should not contain links [## Custom support for <xref:System.DateTime> and <xref:System.DateTimeOffset>] [Context: "link in header"]
test-repos/dotnet-docs/docs/standard/datetime/system-text-json-support.md: 75: MD054/no-links-in-headings Headings should not contain links [## Custom support for <xref:System.DateTime> and <xref:System.DateTimeOffset>] [Context: "link in header"]
test-repos/dotnet-docs/docs/standard/datetime/system-text-json-support.md: 77: MD054/no-links-in-headings Headings should not contain links [### When using <xref:System.Text.Json.JsonSerializer>] [Context: "link in header"]
test-repos/dotnet-docs/docs/standard/datetime/system-text-json-support.md: 98: MD054/no-links-in-headings Headings should not contain links [#### Using <xref:System.Buffers.Text.Utf8Parser> and <xref:System.Buffers.Text.Utf8Formatter>] [Context: "link in header"]
test-repos/dotnet-docs/docs/standard/datetime/system-text-json-support.md: 98: MD054/no-links-in-headings Headings should not contain links [#### Using <xref:System.Buffers.Text.Utf8Parser> and <xref:System.Buffers.Text.Utf8Formatter>] [Context: "link in header"]
test-repos/dotnet-docs/docs/standard/datetime/system-text-json-support.md: 132: MD054/no-links-in-headings Headings should not contain links [### When writing with <xref:System.Text.Json.Utf8JsonWriter>] [Context: "link in header"]
test-repos/dotnet-docs/docs/standard/datetime/system-text-json-support.md: 144: MD054/no-links-in-headings Headings should not contain links [### When reading with <xref:System.Text.Json.Utf8JsonReader>] [Context: "link in header"]
test-repos/dotnet-docs/docs/standard/library-guidance/get-started.md: 8: MD054/no-links-in-headings Headings should not contain links [## [Cross-platform targeting](./cross-platform-targeting.md)] [Context: "link in header"]
test-repos/dotnet-docs/docs/standard/library-guidance/get-started.md: 12: MD054/no-links-in-headings Headings should not contain links [## [Strong naming](./strong-naming.md)] [Context: "link in header"]
test-repos/dotnet-docs/docs/standard/library-guidance/get-started.md: 16: MD054/no-links-in-headings Headings should not contain links [## [NuGet and open-source libraries](./nuget.md)] [Context: "link in header"]
test-repos/dotnet-docs/docs/standard/library-guidance/get-started.md: 20: MD054/no-links-in-headings Headings should not contain links [### [Dependencies](./dependencies.md)] [Context: "link in header"]
test-repos/dotnet-docs/docs/standard/library-guidance/get-started.md: 24: MD054/no-links-in-headings Headings should not contain links [### [Source Link](./sourcelink.md)] [Context: "link in header"]
test-repos/dotnet-docs/docs/standard/library-guidance/get-started.md: 28: MD054/no-links-in-headings Headings should not contain links [### [Publishing](./publish-nuget-package.md)] [Context: "link in header"]
test-repos/dotnet-docs/docs/standard/library-guidance/get-started.md: 32: MD054/no-links-in-headings Headings should not contain links [## [Versioning](./versioning.md)] [Context: "link in header"]
test-repos/dotnet-docs/docs/standard/library-guidance/get-started.md: 36: MD054/no-links-in-headings Headings should not contain links [### [Breaking changes](./breaking-changes.md)] [Context: "link in header"]
test-repos/dotnet-docs/docs/standard/whats-new/whats-new-in-dotnet-standard.md: 78: MD054/no-links-in-headings Headings should not contain links [# [C#](#tab/csharp)] [Context: "link in header"]
test-repos/dotnet-docs/docs/standard/whats-new/whats-new-in-dotnet-standard.md: 88: MD054/no-links-in-headings Headings should not contain links [# [Visual Basic](#tab/vb)] [Context: "link in header"]
test-repos/dotnet-docs/docs/visual-basic/programming-guide/concepts/expression-trees/how-to-use-expression-trees-to-build-dynamic-queries.md: 68: MD054/no-links-in-headings Headings should not contain links [### Constructing an [Expression(Of TDelegate)](xref:System.Linq.Expressions.Expression%601)] [Context: "link in header"]
test-repos/dotnet-docs/docs/visual-basic/programming-guide/concepts/expression-trees/how-to-use-expression-trees-to-build-dynamic-queries.md: 121: MD054/no-links-in-headings Headings should not contain links [## Add method call nodes to the <xref:System.Linq.IQueryable>'s expression tree] [Context: "link in header"]
test-repos/dotnet-docs/includes/net-standard-selector.md: 9: MD054/no-links-in-headings Headings should not contain links [### [1.0](#tab/net-standard-1-0)] [Context: "link in header"]
test-repos/dotnet-docs/includes/net-standard-selector.md: 13: MD054/no-links-in-headings Headings should not contain links [### [1.1](#tab/net-standard-1-1)] [Context: "link in header"]
test-repos/dotnet-docs/includes/net-standard-selector.md: 17: MD054/no-links-in-headings Headings should not contain links [### [1.2](#tab/net-standard-1-2)] [Context: "link in header"]
test-repos/dotnet-docs/includes/net-standard-selector.md: 21: MD054/no-links-in-headings Headings should not contain links [### [1.3](#tab/net-standard-1-3)] [Context: "link in header"]
test-repos/dotnet-docs/includes/net-standard-selector.md: 25: MD054/no-links-in-headings Headings should not contain links [### [1.4](#tab/net-standard-1-4)] [Context: "link in header"]
test-repos/dotnet-docs/includes/net-standard-selector.md: 29: MD054/no-links-in-headings Headings should not contain links [### [1.5](#tab/net-standard-1-5)] [Context: "link in header"]
test-repos/dotnet-docs/includes/net-standard-selector.md: 33: MD054/no-links-in-headings Headings should not contain links [### [1.6](#tab/net-standard-1-6)] [Context: "link in header"]
test-repos/dotnet-docs/includes/net-standard-selector.md: 37: MD054/no-links-in-headings Headings should not contain links [### [2.0](#tab/net-standard-2-0)] [Context: "link in header"]
test-repos/dotnet-docs/includes/net-standard-selector.md: 41: MD054/no-links-in-headings Headings should not contain links [### [2.1](#tab/net-standard-2-1)] [Context: "link in header"]

I am not sure if we want to continue, with this rule, for markdownlint (as a basic rule), or if we should release this rule on its own.

sidenote

my current implementation has following test:

# test for links in headings

## Heading <https://with-a-link> {MD054}

## Heading with an [inline link in link](<https://with-a-link>){MD054}

## Heading with a [link](https://with-a-link){MD054}

## Heading to an [anchor](#with-an-anchor){MD054}

## Heading with a [relative-link](./){MD054}

## Heading with a [rel-link][rel-link]{MD054}

## With an anchor

[rel-link]: https://with-a-link

@DavidAnson
Copy link
Owner

First off, thank you for doing the research here! I absolutely agree with you that links in headings feels like something that should be avoided. BUT at the same time, the results you share show that it’s pretty common in practice and very much deliberate. As you point out, it’s fully legal to do this in HTML and in Markdown and we don’t know of any cases where doing so breaks things or leads to unpredictable behavior. So without much of a reason to tell people to avoid this, I am leaning toward your idea to release this as a separate rule instead of integrating it into the library.

@aepfli
Copy link
Contributor Author

aepfli commented Apr 3, 2023

Perfect, I will close this issue. As always it was my pleasure :)

@aepfli aepfli closed this as completed Apr 3, 2023
@DavidAnson
Copy link
Owner

Thanks for your understanding!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants