Служить преобразованному статическому файлу при изменении - PullRequest
0 голосов
/ 07 ноября 2019

В приложении на Rails 5 у меня есть файл AsciiDoc в app/assets/docs/document.adoc.

. Из этого файла веб-сервер должен сделать доступными два вывода:

  • /document.html
  • /document.pdf

В настоящее время я генерирую эти файлы с помощью инициализатора в config/initializers/adoc_convert.rb:

Asciidoctor.convert Rails.root.join('app', 'assets', 'docs', 'document.adoc'), to_dir: 'public', safe: :server, write_to_target: true, to_file: 'document.html', backend: 'html'
Asciidoctor.convert Rails.root.join('app', 'assets', 'docs', 'document.adoc'), to_dir: 'public', safe: :server, write_to_target: true, to_file: 'document.pdf', backend: 'pdf'

Проблема заключается в том, чтофайлы HTML и PDF не обновляются автоматически при изменении файла AsciiDoc. Кроме того, выполнение преобразования в инициализаторе выглядит как хак.

Я подумал об использовании Sprockets. С одной стороны, преобразование файлов - это именно то, для чего создан конвейер ресурсов. С другой стороны, он не очень подходит, потому что он создан для файлов, включенных в другие файлы. Например, я не нашел способа убедиться, что преобразованные файлы заканчиваются по правильному пути на веб-сервере.

Есть ли лучший способ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...