Skip to content

MkDocs documentation is skeletal — add API reference and comprehensive usage guides #236

Description

@soumendrak

Current state: The MkDocs site at https://openodia.soumendrak.com has only 3 pages (index.md, application.md, and a cover image). While the index page is thorough with inline examples, there is:

  • No auto-generated API reference from docstrings
  • No dedicated module-by-module documentation pages
  • No "Getting Started" quickstart guide separate from the full README
  • No changelog/release notes page
  • No searchable API index

Suggested improvements:

  1. Generate API reference from docstrings using mkdocstrings (Python handler). Every public function/class in the 14 modules (alphabet, numbers, syllable, segment, stats, stopwords, text, cache, corpus, etc.) should have a rendered reference page.

  2. Add dedicated pages per module with:

    • Usage examples beyond what's in the monolithic index
    • Edge cases and gotchas
    • Performance notes (e.g., translation LRU cache sizing)
  3. Add a changelog page that tracks releases (can be auto-generated from git tags with mkdocs-git-revision-date-localized-plugin which is already a dependency).

  4. Add a "Contributing" guide page that goes beyond the one-liner in CONTRIBUTING.md.

  5. Enable searchmkdocs-material has built-in search via lunr.js; it should be fully wired. Currently include_search_page: false and search_index_only: true in mkdocs.yml limits functionality.

Why this matters: Quality documentation lowers the contribution barrier, helps users discover all 14+ modules, and is essential for a package aiming to be the standard Odia NLP library. The codebase has excellent docstrings already — they just need to be surfaced.

Suggested approach:

  • Add mkdocstrings and mkdocs-gen-files to the docs extra
  • Create a docs/api/ folder with one .md stub per module that uses ::: openodia.module syntax
  • Structure navigation in mkdocs.yml with sections: Getting Started → API Reference → Applications → Contributing → Changelog

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions