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

Modify model directory documentation UI and related pages #3203

Open
wants to merge 55 commits into
base: master
Choose a base branch
from

Conversation

jessica-mitchell
Copy link
Contributor

@jessica-mitchell jessica-mitchell commented May 2, 2024

This PR modifies the model directory page and how it functions as well as related pages with significant changes. There is now a interactive UI that dynamically loads results of button selection using Javascript.

See Read the Docs output here: https://nest-simulator--3203.org.readthedocs.build/en/3203/models/index.html

The script that extracted the model user docs and built the indices is heavily modified, and renamed to model_tag_setup.py, The script extracts the text and creates rst model pages and extracts the tags for each model and creates dictionaries, {model: [tags]} and [{tag: "tag", models: ["models"], count: # of models}]. These dictionaries are used in Jinja templates as well as a JSON file is created to be used by Javascript that will render the output client-side.

The models/index page now has a 'model selector' that displays each tag, in order of number of models that have that tag (with exception of neuron, synapse and device being the first tags) as multi-select buttons.
By clicking on one or more buttons the corresponding models will be displayed.

In addition to the model selector there is also a dropdown that lists in alphabetical order (grouped by neuron, synapse, and device) all models.

Some information from 'models-main' is moved into here. The page also has links to pages for more info on neurons, synapses and devices - these pages will require more work in the future but each of those pages also lists all corresponding models.

When working on this, I found that the pre-commit hook for clang would fail, so changes to it were also done, and fixes #3182
Fixes #2563

@clinssen
Copy link
Contributor

clinssen commented May 2, 2024

Thanks for this! Could you post a link to the rendered RtD page for this PR?

models/erfc_neuron.h Outdated Show resolved Hide resolved
@jessica-mitchell
Copy link
Contributor Author

Thanks for this! Could you post a link to the rendered RtD page for this PR?

I just did, see top comment (you were just too fast :) )


.. note::

NESTML is also available as part of NEST's official :ref:`docker image <docker>`.
Copy link
Contributor

Choose a reason for hiding this comment

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

Maybe this does not belong here and can be removed.


----

What we mean by `models`
Copy link
Contributor

Choose a reason for hiding this comment

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

Perhaps point out that the models on this page belong to the first category.




Find a model
Copy link
Contributor

Choose a reason for hiding this comment

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

Can this section be eliminated? "Find a model" could go straight to the model selector. The "learn more about" could go as a separate header/paragraph at the bottom of the page.

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.

The models in the list displayed by the model selector have the pilcrow character ("¶") at the end of the link; can this be eliminated?

Documentation automation moved this from In progress to Review Jul 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I: No breaking change Previously written code will work as before, no one should note anything changing (aside the fix) S: Normal Handle this with default priority T: Enhancement New functionality, model or documentation
Projects
Documentation
  
Review
Development

Successfully merging this pull request may close these issues.

Clang-format does not support JavaScript error Improve model directory listing in Read the Docs
2 participants