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 }