# Artemisia annotation editor
The Artemisia annotation editor is intended to be used for the [RIDGES corpus](https://www.linguistik.hu-berlin.de/en/institut-en/professuren-en/korpuslinguistik/research/ridges-projekt).
It is based on [graphANNIS](https://github.com/korpling/graphANNIS) and thus is internal data model is in principle suitable for a wide range of annotation concepts.
It is very much **work in progress**.
We support Linux, Windows and (with delayed manual relases) macOS, but only activly test on Linux.
See the [Releases](https://codeberg.org/korpling/artemisia/releases) page to download the files for your operating system.
## Features
- Import and export corpora in the most formats supported by [annatto](https://github.com/korpling/annatto/tree/main/docs)
- Supports editing several token layers (RIDGES has diplomatic transcription and two normalization layers)
- Supports span annotations
- Edit the corpus structure and change meta data
## Screenshots



## Developing artemisia
You need to install Rust to compile the project.
We recommend installing the following Cargo subcommands for developing annis-web:
- [cargo-release](https://crates.io/crates/cargo-release) for creating releases
- [cargo-about](https://crates.io/crates/cargo-about) for re-generating the
third party license file
- [cargo-llvm-cov](https://crates.io/crates/cargo-llvm-cov) for determining the code coverage
Also install the [`diff-cover`](https://github.com/Bachmann1234/diff_cover) command line tool to run merge the merge request checks locally.
### Execute tests
You can run the tests with the default `cargo test` command.
To run all checks that have to pass for a merge requests locally, first make sure you have the `diff-cover` and `cargo-llvm-cov` tools installed.
```bash
cargo install cargo-llvm-cov
pipx install diff_cover
```
Then, run the following command to run all checks including code coverage:
```bash
./verify.sh
```
### Performing a release
You need to have [`cargo-release`](https://crates.io/crates/cargo-release)
installed to perform a release. Execute the follwing `cargo` command once to
install it.
```bash
cargo install cargo-release cargo-about
```
To perform a release, switch to the main branch and execute:
```bash
cargo release [LEVEL] --execute
```
The [level](https://github.com/crate-ci/cargo-release/blob/HEAD/docs/reference.md#bump-level) should be `patch`, `minor` or `major` depending on the changes made in the release.
Running the release command will also trigger a CI workflow to create release binaries for Linux and Windows on Codeberg.
The release binary file for macOS needs to be created and uploaded to the Codeberg-release page manually.
## Funding
This research was funded by the German Research Foundation (DFG, Deutsche Forschungsgemeinschaft) – SFB 1412, 416591334.
Die Forschungsergebnisse dieser Veröffentlichung wurden gefördert durch die Deutsche Forschungsgemeinschaft (DFG) – SFB 1412, 416591334.