##// END OF EJS Templates
fix(emails): fixed white background in email templates
super-admin -
r5585:06e00555 default
parent child Browse files
Show More
@@ -1,644 +1,653 b''
1 1
2 2 ## helpers
3 3 <%def name="tag_button(text, tag_type=None)">
4 4 <%
5 5 color_scheme = {
6 6 'default': 'border:1px solid #979797;color:#666666;background-color:#f9f9f9',
7 7 'approved': 'border:1px solid #0ac878;color:#0ac878;background-color:#f9f9f9',
8 8 'rejected': 'border:1px solid #e85e4d;color:#e85e4d;background-color:#f9f9f9',
9 9 'under_review': 'border:1px solid #ffc854;color:#ffc854;background-color:#f9f9f9',
10 10 }
11 11
12 12 css_style = ';'.join([
13 13 'display:inline',
14 14 'border-radius:2px',
15 15 'font-size:12px',
16 16 'padding:.2em',
17 17 ])
18 18
19 19 %>
20 20 <pre style="${css_style}; ${color_scheme.get(tag_type, color_scheme['default'])}">${text}</pre>
21 21 </%def>
22 22
23 23 <%def name="status_text(text, tag_type=None)">
24 24 <%
25 25 color_scheme = {
26 26 'default': 'color:#666666',
27 27 'approved': 'color:#0ac878',
28 28 'rejected': 'color:#e85e4d',
29 29 'under_review': 'color:#ffc854',
30 30 }
31 31 %>
32 32 <span style="font-weight:bold;font-size:12px;padding:.2em;${color_scheme.get(tag_type, color_scheme['default'])}">${text}</span>
33 33 </%def>
34 34
35 35 <%def name="gravatar_img(email, size=16)">
36 36 <%
37 37 css_style = ';'.join([
38 38 'padding: 0',
39 39 'margin: -4px 0',
40 40 'border-radius: 50%',
41 41 'box-sizing: content-box',
42 42 'display: inline',
43 43 'line-height: 1em',
44 44 'min-width: 16px',
45 45 'min-height: 16px',
46 46 ])
47 47 %>
48 48
49 49 <img alt="gravatar" style="${css_style}" src="${h.gravatar_url(email, size)}" height="${size}" width="${size}">
50 50 </%def>
51 51
52 52 <%def name="link_css()">\
53 53 <%
54 54 css_style = ';'.join([
55 55 'color:#427cc9',
56 56 'text-decoration:none',
57 57 'cursor:pointer'
58 58 ])
59 59 %>\
60 60 ${css_style}\
61 61 </%def>
62 62
63 63 ## Constants
64 64 <%
65 65 text_regular = "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', Helvetica, sans-serif"
66 66 text_monospace = "'Menlo', 'Liberation Mono', 'Consolas', 'DejaVu Sans Mono', 'Ubuntu Mono', 'Courier New', 'andale mono', 'lucida console', monospace"
67 67
68 68 %>
69 69
70 70 <%def name="plaintext_footer()" filter="trim">
71 71 ${_('This is a notification from RhodeCode.')} ${instance_url}
72 72 </%def>
73 73
74 74 <%def name="body_plaintext()" filter="n,trim">
75 75 ## this example is not called itself but overridden in each template
76 76 ## the plaintext_footer should be at the bottom of both html and text emails
77 77 ${self.plaintext_footer()}
78 78 </%def>
79 79
80 80 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
81 81 <html xmlns="http://www.w3.org/1999/xhtml">
82 82 <head>
83 83 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
84 84 <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
85 85 <title>${self.subject()}</title>
86 86 <style type="text/css">
87 87 /* Based on The MailChimp Reset INLINE: Yes. */
88 88 #outlook a {
89 89 padding: 0;
90 90 }
91 91
92 92 /* Force Outlook to provide a "view in browser" menu link. */
93 93 body {
94 94 width: 100% !important;
95 95 -webkit-text-size-adjust: 100%;
96 96 -ms-text-size-adjust: 100%;
97 97 margin: 0;
98 98 padding: 0;
99 99 font-family: ${text_regular|n};
100 100 color: #000000;
101 101 }
102 102
103 103 /* Prevent Webkit and Windows Mobile platforms from changing default font sizes.*/
104 104 .ExternalClass {
105 105 width: 100%;
106 106 }
107 107
108 108 /* Force Hotmail to display emails at full width */
109 109 .ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div {
110 110 line-height: 100%;
111 111 }
112 112
113 113 /* Forces Hotmail to display normal line spacing. More on that: http://www.emailonacid.com/forum/viewthread/43/ */
114 114 #backgroundTable {
115 115 margin: 0;
116 116 padding: 0;
117 117 line-height: 100% !important;
118 118 }
119 119
120 120 /* End reset */
121 121
122 122 /* defaults for images*/
123 123 img {
124 124 outline: none;
125 125 text-decoration: none;
126 126 -ms-interpolation-mode: bicubic;
127 127 }
128 128
129 129 a img {
130 130 border: none;
131 131 }
132 132
133 133 .image_fix {
134 134 display: block;
135 135 }
136 136
137 137 body {
138 138 line-height: 1.2em;
139 139 }
140 140
141 141 p {
142 142 margin: 0 0 20px;
143 143 }
144 144
145 145 h1, h2, h3, h4, h5, h6 {
146 146 color: #323232 !important;
147 147 }
148 148
149 149 a {
150 150 color: #427cc9;
151 151 text-decoration: none;
152 152 outline: none;
153 153 cursor: pointer;
154 154 }
155 155
156 156 a:focus {
157 157 outline: none;
158 158 }
159 159
160 160 a:hover {
161 161 color: #305b91;
162 162 }
163 163
164 164 h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
165 165 color: #427cc9 !important;
166 166 text-decoration: none !important;
167 167 }
168 168
169 169 h1 a:active, h2 a:active, h3 a:active, h4 a:active, h5 a:active, h6 a:active {
170 170 color: #305b91 !important;
171 171 }
172 172
173 173 h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited {
174 174 color: #305b91 !important;
175 175 }
176 176
177 177 table {
178 178 font-size: 13px;
179 179 border-collapse: collapse;
180 180 mso-table-lspace: 0pt;
181 181 mso-table-rspace: 0pt;
182 182 }
183 183
184 184 table tr {
185 185 display: table-row;
186 186 vertical-align: inherit;
187 187 border-color: inherit;
188 188 border-spacing: 0 3px;
189 189 }
190 190
191 191 table td {
192 192 padding: .65em 1em .65em 0;
193 193 border-collapse: collapse;
194 194 vertical-align: top;
195 195 text-align: left;
196 196 }
197 197
198 198 input {
199 199 display: inline;
200 200 border-radius: 2px;
201 201 border: 1px solid #dbd9da;
202 202 padding: .5em;
203 203 }
204 204
205 205 input:focus {
206 206 outline: 1px solid #979797
207 207 }
208 208
209 209 code {
210 210 font-family: ${text_monospace|n};
211 211 white-space: pre-line !important;
212 212 color: #000000;
213 213 }
214 214
215 215 ul.changes-ul {
216 216 list-style: none;
217 217 list-style-type: none;
218 218 padding: 0;
219 219 margin: 10px 0;
220 220 }
221 221 ul.changes-ul li {
222 222 list-style: none;
223 223 list-style-type: none;
224 224 margin: 2px 0;
225 225 }
226 226
227 227 @media only screen and (-webkit-min-device-pixel-ratio: 2) {
228 228 /* Put your iPhone 4g styles in here */
229 229 }
230 230
231 231 /* Android targeting */
232 232 @media only screen and (-webkit-device-pixel-ratio:.75){
233 233 /* Put CSS for low density (ldpi) Android layouts in here */
234 234 }
235 235 @media only screen and (-webkit-device-pixel-ratio:1){
236 236 /* Put CSS for medium density (mdpi) Android layouts in here */
237 237 }
238 238 @media only screen and (-webkit-device-pixel-ratio:1.5){
239 239 /* Put CSS for high density (hdpi) Android layouts in here */
240 240 }
241 241 /* end Android targeting */
242 242
243 243 /** MARKDOWN styling **/
244 244 div.markdown-block {
245 245 clear: both;
246 246 overflow: hidden;
247 247 margin: 0;
248 248 padding: 3px 5px 3px
249 249 }
250 250
251 251 div.markdown-block h1,
252 252 div.markdown-block h2,
253 253 div.markdown-block h3,
254 254 div.markdown-block h4,
255 255 div.markdown-block h5,
256 256 div.markdown-block h6 {
257 257 border-bottom: none !important;
258 258 padding: 0 !important;
259 259 overflow: visible !important
260 260 }
261 261
262 262 div.markdown-block h1,
263 263 div.markdown-block h2 {
264 264 border-bottom: 1px #e6e5e5 solid !important
265 265 }
266 266
267 267 div.markdown-block h1 {
268 268 font-size: 32px;
269 269 margin: 15px 0 15px 0 !important;
270 270 padding-bottom: 5px !important
271 271 }
272 272
273 273 div.markdown-block h2 {
274 274 font-size: 24px !important;
275 275 margin: 34px 0 10px 0 !important;
276 276 padding-top: 15px !important;
277 277 padding-bottom: 8px !important
278 278 }
279 279
280 280 div.markdown-block h3 {
281 281 font-size: 18px !important;
282 282 margin: 30px 0 8px 0 !important;
283 283 padding-bottom: 2px !important
284 284 }
285 285
286 286 div.markdown-block h4 {
287 287 font-size: 13px !important;
288 288 margin: 18px 0 3px 0 !important
289 289 }
290 290
291 291 div.markdown-block h5 {
292 292 font-size: 12px !important;
293 293 margin: 15px 0 3px 0 !important
294 294 }
295 295
296 296 div.markdown-block h6 {
297 297 font-size: 12px;
298 298 color: #777777;
299 299 margin: 15px 0 3px 0 !important
300 300 }
301 301
302 302 div.markdown-block hr {
303 303 border: 0;
304 304 color: #e6e5e5;
305 305 background-color: #e6e5e5;
306 306 height: 3px;
307 307 margin-bottom: 13px
308 308 }
309 309
310 310 div.markdown-block ol,
311 311 div.markdown-block ul,
312 312 div.markdown-block p,
313 313 div.markdown-block blockquote,
314 314 div.markdown-block dl,
315 315 div.markdown-block li,
316 316 div.markdown-block table {
317 317 margin: 3px 0 13px 0 !important;
318 318 color: #424242 !important;
319 319 font-size: 13px !important;
320 320 font-family: ${text_regular|n};
321 321 font-weight: normal !important;
322 322 overflow: visible !important;
323 323 line-height: 140% !important
324 324 }
325 325
326 326 div.markdown-block pre {
327 327 margin: 3px 0 13px 0 !important;
328 328 padding: .5em;
329 329 color: #424242 !important;
330 330 font-size: 13px !important;
331 331 overflow: visible !important;
332 332 line-height: 140% !important;
333 333 background-color: #F5F5F5
334 334 }
335 335
336 336 div.markdown-block img {
337 337 border-style: none;
338 338 background-color: #fff;
339 339 max-width: 100%
340 340 }
341 341
342 342 div.markdown-block strong {
343 343 font-weight: 600;
344 344 margin: 0
345 345 }
346 346
347 347 div.markdown-block ul.checkbox, div.markdown-block ol.checkbox {
348 348 padding-left: 20px !important;
349 349 margin-top: 0 !important;
350 350 margin-bottom: 18px !important
351 351 }
352 352
353 353 div.markdown-block ul, div.markdown-block ol {
354 354 padding-left: 30px !important;
355 355 margin-top: 0 !important;
356 356 margin-bottom: 18px !important
357 357 }
358 358
359 359 div.markdown-block ul.checkbox li, div.markdown-block ol.checkbox li {
360 360 list-style: none !important;
361 361 margin: 0px !important;
362 362 padding: 0 !important
363 363 }
364 364
365 365 div.markdown-block ul li, div.markdown-block ol li {
366 366 list-style: disc !important;
367 367 margin: 0px !important;
368 368 padding: 0 !important
369 369 }
370 370
371 371 div.markdown-block ol li {
372 372 list-style: decimal !important
373 373 }
374 374
375 375 div.markdown-block #message {
376 376 -webkit-border-radius: 2px;
377 377 -moz-border-radius: 2px;
378 378 border-radius: 2px;
379 379 border: 1px solid #dbd9da;
380 380 display: block;
381 381 width: 100%;
382 382 height: 60px;
383 383 margin: 6px 0
384 384 }
385 385
386 386 div.markdown-block button, div.markdown-block #ws {
387 387 font-size: 13px;
388 388 padding: 4px 6px;
389 389 -webkit-border-radius: 2px;
390 390 -moz-border-radius: 2px;
391 391 border-radius: 2px;
392 392 border: 1px solid #dbd9da;
393 393 background-color: #eeeeee
394 394 }
395 395
396 396 div.markdown-block p {
397 397 margin-top: 0;
398 398 margin-bottom: 16px;
399 399 padding: 0;
400 400 line-height: unset;
401 401 }
402 402
403 403 div.markdown-block code,
404 404 div.markdown-block pre,
405 405 div.markdown-block #ws,
406 406 div.markdown-block #message {
407 407 font-family: ${text_monospace|n};
408 408 font-size: 11px;
409 409 -webkit-border-radius: 2px;
410 410 -moz-border-radius: 2px;
411 411 border-radius: 2px;
412 color: #7E7F7F
413 }
414
415 div.markdown-block code,
416 div.markdown-block pre {
417 background-color: transparent;
418 }
419
420 div.markdown-block #ws,
421 div.markdown-block #message {
412 422 background-color: #FFFFFF;
413 color: #7E7F7F
414 423 }
415 424
416 425 div.markdown-block code {
417 426 border: 1px solid #7E7F7F;
418 427 margin: 0 2px;
419 428 padding: 0 5px
420 429 }
421 430
422 431 div.markdown-block pre {
423 432 border: 1px solid #7E7F7F;
424 433 overflow: auto;
425 434 padding: .5em;
426 435 background-color: #FFFFFF;
427 436 }
428 437
429 438 div.markdown-block pre > code {
430 439 border: 0;
431 440 margin: 0;
432 441 padding: 0
433 442 }
434 443
435 444 div.rst-block {
436 445 clear: both;
437 446 overflow: hidden;
438 447 margin: 0;
439 448 padding: 3px 5px 3px
440 449 }
441 450
442 451 div.rst-block h2 {
443 452 font-weight: normal
444 453 }
445 454
446 455 div.rst-block h1,
447 456 div.rst-block h2,
448 457 div.rst-block h3,
449 458 div.rst-block h4,
450 459 div.rst-block h5,
451 460 div.rst-block h6 {
452 461 border-bottom: 0 !important;
453 462 margin: 0 !important;
454 463 padding: 0 !important;
455 464 line-height: 1.5em !important
456 465 }
457 466
458 467 div.rst-block h1:first-child {
459 468 padding-top: .25em !important
460 469 }
461 470
462 471 div.rst-block h2, div.rst-block h3 {
463 472 margin: 1em 0 !important
464 473 }
465 474
466 475 div.rst-block h1, div.rst-block h2 {
467 476 border-bottom: 1px #e6e5e5 solid !important
468 477 }
469 478
470 479 div.rst-block h2 {
471 480 margin-top: 1.5em !important;
472 481 padding-top: .5em !important
473 482 }
474 483
475 484 div.rst-block p {
476 485 color: black !important;
477 486 margin: 1em 0 !important;
478 487 line-height: 1.5em !important
479 488 }
480 489
481 490 div.rst-block ul {
482 491 list-style: disc !important;
483 492 margin: 1em 0 1em 2em !important;
484 493 clear: both
485 494 }
486 495
487 496 div.rst-block ol {
488 497 list-style: decimal;
489 498 margin: 1em 0 1em 2em !important
490 499 }
491 500
492 501 div.rst-block pre, div.rst-block code {
493 502 font: 12px "Bitstream Vera Sans Mono", "Courier", monospace
494 503 }
495 504
496 505 div.rst-block code {
497 506 font-size: 12px !important;
498 507 background-color: ghostWhite !important;
499 508 color: #444 !important;
500 509 padding: 0 .2em !important;
501 510 border: 1px solid #7E7F7F !important
502 511 }
503 512
504 513 div.rst-block pre code {
505 514 padding: 0 !important;
506 515 font-size: 12px !important;
507 516 background-color: #eee !important;
508 517 border: none !important
509 518 }
510 519
511 520 div.rst-block pre {
512 521 margin: 1em 0;
513 522 padding: 15px;
514 523 border: 1px solid #7E7F7F;
515 524 -webkit-border-radius: 2px;
516 525 -moz-border-radius: 2px;
517 526 border-radius: 2px;
518 527 overflow: auto;
519 528 font-size: 12px;
520 529 color: #444;
521 530 background-color: #FFFFFF;
522 531 }
523 532
524 533 .clear-both {
525 534 clear:both;
526 535 }
527 536
528 537 /*elasticmatch is custom rhodecode tag*/
529 538 .codehilite .c-ElasticMatch {
530 539 background-color: #faffa6;
531 540 padding: 0.2em;
532 541 }
533 542
534 543 .codehilite .c-ElasticMatch { background-color: #faffa6; padding: 0.2em;}
535 544 .codehilite .hll { background-color: #ffffcc }
536 545 .codehilite .c { color: #408080; font-style: italic } /* Comment */
537 546 .codehilite .err { border: none } /* Error */
538 547 .codehilite .k { color: #008000; font-weight: bold } /* Keyword */
539 548 .codehilite .o { color: #666666 } /* Operator */
540 549 .codehilite .ch { color: #408080; font-style: italic } /* Comment.Hashbang */
541 550 .codehilite .cm { color: #408080; font-style: italic } /* Comment.Multiline */
542 551 .codehilite .cp { color: #BC7A00 } /* Comment.Preproc */
543 552 .codehilite .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
544 553 .codehilite .c1 { color: #408080; font-style: italic } /* Comment.Single */
545 554 .codehilite .cs { color: #408080; font-style: italic } /* Comment.Special */
546 555 .codehilite .gd { color: #A00000 } /* Generic.Deleted */
547 556 .codehilite .ge { font-style: italic } /* Generic.Emph */
548 557 .codehilite .gr { color: #FF0000 } /* Generic.Error */
549 558 .codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */
550 559 .codehilite .gi { color: #00A000 } /* Generic.Inserted */
551 560 .codehilite .go { color: #888888 } /* Generic.Output */
552 561 .codehilite .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
553 562 .codehilite .gs { font-weight: bold } /* Generic.Strong */
554 563 .codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
555 564 .codehilite .gt { color: #0044DD } /* Generic.Traceback */
556 565 .codehilite .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
557 566 .codehilite .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
558 567 .codehilite .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
559 568 .codehilite .kp { color: #008000 } /* Keyword.Pseudo */
560 569 .codehilite .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
561 570 .codehilite .kt { color: #B00040 } /* Keyword.Type */
562 571 .codehilite .m { color: #666666 } /* Literal.Number */
563 572 .codehilite .s { color: #BA2121 } /* Literal.String */
564 573 .codehilite .na { color: #7D9029 } /* Name.Attribute */
565 574 .codehilite .nb { color: #008000 } /* Name.Builtin */
566 575 .codehilite .nc { color: #0000FF; font-weight: bold } /* Name.Class */
567 576 .codehilite .no { color: #880000 } /* Name.Constant */
568 577 .codehilite .nd { color: #AA22FF } /* Name.Decorator */
569 578 .codehilite .ni { color: #999999; font-weight: bold } /* Name.Entity */
570 579 .codehilite .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
571 580 .codehilite .nf { color: #0000FF } /* Name.Function */
572 581 .codehilite .nl { color: #A0A000 } /* Name.Label */
573 582 .codehilite .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
574 583 .codehilite .nt { color: #008000; font-weight: bold } /* Name.Tag */
575 584 .codehilite .nv { color: #19177C } /* Name.Variable */
576 585 .codehilite .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
577 586 .codehilite .w { color: #bbbbbb } /* Text.Whitespace */
578 587 .codehilite .mb { color: #666666 } /* Literal.Number.Bin */
579 588 .codehilite .mf { color: #666666 } /* Literal.Number.Float */
580 589 .codehilite .mh { color: #666666 } /* Literal.Number.Hex */
581 590 .codehilite .mi { color: #666666 } /* Literal.Number.Integer */
582 591 .codehilite .mo { color: #666666 } /* Literal.Number.Oct */
583 592 .codehilite .sa { color: #BA2121 } /* Literal.String.Affix */
584 593 .codehilite .sb { color: #BA2121 } /* Literal.String.Backtick */
585 594 .codehilite .sc { color: #BA2121 } /* Literal.String.Char */
586 595 .codehilite .dl { color: #BA2121 } /* Literal.String.Delimiter */
587 596 .codehilite .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
588 597 .codehilite .s2 { color: #BA2121 } /* Literal.String.Double */
589 598 .codehilite .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
590 599 .codehilite .sh { color: #BA2121 } /* Literal.String.Heredoc */
591 600 .codehilite .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
592 601 .codehilite .sx { color: #008000 } /* Literal.String.Other */
593 602 .codehilite .sr { color: #BB6688 } /* Literal.String.Regex */
594 603 .codehilite .s1 { color: #BA2121 } /* Literal.String.Single */
595 604 .codehilite .ss { color: #19177C } /* Literal.String.Symbol */
596 605 .codehilite .bp { color: #008000 } /* Name.Builtin.Pseudo */
597 606 .codehilite .fm { color: #0000FF } /* Name.Function.Magic */
598 607 .codehilite .vc { color: #19177C } /* Name.Variable.Class */
599 608 .codehilite .vg { color: #19177C } /* Name.Variable.Global */
600 609 .codehilite .vi { color: #19177C } /* Name.Variable.Instance */
601 610 .codehilite .vm { color: #19177C } /* Name.Variable.Magic */
602 611 .codehilite .il { color: #666666 } /* Literal.Number.Integer.Long */
603 612
604 613 </style>
605 614
606 615 </head>
607 616 <body>
608 617
609 618 <div>
610 619 <!-- Wrapper/Container Table: Use a wrapper table to control the width and the background color consistently of your email. Use this approach instead of setting attributes on the body tag. -->
611 620 <table cellpadding="0" cellspacing="0" border="0" id="backgroundTable" align="left" style="margin:1%;width:97%;padding:0;font-family:${text_regular|n};font-weight:100;border:1px solid #dbd9da">
612 621 <tr>
613 622 <td valign="top" style="padding:0;">
614 623 <table cellpadding="0" cellspacing="0" border="0" align="left" width="100%">
615 624 <tr>
616 625 <td style="width:100%;padding:10px 15px;background-color:#202020" valign="top">
617 626 <a style="color:#eeeeee;text-decoration:none;" href="${instance_url}">
618 627 ${_('RhodeCode')}
619 628 % if rhodecode_instance_name:
620 629 - ${rhodecode_instance_name}
621 630 % endif
622 631 </a>
623 632 </td>
624 633 </tr>
625 634 <tr style="background-color: #fff">
626 635 <td style="padding:15px;" valign="top">${self.body()}</td>
627 636 </tr>
628 637 </table>
629 638 </td>
630 639 </tr>
631 640 </table>
632 641 <!-- End of wrapper table -->
633 642 </div>
634 643
635 644 <div style="width:100%; clear: both; height: 1px">&nbsp;</div>
636 645
637 646 <div style="margin-left:1%;font-weight:100;font-size:11px;color:#666666;text-decoration:none;font-family:${text_monospace};">
638 647 ${_('This is a notification from RhodeCode.')}
639 648 <a style="font-weight:100;font-size:11px;color:#666666;text-decoration:none;font-family:${text_monospace};" href="${instance_url}">
640 649 ${instance_url}
641 650 </a>
642 651 </div>
643 652 </body>
644 653 </html>
General Comments 0
You need to be logged in to leave comments. Login now