Refactor render system (#32492)

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
This commit is contained in:
wxiaoguang 2024-11-14 13:02:11 +08:00 committed by GitHub
parent 985e2a8af3
commit 3f9c3e7bc3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
32 changed files with 237 additions and 257 deletions

View file

@ -21,7 +21,7 @@ type MarkupOption struct {
//
// in: body
Text string
// Mode to render (comment, gfm, markdown, file)
// Mode to render (markdown, comment, wiki, file)
//
// in: body
Mode string
@ -30,8 +30,9 @@ type MarkupOption struct {
//
// in: body
Context string
// Is it a wiki page ?
// Is it a wiki page? (use mode=wiki instead)
//
// Deprecated: true
// in: body
Wiki bool
// File path for detecting extension in file mode
@ -50,7 +51,7 @@ type MarkdownOption struct {
//
// in: body
Text string
// Mode to render (comment, gfm, markdown)
// Mode to render (markdown, comment, wiki, file)
//
// in: body
Mode string
@ -59,8 +60,9 @@ type MarkdownOption struct {
//
// in: body
Context string
// Is it a wiki page ?
// Is it a wiki page? (use mode=wiki instead)
//
// Deprecated: true
// in: body
Wiki bool
}