-
Notifications
You must be signed in to change notification settings - Fork 7
Implements MkDocs-based documentation as modern alternative to DocBook/WebHelp. #970
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR implements MkDocs-based documentation generation as a modern alternative to DocBook/WebHelp for the PDS4 Information Model. The implementation generates ~1500+ Markdown files organized by namespace, with features including full-text search, collapsible navigation, and cross-references between classes, attributes, and datatypes.
Key changes:
- New
WriteMkDocsFiles.javaclass generates Markdown documentation integrated into ExportModels - Documentation organized into Common/Discipline/Mission categories based on namespace properties
- Python virtual environment workflow with mkdocs-material theme
Reviewed Changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| model-dmdocument/src/main/java/gov/nasa/pds/model/plugin/WriteMkDocsFiles.java | Core implementation that generates Markdown files, mkdocs.yml config, and organizes content by namespace type |
| docs/MKDOCS_DOCUMENTATION.md | Comprehensive guide covering setup, build process, deployment options, and troubleshooting |
| README.md | Added quick start section for documentation generation with link to detailed guide |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
|
@jshughes this is not a final solution, but a start towards a more robust solution. we can talk more about this on Monday, but it is pretty easy to get running locally. see instructions above. |
Implements MkDocs-based documentation as modern alternative to DocBook/WebHelp. Resolves #926. New Features: - WriteMkDocsFiles.java generates Markdown documentation for MkDocs - Individual pages for classes, attributes, and datatypes with cross-references - Namespace organization by type (Common/Discipline/Mission) - Collapsible navigation for 30+ namespaces - Full-text search with Material theme - Python venv-based workflow documented Implementation Details: - Integrated into ExportModels for both full IM (-pW) and LDD generation - Dynamic categorization: pds=Common, isDiscipline=Discipline, else=Mission - Generates ~1500+ Markdown files organized by namespace - Auto-generated mkdocs.yml with hierarchical navigation - Export to export/docs/ directory alongside existing webapp/ Documentation: - Added MKDOCS_DOCUMENTATION.md with complete setup and deployment guide - Updated README.md with quick start instructions - Archived webapp-src/ JavaScript implementation for future reference - Updated .gitignore for Python virtual environments
8b991f4 to
6e4cdf0
Compare
|


🗒️ Summary
Implements MkDocs-based documentation as modern alternative to DocBook/WebHelp.
New Features:
Implementation Details:
Documentation:
⚙️ Test Data and/or Report
I was able to generate this site in ~30 seconds with 30 LDDs.
To run, see
docs/MKDOCS_DOCUMENTATION.mdin the branch.1. Generate Documentation
Run LDDTool with the
-Wflag to generate both JSON and Markdown documentation:This creates:
export/docs/- Markdown files structured for MkDocs2. Set Up Python Virtual Environment (First Time Only)
It's recommended to use a Python virtual environment to isolate dependencies:
Note: You'll need to activate the virtual environment (step 2) each time you want to build or serve the documentation in a new terminal session.
3. Build and Preview
♻️ Related Issues
Resolves #926.