Skip to content

archivesspace/tech-docs

Repository files navigation

ArchivesSpace technical documentation

This repository contains the content and source code for the ArchiveSpace TechDocs site.

Content

The documentation content is found in src/content/docs/ with the following structure:

  • Architecture - System architecture and components overview
  • Administration - Running and maintaining ArchivesSpace
  • Provisioning - Deployment and scaling
  • Migrations - Data migration guides
  • Customization - Configuration and customization options
  • Development - Local development and contributing
  • API - API documentation and usage
  • About - About the TechDocs repository

Source code

TechDocs is a Node.js application, built with Astro and its Starlight documentation site framework. Content is written in Markdown. Automated testing is done with Cypress. The source code is hosted on GitHub. The site is statically built and hosted via Cloudflare Pages. When the source code changes, a new set of static files are generated and published shortly after.

Requirements

  1. Node.js v18.17.1 or v20.3.0, v22.0.0 or higher (v19 and v21 are not supported) - this is an Astro requirement

Running TechDocs locally

# First clone the repository and install its dependencies

git clone https://github.com/archivesspace/tech-docs.git

cd tech-docs

npm install

# Next, either run the dev server at http://localhost:4321/ which instantly reflects changes to the source code,
npm run dev

# or build the static site for production
npm run build

# and optionally serve the static build to http://localhost:4321/
npm run preview

Testing

Running the tests requires either the dev server or the production build to be running at http://localhost:4321/, ie:

# Build and serve the production build in one terminal,
npm run build

npm run preview

# then run the tests from another terminal
npm run test

Scripts

The following scripts are made available via package.json:

  • npm run dev - Start development server
  • npm run build - Build for production
  • npm run preview - Preview production build
  • npm run test:dev - Run tests in development mode
  • npm run test:prod - Run tests in production mode
  • npm run test - Run tests in production mode by default
  • npm run prettier:check - Check code formatting
  • npm run prettier:fix - Fix code formatting
  • npm run stylelint:check - Check styles
  • npm run stylelint:fix - Fix style issues

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📖 Additional Resources

📄 License

This project is licensed under the ECL-2.0 License.