You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gitea/routers/web/repo
zeripath 72524adf3f
Ensure that plain files are rendered correctly even when containing ambiguous characters (#22017) (#22160)
Backport #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>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
2 years ago
..
activity.go Respect user's locale when rendering the date range in the repo activity page (#21410) 2 years ago
attachment.go Move some repository related code into sub package (#19711) 3 years ago
blame.go Refactor git command arguments and make all arguments to be safe to be used (#21535) 2 years ago
branch.go Prevent NPE if trying to restore an already restored deleted branch (#21940) (#21944) 2 years ago
cherry_pick.go Remove `RequireHighlightJS` field, update plantuml example. (#19615) 3 years ago
commit.go Fix pagination limit parameter problem (#21109) 3 years ago
compare.go Refactor git command arguments and make all arguments to be safe to be used (#21535) 2 years ago
download.go Slightly simplify LastCommitCache (#20444) 3 years ago
editor.go Move some files into models' sub packages (#20262) 3 years ago
editor_test.go Add more linters to improve code readability (#19989) 3 years ago
find.go Feature: Find files in repo (#15028) 3 years ago
http.go Refactor git command arguments and make all arguments to be safe to be used (#21535) 2 years ago
http_test.go Fix http path bug (#16117) 4 years ago
issue.go Add generic set type (#21408) 2 years ago
issue_content_history.go Multiple improvements for comment edit diff (#21990) (#22007) 2 years ago
issue_dependency.go Move issues related files into models/issues (#19931) 3 years ago
issue_label.go Move issues related files into models/issues (#19931) 3 years ago
issue_label_test.go Move issues related files into models/issues (#19931) 3 years ago
issue_lock.go Move issues related files into models/issues (#19931) 3 years ago
issue_stopwatch.go Stop spurious APIFormat stopwatches logs (#20008) 3 years ago
issue_test.go Move issues related files into models/issues (#19931) 3 years ago
issue_timetrack.go Move issues related files into models/issues (#19931) 3 years ago
issue_watch.go Move issues related files into models/issues (#19931) 3 years ago
lfs.go Replace all instances of fmt.Errorf(%v) with fmt.Errorf(%w) (#21551) 2 years ago
main_test.go Use a struct as test options (#19393) 3 years ago
middlewares.go Add system setting table with cache and also add cache supports for user setting (#18058) 2 years ago
migrate.go Unify repo settings & show better error (#19828) 3 years ago
milestone.go Move milestone to models/issues/ (#19278) 3 years ago
packages.go Show hint to link package to repo when viewing empty repo package list (#20504) 3 years ago
patch.go Remove `RequireHighlightJS` field, update plantuml example. (#19615) 3 years ago
projects.go Check if project has the same repository id with issue when assign project to issue (#20133) 3 years ago
projects_test.go Decouple unit test code from business code (#17623) 3 years ago
pull.go Refactor git command arguments and make all arguments to be safe to be used (#21535) 2 years ago
pull_review.go Dismiss prior pull reviews if done via web in review dismiss (#20197) 3 years ago
release.go Replace all instances of fmt.Errorf(%v) with fmt.Errorf(%w) (#21551) 2 years ago
release_test.go Move some files into models' sub packages (#20262) 3 years ago
render.go Allow render HTML with css/js external links (#19017) 3 years ago
repo.go Add support for HEAD requests in Maven registry (#21834) (#21929) 2 years ago
search.go Add user/organization code search (#19977) 2 years ago
setting.go Replace all instances of fmt.Errorf(%v) with fmt.Errorf(%w) (#21551) 2 years ago
setting_protected_branch.go Move some code into models/git (#19879) 3 years ago
settings_test.go test: use `T.TempDir` to create temporary test directory (#21043) 3 years ago
tag.go Move some code into models/git (#19879) 3 years ago
topic.go Renamed ctx.User to ctx.Doer. (#19161) 3 years ago
treelist.go Refactor parseTreeEntries, speed up tree list (#21368) 2 years ago
view.go Ensure that plain files are rendered correctly even when containing ambiguous characters (#22017) (#22160) 2 years ago
view_test.go adapt README_{Country}.md stype name in localizedExtensions (#21486) 2 years ago
webhook.go Decouple HookTask from Repository (#17940) 2 years ago
wiki.go [refactor] Use const for wiki DefaultBranch (#21466) 2 years ago
wiki_test.go Make git.OpenRepository accept Context (#19260) 3 years ago