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

Update documentation index page and navigation structure #2969

Closed
wants to merge 50 commits into from

Conversation

jessica-mitchell
Copy link
Contributor

@jessica-mitchell jessica-mitchell commented Oct 5, 2023

This PR improves the overall landing page and structure of contents.

See output here

Resolves #2783

The new index page

  • It removes the index.html template in favour of a restructured text page, which will eliminate issues with compatibility between the sphinx_material theme and custom template.
  • contains a 'carousel' where we can highlight new and interesting examples. (TODO, decide on which examples to showcase)
  • contains a modified table of contents (TOC): details below
  • contains a conceptual diagram using elements from NEST Desktop and images courtesy of A. Fischer TODO: Add description to diagram
  • A 'get started here' button leads to the new tutorials and guides section, which is what is seen on the TOC

The new tutorials and guides section

As discussed with @clinssen, as well as others, we decided to encapsulate all document material together in one place. Previously the tutorial for PyNEST and MUSIC were separated from other document guides.

I chose to use heading Tutorials and Guides, because not all the documents we have can be defined as tutorials in my opinion.

The tutorials and guides are structured in cards similar to before, but now the first row is organized by topics that should help users get started:

  • the first card simply is the first steps - getting to know NEST - here the installation instructions are repeated, the PyNEST tutorial is added, along with the one neuron example, for those who want a quicker overview, and the video tutorial for those who prefer that medium
  • The second card deals with the actual creation of the script that the user needs, and what guides would be helpful for this. In this regard I was thinking of the basic things you do with NEST (create, connect, simulate, record) note: stimulate is not included for brevity and we don't have that extensive amount of docs on it. In this context, I am making the assumption here that users would need to look into models, connection management, simulation behavior and recorders for getting data out for analysis.
  • The third card deals more with the code aspects of the script, that is, the functionality allowed by Nodecollections, parameter objects. This would help users optimize their script and show them ways of manipulating the data for their desired outcomes.

After this first row, comes Additional topics
Here I try to organize them as they were before, with a bit more text is added to help clarify the links.

Changes in the Networks card

Added to the spatially_structured_networks is the network models (mam and microcircuit). Not sure if this is the best choice.

The main table of contents

Now the table of contents is divided into 3 sections "usage", "community" and "related projects"

  • Usage contains the basic topics for docs - install, tutorials and guides, examples, API, models, glossary and then model implementations (which could be removed if it doesnt belong on top level), and technical docs (renamed from developer docs to move away from user vs developer)
  • Community contains topics related to contributing to NEST, citing NEST, contact, what's new in NEST and also link to the homepage (we could also add publications and events as links within the homepage?). Basically all the things that involve the user community
  • Related projects contain the other NEST projects - we discussed adding a diagram for other projects and explain the ecosystem that NEST is in, but that is for another PR

Other changes

  • A modified colour theme is used (removing the green in favour of sticking to orange-brown and light and dark blue)
  • A cleanup of the static folder, and included jquery into template layout.html which solved a bug in the search.
  • The contribute section is split from the old developer docs in an attempt to make contribution section more available for everyone

@jessica-mitchell jessica-mitchell added the S: Normal Handle this with default priority label Oct 5, 2023
@clinssen
Copy link
Contributor

clinssen commented Oct 5, 2023

Thanks for the great work!

Just some early observatations:

I would not make "model implementations" a top-level category, at it just contains some scattered notes about a few models. Instead, make sure these notebooks are linked from the models to which they apply. For instance, link the Hill & Tononi notebook from the Hill & Tononi neuron and synapse model documentation pages.

I would move away from the "conceptual approach" imagemap as it's hard to navigate and the interface is a bit yesteryear. Instead, just expand all of the categories that can be clicked on the image into tiles (stimulation devices, neurons, synapses, connections, and recording devices).

What is the difference between "technical documentation" and "contribute to NEST"? Suggest to merge and use only the latter heading.

@clinssen clinssen self-requested a review October 5, 2023 12:03
@jessica-mitchell
Copy link
Contributor Author

Thanks for the great work!

Just some early observatations:

I would not make "model implementations" a top-level category, at it just contains some scattered notes about a few models. Instead, make sure these notebooks are linked from the models to which they apply. For instance, link the Hill & Tononi notebook from the Hill & Tononi neuron and synapse model documentation pages.

Yah, ok they should be linked from respective models, just wanted to check

I would move away from the "conceptual approach" imagemap as it's hard to navigate and the interface is a bit yesteryear. Instead, just expand all of the categories that can be clicked on the image into tiles (stimulation devices, neurons, synapses, connections, and recording devices).

I see your point; @jougs do you have thoughts on this, since this is an idea we discussed? The goal here was to provide a visual representation of how a network comes together.

What is the difference between "technical documentation" and "contribute to NEST"? Suggest to merge and use only the latter heading.

Right now, you're right there isnt much difference, but I am hoping we get some more technical docs that lean more on the C++ side.

Copy link
Contributor

@clinssen clinssen left a comment

Choose a reason for hiding this comment

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

Super cool and a huge improvement, much obliged!

.. grid-item-card:: Create a GitHub issue

If you have a feature request, bug report or other issue, create
an issue on GitHub using `the templates <https://github.com/nest/nest-simulator/issues/new/choose>`_
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
an issue on GitHub using `the templates <https://github.com/nest/nest-simulator/issues/new/choose>`_
an issue on GitHub using `the templates <https://github.com/nest/nest-simulator/issues/new/choose>`_.


In order to make sure that the NEST Initiative can manage the NEST code base in the long term,
we ask that you fill in the :download:`NEST Contributor Agreement <https://nest-simulator.readthedocs.io/en/latest/_downloads/9b65adbdacba6bfed66e68c62af4e308/NEST_Contributor_Agreement.pdf>`
form to transfer your copyright to the NEST initiative and send it to *info [at] nest-initiative.org*.
Copy link
Contributor

Choose a reason for hiding this comment

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

suggest to turn this into a link, writing @ as [at] probably isn't going to stop any spambots and it's a bit of an inconvenience

Suggested change
form to transfer your copyright to the NEST initiative and send it to *info [at] nest-initiative.org*.
form to transfer your copyright to the NEST initiative and send it to *info@nest-initiative.org*.


.. grid-item-card:: Continuous integration
* Here you can find details on our :ref:`CI workflow <cont_integration>`

Copy link
Contributor

Choose a reason for hiding this comment

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

The "SLI documentation" button just below here is devoid of text. Could we add a little one-liner? "SLI is the internal scripting language of NEST. It is now deprecated and not recommended for new applications". Perhaps also on the sli_docs index page as well.

@@ -1,10 +1,10 @@
.. _devdoc_workflow:

Developer documentation workflow
################################
Techincal documentation workflow
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Techincal documentation workflow
Technical documentation workflow

@@ -1,10 +1,29 @@
.. _device_index:

All about devices in NEST
=========================
All about recording and stimulating networks in NEST
Copy link
Contributor

Choose a reason for hiding this comment

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

Please add a link to this document under "More about devices" on get-started_index.html — or alternatively, delete devices/index.rst page as it contains very little content; just merge the links in to the "More about devices" box on get-started_index.html.

NEST is used in computational neuroscience to model and study behavior of large networks of neurons.

The models describe single neuron and synapse behavior and their connections.
Different mechanisms of plasticity can be used to investigate artificial learning
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Different mechanisms of plasticity can be used to investigate artificial learning
Different models of plasticity can be used to investigate the mechanisms learning

possibly, this is a "standard text" paragraph and edits should go in somewhere upstream instead?


----

Conceptual approach
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 vote to remove this paragraph and the imagemap figure.

Copy link
Contributor

Choose a reason for hiding this comment

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

there seems to be a glitch in this figure on the top

Copy link
Contributor

Choose a reason for hiding this comment

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

issue with transparency

Copy link
Contributor

Choose a reason for hiding this comment

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

Just to double-check that Angela is credited as original creator of the images.

@jessica-mitchell
Copy link
Contributor Author

@clinssen I am closing this PR in lieu of splitting it up into multiple PRs for a cleaner and easier review process. Thanks for your contributions thus far.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S: Normal Handle this with default priority T: Enhancement New functionality, model or documentation
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Docs landing page should showcase examples
2 participants