Skip to content

feature: prevent overflow for long object names/headings #177

Open
@joaopalmeiro

Description

@joaopalmeiro

Hi! 👋

Is your feature request related to a problem? Please describe.

If functions or classes (or other objects) have very long names, their names will overflow and negatively influence their readability as well as that of the table of contents:

Screenshot 2024-08-05 at 12 27 28 Screenshot 2024-08-05 at 12 28 37 Screenshot 2024-08-05 at 12 29 39

I apologize for sharing a dummy example, but I can't show the real examples where I implemented custom CSS to avoid it.

This issue is somewhat related to an old issue about the table of contents. It seemed to me that the best option would be to open the issue in this repository because the solution proposed below can, therefore, be applied to elements generated by mkdocstrings + mkdocstrings-python and be independent of the selected theme.

Describe the solution you'd like

Style elements classed with doc-object-name as follows to prevent overflow:

/* Prevent overflow of long object names. */
.doc-object-name {
  word-break: break-all;
}

This change could be implemented in the style.css files of the material and readthedocs templates.

Describe alternatives you've considered

  • The change proposed above can also be applied to other CSS classes, such as doc-heading or doc-KIND-name.
  • Instead of break-all, the word-break property could be set to break-word.
  • Instead of wrapping the object names, the part of the name to overflow could be hidden and add ellipsis to signal this behavior to users.

Additional context

  • mkdocs: 1.6.0
  • mkdocstrings[python]: 0.25.2
  • mkdocs-material: 9.5.31

Activity

pawamoy

pawamoy commented on Aug 5, 2024

@pawamoy
Member

Hi @joaopalmeiro, thanks a lot for the detailed report, and the included suggestions for a solution!

I was exactly going to suggest using CSS to fix this. I suppose we could include such rules in the default CSS provided by mkdocstrings handlers. I'll try the different rules suggested and see if one seems to fit best.

joaopalmeiro

joaopalmeiro commented on Aug 5, 2024

@joaopalmeiro
Author

Nice! 👌

Let me know if you want me to open a PR with the best proposal later or if you need some other kind of help.

removed
fundIssue priority can be boosted
on Mar 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

featureNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

    Development

    No branches or pull requests

      Participants

      @pawamoy@joaopalmeiro

      Issue actions

        feature: prevent overflow for long object names/headings · Issue #177 · mkdocstrings/python