|
1 |
| ---- |
2 |
| -permalink: / |
3 |
| ---- |
4 |
| - |
5 | 1 | # ArchivesSpace technical documentation
|
6 | 2 |
|
7 |
| -The technical documentation covers a range of topics of interest to those working with ArchivesSpace in different technical capacities, and is organized in order to help you find the information most appropriate to your role. |
| 3 | +This repository contains the content and source code for the [ArchiveSpace TechDocs site](https://docs.archivesspace.org/). |
| 4 | + |
| 5 | +## Content |
| 6 | + |
| 7 | +The documentation content is found in `src/content/docs/` with the following structure: |
| 8 | + |
| 9 | +- **Architecture** - System architecture and components overview |
| 10 | +- **Administration** - Running and maintaining ArchivesSpace |
| 11 | +- **Provisioning** - Deployment and scaling |
| 12 | +- **Migrations** - Data migration guides |
| 13 | +- **Customization** - Configuration and customization options |
| 14 | +- **Development** - Local development and contributing |
| 15 | +- **API** - API documentation and usage |
| 16 | +- **About** - About the TechDocs repository |
| 17 | + |
| 18 | +## Source code |
| 19 | + |
| 20 | +TechDocs is a [Node.js](https://nodejs.org) application, built with [Astro](https://astro.build/) and its [Starlight](https://starlight.astro.build/) documentation site framework. Content is written in Markdown. Automated testing is done with [Cypress](https://www.cypress.io/). The source code is hosted on [GitHub](https://github.com/archivesspace/tech-docs). The site is statically built and hosted via [Cloudflare Pages](https://pages.cloudflare.com/). When the source code changes, a new set of static files are generated and published shortly after. |
| 21 | + |
| 22 | +### Requirements |
| 23 | + |
| 24 | +1. [Node.js](https://nodejs.org) v18.17.1 or v20.3.0, v22.0.0 or higher (v19 and v21 are not supported) - this is an [Astro requirement](https://docs.astro.build/en/install-and-setup/#prerequisites) |
| 25 | + |
| 26 | +### Running TechDocs locally |
| 27 | + |
| 28 | +```sh |
| 29 | +# First clone the repository and install its dependencies |
| 30 | + |
| 31 | +git clone https://github.com/archivesspace/tech-docs.git |
| 32 | + |
| 33 | +cd tech-docs |
| 34 | + |
| 35 | +npm install |
| 36 | + |
| 37 | +# Next, either run the dev server at http://localhost:4321/ which instantly reflects changes to the source code, |
| 38 | +npm run dev |
| 39 | + |
| 40 | +# or build the static site for production |
| 41 | +npm run build |
| 42 | + |
| 43 | +# and optionally serve the static build to http://localhost:4321/ |
| 44 | +npm run preview |
| 45 | +``` |
| 46 | + |
| 47 | +### Testing |
| 48 | + |
| 49 | +Running the tests requires either the dev server or the production build to be running at http://localhost:4321/, ie: |
| 50 | + |
| 51 | +```sh |
| 52 | +# Build and serve the production build in one terminal, |
| 53 | +npm run build |
| 54 | + |
| 55 | +npm run preview |
| 56 | + |
| 57 | +# then run the tests from another terminal |
| 58 | +npm run test |
| 59 | +``` |
| 60 | + |
| 61 | +### Scripts |
| 62 | + |
| 63 | +The following scripts are made available via [package.json](./package.json): |
| 64 | + |
| 65 | +- `npm run dev` - Start development server |
| 66 | +- `npm run build` - Build for production |
| 67 | +- `npm run preview` - Preview production build |
| 68 | +- `npm run test:dev` - Run tests in development mode |
| 69 | +- `npm run test:prod` - Run tests in production mode |
| 70 | +- `npm run test` - Run tests in production mode by default |
| 71 | +- `npm run prettier:check` - Check code formatting |
| 72 | +- `npm run prettier:fix` - Fix code formatting |
| 73 | +- `npm run stylelint:check` - Check styles |
| 74 | +- `npm run stylelint:fix` - Fix style issues |
| 75 | + |
| 76 | +## Contributing |
| 77 | + |
| 78 | +Contributions are welcome! Please feel free to submit a Pull Request. |
8 | 79 |
|
9 |
| -- **[ArchivesSpace technical overview](./readme_evaluate)** – For anyone who needs to evaluate technical requirements and capabilities of ArchivesSpace |
10 |
| -- **[Installing, configuring and maintaining an ArchivesSpace instance](./readme_implement)** – For anyone responsible for installing and/or maintaining an ArchivesSpace instance |
11 |
| -- **[Developer resources](./readme_develop)** – For anyone who needs to create plugins, integrate ArchivesSpace with other systems, or contribute to core code |
| 80 | +## 📖 Additional Resources |
12 | 81 |
|
13 |
| -**To suggest corrections or additions, please submit a pull request or issue report on [Github](https://github.com/archivesspace/tech-docs)** |
| 82 | +- [ArchivesSpace Help Center](https://archivesspace.atlassian.net/wiki/spaces/ADC/pages/917045261/ArchivesSpace+Help+Center) (requires member login) |
| 83 | +- [ArchivesSpace API Documentation](https://archivesspace.github.io/archivesspace/api/) |
| 84 | +- [ArchivesSpace Website](https://archivesspace.org) |
14 | 85 |
|
15 |
| -## Other technical documentation resources: |
| 86 | +## 📄 License |
16 | 87 |
|
17 |
| -- [ArchivesSpace API Reference](http://archivesspace.github.io/archivesspace/api/) |
18 |
| -- [ArchivesSpace YARD Docs](http://archivesspace.github.io/archivesspace/doc/) |
19 |
| -- [Technical Documentation website](https://archivesspace.github.io/tech-docs/) |
20 |
| -- [Github repository](https://github.com/archivesspace/tech-docs) |
| 88 | +This project is licensed under the ECL-2.0 License. |
0 commit comments