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 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:
{
"library": "Library Name",
"nation": "Country Name",
"city": "City Name",
"website": "https://example.com",
"iiif": true,
"is_free_cultural_works_license": false,
"quantity": "Thousands"
}
Field Descriptions¶
| Field | Type | Required | Description |
|---|---|---|---|
library |
String | ✅ Yes | Official name of the library or institution |
nation |
String | ✅ Yes | Country where the library is located |
city |
String | ✅ Yes | City where the library is located |
website |
URL String | ✅ Yes | Direct link to the digitized collection (must be valid URL) |
iiif |
Boolean | ✅ Yes | true if the library supports IIIF, false otherwise |
is_free_cultural_works_license |
Boolean | ✅ Yes | true if content has an open license, false otherwise |
quantity |
Enum | ✅ Yes | One of: "Few", "Dozens", "Hundreds", "Thousands", "Unknown" |
Example Entry¶
{
"library": "Bibliothèque nationale de France",
"nation": "France",
"city": "Paris",
"website": "https://gallica.bnf.fr/",
"iiif": true,
"is_free_cultural_works_license": true,
"quantity": "Thousands"
}
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:
"Few": 1-10 manuscripts"Dozens": 10-100 manuscripts"Hundreds": 100-1,000 manuscripts"Thousands": 1,000+ manuscripts"Unknown": When count is unclear
Questions?¶
If you have questions or need help:
- Check existing entries in
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!