This repository has been archived by the owner on Mar 21, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 758
New Doxybook/Jekyll-based GitHub Pages documentation infrastructure (take two) #1611
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
brycelelbach
force-pushed
the
feature/new-docs-v2
branch
from
February 1, 2022 17:36
24a34c4
to
16ba79c
Compare
run tests |
1 similar comment
run tests |
This reverts commit 4d657ac.
…s that cause Doxygen to choke.
`thrust::pointer` and `thrust::device_ptr` to silence spurious "set but not used" warnings from old GCC versions.
brycelelbach
force-pushed
the
feature/new-docs-v2
branch
from
February 10, 2022 18:18
16ba79c
to
ee638c2
Compare
run tests |
DVS CL: 30976967 |
alliepiper
added
type: enhancement
New feature or request.
P0: must have
Absolutely necessary. Critical issue, major blocker, etc.
testing: gpuCI in progress
Started gpuCI testing.
testing: internal ci in progress
Currently testing on internal NVIDIA CI (DVS).
labels
Feb 10, 2022
Thanks Allison. |
gpuCI and DVS are passing, I think we are good to merge. |
alliepiper
approved these changes
Feb 11, 2022
alliepiper
added
testing: gpuCI passed
Passed gpuCI testing.
testing: internal ci passed
Passed internal NVIDIA CI (DVS).
and removed
testing: internal ci in progress
Currently testing on internal NVIDIA CI (DVS).
testing: gpuCI in progress
Started gpuCI testing.
labels
Feb 11, 2022
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
P0: must have
Absolutely necessary. Critical issue, major blocker, etc.
testing: gpuCI passed
Passed gpuCI testing.
testing: internal ci passed
Passed internal NVIDIA CI (DVS).
type: enhancement
New feature or request.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR (a revived version of #1475) introduces a new documentation infrastructure. It generates Doxygen XML output, and then uses the Doxybook2 framework to generate GitHub Flavored Markdown. That GitHub Flavored Markdown is rendered using the Jekyll just-the-docs theme.
The final product is documentation in the style of the C++ Standard and cppreference that can be deployed to GitHub Pages. For each class or Doxygen group, there is a code synopsis of all entities, followed by a section that contains detailed descriptions of them. Users can browse the docs using the sidebar or with just-the-docs powerful builtin search mechanism.
There are two scripts that can be used to locally build and host the docs:
docs/generate_markdown.bash
: This runs Doxygen and then Doxybook to generate the Markdown for the API docs.docs/serve_jekyll_locally.bash
: This will start a local Jekyll server that will host the docs. You need to rundocs/generate_markdown.bash
first. Jekyll will build the HTML site when it starts, which takes a few minutes.To build locally, you need to install Doxygen, Ruby (Debian package:
ruby-dev
), and Bundler (Debian package:bundler
), which you should be able to do through your system's package manager.You'll also need to build Doxybook from source, which is pretty easy to do. You'll need vcpkg to install Doxybook's dependencies - note that you'll need to specify
--head
when installing the inja dependency to ensure you get the correct version:Note that the above command install
inja
may fail within the NVIDIA VPN due to GitHub API rate limits (see microsoft/vcpkg#19177). As an alternative, you can just grab and build inja, and then add the inja build directory to yourCMAKE_PREFIX_PATH
when building Doxybook.Automated builds and deploy of the docs to GitHub pages are in place. The rendered docs from the tip of this branch can be seen at https://nvidia.github.io/thrust