mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-12 00:15:50 +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 =>
|
getWikiPage(repository.owner, repository.name, "Home").map { page =>
|
||||||
html.page("Home", page, getWikiPageList(repository.owner, repository.name),
|
html.page("Home", page, getWikiPageList(repository.owner, repository.name),
|
||||||
repository, hasWritePermission(repository.owner, repository.name, context.loginAccount),
|
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")
|
} 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 =>
|
getWikiPage(repository.owner, repository.name, pageName).map { page =>
|
||||||
html.page(pageName, page, getWikiPageList(repository.owner, repository.name),
|
html.page(pageName, page, getWikiPageList(repository.owner, repository.name),
|
||||||
repository, hasWritePermission(repository.owner, repository.name, context.loginAccount),
|
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")
|
} 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(){
|
private def conflictForNew: Constraint = new Constraint(){
|
||||||
override def validate(name: String, value: String, messages: Messages): Option[String] = {
|
override def validate(name: String, value: String, messages: Messages): Option[String] = {
|
||||||
|
|||||||
@@ -3,7 +3,8 @@
|
|||||||
pages: List[String],
|
pages: List[String],
|
||||||
repository: gitbucket.core.service.RepositoryService.RepositoryInfo,
|
repository: gitbucket.core.service.RepositoryService.RepositoryInfo,
|
||||||
hasWritePermission: Boolean,
|
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 context._
|
||||||
@import gitbucket.core.view.helpers._
|
@import gitbucket.core.view.helpers._
|
||||||
@import gitbucket.core.service.WikiService._
|
@import gitbucket.core.service.WikiService._
|
||||||
@@ -59,7 +60,7 @@
|
|||||||
}.getOrElse{
|
}.getOrElse{
|
||||||
@if(hasWritePermission){
|
@if(hasWritePermission){
|
||||||
<a class="button-link" href="@url(repository)/wiki/_Sidebar/_edit" style="text-decoration: none;">
|
<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>
|
<i class="octicon octicon-plus" style="font-size: 16px;"></i>
|
||||||
Add a custom sidebar
|
Add a custom sidebar
|
||||||
</div>
|
</div>
|
||||||
@@ -82,6 +83,25 @@
|
|||||||
<div class="markdown-body">
|
<div class="markdown-body">
|
||||||
@markdown(page.content, repository, true, false, false, false, pages)
|
@markdown(page.content, repository, true, false, false, false, pages)
|
||||||
</div>
|
</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>
|
</div>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1195,6 +1195,22 @@ div.wiki-sidebar {
|
|||||||
margin-top: 20px;
|
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 {
|
div.wiki-index-content {
|
||||||
background-color: white;
|
background-color: white;
|
||||||
border: 1px solid #d8d8d8;
|
border: 1px solid #d8d8d8;
|
||||||
|
|||||||
Reference in New Issue
Block a user