Skip to content

Commit

Permalink
Standardize documentation for ReadtheDocs (#360)
Browse files Browse the repository at this point in the history
* Standardize documentation for ReadtheDocs

* Use custom venv for RTD doxygen 1.9.8
  • Loading branch information
samjwu authored Jan 12, 2024
1 parent 9e81cdf commit 7328a6e
Show file tree
Hide file tree
Showing 13 changed files with 61 additions and 27 deletions.
8 changes: 7 additions & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,13 @@
version: 2
updates:
- package-ecosystem: "pip" # See documentation for possible values
directory: "/docs/.sphinx" # Location of package manifests
directory: "/docs/sphinx" # Location of package manifests
open-pull-requests-limit: 10
schedule:
interval: "daily"
labels:
- "documentation"
- "dependencies"
- "ci:docs-only"
reviewers:
- "samjwu"
6 changes: 0 additions & 6 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,12 +1,6 @@
### Build dirs ###
build/

### Docs dirs ###
doc/html/
doc/xml/
doc/latex/
doc/*.tag

# Created by https://www.gitignore.io/api/c++,cmake

### C++ ###
Expand Down
11 changes: 7 additions & 4 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,16 @@ version: 2
sphinx:
configuration: docs/conf.py

formats: [htmlzip]
formats: [htmlzip, pdf, epub]

python:
install:
- requirements: docs/.sphinx/requirements.txt
- requirements: docs/sphinx/requirements.txt

build:
os: ubuntu-20.04
os: ubuntu-22.04
tools:
python: "3.8"
python: "mambaforge-22.9"

conda:
environment: docs/environment.yml
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ You can build our documentation locally using the following commands:
cd rocThrust; cd docs

# Install Python dependencies
python3 -m pip install -r .sphinx/requirements.txt
python3 -m pip install -r sphinx/requirements.txt

# Build the documentation
python3 -m sphinx -T -E -b html -d _build/doctrees -D language=en . _build/html
Expand Down
8 changes: 3 additions & 5 deletions docs/.gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
/_build
/_doxygen
/_images
/_static
/_templates
/.doxygen/docBin
/.sphinx/_toc.yml
/doxygen/html/
/doxygen/xml/
/sphinx/_toc.yml
1 change: 0 additions & 1 deletion docs/.sphinx/requirements.in

This file was deleted.

23 changes: 20 additions & 3 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,30 @@
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html

import re

from rocm_docs import ROCmDocs
with open('../CMakeLists.txt', encoding='utf-8') as f:
match = re.search(r'rocm_setup_version\(VERSION\s+\"?([0-9.]+)[^0-9.]+', f.read())
if not match:
raise ValueError("VERSION not found!")
version_number = match[1]
left_nav_title = f"rocThrust {version_number} Documentation"

external_projects_current_project = "rocthrust"
# for PDF output on Read the Docs
project = "rocThrust Documentation"
author = "Advanced Micro Devices, Inc."
copyright = "Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved."
version = version_number
release = version_number

external_toc_path = "./sphinx/_toc.yml"

docs_core = ROCmDocs("rocThrust Documentation")
docs_core.run_doxygen(doxygen_root=".doxygen", doxygen_path=".doxygen/docBin/xml")
docs_core = ROCmDocs(left_nav_title)
docs_core.run_doxygen(doxygen_root="doxygen", doxygen_path="doxygen/xml")
docs_core.setup()

external_projects_current_project = "rocthrust"

for sphinx_var in ROCmDocs.SPHINX_VARS:
globals()[sphinx_var] = getattr(docs_core, sphinx_var)
7 changes: 4 additions & 3 deletions docs/.doxygen/Doxyfile → docs/doxygen/Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ PROJECT_LOGO =
# entered, it will be relative to the location where doxygen was started. If
# left blank the current directory will be used.

OUTPUT_DIRECTORY = docBin
OUTPUT_DIRECTORY = .

# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
# directories (in 2 levels) under the output directory of each output format and
Expand Down Expand Up @@ -828,7 +828,8 @@ INPUT = ../../thrust \
../../thrust/iterator \
../../thrust/mr \
../../thrust/random \
../../thrust/system
../../thrust/system \
../../README.md

# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
Expand Down Expand Up @@ -979,7 +980,7 @@ FILTER_SOURCE_PATTERNS =
# (index.html). This can be useful if you have a project on for instance GitHub
# and want to reuse the introduction page also for the doxygen output.

USE_MDFILE_AS_MAINPAGE = ../README.md
USE_MDFILE_AS_MAINPAGE = ../../README.md

#---------------------------------------------------------------------------
# Configuration options related to source browsing
Expand Down
10 changes: 10 additions & 0 deletions docs/environment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: RTD
channels:
- conda-forge
- defaults
dependencies:
- python=3.8
- pip
- doxygen=1.9.8
- pip:
- -r ./sphinx/requirements.txt
4 changes: 4 additions & 0 deletions docs/license.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
License
=======

.. include:: ../LICENSE
3 changes: 3 additions & 0 deletions docs/.sphinx/_toc.yml.in → docs/sphinx/_toc.yml.in
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,6 @@ subtrees:
- caption: API
entries:
- file: cpp_api
- caption: About
entries:
- file: license
1 change: 1 addition & 0 deletions docs/sphinx/requirements.in
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
rocm-docs-core==0.30.3
Original file line number Diff line number Diff line change
Expand Up @@ -84,9 +84,7 @@ pygments==2.15.0
# pydata-sphinx-theme
# sphinx
pyjwt[crypto]==2.6.0
# via
# pygithub
# pyjwt
# via pygithub
pynacl==1.5.0
# via pygithub
pytz==2023.3.post1
Expand Down

0 comments on commit 7328a6e

Please sign in to comment.