Skip to content

Changing menu bar on mobile #1120

Open
Open
@jsha

Description

@jsha

Related to #1103, #1104, #1096.

We've been talking about ways to make menus behave nicely across both desktop and mobile, where the desktop version uses click-to-open, and the mobile version uses links that take you to a separate page with equivalent functionality to the menu. It's definitely doable, but I wanted to step back and see if we want to change the mobile menus more dramatically.

docsrs-mobile

As you can see above, we have a bit of a confusing two-menu system. There's the docs.rs top menu, and the rustdoc hamburger menu. I know it's hard to reach into the internals of rustdoc from docs.rs, but it would be great to combine them! Then we could put all of the extra options behind the hamburger menu, where there's enough room to give them labels so people know what they do.

On a similar note, I was thinking about "what are the most important and common things people want to do" and "what pieces of context are most important."

For "what context is important," I think the main thing that people need to know if they in the middle of a docs.rs page is

  • what is the name of this package
  • what struct/trait/function's page am I on
  • if this is not the current version, I'd like an alert icon

For "what actions that might be in a menu are important," I think it's:

  • See what methods / fields are available on this item (already covered in Rustdoc's hamburger menu)
  • Go to the documentation root for the crate (already covered, by the rust icon / project icon)
  • Go to the repository
  • Go to the crates.io page OR the equivalent on docs.rs.
  • Select a different version (though this could be done from the docs.rs crate page).
  • Go to the homepage of docs.rs.

Anyhow, lemme know if you find the idea appealing, and we can brainstorm ways to do it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-frontendArea: Web frontendA-rustdoc-cssArea: CSS generated by rustdoc for documentation pagesC-enhancementCategory: This is a new feature

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions