// Code generated by qtc from "readers.qtpl". DO NOT EDIT. // See https://github.com/valyala/quicktemplate for details. //line views/readers.qtpl:1 package views //line views/readers.qtpl:1 import "net/http" //line views/readers.qtpl:2 import "strings" //line views/readers.qtpl:3 import "path" //line views/readers.qtpl:4 import "os" //line views/readers.qtpl:6 import "github.com/bouncepaw/mycorrhiza/cfg" //line views/readers.qtpl:7 import "github.com/bouncepaw/mycorrhiza/hyphae" //line views/readers.qtpl:8 import "github.com/bouncepaw/mycorrhiza/mimetype" //line views/readers.qtpl:9 import "github.com/bouncepaw/mycorrhiza/tree" //line views/readers.qtpl:10 import "github.com/bouncepaw/mycorrhiza/user" //line views/readers.qtpl:11 import "github.com/bouncepaw/mycorrhiza/util" //line views/readers.qtpl:13 import ( qtio422016 "io" qt422016 "github.com/valyala/quicktemplate" ) //line views/readers.qtpl:13 var ( _ = qtio422016.Copy _ = qt422016.AcquireByteBuffer ) //line views/readers.qtpl:13 func StreamAttachmentMenuHTML(qw422016 *qt422016.Writer, rq *http.Request, h *hyphae.Hypha, u *user.User) { //line views/readers.qtpl:13 qw422016.N().S(` `) //line views/readers.qtpl:14 StreamNavHTML(qw422016, rq, h.Name, "attachment") //line views/readers.qtpl:14 qw422016.N().S(`

Attachment of `) //line views/readers.qtpl:17 qw422016.E().S(util.BeautifulName(h.Name)) //line views/readers.qtpl:17 qw422016.N().S(`

`) //line views/readers.qtpl:18 if h.BinaryPath == "" { //line views/readers.qtpl:18 qw422016.N().S(`

This hypha has no attachment, you can upload it here.

`) //line views/readers.qtpl:20 } else { //line views/readers.qtpl:20 qw422016.N().S(`

You can manage the hypha's attachment on this page.

`) //line views/readers.qtpl:22 } //line views/readers.qtpl:22 qw422016.N().S(`
`) //line views/readers.qtpl:26 if h.BinaryPath != "" { //line views/readers.qtpl:26 qw422016.N().S(` `) //line views/readers.qtpl:28 mime := mimetype.FromExtension(path.Ext(h.BinaryPath)) fileinfo, err := os.Stat(h.BinaryPath) //line views/readers.qtpl:29 qw422016.N().S(` `) //line views/readers.qtpl:30 if err == nil { //line views/readers.qtpl:30 qw422016.N().S(`
Stat

MIME type: `) //line views/readers.qtpl:34 qw422016.E().S(mime) //line views/readers.qtpl:34 qw422016.N().S(`

`) //line views/readers.qtpl:36 } //line views/readers.qtpl:36 qw422016.N().S(` `) //line views/readers.qtpl:38 if strings.HasPrefix(mime, "image/") { //line views/readers.qtpl:38 qw422016.N().S(`
Include
img { `)
//line views/readers.qtpl:42
			qw422016.E().S(h.Name)
//line views/readers.qtpl:42
			qw422016.N().S(` }
`) //line views/readers.qtpl:44 } //line views/readers.qtpl:44 qw422016.N().S(` `) //line views/readers.qtpl:45 } //line views/readers.qtpl:45 qw422016.N().S(` `) //line views/readers.qtpl:47 if u.CanProceed("upload-binary") { //line views/readers.qtpl:47 qw422016.N().S(` `) //line views/readers.qtpl:58 } //line views/readers.qtpl:58 qw422016.N().S(` `) //line views/readers.qtpl:60 if h.BinaryPath != "" && u.CanProceed("unattach-confirm") { //line views/readers.qtpl:60 qw422016.N().S(` `) //line views/readers.qtpl:68 } //line views/readers.qtpl:68 qw422016.N().S(`
`) //line views/readers.qtpl:73 } //line views/readers.qtpl:73 func WriteAttachmentMenuHTML(qq422016 qtio422016.Writer, rq *http.Request, h *hyphae.Hypha, u *user.User) { //line views/readers.qtpl:73 qw422016 := qt422016.AcquireWriter(qq422016) //line views/readers.qtpl:73 StreamAttachmentMenuHTML(qw422016, rq, h, u) //line views/readers.qtpl:73 qt422016.ReleaseWriter(qw422016) //line views/readers.qtpl:73 } //line views/readers.qtpl:73 func AttachmentMenuHTML(rq *http.Request, h *hyphae.Hypha, u *user.User) string { //line views/readers.qtpl:73 qb422016 := qt422016.AcquireByteBuffer() //line views/readers.qtpl:73 WriteAttachmentMenuHTML(qb422016, rq, h, u) //line views/readers.qtpl:73 qs422016 := string(qb422016.B) //line views/readers.qtpl:73 qt422016.ReleaseByteBuffer(qb422016) //line views/readers.qtpl:73 return qs422016 //line views/readers.qtpl:73 } // If `contents` == "", a helpful message is shown instead. //line views/readers.qtpl:76 func StreamHyphaHTML(qw422016 *qt422016.Writer, rq *http.Request, h *hyphae.Hypha, contents string) { //line views/readers.qtpl:76 qw422016.N().S(` `) //line views/readers.qtpl:78 relatives, subhyphae, prevHyphaName, nextHyphaName := tree.Tree(h.Name) u := user.FromRequest(rq) //line views/readers.qtpl:80 qw422016.N().S(` `) //line views/readers.qtpl:81 StreamNavHTML(qw422016, rq, h.Name, "page") //line views/readers.qtpl:81 qw422016.N().S(`
`) //line views/readers.qtpl:85 qw422016.N().S(NaviTitleHTML(h)) //line views/readers.qtpl:85 qw422016.N().S(` `) //line views/readers.qtpl:86 if h.Exists { //line views/readers.qtpl:86 qw422016.N().S(` `) //line views/readers.qtpl:87 qw422016.N().S(contents) //line views/readers.qtpl:87 qw422016.N().S(` `) //line views/readers.qtpl:88 } else { //line views/readers.qtpl:88 qw422016.N().S(` `) //line views/readers.qtpl:89 streamnonExistentHyphaNotice(qw422016, h, u) //line views/readers.qtpl:89 qw422016.N().S(` `) //line views/readers.qtpl:90 } //line views/readers.qtpl:90 qw422016.N().S(`
`) //line views/readers.qtpl:93 if prevHyphaName != "" { //line views/readers.qtpl:93 qw422016.N().S(` `) //line views/readers.qtpl:95 } //line views/readers.qtpl:95 qw422016.N().S(` `) //line views/readers.qtpl:96 if nextHyphaName != "" { //line views/readers.qtpl:96 qw422016.N().S(` `) //line views/readers.qtpl:98 } //line views/readers.qtpl:98 qw422016.N().S(`
`) //line views/readers.qtpl:100 StreamSubhyphaeHTML(qw422016, subhyphae) //line views/readers.qtpl:100 qw422016.N().S(`
`) //line views/readers.qtpl:102 StreamRelativeHyphaeHTML(qw422016, relatives) //line views/readers.qtpl:102 qw422016.N().S(`
`) //line views/readers.qtpl:104 streamviewScripts(qw422016) //line views/readers.qtpl:104 qw422016.N().S(` `) //line views/readers.qtpl:105 } //line views/readers.qtpl:105 func WriteHyphaHTML(qq422016 qtio422016.Writer, rq *http.Request, h *hyphae.Hypha, contents string) { //line views/readers.qtpl:105 qw422016 := qt422016.AcquireWriter(qq422016) //line views/readers.qtpl:105 StreamHyphaHTML(qw422016, rq, h, contents) //line views/readers.qtpl:105 qt422016.ReleaseWriter(qw422016) //line views/readers.qtpl:105 } //line views/readers.qtpl:105 func HyphaHTML(rq *http.Request, h *hyphae.Hypha, contents string) string { //line views/readers.qtpl:105 qb422016 := qt422016.AcquireByteBuffer() //line views/readers.qtpl:105 WriteHyphaHTML(qb422016, rq, h, contents) //line views/readers.qtpl:105 qs422016 := string(qb422016.B) //line views/readers.qtpl:105 qt422016.ReleaseByteBuffer(qb422016) //line views/readers.qtpl:105 return qs422016 //line views/readers.qtpl:105 } //line views/readers.qtpl:107 func StreamRevisionHTML(qw422016 *qt422016.Writer, rq *http.Request, h *hyphae.Hypha, contents, revHash string) { //line views/readers.qtpl:107 qw422016.N().S(` `) //line views/readers.qtpl:109 relatives, subhyphae, _, _ := tree.Tree(h.Name) //line views/readers.qtpl:110 qw422016.N().S(` `) //line views/readers.qtpl:111 StreamNavHTML(qw422016, rq, h.Name, "revision", revHash) //line views/readers.qtpl:111 qw422016.N().S(`

Please note that viewing binary parts of hyphae is not supported in history for now.

`) //line views/readers.qtpl:116 qw422016.N().S(NaviTitleHTML(h)) //line views/readers.qtpl:116 qw422016.N().S(` `) //line views/readers.qtpl:117 qw422016.N().S(contents) //line views/readers.qtpl:117 qw422016.N().S(`
`) //line views/readers.qtpl:119 StreamSubhyphaeHTML(qw422016, subhyphae) //line views/readers.qtpl:119 qw422016.N().S(`
`) //line views/readers.qtpl:121 StreamRelativeHyphaeHTML(qw422016, relatives) //line views/readers.qtpl:121 qw422016.N().S(`
`) //line views/readers.qtpl:123 streamviewScripts(qw422016) //line views/readers.qtpl:123 qw422016.N().S(` `) //line views/readers.qtpl:124 } //line views/readers.qtpl:124 func WriteRevisionHTML(qq422016 qtio422016.Writer, rq *http.Request, h *hyphae.Hypha, contents, revHash string) { //line views/readers.qtpl:124 qw422016 := qt422016.AcquireWriter(qq422016) //line views/readers.qtpl:124 StreamRevisionHTML(qw422016, rq, h, contents, revHash) //line views/readers.qtpl:124 qt422016.ReleaseWriter(qw422016) //line views/readers.qtpl:124 } //line views/readers.qtpl:124 func RevisionHTML(rq *http.Request, h *hyphae.Hypha, contents, revHash string) string { //line views/readers.qtpl:124 qb422016 := qt422016.AcquireByteBuffer() //line views/readers.qtpl:124 WriteRevisionHTML(qb422016, rq, h, contents, revHash) //line views/readers.qtpl:124 qs422016 := string(qb422016.B) //line views/readers.qtpl:124 qt422016.ReleaseByteBuffer(qb422016) //line views/readers.qtpl:124 return qs422016 //line views/readers.qtpl:124 } //line views/readers.qtpl:126 func streamviewScripts(qw422016 *qt422016.Writer) { //line views/readers.qtpl:126 qw422016.N().S(` `) //line views/readers.qtpl:127 for _, scriptPath := range cfg.ViewScripts { //line views/readers.qtpl:127 qw422016.N().S(` `) //line views/readers.qtpl:129 } //line views/readers.qtpl:129 qw422016.N().S(` `) //line views/readers.qtpl:130 } //line views/readers.qtpl:130 func writeviewScripts(qq422016 qtio422016.Writer) { //line views/readers.qtpl:130 qw422016 := qt422016.AcquireWriter(qq422016) //line views/readers.qtpl:130 streamviewScripts(qw422016) //line views/readers.qtpl:130 qt422016.ReleaseWriter(qw422016) //line views/readers.qtpl:130 } //line views/readers.qtpl:130 func viewScripts() string { //line views/readers.qtpl:130 qb422016 := qt422016.AcquireByteBuffer() //line views/readers.qtpl:130 writeviewScripts(qb422016) //line views/readers.qtpl:130 qs422016 := string(qb422016.B) //line views/readers.qtpl:130 qt422016.ReleaseByteBuffer(qb422016) //line views/readers.qtpl:130 return qs422016 //line views/readers.qtpl:130 }