iseal-core/README-dev.md

42 lines
1.5 KiB
Markdown
Raw Normal View History

# Technical Documentation
This document provides technical information about various workflows related to updating and editing the schema and documentation site.
2022-01-30 10:31:30 +01:00
## About This Project
The ISEAL Core Metadata Set is maintained primarily in CSV format. This decision was made to maintain a balance between being human and machine readable. Currently the project consists of:
- The ISEAL Core Metadata Set, which lives in `data/iseal-core.csv`
- The FSC<sup>®</sup> extension, which lives in `data/fsc.csv`
2022-01-30 10:58:52 +01:00
From the CSV we use a series of Python scripts to create the RDF ([TTL](https://en.wikipedia.org/wiki/Turtle_(syntax))) representations of the schema as well as the HTML documentation site. All of this is automated using GitHub Actions (see `.github/workflows`) whenever there is a new commit in the repository. Everything should Just Work<sup></sup> so you should only need to follow the documentation here if you want to work on the workflow locally or make larger changes. In that case, continue reading...
2022-01-30 10:31:30 +01:00
## General Requirements
- Python 3.8+
- Node.js 12+ and NPM
## Python Setup
Create a Python virtual environment and install the requirements:
```console
$ python3 -m venv virtualenv
$ source virtualenv/bin/activate
$ pip install -r requirements.txt
```
Then run the utility scripts to parse the schemas:
```console
$ ./util/generate-hugo-content.py -i ./data/iseal-core.csv --clean -d
$ ./util/generate-hugo-content.py -i data/fsc.csv -d
```
## Node.js Setup
To generate the HTML documentation site:
```console
$ cd site
$ npm install
$ npm run build
```