forked from forgejo/forgejo
Add NeedPostProcess for Parser interface to improve performance of csv render (#15153)
This commit is contained in:
parent
bf3e584de2
commit
66f0fd0959
8 changed files with 38 additions and 14 deletions
|
@ -33,6 +33,7 @@ func Init() {
|
|||
type Parser interface {
|
||||
Name() string // markup format name
|
||||
Extensions() []string
|
||||
NeedPostProcess() bool
|
||||
Render(rawBytes []byte, urlPrefix string, metas map[string]string, isWiki bool) []byte
|
||||
}
|
||||
|
||||
|
@ -82,10 +83,13 @@ func RenderWiki(filename string, rawBytes []byte, urlPrefix string, metas map[st
|
|||
|
||||
func render(parser Parser, rawBytes []byte, urlPrefix string, metas map[string]string, isWiki bool) []byte {
|
||||
result := parser.Render(rawBytes, urlPrefix, metas, isWiki)
|
||||
// TODO: one day the error should be returned.
|
||||
result, err := PostProcess(result, urlPrefix, metas, isWiki)
|
||||
if err != nil {
|
||||
log.Error("PostProcess: %v", err)
|
||||
if parser.NeedPostProcess() {
|
||||
var err error
|
||||
// TODO: one day the error should be returned.
|
||||
result, err = PostProcess(result, urlPrefix, metas, isWiki)
|
||||
if err != nil {
|
||||
log.Error("PostProcess: %v", err)
|
||||
}
|
||||
}
|
||||
return SanitizeBytes(result)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue