-
Notifications
You must be signed in to change notification settings - Fork 758
New Doxybook/Jekyll-based GitHub Pages documentation infrastructure #1475
Commits on Jan 13, 2022
-
Configuration menu - View commit details
-
Copy full SHA for f58deed - Browse repository at this point
Copy the full SHA f58deedView commit details -
Docs: Initial work on a new documentation framework based on Doxybook…
… and Jekyll. Docs/Jekyll: * Add a just-the-docs theme Jekyll setup in `docs/`, based on what we use for libcu++. * Create a skeleton of the basic structure of the Jekyll site. * Move the contents of `README.md`, `CHANGELOG.md`, and `CODE_OF_CONDUCT.md` into `docs/` and make `README.md`, `CHANGELOG.md`, and `CODE_OF_CONDUCT.md` symlinks into docs, because Jekyll doesn't allow you to reference files outside of the site root directory. GitHub accepts symlinks for these special files and renders them as if they were at the typical location as regular files. * Create `docs/changelog.md`, based on the content of `CHANGELOG.md`. * Create `docs/overview.md`, based on the content of `README.md`. * Move information on releases from `README.md` to `docs/releases.md`. Docs/Doxybook: * Add an initial version of Doxybook templates. The intention is to evolve them to render documentation in a style inspired by the C++ Standard and cppreference.com. * Emit code blocks as `<code>` HTML elements instead of Markdown triple backticks, as that makes it easier to control rendering. We emit one `<span>` for each line in the code block, and make the `<span>` block instead of inline; we can't use `<div>` because Github Flavored Markdown doesn't like them. Docs/Doxygen: * Update the Doxygen configuration to generate output suitable for consumption by Doxybook. * Add new Doxygen CSS themes, to explore the alternative of just using Doxygen's HTML output instead of Doxybook and Jekyll. * Remove `\file` commands with explicit filenames, as Doxygen can automatically figure this out, and spelling filenames explicitly will inevitably lead to bitrot as headers are moved and copied. * Replace `<code>` with `<tt>`. * Add missing `\brief` commands in a lot of places. * Hide the implementation details of the `thrust::async` from Doxygen. * Hide the implementation details of `thrust::tuple` from Doxygen. * Hide the implementation detail `thrust::detail::complex_storage` from Doxygen. * Modernize and cleanup documentation of `<thrust/type_traits/*>`. Code: * Fix some bad global search and replaces that had unintentionally modified the `<thrust/async/transform.h>` license headers * Include `<cstddef>` in `<thrust/device_ptr.h>`, `<thrust/detail/pointer.h>` and use `std::nullptr_t` instead of being cute and using `decltype(nullptr)` to avoid the extra include. * Reorganize the C++ language dialect codepaths in `<thrust/type_traits/integer_sequence.h>` so that the code is easier to navigate.
Configuration menu - View commit details
-
Copy full SHA for d097de2 - Browse repository at this point
Copy the full SHA d097de2View commit details -
* Increase the search indexing depth to 4th-level section headers to ensure that all functions and classes are indexed. * Add a CSS style `doxybook-comment` for comments in code. Docs/Doxybook: * Emit class declarations as `<code>` instead of triple backticks. * Emit comments in code blocks as `<span>`s with the `doxybook-comment` class. * Improve whitespace trimming in generated Markdown. Docs/Doxygen: * Guard doxygen-only code in headers with `#if THRUST_DOXYGEN` instead of `#if 0` * Add missing `\brief` commands for `thrust::device_ptr`.
Configuration menu - View commit details
-
Copy full SHA for f222a14 - Browse repository at this point
Copy the full SHA f222a14View commit details -
* Delete logic for properties, events, signals, and slots from our Doxybook templates, as those don't exist in C++ Doxygen output. * Replace class member tables with class member synopses. * Refactor `details.tmpl`, omitting fields that we never use. * Fix whitespace trimming in `header.tmpl`. * Make page titles for classes and structs be in code font. * Switch to emitting synopses in `kind_class.tmpl`. Docs/Doxygen: * Tweak excludes in the Doxygen config to not ignore public (e.g. non-detail) entities that happen to live in a detail header. * Add `\file` commands to detail files that contain things that need to be documented, like `<thrust/detail/pointer.h>` and `<thrust/detail/reference.h>`. * Hide implementation details in `<thrust/detail/file.h>` and `<thrust/detail/reference.h>` from Doxygen. * Start consolidating the `memory_management_classes` and `memory_management_functions` Doxygen groups into a new `memory_management` group. * Remove filename argumens from `\file` commands in more places. * Improve documentation of `thrust::device_ptr`. * Remove some unnecessary Doxygen-only code from `thrust::host_vector`. * Fix some malformed Doxygen commands in `thrust::optional`. * Switch from the `\c` command to `<tt>`. Code: * Remove `thrust::system::cuda::experimental::pinned_allocator.h`, which has been deprecated for a long time. * Remove unnecessary SFINAE from `thrust::tagged_reference`. * Replace a `typedef` with a `using` in `thrust::device_ptr`. * Include `<type_traits>` from `<thrust/device_ptr.h>`.
Configuration menu - View commit details
-
Copy full SHA for fb24e32 - Browse repository at this point
Copy the full SHA fb24e32View commit details -
* Lift and abstract more synopsis rendering logic into `synopsis*.tmpl`. * Start emitting synopses in a lot more places, like for nested classes and classes on group pages. * Improve whitespace trimming in `class_members_inherited_tables.tmpl`.
Configuration menu - View commit details
-
Copy full SHA for 5194e54 - Browse repository at this point
Copy the full SHA 5194e54View commit details -
* Use `docs/api` as the output directory for Doxybook-generated Markdown. * Generate Doxybook JSON for debugging purposes. Docs/Doxygen: * Fix hiding of implementation details in `thrust::tuple`.
Configuration menu - View commit details
-
Copy full SHA for 98002b3 - Browse repository at this point
Copy the full SHA 98002b3View commit details -
Docs: Render nested classes as Markdown lists in Doxybook for the tim…
…e being, as sadly Doxygen doesn't include information about the template parameters of nested classes.
Configuration menu - View commit details
-
Copy full SHA for fd2bfbd - Browse repository at this point
Copy the full SHA fd2bfbdView commit details -
* Add new Doxybook table rendering for nested classes, classes on group pages, and enums. * Lift more logic into the `synopsis*.tmpl` Doxybook abstractions and refactor them. * Re-add Doxybook rendering of member variables, which was accidentally removed because I didn't realize that Doxybook/Doxygen "attributes" are used to model them. * Switch to synopsis rendering for Doxybook class overviews. There's one synopsis for each kind of member; eventually we will have one synopsis for each class. * Refactor Doxybook member rendering substantially, moving away from tables and towards synopses with descriptive paragraphs. * Add support for page and section title handling for kinds of entities previously not supported in Doxybook, like namespaces. * Fix Doxybook rendering of enum classes. * Improve Doxybook whitespace trimming.
Configuration menu - View commit details
-
Copy full SHA for fd733b8 - Browse repository at this point
Copy the full SHA fd733b8View commit details -
Configuration menu - View commit details
-
Copy full SHA for b41100b - Browse repository at this point
Copy the full SHA b41100bView commit details -
Docs: remove "outputDir", "debugTemplateJson", and "useFolders" from the
Doxybook JSON config, as they can only be set on the command line.
Configuration menu - View commit details
-
Copy full SHA for 1564cb5 - Browse repository at this point
Copy the full SHA 1564cb5View commit details -
Docs: Fix
.gitignore
s which incorrectly ignored stuff indoc/
ins……tead of `docs/`.
Configuration menu - View commit details
-
Copy full SHA for 275e804 - Browse repository at this point
Copy the full SHA 275e804View commit details -
* Switch Doxybook from rendering separate synopses for each individual kind of class member to rendering one grand synopsis for the entire class. * Use a special noop Doxybook builtin `comment` instead of Inja comments for whitespace trimming, because Inja comments don't actually do whitespace trimming. * Add a test for Doxybook rendering of a predefined friend class. * Add a test for Doxybook line wrap indentation handling.
Configuration menu - View commit details
-
Copy full SHA for 97363fa - Browse repository at this point
Copy the full SHA 97363faView commit details -
* Add initial Doxybook support for indenting the members of a class in a class synopsis. The current solution is CSS-based. While it looks great, but unfortunately due to how it works, if you select the synopsis and copy/paste it somewhere else, the indentation isn't copied. * Add missing closing `};` to Doxybook class synopses. * Use simpler section titles for Doxybook class member details. * Fix qualification of member names in Doxybook member details. * Add additional Doxybook line wrap tests. * Add Doxybook struct tests.
Configuration menu - View commit details
-
Copy full SHA for bed49dd - Browse repository at this point
Copy the full SHA bed49ddView commit details -
* Use the Doxybook builtin `noop` instead of Inja comments for whitespace trimming, as Inja doesn't actually trim whitespace on comments yet. * Switch to synopsis rendering for groups. * Add support for rendering the template parameters of nested classes in class synopses correctly by loading the page for the nested class and reading the template parameters from it using the new Doxybook `load` builtin. * Render friend classes and functions in Doxybook class synopses. * Render protected members in Doxybook class synopses. * Add "Member" to section titles in Doxybook class member details. * Refactor `synopsis_kind*.tmpl` and `synopsis_type_and_leading_specifiers.tmpl` to be a bit more readable and handle whitespace trimming better. * Add tests for Doxybook protected member rendering. * Add tests for Doxybook `= default` rendering. Code: * Add and deploy a macro abstraction for trailing return types, which seem to confuse Doxygen and lead to grievous misrenders. * Remove or refactor some unnecessary uses of trailing return types, especially in `thrust::async`.
Configuration menu - View commit details
-
Copy full SHA for 756e1f8 - Browse repository at this point
Copy the full SHA 756e1f8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6a0e4f1 - Browse repository at this point
Copy the full SHA 6a0e4f1View commit details -
Docs: Hide friend classes and functions in Doxygen, because we don't …
…have a way to render and link to them properly, and they typically aren't important to document.
Configuration menu - View commit details
-
Copy full SHA for 05ffa26 - Browse repository at this point
Copy the full SHA 05ffa26View commit details -
Docs: Add a test case for Doxygen rendering of friend functions defin…
…ed outside of the class body.
Configuration menu - View commit details
-
Copy full SHA for 719fc2f - Browse repository at this point
Copy the full SHA 719fc2fView commit details -
Docs: Add Doxybook
name_qualified
andname_unqualified
templates forrendering C++ names.
Configuration menu - View commit details
-
Copy full SHA for 1ff8357 - Browse repository at this point
Copy the full SHA 1ff8357View commit details -
* Refactor the `title_member` Doxybook template. * Add a new `title_nonmember` Doxybook template. * Fix header rendering in the `class_members_details` Doxybook template.
Configuration menu - View commit details
-
Copy full SHA for a40a2d3 - Browse repository at this point
Copy the full SHA a40a2d3View commit details -
* Added synopsis-style rendering of friends and inherited members to the `class_members` Doxybook template. * Added a new system for indentation in Doxybook synopsis templates. The new mechanism emits actual spaces, making it easier to copy and paste from the rendered docs. * Extracted Doxybook synopsis logic for members and friends out of `class_members` into new `synopsis_member_*` and `synopsis_friend_*` templates. * Improved Doxybook leading line break logic to never emit unneeded line breaks in synopses. * Cleanup whitespacing trimming and formating in the `class_members` and `synopsis_*` Doxybook templates.
Configuration menu - View commit details
-
Copy full SHA for 3702a2c - Browse repository at this point
Copy the full SHA 3702a2cView commit details -
* Rewrote the `nonclass_members` and `nonclass_members_details` Doxybook templates to do synopsis-style rendering of groups. * Added new Doxybook templates for rendering synopses for group members.
Configuration menu - View commit details
-
Copy full SHA for 798bbc3 - Browse repository at this point
Copy the full SHA 798bbc3View commit details -
Docs: Refactored the
index
Doxybook template to be implemented recu……rsively instead of using manual expansion of loops.
Configuration menu - View commit details
-
Copy full SHA for 070d20b - Browse repository at this point
Copy the full SHA 070d20bView commit details -
* Consolidate the `header` and `meta` Doxybook templates into a new `frontmatter` template. * Refactor conditionals and improve whitespace trimming in the `frontmatter` Doxybook template.
Configuration menu - View commit details
-
Copy full SHA for 7bf64b2 - Browse repository at this point
Copy the full SHA 7bf64b2View commit details -
Docs: Add Doxybook rendering test for classes in nested namespaces an…
…d operator overloads.
Configuration menu - View commit details
-
Copy full SHA for 5b9f07c - Browse repository at this point
Copy the full SHA 5b9f07cView commit details -
* Add Doxybook support for rendering namespace synopses. * Consolidate `synopsis_member_*` and `synopsis_*` variants of Doxybook templates. * Print out details for classes that are members of groups, namespaces, or other classes. * Add a parameterized mechanism for rendering a name as either qualified or unqualified.
Configuration menu - View commit details
-
Copy full SHA for 4f3d79d - Browse repository at this point
Copy the full SHA 4f3d79dView commit details -
* Add missing HTML escaping to Doxybook templates. * Fix rendering of comment after namespace closing brace. * When generating a Doxybook member detail section for a class, add a link to it.
Configuration menu - View commit details
-
Copy full SHA for edd8ec8 - Browse repository at this point
Copy the full SHA edd8ec8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1168666 - Browse repository at this point
Copy the full SHA 1168666View commit details -
Docs: Move
README.md
,CHANGELOG.md
, andCODE_OF_CONDUCT.md
back…… to their original homes; instead of making them symlinks, we'll just copy them into the `docs/` tree when we are building the documentation.
Configuration menu - View commit details
-
Copy full SHA for b7c0d54 - Browse repository at this point
Copy the full SHA b7c0d54View commit details -
Configuration menu - View commit details
-
Copy full SHA for 58a8396 - Browse repository at this point
Copy the full SHA 58a8396View commit details -
Configuration menu - View commit details
-
Copy full SHA for ef10be5 - Browse repository at this point
Copy the full SHA ef10be5View commit details -
* Add a crude build script for generating markdown with Doxybook and Doxygen. * Add a script for serving documentation locally.
Configuration menu - View commit details
-
Copy full SHA for dc21c64 - Browse repository at this point
Copy the full SHA dc21c64View commit details -
Docs/Doxybook: Ensure all docs subdirectories are created before we t…
…ry to copy files from the repository root into them.
Configuration menu - View commit details
-
Copy full SHA for 36c9c1f - Browse repository at this point
Copy the full SHA 36c9c1fView commit details -
Docs: Do a
bundle install
before trying to start Jekyll in`serve_docs_locally.bash`.
Configuration menu - View commit details
-
Copy full SHA for 322da5c - Browse repository at this point
Copy the full SHA 322da5cView commit details -
Docs/CI: Add GitHub Action to generate the documentation as a Jekyll …
…site and publish it to GitHub Pages on each commit.
Configuration menu - View commit details
-
Copy full SHA for 2e4c008 - Browse repository at this point
Copy the full SHA 2e4c008View commit details -
Configuration menu - View commit details
-
Copy full SHA for 51651ef - Browse repository at this point
Copy the full SHA 51651efView commit details -
Docs: Incorporate
CONTRIBUTING.md
into the new documentation system,splitting it up into multiple pages.
Configuration menu - View commit details
-
Copy full SHA for 70f3118 - Browse repository at this point
Copy the full SHA 70f3118View commit details -
Docs: Move the Doxybook test header to the
testing/
folder so it wo……n't get picked up by the header tester, be confused for a real header, or appear in the production docs build.
Configuration menu - View commit details
-
Copy full SHA for 86db025 - Browse repository at this point
Copy the full SHA 86db025View commit details -
Docs/Doxybook: When we're building the docs locally, the root URL is …
…`localhost`, so we set Doxybook's `baseUrl` parameter to `/api/`. However when deploying to the production GitHub Pages environment, the root URL is `nvidia.github.io/thrust`, so `baseUrl` needs to be `/thrust/api` instead. `generate_markdown.bash` has been changed to set `baseUrl` to `/thrust/api/` by default; `--local` will set it to `/api/` instead.
Configuration menu - View commit details
-
Copy full SHA for a89f97d - Browse repository at this point
Copy the full SHA a89f97dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9c6560a - Browse repository at this point
Copy the full SHA 9c6560aView commit details -
Remove entries specific to our local personal build environments from…
… .gitignore. We can use `.git/info/exclude` instead.
Configuration menu - View commit details
-
Copy full SHA for d0ae525 - Browse repository at this point
Copy the full SHA d0ae525View commit details -
Configuration menu - View commit details
-
Copy full SHA for 744b1b0 - Browse repository at this point
Copy the full SHA 744b1b0View commit details -
Docs: Update the instructions for getting Thrust and adding it to you…
…r project, and remove the now-redundant "getting Thrust and CUB" subpage of "setup".
Configuration menu - View commit details
-
Copy full SHA for 87cd9cd - Browse repository at this point
Copy the full SHA 87cd9cdView commit details -
Docs/Doxygen: Define the Thrust namespace macros when generating docs…
… with Doxygen so that things actually show up in namespaces.
Configuration menu - View commit details
-
Copy full SHA for cad5d31 - Browse repository at this point
Copy the full SHA cad5d31View commit details -
Docs/Doxybook: Fix
generate_markdown.bash
to pass "baseUrl" instead…… of the incorrect "baseURL" to Doxybook via `--config-data`, so that local builds actually use the correct path prefix.
Configuration menu - View commit details
-
Copy full SHA for ce53222 - Browse repository at this point
Copy the full SHA ce53222View commit details -
Docs/Doxybook: Correctly render qualified names for all entities usin…
…g the newly exposed `qualifiedname` metadata that I've modified Doxygen and Doxybook to output. This fixes a rendering bug with the section titles of template class member functions where `::>::` would erronously appear because the now-unneeded `extractQualifiedNameFromFunctionDefinition` didn't work correctly.
Configuration menu - View commit details
-
Copy full SHA for af27c67 - Browse repository at this point
Copy the full SHA af27c67View commit details -
Docs:
docs/setup/requirements.md
updates and corrections.* Mention that C++11 is deprecated in the requirements section. * Instead of specifying a specific version of NVCC and NVC++, say that the latest version is required. * Remove Android and QNX from the list of supported platforms. * Fix a copy/paste error that said "libcu++" instead of "Thrust and CUB".
Configuration menu - View commit details
-
Copy full SHA for 968dc44 - Browse repository at this point
Copy the full SHA 968dc44View commit details -
* thrust/system/detail/sequential/sort.inl: Fix typo in copyright date. * thrust/system_error.h: Remove extraneous space and fix formatting in Doxygen comment for namespace `thrust::system`.
Configuration menu - View commit details
-
Copy full SHA for 953f3b9 - Browse repository at this point
Copy the full SHA 953f3b9View commit details -
Docs/Doxybook: Don't use the Doxybook
initializer
metadata when ren……dering macros: it doesn't have the parameters for function-like macros and doesn't have line breaks for multi-line macro definitions.
Configuration menu - View commit details
-
Copy full SHA for 3e2686e - Browse repository at this point
Copy the full SHA 3e2686eView commit details -
Docs/Doxybook: Correct the section id anchors for members / entities …
…in groups to use the same anchor escaping that Doxybook links to those sections expect. This fixes broken links to many things.
Configuration menu - View commit details
-
Copy full SHA for 32c9449 - Browse repository at this point
Copy the full SHA 32c9449View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4874f9d - Browse repository at this point
Copy the full SHA 4874f9dView commit details -
Configuration menu - View commit details
-
Copy full SHA for dd48d40 - Browse repository at this point
Copy the full SHA dd48d40View commit details -
Docs/Doxybook: Correctly set the indent level when rendering "Inherit…
…ed from" comments in synopses.
Configuration menu - View commit details
-
Copy full SHA for 4116802 - Browse repository at this point
Copy the full SHA 4116802View commit details -
Docs/Doxybook: Move the Doxybook logic that marks things as "Inherite…
…d from" into each synopsis template so that newlines are inserted in the right place.
Configuration menu - View commit details
-
Copy full SHA for 3888649 - Browse repository at this point
Copy the full SHA 3888649View commit details -
Docs: Make
generate_markdown.bash
exit with an error code if one of…… the underlying steps fails, so that errors are correctly reported by the GitHub action that runs it.
Configuration menu - View commit details
-
Copy full SHA for f06ed7a - Browse repository at this point
Copy the full SHA f06ed7aView commit details -
Docs: Restructure new Doxybook/Jekyll framework to build out of tree in
`build_docs` and unify the baseurl local builds and deployed GitHub Pages builds.
Configuration menu - View commit details
-
Copy full SHA for f67ed27 - Browse repository at this point
Copy the full SHA f67ed27View commit details -
Docs: Update the image used for the GitHub Action that builds our Git…
…Hub Pages so that the right versions of Doxybook and Doxygen are used.
Configuration menu - View commit details
-
Copy full SHA for 5bdb063 - Browse repository at this point
Copy the full SHA 5bdb063View commit details
Commits on Jan 24, 2022
-
Docs: Have the GitHub Action only build and deploy documentation from…
… the `main` branch.
Configuration menu - View commit details
-
Copy full SHA for c09d979 - Browse repository at this point
Copy the full SHA c09d979View commit details