diff --git a/Dockerfile b/Dockerfile index 72e55d2..3b1bffe 100644 --- a/Dockerfile +++ b/Dockerfile @@ -49,11 +49,11 @@ RUN apt-get install -y --no-install-recommends fonts-dejavu \ && rm -rf /var/cache/apt \ && apt-get clean -# installs lilypond into /usr/local/lilypond and /usr/local/bin as shortcut -ADD https://lilypond.org/download/binaries/linux-64/lilypond-2.20.0-1.linux-64.sh /tmp/lilypond.sh -RUN chmod a+x /tmp/lilypond.sh \ - && /tmp/lilypond.sh --batch - +# install lilypond-converter dependencies +ADD https://github.com/Edirom/lilypond-converter/raw/main/required.sh /tmp/required-lilypond-converter.sh +RUN chmod a+x /tmp/required-lilypond-converter.sh \ + && /tmp/required-lilypond-converter.sh --batch + # clone and run RUN git clone --depth 1 -b master https://github.com/rism-digital/verovio /tmp/verovio \ && cd /tmp/verovio/tools \ diff --git a/README.md b/README.md index 22e8c2f..739bacd 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ [![fair-software.eu](https://img.shields.io/badge/fair--software.eu-%E2%97%8F%20%20%E2%97%8F%20%20%E2%97%8F%20%20%E2%97%8F%20%20%E2%97%8F-green)](https://fair-software.eu) [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/6279/badge)](https://bestpractices.coreinfrastructure.org/projects/6279) [![NFDI4C Registry](https://img.shields.io/badge/NFDI4Culture%20Registry-64BEA0)](https://nfdi4culture.de/id/E3654) +[![DOI](https://zenodo.org/badge/394928472.svg)](https://zenodo.org/doi/10.5281/zenodo.8199800) ## Table of Contents diff --git a/doc/code-structure.md b/doc/code-structure.md index dcd5f56..bb9e3e6 100644 --- a/doc/code-structure.md +++ b/doc/code-structure.md @@ -19,15 +19,15 @@ The program is divided into different parts: main project, API, framework, plug- The main projects decide which plugins are included by specifiying them as dependencies in the pom.xml. They include a servlet using the servlethelper in the framework, that uses the framework to perform conversions. It is REST-full and you can control it simply using POST and GET request. First you need to send GET request asking for all the possible input formats. Then you need to send another GET request to get all possible output formats from a given input format. After this, you need to POST your file into a given URL and that's it. This can be particularly useful for batch processing a large number of files. For more information see https://teigarage.tei-c.de/ege-webservice/ or https://meigarage.edirom.de/ege-webservice/. Of course, if you already know the URL for the conversion, it is enough to POST your file to this URL without having to go through all these steps. -* [TEIGarage](https://github.com/TEIC/TEIGarage) - [![GitHub release](https://img.shields.io/github/v/release/TEIC/TEIGarage.svg)](https://github.com/TEIC/TEIGarage/releases) -* [MEIGarage](https://github.com/Edirom/MEIGarage) - [![GitHub release](https://img.shields.io/github/v/release/Edirom/MEIGarage.svg)](https://github.com/Edirom/MEIGarage/releases) +* [TEIGarage](https://github.com/TEIC/TEIGarage) - [![GitHub release](https://img.shields.io/github/v/release/TEIC/TEIGarage.svg)](https://github.com/TEIC/TEIGarage/releases) - [![DOI](https://zenodo.org/badge/375025034.svg)](https://zenodo.org/doi/10.5281/zenodo.8036581) +* [MEIGarage](https://github.com/Edirom/MEIGarage) - [![GitHub release](https://img.shields.io/github/v/release/Edirom/MEIGarage.svg)](https://github.com/Edirom/MEIGarage/releases) - [![DOI](https://zenodo.org/badge/394928472.svg)](https://zenodo.org/doi/10.5281/zenodo.8199800) ## Basis API offers only the base, on which the framework is built. The role of the framework is to search for all provided plug-ins, initialize them and calculate all possible input types and conversion paths. To do this, it asks each converter to provide a list of all conversions it is able to do. Then the framework constructs a graph, where different document types are nodes and conversions are edges. This graph is directed and weighted. Weights to the edges are assigned based on a subjective judgement of how good or bad the resulting document looks. The better the document looks, the lower the weight. These weights are then summed together and only the path with minimal total weight is offered to the user in case there are several routes available from input format to output format. Framework also provides for processing the path of conversions that are needed to be done and performing the necessary conversions in a chain of threads, where one thread passes its result to the next thread until the desired output format is reached. Each thread does exactly one conversion and uses a converter to perform it. -* [ege-api](https://github.com/TEIC/ege-api) - [![GitHub release](https://img.shields.io/github/v/release/TEIC/ege-api.svg)](https://github.com/TEIC/ege-api/releases) -* [ege-framework](https://github.com/TEIC/ege-framework) - [![GitHub release](https://img.shields.io/github/v/release/TEIC/ege-framework.svg)](https://github.com/TEIC/ege-framework/releases) +* [ege-api](https://github.com/TEIC/ege-api) - [![GitHub release](https://img.shields.io/github/v/release/TEIC/ege-api.svg)](https://github.com/TEIC/ege-api/releases) - [![DOI](https://zenodo.org/badge/368163593.svg)](https://zenodo.org/doi/10.5281/zenodo.10417697) +* [ege-framework](https://github.com/TEIC/ege-framework) - [![GitHub release](https://img.shields.io/github/v/release/TEIC/ege-framework.svg)](https://github.com/TEIC/ege-framework/releases) - [![DOI](https://zenodo.org/badge/372424108.svg)](https://zenodo.org/doi/10.5281/zenodo.10419401) ## Available Plugins