mirror of
https://github.com/go-gitea/gitea
synced 2025-07-03 09:07:19 +00:00
Add NeedPostProcess for Parser interface to improve performance of csv render (#15153)
This commit is contained in:
@ -28,6 +28,9 @@ func (Parser) Name() string {
|
||||
return "csv"
|
||||
}
|
||||
|
||||
// NeedPostProcess implements markup.Parser
|
||||
func (Parser) NeedPostProcess() bool { return false }
|
||||
|
||||
// Extensions implements markup.Parser
|
||||
func (Parser) Extensions() []string {
|
||||
return []string{".csv", ".tsv"}
|
||||
|
5
modules/markup/external/external.go
vendored
5
modules/markup/external/external.go
vendored
@ -38,6 +38,11 @@ func (p *Parser) Name() string {
|
||||
return p.MarkupName
|
||||
}
|
||||
|
||||
// NeedPostProcess implements markup.Parser
|
||||
func (p *Parser) NeedPostProcess() bool {
|
||||
return p.MarkupParser.NeedPostProcess
|
||||
}
|
||||
|
||||
// Extensions returns the supported extensions of the tool
|
||||
func (p *Parser) Extensions() []string {
|
||||
return p.FileExtensions
|
||||
|
@ -228,6 +228,9 @@ func (Parser) Name() string {
|
||||
return MarkupName
|
||||
}
|
||||
|
||||
// NeedPostProcess implements markup.Parser
|
||||
func (Parser) NeedPostProcess() bool { return true }
|
||||
|
||||
// Extensions implements markup.Parser
|
||||
func (Parser) Extensions() []string {
|
||||
return setting.Markdown.FileExtensions
|
||||
|
@ -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)
|
||||
}
|
||||
|
@ -30,6 +30,9 @@ func (Parser) Name() string {
|
||||
return "orgmode"
|
||||
}
|
||||
|
||||
// NeedPostProcess implements markup.Parser
|
||||
func (Parser) NeedPostProcess() bool { return true }
|
||||
|
||||
// Extensions implements markup.Parser
|
||||
func (Parser) Extensions() []string {
|
||||
return []string{".org"}
|
||||
|
Reference in New Issue
Block a user