TracDev/Proposals/ThemePlugins: theming.3.patch
| File theming.3.patch, 72.9 KB (added by Armin Ronacher, 5 years ago) |
|---|
-
setup.py
85 85 trac.web.auth = trac.web.auth 86 86 trac.wiki.macros = trac.wiki.macros 87 87 trac.wiki.web_ui = trac.wiki.web_ui 88 trac.themes = trac.web.theming 88 89 """, 89 90 ) -
trac/htdocs/css/admin.css
1 #content.admin h1 { float: left; }2 3 #tabs { background: #f7f7f0; border: 1px solid black;4 border-color: #ccc #666 #666 #ccc; clear: left;5 margin: 1em 0 2em; padding: .5em 0 0; float: left; width: 12em;6 }7 #tabs ul { list-style: none; margin: 0 0 .5em; padding: 0; }8 #tabs li { color: #999; font-size: 90%; font-weight: bold; margin: 0;9 padding: 0.1em 5px;10 }11 #tabs li li { color: #000; font-size: 110%; font-weight: normal;12 margin: 0 -3px; padding: 1px 0 1px 10px;13 }14 #tabs li li.active { background: #ddc; border: 1px solid;15 border-color: #ccc #000 #666 #ccc; padding: 0 0 0 9px;16 }17 #tabs :link, #tabs :visited { border: none; display: block }18 #tabs :link:hover, #tabs :visited:hover { background: transparent;19 color: #000;20 }21 22 #tabcontent { padding: 0.4em 2em; margin-left: 12em; min-height: 300px; }23 #tabcontent h2 { color: #333; margin-top: 0; }24 p.help { color: #666; font-size: 90%; margin: 1em .5em .5em; }25 26 #enumlist tbody td { vertical-align: middle; }27 28 form.addnew { clear: right; float: right; margin: -2em 0 4em; width: 33% }29 form.mod { margin-top: 1em; }30 form.mod .field { margin: .5em 0; }31 form .field em { color: #888; font-size: smaller }32 form .field .disabled em { color: #d7d7d7 }33 34 table.listing { clear: none; width: 64% }35 table.listing .sel, table.listing .default { text-align: center; width: 1% }36 37 /* Plugins panel */38 form#addplug { width: 35% }39 .plugin { background: #f7f7f7; border: 1px solid #d7d7d7; margin: 0 0 2em;40 padding: 2px .5em; text-align: left; width: 60%;41 }42 .plugin h3 { background: url(../expanded.png) 0 50% no-repeat;43 margin: .5em 0 0; padding-left: 16px;44 }45 .collapsed h3 { background-image: url(../collapsed.png); }46 .plugin .buttons { margin-top: 0; text-align: right }47 .plugin .uninstall { margin-top: -2em; padding: 0 }48 .plugin .summary, .plugin .info { color: #999; font-size: 80%;49 padding-left: 16px;50 }51 .plugin .summary { margin: -.5em 0 .5em }52 .plugin .info { margin: 1em 0 .5em; }53 .plugin .info dt { float: left; width: 7em; }54 .plugin .info dd { padding: 0; margin: 0; }55 .plugin .listing { width: 100% }56 .collapsed .info, .collapsed .listing, .collapsed .update { display: none }57 .plugin .listing td { background: #fff }58 .plugin .listing .name p { color: #999; font-size: 80%; margin: 0 }59 60 /* Perm Panel */61 #permlist div { width: 13em; float: left; }62 fieldset tr.field th { text-align: right; } -
trac/htdocs/css/trac.css
1 body { background: #fff; color: #000; margin: 10px; padding: 0; } 2 body, th, td { 3 font: normal 13px Verdana,Arial,'Bitstream Vera Sans',Helvetica,sans-serif; 1 /* anchor links */ 2 #x-trac .anchor:link, #x-trac .anchor:visited { 3 border: none; 4 font-size: .8em; 5 vertical-align: text-top; 4 6 } 5 h1, h2, h3, h4 { 6 font-family: Arial,Verdana,'Bitstream Vera Sans',Helvetica,sans-serif; 7 font-weight: bold; 8 letter-spacing: -0.018em; 9 page-break-after: avoid; 7 #x-trac * > .anchor:link, * > #x-trac .anchor:visited { 8 visibility: hidden; 10 9 } 11 h1 { font-size: 19px; margin: .15em 1em 0.5em 0 } 12 h2 { font-size: 16px } 13 h3 { font-size: 14px } 14 hr { border: none; border-top: 1px solid #ccb; margin: 2em 0 } 15 address { font-style: normal } 16 img { border: none } 17 tt { white-space: pre } 18 19 .underline { text-decoration: underline } 20 ol.loweralpha { list-style-type: lower-alpha } 21 ol.upperalpha { list-style-type: upper-alpha } 22 ol.lowerroman { list-style-type: lower-roman } 23 ol.upperroman { list-style-type: upper-roman } 24 ol.arabic { list-style-type: decimal } 25 26 /* Link styles */ 27 :link, :visited { 28 text-decoration: none; 29 color: #b00; 30 border-bottom: 1px dotted #bbb; 10 #x-trac h1:hover .anchor, #x-trac h2:hover .anchor, #x-trac h3:hover .anchor, 11 #x-trac h4:hover .anchor, #x-trac h5:hover .anchor, #x-trac h6:hover .anchor { 12 visibility: visible; 31 13 } 32 :link:hover, :visited:hover { background-color: #eee; color: #555 }33 h1 :link, h1 :visited ,h2 :link, h2 :visited, h3 :link, h3 :visited,34 h4 :link, h4 :visited, h5 :link, h5 :visited, h6 :link, h6 :visited {35 color: inherit;36 }37 14 38 /* Heading anchors */ 39 .anchor:link, .anchor:visited { 40 border: none; 41 color: #d7d7d7; 42 font-size: .8em; 43 vertical-align: text-top; 44 } 45 * > .anchor:link, * > .anchor:visited { 46 visibility: hidden; 47 } 48 h1:hover .anchor, h2:hover .anchor, h3:hover .anchor, 49 h4:hover .anchor, h5:hover .anchor, h6:hover .anchor { 50 visibility: visible; 51 } 52 53 @media screen { 54 a.ext-link .icon { 55 background: url(../extlink.gif) left center no-repeat; 56 padding-left: 16px; 57 } 58 * html a.ext-link .icon { display: inline-block; } 59 } 60 61 /* Forms */ 62 input, textarea, select { margin: 2px } 63 input, select { vertical-align: middle } 64 input[type=button], input[type=submit], input[type=reset] { 65 background: #eee; 66 color: #222; 67 border: 1px outset #ccc; 68 padding: .1em .5em; 69 } 70 input[type=button]:hover, input[type=submit]:hover, input[type=reset]:hover { 71 background: #ccb; 72 } 73 input[type=button][disabled], input[type=submit][disabled], 74 input[type=reset][disabled] { 75 background: #f6f6f6; 76 border-style: solid; 77 color: #999; 78 } 79 input[type=text], input.textwidget, textarea { border: 1px solid #d7d7d7 } 80 input[type=text], input.textwidget { padding: .25em .5em } 81 input[type=text]:focus, input.textwidget:focus, textarea:focus { 82 border: 1px solid #886; 83 } 84 option { border-bottom: 1px dotted #d7d7d7 } 85 fieldset { border: 1px solid #d7d7d7; padding: .5em; margin: 1em 0 } 86 form p.hint { color: #666; font-size: 85%; font-style: italic; margin: .5em 0; 87 padding-left: 1em; 88 } 89 fieldset.iefix { 90 background: transparent; 91 border: none; 92 padding: 0; 93 margin: 0; 94 } 95 * html fieldset.iefix { width: 98% } 96 fieldset.iefix p { margin: 0 } 97 legend { color: #999; padding: 0 .25em; font-size: 90%; font-weight: bold } 98 label.disabled { color: #d7d7d7 } 99 .buttons { margin: .5em .5em .5em 0 } 100 .buttons form, .buttons form div { display: inline } 101 .buttons input { margin: 1em .5em .1em 0 } 102 .inlinebuttons input { 103 font-size: 70%; 104 border-width: 1px; 105 border-style: dotted; 106 margin: 0; 107 padding: 0.1em; 108 background: none; 109 } 110 111 /* Header */ 112 #header hr { display: none } 113 #header h1 { margin: 1.5em 0 -1.5em; } 114 #header img { border: none; margin: 0 0 -3em } 115 #header :link, #header :visited, #header :link:hover, #header :visited:hover { 116 background: transparent; 117 color: #555; 118 margin-bottom: 2px; 119 border: none; 120 } 121 #header h1 :link:hover, #header h1 :visited:hover { color: #000 } 122 123 /* Quick search */ 124 #search { 125 clear: both; 126 font-size: 10px; 127 height: 2.2em; 128 margin: 0 0 1em; 129 text-align: right; 130 } 131 #search input { font-size: 10px } 132 #search label { display: none } 133 134 /* Navigation */ 135 .nav h2, .nav hr { display: none } 136 .nav ul { font-size: 10px; list-style: none; margin: 0; text-align: right } 137 .nav li { 138 border-right: 1px solid #d7d7d7; 139 display: inline; 140 padding: 0 .75em; 141 white-space: nowrap; 142 } 143 .nav li.last { border-right: none } 144 145 /* Main navigation bar */ 146 #mainnav { 147 background: #f7f7f7 url(../topbar_gradient.png) 0 0; 148 border: 1px solid #000; 149 font: normal 10px verdana,'Bitstream Vera Sans',helvetica,arial,sans-serif; 150 margin: .66em 0 .33em; 151 padding: .2em 0; 152 } 153 #mainnav li { border-right: none; padding: .25em 0 } 154 #mainnav :link, #mainnav :visited { 155 background: url(../dots.gif) 0 0 no-repeat; 156 border-right: 1px solid #fff; 157 border-bottom: none; 158 border-left: 1px solid #555; 159 color: #000; 160 padding: .2em 20px; 161 } 162 * html #mainnav :link, * html #mainnav :visited { background-position: 1px 0 } 163 #mainnav :link:hover, #mainnav :visited:hover { 164 background-color: #ccc; 165 border-right: 1px solid #ddd; 166 } 167 #mainnav .active :link, #mainnav .active :visited { 168 background: #333 url(../topbar_gradient2.png) 0 0 repeat-x; 169 border-top: none; 170 border-right: 1px solid #000; 171 color: #eee; 172 font-weight: bold; 173 } 174 #mainnav .active :link:hover, #mainnav .active :visited:hover { 175 border-right: 1px solid #000; 176 } 177 178 /* Context-dependent navigation links */ 179 #ctxtnav { height: 1em } 180 #ctxtnav li ul { 181 background: #f7f7f7; 182 color: #ccc; 183 border: 1px solid; 184 padding: 0; 185 display: inline; 186 margin: 0; 187 } 188 #ctxtnav li li { padding: 0; } 189 #ctxtnav li li :link, #ctxtnav li li :visited { padding: 0 1em } 190 #ctxtnav li li :link:hover, #ctxtnav li li :visited:hover { 191 background: #bba; 192 color: #fff; 193 } 194 195 /* Alternate links */ 196 #altlinks { clear: both; text-align: center } 197 #altlinks h3 { font-size: 12px; letter-spacing: normal; margin: 0 } 198 #altlinks ul { list-style: none; margin: 0; padding: 0 0 1em } 199 #altlinks li { 200 border-right: 1px solid #d7d7d7; 201 display: inline; 202 font-size: 11px; 203 line-height: 1.5; 204 padding: 0 1em; 205 white-space: nowrap; 206 } 207 #altlinks li.last { border-right: none } 208 #altlinks li :link, #altlinks li :visited { 209 background-repeat: no-repeat; 210 color: #666; 211 border: none; 212 padding: 0 0 2px; 213 } 214 #altlinks li a.ics { background-image: url(../ics.png); padding-left: 22px } 215 #altlinks li a.rss { background-image: url(../feed.png); padding-left: 20px } 216 217 /* Footer */ 218 #footer { 219 clear: both; 220 color: #bbb; 221 font-size: 10px; 222 border-top: 1px solid; 223 height: 31px; 224 padding: .25em 0; 225 } 226 #footer :link, #footer :visited { color: #bbb; } 227 #footer hr { display: none } 228 #footer #tracpowered { border: 0; float: left } 229 #footer #tracpowered:hover { background: transparent } 230 #footer p { margin: 0 } 231 #footer p.left { 232 float: left; 233 margin-left: 1em; 234 padding: 0 1em; 235 border-left: 1px solid #d7d7d7; 236 border-right: 1px solid #d7d7d7; 237 } 238 #footer p.right { 239 float: right; 240 text-align: right; 241 } 242 243 #content { padding-bottom: 2em; position: relative } 244 245 #help { 246 clear: both; 247 color: #999; 248 font-size: 90%; 249 margin: 1em; 250 text-align: right; 251 } 252 #help :link, #help :visited { cursor: help } 253 #help hr { display: none } 254 255 /* Page preferences form */ 256 #prefs { 257 background: #f7f7f0; 258 border: 1px outset #998; 259 float: right; 260 font-size: 9px; 261 padding: .8em; 262 position: relative; 263 margin: 0 1em 1em; 264 } 265 * html #prefs { width: 26em } /* Set width only for IE */ 266 #prefs input, #prefs select { font-size: 9px; vertical-align: middle } 267 #prefs fieldset { 268 background: transparent; 269 border: none; 270 margin: .5em; 271 padding: 0; 272 } 273 #prefs fieldset legend { 274 background: transparent; 275 color: #000; 276 font-size: 9px; 277 font-weight: normal; 278 margin: 0 0 0 -1.5em; 279 padding: 0; 280 } 281 #prefs .buttons { text-align: right } 282 283 /* Version information (browser, wiki, attachments) */ 284 #info { 285 margin: 1em 0 0 0; 286 background: #f7f7f0; 287 border: 1px solid #d7d7d7; 288 border-collapse: collapse; 289 border-spacing: 0; 290 clear: both; 291 width: 100%; 292 } 293 #info th, #info td { font-size: 85%; padding: 2px .5em; vertical-align: top } 294 #info th { font-weight: bold; text-align: left; white-space: nowrap } 295 #info td.message { width: 100% } 296 #info .message ul { padding: 0; margin: 0 2em } 297 #info .message p { margin: 0; padding: 0 } 298 299 /* Wiki */ 300 .wikipage { padding-left: 18px } 301 .wikipage h1, .wikipage h2, .wikipage h3 { margin-left: -18px } 302 303 a.missing:link, a.missing:visited, span.missing { color: #998 } 304 a.missing:link, a.missing:visited { background: #fafaf0 } 305 a.missing:hover { color: #000 } 306 a.closed:link, a.closed:visited { text-decoration: line-through } 307 span.closed { text-decoration: line-through } 308 309 dl.wiki dt { font-weight: bold } 310 dl.compact dt { float: left; padding-right: .5em } 311 dl.compact dd { margin: 0; padding: 0 } 312 313 pre.wiki, pre.literal-block { 314 background: #f7f7f7; 315 border: 1px solid #d7d7d7; 316 margin: 1em 1.75em; 317 padding: .25em; 318 overflow: auto; 319 } 320 321 blockquote.citation { 322 margin: -0.6em 0; 323 border-style: solid; 324 border-width: 0 0 0 2px; 325 padding-left: .5em; 326 border-color: #b44; 327 } 328 .citation blockquote.citation { border-color: #4b4; } 329 .citation .citation blockquote.citation { border-color: #44b; } 330 .citation .citation .citation blockquote.citation { border-color: #c55; } 331 332 table.wiki { 333 border: 2px solid #ccc; 334 border-collapse: collapse; 335 border-spacing: 0; 336 } 337 table.wiki td { border: 1px solid #ccc; padding: .1em .25em; } 338 339 .wikitoolbar { 340 border: solid #d7d7d7; 341 border-width: 1px 1px 1px 0; 342 height: 18px; 343 width: 234px; 344 } 345 .wikitoolbar :link, .wikitoolbar :visited { 346 background: transparent url(../edit_toolbar.png) no-repeat; 347 border: 1px solid #fff; 348 border-left-color: #d7d7d7; 349 cursor: default; 350 display: block; 351 float: left; 352 width: 24px; 353 height: 16px; 354 } 355 .wikitoolbar :link:hover, .wikitoolbar :visited:hover { 356 background-color: transparent; 357 border: 1px solid #fb2; 358 } 359 .wikitoolbar a#em { background-position: 0 0 } 360 .wikitoolbar a#strong { background-position: 0 -16px } 361 .wikitoolbar a#heading { background-position: 0 -32px } 362 .wikitoolbar a#link { background-position: 0 -48px } 363 .wikitoolbar a#code { background-position: 0 -64px } 364 .wikitoolbar a#hr { background-position: 0 -80px } 365 .wikitoolbar a#np { background-position: 0 -96px } 366 .wikitoolbar a#br { background-position: 0 -112px } 367 .wikitoolbar a#img { background-position: 0 -128px } 368 369 /* Styles for the form for adding attachments. */ 370 #attachment .field { margin-top: 1.3em } 371 #attachment label { padding-left: .2em } 372 #attachment fieldset { margin-top: 2em } 373 #attachment fieldset .field { float: left; margin: 0 1em .5em 0 } 374 #attachment .options { float: left; padding: 0 0 1em 1em } 375 #attachment br { clear: left } 376 .attachment #preview { margin-top: 1em } 377 378 /* Styles for the list of attachments. */ 379 #attachments { border: 1px outset #996; padding: 1em } 380 #attachments .attachments { margin-left: 2em; padding: 0 } 381 #attachments dt { display: list-item; list-style: square; } 382 #attachments dd { font-style: italic; margin-left: 0; padding-left: 0; } 383 384 /* Styles for tabular listings such as those used for displaying directory 385 contents and report results. */ 386 table.listing { 387 clear: both; 388 border-bottom: 1px solid #d7d7d7; 389 border-collapse: collapse; 390 border-spacing: 0; 391 margin-top: 1em; 392 width: 100%; 393 } 394 table.listing th { text-align: left; padding: 0 1em .1em 0; font-size: 12px } 395 table.listing thead { background: #f7f7f0 } 396 table.listing thead th { 397 border: 1px solid #d7d7d7; 398 border-bottom-color: #999; 399 font-size: 11px; 400 font-weight: bold; 401 padding: 2px .5em; 402 vertical-align: bottom; 403 } 404 table.listing thead th :link:hover, table.listing thead th :visited:hover { 405 background-color: transparent; 406 } 407 table.listing thead th a { border: none; padding-right: 12px } 408 table.listing th.asc a, table.listing th.desc a { font-weight: bold } 409 table.listing th.asc a, table.listing th.desc a { 410 background-position: 100% 50%; 411 background-repeat: no-repeat; 412 } 413 table.listing th.asc a { background-image: url(../asc.png) } 414 table.listing th.desc a { background-image: url(../desc.png) } 415 table.listing tbody td, table.listing tbody th { 416 border: 1px dotted #ddd; 417 padding: .33em .5em; 418 vertical-align: top; 419 } 420 table.listing tbody td a:hover, table.listing tbody th a:hover { 421 background-color: transparent; 422 } 423 table.listing tbody tr { border-top: 1px solid #ddd } 424 table.listing tbody tr.even { background-color: #fcfcfc } 425 table.listing tbody tr.odd { background-color: #f7f7f7 } 426 table.listing tbody tr:hover { background: #eed !important } 427 428 /* Styles for the page history table 429 (extends the styles for "table.listing") */ 430 #fieldhist td { padding: 0 .5em } 431 #fieldhist td.date, #fieldhist td.diff, #fieldhist td.version, 432 #fieldhist td.author { 433 white-space: nowrap; 434 } 435 #fieldhist td.version { text-align: center } 436 #fieldhist td.comment { width: 100% } 437 438 /* Auto-completion interface */ 439 .suggestions { background: #fff; border: 1px solid #886; color: #222; } 440 .suggestions ul { 441 font-family: sans-serif; 442 max-height: 20em; 443 min-height: 3em; 444 list-style: none; 445 margin: 0; 446 overflow: auto; 447 padding: 0; 448 width: 440px; 449 } 450 * html .suggestions ul { height: 10em; } 451 .suggestions li { background: #fff; cursor: pointer; padding: 2px 5px } 452 .suggestions li.selected { background: #b9b9b9 } 453 454 /* Styles for the error page (and rst errors) */ 455 #content.error .message, div.system-message { 456 background: #fdc; 457 border: 2px solid #d00; 458 color: #500; 459 padding: .5em; 460 margin: 1em 0; 461 } 462 #content.error pre, div.system-message pre { 463 margin-left: 1em; 464 overflow: auto; 465 } 466 div.system-message p { margin: 0; } 467 div.system-message p.system-message-title { font-weight: bold; } 468 469 #content.error #newticket form { display: inline; } 470 #content.error #newticket textarea { display: none; } 471 472 #content.error #systeminfo { margin: 1em; width: auto; } 473 #content.error #systeminfo th { font-weight: bold; text-align: right; } 474 475 #content.error #traceback { margin-left: 1em; } 476 #content.error #traceback :link, #content.error #traceback :visited { 477 border: none; 478 } 479 #content.error #tbtoggle { font-size: 80%; } 480 #content.error #traceback div { margin-left: 1em; } 481 #content.error #traceback h3 { font-size: 95%; margin: .5em 0 0; } 482 #content.error #traceback :link var, #content.error #traceback :visited var { 483 font-family: monospace; 484 font-style: normal; 485 font-weight: bold; 486 } 487 #content.error #traceback span.file { color: #666; font-size: 85%; } 488 #content.error #traceback ul { list-style: none; margin: .5em 0; padding: 0; } 489 #content.error #traceback ol { 490 border: 1px dotted #d7d7d7; 491 color: #999; 492 font-size: 85%; 493 line-height: 1; 494 margin: .5em 0; 495 } 496 #content.error #traceback ol li { white-space: pre; } 497 #content.error #traceback ol li.current { background: #e6e6e6; color: #333; } 498 #content.error #traceback ol li code { color: #666; } 499 #content.error #traceback ol li.current code { color: #000; } 500 #content.error #traceback table { margin: .5em 0 1em; } 501 #content.error #traceback th, #content.error #traceback td { 502 font-size: 85%; padding: 1px; 503 } 504 #content.error #traceback th var { 505 font-family: monospace; 506 font-style: normal; 507 } 508 #content.error #traceback td code { white-space: pre; } 509 #content.error #traceback pre { font-size: 95%; } 510 511 /* Styles for search word highlighting */ 512 @media screen { 513 .searchword0 { background: #ff9 } 514 .searchword1 { background: #cfc } 515 .searchword2 { background: #cff } 516 .searchword3 { background: #ccf } 517 .searchword4 { background: #fcf } 518 } 519 520 @media print { 521 #header, #altlinks, #footer, #help { display: none } 522 .nav, form, .buttons form, form .buttons, form .inlinebuttons { 523 display: none; 524 } 525 form.printableform { display: block } 526 } 15 /* alternative link icons */ 16 #x-trac #altlinks li a.ics { background-image: url(../ics.png); padding-left: 22px } 17 #x-trac #altlinks li a.rss { background-image: url(../feed.png); padding-left: 20px } -
trac/htdocs/css/changeset.css
1 /* Changeset overview */2 #overview .files { padding-top: 1em }3 #overview .files ul { margin: 0; padding: 0 }4 #overview .files li { list-style-type: none }5 #overview .files li .comment { display: none }6 #overview .files li div {7 border: 1px solid #999;8 float: left;9 margin: .2em .5em 0 0;10 overflow: hidden;11 width: .8em; height: .8em;12 }13 #overview div.add div, #overview div.cp div, #overview div.mv div {14 border: 0;15 margin: 0;16 float: right;17 width: .35em;18 }19 20 #overview .changeset { padding: 0 0 1px }21 #overview dd.changeset p {22 margin-bottom: 0;23 margin-top: 0;24 }25 #overview .files { padding: 1px 0 }26 27 .diff ul.props {28 font-size: 90%;29 list-style: disc;30 margin: .5em 0 0;31 padding: 0 .5em 1em 2em;32 }33 .diff ul.props li { margin: 0; padding: 0 }34 35 #title dl { display: inline; font-size: 110% }36 #title dt {37 display: inline;38 font-size: 110%;39 font-weight: bold;40 margin-left: 3em;41 }42 #title dd { display: inline; margin-left: 0.4em } -
trac/htdocs/css/wiki.css
1 @import url(code.css);2 3 /* Styles for the page editing form */4 #edit #rows { float: right; font-size: 80% }5 #edit #rows select { font-size: 90% }6 #edit #text { clear: both; width: 100% }7 #edit .wikitoolbar { float: left; }8 #changeinfo { padding: .5em }9 #changeinfo .field { float: left; margin: 0 1em .5em 0 }10 #changeinfo br { clear: left }11 #changeinfo .options { padding: 0 0 1em 1em }12 #changeinfo .options, #changeinfo .buttons { clear: left }13 #delete, #save { margin-left: 6em }14 #preview {15 background: #f4f4f4 url(../draft.png);16 margin: 1em 0 2em;17 overflow: auto;18 }19 #template { vertical-align: middle; padding-top: 1em; }20 21 /* Diff view */22 #overview .multi { color: #999 }23 #overview .ipnr { color: #999; font-size: 80% }24 #overview .comment { padding: 1em 0 0 }25 26 @media print {27 th.diff, td.diff { display: none }28 }29 30 /* Styles for the TracGuideToc wikimacro */31 .wiki-toc {32 padding: .5em 1em;33 margin: 0 0 2em 1em;34 float: right;35 border: 1px outset #ddc;36 background: #ffd;37 font-size: 85%;38 position: relative;39 }40 .wiki-toc h4 { font-size: 12px; margin: 0 }41 .wiki-toc ul, .wiki-toc ol { list-style: none; padding: 0; margin: 0 }42 .wiki-toc ul ul, .wiki-toc ol ol { padding-left: 1.2em }43 .wiki-toc li { margin: 0; padding: 0 }44 .wiki-toc .active { background: #ff9; position: relative; } -
trac/htdocs/css/search.css
1 #content.search .filters { color: #333; font-size: 85%; }2 3 #content.search form { margin: 1em 0 0 }4 #content.search form p { margin: .5em 0 }5 #content.search hr { clear: left; margin-bottom: 0 }6 #content.search #notfound { margin: 2em; font-size: 110% }7 8 #content.search h2 .numresults { color: #666; font-size: 90%; }9 #content.search #results { margin-right: 3em }10 #content.search #results dt { margin: 1.5em 0 0 }11 #content.search #results dt a { color: #33c }12 #content.search #results dd { font-size: 80%; margin: 0; padding: 0 }13 #content.search #results .author, #results .date { color: #090; }14 15 #content.search #quickjump { font-style: italic; font-weight: bold; }16 17 #content.search .paging { margin: 0 0 2em; padding: .5em 0 0;18 font-size: 85%; line-height: 2em; text-align: center;19 }20 #content.search .paging span { color: #666; padding: 0; }21 #content.search .paging :link, #content.search .paging :visited {22 background: #999; border: 1px solid #666; color: #fff; padding: .1em .3em;23 }24 #content.search .paging :link:hover, #content.search .paging :visited:hover {25 background: #666; border-color: #333;26 }27 #content.search .paging .previous :link,28 #content.search .paging .previous :visited,29 #content.search .paging .next :link,30 #content.search .paging .next :visited {31 background: transparent; border: none; color: #666; font-size: 150%;32 font-weight: bold;33 }34 #content.search .paging .previous :link:hover,35 #content.search .paging .previous :visited:hover,36 #content.search .paging .next :link:hover,37 #content.search .paging .next :visited:hover {38 background: transparent; color: #000;39 } -
trac/htdocs/css/timeline.css
1 /* Timeline */2 3 * html #prefs { width: 34em } /* Set width only for IE */4 #prefs fieldset label { display: block }5 #prefs .buttons { margin-top: -1.6em }6 7 h2 {8 background: #f7f7f7;9 border-bottom: 1px solid #d7d7d7;10 font-size: 105%;11 margin: 2em 0 .5em;12 }13 dl { line-height: 1.3em; margin-left: 1em }14 dt { background: 3px 4px no-repeat; padding: 0 }15 dt :link, dt :visited {16 background: 3px 3px no-repeat;17 border: none;18 color: #000;19 padding: 0 4px 2px 22px;20 }21 dt>:link, dt>:visited {22 /* Hide from IE/Win */23 background-position: 3px 4px;24 display: block;25 }26 dt :link:hover, dt :visited:hover { background-color: #eed; color: #000 }27 dt em {28 border-bottom: 1px dotted #bbb;29 color: #b00;30 font-style: normal;31 text-decoration: none;32 }33 dt .time { color: #999; font-size: 80%; }34 dt .author { color: #666; }35 dt.highlight { background-color: #ffa; }36 dd {37 font-size: 80%;38 margin: 0 0 .75em 5.5em;39 padding: 0;40 color: #776;41 }42 43 /* Apply icon background-image twice to avoid hover-flicker in IE/Win */44 dt.changeset, dt.changeset a { background-image: url(../changeset.png) !important }45 dt.newticket, dt.newticket a { background-image: url(../newticket.png) !important }46 dt.editedticket, dt.editedticket a { background-image: url(../editedticket.png) !important }47 dt.closedticket, dt.closedticket a { background-image: url(../closedticket.png) !important }48 dt.wiki, dt.wiki a { background-image: url(../wiki.png) !important }49 dt.milestone, dt.milestone a { background-image: url(../milestone.png) !important }50 dt.attachment, dt.attachment a { background-image: url(../attachment.png) !important }51 52 /* styles for the 'changeset_long_messages' option */53 dd.changeset p { margin: 0; padding: 0 }54 dd.changeset ul { padding-left: 15px; }55 56 /* Styles for the 'changeset_show_files' option */57 dd.changeset .changes { color: #aaa; font-size: 90%; }58 dd.changeset ul.changes {59 padding-left: 0;60 list-style-type: none;61 }62 dd.changeset .changes li div {63 border: 1px solid #999;64 float: left;65 margin: .5em .5em 0 0;66 overflow: hidden;67 width: .8em; height: .8em;68 }69 dd.changeset .changes li span {70 float: left;71 margin-right: .8em;72 }73 dd.changeset .changes .add { background: #bfb }74 dd.changeset .changes .delete { background: #f88 }75 dd.changeset .changes .edit { background: #fd8 }76 dd.changeset .changes .copy { background: #88f }77 dd.changeset .changes .move { background: #ccc } -
trac/htdocs/css/diff.css
1 /* Diff preferences */2 #prefs fieldset { margin: 1em .5em .5em; padding: .5em 1em 0 }3 4 /* Diff/change overview */5 #overview { line-height: 130%; margin-top: 1em; padding: .5em }6 #overview dt.property {7 font-weight: bold;8 padding-right: .25em;9 position: absolute;10 left: 0;11 text-align: right;12 width: 7.75em;13 }14 #overview dd { margin-left: 8em }15 16 #overview .message { padding: 1em 0 1px }17 #overview dd.message p, #overview dd.message ul, #overview dd.message ol,18 #overview dd.message pre { margin-bottom: 1em; margin-top: 0; }19 20 /* Colors for change types */21 #chglist .edit, #overview .mod, .diff .legend .mod { background: #fd8 }22 #chglist .delete, #overview .rem, .diff .legend .rem { background: #f88 }23 #chglist .add, #overview .add, .diff .legend .add { background: #bfb }24 #chglist .copy, #overview .cp, .diff .legend .cp { background: #88f }25 #chglist .move, #overview .mv, .diff .legend .mv { background: #ccc }26 #chglist .unknown { background: #fff }27 28 /* Legend for diff and file colors */29 .legend {30 font-size: 9px;31 line-height: 1em;32 padding: .5em 0;33 }34 .legend h3 { display: none; }35 .legend dt {36 background: #fff;37 border: 1px solid #999;38 float: left;39 margin: .1em .5em .1em 0;40 overflow: hidden;41 width: .8em; height: .8em;42 }43 .legend dl {44 display: inline;45 padding: 0;46 margin: 0;47 margin-right: .5em;48 }49 .legend dd {50 display: inline;51 float: left;52 padding: 0;53 margin: 0;54 margin-right: 2em;55 }56 57 #diff-legend {58 float: left;59 clear: right;60 margin: 1em .5em;61 }62 63 #file-legend dd { margin-left: 0; }64 65 /* Styles for the list of diffs */66 .diff ul.entries { clear: both; margin: 0; padding: 0 }67 68 .diff li.entry {69 background: #f7f7f7;70 border: 1px solid #d7d7d7;71 list-style-type: none;72 margin: 0 0 2em;73 padding: 2px;74 position: relative;75 width: 100%;76 }77 .diff h2 {78 color: #333;79 font-size: 14px;80 letter-spacing: normal;81 margin: 0 auto;82 padding: .1em 0 .25em .5em;83 }84 .diff h2 .switch { color: #999; float: right; font-size: 75%;85 line-height: 1.6;86 }87 .diff h2 .switch span { border-left: 1px solid #ccc; cursor: pointer;88 padding: 0 1em;89 }90 .diff h2 .switch span:first-child { border: none; }91 .diff h2 .switch span.active { color: #333; cursor: default; }92 93 /* Styles for the actual diff tables (side-by-side and inline) */94 .diff table {95 border: 1px solid #ddd;96 border-spacing: 0;97 border-top: 0;98 empty-cells: show;99 font-size: 12px;100 line-height: 130%;101 padding: 0;102 margin: 0 auto;103 table-layout: fixed;104 width: 100%;105 }106 .diff table col.lineno { width: 4em }107 .diff table th {108 border-right: 1px solid #d7d7d7;109 border-bottom: 1px solid #998;110 font-size: 11px;111 }112 .diff table thead th {113 background: #eee;114 border-top: 1px solid #d7d7d7;115 color: #999;116 padding: 0 .25em;117 text-align: center;118 white-space: nowrap;119 }120 .diff table tbody th {121 background: #eed;122 color: #886;123 font-weight: normal;124 padding: 0 .5em;125 text-align: right;126 vertical-align: top;127 }128 .diff table tbody td {129 background: #fff;130 font: normal 11px monospace;131 overflow: visible;132 padding: 1px 2px;133 vertical-align: top;134 }135 .diff table tbody.skipped td {136 background: #f7f7f7;137 border: 1px solid #d7d7d7;138 }139 .diff td ins, .diff td del {text-decoration: none;}140 141 /* Styles for the inline diff */142 .diff table.inline tbody.mod td.l, .diff table.inline tbody.rem td.l {143 background: #fdd;144 border-color: #c00;145 border-style: solid;146 border-width: 0 1px 0 1px;147 }148 .diff table.inline tbody.mod td.r, .diff table.inline tbody.add td.r {149 background: #dfd;150 border-color: #0a0;151 border-style: solid;152 border-width: 0 1px 0 1px;153 }154 .diff table.inline tbody.mod tr.first td.l,155 .diff table.inline tbody.rem tr.first td.l { border-top-width: 1px }156 .diff table.inline tbody.mod tr.last td.l,157 .diff table.inline tbody.rem tr.last td.l { border-bottom-width: 1px }158 .diff table.inline tbody.mod tr.first td.r,159 .diff table.inline tbody.add tr.first td.r { border-top-width: 1px }160 .diff table.inline tbody.mod tr.last td.r,161 .diff table.inline tbody.add tr.last td.r { border-bottom-width: 1px }162 .diff table.inline tbody.mod td del {163 background: #e99;164 color: #000;165 }166 .diff table.inline tbody.mod td ins {167 background: #9e9;168 color: #000;169 }170 171 /* Styles for the side-by-side diff */172 .diff table.sidebyside colgroup.content { width: 50% }173 .diff table.sidebyside tbody.mod td.l { background: #fe9 }174 .diff table.sidebyside tbody.mod td.r { background: #fd8 }175 .diff table.sidebyside tbody.add td.l { background: #dfd }176 .diff table.sidebyside tbody.add td.r { background: #cfc }177 .diff table.sidebyside tbody.rem td.l { background: #f88 }178 .diff table.sidebyside tbody.rem td.r { background: #faa }179 .diff table.sidebyside tbody.mod del, .diff table.sidebyside tbody.mod ins {180 background: #fc0;181 }182 183 /* Styles for the plain-text diff view */184 .diff pre { background: #fff; border: 1px solid #ddd; font-size: 85%;185 margin: 0;186 } -
trac/htdocs/css/tracstyle.css
1 /** 2 * Colors / Backgrounds for the default design 3 */ 4 5 /* Global Styles */ 6 body, th, td { 7 font: normal 13px 'Verdana', 'Arial', 'Bitstream Vera Sans', 'Helvetica', sans-serif; 8 } 9 h1, h2, h3, h4 { 10 font-family: 'Arial', 'Verdana', 'Bitstream Vera Sans', 'Helvetica', sans-serif; 11 font-weight: bold; 12 letter-spacing: -0.018em; 13 page-break-after: avoid; 14 } 15 16 h1 { font-size: 19px; margin: .15em 1em 0.5em 0 } 17 h2 { font-size: 16px } 18 h3 { font-size: 14px } 19 hr { border: none; border-top: 1px solid #ccb; margin: 2em 0 } 20 21 address { font-style: normal } 22 23 img { border: none } 24 25 tt { white-space: pre } 26 27 .underline { text-decoration: underline } 28 ol.loweralpha { list-style-type: lower-alpha } 29 ol.upperalpha { list-style-type: upper-alpha } 30 ol.lowerroman { list-style-type: lower-roman } 31 ol.upperroman { list-style-type: upper-roman } 32 ol.arabic { list-style-type: decimal } 33 34 :link, :visited { 35 text-decoration: none; 36 color: #b00; 37 border-bottom: 1px dotted #bbb; 38 } 39 :link:hover, :visited:hover { background-color: #eee; color: #555 } 40 h1 :link, h1 :visited ,h2 :link, h2 :visited, h3 :link, h3 :visited, 41 h4 :link, h4 :visited, h5 :link, h5 :visited, h6 :link, h6 :visited { 42 color: inherit; 43 } 44 45 a.ext-link .icon { 46 background: url(../extlink.gif) left center no-repeat; 47 padding-left: 16px; 48 } 49 50 * html a.ext-link .icon { display: inline-block; } 51 52 /* Anchors */ 53 .anchor:link, .anchor:visited { 54 color: #d7d7d7; 55 } 56 57 /* Forms */ 58 input, textarea, select { margin: 2px } 59 input, select { vertical-align: middle } 60 input[type=button], input[type=submit], input[type=reset] { 61 background: #eee; 62 color: #222; 63 border: 1px outset #ccc; 64 padding: .1em .5em; 65 } 66 input[type=button]:hover, input[type=submit]:hover, input[type=reset]:hover { 67 background: #ccb; 68 } 69 input[type=button][disabled], input[type=submit][disabled], 70 input[type=reset][disabled] { 71 background: #f6f6f6; 72 border-style: solid; 73 color: #999; 74 } 75 input[type=text], input.textwidget, textarea { border: 1px solid #d7d7d7 } 76 input[type=text], input.textwidget { padding: .25em .5em } 77 input[type=text]:focus, input.textwidget:focus, textarea:focus { 78 border: 1px solid #886; 79 } 80 option { border-bottom: 1px dotted #d7d7d7 } 81 fieldset { border: 1px solid #d7d7d7; padding: .5em; margin: 1em 0 } 82 form p.hint { color: #666; font-size: 85%; font-style: italic; margin: .5em 0; 83 padding-left: 1em; 84 } 85 fieldset.iefix { 86 background: transparent; 87 border: none; 88 padding: 0; 89 margin: 0; 90 } 91 * html fieldset.iefix { width: 98% } 92 fieldset.iefix p { margin: 0 } 93 legend { color: #999; padding: 0 .25em; font-size: 90%; font-weight: bold } 94 label.disabled { color: #d7d7d7 } 95 .buttons { margin: .5em .5em .5em 0 } 96 .buttons form, .buttons form div { display: inline } 97 .buttons input { margin: 1em .5em .1em 0 } 98 .inlinebuttons input { 99 font-size: 70%; 100 border-width: 1px; 101 border-style: dotted; 102 margin: 0; 103 padding: 0.1em; 104 background: none; 105 } 106 107 /* Header */ 108 #header hr { display: none } 109 #header h1 { margin: 1.5em 0 -1.5em; } 110 #header img { border: none; margin: 0 0 -3em } 111 #header :link, #header :visited, #header :link:hover, #header :visited:hover { 112 background: transparent; 113 color: #555; 114 margin-bottom: 2px; 115 border: none; 116 } 117 #header h1 :link:hover, #header h1 :visited:hover { color: #000 } 118 119 /* Footer */ 120 #footer { 121 clear: both; 122 color: #bbb; 123 font-size: 10px; 124 border-top: 1px solid; 125 height: 31px; 126 padding: .25em 0; 127 } 128 #footer :link, #footer :visited { color: #bbb; } 129 #footer hr { display: none } 130 #footer #tracpowered { border: 0; float: left } 131 #footer #tracpowered:hover { background: transparent } 132 #footer p { margin: 0 } 133 #footer p.left { 134 float: left; 135 margin-left: 1em; 136 padding: 0 1em; 137 border-left: 1px solid #d7d7d7; 138 border-right: 1px solid #d7d7d7; 139 } 140 #footer p.right { 141 float: right; 142 text-align: right; 143 } 144 145 /* Search Form */ 146 #search { 147 clear: both; 148 font-size: 10px; 149 height: 2.2em; 150 margin: 0 0 1em; 151 text-align: right; 152 } 153 #search input { font-size: 10px } 154 #search label { display: none } 155 156 /* Navigation Bars */ 157 .nav h2, .nav hr { 158 display: none; 159 } 160 .nav ul { 161 font-size: 10px; 162 list-style: none; 163 margin: 0; 164 text-align: right; 165 } 166 .nav li { 167 border-right: 1px solid #d7d7d7; 168 display: inline; 169 padding: 0 .75em; 170 white-space: nowrap; 171 } 172 .nav li.last { 173 border-right: none; 174 } 175 176 #mainnav { 177 background: #f7f7f7 url(../topbar_gradient.png) 0 0; 178 border: 1px solid #000; 179 font: normal 10px verdana,'Bitstream Vera Sans',helvetica,arial,sans-serif; 180 margin: .66em 0 .33em; 181 padding: .2em 0; 182 } 183 #mainnav li { border-right: none; padding: .25em 0 } 184 #mainnav :link, #mainnav :visited { 185 background: url(../dots.gif) 0 0 no-repeat; 186 border-right: 1px solid #fff; 187 border-bottom: none; 188 border-left: 1px solid #555; 189 color: #000; 190 padding: .2em 20px; 191 } 192 * html #mainnav :link, * html #mainnav :visited { background-position: 1px 0 } 193 #mainnav :link:hover, #mainnav :visited:hover { 194 background-color: #ccc; 195 border-right: 1px solid #ddd; 196 } 197 #mainnav .active :link, #mainnav .active :visited { 198 background: #333 url(../topbar_gradient2.png) 0 0 repeat-x; 199 border-top: none; 200 border-right: 1px solid #000; 201 color: #eee; 202 font-weight: bold; 203 } 204 #mainnav .active :link:hover, #mainnav .active :visited:hover { 205 border-right: 1px solid #000; 206 } 207 208 /* alternative formats */ 209 #altlinks { clear: both; text-align: center } 210 #altlinks h3 { font-size: 12px; letter-spacing: normal; margin: 0 } 211 #altlinks ul { list-style: none; margin: 0; padding: 0 0 1em } 212 #altlinks li { 213 border-right: 1px solid #d7d7d7; 214 display: inline; 215 font-size: 11px; 216 line-height: 1.5; 217 padding: 0 1em; 218 white-space: nowrap; 219 } 220 #altlinks li.last { border-right: none } 221 #altlinks li :link, #altlinks li :visited { 222 background-repeat: no-repeat; 223 color: #666; 224 border: none; 225 padding: 0 0 2px; 226 } -
trac/htdocs/css/code.css
1 div.code {2 background: #f7f7f7;3 border: 1px solid #d7d7d7;4 margin: 1em 1.75em;5 padding: .25em;6 overflow: auto7 }8 9 div.code pre { margin: 0; }10 11 table.code {12 border: 1px solid #ddd;13 border-spacing: 0;14 border-top: 0;15 empty-cells: show;16 font-size: 12px;17 line-height: 130%;18 padding: 0;19 margin: 0 auto;20 table-layout: fixed;21 width: 100%;22 }23 table.code th {24 border-right: 1px solid #d7d7d7;25 border-bottom: 1px solid #998;26 font-size: 11px;27 }28 table.code th.lineno { width: 4em }29 table.code thead th {30 background: #eee;31 border-top: 1px solid #d7d7d7;32 color: #999;33 padding: 0 .25em;34 text-align: center;35 white-space: nowrap;36 }37 table.code tbody th {38 background: #eed;39 color: #886;40 font-weight: normal;41 padding: 0 .5em;42 text-align: right;43 vertical-align: top;44 }45 table.code tbody th :link, table.code tbody th :visited {46 border: none;47 color: #886;48 text-decoration: none;49 }50 table.code tbody th :link:hover, table.code tbody th :visited:hover {51 color: #000;52 }53 table.code td {54 font: normal 11px monospace;55 overflow: hidden;56 padding: 1px 2px;57 vertical-align: top;58 }59 table.code tr.hilite th {60 background: #ccf;61 }62 table.code tr.hilite td {63 background: #ddf;64 }65 .image-file { background: #eee; padding: .3em }66 .image-file img { background: url(../imggrid.png) }67 68 /* Default */69 .code-block span { font-family: monospace; }70 71 /* Comments */72 .code-comment, .css_comment, .c_comment, .c_commentdoc, .c_commentline,73 .c_commentlinedoc, .h_comment,.pl_commentline, .p_commentblock,74 .p_commentline, .hphp_comment, .hphp_commentblock, .hphp_commentline,75 .yaml_comment {76 color: #998;77 font-style: italic;78 }79 80 /* Language keyword */81 .code-keyword, .pl_word { color: #789; font-weight: bold }82 83 /* Type */84 .code-type, .c_word, .c_word2, .p_classname, .hphp_classname{85 color: #468;86 font-weight: bold;87 }88 89 /* Function */90 .code-func, .p_defname {91 color: #900;92 font-weight: bold;93 border-bottom: none;94 }95 96 /* Pre-processor */97 .code-prep, .c_preprocessor, .pl_preprocessor, .yaml_identifier {98 color: #999;99 font-weight: bold;100 }101 102 /* Language construct */103 .code-lang, .p_word { color: #000; font-weight: bold }104 105 /* String */106 .code-string, .c_string, .c_stringeol, .css_doublestring, .css_singlestring,107 .h_singlestring, .h_doublestring, .pl_string, .pl_string_q, .pl_string_qq,108 .pl_string_qr, .pl_string_qw, .pl_string_qx, .pl_backticks, .pl_character,109 .p_string, .p_stringeol, .hphp_string, .hphp_stringeol, .hphp_triple,110 .hphp_tripledouble, .p_character, .p_triple, .p_tripledouble {111 color: #b84;112 font-weight: normal;113 }114 115 /* Variable name */116 .code-var { color: #f9f }117 118 /* SilverCity-specific styles */119 .css_id, .css_class, .css_pseudoclass, .css_tag { color: #900000 }120 .css_directive { color: #009000; font-weight: bold }121 .css_important { color: blue }122 .css_operator { color: #000090; font-weight: bold }123 .css_tag { font-weight: bold }124 .css_unknown_identifier, .css_unknown_pseudoclass { color: red }125 .css_value { color: navy }126 .c_commentdockeyword { color: navy; font-weight: bold }127 .c_commentdockeyworderror { color: red; font-weight: bold }128 .c_character, .c_regex, .c_uuid, .c_verbatim { color: olive }129 .c_number { color: #099 }130 .h_asp { color: #ff0 }131 .h_aspat { color: #ffdf00 }132 .h_attribute { color: teal }133 .h_attributeunknown { color: red }134 .h_cdata { color: #373 }135 .h_entity { color: purple }136 .h_number { color: #099 }137 .h_other { color: purple }138 .h_script, .h_tag, .h_tagend { color: navy }139 .h_tagunknown { color: red }140 .h_xmlend, .h_xmlstart { color: blue }141 .pl_datasection { color: olive }142 .pl_error { color: red; font-weight: bold }143 .pl_hash { color: #000 }144 .pl_here_delim, .pl_here_q, .pl_here_qq, .pl_here_qx, .pl_longquote { color: olive }145 .pl_number { color: #099 }146 .pl_pod { font-style: italic }147 .pl_regex, .pl_regsubst { color: olive }148 .p_number { color: #099 }149 .hphp_character { color: olive }150 .hphp_defname { color: #099; font-weight: bold }151 .hphp_number { color: #099 }152 .hphp_word { color: navy; font-weight: bold }153 .yaml_document { color: gray; font-style: italic }154 .yaml_keyword { color: #808 }155 .yaml_number { color: #800 }156 .yaml_reference { color: #088 }157 .v_comment { color: gray; font-style: italic }158 .v_commentline, .v_commentlinebang { color: red; font-style: italic }159 .v_number, .v_preprocessor { color: #099 }160 .v_string, .v_stringeol { color: olive }161 .v_user{ color: blue; font-weight: bold }162 .v_word, .v_word3 { color: navy; font-weight: bold }163 .v_word2 { color: green; font-weight: bold } -
trac/htdocs/css/about.css
1 1 /* About page */ 2 # content.about p.copyright { color: #999; font-size: 90%; }3 # content.about h2 { margin-top: 2em; }4 # content.about table { margin-top: 0; width: auto; }5 # content.about table th,#content.about table td { font-size: 90%; }2 #x-trac #content.about p.copyright { color: #999; font-size: 90%; } 3 #x-trac #content.about h2 { margin-top: 2em; } 4 #x-trac #content.about table { margin-top: 0; width: auto; } 5 #x-trac #content.about table th, #x-trac #content.about table td { font-size: 90%; } 6 6 7 #content.about th { background: #f7f7f0; font-weight: bold; text-align: right; 8 vertical-align: top; 7 #x-trac #content.about th { 8 background: #f7f7f0; 9 font-weight: bold; 10 text-align: right; 11 vertical-align: top; 9 12 } 10 13 11 #content.about #config th { text-align: left; } 12 #content.about #config th.section { text-align: right; } 13 #content.about #config th, #content.about #config td { border: 1px solid #ddd; 14 padding: 3px; 14 #x-trac #content.about #config th { text-align: left; } 15 #x-trac #content.about #config th.section { text-align: right; } 16 #x-trac #content.about #config th, #x-trac #content.about #config td { 17 border: 1px solid #ddd; 18 padding: 3px; 15 19 } 16 # content.about #config td.value { font-family: monospace; }17 # content.about #config tr.modified td.value { font-weight: bold; }18 # content.about #config td.doc { padding: 3px 1em; }20 #x-trac #content.about #config td.value { font-family: monospace; } 21 #x-trac #content.about #config tr.modified td.value { font-weight: bold; } 22 #x-trac #content.about #config td.doc { padding: 3px 1em; } -
trac/htdocs/css/report.css
1 @import url(code.css);2 3 h1 .numrows, h2 .numrows {4 margin-left: 1em;5 color: #999;6 font-size: 65%;7 font-weight: normal;8 }9 h2 {10 background: #f7f7f7;11 border-bottom: 1px solid #d7d7d7;12 margin: 2em 0 0;13 padding: 0 .33em;14 }15 #report-descr { margin: 0 2em; font-size: 90% }16 #report-notfound { margin: 2em; font-size: 110% }17 #content.report .field { margin: 1em 0; }18 #content.report .field label { padding-bottom: .3em; }19 20 #query { clear: right }21 #query fieldset, #query fieldset input, #query fieldset select { font-size: 11px }22 #query fieldset { margin-top: 1em }23 #query .option, #query .option input, #query .option select { font-size: 11px }24 #query .option { float: left; line-height: 2em; margin: .9em 2.5em 0 .5em; padding: 0 0 .1em }25 #query .buttons { float: right; margin-top: .5em }26 #query .buttons input { margin: .5em }27 #query hr { clear: both; margin: 0; visibility: hidden }28 29 #filters table { width: 100% }30 #filters tr { height: 2em }31 #filters th, #filters td { padding: 0 .2em; vertical-align: middle }32 #filters th { font-size: 11px; text-align: right; white-space: nowrap; }33 #filters td label { font-size: 11px }34 #filters td.mode { text-align: right }35 #filters td.filter { width: 100% }36 #filters td.filter label { padding-right: 1em }37 #filters td.actions { text-align: right; white-space: nowrap }38 39 /* Styles for the report list and the report results table40 (extends the styles for "table.listing") */41 .reports td.title { width: 100% }42 .reports tbody td :link, .reports tbody td :visited,43 .tickets tbody td :link, .tickets tbody td :visited { display: block }44 .tickets { border-bottom: none }45 .tickets thead th { text-transform: capitalize; white-space: nowrap; }46 .tickets tbody td, .reports tbody td { padding: .1em .5em !important }47 .tickets tbody td a, .reports tbody td a { border-bottom: none }48 .tickets tbody td.id :link, .tickets tbody td.id :visited {49 font-weight: bold;50 }51 .tickets tbody tr:hover { background: #eed; color: #000 }52 .tickets tr.color1-odd { background: #fdc; border-color: #e88; color: #a22 }53 .tickets tr.color1-even { background: #fed; border-color: #e99; color: #a22 }54 .tickets tr.color2-odd { background: #ffb; border-color: #eea; color: #880 }55 .tickets tr.color2-even { background: #ffd; border-color: #dd8; color: #880 }56 .tickets tr.color3-odd { background: #fbfbfb; border-color: #ddd; color: #444 }57 .tickets tr.color3-even { background: #f6f6f6; border-color: #ccc; color: #333 }58 .tickets tr.color4-odd { background: #e7ffff; border-color: #cee; color: #099 }59 .tickets tr.color4-even { background: #dff; border-color: #bee; color: #099 }60 .tickets tr.color5-odd { background: #e7eeff; border-color: #cde; color: #469 }61 .tickets tr.color5-even { background: #dde7ff; border-color: #cde; color: #469 }62 .tickets tr.color6-odd { background: #f0f0f0; border-color: #ddd; color: #888 }63 .tickets tr.color6-even { background: #f7f7f7; border-color: #ddd; color: #888 }64 .tickets tr.color6-odd a, .color6-even a { color: #b66 }65 .tickets tbody tr.fullrow td, .tickets tbody td.fullrow {66 border: none;67 color: #333;68 background: transparent;69 padding: 0 1em 2em 2em !important;70 font-size: 85%;71 }72 .tickets tbody tr.fullrow:hover { background: transparent !important }73 .tickets .fullrow :link, .tickets .fullrow :visited { display: inline }74 .tickets .fullrow .meta { color: #999; margin-bottom: -.5em; margin-left: -1em }75 .tickets .fullrow hr { display: none }76 77 /* Query results table */78 table.tickets tbody tr.added td { font-weight: bold }79 table.tickets tbody tr.changed td { font-style: italic }80 table.tickets tbody tr.removed td { color: #999 }81 table.tickets tbody tr.prio1 { background: #fdc; border-color: #e88 }82 table.tickets tbody tr.even.prio1 { background: #fed; border-color: #e99 }83 table.tickets tbody tr.prio2 { background: #ffb; border-color: #eea }84 table.tickets tbody tr.even.prio2 { background: #ffd; border-color: #dd8 }85 table.tickets tbody tr.prio3 { background: #fbfbfb; border-color: #ddd }86 table.tickets tbody tr.even.prio3 { background: #f6f6f6; border-color: #ccc }87 table.tickets tbody tr.prio4 { background: #e7ffff; border-color: #cee }88 table.tickets tbody tr.even.prio4 { background: #dff; border-color: #bee }89 table.tickets tbody tr.prio5 { background: #e7eeff; border-color: #cde }90 table.tickets tbody tr.even.prio5 { background: #dde7ff }91 table.tickets tbody tr.prio6 { background: #f0f0f0; border-color: #ddd }92 table.tickets tbody tr.even.prio6 { background: #f7f7f7 } -
trac/htdocs/css/jinjastyle.css
1 /** 2 * Colors / Backgrounds for the default design 3 */ 4 5 /* Global Styles */ 6 7 a.ext-link .icon { 8 background: url(../extlink.gif) left center no-repeat; 9 padding-left: 16px; 10 } 11 12 * html a.ext-link .icon { display: inline-block; } 13 14 /* Anchors */ 15 .anchor:link, .anchor:visited { 16 color: #d7d7d7; 17 text-decoration: none; 18 } 19 .anchor:hover { 20 background-color: #eee; 21 } 22 23 /* Forms */ 24 input, textarea, select { margin: 2px } 25 input, select { vertical-align: middle } 26 input[type=button], input[type=submit], input[type=reset] { 27 background: #eee; 28 color: #222; 29 border: 1px outset #ccc; 30 padding: .1em .5em; 31 } 32 input[type=button]:hover, input[type=submit]:hover, input[type=reset]:hover { 33 background: #ccb; 34 } 35 input[type=button][disabled], input[type=submit][disabled], 36 input[type=reset][disabled] { 37 background: #f6f6f6; 38 border-style: solid; 39 color: #999; 40 } 41 input[type=text], input.textwidget, textarea { border: 1px solid #d7d7d7 } 42 input[type=text], input.textwidget { padding: .25em .5em } 43 input[type=text]:focus, input.textwidget:focus, textarea:focus { 44 border: 1px solid #886; 45 } 46 option { border-bottom: 1px dotted #d7d7d7 } 47 fieldset { border: 1px solid #d7d7d7; padding: .5em; margin: 1em 0 } 48 form p.hint { color: #666; font-size: 85%; font-style: italic; margin: .5em 0; 49 padding-left: 1em; 50 } 51 fieldset.iefix { 52 background: transparent; 53 border: none; 54 padding: 0; 55 margin: 0; 56 } 57 * html fieldset.iefix { width: 98% } 58 fieldset.iefix p { margin: 0 } 59 legend { color: #999; padding: 0 .25em; font-size: 90%; font-weight: bold } 60 label.disabled { color: #d7d7d7 } 61 .buttons { margin: .5em .5em .5em 0 } 62 .buttons form, .buttons form div { display: inline } 63 .buttons input { margin: 1em .5em .1em 0 } 64 .inlinebuttons input { 65 font-size: 70%; 66 border-width: 1px; 67 border-style: dotted; 68 margin: 0; 69 padding: 0.1em; 70 background: none; 71 } 72 73 /* Navigation Bars */ 74 .nav h2, .nav hr { 75 display: none; 76 } 77 #mainnav ul { 78 font-size: 13px; 79 list-style: none; 80 margin: 0; 81 text-align: right; 82 } 83 #mainnav li { 84 border-right: 1px solid #d7d7d7; 85 display: inline; 86 padding: 0 .75em; 87 white-space: nowrap; 88 } 89 #mainnav li.last { 90 border-right: none; 91 } 92 93 #ctxtnav ul { 94 float: right; 95 font-size: 12px; 96 margin: 40px 0 0 30px; 97 padding: 10px 10px 10px 20px; 98 border: 1px solid #ccc; 99 background-color: #f2f2f2; 100 } 101 102 #ctxtnav li { 103 padding: 0; 104 margin: 0; 105 } 106 107 /* alternative formats */ 108 #altlinks { clear: both; text-align: center } 109 #altlinks h3 { font-size: 12px; letter-spacing: normal; margin: 0 } 110 #altlinks ul { list-style: none; margin: 0; padding: 0 0 1em } 111 #altlinks li { 112 border-right: 1px solid #d7d7d7; 113 display: inline; 114 font-size: 11px; 115 line-height: 1.5; 116 padding: 0 1em; 117 white-space: nowrap; 118 } 119 #altlinks li.last { border-right: none } 120 #altlinks li :link, #altlinks li :visited { 121 background-repeat: no-repeat; 122 color: #666; 123 border: none; 124 padding: 0 0 2px; 125 } -
trac/htdocs/css/prefs.css
1 #content.prefs #tabs { list-style: none; margin: 2em 1em 0; padding: 1px; }2 #content.prefs #tabs li { background: #e6e6e6; border: 1px solid;3 border-color: #ccc #666 #ccc #ccc; color: #666; position: relative;4 bottom: -1px; float: left; font-size: 90%; margin: 0 .5em;5 padding: .2em 1em .3em;6 }7 #content.prefs #tabs :link, #content.prefs #tabs :visited {8 border: none; color: #999;9 }10 #content.prefs #tabs :link:hover, #content.prefs #tabs :visited:hover {11 background: transparent; color: #333;12 }13 #content.prefs #tabs li.active { background: #fff;14 border-bottom: 1px solid #fff;15 }16 #content.prefs #tabs #tab_advanced { float: right; }17 #content.prefs #tabcontent { background: url(../vgradient.png) 0 1px repeat-x;18 border-top: 1px solid #ccc; clear: left; padding: 20px 5px;19 }20 * html #content.prefs #tabcontent { padding-top: 0; }21 22 #content.prefs div.field { margin-bottom: 1em; }23 #content.prefs tr.field th { text-align: right; vertical-align: middle;24 white-space: nowrap;25 } -
trac/htdocs/css/roadmap.css
1 /* General styles for the progress bars */2 table.progress {3 border: 1px solid #d7d7d7;4 border-collapse: collapse;5 border-spacing: 0;6 float: left;7 margin: 0;8 padding: 0;9 empty-cells: show;10 }11 table.progress a, table.progress :link, table.progress :visited,12 table.progress :link:hover, table.progress :visited:hover {13 border: none;14 display: block;15 width: 100%;16 height: 1.2em;17 padding: 0;18 margin: 0;19 text-decoration: none20 }21 table.progress td { background: #fff; padding: 0 }22 table.progress td.closed { background: #bae0ba }23 table.progress td :hover { background: none }24 p.percent { font-size: 10px; line-height: 2.4em; margin: 0.9em 0 0 }25 26 /* Styles for the roadmap view */27 ul.milestones { margin: 2em 0 0; padding: 0 }28 li.milestone { list-style: none; margin-bottom: 4em }29 .milestone .info { white-space: nowrap }30 .milestone .info h2 {31 background: #f7f7f7;32 border-bottom: 1px solid #d7d7d7;33 margin: 0;34 }35 .milestone .info h2 :link, .milestone .info h2 :visited {36 color: #000;37 display: block;38 border-bottom: none;39 }40 .milestone .info h2 :link:hover, .milestone .info h2 :visited:hover {41 color: #000;42 }43 .milestone .info h2 em { color: #b00; font-style: normal }44 .milestone .info .date {45 color: #888;46 font-size: 11px;47 font-style: italic;48 margin: 0;49 }50 .milestone .info .progress { margin: 1em 1em 0; width: 40em; max-width: 70% }51 .milestone .info dl {52 font-size: 10px;53 font-style: italic;54 margin: 0 1em 2em;55 white-space: nowrap;56 }57 .milestone .info dt { display: inline; margin-left: .5em }58 .milestone .info dd { display: inline; margin: 0 1em 0 .5em }59 .milestone .description { margin-left: 1em }60 61 /* Styles for the milestone view */62 .milestone .date { color: #888; font-style: italic; margin: 0 }63 .milestone .description { margin: 1em 0 2em }64 65 /* Styles for the milestone statistics table */66 #stats { float: right; margin: 0 0 2em 2em; width: 400px; max-width: 40% }67 #stats legend { white-space: nowrap }68 #stats table { border-collapse: collapse; width: 100% }69 #stats th, #stats td { font-size: 10px; padding: 0; white-space: nowrap }70 #stats th { text-align: right; }71 #stats th :link, #stats th :visited { border: none }72 #stats td { padding-left: 0.5em; width: 100% }73 #stats td table.progress { margin: 3px 4px 3px 0 }74 #stats td table.progress td { padding: 0 }75 #stats td p.percent { line-height: 1.2em; margin-top: 3px }76 77 /* Styles for the milestone edit form */78 #edit fieldset { margin: 1em 0 }79 #edit em { color: #888; font-size: smaller }80 #edit .disabled em { color: #d7d7d7 }81 #edit .field { margin-top: 1.3em }82 #edit label { padding-left: .2em }83 #edit textarea#description { width: 97% } -
trac/htdocs/css/browser.css
1 #prefs { margin-top: -0.6em }2 * html #prefs { width: 34em } /* Set width only for IE */3 #prefs fieldset { margin: 0; }4 #prefs fieldset label { display: block }5 #prefs .buttons { margin-top: -2.3em }6 #prefs .choice {7 float: left;8 margin: 0 .6em 0 .3em;9 border-right: 1px dotted #d7d7d7;10 }11 12 #file-legend { margin-top: 3em; }13 14 /* Browser */15 h1 { margin: 0; padding: 0 0 .5em }16 h1 :link, h1 :visited, h1 .filename { border: none; padding: 0 .2em }17 h1 :link, h1 :visited { color: #b00 }18 h1 .first:link, h1 .first:visited { color: #998 }19 h1 .sep { color: #666; padding: 0 .1em }20 21 #jumprev, #jumploc { float: right; font-size: 10px; margin: 0 0 0.6em }22 #jumprev form, #jumploc form { margin: 0 }23 #jumprev input, #jumploc select, #jumploc input {24 font-size: 10px;25 margin: 0;26 }27 #jumploc div.buttons { margin: 0;}28 #jumploc { margin-right: 2em;}29 30 /* Browser file annotations */31 table.code { border-collapse: collapse; }32 table.code th.blame { width: 5em; }33 table.code th.blame a { color: #ddd; }34 35 div.message {36 background: #ccf;37 border: 2px ridge #999;38 margin: 0;39 padding: 8px;40 /* Note: border width and padding must be compensated for in the placement */41 }42 43 /* Styles for the directory entries table44 (extends the styles for "table.listing") */45 #dirlist { margin-top: 0 }46 #dirlist td.rev, #dirlist td.age, #dirlist td.change {47 color: #888;48 white-space: nowrap;49 vertical-align: baseline;50 }51 #dirlist td.rev {52 font-family: monospace;53 letter-spacing: -0.08em;54 font-size: 90%;55 text-align: right;56 }57 #dirlist td.size {58 color: #888;59 white-space: nowrap;60 text-align: right;61 vertical-align: middle;62 font-size: 70%;63 }64 #dirlist td.age {65 border-width: 0 0 2px 0;66 border-style: solid;67 font-size: 85%;68 }69 #dirlist td.name { width: 100% }70 #dirlist td.name a, #dirlist td.name span {71 background-position: 0% 50%;72 background-repeat: no-repeat;73 padding-left: 20px;74 }75 #dirlist td.name a.parent { background-image: url(../parent.png) }76 #dirlist td.name a.dir { background-image: url(../folder.png) }77 #dirlist td.name a.file { background-image: url(../file.png) }78 #dirlist td.name a, #dirlist td.rev a { border-bottom: none; display: block }79 #dirlist td.rev { text-align: right }80 #dirlist td.change { font-size: 85%; vertical-align: middle; white-space: nowrap }81 82 /* Style for the ''View Changes'' button and the diff preparation form */83 #anydiff { margin: 0 0 1em; float: left }84 #anydiff form, #anydiff div, #anydiff h2 { display: inline }85 #anydiff form th { text-align: right }86 #anydiff input { vertical-align: baseline; margin: 0 -0.5em 0 1em }87 @media print {88 #anydiff form { display: none }89 }90 91 /* Log */92 tr.diff input { padding: 0 1em; margin: 0 }93 94 @media print {95 th.diff, td.diff { display: none }96 }97 98 /* Styles for the revision log table (extends the styles for "table.listing") */99 #chglist { margin-top: 0 }100 #chglist td.change span {101 border: 1px solid #999;102 display: block;103 margin: .2em .5em 0 0;104 width: .8em; height: .8em;105 }106 #chglist td.diff { white-space: nowrap }107 #chglist td.change .comment { display: none }108 #chglist td.old_path { font-style: italic }109 #chglist td.date {110 font-size: 85%;111 vertical-align: top;112 padding-top: 0.55em;113 white-space: nowrap;114 }115 #chglist td.author { font-size: 85%; vertical-align: top; padding-top: 0.55em }116 #chglist td.rev, #chglist td.chgset {117 font-family: monospace;118 letter-spacing: -0.08em;119 font-size: 90%;120 text-align: right;121 }122 #chglist td.rev a, #chglist td.chgset a { border-bottom: none }123 #chglist td.summary {124 width: 100%;125 font-size: 85%;126 vertical-align: middle;127 white-space: nowrap128 }129 #chglist .verbose td.summary {130 border: none;131 color: #333;132 padding: .5em 1em 1em 2em;133 font-size: 90%;134 white-space: normal135 }136 137 #chglist td.summary * { margin-top: 0; margin-bottom: 0 }138 139 #paging { margin: 1em 0 }140 141 /* Styles for the revision info in the file view (see also trac.css) */142 #info { margin: 0; }143 #info .props {144 color: #666;145 list-style: square;146 margin: 0 0 .4em 1.6em;147 padding: 0;148 }149 #info .props li { padding: 0; overflow: auto; }150 151 /* Styles for the HTML preview */152 #preview { background: #fff; clear: both; margin: 0 }153 #preview .code-block { border-top: 1px solid #999; margin: 0 }154 #preview .image-file { overflow: hidden }155 #preview .image-file img { max-width: 100% } -
trac/htdocs/css/ticket.css
1 @import url(code.css);2 3 #content.ticket { width: 700px; max-width: 100% }4 5 #newticket #field-description { width: 100% }6 #newticket #properties { width: 100% }7 8 #ticket {9 background: #ffd;10 border: 1px outset #996;11 margin-top: 1em;12 padding: .5em 1em;13 position: relative;14 }15 16 div#ticket.ticketdraft {17 background: #f4f4f4 url(../draft.png);18 }19 .ticketdraft {20 background: #f4f4f4 url(../draft.png);21 border: 1px outset #996;22 padding: 0 .2em;23 }24 25 h1 .status { color: #444; text-transform: lowercase; }26 #ticket h2.summary { margin: 0 0 .8em 0 }27 #ticket .date { color: #996; float: right; font-size: 85%; position: relative }28 #ticket .date p { margin: 0 }29 30 #ticket table.properties {31 border-top: 1px solid #dd9;32 border-collapse: collapse;33 table-layout: fixed;34 width: 100%;35 }36 #ticket table.properties tr { border-bottom: 1px dotted #eed }37 #ticket table.properties td, #ticket table.properties th {38 font-size: 80%;39 padding: .5em 1em;40 vertical-align: top;41 }42 #ticket table.properties th {43 color: #663;44 font-weight: normal;45 text-align: left;46 width: 20%;47 }48 #ticket table.properties td { width: 30% }49 #ticket table.properties .description { border-top: 1px solid #dd9 }50 51 52 #ticket .description h3 {53 border-bottom: 1px solid #dd9;54 color: #663;55 font-size: 100%;56 font-weight: normal;57 }58 #ticket .description h3 .lastmod {59 font-size: 90%;60 }61 #ticket .inlinebuttons {62 float: right;63 position: relative;64 bottom: 0.3em;65 }66 67 #changelog { border: 1px outset #996; padding: 1em }68 #changelog h3 {69 border-bottom: 1px solid #d7d7d7;70 color: #999;71 font-size: 100%;72 font-weight: normal;73 }74 #changelog .threading, #changelog .inlinebuttons {75 float: right;76 position: relative;77 bottom: 0.3em;78 }79 80 #changelog .changes { list-style: square; margin-left: 2em; padding: 0 }81 #changelog .comment { margin-left: 2em }82 83 form .field { margin-top: .75em; width: 100% }84 form #comment { width: 100% }85 86 #properties { white-space: nowrap; line-height: 160%; padding: .5em }87 #properties table { border-spacing: 0; width: 100%; }88 #properties table th {89 padding: .4em;90 text-align: right;91 width: 20%;92 vertical-align: top;93 }94 #properties table th.col2 { border-left: 1px dotted #d7d7d7 }95 #properties table td { vertical-align: middle; width: 30% }96 #properties table td.fullrow { vertical-align: middle; width: 80% }97 98 #action { line-height: 2em }99 100 fieldset.radio { border: none; margin: 0; padding: 0 }101 fieldset.radio legend {102 color: #000;103 float: left;104 font-size: 100%;105 font-weight: normal;106 padding: 0 1em 0 0;107 }108 fieldset.radio label { padding-right: 1em } -
trac/templates/trac_site.html
1 <html xmlns="http://www.w3.org/1999/xhtml" 2 xmlns:py="http://genshi.edgewall.org/" 3 xmlns:xi="http://www.w3.org/2001/XInclude" py:strip=""> 4 <head py:match="head"> 5 ${select('*')} 6 <link rel="stylesheet" href="${trac.theme.get_chrome_url('css/tracstyle.css')}" /> 7 </head> 8 <body py:match="body"> 9 <div id="banner"> 10 <div id="header" py:choose=""> 11 <a py:when="chrome.logo.src" id="logo" href="${chrome.logo.link}"><img 12 src="${chrome.logo.src}" alt="${chrome.logo.alt}" /></a> 13 <h1 py:otherwise=""><a href="${chrome.logo.link}">${project.name}</a></h1> 14 </div> 15 ${select('form[@id="search"]')} 16 ${select('div[@id="metanav"]')} 17 </div> 18 ${select('div[@id="mainnav"]')} 19 20 <div id="main"> 21 <div id="x-trac"> 22 ${select('div[@id="main"]/*')} 23 ${select('div[@id="altlinks"]')} 24 </div> 25 </div> 26 27 ${select('div[@id="footer"]')} 28 </body> 29 </html> -
trac/templates/layout.html
36 36 </div> 37 37 38 38 <body py:match="body"> 39 <div id="banner"> 40 <div id="header" py:choose=""> 41 <a py:when="chrome.logo.src" id="logo" href="${chrome.logo.link}"><img 42 src="${chrome.logo.src}" alt="${chrome.logo.alt}" /></a> 43 <h1 py:otherwise=""><a href="${chrome.logo.link}">${project.name}</a></h1> 44 </div> 45 <form py:if="'SEARCH_VIEW' in perm" id="search" 46 action="${href.search()}" method="get"><div> 47 <label for="proj-search">Search:</label> 48 <input type="text" id="proj-search" name="q" size="18" accesskey="f" value="" /> 49 <input type="submit" value="Search" /> 50 <input type="hidden" name="wiki" value="on" /> 51 <input type="hidden" name="changeset" value="on" /> 52 <input type="hidden" name="ticket" value="on" /> 53 </div></form> 54 ${navigation('metanav')} 55 </div> 39 40 <form py:if="'SEARCH_VIEW' in perm" id="search" 41 action="${href.search()}" method="get"><div> 42 <label for="proj-search">Search:</label> 43 <input type="text" id="proj-search" name="q" size="18" accesskey="f" value="" /> 44 <input type="submit" value="Search" /> 45 <input type="hidden" name="wiki" value="on" /> 46 <input type="hidden" name="changeset" value="on" /> 47 <input type="hidden" name="ticket" value="on" /> 48 </div></form> 49 50 ${navigation('metanav')} 56 51 ${navigation('mainnav')} 57 52 58 53 <div id="main"> … … 65 60 </script> 66 61 <script py:for="script in chrome.late_scripts" 67 62 type="${script.type}" src="${script.href}"></script> 63 </div> 68 64 69 <div id="altlinks" py:if="'alternate' in chrome.links"> 70 <h3>Download in other formats:</h3> 71 <ul> 72 <li py:for="idx, link in enumerate(chrome.links.alternate)" 73 class="${first_last(idx, chrome.links.alternate)}"> 74 <a rel="nofollow" href="${link.href}" class="${link['class']}" 75 py:content="link.title" /> 76 </li> 77 </ul> 78 </div> 65 <div id="altlinks" py:if="'alternate' in chrome.links"> 66 <h3>Download in other formats:</h3> 67 <ul> 68 <li py:for="idx, link in enumerate(chrome.links.alternate)" 69 class="${first_last(idx, chrome.links.alternate)}"> 70 <a rel="nofollow" href="${link.href}" class="${link['class']}" 71 py:content="link.title" /> 72 </li> 73 </ul> 79 74 </div> 80 75 81 76 <div id="footer"><hr/> … … 90 85 </div> 91 86 </body> 92 87 93 <xi:include href=" site.html"><xi:fallback /></xi:include>88 <xi:include href="${trac.theme.get_theme_site_template()}"><xi:fallback /></xi:include> 94 89 95 90 </html> -
trac/templates/jinja_site.html
1 <html xmlns="http://www.w3.org/1999/xhtml" 2 xmlns:py="http://genshi.edgewall.org/" 3 xmlns:xi="http://www.w3.org/2001/XInclude" py:strip=""> 4 <head py:match="head"> 5 ${select('*')} 6 <link rel="stylesheet" href="http://jinja.pocoo.org/static/style.css" type="text/css" /> 7 <link rel="stylesheet" href="${trac.theme.get_chrome_url('css/jinjastyle.css')}" type="text/css" /> 8 </head> 9 <body py:match="body"> 10 <div id="header"> 11 <h1><span>Jinja</span></h1> 12 </div> 13 <ul id="navigation"> 14 <li><a href="/">Index</a></li> 15 <li><a href="/faq">FAQ</a></li> 16 <li><a href="/documentation/">Documentation</a></li> 17 <li><a href="/download">Download</a></li> 18 <li><a href="/contribute">Contribute</a></li> 19 <li class="active"><a href="/trac/">Trac</a></li> 20 </ul> 21 <div id="content"> 22 <div id="contentwrapper"> 23 ${select('div[@id="mainnav"]')} 24 <div id="x-trac"> 25 ${select('div[@id="main"]/*')} 26 ${select('div[@id="altlinks"]')} 27 </div> 28 </div> 29 </div> 30 <div id="footer"> 31 © Copyright 2007 by the <a href="http://www.pocoo.org/">Pocoo</a> Team. 32 </div> 33 </body> 34 </html> -
trac/web/theming.py
1 # -*- coding: utf-8 -*- 2 # 3 # Copyright (C) 2004-2007 Edgewall Software 4 # Copyright (C) 2007 Armin Ronacher <armin.ronacher@active-4.com> 5 # All rights reserved. 6 # 7 # This software is licensed as described in the file COPYING, which 8 # you should have received as part of this distribution. The terms 9 # are also available at http://trac.edgewall.org/wiki/TracLicense. 10 # 11 # This software consists of voluntary contributions made by many 12 # individuals. For the exact contribution history, see the revision 13 # history and logs, available at http://trac.edgewall.org/log/. 14 # 15 # Author: Armin Ronacher <armin.ronacher@active-4.com> 16 17 from trac.core import Interface, Component, implements 18 19 20 class IThemeProvider(Interface): 21 """ 22 The interface for all theme providers. Pretty basic, 23 just provides the most important things 24 """ 25 26 def get_theme_htdocs_name(): 27 """ 28 Return the name of the htdocs folder. Every theme 29 can implement the `ITemplateProvider` in order to 30 get it's own theme folder, however there are two 31 special ones: 32 33 - `common` the trac htdocs folder 34 - `site` the htdocs folder in the trac instance 35 """ 36 37 def get_theme_site_template(): 38 """ 39 Return the name of the theme site template that is 40 used. The site template places the interface 41 elements and overrides them. 42 """ 43 44 45 class CustomTheme(Component): 46 implements(IThemeProvider) 47 48 # IThemeProvider 49 def get_theme_htdocs_id(self): 50 return 'site' 51 52 def get_theme_site_template(self): 53 return 'site.html' 54 55 56 class TracTheme(Component): 57 implements(IThemeProvider) 58 59 # IThemeProvider 60 def get_theme_htdocs_id(self): 61 return 'common' 62 63 def get_theme_site_template(self): 64 return 'trac_site.html' 65 66 67 class JinjaTheme(Component): 68 implements(IThemeProvider) 69 #XXX: temporary, just too lazy to create a plugin 70 71 def get_theme_htdocs_id(self): 72 return 'common' 73 74 def get_theme_site_template(self): 75 return 'jinja_site.html' 76 77 78 class ThemeController(object): 79 """ 80 Class passed to the templates in order to help the 81 designer. 82 """ 83 84 def __init__(self, req, theme): 85 self.req = req 86 self.theme = theme 87 88 def get_chrome_url(self, *files): 89 return self.req.href.chrome(self.theme.get_theme_htdocs_id(), *files) 90 91 def get_theme_site_template(self): 92 return self.theme.get_theme_site_template() -
trac/web/chrome.py
43 43 from trac.web.href import Href 44 44 from trac.wiki import IWikiSyntaxProvider 45 45 from trac.wiki.formatter import format_to_html, format_to_oneliner 46 from trac.web.theming import ThemeController, IThemeProvider 46 47 47 48 48 49 def add_link(req, rel, href, title=None, mimetype=None, classname=None): … … 165 166 166 167 (''since 0.11'')""") 167 168 169 theme = ExtensionOption('trac', 'theme', 170 IThemeProvider, 'TracTheme', 171 """Name of the theme trac should use.""") 172 168 173 auto_reload = Option('trac', 'auto_reload', False, 169 174 """Automatically reload template files after modification.""") 170 175 … … 253 258 try: 254 259 fileobj.write("""<html xmlns="http://www.w3.org/1999/xhtml" 255 260 xmlns:py="http://genshi.edgewall.org/" py:strip=""> 256 <!-- Custom match templates go here --> 261 <!-- Custom match templates go here 262 If you modify this template you have to set `trac.theme` to 263 `CustomTheme` in your trac.ini --> 257 264 </html>""") 258 265 finally: 259 266 fileobj.close() … … 363 370 add_link(fakereq, 'icon', src, mimetype=mimetype) 364 371 add_link(fakereq, 'shortcut icon', src, mimetype=mimetype) 365 372 373 366 374 # Logo image 367 375 chrome['logo'] = self.get_logo_data(req.href) 368 376 … … 460 468 'version': VERSION, 461 469 'homepage': 'http://trac.edgewall.org/', # FIXME: use setup data 462 470 'systeminfo': self.env.systeminfo, 471 'theme': ThemeController(req, self.theme) 463 472 } 464 473 d['project'] = { 465 474 'name': self.env.project_name,
