Skip to content

PDFCLOUD-5582 Initial documentation#24

Merged
datalogics-cgreen merged 9 commits intopdfrest:mainfrom
datalogics-kam:pdfcloud-5582-documentation
Feb 13, 2026
Merged

PDFCLOUD-5582 Initial documentation#24
datalogics-cgreen merged 9 commits intopdfrest:mainfrom
datalogics-kam:pdfcloud-5582-documentation

Conversation

@datalogics-kam
Copy link
Copy Markdown
Contributor

PDFCLOUD-5582

Summary

This PR introduces a docs foundation that makes project documentation a first-class, continuously validated deliverable. It establishes a Markdown-first authoring flow, automatic API reference generation from Google-style docstrings, and a publish path to GitHub Pages after merges.

New Capabilities

  • A dedicated documentation site pipeline with MkDocs (Material theme) and strict build validation.
  • API reference generation directly from Python source/docstrings, reducing manual API drift.
  • Automatic GitHub Pages deployment on merges to main.
  • PR-time docs verification inside the main CI workflow, so docs breakages are caught before merge.

Why This Helps

  • Lowers contributor friction: writing docs in Markdown keeps docs work lightweight and familiar.
  • Improves trust in docs: strict builds plus CI checks prevent silent breakage.
  • Aligns docs with code reality: API pages are generated from current code/docstrings.
  • Creates a scalable base for future expansion (guides, tutorials, architecture docs) without changing tooling.

Outcomes

  • Documentation now has both quality gates (build checks in CI) and delivery automation (publish on merge).
  • Release quality improves because packaging/publish now also depends on docs health.
  • Team onboarding and external adoption are better supported by a reliable docs entrypoint.

…ration

- Added `mkdocs`, `mkdocs-material`, and `mkdocstrings[python]` to dependencies
  to enable documentation generation.
- Updated `uv.lock` to include all new dependency versions and metadata.

Assisted-by: Codex
- Created `mkdocs.yml` to configure MkDocs with Material theme and
  `mkdocstrings[python]` for API documentation generation.
- Added `docs/` directory with the following content:
  - `index.md`: Home page for the documentation.
  - `getting-started.md`: Instructions for setup and local development.
  - `api-reference.md`: API reference generated from Python docstrings.
- Updated `README.md` with instructions for running and building the docs site.

Assisted-by: Codex
- Introduced `.github/workflows/docs.yml` to automate documentation deployment
  to GitHub Pages.
- Configured workflow to trigger on `push` to `main` and manual dispatch.
- Added build and deploy steps:
  - Installed dependencies with `uv` and built documentation using MkDocs.
  - Uploaded built files as an artifact and deployed to GitHub Pages.

Assisted-by: Codex
- Added `PyDocumentationSettings` configuration in `.idea/pdfrest-python.iml`.
- Set default docstring format to Google style for improved consistency with
  Python documentation standards.

Assisted-by: Codex
- Added a new `docs-check` job to `.github/workflows/test-and-publish.yml`:
  - Configures dependency management with `uv` and caches dev dependencies.
  - Synchronizes project dependencies using `uv sync`.
  - Builds documentation using MkDocs with strict mode.
- Updated `publish` job to depend on `docs-check`.

Assisted-by: Codex
@datalogics-kam datalogics-kam marked this pull request as ready for review February 13, 2026 15:49
- Enabled `content.code.copy` feature in the Material theme to add a copy
  button for code snippets.
- Added `pymdownx.tabbed` Markdown extension with alternate styling for a more
  interactive and polished tabbed interface.

Assisted-by: Codex
- Replaced the basic dependency installation instructions with a step-by-step
  Cloud-first onboarding guide for `pdfrest`.
- Introduced examples for using `uv`, `pip`, and `Poetry` to set up the SDK.
- Added API key export instructions and a `quickstart.py` sample program for
  testing the text extraction feature.
- Enhanced reference sections with links to the official Cloud onboarding flow,
  API lab, and Python API reference.
- Updated the `index.md` to provide a clearer overview of `pdfRest` and its
  relationship to the Python SDK.
- Adjusted `.pre-commit-config.yaml` to exclude `docs/` from the `mdformat`
  hook.

Assisted-by: Codex
- Eliminated unnecessary `id-token`, `contents`, `packages`, and
  `pull-requests` permissions from the `docs-check` job in
  `.github/workflows/test-and-publish.yml`.
- Simplified the workflow configuration by retaining only required steps.

Assisted-by: Codex
- Clarified the distinction between contributor notes in the root directory
  (`README.md`, `AGENTS.md`) and site documentation in the `docs/` folder.
- Documented the addition of the `Docs` CI workflow for building and deploying
  the documentation site via GitHub Pages.
- Updated workflow descriptions to reflect current CI processes.

Assisted-by: Codex
@datalogics-cgreen datalogics-cgreen merged commit 0ab9fdd into pdfrest:main Feb 13, 2026
15 checks passed
@datalogics-kam datalogics-kam deleted the pdfcloud-5582-documentation branch February 14, 2026 14:44
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.

2 participants