go-gitea / gitea

Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD
https://gitea.com
MIT License
45.25k stars 5.5k forks source link

Refactor render system #32492

Closed wxiaoguang closed 1 week ago

wxiaoguang commented 1 week ago

There were too many patches to the Render system, it's really difficult to make further improvements.

This PR clears the legacy problems and fix TODOs.

  1. Rename RenderContext.Type to RenderContext.MarkupType to clarify its usage.
  2. Use ContentMode to replace meta["mode"] and IsWiki, to clarify the rendering behaviors.
  3. Use "wiki" mode instead of "mode=gfm + wiki=true"
  4. Merge renderByType and renderByFile
  5. Add more comments

The problem of "mode=document": in many cases it is not set, so many non-comment places use comment's hard line break incorrectly