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

New documentation system #1766

Merged
merged 41 commits into from
Jul 22, 2019
Merged

New documentation system #1766

merged 41 commits into from
Jul 22, 2019

Conversation

mikee47
Copy link
Contributor

@mikee47 mikee47 commented Jul 14, 2019

See docs/README.md for building instructions.

Please read Contributing / Documentation for details (source is docs/source/contribute/documentation.rst).

See #1683 for discussion.

@slaff slaff added this to the 3.9.0 milestone Jul 14, 2019
@slaff slaff mentioned this pull request Jul 14, 2019
4 tasks
@mikee47 mikee47 force-pushed the feature/sphinx-docs branch 3 times, most recently from f4f96d5 to 86f5001 Compare July 14, 2019 20:48
docs/Makefile Outdated Show resolved Hide resolved
@mikee47 mikee47 force-pushed the feature/sphinx-docs branch 2 times, most recently from 4e8027c to 0838545 Compare July 17, 2019 19:06
docs/source/conf.py Outdated Show resolved Hide resolved
@slaff
Copy link
Contributor

slaff commented Jul 19, 2019

@mikee47 we can add the initial version of the documentation. It is not complete but the structure looks good. Did you plan to add anything more here?

@mikee47
Copy link
Contributor Author

mikee47 commented Jul 19, 2019

@slaff Now the patching update is merged I'll rebase, tidy up and push the latest changes through. They're in my dev/sphinx-docs branch and that version is available on readthedocs if you want to have a browse.

Rough list of changes:

  • README files may be either README.rst or README.md
  • Every Component, Library and Sample page gets an automatic 'references' section at the bottom, plus a list of any environment variables it defines. The actual README is included, and is now simpler as it doesn't need to bother with any of that.
  • Fixes to doxygen comments (gets rid of a load of warnings/errors)
  • Add section on patching to the 'building' docs.

@mikee47 mikee47 changed the title [WIP] New documentation system New documentation system Jul 19, 2019
@mikee47
Copy link
Contributor Author

mikee47 commented Jul 20, 2019

@slaff I'm reasonably OK with how the build system is working, so this morning taking some time to read through from the top and fix anything I come across. I'll check them in later today, up to you whether to include them in the initial merge or leave it for another PR.

@slaff
Copy link
Contributor

slaff commented Jul 20, 2019

@mikee47 With the latest update the list of sample project is not showing any longer. The list of Arduino Libraries is not showing either. What am I doing wrong?

@mikee47
Copy link
Contributor Author

mikee47 commented Jul 20, 2019

@slaff You've done nothing! RTD doesn't always track changes very well so I wiped and rebuilt it manually.

@mikee47
Copy link
Contributor Author

mikee47 commented Jul 20, 2019

@slaff Once you've merged this I'll update the RTD project to point to the real repo. I've added you as a maintainer so you should be able to make changes https://readthedocs.org/projects/sming/.

@slaff
Copy link
Contributor

slaff commented Jul 20, 2019

https://sming.readthedocs.io/en/latest/api/index.html: Concerning the API - is there something planned to integrate the current API docs (the ones that doxygen generates).

@mikee47
Copy link
Contributor Author

mikee47 commented Jul 20, 2019

Yes, more work required there. There should be stuff under Streams now (reverted a change made during later updates) so that's the sort of thing. It does need breaking up more logically though so is a project all in itself.

* Remove Wiki
* Revise doxygen processing to produce XML output for `breathe` to process
* Freeze sphinx at 1.8.5, version 2+ still has issues with doxygen
* Add custom link roles
* Pull in README files and images from Components, Libraries and Samples including submodules
* Warn if README expected but not found
* Add ReadTheDocs config, build has to run from conf.py
* Remove old documentation build targets (docs, wiki)
* Add `docs` target to build new documentation
* Add `docs-clean` target, include in `dist-clean`
* Move submodule patching into build.mk and update to support whole-file replacement by creating sub-directories under '.patches'
* Remove `all-submodules` target from project build, put it back into main makefile as `submodules`
@mikee47
Copy link
Contributor Author

mikee47 commented Jul 21, 2019

I've put back the original doxygen API, but it's bound up with Sphinx so still get version control.
I've also enabled graphs to assist with navigating and understanding class hierarchies and other relationships.

Whilst there are a number of extensions which could help, there is no easy way to generate a similar level of information within Sphinx. In fact, the two sets of documentation are complimentary and serve different purposes.

Note that any code docs we pull into Sphinx using the breathe extension won't be linked to the API section.

@slaff
Copy link
Contributor

slaff commented Jul 22, 2019

@mikee47 I am planning to merge this PR. Did you plan to add something more or I should merge it today?

@mikee47
Copy link
Contributor Author

mikee47 commented Jul 22, 2019

I'm all finished for now. There is one (very) minor bug that I'm aware of, which affects markdown documents containing links to other (local) markdown. It's been raised already:

miyakogi/m2r#41 (comment)

This affects the links to Release Notes and Contributors here:
https://sming.readthedocs.io/en/latest/_inc/Sming/Libraries/IR/index.html

@slaff slaff removed the 3 - Review label Jul 22, 2019
@slaff slaff merged commit 7c71650 into SmingHub:develop Jul 22, 2019
@mikee47
Copy link
Contributor Author

mikee47 commented Jul 22, 2019

I've updated RTD, should have docs shortly.

@mikee47
Copy link
Contributor Author

mikee47 commented Jul 22, 2019

Couple of issues to fix re. #1763:

  • Didn't pick up changes, so did a manual wipe/rebuild. Will investigate.
  • Missing title in README for MCP23008. Probably needs clarifying in documentation.

I'll do a PR to address these.

@mikee47 mikee47 deleted the feature/sphinx-docs branch July 22, 2019 08:38
@mikee47
Copy link
Contributor Author

mikee47 commented Jul 22, 2019

* Didn't pick up changes,

Can't see any issue with the build system, so I'm guessing it's because the webhook isn't working yet. I guess when it is we'll need to move things into another RTD account?

@slaff
Copy link
Contributor

slaff commented Jul 26, 2019

@mikee47 Do you want to submit as PR the work that you have done here: https://github.com/mikee47/Sming/tree/update/library-docs ?

@mikee47
Copy link
Contributor Author

mikee47 commented Jul 26, 2019

Still incomplete. Has uncovered some other stuff needs sorting as well.

@mikee47 mikee47 restored the feature/sphinx-docs branch June 20, 2024 09:23
@mikee47 mikee47 deleted the feature/sphinx-docs branch June 20, 2024 09:26
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.

None yet

3 participants