// 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/hyphae" //line views/readers.qtpl:7 import "github.com/bouncepaw/mycorrhiza/mimetype" //line views/readers.qtpl:8 import "github.com/bouncepaw/mycorrhiza/tree" //line views/readers.qtpl:9 import "github.com/bouncepaw/mycorrhiza/user" //line views/readers.qtpl:10 import "github.com/bouncepaw/mycorrhiza/util" //line views/readers.qtpl:12 import ( qtio422016 "io" qt422016 "github.com/valyala/quicktemplate" ) //line views/readers.qtpl:12 var ( _ = qtio422016.Copy _ = qt422016.AcquireByteBuffer ) //line views/readers.qtpl:12 func StreamAttachmentMenuHTML(qw422016 *qt422016.Writer, rq *http.Request, h *hyphae.Hypha, u *user.User) { //line views/readers.qtpl:12 qw422016.N().S(` `) //line views/readers.qtpl:13 StreamNavHTML(qw422016, rq, h.Name, "attachment") //line views/readers.qtpl:13 qw422016.N().S(`

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

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

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

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

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

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

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

`) //line views/readers.qtpl:35 } //line views/readers.qtpl:35 qw422016.N().S(` `) //line views/readers.qtpl:37 if strings.HasPrefix(mime, "image/") { //line views/readers.qtpl:37 qw422016.N().S(`
Include
img { `)
//line views/readers.qtpl:41
			qw422016.E().S(h.Name)
//line views/readers.qtpl:41
			qw422016.N().S(` }
`) //line views/readers.qtpl:43 } //line views/readers.qtpl:43 qw422016.N().S(` `) //line views/readers.qtpl:44 } //line views/readers.qtpl:44 qw422016.N().S(` `) //line views/readers.qtpl:46 if u.CanProceed("upload-binary") { //line views/readers.qtpl:46 qw422016.N().S(` `) //line views/readers.qtpl:57 } //line views/readers.qtpl:57 qw422016.N().S(` `) //line views/readers.qtpl:59 if h.BinaryPath != "" && u.CanProceed("unattach-confirm") { //line views/readers.qtpl:59 qw422016.N().S(` `) //line views/readers.qtpl:67 } //line views/readers.qtpl:67 qw422016.N().S(`
`) //line views/readers.qtpl:72 } //line views/readers.qtpl:72 func WriteAttachmentMenuHTML(qq422016 qtio422016.Writer, rq *http.Request, h *hyphae.Hypha, u *user.User) { //line views/readers.qtpl:72 qw422016 := qt422016.AcquireWriter(qq422016) //line views/readers.qtpl:72 StreamAttachmentMenuHTML(qw422016, rq, h, u) //line views/readers.qtpl:72 qt422016.ReleaseWriter(qw422016) //line views/readers.qtpl:72 } //line views/readers.qtpl:72 func AttachmentMenuHTML(rq *http.Request, h *hyphae.Hypha, u *user.User) string { //line views/readers.qtpl:72 qb422016 := qt422016.AcquireByteBuffer() //line views/readers.qtpl:72 WriteAttachmentMenuHTML(qb422016, rq, h, u) //line views/readers.qtpl:72 qs422016 := string(qb422016.B) //line views/readers.qtpl:72 qt422016.ReleaseByteBuffer(qb422016) //line views/readers.qtpl:72 return qs422016 //line views/readers.qtpl:72 } // If `contents` == "", a helpful message is shown instead. //line views/readers.qtpl:75 func StreamHyphaHTML(qw422016 *qt422016.Writer, rq *http.Request, h *hyphae.Hypha, contents string) { //line views/readers.qtpl:75 qw422016.N().S(` `) //line views/readers.qtpl:77 relatives, subhyphae, prevHyphaName, nextHyphaName := tree.Tree(h.Name) //line views/readers.qtpl:78 qw422016.N().S(` `) //line views/readers.qtpl:79 StreamNavHTML(qw422016, rq, h.Name, "page") //line views/readers.qtpl:79 qw422016.N().S(`
`) //line views/readers.qtpl:83 qw422016.N().S(NaviTitleHTML(h)) //line views/readers.qtpl:83 qw422016.N().S(` `) //line views/readers.qtpl:84 if contents == "" { //line views/readers.qtpl:84 qw422016.N().S(`

This hypha has no text. Why not create it?

`) //line views/readers.qtpl:86 if u := user.FromRequest(rq); (!user.AuthUsed || u.Group != "anon") && !h.Exists { //line views/readers.qtpl:86 qw422016.N().S(`

`) //line views/readers.qtpl:95 } //line views/readers.qtpl:95 qw422016.N().S(` `) //line views/readers.qtpl:96 } else { //line views/readers.qtpl:96 qw422016.N().S(` `) //line views/readers.qtpl:97 qw422016.N().S(contents) //line views/readers.qtpl:97 qw422016.N().S(` `) //line views/readers.qtpl:98 } //line views/readers.qtpl:98 qw422016.N().S(`
`) //line views/readers.qtpl:101 if prevHyphaName != "" { //line views/readers.qtpl:101 qw422016.N().S(` `) //line views/readers.qtpl:103 } //line views/readers.qtpl:103 qw422016.N().S(` `) //line views/readers.qtpl:104 if nextHyphaName != "" { //line views/readers.qtpl:104 qw422016.N().S(` `) //line views/readers.qtpl:106 } //line views/readers.qtpl:106 qw422016.N().S(`
`) //line views/readers.qtpl:108 StreamSubhyphaeHTML(qw422016, subhyphae) //line views/readers.qtpl:108 qw422016.N().S(`
`) //line views/readers.qtpl:110 StreamRelativeHyphaeHTML(qw422016, relatives) //line views/readers.qtpl:110 qw422016.N().S(` `) //line views/readers.qtpl:111 StreamBackLinksHTML(qw422016, h) //line views/readers.qtpl:111 qw422016.N().S(`
`) //line views/readers.qtpl:113 } //line views/readers.qtpl:113 func WriteHyphaHTML(qq422016 qtio422016.Writer, rq *http.Request, h *hyphae.Hypha, contents string) { //line views/readers.qtpl:113 qw422016 := qt422016.AcquireWriter(qq422016) //line views/readers.qtpl:113 StreamHyphaHTML(qw422016, rq, h, contents) //line views/readers.qtpl:113 qt422016.ReleaseWriter(qw422016) //line views/readers.qtpl:113 } //line views/readers.qtpl:113 func HyphaHTML(rq *http.Request, h *hyphae.Hypha, contents string) string { //line views/readers.qtpl:113 qb422016 := qt422016.AcquireByteBuffer() //line views/readers.qtpl:113 WriteHyphaHTML(qb422016, rq, h, contents) //line views/readers.qtpl:113 qs422016 := string(qb422016.B) //line views/readers.qtpl:113 qt422016.ReleaseByteBuffer(qb422016) //line views/readers.qtpl:113 return qs422016 //line views/readers.qtpl:113 } //line views/readers.qtpl:115 func StreamRevisionHTML(qw422016 *qt422016.Writer, rq *http.Request, h *hyphae.Hypha, contents, revHash string) { //line views/readers.qtpl:115 qw422016.N().S(` `) //line views/readers.qtpl:117 relatives, subhyphae, _, _ := tree.Tree(h.Name) //line views/readers.qtpl:118 qw422016.N().S(` `) //line views/readers.qtpl:119 StreamNavHTML(qw422016, rq, h.Name, "revision", revHash) //line views/readers.qtpl:119 qw422016.N().S(`

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

`) //line views/readers.qtpl:124 qw422016.N().S(NaviTitleHTML(h)) //line views/readers.qtpl:124 qw422016.N().S(` `) //line views/readers.qtpl:125 qw422016.N().S(contents) //line views/readers.qtpl:125 qw422016.N().S(`
`) //line views/readers.qtpl:127 StreamSubhyphaeHTML(qw422016, subhyphae) //line views/readers.qtpl:127 qw422016.N().S(`
`) //line views/readers.qtpl:129 StreamRelativeHyphaeHTML(qw422016, relatives) //line views/readers.qtpl:129 qw422016.N().S(`
`) //line views/readers.qtpl:131 } //line views/readers.qtpl:131 func WriteRevisionHTML(qq422016 qtio422016.Writer, rq *http.Request, h *hyphae.Hypha, contents, revHash string) { //line views/readers.qtpl:131 qw422016 := qt422016.AcquireWriter(qq422016) //line views/readers.qtpl:131 StreamRevisionHTML(qw422016, rq, h, contents, revHash) //line views/readers.qtpl:131 qt422016.ReleaseWriter(qw422016) //line views/readers.qtpl:131 } //line views/readers.qtpl:131 func RevisionHTML(rq *http.Request, h *hyphae.Hypha, contents, revHash string) string { //line views/readers.qtpl:131 qb422016 := qt422016.AcquireByteBuffer() //line views/readers.qtpl:131 WriteRevisionHTML(qb422016, rq, h, contents, revHash) //line views/readers.qtpl:131 qs422016 := string(qb422016.B) //line views/readers.qtpl:131 qt422016.ReleaseByteBuffer(qb422016) //line views/readers.qtpl:131 return qs422016 //line views/readers.qtpl:131 }