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

Should rustdoc support links in headings? #100254

Open
4 tasks
camelid opened this issue Aug 8, 2022 · 2 comments
Open
4 tasks

Should rustdoc support links in headings? #100254

camelid opened this issue Aug 8, 2022 · 2 comments
Labels
A-markdown-parsing Area: Markdown parsing for doc-comments A-rustdoc-ui Area: rustdoc UI (generated HTML) C-discussion Category: Discussion or questions that doesn't represent real issues. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.

Comments

@camelid
Copy link
Member

camelid commented Aug 8, 2022

Markdown allows links to appear in headings, but rustdoc doesn't (properly) support this. @GuillaumeGomez had a PR to implement this: #94360. However, supporting this feature makes other parts of rustdoc's UI worse: Currently, rustdoc makes headers link to themselves (to make grabbing a link to the header easier). If we supported user links in headers, this wouldn't work anymore. We could use “§”, but it presents a small click target and adds visual noise. So, more discussion is needed.

  • Determine rustdoc's status quo for this feature
  • Decide whether it makes sense to support this
    • If yes, decide how header self-links should be implemented
    • If no, decide if we should warn when users make links in headers, or if we should maintain the status quo
@camelid camelid added T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. C-discussion Category: Discussion or questions that doesn't represent real issues. A-rustdoc-ui Area: rustdoc UI (generated HTML) A-markdown-parsing Area: Markdown parsing for doc-comments labels Aug 8, 2022
@jsha
Copy link
Contributor

jsha commented Aug 8, 2022

There was also some discussion at:

I am convinced that we should allow links in headings, make headings not themselves links by default, and use a § on hover consistently for all heading self-links.

I was originally skeptical because I had hoped to find a way to eliminate the § from all our docs. I wanted that in part because it's hard to squeeze in the § in our current left-hand "gutter" (the space between the sidebar and the left side of the main text):

image

But now I think there's probably no good solution to that. We should either (a) increase the width of the gutter to accomodate both § and [-] or (b) move the § to the right-hand side of the first line of each heading (for instance, including it in the "source" cluster of links).

In theory this work can proceed without fixing the issue of § placement for code headings. But there's on place where we have a similar conflict: When the first line of a Markdown block is a heading, there's a [-] to its left. Adding a § in between the [-] and the heading will look cramped. And adding space for the § to breathe means the [-] will look like it's floating in space most of the time.

image

@GuillaumeGomez
Copy link
Member

Something we could potentially try would be to display § all the time. That would allow it to work on mobile devices. However it would make the display a bit heavier.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-markdown-parsing Area: Markdown parsing for doc-comments A-rustdoc-ui Area: rustdoc UI (generated HTML) C-discussion Category: Discussion or questions that doesn't represent real issues. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

3 participants