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>
2022-12-19 23:51:21 +08:00
..
activity.go Respect user's locale when rendering the date range in the repo activity page (#21410) 2022-10-13 00:14:14 +03:00
attachment.go Move some repository related code into sub package (#19711) 2022-06-06 16:01:49 +08:00
blame.go Refactor git command arguments and make all arguments to be safe to be used (#21535) 2022-10-23 22:44:45 +08:00
branch.go Prevent NPE if trying to restore an already restored deleted branch (#21940) (#21944) 2022-11-25 17:28:03 -06:00
cherry_pick.go Remove RequireHighlightJS field, update plantuml example. (#19615) 2022-05-05 10:53:38 +03:00
commit.go Fix pagination limit parameter problem (#21109) 2022-09-08 11:56:14 -04:00
compare.go Refactor git command arguments and make all arguments to be safe to be used (#21535) 2022-10-23 22:44:45 +08:00
download.go Slightly simplify LastCommitCache (#20444) 2022-07-25 16:39:42 +01:00
editor_test.go Add more linters to improve code readability (#19989) 2022-06-20 12:02:49 +02:00
editor.go Move some files into models' sub packages (#20262) 2022-08-25 10:31:57 +08:00
find.go Feature: Find files in repo (#15028) 2022-06-09 14:15:08 +03:00
http_test.go
http.go Refactor git command arguments and make all arguments to be safe to be used (#21535) 2022-10-23 22:44:45 +08:00
issue_content_history.go Multiple improvements for comment edit diff (#21990) (#22007) 2022-12-02 15:42:41 -05:00
issue_dependency.go Move issues related files into models/issues (#19931) 2022-06-13 17:37:59 +08:00
issue_label_test.go Move issues related files into models/issues (#19931) 2022-06-13 17:37:59 +08:00
issue_label.go Move issues related files into models/issues (#19931) 2022-06-13 17:37:59 +08:00
issue_lock.go Move issues related files into models/issues (#19931) 2022-06-13 17:37:59 +08:00
issue_stopwatch.go Stop spurious APIFormat stopwatches logs (#20008) 2022-06-17 22:47:15 +01:00
issue_test.go Move issues related files into models/issues (#19931) 2022-06-13 17:37:59 +08:00
issue_timetrack.go Move issues related files into models/issues (#19931) 2022-06-13 17:37:59 +08:00
issue_watch.go Move issues related files into models/issues (#19931) 2022-06-13 17:37:59 +08:00
issue.go Add generic set type (#21408) 2022-10-12 13:18:26 +08:00
lfs.go Replace all instances of fmt.Errorf(%v) with fmt.Errorf(%w) (#21551) 2022-10-24 20:29:17 +01:00
main_test.go Use a struct as test options (#19393) 2022-04-14 21:58:21 +08:00
middlewares.go Add system setting table with cache and also add cache supports for user setting (#18058) 2022-10-17 07:29:26 +08:00
migrate.go Unify repo settings & show better error (#19828) 2022-06-12 13:43:27 +08:00
milestone.go Move milestone to models/issues/ (#19278) 2022-04-08 17:11:15 +08:00
packages.go Show hint to link package to repo when viewing empty repo package list (#20504) 2022-07-27 19:58:21 +08:00
patch.go Remove RequireHighlightJS field, update plantuml example. (#19615) 2022-05-05 10:53:38 +03:00
projects_test.go Decouple unit test code from business code (#17623) 2021-11-12 22:36:47 +08:00
projects.go Check if project has the same repository id with issue when assign project to issue (#20133) 2022-06-30 23:55:08 +08:00
pull_review.go Dismiss prior pull reviews if done via web in review dismiss (#20197) 2022-07-19 15:20:28 +02:00
pull.go Refactor git command arguments and make all arguments to be safe to be used (#21535) 2022-10-23 22:44:45 +08:00
release_test.go Move some files into models' sub packages (#20262) 2022-08-25 10:31:57 +08:00
release.go Replace all instances of fmt.Errorf(%v) with fmt.Errorf(%w) (#21551) 2022-10-24 20:29:17 +01:00
render.go Allow render HTML with css/js external links (#19017) 2022-06-16 11:33:23 +08:00
repo.go Add support for HEAD requests in Maven registry (#21834) (#21929) 2022-11-25 13:46:28 +02:00
search.go Add user/organization code search (#19977) 2022-10-11 00:12:03 +01:00
setting_protected_branch.go Move some code into models/git (#19879) 2022-06-12 23:51:54 +08:00
setting.go Replace all instances of fmt.Errorf(%v) with fmt.Errorf(%w) (#21551) 2022-10-24 20:29:17 +01:00
settings_test.go test: use T.TempDir to create temporary test directory (#21043) 2022-09-04 16:14:53 +01:00
tag.go Move some code into models/git (#19879) 2022-06-12 23:51:54 +08:00
topic.go Renamed ctx.User to ctx.Doer. (#19161) 2022-03-22 15:03:22 +08:00
treelist.go Refactor parseTreeEntries, speed up tree list (#21368) 2022-10-08 01:20:53 +08:00
view_test.go adapt README_{Country}.md stype name in localizedExtensions (#21486) 2022-10-24 14:12:15 +08:00
view.go Ensure that plain files are rendered correctly even when containing ambiguous characters (#22017) (#22160) 2022-12-19 23:51:21 +08:00
webhook.go Decouple HookTask from Repository (#17940) 2022-10-21 18:21:56 +02:00
wiki_test.go Make git.OpenRepository accept Context (#19260) 2022-03-30 03:13:41 +08:00
wiki.go [refactor] Use const for wiki DefaultBranch (#21466) 2022-10-15 16:40:32 +02:00