wiki.go 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. // Copyright 2015 The Gogs Authors. All rights reserved.
  2. // Use of this source code is governed by a MIT-style
  3. // license that can be found in the LICENSE file.
  4. package repo
  5. import (
  6. "github.com/gogits/gogs/models"
  7. "github.com/gogits/gogs/modules/auth"
  8. "github.com/gogits/gogs/modules/base"
  9. "github.com/gogits/gogs/modules/middleware"
  10. )
  11. const (
  12. WIKI_START base.TplName = "repo/wiki/start"
  13. WIKI_VIEW base.TplName = "repo/wiki/view"
  14. WIKI_NEW base.TplName = "repo/wiki/new"
  15. )
  16. func Wiki(ctx *middleware.Context) {
  17. ctx.Data["Title"] = ctx.Tr("repo.wiki")
  18. ctx.Data["PageIsWiki"] = true
  19. if !ctx.Repo.Repository.HasWiki() {
  20. ctx.HTML(200, WIKI_START)
  21. return
  22. }
  23. ctx.HTML(200, WIKI_VIEW)
  24. }
  25. func NewWiki(ctx *middleware.Context) {
  26. ctx.Data["Title"] = ctx.Tr("repo.wiki.new_page")
  27. ctx.Data["PageIsWiki"] = true
  28. ctx.Data["RequireSimpleMDE"] = true
  29. if !ctx.Repo.Repository.HasWiki() {
  30. ctx.Data["title"] = "Home"
  31. }
  32. ctx.HTML(200, WIKI_NEW)
  33. }
  34. func NewWikiPost(ctx *middleware.Context, form auth.NewWikiForm) {
  35. ctx.Data["Title"] = ctx.Tr("repo.wiki.new_page")
  36. ctx.Data["PageIsWiki"] = true
  37. ctx.Data["RequireSimpleMDE"] = true
  38. if ctx.HasError() {
  39. ctx.HTML(200, WIKI_NEW)
  40. return
  41. }
  42. if err := ctx.Repo.Repository.AddWikiPage(form.Title, form.Content, form.Message); err != nil {
  43. ctx.Handle(500, "AddWikiPage", err)
  44. return
  45. }
  46. ctx.Redirect(ctx.Repo.RepoLink + "/wiki/" + models.ToWikiPageName(form.Title))
  47. }
  48. func EditWiki(ctx *middleware.Context) {
  49. ctx.PlainText(200, []byte(ctx.Params(":page")))
  50. }