2014-03-15 15:01:50 +04:00
// Copyright 2014 The Gogs Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package base
import (
2014-03-19 10:39:07 +04:00
"container/list"
2014-03-19 17:57:55 +04:00
"fmt"
2014-03-15 15:01:50 +04:00
"html/template"
2014-03-19 20:50:44 +04:00
"strings"
2014-03-19 17:57:55 +04:00
"time"
2014-03-15 15:01:50 +04:00
)
func Str2html ( raw string ) template . HTML {
return template . HTML ( raw )
}
2014-03-19 10:39:07 +04:00
func Range ( l int ) [ ] int {
return make ( [ ] int , l )
}
func List ( l * list . List ) chan interface { } {
e := l . Front ( )
c := make ( chan interface { } )
go func ( ) {
for e != nil {
c <- e . Value
e = e . Next ( )
}
close ( c )
} ( )
return c
}
2014-03-15 15:01:50 +04:00
var TemplateFuncs template . FuncMap = map [ string ] interface { } {
"AppName" : func ( ) string {
return AppName
} ,
"AppVer" : func ( ) string {
return AppVer
} ,
2014-03-17 14:13:07 +04:00
"AppDomain" : func ( ) string {
return Domain
} ,
2014-03-19 17:57:55 +04:00
"LoadTimes" : func ( startTime time . Time ) string {
return fmt . Sprint ( time . Since ( startTime ) . Nanoseconds ( ) / 1e6 ) + "ms"
} ,
2014-03-17 08:57:18 +04:00
"AvatarLink" : AvatarLink ,
2014-03-15 15:01:50 +04:00
"str2html" : Str2html ,
"TimeSince" : TimeSince ,
2014-03-15 20:29:49 +04:00
"FileSize" : FileSize ,
2014-03-15 15:01:50 +04:00
"Subtract" : Subtract ,
"ActionIcon" : ActionIcon ,
"ActionDesc" : ActionDesc ,
"DateFormat" : DateFormat ,
2014-03-19 10:39:07 +04:00
"List" : List ,
2014-03-19 20:50:44 +04:00
"Mail2Domain" : func ( mail string ) string {
return "mail." + strings . Split ( mail , "@" ) [ 1 ]
} ,
2014-03-19 21:14:56 +04:00
"SubStr" : func ( str string , start , length int ) string {
return str [ start : start + length ]
} ,
2014-03-15 15:01:50 +04:00
}