diff options
author | zeripath <art27@cantab.net> | 2022-12-17 20:22:25 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-17 22:22:25 +0200 |
commit | 6e226057933389710f2451b148faef8ed5ea1ca1 (patch) | |
tree | 531092fccf40b01b0520fa7aa00213f2891e33e6 /templates | |
parent | f3370eeaeefecdcc06940edd0377264a5c0c7212 (diff) | |
download | gitea-6e226057933389710f2451b148faef8ed5ea1ca1.tar.gz gitea-6e226057933389710f2451b148faef8ed5ea1ca1.zip |
Ensure that plain files are rendered correctly even when containing ambiguous characters (#22017)
As recognised in #21841 the rendering of plain text files is somewhat
incorrect when there are ambiguous characters as the html code is double
escaped. In fact there are several more problems here.
We have a residual isRenderedHTML which is actually simply escaping the
file - not rendering it. This is badly named and gives the wrong
impression.
There is also unusual behaviour whether the file is called a Readme or
not and there is no way to get to the source code if the file is called
README.
In reality what should happen is different depending on whether the file
is being rendered a README at the bottom of the directory view or not.
1. If it is rendered as a README on a directory - it should simply be
escaped and rendered as `<pre>` text.
2. If it is rendered as a file then it should be rendered as source
code.
This PR therefore does:
1. Rename IsRenderedHTML to IsPlainText
2. Readme files rendered at the bottom of the directory are rendered
without line numbers
3. Otherwise plain text files are rendered as source code.
Replace #21841
Signed-off-by: Andrew Thornton <art27@cantab.net>
Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Diffstat (limited to 'templates')
-rw-r--r-- | templates/repo/settings/lfs_file.tmpl | 6 | ||||
-rw-r--r-- | templates/repo/view_file.tmpl | 6 |
2 files changed, 6 insertions, 6 deletions
diff --git a/templates/repo/settings/lfs_file.tmpl b/templates/repo/settings/lfs_file.tmpl index ce3c39eac2..6d20aaddef 100644 --- a/templates/repo/settings/lfs_file.tmpl +++ b/templates/repo/settings/lfs_file.tmpl @@ -17,11 +17,11 @@ </h4> <div class="ui attached table unstackable segment"> {{template "repo/unicode_escape_prompt" dict "EscapeStatus" .EscapeStatus "root" $}} - <div class="file-view{{if .IsMarkup}} markup {{.MarkupType}}{{else if .IsRenderedHTML}} plain-text{{else if .IsTextFile}} code-view{{end}}"> + <div class="file-view{{if .IsMarkup}} markup {{.MarkupType}}{{else if .IsPlainText}} plain-text{{else if .IsTextFile}} code-view{{end}}"> {{if .IsMarkup}} {{if .FileContent}}{{.FileContent | Safe}}{{end}} - {{else if .IsRenderedHTML}} - <pre>{{if .FileContent}}{{.FileContent | Str2html}}{{end}}</pre> + {{else if .IsPlainText}} + <pre>{{if .FileContent}}{{.FileContent | Safe}}{{end}}</pre> {{else if not .IsTextFile}} <div class="view-raw ui center"> {{if .IsImageFile}} diff --git a/templates/repo/view_file.tmpl b/templates/repo/view_file.tmpl index 9d82cc018c..711a37461e 100644 --- a/templates/repo/view_file.tmpl +++ b/templates/repo/view_file.tmpl @@ -61,11 +61,11 @@ {{if not (or .IsMarkup .IsRenderedHTML)}} {{template "repo/unicode_escape_prompt" dict "EscapeStatus" .EscapeStatus "root" $}} {{end}} - <div class="file-view{{if .IsMarkup}} markup {{.MarkupType}}{{else if .IsRenderedHTML}} plain-text{{else if .IsTextSource}} code-view{{end}}"> + <div class="file-view{{if .IsMarkup}} markup {{.MarkupType}}{{else if .IsPlainText}} plain-text{{else if .IsTextSource}} code-view{{end}}"> {{if .IsMarkup}} {{if .FileContent}}{{.FileContent | Safe}}{{end}} - {{else if .IsRenderedHTML}} - <pre>{{if .FileContent}}{{.FileContent | Str2html}}{{end}}</pre> + {{else if .IsPlainText}} + <pre>{{if .FileContent}}{{.FileContent | Safe}}{{end}}</pre> {{else if not .IsTextSource}} <div class="view-raw ui center"> {{if .IsImageFile}} |