2016-10-11 00:21:46 +00:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"io/ioutil"
|
|
|
|
"net/http"
|
|
|
|
"os"
|
|
|
|
"os/exec"
|
|
|
|
"text/template"
|
|
|
|
|
|
|
|
"github.com/gorilla/mux"
|
|
|
|
"github.com/russross/blackfriday"
|
|
|
|
)
|
|
|
|
|
|
|
|
type content struct {
|
|
|
|
Body string
|
|
|
|
}
|
|
|
|
|
|
|
|
func generateHTML() {
|
|
|
|
// Update repo
|
|
|
|
exec.Command("git", "checkout", "-f").Output()
|
|
|
|
exec.Command("git", "pull").Output()
|
|
|
|
|
|
|
|
input, _ := ioutil.ReadFile("./README.md")
|
|
|
|
body := string(blackfriday.MarkdownCommon(input))
|
|
|
|
c := &content{Body: body}
|
|
|
|
|
|
|
|
t := template.Must(template.ParseFiles("tmpl/tmpl.html"))
|
|
|
|
f, _ := os.Create("tmpl/index.html")
|
|
|
|
t.Execute(f, c)
|
|
|
|
}
|
|
|
|
|
|
|
|
func hookHandler(w http.ResponseWriter, r *http.Request) {
|
|
|
|
go generateHTML()
|
|
|
|
w.Write([]byte("Done!\n"))
|
|
|
|
}
|
|
|
|
|
|
|
|
func main() {
|
|
|
|
r := mux.NewRouter()
|
|
|
|
r.HandleFunc("/hook", hookHandler)
|
|
|
|
http.ListenAndServe(":9000", r)
|
|
|
|
}
|