Возвышенная система сборки Markdown 3 через Pandoc

880
Fried Brice

Я пытаюсь написать систему сборки Sublime-Text-3, которая будет запускать Pandoc для преобразования моего файла разметки в HTML, а затем открыть HTML в моем браузере. Я получаю сообщение об ошибке «No Build System» и не могу понять, почему ...

Вот мой файл конфигурации сборки:

// Markdown.sublime-build { "selector": "text.html.markdown", "working_dir": "$file_path", "shell_cmd": [ "pandoc", "-f", "markdown", "-t", "html", "-o", "$", "$file" ], "shell_cmd": ["open", "$"] } 

Я использую Mac OS X 10.11. Я прочитал неофициальную документацию .

0
Какой вывод в консоли? Вы пытались указать систему сборки, а не использовать «Автоматически»? idleberg 8 лет назад 0
Я попробовал это. Это был синтаксис, как вы упомянули в своем ответе. Fried Brice 8 лет назад 0

2 ответа на вопрос

0
idleberg
  1. Your build file is invalid JSON, which is likely causing the error message. Sublime Text is forgiving about the use of comments, but you will have to escape those back-slashes.

  2. Since pandoc is not a shell command, you need to use "cmd" instead of "shell_cmd". A shell command would be ls, mkdir etc.

Valid JSON:

{ "selector": "text.html.markdown", "working_dir": "$file_path", "cmd": [ "pandoc", "-f", "markdown", "-t", "html", "-o", "$", "$file" "&&", "open", "$" ] } 

As an alternative, you could always use the Pandoc package for Sublime Text.

Спасибо. Это исправляет ошибку «No Build System». У меня все еще есть проблемы с последовательностью двух `cmd`s. Небольшое исследование показывает, что Sublime-Text-3 не поддерживает несколько объявлений `cmd` в файле конфигурации сборки, поэтому мне придется написать сценарий оболочки, и моя конфигурация сборки вызовет этот сценарий оболочки. Большое спасибо за вашу помощь. Fried Brice 8 лет назад 0
У меня тоже не было проблем с ее шляпой, но отредактированная версия тоже должна работать! idleberg 8 лет назад 0
0
pheon
{ "cmd": ["pandoc -o \"$file_base_name.html\" \"$file\" && open \"$file_base_name.html\""], "shell": "true" } 

работает для меня.