Contributing Guide¶
Thank you for your interest in contributing to the DMMapp Library Directory! This guide will help you add new libraries or improve existing entries.
How to Contribute¶
Adding a New Library¶
-
Fork the Repository: Create your own fork of the project on GitHub
-
Edit docs/assets/data.json: Add a new entry following the schema below
-
Submit a Pull Request: Create a PR with your changes
Data Schema¶
Each library entry must include the following fields:
{
"id": 501,
"library": "Library Name",
"nation": "Country Name",
"city": "City Name",
"website": "https://example.com",
"copyright": "CC BY 4.0",
"quantity": "Thousands",
"iiif": true,
"is_free_cultural_works_license": false,
"aggregators": []
}
For the full field-by-field definitions, requirements, and the manuscript-count categories, see the Data Schema page.
Example Entry¶
{
"id": 502,
"library": "Bibliothèque nationale de France",
"nation": "France",
"city": "Paris",
"website": "https://gallica.bnf.fr/",
"copyright": "CC0 1.0",
"quantity": "Thousands",
"iiif": true,
"is_free_cultural_works_license": true,
"aggregators": []
}
Validation¶
Your contribution will be automatically validated against our schema when you submit a pull request. The validation checks:
- JSON Syntax: Proper JSON formatting
- Required Fields: All mandatory fields are present
- Data Types: Values match expected types (string, boolean, etc.)
- URL Format: The
websitefield contains a valid URL - Enum Values: The
quantityfield uses one of the allowed values
Guidelines¶
Quality Standards¶
- Accuracy: Ensure all information is correct and up-to-date
- Completeness: Fill in all required fields
- Verification: Test the website URL to confirm it works
- IIIF Status: Verify IIIF support before marking as
true - License: Check the library's terms of use for license information
Best Practices¶
- Website URLs: Use the most direct link to the digitized manuscript collection
- Library Names: Use the official name as it appears on the library's website
- Location: Use standardized country and city names (English spelling)
- Quantity Estimation: Choose the category that best matches the collection size — see the Data Schema page for the exact category boundaries
Questions?¶
If you have questions or need help:
- Check existing entries in
docs/assets/data.jsonfor examples - Review the
schema.jsonfile for technical details - Open an issue on GitHub for assistance
Thank you for helping make this resource better!