Documentation ¶
Index ¶
- Constants
- Variables
- func ActionDesc(act Actioner) string
- func ActionIcon(opType int) string
- func AvatarLink(email string) string
- func CreateTimeLimitCode(data string, minutes int, startInf interface{}) string
- func DateFormat(t time.Time, format string) string
- func DateParse(dateString, format string) (time.Time, error)
- func DiffLineTypeToStr(diffType int) string
- func DiffTypeToStr(diffType int) string
- func EncodeMd5(str string) string
- func ExecDir() (string, error)
- func FileSize(s int64) string
- func GetRandomString(n int, alphabets ...byte) string
- func IsImageFile(data []byte) (string, bool)
- func IsMarkdownFile(name string) bool
- func IsReadmeFile(name string) bool
- func IsTextFile(data []byte) (string, bool)
- func List(l *list.List) chan interface{}
- func NewBaseServices()
- func NewConfigContext()
- func Oauth2Icon(t int) string
- func PBKDF2(password, salt []byte, iter, keyLen int, h func() hash.Hash) []byte
- func Range(l int) []int
- func RenderMarkdown(rawBytes []byte, urlPrefix string) []byte
- func RenderMarkdownString(raw, urlPrefix string) string
- func RenderSpecialLink(rawBytes []byte, urlPrefix string) []byte
- func ShortSha(sha1 string) string
- func Str2html(raw string) template.HTML
- func Subtract(left interface{}, right interface{}) interface{}
- func TimeSince(then time.Time) string
- func TimeSincePro(then time.Time) string
- func ToStr(value interface{}, args ...int) (s string)
- func VerifyTimeLimitCode(data string, minutes int, code string) bool
- type Actioner
- type BindingErrors
- type CustomRender
- type Mailer
- type OauthInfo
- type Oauther
- type PushCommit
- type PushCommits
- type StrTo
- type TmplData
Constants ¶
const ( BindingRequireError string = "Required" BindingAlphaDashError string = "AlphaDash" BindingMinSizeError string = "MinSize" BindingMaxSizeError string = "MaxSize" BindingEmailError string = "Email" BindingUrlError string = "Url" BindingDeserializationError string = "DeserializationError" BindingIntegerTypeError string = "IntegerTypeError" BindingBooleanTypeError string = "BooleanTypeError" BindingFloatTypeError string = "FloatTypeError" )
const ( TPL_CREATE_REPO = `<a href="/user/%s">%s</a> created repository <a href="/%s">%s</a>` TPL_COMMIT_REPO = `<a href="/user/%s">%s</a> pushed to <a href="/%s/src/%s">%s</a> at <a href="/%s">%s</a>%s` TPL_COMMIT_REPO_LI = `<div><img src="%s?s=16" alt="user-avatar"/> <a href="/%s/commit/%s">%s</a> %s</div>` TPL_CREATE_ISSUE = `<a href="/user/%s">%s</a> opened issue <a href="/%s/issues/%s">%s#%s</a> <div><img src="%s?s=16" alt="user-avatar"/> %s</div>` TPL_TRANSFER_REPO = `<a href="/user/%s">%s</a> transfered repository <code>%s</code> to <a href="/%s">%s</a>` TPL_PUSH_TAG = `<a href="/user/%s">%s</a> pushed tag <a href="/%s/src/%s">%s</a> at <a href="/%s">%s</a>` )
const ( Minute = 60 Hour = 60 * Minute Day = 24 * Hour Week = 7 * Day Month = 30 * Day Year = 12 * Month )
Seconds-based time units
const ( Byte = 1 KByte = Byte * 1024 MByte = KByte * 1024 GByte = MByte * 1024 TByte = GByte * 1024 PByte = TByte * 1024 EByte = PByte * 1024 )
const TimeLimitCodeLength = 12 + 6 + 40
Variables ¶
var ( AppVer string AppName string AppLogo string AppUrl string IsProdMode bool Domain string SecretKey string RunUser string RepoRootPath string ScriptType string InstallLock bool LogInRememberDays int CookieUserName string CookieRememberName string Cfg *goconfig.ConfigFile MailService *Mailer OauthService *Oauther LogMode string LogConfig string Cache cache.Cache CacheAdapter string CacheConfig string SessionProvider string SessionConfig *session.Config SessionManager *session.Manager PictureService string EnableRedis bool EnableMemcache bool )
var GoGetMetas = make(map[string]bool)
var (
MentionPattern = regexp.MustCompile(`@[0-9a-zA-Z_]{1,}`)
)
var Service struct { RegisterEmailConfirm bool DisenableRegisteration bool RequireSignInView bool EnableCacheAvatar bool NotifyMail bool ActiveCodeLives int ResetPwdCodeLives int }
var TemplateFuncs template.FuncMap = map[string]interface{}{ "AppName": func() string { return AppName }, "AppVer": func() string { return AppVer }, "AppDomain": func() string { return Domain }, "IsProdMode": func() bool { return IsProdMode }, "LoadTimes": func(startTime time.Time) string { return fmt.Sprint(time.Since(startTime).Nanoseconds()/1e6) + "ms" }, "AvatarLink": AvatarLink, "str2html": Str2html, "TimeSince": TimeSince, "FileSize": FileSize, "Subtract": Subtract, "Add": func(a, b int) int { return a + b }, "ActionIcon": ActionIcon, "ActionDesc": ActionDesc, "DateFormat": DateFormat, "List": List, "Mail2Domain": func(mail string) string { if !strings.Contains(mail, "@") { return "try.gogits.org" } suffix := strings.SplitN(mail, "@", 2)[1] domain, ok := mailDomains[suffix] if !ok { return "mail." + suffix } return domain }, "SubStr": func(str string, start, length int) string { return str[start : start+length] }, "DiffTypeToStr": DiffTypeToStr, "DiffLineTypeToStr": DiffLineTypeToStr, "ShortSha": ShortSha, "Oauth2Icon": Oauth2Icon, }
Functions ¶
func ActionDesc ¶
ActionDesc accepts int that represents action operation type and returns the description.
func ActionIcon ¶
ActionIcon accepts a int that represents action operation type and returns a icon class name.
func AvatarLink ¶
AvatarLink returns avatar link by given e-mail.
func CreateTimeLimitCode ¶
create a time limit code code format: 12 length date time string + 6 minutes string + 40 sha1 encoded string
func DateFormat ¶
Date takes a PHP like date func to Go's time format.
func DiffLineTypeToStr ¶
func DiffTypeToStr ¶
func GetRandomString ¶
GetRandomString generate random string by specify chars.
func IsImageFile ¶
func IsMarkdownFile ¶
func IsReadmeFile ¶
func IsTextFile ¶
func NewBaseServices ¶ added in v0.3.0
func NewBaseServices()
func NewConfigContext ¶
func NewConfigContext()
func Oauth2Icon ¶ added in v0.3.0
func PBKDF2 ¶ added in v0.3.0
http://code.google.com/p/go/source/browse/pbkdf2/pbkdf2.go?repo=crypto
func RenderMarkdown ¶
func RenderMarkdownString ¶ added in v0.3.0
func RenderSpecialLink ¶ added in v0.3.0
func Subtract ¶
func Subtract(left interface{}, right interface{}) interface{}
Subtract deals with subtraction of all types of number.
func TimeSincePro ¶
TimeSincePro calculates the time interval and generate full user-friendly string.
Types ¶
type BindingErrors ¶ added in v0.3.0
type BindingErrors struct { Overall map[string]string `json:"overall"` Fields map[string]string `json:"fields"` }
Errors represents the contract of the response body when the binding step fails before getting to the application.
func (*BindingErrors) Combine ¶ added in v0.3.0
func (this *BindingErrors) Combine(other BindingErrors)
func (BindingErrors) Count ¶ added in v0.3.0
func (err BindingErrors) Count() int
Total errors is the sum of errors with the request overall and errors on individual fields.
type CustomRender ¶
type Oauther ¶ added in v0.3.0
type Oauther struct {
GitHub, Google, Tencent,
Twitter, Weibo bool
OauthInfos map[string]*OauthInfo
}
Oauther represents oauth service.
type PushCommit ¶
type PushCommits ¶
type PushCommits struct { Len int Commits []*PushCommit }