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

Docs structure #250

Closed
wants to merge 1 commit into from
Closed

Docs structure #250

wants to merge 1 commit into from

Conversation

vigneswaran-chandrasekaran

Hi @neworderofjamie , I just added a basic minimal structure with sphinx (in source directory) using Breathe extension to get the Doxygen generated XML files (currently in documentation/xml/). In a nutshell,

  1. Edited doxygen/genn-doxygen.conf file to generate XML (line GENERATE_XML = YES).
  2. Generated XML files are stored in documentation/xml.
  3. Set Sphinx source directory, using sphinx-quickstart.
  4. Edited source/conf.py file to add Breathe extension and added path of doxygen generated XML files.
  5. Edit index.rst to add doxygenclass etc. (which needs to be done with some discussions).
  6. Sphinx build to generate html files (Saved in Source/_build)

Kindly have a look and as a newbie to GeNN, I am not certain about arranging index.rst file entities from XML files to determine how the final doc should look like. So I need your support here to finish this successfully.
fixes #230

@neworderofjamie neworderofjamie changed the base branch from master to readthedocs August 13, 2019 14:10
@neworderofjamie neworderofjamie changed the base branch from readthedocs to master August 13, 2019 14:30
@@ -0,0 +1,4 @@
# Sphinx build info version 1
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think the _build folder should be added to git (in the same way that the contents of documentation is currently not

make.bat Show resolved Hide resolved
@neworderofjamie
Copy link
Contributor

neworderofjamie commented Aug 13, 2019

Thank you so much for looking at this! I've made a couple of suggestions but, in answer to your main point, in general we'd like the sphinx documentation to look much like our current doxygen-based documentation. Things to consider are:

  1. As well as auto-generated documentation, we also have a bunch of dox pages we have written - it looks like doxygen includes them in its xml output but I'm not at all clear how to reference them
  2. Currently we're using doxypypy to generate documentation for GeNN's python interface and these are somewhat intermingled with the other code documentation. It might make sense to instead build these directly using sphinx.

@neworderofjamie
Copy link
Contributor

I also spotted https://github.com/vovkos/doxyrest which might be worth trying as an alternative to breathe

@vigneswaran-chandrasekaran
Copy link
Author

Hi, as you suggested, I used doxyrest as a bridge between sphinx and doxygen. All the doxyrest related files are located in doxyrest/ directory. And I have added doxyrest/build/ dir for your reference to the generated html files (which I'm worried about). I've integrated doxyrest pipeline to the project and finally when sphinx generate html files from .rsts (which is populated by doxygen's XML file [in dir: doxyrest/xml] with the help of doxyrest), I wouldn't able to see any document elements 😞 . (However when I run doxygen/genn-doxygen.conf, I get html, xml and pdf files, in which when I try to open index.html, I end up with same empty documentation page). I'm pretty sure that, I am missing a small piece somewhere but hard to figure out.

And regarding the doxyrest setup I followed the steps mentioned in:

  1. https://github.com/vovkos/doxyrest
  2. https://vovkos.github.io/doxyrest/build-guide/

@neworderofjamie
Copy link
Contributor

neworderofjamie commented Sep 5, 2019

Ok, after a lot of fiddling with readthedocs/Jenkins, this is now basically working on the readthedocs2 branch (the best thing may be to update your fork and work from there). Outstanding things that need investigating are:

  • It would be nice if the version of GeNN was included in the sphinx documentation - this is specified globally in version.txt so you just need to read it in with Python
  • Static images aren't getting copied from doxygen/images/ into wherever sphinx wants them
  • Release notes are somehow turned into top-level menu items - I imagine this needs fixing in the doxygen
  • There are a lot of warnings being issued at various stages - are these causing any issues?
  • The order of pages in doxygen was intentional but they are now ordered alphabetically - is there anything that can be done about this?
  • The bibleography seems broken - is this something it's possible to fix? It's possibly a problem with the latex install on our build machine

@vigneswaran-chandrasekaran
Copy link
Author

Oh! I didn't get a notification at all. I randomly surfed through here to check the updates on ReadTheDocs and surprised to see many things that I did not follow for many days. Apologies for that. I'll look into the things mentioned 👍

@neworderofjamie
Copy link
Contributor

No worries, github notifications can be a bit flaky at times!

@codecov
Copy link

codecov bot commented Sep 27, 2019

Codecov Report

Merging #250 into master will decrease coverage by 0.72%.
The diff coverage is 86.64%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #250      +/-   ##
==========================================
- Coverage   87.64%   86.92%   -0.73%     
==========================================
  Files          62      121      +59     
  Lines        8363    23474   +15111     
==========================================
+ Hits         7330    20405   +13075     
- Misses       1033     3069    +2036     
Impacted Files Coverage Δ
...ude/genn/backends/cuda/presynapticUpdateStrategy.h 100.00% <ø> (ø)
include/genn/genn/currentSourceModels.h 94.44% <ø> (-5.56%) ⬇️
include/genn/genn/initVarSnippet.h 85.71% <ø> (-14.29%) ⬇️
include/genn/genn/neuronGroup.h 80.32% <ø> (+8.58%) ⬆️
include/genn/genn/neuronGroupInternal.h 74.46% <ø> (+74.46%) ⬆️
include/genn/genn/postsynapticModels.h 87.50% <ø> (+37.50%) ⬆️
include/genn/genn/synapseGroupInternal.h 90.69% <ø> (+90.69%) ⬆️
include/genn/genn/synapseMatrixType.h 75.00% <ø> (+25.00%) ⬆️
include/genn/genn/weightUpdateModels.h 87.50% <ø> (+43.75%) ⬆️
src/genn/genn/currentSourceModels.cc 95.83% <ø> (-4.17%) ⬇️
... and 151 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d1c3d36...2e3783d. Read the comment docs.

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.

Read the docs
2 participants