defmodule Mix.Tasks.GhDocs do @moduledoc """ Task that pushes docs to gh-pages branch on Discord. """ use Mix.Task @remote_push_url "https://github.com/Kraigie/nostrum" defp run!(command) do if Mix.shell.cmd(command) != 0 do raise Mix.Error, message: "command `#{command}` failed" end :ok end # Taken from https://gist.github.com/jjh42/5737777 with some modifications @shortdoc "Mix task to publish gh-pages site." def run(_) do File.rm_rf "doc" Mix.Task.run "docs" File.cd! "doc" run! "git init ." run! "git add ." run! "git commit -a -m \"Generated docs\"" run! "git remote add origin #{@remote_push_url}" run! "git push origin master:gh-pages --force" end end