Documentation ¶
Index ¶
- Constants
- Variables
- func CustomLinkURLSchemes(schemes []string)
- func Init()
- func InitializeSanitizer()
- func IsLink(link []byte) bool
- func IsMarkupFile(name, markup string) bool
- func IsReadmeFile(name string, ext ...string) bool
- func IsSameDomain(s string) bool
- func NewSanitizer()
- func PostProcess(ctx *RenderContext, input io.Reader, output io.Writer) error
- func RegisterRenderer(renderer Renderer)
- func Render(ctx *RenderContext, input io.Reader, output io.Writer) error
- func RenderCommitMessage(ctx *RenderContext, content string) (string, error)
- func RenderCommitMessageSubject(ctx *RenderContext, content string) (string, error)
- func RenderDescriptionHTML(ctx *RenderContext, content string) (string, error)
- func RenderEmoji(content string) (string, error)
- func RenderIssueTitle(ctx *RenderContext, title string) (string, error)
- func RenderString(ctx *RenderContext, content string) (string, error)
- func Sanitize(s string) string
- func SanitizeReader(r io.Reader, renderer string) *bytes.Buffer
- func Type(filename string) string
- type ErrUnsupportedRenderExtension
- type ErrUnsupportedRenderType
- type RenderContext
- type Renderer
- type Sanitizer
Constants ¶
const ( IssueNameStyleNumeric = "numeric" IssueNameStyleAlphanumeric = "alphanumeric" )
Issue name styles
Variables ¶
var ( // EmojiShortCodeRegex find emoji by alias like :smile: EmojiShortCodeRegex = regexp.MustCompile(`:[\w\+\-]+:`) )
Functions ¶
func CustomLinkURLSchemes ¶ added in v1.11.0
func CustomLinkURLSchemes(schemes []string)
CustomLinkURLSchemes allows for additional schemes to be detected when parsing links within text
func InitializeSanitizer ¶ added in v1.15.0
func InitializeSanitizer()
InitializeSanitizer (re)initializes the current sanitizer to account for changes in settings
func IsMarkupFile ¶ added in v1.3.0
IsMarkupFile reports whether file is a markup type file
func IsReadmeFile ¶
IsReadmeFile reports whether name looks like a README file based on its name. If an extension is provided, it will strictly match that extension. Note that the '.' should be provided in ext, e.g ".md"
func IsSameDomain ¶ added in v1.3.0
IsSameDomain checks if given url string has the same hostname as current Gitea instance
func NewSanitizer ¶ added in v1.3.0
func NewSanitizer()
NewSanitizer initializes sanitizer with allowed attributes based on settings. Multiple calls to this function will only create one instance of Sanitizer during entire application lifecycle.
func PostProcess ¶ added in v1.3.0
PostProcess does the final required transformations to the passed raw HTML data, and ensures its validity. Transformations include: replacing links and emails with HTML links, parsing shortlinks in the format of [[Link]], like MediaWiki, linking issues in the format #ID, and mentions in the format @user, and others.
func RegisterRenderer ¶ added in v1.15.0
func RegisterRenderer(renderer Renderer)
RegisterRenderer registers a new markup file renderer
func RenderCommitMessage ¶ added in v1.5.0
func RenderCommitMessage( ctx *RenderContext, content string, ) (string, error)
RenderCommitMessage will use the same logic as PostProcess, but will disable the shortLinkProcessor and will add a defaultLinkProcessor if defaultLink is set, which changes every text node into a link to the passed default link.
func RenderCommitMessageSubject ¶ added in v1.10.0
func RenderCommitMessageSubject( ctx *RenderContext, content string, ) (string, error)
RenderCommitMessageSubject will use the same logic as PostProcess and RenderCommitMessage, but will disable the shortLinkProcessor and emailAddressProcessor, will add a defaultLinkProcessor if defaultLink is set, which changes every text node into a link to the passed default link.
func RenderDescriptionHTML ¶ added in v1.7.4
func RenderDescriptionHTML( ctx *RenderContext, content string, ) (string, error)
RenderDescriptionHTML will use similar logic as PostProcess, but will use a single special linkProcessor.
func RenderEmoji ¶ added in v1.12.0
RenderEmoji for when we want to just process emoji and shortcodes in various places it isn't already run through the normal markdown processor
func RenderIssueTitle ¶ added in v1.14.0
func RenderIssueTitle( ctx *RenderContext, title string, ) (string, error)
RenderIssueTitle to process title on individual issue/pull page
func RenderString ¶
func RenderString(ctx *RenderContext, content string) (string, error)
RenderString renders Markup string to HTML with all specific handling stuff and return string
func Sanitize ¶ added in v1.3.0
Sanitize takes a string that contains a HTML fragment or document and applies policy whitelist.
func SanitizeReader ¶ added in v1.11.0
SanitizeReader sanitizes a Reader
Types ¶
type ErrUnsupportedRenderExtension ¶ added in v1.15.0
type ErrUnsupportedRenderExtension struct {
Extension string
}
ErrUnsupportedRenderExtension represents the error when extension doesn't supported to render
func (ErrUnsupportedRenderExtension) Error ¶ added in v1.15.0
func (err ErrUnsupportedRenderExtension) Error() string
type ErrUnsupportedRenderType ¶ added in v1.15.0
type ErrUnsupportedRenderType struct {
Type string
}
ErrUnsupportedRenderType represents
func (ErrUnsupportedRenderType) Error ¶ added in v1.15.0
func (err ErrUnsupportedRenderType) Error() string
type RenderContext ¶ added in v1.15.0
type RenderContext struct { Ctx context.Context Filename string Type string IsWiki bool URLPrefix string Metas map[string]string DefaultLink string GitRepo *git.Repository ShaExistCache map[string]bool // contains filtered or unexported fields }
RenderContext represents a render context
func (*RenderContext) AddCancel ¶ added in v1.15.0
func (ctx *RenderContext) AddCancel(fn func())
AddCancel adds the provided fn as a Cleanup for this Ctx
func (*RenderContext) Cancel ¶ added in v1.15.0
func (ctx *RenderContext) Cancel()
Cancel runs any cleanup functions that have been registered for this Ctx
type Renderer ¶ added in v1.15.0
type Renderer interface { Name() string // markup format name Extensions() []string NeedPostProcess() bool SanitizerRules() []setting.MarkupSanitizerRule Render(ctx *RenderContext, input io.Reader, output io.Writer) error }
Renderer defines an interface for rendering markup file to HTML
func GetRendererByFileName ¶ added in v1.15.0
GetRendererByFileName get renderer by filename
func GetRendererByType ¶ added in v1.15.0
GetRendererByType returns a renderer according type