1
0
mirror of https://github.com/schollz/cowyo.git synced 2023-08-10 21:13:00 +03:00

Added versioning to view

This commit is contained in:
Zack Scholl 2016-02-09 18:44:00 -05:00
parent c15ac624b8
commit f6cb433106
2 changed files with 20 additions and 11 deletions

View File

@ -65,14 +65,12 @@ func everythingElse(c *gin.Context) {
option := c.Param("option")
title := c.Param("title")
if option == "/view" {
var p CowyoData
err := p.load(strings.ToLower(title))
if err != nil {
panic(err)
}
renderMarkdown(c, p.CurrentText, title)
version := c.DefaultQuery("version", "-1")
versionNum, _ := strconv.Atoi(version)
currentText, versions, _ := getCurrentText(title, versionNum)
renderMarkdown(c, currentText, title, versions)
} else if title == "ls" && option == "/"+RuntimeArgs.AdminKey && len(RuntimeArgs.AdminKey) > 1 {
renderMarkdown(c, listEverything(), "Everything")
renderMarkdown(c, listEverything(), "ls", nil)
} else if option == "/list" {
renderList(c, title)
} else if title == "static" {
@ -91,7 +89,7 @@ func serveStaticFile(c *gin.Context, option string) {
}
}
func renderMarkdown(c *gin.Context, currentText string, title string) {
func renderMarkdown(c *gin.Context, currentText string, title string, versions []versionsInfo) {
fmt.Println(currentText)
unsafe := blackfriday.MarkdownCommon([]byte(currentText))
fmt.Println(string(unsafe))
@ -113,8 +111,9 @@ func renderMarkdown(c *gin.Context, currentText string, title string) {
html2 = strings.Replace(html2, "$", "$", -1)
c.HTML(http.StatusOK, "view.tmpl", gin.H{
"Title": title,
"Body": template.HTML([]byte(html2)),
"Title": title,
"Body": template.HTML([]byte(html2)),
"Versions": versions,
})
}

View File

@ -29,7 +29,17 @@
<div id="navbar" class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li><a href="/{{ .Title }}">Edit</a></li>
<li class="active"><a href="/{{ .Title }}/view">View</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false" class="active">View <span class="caret"></span></a>
<ul class="dropdown-menu">
<li class="dropdown-header">Previous versions</li>
<li><a href="/{{ .Title }}/view?version=0">First</a></li>
{{ range .Versions }}
<li><a href="/{{ $.Title }}/view?version={{ .VersionNum }}">{{ .VersionDate }}</a></li>
{{ end }}
<li><a href="/{{ .Title }}/view">Current</a></li>
</ul>
</li>
<li><a href="/{{ .Title }}/list">List</a></li>
<li><a href="/about/view">About</a></li>
</ul>