Skip to content

Commit cd677f1

Browse files
committed
Add images
1 parent 4f71255 commit cd677f1

File tree

8 files changed

+126
-8
lines changed

8 files changed

+126
-8
lines changed

etc/icons.svg

+74
Loading
Loading
3.96 KB
Loading

src/main/resources/images/snippet.png

4.89 KB
Loading

src/main/scala/app/GistController.scala

+1
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ trait GistControllerBase extends ControllerBase {
137137
val gitdir = new File(GistRepoDir, userName + "/" + repoName)
138138

139139
// TODO
140+
140141
// val conn = getConnection(request)
141142
// conn.update("DELETE FROM GIST_COMMENT WHERE USER_NAME = ? AND REPOSITORY_NAME = ?", userName, repoName)
142143
// conn.update("DELETE FROM GIST WHERE USER_NAME = ? AND REPOSITORY_NAME = ?", userName, repoName)

src/main/scala/util/ImageUtil.scala

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package util
2+
3+
import ControlUtil._
4+
import org.apache.commons.codec.binary.{StringUtils, Base64}
5+
6+
object ImageUtil {
7+
8+
private val cache = scala.collection.concurrent.TrieMap[String, String]()
9+
10+
def dataURI(path: String): String = {
11+
cache.getOrElseUpdate(path, {
12+
val bytes = using(getClass.getClassLoader.getResourceAsStream(path)){ in =>
13+
val bytes = new Array[Byte](in.available)
14+
in.read(bytes)
15+
bytes
16+
}
17+
val encoded = StringUtils.newStringUtf8(Base64.encodeBase64(bytes, false))
18+
s"data:image/png;base64,${encoded}"
19+
})
20+
}
21+
22+
23+
}

src/main/twirl/gist/edit.scala.html

+10-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
@(recent: Seq[model.Gist], gist: Option[model.Gist], files: Seq[(String, util.JGitUtil.ContentInfo)])(implicit context: app.Context)
22
@import context._
33
@import view.helpers._
4+
@import util.ImageUtil._
45
@html.main("Snippet"){
56
<div class="container">
67
<div id="error"></div>
@@ -9,8 +10,15 @@
910
<ul style="list-style: none; margin-left: 0px;">
1011
@recent.map { gist =>
1112
<li style="float: left; width: 200px;">
12-
<a class="strong" href="@path/gist/@gist.userName/@gist.repositoryName">@gist.title</a>
13-
<div class="muted">@gist.description</div>
13+
<img src="@dataURI("images/snippet.png")" style="width: 24px; height: 24px;">
14+
<div style="margin-left: 26px; font-size: 80%; position: relative; top: -24px; line-height: normal;">
15+
<a class="strong" href="@path/gist/@gist.userName/@gist.repositoryName">@gist.title</a><br>
16+
@if(gist.description.nonEmpty){
17+
<span class="muted">@gist.description</span>
18+
} else {
19+
<span style="color: #dddddd;">No description.</span>
20+
}
21+
</div>
1422
</li>
1523
}
1624
</ul>

src/main/twirl/gist/menu.scala.html

+18-6
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
@(active: String, gist: model.Gist)(implicit context: app.Context)
22
@import context._
33
@import view.helpers._
4+
@import util.ImageUtil._
45

5-
@menuitem(path: String, name: String, label: String, count: Int = 0) = {
6+
@menuitem(name: String, path: String, activeImage: String, normalImage: String, label: String, count: Int = 0) = {
67
<li @if(active == name){class="active"}>
78
<div class="@if(active == name){margin} else {gradient} pull-left"></div>
89
<a href="@context.path/gist/@path">
910
@if(active == name){
10-
<img src="@assets/common/images/menu-@{name}-active.png">
11+
<img src="@activeImage">
1112
} else {
12-
<img src="@assets/common/images/menu-@{name}-active.png" class="menu-icon-active" style="display:none;">
13-
<img src="@assets/common/images/menu-@{name}.png" class="menu-icon">
13+
<img src="@activeImage" class="menu-icon-active" style="display:none;">
14+
<img src="@normalImage" class="menu-icon">
1415
}
1516
@label
1617
@if(count > 0){
@@ -23,7 +24,18 @@
2324
<div style="width: 170px;" class="pull-right">
2425
<ul class="sidemenu">
2526
<li style="height: 12px"><div class="gradient pull-left" style="height: 12px"></div></li>
26-
@menuitem(s"${gist.userName}/${gist.repositoryName}", "code" , "Code")
27-
@menuitem(s"${gist.userName}/${gist.repositoryName}/revisions", "revision", "Revision")
27+
@menuitem(
28+
"code",
29+
s"${gist.userName}/${gist.repositoryName}",
30+
s"${assets}/common/images/menu-code-active.png",
31+
s"${assets}/common/images/menu-code.png",
32+
"Code")
33+
@menuitem(
34+
"revision",
35+
s"${gist.userName}/${gist.repositoryName}/revisions",
36+
dataURI("images/menu-revisions-active.png"),
37+
dataURI("images/menu-revisions.png"),
38+
"Revision")
39+
<li style="height: 12px"><div class="gradient pull-left" style="height: 12px"></div></li>
2840
</ul>
2941
</div>

0 commit comments

Comments
 (0)