10BC0 Material uses IDs that are easy to conflict with. · Issue #790 · squidfunk/mkdocs-material · GitHub
[go: up one dir, main page]

Skip to content

Material uses IDs that are easy to conflict with. #790

@facelessuser

Description

@facelessuser

Description

MkDocs Material injects a couple of ids that aren't expected. For instance in my document, the id search, drawer, github are all found in Material's header. I imagine there are at least a couple more that just aren't present in documents. The problem is that this isn't exactly expected, or intuitive to figure out. It is easy for a user to do the following, and none of of the links to work. And it won't be noticed until someone happens to click on anchors for the headers or the links referencing the header, and none of it work.

## Search

Some text.

## Drawer

[ref](#search)

A user would have to explicitly assign an id to the header that does not conflict. While I realize it is probably impossible to come up with a name no one could accidentally stumble upon, I feel like we could definitely make it more difficult.

Expected behavior

I would normally expect that id's for Material to be more difficult to happen upon so a user doesn't have to explicitly be aware of all ids that Material uses. Maybe something like 07328739847_search, or something that would be fairly unique.

Actual behavior

Unfortunately, Material uses very common ids that are easy to accidentally conflict with.

Steps to reproduce the bug

  1. Create document with header Search. Header anchors and links referencing the header won't properly work.

Package versions

  • Python: NA
  • MkDocs: NA
  • Material: Latest

Project configuration

NA

System information

  • OS: NA
  • Browser: NA

Metadata

Metadata

Assignees

No one assigned

    Labels

    change requestIssue requests a new feature or improvementresolvedIssue is resolved, yet unreleased if open

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0