mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-11 16:05:49 +01:00
A simple wiki page (markdown file "_Footer.md") is used as footer for the wiki.
Github specification: https://help.github.com/articles/creating-a-footer/ - the footer is rendered below the wiki page content. - a direct link to edit the footer.
This commit is contained in:
@@ -39,7 +39,8 @@ trait WikiControllerBase extends ControllerBase {
|
||||
getWikiPage(repository.owner, repository.name, "Home").map { page =>
|
||||
html.page("Home", page, getWikiPageList(repository.owner, repository.name),
|
||||
repository, hasWritePermission(repository.owner, repository.name, context.loginAccount),
|
||||
getWikiPage(repository.owner, repository.name, "_Sidebar"))
|
||||
getWikiPage(repository.owner, repository.name, "_Sidebar"),
|
||||
getWikiPage(repository.owner, repository.name, "_Footer"))
|
||||
} getOrElse redirect(s"/${repository.owner}/${repository.name}/wiki/Home/_edit")
|
||||
})
|
||||
|
||||
@@ -49,7 +50,8 @@ trait WikiControllerBase extends ControllerBase {
|
||||
getWikiPage(repository.owner, repository.name, pageName).map { page =>
|
||||
html.page(pageName, page, getWikiPageList(repository.owner, repository.name),
|
||||
repository, hasWritePermission(repository.owner, repository.name, context.loginAccount),
|
||||
getWikiPage(repository.owner, repository.name, "_Sidebar"))
|
||||
getWikiPage(repository.owner, repository.name, "_Sidebar"),
|
||||
getWikiPage(repository.owner, repository.name, "_Footer"))
|
||||
} getOrElse redirect(s"/${repository.owner}/${repository.name}/wiki/${StringUtil.urlEncode(pageName)}/_edit")
|
||||
})
|
||||
|
||||
@@ -203,7 +205,7 @@ trait WikiControllerBase extends ControllerBase {
|
||||
}
|
||||
}
|
||||
|
||||
private def notReservedPageName(value: String) = value != "_Sidebar"
|
||||
private def notReservedPageName(value: String) = ! (Array[String]("_Sidebar","_Footer") contains value)
|
||||
|
||||
private def conflictForNew: Constraint = new Constraint(){
|
||||
override def validate(name: String, value: String, messages: Messages): Option[String] = {
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
pages: List[String],
|
||||
repository: gitbucket.core.service.RepositoryService.RepositoryInfo,
|
||||
hasWritePermission: Boolean,
|
||||
sidebar: Option[gitbucket.core.service.WikiService.WikiPageInfo])(implicit context: gitbucket.core.controller.Context)
|
||||
sidebar: Option[gitbucket.core.service.WikiService.WikiPageInfo],
|
||||
footer: Option[gitbucket.core.service.WikiService.WikiPageInfo])(implicit context: gitbucket.core.controller.Context)
|
||||
@import context._
|
||||
@import gitbucket.core.view.helpers._
|
||||
@import gitbucket.core.service.WikiService._
|
||||
@@ -59,7 +60,7 @@
|
||||
}.getOrElse{
|
||||
@if(hasWritePermission){
|
||||
<a class="button-link" href="@url(repository)/wiki/_Sidebar/_edit" style="text-decoration: none;">
|
||||
<div class="wiki-sidebar" style="text-align:center;">
|
||||
<div class="wiki-sidebar-dotted" style="text-align:center;">
|
||||
<i class="octicon octicon-plus" style="font-size: 16px;"></i>
|
||||
Add a custom sidebar
|
||||
</div>
|
||||
@@ -82,6 +83,25 @@
|
||||
<div class="markdown-body">
|
||||
@markdown(page.content, repository, true, false, false, false, pages)
|
||||
</div>
|
||||
@footer.map { footerPage =>
|
||||
<div class="wiki-sidebar wiki-footer">
|
||||
@if(hasWritePermission){
|
||||
<a href="@url(repository)/wiki/_Footer/_edit" style="text-decoration: none;">
|
||||
<span class="octicon octicon-pencil" style="position: relative; float: right;"></span>
|
||||
</a>
|
||||
}
|
||||
@markdown(footerPage.content, repository, true, false, false, false, pages)
|
||||
</div>
|
||||
}.getOrElse{
|
||||
@if(hasWritePermission){
|
||||
<a class="button-link" href="@url(repository)/wiki/_Footer/_edit" style="text-decoration: none;">
|
||||
<div class="wiki-sidebar-dotted" style="text-align:center;">
|
||||
<i class="octicon octicon-plus" style="font-size: 16px;"></i>
|
||||
Add a custom footer
|
||||
</div>
|
||||
</a>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1195,6 +1195,22 @@ div.wiki-sidebar {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
div.wiki-sidebar-dotted {
|
||||
background-color: white;
|
||||
border: 1px dotted #d8d8d8;
|
||||
padding: 4px;
|
||||
border-bottom-left-radius: 3px;
|
||||
border-bottom-right-radius: 3px;
|
||||
margin-bottom: 20px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
div.wiki-footer {
|
||||
margin-top: 50px;
|
||||
background-color: #f5f5f5;
|
||||
color: gray;
|
||||
}
|
||||
|
||||
div.wiki-index-content {
|
||||
background-color: white;
|
||||
border: 1px solid #d8d8d8;
|
||||
|
||||
Reference in New Issue
Block a user