Я пытаюсь использовать Pandoc для преобразования LaTeX в Markdown. Мне нужно создать файл, а затем запустить команду терминала pandoc. Проблема в том, что файл, который я создаю, не находится в том же каталоге, в котором я запускаю команды терминала.Использование Pandoc с Swift
Я пробовал использовать оболочку («cd»), но она не перемещает вас в папку пользователя.
Любые идеи?
import Cocoa
class ViewController: NSViewController {
func shell(args: String...) -> Int32 {
let task = NSTask()
task.launchPath = "/usr/bin/env"
task.arguments = args
task.launch()
task.waitUntilExit()
return task.terminationStatus
}
override func viewDidLoad() {
super.viewDidLoad()
shell("pwd")
let file = "input.txt"
let text = "\\emph{test}"
if let dir : NSString = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.AllDomainsMask, true).first {
let inputPath = dir.stringByAppendingPathComponent(file)
//writing
do {
try text.writeToFile(inputPath, atomically: false, encoding: NSUTF8StringEncoding)
shell("pandoc","-f","latex","-t","markdown","input.txt","-o","output.txt")
}
catch {/* error handling here */}
let outputPath = dir.stringByAppendingPathComponent("output.txt")
//reading
do {
let inputText = try NSString(contentsOfFile: inputPath, encoding: NSUTF8StringEncoding)
print(inputText)
let convertedText = try NSString(contentsOfFile: outputPath, encoding: NSUTF8StringEncoding)
print(convertedText)
}
catch {/* error handling here */}
}
}
override var representedObject: AnyObject? {
didSet {
// Update the view, if already loaded.
}
}
}
Вот выход
/Users/james/Library/Developer/Xcode/DerivedData/FlashCardPreview-gqzwutewnxspazcdloxqruaikvel/Build/Products/Debug
env: pandoc: No such file or directory
\emph{test}