mirror of
https://github.com/go-gitea/gitea.git
synced 2025-06-22 14:08:01 +02:00
Editor preview support for external renderers (#23333)
Remove `[repository.editor] PREVIEWABLE_FILE_MODES` setting that seemed like it was intended to support this but did not work. Instead, whenever viewing a file shows a preview, also have a Preview tab in the file editor. Add new `/markup` web and API endpoints with `comment`, `gfm`, `markdown` and new `file` mode that uses a file path to determine the renderer. Remove `/markdown` web endpoint but keep the API for backwards and GitHub compatibility. ## ⚠️ BREAKING ⚠️ The `[repository.editor] PREVIEWABLE_FILE_MODES` setting was removed. This setting served no practical purpose and was not working correctly. Instead a preview tab is always shown in the file editor when supported. --------- Co-authored-by: zeripath <art27@cantab.net> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
This commit is contained in:

committed by
GitHub

parent
9e04627aca
commit
84daddc2fa
@ -283,6 +283,11 @@ type ErrUnsupportedRenderExtension struct {
|
||||
Extension string
|
||||
}
|
||||
|
||||
func IsErrUnsupportedRenderExtension(err error) bool {
|
||||
_, ok := err.(ErrUnsupportedRenderExtension)
|
||||
return ok
|
||||
}
|
||||
|
||||
func (err ErrUnsupportedRenderExtension) Error() string {
|
||||
return fmt.Sprintf("Unsupported render extension: %s", err.Extension)
|
||||
}
|
||||
@ -317,3 +322,11 @@ func IsMarkupFile(name, markup string) bool {
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func PreviewableExtensions() []string {
|
||||
extensions := make([]string, 0, len(extRenderers))
|
||||
for extension := range extRenderers {
|
||||
extensions = append(extensions, extension)
|
||||
}
|
||||
return extensions
|
||||
}
|
||||
|
@ -53,8 +53,7 @@ var (
|
||||
|
||||
// Repository editor settings
|
||||
Editor struct {
|
||||
LineWrapExtensions []string
|
||||
PreviewableFileModes []string
|
||||
LineWrapExtensions []string
|
||||
} `ini:"-"`
|
||||
|
||||
// Repository upload settings
|
||||
@ -167,11 +166,9 @@ var (
|
||||
|
||||
// Repository editor settings
|
||||
Editor: struct {
|
||||
LineWrapExtensions []string
|
||||
PreviewableFileModes []string
|
||||
LineWrapExtensions []string
|
||||
}{
|
||||
LineWrapExtensions: strings.Split(".txt,.md,.markdown,.mdown,.mkd,", ","),
|
||||
PreviewableFileModes: []string{"markdown"},
|
||||
LineWrapExtensions: strings.Split(".txt,.md,.markdown,.mdown,.mkd,", ","),
|
||||
},
|
||||
|
||||
// Repository upload settings
|
||||
|
@ -15,13 +15,41 @@ type SearchError struct {
|
||||
Error string `json:"error"`
|
||||
}
|
||||
|
||||
// MarkupOption markup options
|
||||
type MarkupOption struct {
|
||||
// Text markup to render
|
||||
//
|
||||
// in: body
|
||||
Text string
|
||||
// Mode to render (comment, gfm, markdown, file)
|
||||
//
|
||||
// in: body
|
||||
Mode string
|
||||
// Context to render
|
||||
//
|
||||
// in: body
|
||||
Context string
|
||||
// Is it a wiki page ?
|
||||
//
|
||||
// in: body
|
||||
Wiki bool
|
||||
// File path for detecting extension in file mode
|
||||
//
|
||||
// in: body
|
||||
FilePath string
|
||||
}
|
||||
|
||||
// MarkupRender is a rendered markup document
|
||||
// swagger:response MarkupRender
|
||||
type MarkupRender string
|
||||
|
||||
// MarkdownOption markdown options
|
||||
type MarkdownOption struct {
|
||||
// Text markdown to render
|
||||
//
|
||||
// in: body
|
||||
Text string
|
||||
// Mode to render
|
||||
// Mode to render (comment, gfm, markdown)
|
||||
//
|
||||
// in: body
|
||||
Mode string
|
||||
|
Reference in New Issue
Block a user