forked from tangled.org/core
this repo has no description

appview/pages: revert: show readme files in tree listings

Signed-off-by: oppiliappan <me@oppi.li>

oppi.li 9c76503e b3303e84

verified
Changed files
+5 -55
appview
pages
templates
repo
repo
+5 -25
appview/pages/pages.go
···
}
type RepoTreeParams struct {
-
LoggedInUser *oauth.User
-
RepoInfo repoinfo.RepoInfo
-
Active string
-
BreadCrumbs [][]string
-
TreePath string
-
Readme string
-
ReadmeFileName string
-
HTMLReadme template.HTML
-
Raw bool
+
LoggedInUser *oauth.User
+
RepoInfo repoinfo.RepoInfo
+
Active string
+
BreadCrumbs [][]string
+
TreePath string
types.RepoTreeResponse
}
···
func (p *Pages) RepoTree(w io.Writer, params RepoTreeParams) error {
params.Active = "overview"
-
-
if params.ReadmeFileName != "" {
-
params.ReadmeFileName = filepath.Base(params.ReadmeFileName)
-
-
ext := filepath.Ext(params.ReadmeFileName)
-
switch ext {
-
case ".md", ".markdown", ".mdown", ".mkdn", ".mkd":
-
params.Raw = false
-
htmlString := p.rctx.RenderMarkdown(params.Readme)
-
sanitized := p.rctx.SanitizeDefault(htmlString)
-
params.HTMLReadme = template.HTML(sanitized)
-
default:
-
params.Raw = true
-
}
-
}
-
return p.executeRepo("repo/tree", w, params)
}
-6
appview/pages/templates/repo/tree.html
···
</div>
</main>
{{end}}
-
-
{{ define "repoAfter" }}
-
{{- if or .HTMLReadme .Readme -}}
-
{{ template "repo/fragments/readme" . }}
-
{{- end -}}
-
{{ end }}
-24
appview/repo/repo.go
···
return
}
-
// readme content
-
var (
-
readmeContent string
-
readmeFileName string
-
)
-
-
for _, filename := range markup.ReadmeFilenames {
-
path := fmt.Sprintf("%s/%s", treePath, filename)
-
blobResp, err := tangled.RepoBlob(r.Context(), xrpcc, path, false, ref, repo)
-
if err != nil {
-
continue
-
}
-
-
if blobResp == nil {
-
continue
-
}
-
-
readmeContent = blobResp.Content
-
readmeFileName = path
-
break
-
}
-
// Convert XRPC response to internal types.RepoTreeResponse
files := make([]types.NiceTree, len(xrpcResp.Files))
for i, xrpcFile := range xrpcResp.Files {
···
BreadCrumbs: breadcrumbs,
TreePath: treePath,
RepoInfo: f.RepoInfo(user),
-
Readme: readmeContent,
-
ReadmeFileName: readmeFileName,
RepoTreeResponse: result,
})
}