desc "download latest version of highlight and prepare it"
task "highlightjs:update" do

  def run(cmd, opts={})
    puts cmd
    system(cmd, opts.merge(out: $stdout, err: :out))
  end
  run("cd tmp && rm -fr highlight.js && git clone --depth 1 https://github.com/isagalaev/highlight.js.git")
  run("cd tmp && rm -fr highlight_distrib && mkdir -p highlight_distrib/lang")
  run("cd tmp/highlight.js && npm install")
  run("cd tmp/highlight.js && node tools/build.js -t cdn none")

  run("mv tmp/highlight.js/build/highlight.min.js tmp/highlight_distrib/highlight.js")

  run("cd tmp/highlight.js && npm install && node tools/build.js -t cdn")

  Dir.glob("tmp/highlight.js/build/languages/*.min.js") do |path|
    lang = File.basename(path)[0..-8]
    run("mv #{path} tmp/highlight_distrib/lang/#{lang}.js")
  end

  run("rm -fr lib/highlight_js/assets")
  run("mv tmp/highlight_distrib lib/highlight_js/assets")

end