[Notice] Announcing the End of Demo Server [Read me]

apply HIVE UI CSS, override default font-size of bootstrap
@1f615d17d027d5f66b502e4561eeb34783ac2aaa
--- app/assets/stylesheets/less/_common.less
+++ app/assets/stylesheets/less/_common.less
... | ... | @@ -24,12 +24,12 @@ |
24 | 24 |
display: none !important; |
25 | 25 |
visibility: hidden !important; |
26 | 26 |
} |
27 |
- |
|
27 |
+/* |
|
28 | 28 |
.btns { |
29 | 29 |
font-size: 0; |
30 | 30 |
.n-btn:first-child { margin-right: 5px; } |
31 | 31 |
} |
32 |
- |
|
32 |
+*/ |
|
33 | 33 |
|
34 | 34 |
/* |
35 | 35 |
.btn { |
--- app/assets/stylesheets/less/_hiveUI.less
+++ app/assets/stylesheets/less/_hiveUI.less
... | ... | @@ -1,3 +1,20 @@ |
1 |
+/** |
|
2 |
+ * bootstrap 2.2.1 기준 글자 크기로 조정 |
|
3 |
+ * bootstrap 2.3.1 기본 글자 크기는 14px |
|
4 |
+ */ |
|
5 |
+body { font-size:12px; } |
|
6 |
+label, input, button, select, textarea { font-size:12px; } |
|
7 |
+select, textarea, input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], |
|
8 |
+input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], |
|
9 |
+input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"], |
|
10 |
+.uneditable-input { font-size:12px; } |
|
11 |
+.btn-group > .btn, |
|
12 |
+.btn-group > .dropdown-menu, |
|
13 |
+.btn-group > .popover { |
|
14 |
+ font-size: 12px; |
|
15 |
+} |
|
16 |
+ |
|
17 |
+/** HIVE UI 시작 **/ |
|
1 | 18 |
form { margin:0 0 2px; } |
2 | 19 |
textarea, input[type="text"], input[type="password"], input[type="datetime"], |
3 | 20 |
input[type="datetime-local"], input[type="date"], input[type="month"], input[type="time"], |
... | ... | @@ -89,6 +106,7 @@ |
89 | 106 |
} |
90 | 107 |
} |
91 | 108 |
a.nbtn, div.nbtn, span.nbtn, p.nbtn { |
109 |
+ vertical-align:middle; |
|
92 | 110 |
&.small { padding: 3px 10px; } |
93 | 111 |
&.medium { padding: 6px 20px; } |
94 | 112 |
&.large { padding: 9px 30px; font-size:15px; } |
... | ... | @@ -137,6 +155,20 @@ |
137 | 155 |
} |
138 | 156 |
|
139 | 157 |
/** input **/ |
158 |
+/* 검색버튼 스타일 */ |
|
159 |
+.btn-search { |
|
160 |
+ width : 88px; |
|
161 |
+ margin : 5px 0 0; |
|
162 |
+ padding: 4px 0; |
|
163 |
+ border : 1px solid #a9a9a9; |
|
164 |
+ color : @black; |
|
165 |
+ text-align : center; |
|
166 |
+ font-weight: bold; |
|
167 |
+ font-size : 11px; |
|
168 |
+ .border-radius(0 2px 2px 0); |
|
169 |
+ |
|
170 |
+ &:hover { color:@link-hover-color; } |
|
171 |
+} |
|
140 | 172 |
/** 화면 중앙의 프로젝트 내 검색 폼 **/ |
141 | 173 |
.form-search { |
142 | 174 |
.text { |
... | ... | @@ -151,17 +183,7 @@ |
151 | 183 |
} |
152 | 184 |
|
153 | 185 |
.btn { |
154 |
- width : 88px; |
|
155 |
- margin : 5px 0 0; |
|
156 |
- padding: 4px 0; |
|
157 |
- border : 1px solid #a9a9a9; |
|
158 |
- color : @black; |
|
159 |
- text-align : center; |
|
160 |
- font-weight: bold; |
|
161 |
- font-size : 11px; |
|
162 |
- .border-radius(0 2px 2px 0); |
|
163 |
- |
|
164 |
- &:hover { color:@link-hover-color; } |
|
186 |
+ .btn-search; |
|
165 | 187 |
} |
166 | 188 |
} |
167 | 189 |
|
--- app/assets/stylesheets/less/_mixins.less
+++ app/assets/stylesheets/less/_mixins.less
... | ... | @@ -3,9 +3,9 @@ |
3 | 3 |
|
4 | 4 |
// Border Radius |
5 | 5 |
.border-radius(@radius: 5px){ |
6 |
- -webkit-border-radius: @radius; |
|
7 |
- -moz-border-radius: @radius; |
|
8 |
- border-radius: @radius; |
|
6 |
+ -webkit-border-radius: @radius !important; |
|
7 |
+ -moz-border-radius: @radius !important; |
|
8 |
+ border-radius: @radius !important; |
|
9 | 9 |
} |
10 | 10 |
.border-radius-bottom(@radius: 5px){ |
11 | 11 |
-webkit-border-bottom-left-radius:@radius; |
--- app/assets/stylesheets/less/_page.less
+++ app/assets/stylesheets/less/_page.less
... | ... | @@ -2515,7 +2515,7 @@ |
2515 | 2515 |
.repo-url { |
2516 | 2516 |
cursor: text; |
2517 | 2517 |
margin: 0; |
2518 |
- width: 350px; /*357px;*/ |
|
2518 |
+ width: 340px; /*357px;*/ |
|
2519 | 2519 |
.box-shadow(none); |
2520 | 2520 |
.border-radius(2px 0 0 2px); |
2521 | 2521 |
&:focus { |
... | ... | @@ -2524,17 +2524,16 @@ |
2524 | 2524 |
} |
2525 | 2525 |
} |
2526 | 2526 |
.copy-btn { |
2527 |
- font-size: 10px; |
|
2528 |
- /*color: #B2B2B2;*/ |
|
2529 |
- border: 1px solid #CCC; |
|
2530 |
- border-left: 0 none; |
|
2531 |
- line-height: 26px; |
|
2532 |
- vertical-align: top; |
|
2533 |
- text-decoration: none; |
|
2534 | 2527 |
padding: 0 19px; |
2535 | 2528 |
margin-right: 10px; |
2536 |
- font-weight: bold; |
|
2537 | 2529 |
margin-top:1px; |
2530 |
+ line-height: 28px; |
|
2531 |
+ border: 1px solid #CCC; |
|
2532 |
+ border-left: 0 none; |
|
2533 |
+ vertical-align: top; |
|
2534 |
+ text-decoration: none; |
|
2535 |
+ font-size: 10px; |
|
2536 |
+ font-weight: bold; |
|
2538 | 2537 |
.inline-block; |
2539 | 2538 |
.border-radius(0 2px 2px 0); |
2540 | 2539 |
|
--- app/views/code/codeView.scala.html
+++ app/views/code/codeView.scala.html
... | ... | @@ -26,7 +26,7 @@ |
26 | 26 |
|
27 | 27 |
@prjmenu(project, utils.MenuType.CODE, "main-menu-only") |
28 | 28 |
|
29 |
- <ul class="nav nav-tabs hive-tabs"> |
|
29 |
+ <ul class="nav nav-tabs"> |
|
30 | 30 |
<li class="active"> |
31 | 31 |
<a href="@routes.CodeApp.codeBrowser(project.owner, project.name)">@Messages("code.files")</a> |
32 | 32 |
</li> |
... | ... | @@ -41,15 +41,17 @@ |
41 | 41 |
--><input id="repositoryURL" type="text" class="text repo-url" readonly="readonly" value="@CodeApp.getURL(project.owner, project.name)"><!-- |
42 | 42 |
--><a id="copyURL" href="#!/copy-url" class="copy-btn btn">COPY TO CLIPBOARD</a> |
43 | 43 |
|
44 |
- <div id="branches" class="btn-group branches" data-name="branch" data-activate="manual"> |
|
45 |
- <button data-toggle="dropdown" class="btn dropdown-toggle bgwhite d-label"></button> |
|
46 |
- <button data-toggle="dropdown" class="btn dropdown-toggle bgwhite"><span class="caret"></span></button> |
|
44 |
+ <div id="branches" class="btn-group branches" data-name="branch" data-activate="manual"> |
|
45 |
+ <button class="btn dropdown-toggle large" data-toggle="dropdown"> |
|
46 |
+ <span class="d-label"></span> |
|
47 |
+ <span class="d-caret"><span class="caret"></span></span> |
|
48 |
+ </button> |
|
47 | 49 |
<ul class="dropdown-menu"> |
48 | 50 |
@for(branch <- branches){ |
49 | 51 |
@makeBranchItem(branch) |
50 | 52 |
} |
51 | 53 |
</ul> |
52 |
- </div> |
|
54 |
+ </div> |
|
53 | 55 |
</div> |
54 | 56 |
<hr class="double-sp" /> |
55 | 57 |
<div class="code-browse-wrap"> |
--- app/views/hiveUI.scala.html
+++ app/views/hiveUI.scala.html
... | ... | @@ -1,24 +1,25 @@ |
1 |
+@import utils.TemplateHelper._ |
|
1 | 2 |
<!DOCTYPE html> |
2 | 3 |
<html lang="ko"> |
3 | 4 |
<head> |
4 |
- <meta charset="utf-8"> |
|
5 |
- <title>HIVE UI</title> |
|
6 |
- <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
7 |
- <link rel="shortcut icon" type="image/png" href="/assets/images/favicon.ico"> |
|
8 |
- <link rel="stylesheet" type="text/css" media="screen" href="/assets/stylesheets/bootstrap.css"> |
|
9 |
- <link rel="stylesheet" type="text/css" media="screen" href="/assets/stylesheets/nforge.css"> |
|
10 |
- <script type="text/javascript" src="/assets/javascripts/lib/jquery/jquery-1.9.0.js"></script> |
|
11 |
- <script type="text/javascript" src="/assets/javascripts/common/hive.Common.js"></script> |
|
12 |
- <script type="text/javascript" src="/assets/javascripts/lib/bootstrap.js"></script> |
|
13 |
- <style type="text/css"> |
|
14 |
- body { color:#ccc; } |
|
15 |
- dl { display:inline-block; margin:18px; } |
|
16 |
- dd { margin-left:0; } |
|
17 |
- .gnb-logo { display:inline-block !important; } |
|
18 |
- .gnb-outer { text-align:center; } |
|
19 |
- .subtitle { font-size:24px; font-weight:bold; height:55px; line-height:55px; vertical-align:bottom; } |
|
20 |
- .css { display:none;font-family: Consolas; color: #222; background: #C9EBB5; padding: 3px; border-radius: 3px; border: 1px solid #4CB848; } |
|
21 |
- </style> |
|
5 |
+<meta charset="utf-8"> |
|
6 |
+<title>HIVE UI</title> |
|
7 |
+<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
8 |
+<link rel="shortcut icon" type="image/png" href="@routes.Assets.at("images/favicon.ico")"> |
|
9 |
+<link rel="stylesheet" type="text/css" media="screen" href="@getCSSLink("bootstrap")"> |
|
10 |
+<link rel="stylesheet" type="text/css" media="screen" href="@getCSSLink("nforge")"> |
|
11 |
+<script type="text/javascript" src="@getJSLink("lib/jquery/jquery-1.9.0")"></script> |
|
12 |
+<script type="text/javascript" src="@getJSLink("lib/bootstrap")"></script> |
|
13 |
+<script type="text/javascript" src="@getJSLink("common/hive.Common")"></script> |
|
14 |
+<style type="text/css"> |
|
15 |
+body { color:#ccc; } |
|
16 |
+dl { display:inline-block; margin:18px; } |
|
17 |
+dd { margin-left:0; } |
|
18 |
+.gnb-logo { display:inline-block !important; } |
|
19 |
+.gnb-outer { text-align:center; } |
|
20 |
+.subtitle { font-size:24px; font-weight:bold; height:55px; line-height:55px; vertical-align:bottom; } |
|
21 |
+.css { display:none;font-family: Consolas; color: #222; background: #C9EBB5; padding: 3px; border-radius: 3px; border: 1px solid #4CB848; } |
|
22 |
+</style> |
|
22 | 23 |
</head> |
23 | 24 |
<body> |
24 | 25 |
|
--- app/views/milestone/list.scala.html
+++ app/views/milestone/list.scala.html
... | ... | @@ -42,11 +42,11 @@ |
42 | 42 |
|
43 | 43 |
<div class="tab-wrap"> |
44 | 44 |
<div class="pull-right btns"> |
45 |
- <a href="@routes.MilestoneApp.manageMilestones(projectInst.owner, projectInst.name)" class="n-btn small gray">@Messages("milestone.menu.manage")</a> |
|
46 |
- <a href="@routes.MilestoneApp.newMilestoneForm(projectInst.owner, projectInst.name)" class="n-btn small orange">@Messages("milestone.menu.new")</a> |
|
45 |
+ <a href="@routes.MilestoneApp.manageMilestones(projectInst.owner, projectInst.name)" class="nbtn medium">@Messages("milestone.menu.manage")</a> |
|
46 |
+ <a href="@routes.MilestoneApp.newMilestoneForm(projectInst.owner, projectInst.name)" class="nbtn medium orange">@Messages("milestone.menu.new")</a> |
|
47 | 47 |
</div> |
48 | 48 |
|
49 |
- <ul class="nav nav-tabs hive-tabs"> |
|
49 |
+ <ul class="nav nav-tabs"> |
|
50 | 50 |
<li class="@if(mCondition.state.equals("all")){active}"> |
51 | 51 |
<a href="@makeMilestoneListLink("all")">@Messages("milestone.state.all")</a> |
52 | 52 |
</li> |
--- app/views/project/memberList.scala.html
+++ app/views/project/memberList.scala.html
... | ... | @@ -19,7 +19,7 @@ |
19 | 19 |
data-provider="typeahead" autocomplete="off" |
20 | 20 |
placeholder="@Messages("project.members.addMember")" |
21 | 21 |
pattern="^[a-zA-Z0-9-]+([_.][a-zA-Z0-9-]+)*$" title="@Messages("user.wrongloginId.alert")" /><!-- |
22 |
- --><button class="ns-btn" type="submit"><i class="ico ico-plus-blue"></i>@Messages("button.add")</button> |
|
22 |
+ --><button type="submit" class="nbtn medium white"><i class="ico ico-plus-blue"></i>@Messages("button.add")</button> |
|
23 | 23 |
</form> |
24 | 24 |
</div> |
25 | 25 |
|
... | ... | @@ -40,20 +40,24 @@ |
40 | 40 |
<p class="name">(@member.user.name)</p> |
41 | 41 |
</div> |
42 | 42 |
<div class="td"> |
43 |
+ @if(!project.isOwner(member.user)) { |
|
44 |
+ |
|
43 | 45 |
<div class="btn-group" data-name="roleof-@member.user.loginId"> |
44 |
- <button data-toggle="dropdown" class="btn dropdown-toggle bgwhite d-label">@member.role.name</button> |
|
45 |
- <button data-toggle="dropdown" class="btn dropdown-toggle bgwhite"><span class="caret"></span></button> |
|
46 |
- @if(!project.isOwner(member.user)) { |
|
46 |
+ <button class="btn dropdown-toggle large" data-toggle="dropdown"> |
|
47 |
+ <span class="d-label">@member.role.name</span> |
|
48 |
+ <span class="d-caret"><span class="caret"></span></span> |
|
49 |
+ </button> |
|
47 | 50 |
<ul class="dropdown-menu">@memberRole(member.role.name)</ul> |
48 |
- } |
|
49 | 51 |
</div> |
50 |
- @if(!project.isOwner(member.user)) { |
|
52 |
+ |
|
51 | 53 |
<p class="btns"> |
52 |
- <a href="javascript:void(0)" data-action="delete" data-href="@routes.ProjectApp.deleteMember(project.owner, project.name, member.user.id)" class="n-btn small light-gray"><!-- |
|
54 |
+ <a href="javascript:void(0)" data-action="delete" data-href="@routes.ProjectApp.deleteMember(project.owner, project.name, member.user.id)" class="nbtn medium"><!-- |
|
53 | 55 |
--><i class="ico ico-delete-small"></i>@Messages("button.delete")</a> |
54 |
- <a href="javascript:void(0)" data-action="apply" data-href="@routes.ProjectApp.editMember(project.owner, project.name, member.user.id)" data-loginId="@member.user.loginId" class="n-btn small orange"><!-- |
|
56 |
+ <a href="javascript:void(0)" data-action="apply" data-href="@routes.ProjectApp.editMember(project.owner, project.name, member.user.id)" data-loginId="@member.user.loginId" class="nbtn medium orange"><!-- |
|
55 | 57 |
--><i class="ico ico-apply-small"></i>@Messages("button.apply")</a> |
56 | 58 |
</p> |
59 |
+ } else { |
|
60 |
+ <p style="height:65px;">@member.role.name</p> |
|
57 | 61 |
} |
58 | 62 |
</div> |
59 | 63 |
</div> |
--- app/views/project/newProject.scala.html
+++ app/views/project/newProject.scala.html
... | ... | @@ -14,14 +14,14 @@ |
14 | 14 |
<a href="#!/close" class="ico btn-delete"></a> |
15 | 15 |
</div> |
16 | 16 |
</div> |
17 |
- <label for="project-name">새 프로젝트 이름을 입력해주세요</label> |
|
17 |
+ <label for="project-name">@Messages("project.name.placeholder")</label> |
|
18 | 18 |
</dt> |
19 | 19 |
<dd> |
20 |
- <input id="project-name" type="text" name="name" class="text" placeholder="영문으로 공백없이 작성해 주세요" maxlength="250"> |
|
20 |
+ <input id="project-name" type="text" name="name" class="text" placeholder="@Messages("project.name.alert")" maxlength="250"> |
|
21 | 21 |
</dd> |
22 | 22 |
|
23 | 23 |
<dt> |
24 |
- <label for="description">프로젝트 설명을 입력해주세요</label> |
|
24 |
+ <label for="description">@Messages("project.description.placeholder")</label> |
|
25 | 25 |
</dt> |
26 | 26 |
<dd> |
27 | 27 |
<textarea id="description" name="overview" class="text textarea.span4" style="resize:vertical;"></textarea> |
... | ... | @@ -30,25 +30,27 @@ |
30 | 30 |
|
31 | 31 |
<ul class="options unstyled"> |
32 | 32 |
<li class="option"> |
33 |
- <div class="option-label">공개설정</div> |
|
33 |
+ <div class="option-label">@Messages("project.shareOption")</div> |
|
34 | 34 |
<div class="option-desc"> |
35 | 35 |
<input name="share_option" type="radio" checked="checked" id="public" value="true" class="radio-btn"><label for="public" class="bg-radiobtn label-public">공개</label> |
36 | 36 |
<input name="share_option" type="radio" id="private" value="false" class="radio-btn"><label for="private" class="bg-radiobtn label-private">비공개</label> |
37 |
- <span class="note">비공개 프로젝트도 프로젝트 이름, 설명, 로그 등은 모든 사용자가 볼 수 있습니다.</span> |
|
37 |
+ <span class="note">@Messages("project.private.notice")</span> |
|
38 | 38 |
</div> |
39 | 39 |
</li> |
40 | 40 |
<li class="option"> |
41 |
- <div class="option-label">코드관리시스템</div> |
|
41 |
+ <div class="option-label">@Messages("project.vcs")</div> |
|
42 | 42 |
<div class="option-desc"> |
43 |
- <div class="btn-group" data-name="vcs"> |
|
44 |
- <button data-toggle="dropdown" class="btn dropdown-toggle d-label bgwhite"></button> |
|
45 |
- <button data-toggle="dropdown" class="btn dropdown-toggle bgwhite"><span class="caret"></span></button> |
|
46 |
- <ul class="dropdown-menu"> |
|
43 |
+ <div class="btn-group" data-name="vcs"> |
|
44 |
+ <button class="btn dropdown-toggle large" data-toggle="dropdown"> |
|
45 |
+ <span class="d-label"></span> |
|
46 |
+ <span class="d-caret"><span class="caret"></span></span> |
|
47 |
+ </button> |
|
48 |
+ <ul class="dropdown-menu"> |
|
47 | 49 |
@RepositoryService.vcsTypes.map{ v => |
48 | 50 |
<li data-value="@v._1" @if(v._1 == "GIT"){ data-selected="true" class="active" }><a href="javascript:void(0)">@Messages(v._2)</a></li> |
49 | 51 |
} |
50 |
- </ul> |
|
51 |
- </div> |
|
52 |
+ </ul> |
|
53 |
+ </div> |
|
52 | 54 |
</div> |
53 | 55 |
</li> |
54 | 56 |
|
--- app/views/project/setting.scala.html
+++ app/views/project/setting.scala.html
... | ... | @@ -24,10 +24,10 @@ |
24 | 24 |
<li>@Messages("project.logo.maxFileSize") <span class="point">1MB</span></li> |
25 | 25 |
<li>@Messages("project.logo.size") <span class="point">234px × 168px</span></li> |
26 | 26 |
<li> |
27 |
- <div class="fake-file-wrap"> |
|
28 |
- <input type="file" class="file" name="logoPath" size="1" accept="image/*"> |
|
29 |
- <div class="ns-btn"> |
|
30 |
- <i class="ico ico-plus-blue"></i>@Messages("button.upload") |
|
27 |
+ <div class="btn-wrap"> |
|
28 |
+ <div class="nbtn medium white fake-file-wrap"> |
|
29 |
+ <i class="ico ico-plus-blue"></i>@Messages("button.upload")<!-- |
|
30 |
+ --> <input type="file" class="file" name="logoPath" accept="image/*"> |
|
31 | 31 |
</div> |
32 | 32 |
</div> |
33 | 33 |
</li> |
... | ... | @@ -36,15 +36,7 @@ |
36 | 36 |
</div> |
37 | 37 |
<dl class="setting-box right"> |
38 | 38 |
<dt> |
39 |
- <!-- |
|
40 |
- <div class="n-alert hide" id="alert_msg"> |
|
41 |
- <div class="n-inner"> |
|
42 |
- <span class="msg">@Messages("project.wrongName")</span> |
|
43 |
- <a href="#" class="ico btn-delete" data-dismiss="alert"></a> |
|
44 |
- </div> |
|
45 |
- </div> |
|
46 |
- --> |
|
47 |
- <label for="project-name">@Messages("project.name.placeholder")</label> |
|
39 |
+ <label for="project-name">@Messages("project.name.placeholder")</label> |
|
48 | 40 |
</dt> |
49 | 41 |
<dd> |
50 | 42 |
@inputText(projectForm("name"), 'class->"text", 'maxlength -> "250") |
... | ... | @@ -65,7 +57,7 @@ |
65 | 57 |
<!-- tags will be added here by hive.project.Settings.js --> |
66 | 58 |
</div> |
67 | 59 |
<input name="newTag" type="text" class="text" style="margin-bottom:0px" data-provider="typeahead" autocomplete="off"/> |
68 |
- <button id="addTag" type="button" class="btn-transparent n-btn med gray">@Messages("button.add")</button> |
|
60 |
+ <button id="addTag" type="button" class="nbtn medium">@Messages("button.add")</button> |
|
69 | 61 |
</div> |
70 | 62 |
</div> |
71 | 63 |
|
... | ... | @@ -85,7 +77,7 @@ |
85 | 77 |
**@ |
86 | 78 |
</div> |
87 | 79 |
<div class="box-wrap bottom"> |
88 |
- <button id="save" type="submit" class="btn-transparent n-btn orange med">@Messages("button.save")</button> |
|
80 |
+ <button id="save" type="submit" class="nbtn orange medium">@Messages("button.save")</button> |
|
89 | 81 |
</div> |
90 | 82 |
} |
91 | 83 |
|
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?