本文整理汇总了Golang中github.com/fragmenta/router.Context.Config方法的典型用法代码示例。如果您正苦于以下问题:Golang Context.Config方法的具体用法?Golang Context.Config怎么用?Golang Context.Config使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/fragmenta/router.Context
的用法示例。
在下文中一共展示了Context.Config方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: HandleCode
// HandleCode displays a list of stories linking to repos (github etc) using gravity to order them
// responds to GET /stories/code
func HandleCode(context router.Context) error {
// Build a query
q := stories.Query().Where("points > -6").Order("rank desc, points desc, id desc").Limit(listLimit)
// Restrict to stories with have a url starting with github.com or bitbucket.org
// other code repos can be added later
q.Where("url ILIKE 'https://github.com%'").OrWhere("url ILIKE 'https://bitbucket.org'")
// Set the offset in pages if we have one
page := int(context.ParamInt("page"))
if page > 0 {
q.Offset(listLimit * page)
}
// Fetch the stories
results, err := stories.FindAll(q)
if err != nil {
return router.InternalError(err)
}
// Render the template
view := view.New(context)
view.AddKey("page", page)
view.AddKey("stories", results)
view.AddKey("pubdate", storiesModTime(results))
view.AddKey("meta_title", "Go Code")
view.AddKey("meta_desc", context.Config("meta_desc"))
view.AddKey("meta_keywords", context.Config("meta_keywords"))
view.AddKey("meta_rss", storiesXMLPath(context))
view.Template("stories/views/index.html.got")
if context.Param("format") == ".xml" {
view.Layout("")
view.Template("stories/views/index.xml.got")
}
return view.Render()
}
示例2: HandleHome
// HandleHome displays a list of stories using gravity to order them
// used for the home page for gravity rank see votes.go
// responds to GET /
func HandleHome(context router.Context) error {
// Build a query
q := stories.Query().Limit(listLimit)
// Select only above 0 points, Order by rank, then points, then name
q.Where("points > 0").Order("rank desc, points desc, id desc")
// Set the offset in pages if we have one
page := int(context.ParamInt("page"))
if page > 0 {
q.Offset(listLimit * page)
}
// Fetch the stories
results, err := stories.FindAll(q)
if err != nil {
return router.InternalError(err)
}
// Render the template
view := view.New(context)
view.AddKey("page", page)
view.AddKey("stories", results)
view.Template("stories/views/index.html.got")
view.AddKey("pubdate", storiesModTime(results))
view.AddKey("meta_title", fmt.Sprintf("%s, %s", context.Config("meta_title"), context.Config("meta_desc")))
view.AddKey("meta_desc", context.Config("meta_desc"))
view.AddKey("meta_keywords", context.Config("meta_keywords"))
view.AddKey("meta_rss", storiesXMLPath(context))
if context.Param("format") == ".xml" {
view.Layout("")
view.Template("stories/views/index.xml.got")
}
return view.Render()
}
示例3: HandleShow
// HandleShow displays a single story
func HandleShow(context router.Context) error {
// Find the story
story, err := stories.Find(context.ParamInt("id"))
if err != nil {
return router.InternalError(err)
}
// Redirect requests to the canonical url
if context.Path() != story.CanonicalURL() {
return router.Redirect(context, story.CanonicalURL())
}
// Find the comments for this story
// Fetch the comments
q := comments.Where("story_id=?", story.Id).Order(comments.RankOrder)
rootComments, err := comments.FindAll(q)
if err != nil {
return router.InternalError(err)
}
meta := story.Summary
if len(meta) == 0 {
meta = fmt.Sprintf("A story on %s, %s", context.Config("meta_title"), context.Config("meta_desc"))
}
// Render the template
view := view.New(context)
view.AddKey("story", story)
view.AddKey("meta_title", story.Name)
view.AddKey("meta_desc", meta)
view.AddKey("meta_keywords", fmt.Sprintf("%s %s", story.Name, context.Config("meta_keywords")))
view.AddKey("comments", rootComments)
return view.Render()
}
示例4: HandleIndex
// HandleIndex displays a list of stories at /stories
func HandleIndex(context router.Context) error {
// Build a query
q := stories.Query().Limit(listLimit)
// Order by date by default
q.Where("points > -6").Order("created_at desc")
// Filter if necessary - this assumes name and summary cols
filter := context.Param("q")
if len(filter) > 0 {
// Replace special characters with escaped sequence
filter = strings.Replace(filter, "_", "\\_", -1)
filter = strings.Replace(filter, "%", "\\%", -1)
wildcard := "%" + filter + "%"
// Perform a wildcard search for name or url
q.Where("stories.name ILIKE ? OR stories.url ILIKE ?", wildcard, wildcard)
// If filtering, order by rank, not by date
q.Order("rank desc, points desc, id desc")
}
// Set the offset in pages if we have one
page := int(context.ParamInt("page"))
if page > 0 {
q.Offset(listLimit * page)
}
// Fetch the stories
results, err := stories.FindAll(q)
if err != nil {
return router.InternalError(err)
}
windowTitle := context.Config("meta_title")
switch filter {
case "Video:":
windowTitle = "Golang Videos"
}
// Render the template
view := view.New(context)
view.AddKey("page", page)
view.AddKey("stories", results)
view.AddKey("pubdate", storiesModTime(results))
view.AddKey("meta_title", windowTitle)
view.AddKey("meta_desc", context.Config("meta_desc"))
view.AddKey("meta_keywords", context.Config("meta_keywords"))
view.AddKey("meta_rss", storiesXMLPath(context))
if context.Param("format") == ".xml" {
view.Layout("")
view.Template("stories/views/index.xml.got")
}
return view.Render()
}