diff --git a/appview/pages/pages.go b/appview/pages/pages.go
index f6d28db..e0d8cbc 100644
--- a/appview/pages/pages.go
+++ b/appview/pages/pages.go
@@ -452,6 +452,7 @@ type RepoBlobParams struct {
Active string
BreadCrumbs [][]string
ShowRendered bool
+ RenderToggle bool
RenderedContents template.HTML
types.RepoBlobResponse
}
diff --git a/appview/pages/templates/repo/blob.html b/appview/pages/templates/repo/blob.html
index 4d456aa..18a2cdc 100644
--- a/appview/pages/templates/repo/blob.html
+++ b/appview/pages/templates/repo/blob.html
@@ -43,11 +43,13 @@
{{ byteFmt .SizeHint }}
view raw
+ {{ if .RenderToggle }}
view {{ if .ShowRendered }}code{{ else }}rendered{{ end }}
+ {{ end }}
diff --git a/appview/state/repo.go b/appview/state/repo.go
index b756477..201f8b8 100644
--- a/appview/state/repo.go
+++ b/appview/state/repo.go
@@ -453,16 +453,15 @@ func (s *State) RepoBlob(w http.ResponseWriter, r *http.Request) {
breadcrumbs = append(breadcrumbs, []string{elem, fmt.Sprintf("%s/%s", breadcrumbs[idx][1], elem)})
}
}
+
+ showRendered := false
+ renderToggle := false
- var showRendered = false
if markup.GetFormat(result.Path) == markup.FormatMarkdown {
- showRendered = true
+ renderToggle = true
+ showRendered = r.URL.Query().Get("code") != "true"
}
-
- if r.URL.Query().Get("code") == "true" {
- showRendered = false
- }
-
+
user := s.auth.GetUser(r)
s.pages.RepoBlob(w, pages.RepoBlobParams{
LoggedInUser: user,
@@ -470,6 +469,7 @@ func (s *State) RepoBlob(w http.ResponseWriter, r *http.Request) {
RepoBlobResponse: result,
BreadCrumbs: breadcrumbs,
ShowRendered: showRendered,
+ RenderToggle: renderToggle,
})
return
}