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:
-
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.
-
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)
-
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).
-
Add a "Contributing" guide page that goes beyond the one-liner in CONTRIBUTING.md.
-
Enable search — mkdocs-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
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:
Suggested improvements:
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.Add dedicated pages per module with:
Add a changelog page that tracks releases (can be auto-generated from git tags with
mkdocs-git-revision-date-localized-pluginwhich is already a dependency).Add a "Contributing" guide page that goes beyond the one-liner in CONTRIBUTING.md.
Enable search —
mkdocs-materialhas built-in search via lunr.js; it should be fully wired. Currentlyinclude_search_page: falseandsearch_index_only: truein 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:
mkdocstringsandmkdocs-gen-filesto the docs extradocs/api/folder with one.mdstub per module that uses::: openodia.modulesyntax