Documentation Guide
Welcome to the Open Library documentation guide. This document explains where to find documentation and how to contribute new content.
Contributing to Open Library Documentation
- Add a top-level heading to each document (for example,
# Documentation Guide). This improves search and readability. - Place files in the correct folder. The sidebar is generated from the documentation file structure, so location determines where content appears.
- Use
index.mdto label a section. The first heading in anindex.mdfile becomes the sidebar label for its parent folder. - Use kebab-case for file names. This improves search and readability.
Editing Documentation Locally
Use local editing when you need advanced features (such as embedded videos) or prefer not to edit in the web interface.
- The Open Library wiki repository is automatically cloned to
docs/wikiwhen you rundocker compose upfor the main Open Library repository. If you prefer to clone it separately, you can run:git clone https://github.com/internetarchive/openlibrary.wiki.git - Install pre-commit hooks:
pre-commit install(see Pre-Commit Guide for details) - Install dependencies and start the documentation server:
npm inpm run docs:dev - Test the changes in your browser: http://localhost:5173
- Commit your changes:
git commit -m "<your commit message>"
Note: Currently only people with commit access to the repository can make changes directly. This is a limitation of GitHub Wiki — there is no formal pull request flow. If you would like to propose changes to the documentation, the easiest way is to make your changes locally and then create a GitHub issue with the proposed changes and tag @RayBB.
Search for Documentation
When searching for information within Open Library's documentation, you have several options.
Here are examples for searching "solr":
| Location | Description |
|---|---|
| Docs Site | Your starting point for documentation. Most guides and instructions are here. |
| Codebase | Markdown docs found directly in the source code. |
| GitHub Repository | Search PRs, Issues, Commits, etc to see how and why things were changed. |
| Internet Archive's GitHub org | Related repos: open-library-client, openlibrary-bots, openlibrary-librarians |
| Google Docs | Find community call notes, project briefs, and discussions. |
| OpenLibrary.org pages | OL homepage, help pages, etc. |
| blog.openlibrary.org | Announcements and big changes |
| Internet Archive videos | Watch tutorials and tours for a hands-on overview. |
| Slack | Search for archived discussions and troubleshooting tips. |
Where to Contribute New Content
| Criteria | Recommended Contribution Location |
|---|---|
| Content closely related to code or technical operations | Within the Open Library repository |
| Content focused on readers of Open Library (e.g. editions vs works) | openlibrary.org |
| Content related to onboarding and contributor workflows for this docs portal | Open Library wiki repository |
| Content that requires collaboration between multiple stakeholders | Google Docs |