Documentation for all Monarch applications, packages, services, and related projects.
The Monarch Initiative Knowledge Graph (Monarch KG) is created using a constellation of tools and packages created by the Monarch Initiative team and our collaborators.
This repository exists to document the connections between the Monarch Initiative tools and how they are used to create the Monarch Graph.
The intent of this repository is to serve as the source of truth for the documentation of the project overall, containing information and documentation for each repository, as well as documentation for how the different software tools are used together.
This repository will host the higher-order structure documentation of the Monarch Intiative Knowledge Graph Tools and as a build platform for integrating all of the documentation of each of the requisite resources used to construct the Monarch Intiative Knowledge Graph and make it useable to others. This project consists of the following tools to build and deploy the Monarch Initiative Technical Documentation.
- Markdown Generation Scripts - Python scripts to pull documentation from resources to aggregate in Monarch Documentation pages.
- src/ - Source files for LinkML Cookie Cutter
- Monarch Documentation LinkML Schema - Describes the Schema for the Monarch Documentation
- Monarch Resources Yaml - LinkML-schema YAML file detailing the various Monarhc resources, and repositories for each software resource.
- project.Makefile - Custom makefile targets go here
- Makefile - LinkML cookie-cutter generated Makefile (DO NOT EDIT)
- project/ - LinkML project files (DO NOT EDIT)
This project requires Python >= 3.10
Dependencies are managed by Poetry:
pip install poetry
poetry install
Additional documentation can be added to the src/docs/
directory.
If your new documentation is generated by a script, add the script to the scripts/
directory, and add a make target to the project.Makefile
file, making sure to add the new target as a prerequisite to the build-docs
target.
Any folders or top-level markdown files will be included in the navigation bar of the documentation site.
All content in the src/docs/
directory, as well as all content generated by scripts in the scripts/
directory, will be copied to the docs/
directory when the documentation site is built when running make build-docs
.
If you are adding documentation for a new resource, add a new entry to the resources.yaml
file in the src/data
directory.
Available categories include:
standards
- Standards developed or significantly supported by Monarch Initiativetools
- Tools and Services developed or significantly supported by Monarch Initiativedata
- Datasets developed by Monarch Initiativedocumentations
- Documentation resources for Monarch Initiativerepositories
- Repositories for Monarch Initiative
Check the resources.yaml
or the monarch_documentation.yaml
file for examples of each category and their required fields.
Apart from files generated by scripts, existing documentation can be updated by editing the markdown files in the src/docs/
directory, or by editing the jinja2 templates in the src/monarch_documentation/resources/
directory.
After making changes, run make build-docs
to build the documentation site.
The project.Makefile
file includes some custom make
targets, such as:
build-docs
- Runs all other custom make targetsgenpython
- Generates a Python dataclass from the project's LinkML schemagenindex
- Runs the generation script for the index.md
You can run any step individually (ex. make genindex
),
or run the full series of steps to generate the full documentation site (make build-docs
)
This project was made with linkml-project-cookiecutter