本文整理汇总了Golang中github.com/robfig/soy/data.Value类的典型用法代码示例。如果您正苦于以下问题:Golang Value类的具体用法?Golang Value怎么用?Golang Value使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Value类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: directiveInsertWordBreaks
func directiveInsertWordBreaks(value data.Value, args []data.Value) data.Value {
var (
input = template.HTMLEscapeString(value.String())
maxChars = int(args[0].(data.Int))
chars = 0
output *bytes.Buffer // create the buffer lazily
)
for i, ch := range input {
switch {
case ch == ' ':
chars = 0
case chars >= maxChars:
if output == nil {
output = bytes.NewBufferString(input[:i])
}
output.WriteString("<wbr>")
chars = 1
default:
chars++
}
if output != nil {
output.WriteRune(ch)
}
}
if output == nil {
return value
}
return data.String(output.String())
}
开发者ID:voidException,项目名称:soy,代码行数:29,代码来源:directives.go
示例2: directiveTruncate
func directiveTruncate(value data.Value, args []data.Value) data.Value {
if !isInt(args[0]) {
panic(fmt.Errorf("First parameter of '|truncate' is not an integer: %v", args[0]))
}
var maxLen = int(args[0].(data.Int))
var str = value.String()
if len(str) <= maxLen {
return value
}
var ellipsis = data.Bool(true)
if len(args) == 2 {
var ok bool
ellipsis, ok = args[1].(data.Bool)
if !ok {
panic(fmt.Errorf("Second parameter of '|truncate' is not a bool: %v", args[1]))
}
}
if ellipsis {
if maxLen > 3 {
maxLen -= 3
} else {
ellipsis = false
}
}
for !utf8.RuneStart(str[maxLen]) {
maxLen--
}
str = str[:maxLen]
if ellipsis {
str += "..."
}
return data.String(str)
}
开发者ID:voidException,项目名称:soy,代码行数:37,代码来源:directives.go
示例3: directiveChangeNewlineToBr
func directiveChangeNewlineToBr(value data.Value, _ []data.Value) data.Value {
return data.String(newlinePattern.ReplaceAllString(
template.HTMLEscapeString(value.String()),
"<br>"))
}
开发者ID:voidException,项目名称:soy,代码行数:5,代码来源:directives.go
示例4: directiveEscapeJsString
func directiveEscapeJsString(value data.Value, _ []data.Value) data.Value {
return data.String(template.JSEscapeString(value.String()))
}
开发者ID:voidException,项目名称:soy,代码行数:3,代码来源:directives.go
示例5: directiveEscapeUri
func directiveEscapeUri(value data.Value, _ []data.Value) data.Value {
return data.String(url.QueryEscape(value.String()))
}
开发者ID:voidException,项目名称:soy,代码行数:3,代码来源:directives.go
示例6: directiveEscapeHtml
func directiveEscapeHtml(value data.Value, _ []data.Value) data.Value {
return data.String(template.HTMLEscapeString(value.String()))
}
开发者ID:voidException,项目名称:soy,代码行数:3,代码来源:directives.go
注:本文中的github.com/robfig/soy/data.Value类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论