##// END OF EJS Templates
Repo summary box changes
Liviu -
r3620:5c632f5f new-ui
parent child Browse files
Show More
@@ -1,257 +1,256 b''
1 /** README styling **/
1 /** README styling **/
2 div.readme_box {
2 div.readme_box {
3 clear: both;
3 clear: both;
4 overflow: hidden;
4 overflow: hidden;
5 margin: 0;
5 margin: 0;
6 padding: 3px 15px 3px;
6 padding: 3px 15px 3px;
7 }
7 }
8
8
9 div.readme_box h1,
9 div.readme_box h1,
10 div.readme_box h2,
10 div.readme_box h2,
11 div.readme_box h3,
11 div.readme_box h3,
12 div.readme_box h4,
12 div.readme_box h4,
13 div.readme_box h5,
13 div.readme_box h5,
14 div.readme_box h6 {
14 div.readme_box h6 {
15 border-bottom: none !important;
15 border-bottom: none !important;
16 padding: 0 !important;
16 padding: 0 !important;
17 overflow: visible !important;
17 overflow: visible !important;
18 }
18 }
19
19
20 div.readme_box h1,
20 div.readme_box h1,
21 div.readme_box h2 {
21 div.readme_box h2 {
22 border-bottom: 1px #e6e5e5 solid !important;
22 border-bottom: 1px #e6e5e5 solid !important;
23 }
23 }
24
24
25 div.readme_box h1 {
25 div.readme_box h1 {
26 font-size: 32px;
26 font-size: 32px;
27 margin: 15px 0 15px 0 !important;
27 margin: 15px 0 15px 0 !important;
28 padding-bottom: 5px !important;
28 padding-bottom: 5px !important;
29 }
29 }
30
30
31 div.readme_box h2 {
31 div.readme_box h2 {
32 font-size: 24px !important;
32 font-size: 24px !important;
33 margin: 34px 0 10px 0 !important;
33 margin: 34px 0 10px 0 !important;
34 padding-top: 15px !important;
34 padding-top: 15px !important;
35 padding-bottom: 8px !important;
35 padding-bottom: 8px !important;
36 }
36 }
37
37
38 div.readme_box h3 {
38 div.readme_box h3 {
39 font-size: 18px !important;
39 font-size: 18px !important;
40 margin: 30px 0 8px 0 !important;
40 margin: 30px 0 8px 0 !important;
41 padding-bottom: 2px !important;
41 padding-bottom: 2px !important;
42 }
42 }
43
43
44 div.readme_box h4 {
44 div.readme_box h4 {
45 font-size: 13px !important;
45 font-size: 13px !important;
46 margin: 18px 0 3px 0 !important;
46 margin: 18px 0 3px 0 !important;
47 }
47 }
48
48
49 div.readme_box h5 {
49 div.readme_box h5 {
50 font-size: 12px !important;
50 font-size: 12px !important;
51 margin: 15px 0 3px 0 !important;
51 margin: 15px 0 3px 0 !important;
52 }
52 }
53
53
54 div.readme_box h6 {
54 div.readme_box h6 {
55 font-size: 12px;
55 font-size: 12px;
56 color: #777777;
56 color: #777777;
57 margin: 15px 0 3px 0 !important;
57 margin: 15px 0 3px 0 !important;
58 }
58 }
59
59
60 div.readme_box hr {
60 div.readme_box hr {
61 border: 0;
61 border: 0;
62 color: #e6e5e5;
62 color: #e6e5e5;
63 background-color: #e6e5e5;
63 background-color: #e6e5e5;
64 height: 3px;
64 height: 3px;
65 margin-bottom: 13px;
65 margin-bottom: 13px;
66 }
66 }
67
67
68 div.readme_box ol,
68 div.readme_box ol,
69 div.readme_box ul,
69 div.readme_box ul,
70 div.readme_box p,
70 div.readme_box p,
71 div.readme_box blockquote,
71 div.readme_box blockquote,
72 div.readme_box dl,
72 div.readme_box dl,
73 div.readme_box li,
73 div.readme_box li,
74 div.readme_box table {
74 div.readme_box table {
75 margin: 3px 0px 13px 0px !important;
75 margin: 3px 0px 13px 0px !important;
76 color: #424242 !important;
76 color: #424242 !important;
77 font-size: 13px !important;
77 font-size: 13px !important;
78 font-family: @text-regular;
78 font-family: @text-regular;
79 font-weight: normal !important;
79 font-weight: normal !important;
80 overflow: visible !important;
80 overflow: visible !important;
81 line-height: 140% !important;
81 line-height: 140% !important;
82 }
82 }
83
83
84 div.readme_box pre {
84 div.readme_box pre {
85 margin: 3px 0px 13px 0px !important;
85 margin: 3px 0px 13px 0px !important;
86 padding: .5em;
86 padding: .5em;
87 color: #424242 !important;
87 color: #424242 !important;
88 font-size: 13px !important;
88 font-size: 13px !important;
89 overflow: visible !important;
89 overflow: visible !important;
90 line-height: 140% !important;
90 line-height: 140% !important;
91 background-color: @grey7;
92 }
91 }
93
92
94 div.readme_box img {
93 div.readme_box img {
95 border-style: none;
94 border-style: none;
96 background-color: #fff;
95 background-color: #fff;
97 padding-right: 20px;
96 padding-right: 20px;
98 }
97 }
99
98
100
99
101 div.readme_box strong {
100 div.readme_box strong {
102 font-weight: 600;
101 font-weight: 600;
103 margin: 0;
102 margin: 0;
104 }
103 }
105
104
106 div.readme_box ul,
105 div.readme_box ul,
107 div.readme_box ol {
106 div.readme_box ol {
108 padding-left: 30px !important;
107 padding-left: 30px !important;
109 margin-top: 0px !important;
108 margin-top: 0px !important;
110 margin-bottom: 18px !important;
109 margin-bottom: 18px !important;
111 }
110 }
112
111
113 div.readme_box ul li,
112 div.readme_box ul li,
114 div.readme_box ol li {
113 div.readme_box ol li {
115 list-style: disc !important;
114 list-style: disc !important;
116 margin: 6px !important;
115 margin: 6px !important;
117 padding: 0 !important;
116 padding: 0 !important;
118 }
117 }
119
118
120 div.readme_box ol li {
119 div.readme_box ol li {
121 list-style: decimal !important;
120 list-style: decimal !important;
122 }
121 }
123
122
124 /*
123 /*
125 div.readme_box a,
124 div.readme_box a,
126 div.readme_box a:visited {
125 div.readme_box a:visited {
127 color: #4183C4 !important;
126 color: #4183C4 !important;
128 background-color: inherit;
127 background-color: inherit;
129 text-decoration: none;
128 text-decoration: none;
130 }
129 }
131 */
130 */
132
131
133
132
134 div.readme_box button {
133 div.readme_box button {
135 font-size: @basefontsize;
134 font-size: @basefontsize;
136 padding: 4px 6px;
135 padding: 4px 6px;
137 .border-radius(@border-radius);
136 .border-radius(@border-radius);
138 border: @border-thickness solid @grey5;
137 border: @border-thickness solid @grey5;
139 background-color: @grey6;
138 background-color: @grey6;
140 }
139 }
141
140
142 div.readme_box code,
141 div.readme_box code,
143 div.readme_box pre {
142 div.readme_box pre {
144 font-family: @text-monospace;
143 font-family: @text-monospace;
145 font-size: 11px;
144 font-size: 11px;
146 .border-radius(@border-radius);
145 .border-radius(@border-radius);
147 background-color: white;
146 background-color: white;
148 color: @grey3;
147 color: @grey3;
149 }
148 }
150
149
151
150
152 div.readme_box code {
151 div.readme_box code {
153 border: @border-thickness solid @grey6;
152 border: @border-thickness solid @grey6;
154 margin: 0 2px;
153 margin: 0 2px;
155 padding: 0 5px;
154 padding: 0 5px;
156 }
155 }
157
156
158 div.readme_box pre {
157 div.readme_box pre {
159 border: @border-thickness solid @grey5;
158 border: @border-thickness solid #CBDBEB;
160 overflow: auto;
159 overflow: auto;
161 padding: .5em;
160 padding: .5em;
162 background-color: @grey7;
161 background-color: #FCFEFF;
163 }
162 }
164
163
165 div.readme_box pre > code {
164 div.readme_box pre > code {
166 border: 0;
165 border: 0;
167 margin: 0;
166 margin: 0;
168 padding: 0;
167 padding: 0;
169 }
168 }
170
169
171 /** RST STYLE **/
170 /** RST STYLE **/
172 div.rst-block {
171 div.rst-block {
173 clear: both;
172 clear: both;
174 overflow: hidden;
173 overflow: hidden;
175 margin: 0;
174 margin: 0;
176 padding: 3px 15px 3px;
175 padding: 3px 15px 3px;
177 }
176 }
178
177
179 div.rst-block h2 {
178 div.rst-block h2 {
180 font-weight: normal;
179 font-weight: normal;
181 }
180 }
182
181
183 div.rst-block h1,
182 div.rst-block h1,
184 div.rst-block h2,
183 div.rst-block h2,
185 div.rst-block h3,
184 div.rst-block h3,
186 div.rst-block h4,
185 div.rst-block h4,
187 div.rst-block h5,
186 div.rst-block h5,
188 div.rst-block h6 {
187 div.rst-block h6 {
189 border-bottom: 0 !important;
188 border-bottom: 0 !important;
190 margin: 0 !important;
189 margin: 0 !important;
191 padding: 0 !important;
190 padding: 0 !important;
192 line-height: 1.5em !important;
191 line-height: 1.5em !important;
193 }
192 }
194
193
195
194
196 div.rst-block h1:first-child {
195 div.rst-block h1:first-child {
197 padding-top: .25em !important;
196 padding-top: .25em !important;
198 }
197 }
199
198
200 div.rst-block h2,
199 div.rst-block h2,
201 div.rst-block h3 {
200 div.rst-block h3 {
202 margin: 1em 0 !important;
201 margin: 1em 0 !important;
203 }
202 }
204
203
205 div.rst-block h2 {
204 div.rst-block h2 {
206 margin-top: 1.5em !important;
205 margin-top: 1.5em !important;
207 border-top: 4px solid #e0e0e0 !important;
206 border-top: 4px solid #e0e0e0 !important;
208 padding-top: .5em !important;
207 padding-top: .5em !important;
209 }
208 }
210
209
211 div.rst-block p {
210 div.rst-block p {
212 color: black !important;
211 color: black !important;
213 margin: 1em 0 !important;
212 margin: 1em 0 !important;
214 line-height: 1.5em !important;
213 line-height: 1.5em !important;
215 }
214 }
216
215
217 div.rst-block ul {
216 div.rst-block ul {
218 list-style: disc !important;
217 list-style: disc !important;
219 margin: 1em 0 1em 2em !important;
218 margin: 1em 0 1em 2em !important;
220 clear: both;
219 clear: both;
221 }
220 }
222
221
223 div.rst-block ol {
222 div.rst-block ol {
224 list-style: decimal;
223 list-style: decimal;
225 margin: 1em 0 1em 2em !important;
224 margin: 1em 0 1em 2em !important;
226 }
225 }
227
226
228 div.rst-block pre,
227 div.rst-block pre,
229 div.rst-block code {
228 div.rst-block code {
230 font: 12px "Bitstream Vera Sans Mono","Courier",monospace;
229 font: 12px "Bitstream Vera Sans Mono","Courier",monospace;
231 }
230 }
232
231
233 div.rst-block code {
232 div.rst-block code {
234 font-size: 12px !important;
233 font-size: 12px !important;
235 background-color: ghostWhite !important;
234 background-color: ghostWhite !important;
236 color: #444 !important;
235 color: #444 !important;
237 padding: 0 .2em !important;
236 padding: 0 .2em !important;
238 border: 1px solid #dedede !important;
237 border: 1px solid #dedede !important;
239 }
238 }
240
239
241 div.rst-block pre code {
240 div.rst-block pre code {
242 padding: 0 !important;
241 padding: 0 !important;
243 font-size: 12px !important;
242 font-size: 12px !important;
244 background-color: #eee !important;
243 background-color: #eee !important;
245 border: none !important;
244 border: none !important;
246 }
245 }
247
246
248 div.rst-block pre {
247 div.rst-block pre {
249 margin: 1em 0;
248 margin: 1em 0;
250 padding: @padding;
249 padding: @padding;
251 border: 1px solid @grey6;
250 border: 1px solid @grey6;
252 .border-radius(@border-radius);
251 .border-radius(@border-radius);
253 overflow: auto;
252 overflow: auto;
254 font-size: 12px;
253 font-size: 12px;
255 color: #444;
254 color: #444;
256 background-color: @grey7;
255 background-color: @grey7;
257 } No newline at end of file
256 }
@@ -1,292 +1,405 b''
1 // summary.less
1 // summary.less
2 // For use in RhodeCode applications;
2 // For use in RhodeCode applications;
3 // Used for headers and file detail summary screens.
3 // Used for headers and file detail summary screens.
4
4
5 .summary {
5 .summary {
6 float: left;
6 clear: both;
7 float: none;
7 position: relative;
8 position: relative;
8 width: 100%;
9 width: 100%;
9 margin: 0;
10 margin: 0;
10 padding: 0;
11 padding: 0;
12 background: #FCFCFC;
13 border: 1px solid #EAEAEA;
14 border-radius: @border-radius;
15 margin-bottom: 20px;
11
16
12 .summary-detail-header {
17 .summary-detail-header {
13 float: left;
18 float: left;
14 display: block;
19 display: block;
15 width: 100%;
20 width: 100%;
16 margin-bottom: @textmargin;
21 margin-bottom: @textmargin;
17 padding: 0 0 .5em 0;
22 padding: 0 0 .5em 0;
18 border-bottom: @border-thickness solid @border-default-color;
23 border-bottom: @border-thickness solid @border-default-color;
19
24
20 .breadcrumbs {
25 .breadcrumbs {
21 float: left;
26 float: left;
22 display: inline;
27 display: inline;
23 margin: 0;
28 margin: 0;
24 padding: 0;
29 padding: 0;
25 }
30 }
26 h4 {
31 h4 {
27 float: left;
32 float: left;
28 margin: 0 1em 0 0;
33 margin: 0 1em 0 0;
29 padding: 0;
34 padding: 0;
30 line-height: 1.2em;
35 line-height: 1.2em;
31 font-size: @basefontsize;
36 font-size: @basefontsize;
32 }
37 }
33
38
34 .action_link {
39 .action_link {
35 float: right;
40 float: right;
36 }
41 }
37
42
38 .new-file {
43 .new-file {
39 float: right;
44 float: right;
40 margin-top: -1.5em;
45 margin-top: -1.5em;
41 }
46 }
42 }
47 }
43
48
44 .summary-detail {
49 .summary-detail {
45 float: left;
50 float: none;
46 position: relative;
51 position: relative;
47 width: 73%;
52 width: 100%;
48 margin: 0 3% @space 0;
53 margin: 0;
49 padding: 0;
54 padding: 0;
50
55
51 .file_diff_buttons {
56 .file_diff_buttons {
52 margin-top: @space;
57 margin-top: @space;
53 }
58 }
54
59
55 // commit message
60 // commit message
56 .commit {
61 .commit {
57 white-space: pre-wrap;
62 white-space: pre-wrap;
58 }
63 }
59
64
60 .left-clone {
65 .left-clone {
61 float: left;
66 float: left;
62 height: 30px;
67 height: 30px;
63 margin: 0;
68 margin: 0;
64 padding: 0;
69 padding: 0;
65 width: 150px;
70 width: 100px;
66 font-weight: @text-semibold-weight;
71 font-weight: @text-semibold-weight;
67 font-family: @text-semibold;
72 font-family: @text-semibold;
68 }
73 }
74 .left-clone select {
75 width: 100px;
76 margin-right: 0;
77 background-color: @grey7;
78 border-color: @grey4;
79 color: #5C5C5C;
80 border-top-right-radius: 0;
81 border-bottom-right-radius: 0;
82 }
69
83
70 .right-clone {
84 .right-clone {
71 float: right;
85 float: left;
72 width: ~"calc(100% - 150px)";
86 width: ~"calc(100% - 150px)";
87
88 .clipboard-action {
89 margin-left: -30px;
90 }
73 }
91 }
74
92
75 .clone_url_input {
93 .clone_url_input {
76 width: ~"calc(100% - 35px)";
94 width: ~"calc(100% - 70px)";
77 padding: 6px 5px;
95 padding: 6px 30px 6px 10px;
96 height: 14px;
97 box-shadow: 0 1px 1px 0 rgba(0,0,0,0.07);
98 border-top-left-radius: 0;
99 border-bottom-left-radius: 0;
100 margin-left: -1px;
78 }
101 }
79
102
80 &.directory {
103 &.directory {
81 margin-bottom: 0;
104 margin-bottom: 0;
82 }
105 }
83
106
84 .desc {
107 .desc {
85 white-space: pre-wrap;
108 white-space: pre-wrap;
86 }
109 }
87 .disabled {
110 .disabled {
88 opacity: .5;
111 opacity: .5;
89 cursor: inherit;
112 cursor: inherit;
90 }
113 }
91 .help-block {
114 .help-block {
92 color: inherit;
115 color: inherit;
93 margin: 0;
116 margin: 0;
94 }
117 }
95 }
118 }
96
119
97 .sidebar-right {
120 .sidebar-right {
98 float: left;
121 float: left;
99 width: 24%;
122 width: 24%;
100 margin: 0;
123 margin: 0;
101 padding: 0;
124 padding: 0;
102
125
103 ul {
126 ul {
104 margin-left: 0;
127 margin-left: 0;
105 padding-left: 0;
128 padding-left: 0;
106
129
107 li {
130 li {
108 list-style-type: none;
131 list-style-type: none;
109 }
132 }
110 }
133 }
111 }
134 }
112
135
113 #clone_by_name, #clone_by_id{
136 #clone_by_name, #clone_by_id{
114 display: inline-block;
137 display: inline-block;
115 margin-left: 0px;
138 margin-left: 0px;
116 }
139 }
117
140
118 .codeblock {
141 .codeblock {
119 border: none;
142 border: none;
120 background-color: transparent;
143 background-color: transparent;
121 }
144 }
122
145
123 .code-body {
146 .code-body {
124 border: @border-thickness solid @border-default-color;
147 border: @border-thickness solid @border-default-color;
125 .border-radius(@border-radius);
148 .border-radius(@border-radius);
126 }
149 }
150
151 .btn-collapse {
152 clear: both;
153 float: none;
154 background: #F7F7F7;
155 text-align: center;
156 color: #949494;
157 font-size: 11px;
158
159 &:hover {
160 background: #f1f1f1;
161 color: #2B2B2D;
162 }
163 }
127 }
164 }
128
165
129 // this is used outside of just the summary
166 // this is used outside of just the summary
130 .fieldset, // similar to form fieldset
167 .fieldset, // similar to form fieldset
131 .summary .sidebar-right-content { // these have to match
168 .summary .sidebar-right-content { // these have to match
132 clear: both;
169 clear: both;
133 float: left;
170 float: none;
134 position: relative;
171 position: relative;
135 display:block;
172 display:block;
136 width: 100%;
173 width: 100%;
137 min-height: 1em;
174 min-height: 1em;
138 margin-bottom: @textmargin;
175 margin-bottom: 10px;
139 padding: 0;
176 padding: 0;
140 line-height: 1.2em;
177 line-height: 1.2em;
141
178
142 &:after { // clearfix
179 &:after { // clearfix
143 content: "";
180 content: "";
144 clear: both;
181 clear: both;
145 width: 100%;
182 width: 100%;
146 height: 1em;
183 height: 1em;
147 }
184 }
148 }
185 }
149
186
150 .summary .sidebar-right-content {
187 .summary .sidebar-right-content {
151 margin-bottom: @space;
188 margin-bottom: @space;
152
189
153 .rc-user {
190 .rc-user {
154 min-width: 0;
191 min-width: 0;
155 }
192 }
156 }
193 }
157
194
158 .fieldset {
195 .fieldset {
159
196
160 .left-label { // similar to form legend
197 .left-label { // similar to form legend
161 float: left;
162 display: block;
198 display: block;
163 width: 25%;
164 margin: 0;
199 margin: 0;
165 padding: 0;
200 padding: 0;
166 font-weight: @text-semibold-weight;
201 font-weight: @text-semibold-weight;
167 font-family: @text-semibold;
202 font-family: @text-semibold;
168 }
203 }
169
204
170 .left-label-summary {
205 .left-label-summary {
171 .left-label;
206 padding-left: 20px;
172 width: 150px;
207 margin-bottom: 5px;
208
209 p {
210 margin-bottom: 5px;
211 color: @grey1;
212 }
213 }
214
215 .left-content {
216 width: ~"calc(50% - 20px)";
217 float: left;
218 margin: 15px 0 15px 20px;
173 }
219 }
174
220
175 .right-content { // similar to form fields
221 .right-content { // similar to form fields
176 float: left;
222 float: left;
177 display: block;
223 display: block;
178 width: 75%;
224 width: ~"calc(50% - 20px)";
179 margin: 0 0 0 -15%;
225 text-align: right;
180 padding: 0 0 0 15%;
226 margin: 15px 20px 15px 0;
181
227
182 .truncate-wrap,
228 .truncate-wrap,
183 .truncate {
229 .truncate {
184 max-width: 100%;
230 max-width: 100%;
185 width: 100%;
231 width: 100%;
186 }
232 }
187
233
188 .commit-long {
234 .commit-long {
189 overflow-x: auto;
235 overflow-x: auto;
190 }
236 }
237
238 .commit-info {
239 margin-top: 7px;
240 }
241
242 .tag, .tagtag, .branchtag, .booktag, .metatag, .perm_tag {
243 background:transparent;
244 border: none;
245 box-shadow: none;
246 margin-left: 10px;
247 font-size: 13px;
248 }
249
250 .tag span, .tag i {
251 color: @grey1;
252 }
191 }
253 }
192 .commit.truncate-wrap {
254 .commit.truncate-wrap {
193 overflow:hidden;
255 overflow:hidden;
194 text-overflow: ellipsis;
256 text-overflow: ellipsis;
195 }
257 }
196 }
258 }
197
259
198 // expand commit message
260 // expand commit message
199 #message_expand {
261 #message_expand {
200 clear: both;
262 clear: both;
201 display: block;
263 display: block;
202 color: @rcblue;
264 color: @rcblue;
203 cursor: pointer;
265 cursor: pointer;
204 }
266 }
205
267
206 #trimmed_message_box {
268 #trimmed_message_box {
207 max-height: floor(2 * @basefontsize * 1.2); // 2 lines * line-height
269 max-height: floor(2 * @basefontsize * 1.2); // 2 lines * line-height
208 overflow: hidden;
270 overflow: hidden;
209 }
271 }
210
272
211 // show/hide comments button
273 // show/hide comments button
212 .show-inline-comments {
274 .show-inline-comments {
213 display: inline;
275 display: inline;
214 cursor: pointer;
276 cursor: pointer;
215
277
216 .comments-show { display: inline; }
278 .comments-show { display: inline; }
217 .comments-hide { display: none; }
279 .comments-hide { display: none; }
218
280
219 &.comments-visible {
281 &.comments-visible {
220 .comments-show { display: none; }
282 .comments-show { display: none; }
221 .comments-hide { display: inline; }
283 .comments-hide { display: inline; }
222 }
284 }
223 }
285 }
224
286
225 // Quick Start section
287 // Quick Start section
288
289 .empty-repo {
290 border: 1px solid #EAEAEA;
291 border-bottom: 0;
292 border-radius: @border-radius;
293 padding: 0 20px;
294 }
295
296 .empty-repo h3, .quick_start p {
297 margin-bottom: 10px;
298 }
299
300 .quick_start pre {
301 background: #FCFEFF;
302 border: 1px solid #CBDBEB;
303 box-shadow: @button-shadow;
304 padding: 10px 15px;
305 border-radius: 4px;
306 color: @grey2;
307 }
308
309 .clearfix {
310 clear: both;
311 }
312
226 .quick_start {
313 .quick_start {
227 float: left;
228 display: block;
314 display: block;
229 position: relative;
315 position: relative;
230 width: 100%;
316 border: 1px solid #EAEAEA;
317 border-top: 0;
318 border-radius: @border-radius;
319 padding: 0 20px;
231
320
232 // adds some space to make copy and paste easier
321 // adds some space to make copy and paste easier
233 .left-label,
322 .left-label,
234 .right-content {
323 .right-content {
235 line-height: 1.6em;
324 line-height: 1.6em;
236 }
325 }
237 }
326 }
238
327
328
239 .submodule {
329 .submodule {
240 .summary-detail {
330 .summary-detail {
241 width: 100%;
331 width: 100%;
242
332
243 .btn-collapse {
333 .btn-collapse {
244 display: none;
334 display: none;
245 }
335 }
246 }
336 }
247 }
337 }
248
338
249 .codeblock-header {
339 .codeblock-header {
250 float: left;
340 float: left;
251 display: block;
341 display: block;
252 width: 100%;
342 width: 100%;
253 margin: 0;
343 margin: 0;
254 padding: @space 0 10px 0;
344 padding: @space 0 10px 0;
255 border-top: @border-thickness solid @border-default-color;
345 border-top: @border-thickness solid @border-default-color;
256
346
257 .stats {
347 .stats {
258 float: left;
348 float: left;
259 }
349 }
260 .stats-filename {
350 .stats-filename {
261 font-size: 120%;
351 font-size: 120%;
262 }
352 }
263 .stats-first-item {
353 .stats-first-item {
264 padding: 0px 0px 0px 3px;
354 padding: 0px 0px 0px 3px;
265 }
355 }
266
356
267 .buttons {
357 .buttons {
268 float: right;
358 float: right;
269 text-align: right;
359 text-align: right;
270 color: @grey4;
360 color: @grey4;
271 }
361 }
272
362
273 .file-container {
363 .file-container {
274 display: inline-block;
364 display: inline-block;
275 width: 100%;
365 width: 100%;
276 }
366 }
277
367
278 }
368 }
279
369
280 #summary-menu-stats {
370 #summary-menu-stats {
281
371
282 .stats-bullet {
372 .stats-bullet {
283 color: @grey3;
373 color: @grey3;
284 min-width: 3em;
374 min-width: 3em;
285 }
375 }
286
376
287 .repo-size {
377 .repo-size {
288 margin-bottom: .5em;
378 margin-bottom: .5em;
289 }
379 }
290
380
291 }
381 }
292
382
383 .rctable.repo_summary {
384 border: 1px solid #eaeaea;
385 border-radius: 2px;
386 border-collapse: inherit;
387 border-bottom: 0;
388
389 th {
390 background: @grey7;
391 border-bottom: 0;
392 }
393
394 td {
395 border-color: #eaeaea;
396 }
397
398 td.td-status {
399 padding-left: 10px;
400 }
401 }
402
403
404
405
@@ -1,231 +1,259 b''
1 <%def name="refs_counters(branches, closed_branches, tags, bookmarks)">
1 <%def name="refs_counters(branches, closed_branches, tags, bookmarks)">
2 <span class="branchtag tag">
2 <span class="branchtag tag">
3 <a href="${h.route_path('branches_home',repo_name=c.repo_name)}" class="childs">
3 <a href="${h.route_path('branches_home',repo_name=c.repo_name)}" class="childs">
4 <i class="icon-branch"></i>${_ungettext(
4 <i class="icon-branch"></i>
5 '%(num)s Branch','%(num)s Branches', len(branches)) % {'num': len(branches)}}</a>
5 % if len(branches) == 1:
6 <span>${len(branches)}</span> ${_('Branch')}
7 % else:
8 <span>${len(branches)}</span> ${_('Branches')}
9 % endif
10 </a>
6 </span>
11 </span>
7
12
8 %if closed_branches:
13 %if closed_branches:
9 <span class="branchtag tag">
14 <span class="branchtag tag">
10 <a href="${h.route_path('branches_home',repo_name=c.repo_name)}" class="childs">
15 <a href="${h.route_path('branches_home',repo_name=c.repo_name)}" class="childs">
11 <i class="icon-branch"></i>${_ungettext(
16 <i class="icon-branch"></i>
12 '%(num)s Closed Branch', '%(num)s Closed Branches', len(closed_branches)) % {'num': len(closed_branches)}}</a>
17 % if len(closed_branches) == 1:
18 <span>${len(closed_branches)}</span> ${_('Closed Branch')}
19 % else:
20 <span>${len(closed_branches)}</span> ${_('Closed Branches')}
21 % endif
22 </a>
13 </span>
23 </span>
14 %endif
24 %endif
15
25
16 <span class="tagtag tag">
26 <span class="tagtag tag">
17 <a href="${h.route_path('tags_home',repo_name=c.repo_name)}" class="childs">
27 <a href="${h.route_path('tags_home',repo_name=c.repo_name)}" class="childs">
18 <i class="icon-tag"></i>${_ungettext(
28 <i class="icon-tag"></i>
19 '%(num)s Tag', '%(num)s Tags', len(tags)) % {'num': len(tags)}}</a>
29 % if len(tags) == 1:
30 <span>${len(tags)}</span> ${_('Tag')}
31 % else:
32 <span>${len(tags)}</span> ${_('Tags')}
33 % endif
34 </a>
20 </span>
35 </span>
21
36
22 %if bookmarks:
37 %if bookmarks:
23 <span class="booktag tag">
38 <span class="booktag tag">
24 <a href="${h.route_path('bookmarks_home',repo_name=c.repo_name)}" class="childs">
39 <a href="${h.route_path('bookmarks_home',repo_name=c.repo_name)}" class="childs">
25 <i class="icon-bookmark"></i>${_ungettext(
40 <i class="icon-bookmark"></i>
26 '%(num)s Bookmark', '%(num)s Bookmarks', len(bookmarks)) % {'num': len(bookmarks)}}</a>
41 % if len(bookmarks) == 1:
42 <span>${len(bookmarks)}</span> ${_('Bookmark')}
43 % else:
44 <span>${len(bookmarks)}</span> ${_('Bookmarks')}
45 % endif
46 </a>
27 </span>
47 </span>
28 %endif
48 %endif
29 </%def>
49 </%def>
30
50
31 <%def name="summary_detail(breadcrumbs_links, show_downloads=True)">
51 <%def name="summary_detail(breadcrumbs_links, show_downloads=True)">
32 <% summary = lambda n:{False:'summary-short'}.get(n) %>
52 <% summary = lambda n:{False:'summary-short'}.get(n) %>
33
53
34 <div id="summary-menu-stats" class="summary-detail">
54 <div id="summary-menu-stats" class="summary-detail">
35 <div class="summary-detail-header">
36 <div class="breadcrumbs files_location">
37 <h4>
38 ${breadcrumbs_links}
39 </h4>
40 </div>
41 <div id="summary_details_expand" class="btn-collapse" data-toggle="summary-details">
42 ${_('Show More')}
43 </div>
44 </div>
45
46 <div class="fieldset">
55 <div class="fieldset">
47
56 <div class="left-content">
48 <div class="left-clone">
57 <div class="left-clone">
49 <select id="clone_option" name="clone_option">
58 <select id="clone_option" name="clone_option">
50 <option value="http" selected="selected">HTTP</option>
59 <option value="http" selected="selected">HTTP</option>
51 <option value="http_id">HTTP UID</option>
60 <option value="http_id">HTTP UID</option>
52 % if c.ssh_enabled:
61 % if c.ssh_enabled:
53 <option value="ssh">SSH</option>
62 <option value="ssh">SSH</option>
54 % endif
63 % endif
55 </select>
64 </select>
56 </div>
65 </div>
66
57 <div class="right-clone">
67 <div class="right-clone">
58 <%
68 <%
59 maybe_disabled = ''
69 maybe_disabled = ''
60 if h.is_svn_without_proxy(c.rhodecode_db_repo):
70 if h.is_svn_without_proxy(c.rhodecode_db_repo):
61 maybe_disabled = 'disabled'
71 maybe_disabled = 'disabled'
62 %>
72 %>
63
73
64 <span id="clone_option_http">
74 <span id="clone_option_http">
65 <input type="text" class="input-monospace clone_url_input" ${maybe_disabled} readonly="readonly" value="${c.clone_repo_url}"/>
75 <input type="text" class="input-monospace clone_url_input" ${maybe_disabled} readonly="readonly" value="${c.clone_repo_url}"/>
66 <i class="tooltip icon-clipboard clipboard-action" data-clipboard-text="${c.clone_repo_url}" title="${_('Copy the clone url')}"></i>
76 <i class="tooltip icon-clipboard clipboard-action" data-clipboard-text="${c.clone_repo_url}" title="${_('Copy the clone url')}"></i>
67 </span>
77 </span>
68
78
69 <span style="display: none;" id="clone_option_http_id">
79 <span style="display: none;" id="clone_option_http_id">
70 <input type="text" class="input-monospace clone_url_input" ${maybe_disabled} readonly="readonly" value="${c.clone_repo_url_id}"/>
80 <input type="text" class="input-monospace clone_url_input" ${maybe_disabled} readonly="readonly" value="${c.clone_repo_url_id}"/>
71 <i class="tooltip icon-clipboard clipboard-action" data-clipboard-text="${c.clone_repo_url_id}" title="${_('Copy the clone by id url')}"></i>
81 <i class="tooltip icon-clipboard clipboard-action" data-clipboard-text="${c.clone_repo_url_id}" title="${_('Copy the clone by id url')}"></i>
72 </span>
82 </span>
73
83
74 <span style="display: none;" id="clone_option_ssh">
84 <span style="display: none;" id="clone_option_ssh">
75 <input type="text" class="input-monospace clone_url_input" ${maybe_disabled} readonly="readonly" value="${c.clone_repo_url_ssh}"/>
85 <input type="text" class="input-monospace clone_url_input" ${maybe_disabled} readonly="readonly" value="${c.clone_repo_url_ssh}"/>
76 <i class="tooltip icon-clipboard clipboard-action" data-clipboard-text="${c.clone_repo_url_ssh}" title="${_('Copy the clone by ssh url')}"></i>
86 <i class="tooltip icon-clipboard clipboard-action" data-clipboard-text="${c.clone_repo_url_ssh}" title="${_('Copy the clone by ssh url')}"></i>
77 </span>
87 </span>
78
88
79 % if maybe_disabled:
89 % if maybe_disabled:
80 <p class="help-block">${_('SVN Protocol is disabled. To enable it, see the')} <a href="${h.route_url('enterprise_svn_setup')}" target="_blank">${_('documentation here')}</a>.</p>
90 <p class="help-block">${_('SVN Protocol is disabled. To enable it, see the')} <a href="${h.route_url('enterprise_svn_setup')}" target="_blank">${_('documentation here')}</a>.</p>
81 % endif
91 % endif
82
83 </div>
92 </div>
84 </div>
93 </div>
85
94
86 <div class="fieldset">
87 <div class="left-label-summary">
88 &nbsp;
89 </div>
90 <div class="right-content">
95 <div class="right-content">
91 <div class="commit-info">
96 <div class="commit-info">
92 <div class="tags">
97 <div class="tags">
93 <% commit_rev = c.rhodecode_db_repo.changeset_cache.get('revision') %>
98 <% commit_rev = c.rhodecode_db_repo.changeset_cache.get('revision') %>
94 % if c.rhodecode_repo:
99 % if c.rhodecode_repo:
95 ${refs_counters(
100 ${refs_counters(
96 c.rhodecode_repo.branches,
101 c.rhodecode_repo.branches,
97 c.rhodecode_repo.branches_closed,
102 c.rhodecode_repo.branches_closed,
98 c.rhodecode_repo.tags,
103 c.rhodecode_repo.tags,
99 c.rhodecode_repo.bookmarks)}
104 c.rhodecode_repo.bookmarks)}
100 % else:
105 % else:
101 ## missing requirements can make c.rhodecode_repo None
106 ## missing requirements can make c.rhodecode_repo None
102 ${refs_counters([], [], [], [])}
107 ${refs_counters([], [], [], [])}
103 % endif
108 % endif
104
109
105 ## commits
110 ## commits
106 <span class="tag">
111 <span class="tag">
107 % if commit_rev == -1:
112 % if commit_rev == -1:
108 ${_ungettext('%(num)s Commit', '%(num)s Commits', 0) % {'num': 0}}
113 <i class="icon-tag"></i>
114 % if commit_rev == -1:
115 <span>0</span> ${_('Commit')}
116 % else:
117 <span>0</span> ${_('Commits')}
118 % endif
109 % else:
119 % else:
110 <a href="${h.route_path('repo_changelog', repo_name=c.repo_name)}">
120 <a href="${h.route_path('repo_changelog', repo_name=c.repo_name)}">
111 ${_ungettext('%(num)s Commit', '%(num)s Commits', commit_rev) % {'num': commit_rev}}</a>
121 <i class="icon-tag"></i>
122 % if commit_rev == 1:
123 <span>${commit_rev}</span> ${_('Commit')}
124 % else:
125 <span>${commit_rev}</span> ${_('Commits')}
126 % endif
127 </a>
112 % endif
128 % endif
113 </span>
129 </span>
114
130
115 ## forks
131 ## forks
116 <span class="tag">
132 <span class="tag">
117 <a title="${_('Number of Repository Forks')}" href="${h.route_path('repo_forks_show_all', repo_name=c.repo_name)}">
133 <a title="${_('Number of Repository Forks')}" href="${h.route_path('repo_forks_show_all', repo_name=c.repo_name)}">
118 ${c.repository_forks} ${_ungettext('Fork', 'Forks', c.repository_forks)}</a>
134 <i class="icon-code-fork"></i>
135 <span>${c.repository_forks}</span> ${_ungettext('Fork', 'Forks', c.repository_forks)}</a>
119 </span>
136 </span>
120
121 </div>
137 </div>
122 </div>
138 </div>
123 </div>
124 </div>
139 </div>
140 </div>
125
141
126 <div class="fieldset collapsable-content" data-toggle="summary-details" style="display: none;">
142 <div class="fieldset collapsable-content" data-toggle="summary-details" style="display: none;">
127 <div class="left-label-summary">
143 <div class="left-label-summary">
128 ${_('Repository size')}:
144 <p>${_('Repository size')}</p>
129 </div>
145
130 <div class="right-content">
131 <div class="commit-info">
146 <div class="commit-info">
132 <div class="tags">
147 <div class="tags">
133 ## repo size
148 ## repo size
134 % if commit_rev == -1:
149 % if commit_rev == -1:
135 <span class="stats-bullet">0 B</span>
150 <span class="stats-bullet">0 B</span>
136 % else:
151 % else:
137 <span>
152 <span>
138 <a href="#showSize" onclick="calculateSize(); $(this).hide(); return false" id="show-repo-size">Show repository size</a>
153 <a href="#showSize" onclick="calculateSize(); $(this).hide(); return false" id="show-repo-size">Show repository size</a>
139 </span>
154 </span>
140 <span class="stats-bullet" id="repo_size_container" style="display:none">
155 <span class="stats-bullet" id="repo_size_container" style="display:none">
141 ${_('Calculating Repository Size...')}
156 ${_('Calculating Repository Size...')}
142 </span>
157 </span>
143 % endif
158 % endif
144 </div>
159 </div>
145 </div>
160 </div>
146 </div>
161 </div>
147 </div>
162 </div>
148
163
149 <div class="fieldset collapsable-content" data-toggle="summary-details" style="display: none;">
164 <div class="fieldset collapsable-content" data-toggle="summary-details" style="display: none;">
150 <div class="left-label-summary">
165 <div class="left-label-summary">
151 ${_('Description')}:
166 <p>${_('Description')}</p>
152 </div>
167
153 <div class="right-content">
154 <div class="input ${summary(c.show_stats)}">
168 <div class="input ${summary(c.show_stats)}">
155 <%namespace name="dt" file="/data_table/_dt_elements.mako"/>
169 <%namespace name="dt" file="/data_table/_dt_elements.mako"/>
156 ${dt.repo_desc(c.rhodecode_db_repo.description_safe, c.visual.stylify_metatags)}
170 ${dt.repo_desc(c.rhodecode_db_repo.description_safe, c.visual.stylify_metatags)}
157 </div>
171 </div>
158 </div>
172 </div>
159 </div>
173 </div>
160
174
161 % if show_downloads:
175 % if show_downloads:
162 <div class="fieldset collapsable-content" data-toggle="summary-details" style="display: none;">
176 <div class="fieldset collapsable-content" data-toggle="summary-details" style="display: none;">
163 <div class="left-label-summary">
177 <div class="left-label-summary">
164 ${_('Downloads')}:
178 <p>${_('Downloads')}</p>
165 </div>
179
166 <div class="right-content">
167 <div class="input ${summary(c.show_stats)} downloads">
180 <div class="input ${summary(c.show_stats)} downloads">
168 % if c.rhodecode_repo and len(c.rhodecode_repo.commit_ids) == 0:
181 % if c.rhodecode_repo and len(c.rhodecode_repo.commit_ids) == 0:
169 <span class="disabled">
182 <span class="disabled">
170 ${_('There are no downloads yet')}
183 ${_('There are no downloads yet')}
171 </span>
184 </span>
172 % elif not c.enable_downloads:
185 % elif not c.enable_downloads:
173 <span class="disabled">
186 <span class="disabled">
174 ${_('Downloads are disabled for this repository')}.
187 ${_('Downloads are disabled for this repository')}.
175 </span>
188 </span>
176 % if c.is_super_admin:
189 % if c.is_super_admin:
177 ${h.link_to(_('Enable downloads'),h.route_path('edit_repo',repo_name=c.repo_name, _anchor='repo_enable_downloads'))}
190 ${h.link_to(_('Enable downloads'),h.route_path('edit_repo',repo_name=c.repo_name, _anchor='repo_enable_downloads'))}
178 % endif
191 % endif
179 % else:
192 % else:
180 <span class="enabled">
193 <span class="enabled">
181 <a id="archive_link" class="btn btn-small" href="${h.route_path('repo_archivefile',repo_name=c.rhodecode_db_repo.repo_name,fname='tip.zip')}">
194 <a id="archive_link" class="btn btn-small" href="${h.route_path('repo_archivefile',repo_name=c.rhodecode_db_repo.repo_name,fname='tip.zip')}">
182 <i class="icon-archive"></i> tip.zip
195 <i class="icon-archive"></i> tip.zip
183 ## replaced by some JS on select
196 ## replaced by some JS on select
184 </a>
197 </a>
185 </span>
198 </span>
186 ${h.hidden('download_options')}
199 ${h.hidden('download_options')}
187 % endif
200 % endif
188 </div>
201 </div>
189 </div>
202 </div>
190 </div>
203 </div>
191 % endif
204 % endif
192
205
193 ## Statistics
206 ## Statistics
194 <div class="fieldset collapsable-content" data-toggle="summary-details" style="display: none;">
207 <div class="fieldset collapsable-content" data-toggle="summary-details" style="display: none;">
195 <div class="left-label-summary">
208 <div class="left-label-summary">
196 ${_('Statistics')}:
209 <p>${_('Statistics')}</p>
197 </div>
210
198 <div class="right-content">
199 <div class="input ${summary(c.show_stats)} statistics">
211 <div class="input ${summary(c.show_stats)} statistics">
200 % if c.show_stats:
212 % if c.show_stats:
201 <div id="lang_stats" class="enabled">
213 <div id="lang_stats" class="enabled">
202 ${_('Calculating Code Statistics...')}
214 ${_('Calculating Code Statistics...')}
203 </div>
215 </div>
204 % else:
216 % else:
205 <span class="disabled">
217 <span class="disabled">
206 ${_('Statistics are disabled for this repository')}.
218 ${_('Statistics are disabled for this repository')}.
207 </span>
219 </span>
208 % if c.is_super_admin:
220 % if c.is_super_admin:
209 ${h.link_to(_('Enable statistics'),h.route_path('edit_repo',repo_name=c.repo_name, _anchor='repo_enable_statistics'))}
221 ${h.link_to(_('Enable statistics'),h.route_path('edit_repo',repo_name=c.repo_name, _anchor='repo_enable_statistics'))}
210 % endif
222 % endif
211 % endif
223 % endif
212 </div>
224 </div>
213
225
214 </div>
226 </div>
215 </div>
227 </div>
216
228
229 <div class="fieldset collapsable-content" data-toggle="summary-details" style="display: none;">
230 <div class="left-label-summary">
231 <p>${_('Owner')}</p>
232
233
234 </div>
235 </div>
236
237 ## Context Action
238 <div class="fieldset collapsable-content" data-toggle="summary-details" style="display: none;">
239 <div class="left-label-summary">
240 %if c.rhodecode_user.username != h.DEFAULT_USER:
241 <a href="${h.route_path('atom_feed_home', repo_name=c.rhodecode_db_repo.repo_name, _query=dict(auth_token=c.rhodecode_user.feed_token))}" title="${_('RSS Feed')}" class="btn btn-sm"><i class="icon-rss-sign"></i>RSS</a>
242 %else:
243 <a href="${h.route_path('atom_feed_home', repo_name=c.rhodecode_db_repo.repo_name)}" title="${_('RSS Feed')}" class="btn btn-sm"><i class="icon-rss-sign"></i>RSS</a>
244 %endif
245 </div>
246 </div>
247
217 </div><!--end summary-detail-->
248 </div><!--end summary-detail-->
249
250 <div id="summary_details_expand" class="btn-collapse" data-toggle="summary-details">
251 ${_('Show More')}
252 </div>
218 </%def>
253 </%def>
219
254
220 <%def name="summary_stats(gravatar_function)">
255 <%def name="summary_stats(gravatar_function)">
221 <div class="sidebar-right">
256 <div class="">
222 <div class="summary-detail-header">
257 ${gravatar_function(c.rhodecode_db_repo.user.email, 16)}
223 <h4 class="item">
258 </div>
224 ${_('Owner')}
225 </h4>
226 </div>
227 <div class="sidebar-right-content">
228 ${gravatar_function(c.rhodecode_db_repo.user.email, 16)}
229 </div>
230 </div><!--end sidebar-right-->
231 </%def>
259 </%def>
@@ -1,127 +1,115 b''
1 <%inherit file="/summary/summary_base.mako"/>
1 <%inherit file="/summary/summary_base.mako"/>
2
2
3 <%namespace name="components" file="/summary/components.mako"/>
3 <%namespace name="components" file="/summary/components.mako"/>
4
4
5
5
6 <%def name="menu_bar_subnav()">
6 <%def name="menu_bar_subnav()">
7 ${self.repo_menu(active='summary')}
7 ${self.repo_menu(active='summary')}
8 </%def>
8 </%def>
9
9
10 <%def name="main()">
10 <%def name="main()">
11
11
12 <div class="title">
13 ## Context Action
14 <div>
15 <ul class="links icon-only-links block-right">
16 <li>
17 %if c.rhodecode_user.username != h.DEFAULT_USER:
18 <a href="${h.route_path('atom_feed_home', repo_name=c.rhodecode_db_repo.repo_name, _query=dict(auth_token=c.rhodecode_user.feed_token))}" title="${_('RSS Feed')}" class="btn btn-sm"><i class="icon-rss-sign"></i>RSS</a>
19 %else:
20 <a href="${h.route_path('atom_feed_home', repo_name=c.rhodecode_db_repo.repo_name)}" title="${_('RSS Feed')}" class="btn btn-sm"><i class="icon-rss-sign"></i>RSS</a>
21 %endif
22 </li>
23 </ul>
24 </div>
25 </div>
26
27 <div id="repo-summary" class="summary">
12 <div id="repo-summary" class="summary">
28 ${components.summary_detail(breadcrumbs_links=self.breadcrumbs_links(), show_downloads=True)}
13 ${components.summary_detail(breadcrumbs_links=self.breadcrumbs_links(), show_downloads=True)}
29 ${components.summary_stats(gravatar_function=self.gravatar_with_user)}
14 ${components.summary_stats(gravatar_function=self.gravatar_with_user)}
30 </div><!--end repo-summary-->
15 </div><!--end repo-summary-->
31
16
32
17
33 <div class="box" >
18 <div class="box">
34 %if not c.repo_commits:
19 %if not c.repo_commits:
35 <div class="title">
20 <div class="empty-repo">
36 <h3>${_('Quick start')}</h3>
21 <div class="title">
22 <h3>${_('Quick start')}</h3>
23 </div>
24 <div class="clearfix"></div>
25 </div>
26 %endif
27 <div class="table">
28 <div id="shortlog_data">
29 <%include file='summary_commits.mako'/>
30 </div>
37 </div>
31 </div>
38 %endif
39 <div class="table">
40 <div id="shortlog_data">
41 <%include file='summary_commits.mako'/>
42 </div>
43 </div>
44 </div>
32 </div>
45
33
46 %if c.readme_data:
34 %if c.readme_data:
47 <div id="readme" class="anchor">
35 <div id="readme" class="anchor">
48 <div class="box" >
36 <div class="box">
49 <div class="title" title="${h.tooltip(_('Readme file from commit %s:%s') % (c.rhodecode_db_repo.landing_rev[0], c.rhodecode_db_repo.landing_rev[1]))}">
37 <div class="title" title="${h.tooltip(_('Readme file from commit %s:%s') % (c.rhodecode_db_repo.landing_rev[0], c.rhodecode_db_repo.landing_rev[1]))}">
50 <h3 class="breadcrumbs">
38 <h3 class="breadcrumbs">
51 <a href="${h.route_path('repo_files',repo_name=c.repo_name,commit_id=c.rhodecode_db_repo.landing_rev[1],f_path=c.readme_file)}">${c.readme_file}</a>
39 <a href="${h.route_path('repo_files',repo_name=c.repo_name,commit_id=c.rhodecode_db_repo.landing_rev[1],f_path=c.readme_file)}">${c.readme_file}</a>
52 </h3>
40 </h3>
53 </div>
41 </div>
54 <div class="readme codeblock">
42 <div class="readme codeblock">
55 <div class="readme_box">
43 <div class="readme_box">
56 ${c.readme_data|n}
44 ${c.readme_data|n}
57 </div>
45 </div>
58 </div>
46 </div>
59 </div>
47 </div>
60 </div>
48 </div>
61 %endif
49 %endif
62
50
63 <script type="text/javascript">
51 <script type="text/javascript">
64 $(document).ready(function(){
52 $(document).ready(function(){
65
53
66 var showCloneField = function(clone_url_format){
54 var showCloneField = function(clone_url_format){
67 $.each(['http', 'http_id', 'ssh'], function (idx, val) {
55 $.each(['http', 'http_id', 'ssh'], function (idx, val) {
68 if(val === clone_url_format){
56 if(val === clone_url_format){
69 $('#clone_option_' + val).show();
57 $('#clone_option_' + val).show();
70 $('#clone_option').val(val)
58 $('#clone_option').val(val)
71 } else {
59 } else {
72 $('#clone_option_' + val).hide();
60 $('#clone_option_' + val).hide();
73 }
61 }
74 });
62 });
75 };
63 };
76 // default taken from session
64 // default taken from session
77 showCloneField(templateContext.session_attrs.clone_url_format);
65 showCloneField(templateContext.session_attrs.clone_url_format);
78
66
79 $('#clone_option').on('change', function(e) {
67 $('#clone_option').on('change', function(e) {
80 var selected = $(this).val();
68 var selected = $(this).val();
81
69
82 storeUserSessionAttr('rc_user_session_attr.clone_url_format', selected);
70 storeUserSessionAttr('rc_user_session_attr.clone_url_format', selected);
83 showCloneField(selected)
71 showCloneField(selected)
84 });
72 });
85
73
86 var initialCommitData = {
74 var initialCommitData = {
87 id: null,
75 id: null,
88 text: 'tip',
76 text: 'tip',
89 type: 'tag',
77 type: 'tag',
90 raw_id: null,
78 raw_id: null,
91 files_url: null
79 files_url: null
92 };
80 };
93
81
94 select2RefSwitcher('#download_options', initialCommitData);
82 select2RefSwitcher('#download_options', initialCommitData);
95
83
96 // on change of download options
84 // on change of download options
97 $('#download_options').on('change', function(e) {
85 $('#download_options').on('change', function(e) {
98 // format of Object {text: "v0.0.3", type: "tag", id: "rev"}
86 // format of Object {text: "v0.0.3", type: "tag", id: "rev"}
99 var ext = '.zip';
87 var ext = '.zip';
100 var selected_cs = e.added;
88 var selected_cs = e.added;
101 var fname = e.added.raw_id + ext;
89 var fname = e.added.raw_id + ext;
102 var href = pyroutes.url('repo_archivefile', {'repo_name': templateContext.repo_name, 'fname':fname});
90 var href = pyroutes.url('repo_archivefile', {'repo_name': templateContext.repo_name, 'fname':fname});
103 // set new label
91 // set new label
104 $('#archive_link').html('<i class="icon-archive"></i> {0}{1}'.format(escapeHtml(e.added.text), ext));
92 $('#archive_link').html('<i class="icon-archive"></i> {0}{1}'.format(escapeHtml(e.added.text), ext));
105
93
106 // set new url to button,
94 // set new url to button,
107 $('#archive_link').attr('href', href)
95 $('#archive_link').attr('href', href)
108 });
96 });
109
97
110
98
111 // calculate size of repository
99 // calculate size of repository
112 calculateSize = function () {
100 calculateSize = function () {
113
101
114 var callback = function (data) {
102 var callback = function (data) {
115 % if c.show_stats:
103 % if c.show_stats:
116 showRepoStats('lang_stats', data);
104 showRepoStats('lang_stats', data);
117 % endif
105 % endif
118 };
106 };
119
107
120 showRepoSize('repo_size_container', templateContext.repo_name, templateContext.repo_landing_commit, callback);
108 showRepoSize('repo_size_container', templateContext.repo_name, templateContext.repo_landing_commit, callback);
121
109
122 }
110 }
123
111
124 })
112 })
125 </script>
113 </script>
126
114
127 </%def>
115 </%def>
@@ -1,145 +1,140 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 <%namespace name="base" file="/base/base.mako"/>
2 <%namespace name="base" file="/base/base.mako"/>
3 %if c.repo_commits:
3 %if c.repo_commits:
4 <table class="rctable repo_summary table_disp">
4 <table class="rctable repo_summary table_disp">
5 <tr>
5 <tr>
6
6
7 <th class="status" colspan="2"></th>
7 <th class="status" colspan="2"></th>
8 <th>${_('Commit')}</th>
8 <th>${_('Commit')}</th>
9 <th>${_('Commit message')}</th>
9 <th>${_('Commit message')}</th>
10 <th>${_('Age')}</th>
10 <th>${_('Age')}</th>
11 <th>${_('Author')}</th>
11 <th>${_('Author')}</th>
12 <th>${_('Refs')}</th>
12 <th>${_('Refs')}</th>
13 </tr>
13 </tr>
14
14
15 ## to speed up lookups cache some functions before the loop
15 ## to speed up lookups cache some functions before the loop
16 <%
16 <%
17 active_patterns = h.get_active_pattern_entries(c.repo_name)
17 active_patterns = h.get_active_pattern_entries(c.repo_name)
18 urlify_commit_message = h.partial(h.urlify_commit_message, active_pattern_entries=active_patterns)
18 urlify_commit_message = h.partial(h.urlify_commit_message, active_pattern_entries=active_patterns)
19 %>
19 %>
20 %for cnt,cs in enumerate(c.repo_commits):
20 %for cnt,cs in enumerate(c.repo_commits):
21 <tr class="parity${cnt%2}">
21 <tr class="parity${cnt%2}">
22
22
23 <td class="td-status">
23 <td class="td-status">
24 %if c.statuses.get(cs.raw_id):
24 %if c.statuses.get(cs.raw_id):
25 <div class="changeset-status-ico shortlog">
25 <div class="changeset-status-ico shortlog">
26 %if c.statuses.get(cs.raw_id)[2]:
26 %if c.statuses.get(cs.raw_id)[2]:
27 <a class="tooltip" title="${_('Commit status: %s\nClick to open associated pull request #%s') % (c.statuses.get(cs.raw_id)[0], c.statuses.get(cs.raw_id)[2])}" href="${h.route_path('pullrequest_show',repo_name=c.statuses.get(cs.raw_id)[3],pull_request_id=c.statuses.get(cs.raw_id)[2])}">
27 <a class="tooltip" title="${_('Commit status: %s\nClick to open associated pull request #%s') % (c.statuses.get(cs.raw_id)[0], c.statuses.get(cs.raw_id)[2])}" href="${h.route_path('pullrequest_show',repo_name=c.statuses.get(cs.raw_id)[3],pull_request_id=c.statuses.get(cs.raw_id)[2])}">
28 <div class="${'flag_status {}'.format(c.statuses.get(cs.raw_id)[0])}"></div>
28 <div class="${'flag_status {}'.format(c.statuses.get(cs.raw_id)[0])}"></div>
29 </a>
29 </a>
30 %else:
30 %else:
31 <a class="tooltip" title="${_('Commit status: {}').format(h.commit_status_lbl(c.statuses.get(cs.raw_id)[0]))}" href="${h.route_path('repo_commit',repo_name=c.repo_name,commit_id=cs.raw_id,_anchor='comment-%s' % c.comments[cs.raw_id][0].comment_id)}">
31 <a class="tooltip" title="${_('Commit status: {}').format(h.commit_status_lbl(c.statuses.get(cs.raw_id)[0]))}" href="${h.route_path('repo_commit',repo_name=c.repo_name,commit_id=cs.raw_id,_anchor='comment-%s' % c.comments[cs.raw_id][0].comment_id)}">
32 <div class="${'flag_status {}'.format(c.statuses.get(cs.raw_id)[0])}"></div>
32 <div class="${'flag_status {}'.format(c.statuses.get(cs.raw_id)[0])}"></div>
33 </a>
33 </a>
34 %endif
34 %endif
35 </div>
35 </div>
36 %else:
36 %else:
37 <div class="tooltip flag_status not_reviewed" title="${_('Commit status: Not Reviewed')}"></div>
37 <div class="tooltip flag_status not_reviewed" title="${_('Commit status: Not Reviewed')}"></div>
38 %endif
38 %endif
39 </td>
39 </td>
40 <td class="td-comments">
40 <td class="td-comments">
41 %if c.comments.get(cs.raw_id,[]):
41 %if c.comments.get(cs.raw_id,[]):
42 <a title="${_('Commit has comments')}" href="${h.route_path('repo_commit',repo_name=c.repo_name,commit_id=cs.raw_id,_anchor='comment-%s' % c.comments[cs.raw_id][0].comment_id)}">
42 <a title="${_('Commit has comments')}" href="${h.route_path('repo_commit',repo_name=c.repo_name,commit_id=cs.raw_id,_anchor='comment-%s' % c.comments[cs.raw_id][0].comment_id)}">
43 <i class="icon-comment"></i> ${len(c.comments[cs.raw_id])}
43 <i class="icon-comment"></i> ${len(c.comments[cs.raw_id])}
44 </a>
44 </a>
45 %endif
45 %endif
46 </td>
46 </td>
47 <td class="td-commit">
47 <td class="td-commit">
48 <code>
48 <code>
49 <a href="${h.route_path('repo_commit', repo_name=c.repo_name, commit_id=cs.raw_id)}">${h.show_id(cs)}</a>
49 <a href="${h.route_path('repo_commit', repo_name=c.repo_name, commit_id=cs.raw_id)}">${h.show_id(cs)}</a>
50 <i class="tooltip icon-clipboard clipboard-action" data-clipboard-text="${cs.raw_id}" title="${_('Copy the full commit id')}"></i>
50 <i class="tooltip icon-clipboard clipboard-action" data-clipboard-text="${cs.raw_id}" title="${_('Copy the full commit id')}"></i>
51 </code>
51 </code>
52 </td>
52 </td>
53
53
54 <td class="td-description mid">
54 <td class="td-description mid">
55 <div class="log-container truncate-wrap">
55 <div class="log-container truncate-wrap">
56 <div class="message truncate" id="c-${cs.raw_id}">${urlify_commit_message(cs.message, c.repo_name)}</div>
56 <div class="message truncate" id="c-${cs.raw_id}">${urlify_commit_message(cs.message, c.repo_name)}</div>
57 </div>
57 </div>
58 </td>
58 </td>
59
59
60 <td class="td-time">
60 <td class="td-time">
61 ${h.age_component(cs.date)}
61 ${h.age_component(cs.date)}
62 </td>
62 </td>
63 <td class="td-user author">
63 <td class="td-user author">
64 ${base.gravatar_with_user(cs.author)}
64 ${base.gravatar_with_user(cs.author)}
65 </td>
65 </td>
66
66
67 <td class="td-tags">
67 <td class="td-tags">
68 <div class="autoexpand">
68 <div class="autoexpand">
69 %if h.is_hg(c.rhodecode_repo):
69 %if h.is_hg(c.rhodecode_repo):
70 %for book in cs.bookmarks:
70 %for book in cs.bookmarks:
71 <span class="booktag tag" title="${h.tooltip(_('Bookmark %s') % book)}">
71 <span class="booktag tag" title="${h.tooltip(_('Bookmark %s') % book)}">
72 <a href="${h.route_path('repo_files:default_path',repo_name=c.repo_name,commit_id=cs.raw_id, _query=dict(at=book))}"><i class="icon-bookmark"></i>${h.shorter(book)}</a>
72 <a href="${h.route_path('repo_files:default_path',repo_name=c.repo_name,commit_id=cs.raw_id, _query=dict(at=book))}"><i class="icon-bookmark"></i>${h.shorter(book)}</a>
73 </span>
73 </span>
74 %endfor
74 %endfor
75 %endif
75 %endif
76 ## tags
76 ## tags
77 %for tag in cs.tags:
77 %for tag in cs.tags:
78 <span class="tagtag tag" title="${h.tooltip(_('Tag %s') % tag)}">
78 <span class="tagtag tag" title="${h.tooltip(_('Tag %s') % tag)}">
79 <a href="${h.route_path('repo_files:default_path',repo_name=c.repo_name,commit_id=cs.raw_id, _query=dict(at=tag))}"><i class="icon-tag"></i>${h.shorter(tag)}</a>
79 <a href="${h.route_path('repo_files:default_path',repo_name=c.repo_name,commit_id=cs.raw_id, _query=dict(at=tag))}"><i class="icon-tag"></i>${h.shorter(tag)}</a>
80 </span>
80 </span>
81 %endfor
81 %endfor
82
82
83 ## branch
83 ## branch
84 %if cs.branch:
84 %if cs.branch:
85 <span class="branchtag tag" title="${h.tooltip(_('Branch %s') % cs.branch)}">
85 <span class="branchtag tag" title="${h.tooltip(_('Branch %s') % cs.branch)}">
86 <a href="${h.route_path('repo_changelog',repo_name=c.repo_name,_query=dict(branch=cs.branch))}"><i class="icon-code-fork"></i>${h.shorter(cs.branch)}</a>
86 <a href="${h.route_path('repo_changelog',repo_name=c.repo_name,_query=dict(branch=cs.branch))}"><i class="icon-code-fork"></i>${h.shorter(cs.branch)}</a>
87 </span>
87 </span>
88 %endif
88 %endif
89 </div>
89 </div>
90 </td>
90 </td>
91 </tr>
91 </tr>
92 %endfor
92 %endfor
93
93
94 </table>
94 </table>
95
95
96 <script type="text/javascript">
96 <script type="text/javascript">
97 $(document).pjax('#shortlog_data .pager_link','#shortlog_data', {timeout: 2000, scrollTo: false, push: false});
97 $(document).pjax('#shortlog_data .pager_link','#shortlog_data', {timeout: 2000, scrollTo: false, push: false});
98 $(document).on('pjax:success', function(){ timeagoActivate(); });
98 $(document).on('pjax:success', function(){ timeagoActivate(); });
99 </script>
99 </script>
100
100
101 <div class="pagination-wh pagination-left">
101 <div class="pagination-wh pagination-left">
102 ${c.repo_commits.pager('$link_previous ~2~ $link_next')}
102 ${c.repo_commits.pager('$link_previous ~2~ $link_next')}
103 </div>
103 </div>
104 %else:
104 %else:
105
105
106 %if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name):
106 %if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name):
107 <div class="quick_start">
107 <div class="quick_start">
108 <div class="fieldset">
108 <div class="fieldset">
109 <div class="left-label">${_('Add or upload files directly via RhodeCode:')}</div>
109 <p><b>${_('Add or upload files directly via RhodeCode:')}</b></p>
110 <div class="right-content">
110 <div id="add_node_id" class="add_node">
111 <div id="add_node_id" class="add_node">
111 <a href="${h.route_path('repo_files_add_file',repo_name=c.repo_name,commit_id=0, f_path='', _anchor='edit')}" class="btn btn-default">${_('Add New File')}</a>
112 <a href="${h.route_path('repo_files_add_file',repo_name=c.repo_name,commit_id=0, f_path='', _anchor='edit')}" class="btn btn-default">${_('Add New File')}</a>
113 </div>
114 </div>
112 </div>
115 %endif
113 %endif
116 </div>
114 </div>
117
115
118 %if not h.is_svn(c.rhodecode_repo):
116 %if not h.is_svn(c.rhodecode_repo):
119 <div class="fieldset">
117 <div class="fieldset">
120 <div class="left-label">${_('Push new repo:')}</div>
118 <p><b>${_('Push new repo:')}</b></p>
121 <div class="right-content">
122 <pre>
119 <pre>
123 ${c.rhodecode_repo.alias} clone ${c.clone_repo_url}
120 ${c.rhodecode_repo.alias} clone ${c.clone_repo_url}
124 ${c.rhodecode_repo.alias} add README # add first file
121 ${c.rhodecode_repo.alias} add README # add first file
125 ${c.rhodecode_repo.alias} commit -m "Initial" # commit with message
122 ${c.rhodecode_repo.alias} commit -m "Initial" # commit with message
126 ${c.rhodecode_repo.alias} push ${'origin master' if h.is_git(c.rhodecode_repo) else ''} # push changes back
123 ${c.rhodecode_repo.alias} push ${'origin master' if h.is_git(c.rhodecode_repo) else ''} # push changes back
127 </pre>
124 </pre>
128 </div>
129 </div>
125 </div>
126
130 <div class="fieldset">
127 <div class="fieldset">
131 <div class="left-label">${_('Existing repository?')}</div>
128 <p><b>${_('Existing repository?')}</b></p>
132 <div class="right-content">
133 <pre>
129 <pre>
134 %if h.is_git(c.rhodecode_repo):
130 %if h.is_git(c.rhodecode_repo):
135 git remote add origin ${c.clone_repo_url}
131 git remote add origin ${c.clone_repo_url}
136 git push -u origin master
132 git push -u origin master
137 %else:
133 %else:
138 hg push ${c.clone_repo_url}
134 hg push ${c.clone_repo_url}
139 %endif
135 %endif
140 </pre>
136 </pre>
141 </div>
142 </div>
137 </div>
143 %endif
138 %endif
144 </div>
139 </div>
145 %endif
140 %endif
General Comments 0
You need to be logged in to leave comments. Login now