(refs #109)Change link color for absent Wiki pages.

This commit is contained in:
takezoe
2013-10-03 13:49:09 +09:00
parent 40a52d5ad5
commit f37eca7c61
2 changed files with 15 additions and 3 deletions

View File

@@ -1,12 +1,14 @@
package view package view
import util.StringUtil import util.StringUtil
import util.ControlUtil._
import util.Directory._
import org.parboiled.common.StringUtils import org.parboiled.common.StringUtils
import org.pegdown._ import org.pegdown._
import org.pegdown.ast._ import org.pegdown.ast._
import org.pegdown.LinkRenderer.Rendering import org.pegdown.LinkRenderer.Rendering
import scala.collection.JavaConverters._ import scala.collection.JavaConverters._
import service.RequestCache import service.{RequestCache, WikiService}
object Markdown { object Markdown {
@@ -29,7 +31,7 @@ object Markdown {
} }
class GitBucketLinkRender(context: app.Context, repository: service.RepositoryService.RepositoryInfo, class GitBucketLinkRender(context: app.Context, repository: service.RepositoryService.RepositoryInfo,
enableWikiLink: Boolean) extends LinkRenderer { enableWikiLink: Boolean) extends LinkRenderer with WikiService {
override def render(node: WikiLinkNode): Rendering = { override def render(node: WikiLinkNode): Rendering = {
if(enableWikiLink){ if(enableWikiLink){
try { try {
@@ -40,8 +42,14 @@ class GitBucketLinkRender(context: app.Context, repository: service.RepositorySe
} else { } else {
(text, text) (text, text)
} }
val url = repository.url.replaceFirst("/git/", "/").replaceFirst("\\.git$", "") + "/wiki/" + StringUtil.urlEncode(page) val url = repository.url.replaceFirst("/git/", "/").replaceFirst("\\.git$", "") + "/wiki/" + StringUtil.urlEncode(page)
if(getWikiPage(repository.owner, repository.name, page).isDefined){
new Rendering(url, label) new Rendering(url, label)
} else {
new Rendering(url, label).withAttribute("class", "absent")
}
} catch { } catch {
case e: java.io.UnsupportedEncodingException => throw new IllegalStateException case e: java.io.UnsupportedEncodingException => throw new IllegalStateException
} }

View File

@@ -649,6 +649,10 @@ h1.wiki-title {
margin-top: 0px; margin-top: 0px;
} }
a.absent {
color: #c00;
}
/****************************************************************************/ /****************************************************************************/
/* Repository Settings */ /* Repository Settings */
/****************************************************************************/ /****************************************************************************/