diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..fa4eda1 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,5 @@ +sample +run-container.sh +src/main.ts +tsconfig.json +README.md diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..334003f --- /dev/null +++ b/Dockerfile @@ -0,0 +1,12 @@ +FROM node:23-slim + +WORKDIR /app +COPY . . + +RUN apt-get update && \ + apt-get install -y pandoc && \ + npm install --production && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +ENTRYPOINT ["./run-local.sh"] diff --git a/README.md b/README.md index 00baf30..2dad001 100644 --- a/README.md +++ b/README.md @@ -8,19 +8,25 @@ ```bash git clone https://github.com/ispras/proceedings-md -cd proceedings +cd proceedings-md npm install sudo apt-get install pandoc ``` -Файл `sample.md` содержит стандартный шаблон статьи для Трудов ИСП РАН, +Файл `sample/sample.md` содержит стандартный шаблон статьи для Трудов ИСП РАН, представленный в `.md`-формате. Скрипт `src/main.js` выполняет конвертацию. ``` -cd sample -node ../src/main.js sample.md sample.docx +node src/main.js sample/sample.md sample/sample.docx ```` +Если вы хотите использовать конвертер в контейнере, необходимо выполнить +следующие команды: +``` +docker build -t proceedings-md . +./run-container.sh proceedings-md sample/sample.md sample/sample.docx +``` + ## Notes Скрипт несколько сырой. Ошибки могут быть нечитаемыми. Некоторые версии Microsoft Word @@ -28,4 +34,4 @@ node ../src/main.js sample.md sample.docx документа рекомендуется открыть документ в Word, перепроверить форматирование, и сохранить заново. -Happy researching! \ No newline at end of file +Happy researching! diff --git a/run-container.sh b/run-container.sh new file mode 100755 index 0000000..a421375 --- /dev/null +++ b/run-container.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +container_name="$1" +input="$2" +output="$3" + +docker run --rm -v "$(dirname "$input")":/input \ + -v "$(dirname "$output")":/output \ + "$container_name" \ + /input/"$(basename "$input")" \ + /output/"$(basename "$output")" diff --git a/run-local.sh b/run-local.sh new file mode 100755 index 0000000..7a77e23 --- /dev/null +++ b/run-local.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +input="$1" +output="$2" + +node "$(dirname "$0")"/src/main.js "$input" "$output"