| Hash | Username | Time | Message |
|---|
package main
import (
"fmt"
"io/ioutil"
"log"
"net/http"
"os"
"github.com/bouncepaw/mycorrhiza/gemtext"
"github.com/bouncepaw/mycorrhiza/history"
"github.com/bouncepaw/mycorrhiza/tree"
)
func init() {
http.HandleFunc("/page/", handlerPage)
http.HandleFunc("/text/", handlerText)
http.HandleFunc("/binary/", handlerBinary)
http.HandleFunc("/history/", handlerHistory)
}
// handlerHistory lists all revisions of a hypha
func handlerHistory(w http.ResponseWriter, rq *http.Request) {
log.Println(rq.URL)
hyphaName := HyphaNameFromRq(rq, "history")
var tbody string
if data, ok := HyphaStorage[hyphaName]; ok {
revsT, err := history.Revisions(data.textPath)
if err == nil {
for _, rev := range revsT {
tbody += rev.AsHtmlTableRow()
}
}
revsB, err := history.Revisions(data.binaryPath)
if err == nil {
for _, rev := range revsB {
tbody += rev.AsHtmlTableRow()
}
}
log.Println(revsT, revsB)
}
table := fmt.Sprintf(`
%s
Hash
Username
Time
Message
This hypha has no text. Why not create it?
`, hyphaName) data, hyphaExists = HyphaStorage[hyphaName] ) if hyphaExists { fileContentsT, errT := ioutil.ReadFile(data.textPath) _, errB := os.Stat(data.binaryPath) if errT == nil { contents = gemtext.ToHtml(hyphaName, string(fileContentsT)) } if !os.IsNotExist(errB) { contents = binaryHtmlBlock(hyphaName, data) + contents } } form := fmt.Sprintf(`