Documentation ¶
Index ¶
- Constants
- Variables
- func CamoEncode(link string) string
- func CustomLinkURLSchemes(schemes []string)
- func DetectRendererType(filename string, input io.Reader) string
- func Init(ph *ProcessorHelper)
- func InitializeSanitizer()
- func IsErrUnsupportedRenderExtension(err error) bool
- func IsLink(link []byte) bool
- func IsMarkupFile(name, markup string) bool
- func IsSameDomain(s string) bool
- func NewSanitizer()
- func PostProcess(ctx *RenderContext, input io.Reader, output io.Writer) error
- func PreviewableExtensions() []string
- 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(ctx *RenderContext, 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, w io.Writer) error
- func Type(filename string) string
- type ErrUnsupportedRenderExtension
- type ErrUnsupportedRenderType
- type ExternalRenderer
- type Header
- type PostProcessRenderer
- type ProcessorHelper
- type RenderContext
- type RenderMetaMode
- type Renderer
- type RendererContentDetector
- type Sanitizer
Constants ¶
const ( IssueNameStyleNumeric = "numeric" IssueNameStyleAlphanumeric = "alphanumeric" IssueNameStyleRegexp = "regexp" )
Issue name styles
Variables ¶
var ( // EmojiShortCodeRegex find emoji by alias like :smile: EmojiShortCodeRegex = regexp.MustCompile(`:[-+\w]+:`) )
Functions ¶
func CamoEncode ¶ added in v1.17.0
CamoEncode encodes a lnk to fit with the go-camo and camo proxy links. The purposes of camo-proxy are: 1. Allow accessing "http://" images on a HTTPS site by using the "https://" URLs provided by camo-proxy. 2. Hide the visitor's real IP (protect privacy) when accessing external images.
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 DetectRendererType ¶ added in v1.17.0
DetectRendererType detects the markup type of the content
func Init ¶ added in v1.3.0
func Init(ph *ProcessorHelper)
Init initialize regexps for markdown parsing
func InitializeSanitizer ¶ added in v1.15.0
func InitializeSanitizer()
InitializeSanitizer (re)initializes the current sanitizer to account for changes in settings
func IsErrUnsupportedRenderExtension ¶ added in v1.20.0
func IsMarkupFile ¶ added in v1.3.0
IsMarkupFile reports whether file is a markup type file
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 PreviewableExtensions ¶ added in v1.20.0
func PreviewableExtensions() []string
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
func RenderEmoji( ctx *RenderContext, content string, ) (string, error)
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 ExternalRenderer ¶ added in v1.17.0
type ExternalRenderer interface { // SanitizerDisabled disabled sanitize if return true SanitizerDisabled() bool // DisplayInIFrame represents whether render the content with an iframe DisplayInIFrame() bool }
PostProcessRenderer defines an interface for external renderers
type PostProcessRenderer ¶ added in v1.17.0
type PostProcessRenderer interface {
NeedPostProcess() bool
}
PostProcessRenderer defines an interface for renderers who need post process
type ProcessorHelper ¶ added in v1.17.4
type ProcessorHelper struct { IsUsernameMentionable func(ctx context.Context, username string) bool ElementDir string // the direction of the elements, eg: "ltr", "rtl", "auto", default to no direction attribute }
var DefaultProcessorHelper ProcessorHelper
type RenderContext ¶ added in v1.15.0
type RenderContext struct { Ctx context.Context RelativePath string // relative path from tree root of the branch Type string IsWiki bool URLPrefix string Metas map[string]string DefaultLink string GitRepo *git.Repository ShaExistCache map[string]bool SidebarTocNode ast.Node RenderMetaAs RenderMetaMode InStandalonePage bool // used by external render. the router "/org/repo/render/..." will output the rendered content in a standalone page // 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 RenderMetaMode ¶ added in v1.20.0
type RenderMetaMode string
const ( RenderMetaAsDetails RenderMetaMode = "details" // default RenderMetaAsNone RenderMetaMode = "none" RenderMetaAsTable RenderMetaMode = "table" )
type Renderer ¶ added in v1.15.0
type Renderer interface { Name() string // markup format name Extensions() []string 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
type RendererContentDetector ¶ added in v1.17.0
RendererContentDetector detects if the content can be rendered by specified renderer