[PATCH i-g-t v4 0/4] Establish MkDocs Documentation Framework for IGT GPU Tools
Pawel Sikora
pawel.sikora at intel.com
Fri Aug 22 07:48:14 UTC 2025
Dear Maintainers,
I am submitting a series of patches to introduce a comprehensive
documentation framework for the IGT GPU Tools project using MkDocs.
For details regarding MkDocs please see: https://www.mkdocs.org/
This effort aims to enhance organization and presentation of our
documentation, making it easier for users and contributors to navigate
and understand the project.
How to build it for review (strongly recommended to use virtual
environment - please relate to your OS/distro instructions)
Set up venv for python local installation of required packages:
$ python3 -m venv venv
$ source ./venv/bin/activate
Install requirements:
$ pip3 install -r ./docs/requirements-docs.txt
Build documentation:
$ mkdocs build
Start the server to host a local website:
$ mkdocs serve
Then, open in your favorite browser: http://127.0.0.1:8000/
Detailed description of patches:
Patch 1: docs: Set up MkDocs for documentation site
This patch lays the foundation for the documentation site by adding essential
configuration files and assets.
The mkdocs.yml file is introduced to define the site's structure, including
project information, navigation, theme settings(Material for MkDocs:
https://squidfunk.github.io/mkdocs-material/), and plugins.
Additionally, requirements-docs.txt lists the necessary dependencies for
building the site with MkDocs.
Custom styling is applied through extra.css, which incorporates a Monokai
theme, and visual assets such as the logo are included.
This patch establishes the initial framework for generating the IGT GPU Tools
documentation site using MkDocs.
For more details on MkDocs, please refer to MkDocs Documentation.
Patch 2:
In a current mkdocs configuration (initial, actually) all
documentation files need to be placed in the 'docs' directory.
Thus, some files like CONTRIBUTING.md, MAINTAINERS, NEWS,
README.md are left out of the scope for mkdocs.
To mitigate that and maintain backward compatibility for
current tools that may use those files, this patch creates
symlinks in the 'docs' folder to those files (except README.md)
and give an '.md' extention where it was missing for clarity.
In the current MkDocs configuration (initial, actually),
all documentation files need to be placed in the 'docs' directory.
Thus, some files like CONTRIBUTING.md, MAINTAINERS, NEWS,
and README.md are left out of the scope for MkDocs.
To mitigate that and maintain backward compatibility for current
tools that may use those files, this patch creates symlinks
in the 'docs' folder to those files (except README.md) and adds
a '.md' extension where it was missing for clarity.
Patch 3: docs: Initialize MkDocs documentation structure
This patch focuses on organizing the documentation content within the project.
The README is updated with basic content to reflect the reorganization, while
detailed documentation is moved into the docs directory.
The content is split across multiple markdown files, setting up a structure
that allows for automatic site generation using MkDocs.
This reorganization enhances the accessibility and maintenance of the
documentation, providing a clear and navigable structure for users.
Patch 3: gitlab-ci: Add MkDocs documentation support
This patch integrates MkDocs documentation support into the GitLab CI pipeline.
It ensures that the current API reference manual (which is currently hosted on
GitLab pages) is built and copied to the MkDocs documentation directory,
maintaining its availability via an internal link.
The MkDocs documentation from the docs directory is also built,
with a relative link to api_reference/index.html included in the navigation.
After both builds are complete, all content is copied into the site directory
and manually moved into public for hosting on freedesktop GitLab Pages.
This integration ensures that the documentation is consistently updated
and accessible alongside the API reference manual.
Together, these patches improve the presentation and accessibility of the
IGT GPU Tools project.
I look forward to your feedback.
v2:
- Add many new documentation content and corrections to v1 (Swati)
- Add colorblind friendly theme css (Kamil)
- Fix line width to 100 characters (Kamil)
- Keep MAINTAINERS file in the root dir, but second version(formatted)
is created in the docs dir (Kamil)
v3:
- Simplify mkdocs build (Pawel)
v4:
- Add symlinks instead of moving files into docs dir (Kamil)
Regards,
Pawel
Pawel Sikora (4):
docs: Set up MkDocs for documentation site
docs: create symlinks for NEWS/MAINTAINERS/CONTRIB
docs: Initialize MkDocs documentation structure
gitlab-ci: Add MkDocs documentation support
.gitlab-ci.yml | 10 +-
README.md | 213 +++-----------
docs/CONTRIBUTING.md | 1 +
docs/MAINTAINERS.md | 1 +
docs/NEWS.md | 1 +
docs/api.md | 30 ++
docs/assets/intel_logo.png | Bin 0 -> 34697 bytes
docs/blocklists.md | 387 +++++++++++++++++++++++++
docs/building.md | 27 ++
docs/{chamelium.txt => chamelium.md} | 2 +-
docs/ci_infrastructure.md | 418 +++++++++++++++++++++++++++
docs/cross-building.md | 240 +++++++++++++++
docs/cross-building.txt | 122 --------
docs/css/extra.css | 323 +++++++++++++++++++++
docs/faq.md | 92 ++++++
docs/how_to_build_docs.md | 54 ++++
docs/issues.md | 31 ++
docs/new_driver.md | 230 +++++++++++++++
docs/overview.md | 249 ++++++++++++++++
docs/patchwork.md | 18 ++
docs/requirements-docs.txt | 7 +
docs/running_tests.md | 130 +++++++++
docs/test_categories.md | 266 +++++++++++++++++
docs/test_plan.md | 216 ++++++++++++++
mkdocs.yml | 226 +++++++++++++++
25 files changed, 2995 insertions(+), 299 deletions(-)
create mode 120000 docs/CONTRIBUTING.md
create mode 120000 docs/MAINTAINERS.md
create mode 120000 docs/NEWS.md
create mode 100644 docs/api.md
create mode 100644 docs/assets/intel_logo.png
create mode 100644 docs/blocklists.md
create mode 100644 docs/building.md
rename docs/{chamelium.txt => chamelium.md} (99%)
create mode 100644 docs/ci_infrastructure.md
create mode 100644 docs/cross-building.md
delete mode 100644 docs/cross-building.txt
create mode 100644 docs/css/extra.css
create mode 100644 docs/faq.md
create mode 100644 docs/how_to_build_docs.md
create mode 100644 docs/issues.md
create mode 100644 docs/new_driver.md
create mode 100644 docs/overview.md
create mode 100644 docs/patchwork.md
create mode 100644 docs/requirements-docs.txt
create mode 100644 docs/running_tests.md
create mode 100644 docs/test_categories.md
create mode 100644 docs/test_plan.md
create mode 100644 mkdocs.yml
--
2.51.0
More information about the igt-dev
mailing list