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