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

doc landing page that looks like a homepage and does not simply repeat the sidebar #1761

Merged
merged 9 commits into from
Apr 9, 2022

Conversation

ramcdougal
Copy link
Member

@ramcdougal ramcdougal commented Apr 4, 2022

This is a pull-request but also a request for comments.

View the latest version live at: https://nrn.readthedocs.io/en/new-docs-homepage/

Proposed readthedocs landing page that highlights NEURON capabilities and installation:

image

Currently it's a massive list (all the stuff from the list remains accessible in the above via the links in the sidebar):

image

This addresses one task in #1728

Thoughts?

@ramcdougal
Copy link
Member Author

Image from @jamesgking

@codecov-commenter
Copy link

codecov-commenter commented Apr 4, 2022

Codecov Report

Merging #1761 (6d0df4b) into master (8387a7b) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1761   +/-   ##
=======================================
  Coverage   45.39%   45.39%           
=======================================
  Files         551      551           
  Lines      113144   113144           
=======================================
  Hits        51358    51358           
  Misses      61786    61786           

📣 Codecov can now indicate which changes are the most critical in Pull Requests. Learn more

@ramcdougal ramcdougal mentioned this pull request Apr 4, 2022
41 tasks
@Helveg
Copy link
Contributor

Helveg commented Apr 5, 2022

Can I view a build of these docs anywhere?

@ramcdougal
Copy link
Member Author

ramcdougal commented Apr 5, 2022

Can I view a build of these docs anywhere?

Good idea. It should be available at https://nrn.readthedocs.io/en/new-docs-homepage/ in half an hour or so.

To be clear, this particular pull request is only for the readthedocs homepage changes. It's separate because (1) people will likely have opinions, and (2) #1728 is massive and will not be completed in entirety at any point soon.

Edit: it's available now.

Copy link
Contributor

@Helveg Helveg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good landing page! I think it could still promote absolute intro level links more, like a prominent link/card to a Getting Started Guide, Sections, mechanisms, connections, ... whatever we think a user must know, explained for absolute beginners.

Something like I did here (the fancy landing page cards are about the only finished things in my docs, the rest is incomplete 😉 ); it very clearly helps new users find parts of the docs they need to get familiar with concepts. It lays out a plan for them to get from being complete novices, to beginner users comfortable with the basics of each feature. If they then need more information, they should find the topics in the ToC/sidebar; or very quickly find something in a complete and modern API reference.

docs/index.rst Outdated

.. raw:: html

<div id="downloadMacOS" style="display:none">
Copy link
Contributor

@Helveg Helveg Apr 5, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't like that the other OS instructions are completely inaccessible. Think eg someone trying to install on a VM. There are several plugins for tabs in sphinx, we could use one, and by default select the tab associated to the host OS, but then users can switch tabs to see the instructions for other platforms.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the tabs idea. Can you point to an example?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would recommend sphinx-design: A brand new framework that introduces Google's Material Design spec for several themes, and the RtD theme is supported: https://sphinx-design.readthedocs.io/en/rtd-theme/

If not there are several other candidates that do (code) tabs:

Copy link
Contributor

@Helveg Helveg Apr 5, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like with sphinx-design you can use a name field to set a referenceable name, that you could use to query the tab elements in the DOM. If you open the dev tools on the doc page, you can see each tab has a radio element associated with it, if you select it you can trigger its click event and the tab changes.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tabs are in the latest update. Give readthedocs a bit to catch up.

image

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks nice! Thanks @Helveg for pointing out that!

@ramcdougal
Copy link
Member Author

fancy landing page cards

Those do look nice.

To be honest, I think a lot of our absolute beginner level stuff is out of date in terms of what is good practice and I'm hesitant to move it over and link to it without a rethink.

@Helveg
Copy link
Contributor

Helveg commented Apr 5, 2022

fancy landing page cards

Those do look nice.

To be honest, I think a lot of our absolute beginner level stuff is out of date in terms of what is good practice and I'm hesitant to move it over and link to it without a rethink.

I think that calls for a doc hackathon ;) Fly me over!

Copy link
Member

@alexsavulescu alexsavulescu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀

The PNG image is rather big (~1.1MB). We should compress it.

docs/index.rst Outdated
</p>
<p>
Alternatively,
<a href="https://github.com/neuronsimulator/nrn/releases/download/8.1.0/nrn-8.1.0-macosx-10.9-universal2-py-38-39-310.pkg">download macOS installer</a>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would be nice to have a generic link that points to latest pkg (thus avoiding updating the docs after each release)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we have such a link?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

did a quick google search and came up with nothing. There was git.io backed by GitHub but it was discontinued.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And if I think about, it's not that easy to manage wrt different ReadTheDocs versions..

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would this make sense:

Suggested change
<a href="https://github.com/neuronsimulator/nrn/releases/download/8.1.0/nrn-8.1.0-macosx-10.9-universal2-py-38-39-310.pkg">download macOS installer</a>
head over to <a href="https://github.com/neuronsimulator/nrn/releases/">NEURON GitHub Releases</a> and download the desired macOS package installer from `Assets`

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not really, because we want official versions to match RTD tags

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would this make sense:

Personally I think install links ought to take you directly to the installer not another page to search through.

nightly.link

Arguably if you're viewing documentation for version X it should take you to the X installer not the latest.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm kind of ok with Mac and Linux taking you to a giant page with all versions since you can just pip install them... But for Windows, IMO we shouldn't make them search for the only way to install it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Personally I think install links ought to take you directly to the installer not another page to search through.

Totally agree. Just thinking about the extra maintenance here.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree re: maintenance. It's a real issue; the NEURON website was never updated for 8.0.2 because we just missed doing the update and didn't notice until it was time for 8.1.

docs/index.rst Outdated Show resolved Hide resolved
docs/index.rst Outdated
</p>
</div>
<div id="downloadWindows" style="display:none">
<a class="button" href="https://github.com/neuronsimulator/nrn/releases/download/8.1.0/nrn-8.1.0.w64-mingw-py-36-37-38-39-310-setup.exe">Download Windows installer (64 bit)</a>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would be nice to have a generic link that points to latest exe (thus avoiding updating the docs after each release)

@ramcdougal
Copy link
Member Author

The PNG image is rather big (~1.1MB). We should compress it.

This has been replaced with a high quality jpg. I don't notice any compression artifacts.

docs/python/index.rst Show resolved Hide resolved
@pramodk pramodk dismissed alexsavulescu’s stale review April 9, 2022 13:07

Most of the comments are addressed?

@ramcdougal ramcdougal merged commit 415a69c into master Apr 9, 2022
@ramcdougal ramcdougal deleted the new-docs-homepage branch April 9, 2022 13:34
alexsavulescu added a commit that referenced this pull request Apr 11, 2022
* add an action item for `docs/index.rst`
ramcdougal pushed a commit that referenced this pull request Apr 11, 2022
* add an action item for `docs/index.rst`
@alexsavulescu alexsavulescu mentioned this pull request Jun 29, 2022
19 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants