Mercurial > kallithea
changeset 144:ea89ac73bef8
Update css +file browsing and diffs
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sun, 09 May 2010 17:35:51 +0200 |
parents | 787689980bcd |
children | 3f01d02c2cc6 |
files | pylons_app/public/css/diff.css pylons_app/public/css/monoblue_custom.css pylons_app/public/css/pygments.css pylons_app/public/css/pygments_diff.css pylons_app/templates/files/file_diff.html pylons_app/templates/files/files_browser.html pylons_app/templates/files/files_source.html |
diffstat | 7 files changed, 601 insertions(+), 566 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pylons_app/public/css/diff.css Sun May 09 17:35:51 2010 +0200 @@ -0,0 +1,95 @@ +div.diffblock { + overflow: auto; + padding: 0px; + border: 1px solid #ccc; + background: #f8f8f8; + font-size: 100%; + line-height: 100%; + /* new */ + line-height: 125%; +} +div.diffblock .code-header{ + border-bottom: 1px solid #CCCCCC; + background: #EEEEEE; + color:blue; + padding:10px 0 10px 0; +} +div.diffblock .code-header span{ + margin-left:25px; + font-weight: bold; +} +div.diffblock .code-body{ + background: #EEEEEE; +} + +.code-difftable{ + border-collapse: collapse; +} +.code-difftable .add{ + background:none repeat scroll 0 0 #DDFFDD; +} +.code-difftable .add ins{ + background:none repeat scroll 0 0 #AAFFAA; + text-decoration:none; +} + +.code-difftable .del{ + background:none repeat scroll 0 0 #FFDDDD; +} +.code-difftable .del del{ + background:none repeat scroll 0 0 #FFAAAA; + text-decoration:none; +} + +.code-difftable .lineno{ + background:none repeat scroll 0 0 #EEEEEE !important; + border-right:1px solid #DDDDDD; + padding-left:2px; + padding-right:2px; + text-align:right; + width:20px; + -moz-user-select:none; + -webkit-user-select: none; +} +.code-difftable .lineno pre{ + color:#747474 !important; + font:11px "Bitstream Vera Sans Mono",Monaco,"Courier New",Courier,monospace !important; + letter-spacing:-1px; + text-align:right; + width:20px; +} +.code-difftable .lineno a{ + color:#0000CC !important; +} +.code-difftable .code td{ + margin:0; + padding: 0; +} +.code-difftable .code pre{ + margin:0; + padding:0; +} + + +.code { + display: block; + width: 100%; +} +.code-diff { + padding: 0px; + margin-top: 5px; + margin-bottom: 5px; + border-left: 2px solid #ccc; +} +.code-diff pre, .line pre { + padding: 3px; + margin: 0; +} +.lineno a { + text-decoration: none; +} + +.line{ + padding:0; + margin:0; +} \ No newline at end of file
--- a/pylons_app/public/css/monoblue_custom.css Sun May 09 17:23:11 2010 +0200 +++ b/pylons_app/public/css/monoblue_custom.css Sun May 09 17:35:51 2010 +0200 @@ -1,442 +1,420 @@ /*** Initial Settings ***/ -* { - margin: 0; - padding: 0; - font-weight: normal; - font-style: normal; -} - -html { - font-size: 100%; - font-family: sans-serif; -} - -body { - font-size: 77%; - margin: 15px 50px; - background: #DBD4C6; +#mainhtml{ + margin: 15px 50px; + background: #DBD4C6; + font-family: sans-serif; } a { - color:#0000cc; - text-decoration: none; + color: #0000cc; + text-decoration: none; } -/*** end of Initial Settings ***/ - +a:HOVER{ + text-decoration: underline; +} +/*** end of Initial Settings ***/ /** common settings **/ +div#main { + padding: 5px; +} -/** common settings **/ -div#main{ -padding:5px; -} div#container { - background: #FFFFFF; - position: relative; - color: #666; + background: #FFFFFF; + position: relative; + color: #666; } div.page-header { - padding: 50px 20px 0; - background: #556cb5 top left repeat-x; - position: relative; + padding: 50px 20px 0; + background: #556cb5 top left repeat-x; + position: relative; +} + +div.page-header h1 { + margin: 10px 0 30px; + font-size: 1.8em; + font-weight: bold; + font-family: sans-serif; + letter-spacing: 1px; + color: #DDD; +} + +div.page-header h1 a { + font-weight: bold; + color: #FFF; } - div.page-header h1 { - margin: 10px 0 30px; - font-size: 1.8em; - font-weight: bold; - font-family: sans-serif; - letter-spacing: 1px; - color: #DDD; - } - div.page-header h1 a { - font-weight: bold; - color: #FFF; - } - div.page-header a { - text-decoration: none; - } + +div.page-header a { + text-decoration: none; +} + +div.page-header form { + position: absolute; + margin-bottom: 2px; + bottom: 0; + right: 20px; +} + +div.page-header form label { + color: #DDD; +} + +div.page-header form input { + padding: 2px; + border: solid 1px #DDD; +} + +div.page-header form dl { + overflow: hidden; +} - div.page-header form { - position: absolute; - margin-bottom: 2px; - bottom: 0; - right: 20px; - } - div.page-header form label { - color: #DDD; - } - div.page-header form input { - padding: 2px; - border: solid 1px #DDD; - } - div.page-header form dl { - overflow: hidden; - } - div.page-header form dl dt { - font-size: 1.2em; - } - div.page-header form dl dt, - div.page-header form dl dd { - margin: 0 0 0 5px; - float: left; - height: 24px; - line-height: 20px; - } +div.page-header form dl dt { + font-size: 1.2em; +} + +div.page-header form dl dt,div.page-header form dl dd { + margin: 0 0 0 5px; + float: left; + height: 24px; + line-height: 20px; +} + +ul.page-nav { + margin: 10px 0 0 0; + list-style-type: none; + overflow: hidden; + width: 800px; + padding: 0; +} - ul.page-nav { - margin: 10px 0 0 0; - list-style-type: none; - overflow: hidden; - width: 800px; - } - ul.page-nav li { - margin: 0 2px 0 0; - float: left; - height: 24px; - font-size: 1.1em; - line-height: 24px; - text-align: center; - } - ul.page-nav li.current { - background: #FFF; - padding-right:5px; - padding-left:5px; - } - ul.page-nav li a { - height: 24px; - color: #666; - padding-right:5px; - padding-left:5px; - background: #DDD; - display: block; - text-decoration: none; - } - ul.page-nav li a:hover { - color:#333; - background: #FFF; - } +ul.page-nav li { + margin: 0 2px 0 0; + float: left; + height: 24px; + font-size: 1.1em; + line-height: 24px; + text-align: center; + background: #DDD; +} + +ul.page-nav li.current { + background: #FFF; + padding-right: 5px; + padding-left: 5px; +} + +ul.page-nav li a { + height: 24px; + color: #666; + padding-right: 5px; + padding-left: 5px; + display: block; + text-decoration: none; +} + +ul.page-nav li a:hover { + color: #333; + background: #FFF; +} ul.submenu { - margin: 10px 0 -10px 20px; - list-style-type: none; + margin: 10px 0 -10px 20px; + list-style-type: none; } + ul.submenu li { - margin: 0 10px 0 0; - font-size: 1.2em; - display: inline; + margin: 0 10px 0 0; + font-size: 1.2em; + display: inline; } h2 { - margin: 20px 0 10px; - height: 30px; - line-height: 30px; - text-indent: 20px; - background: #FFF; - font-size: 1.2em; - border-top: dotted 1px #D5E1E6; - font-weight: bold; + margin: 20px 0 10px; + height: 30px; + line-height: 30px; + text-indent: 20px; + background: #FFF; + font-size: 1.2em; + border-top: dotted 1px #D5E1E6; + font-weight: bold; } + h2.no-link { - color:#006699; + color: #006699; } + h2.no-border { - color: #FFF; - background: #556CB5; - border: 0; + color: #FFF; + background: #556CB5; + border: 0; } + h2 a { - font-weight:bold; - color:#006699; + font-weight: bold; + color: #006699; } div.page-path { - text-align: right; - padding: 20px 30px 10px 0; - border:solid #d9d8d1; - border-width:0px 0px 1px; - font-size: 1.2em; + text-align: right; + padding: 20px 30px 10px 0; + border: solid #d9d8d1; + border-width: 0px 0px 1px; + font-size: 1.2em; } div.page-footer { - margin: 50px 0 0; - position: relative; + margin: 50px 0 0; + position: relative; } - div.page-footer p { - position: relative; - left: 20px; - bottom: 5px; - font-size: 1.2em; - } + +div.page-footer p { + position: relative; + left: 20px; + bottom: 5px; + font-size: 1.2em; +} + +ul.rss-logo { + position: absolute; + top: -10px; + right: 20px; + height: 20px; + list-style-type: none; +} - ul.rss-logo { - position: absolute; - top: -10px; - right: 20px; - height: 20px; - list-style-type: none; - } - ul.rss-logo li { - display: inline; - } - ul.rss-logo li a { - padding: 3px 6px; - line-height: 10px; - border:1px solid; - border-color:#fcc7a5 #7d3302 #3e1a01 #ff954e; - color:#ffffff; - background-color:#ff6600; - font-weight:bold; - font-family:sans-serif; - font-size:10px; - text-align:center; - text-decoration:none; - } - div.rss-logo li a:hover { - background-color:#ee5500; - } +ul.rss-logo li { + display: inline; +} + +ul.rss-logo li a { + padding: 3px 6px; + line-height: 10px; + border: 1px solid; + border-color: #fcc7a5 #7d3302 #3e1a01 #ff954e; + color: #ffffff; + background-color: #ff6600; + font-weight: bold; + font-family: sans-serif; + font-size: 10px; + text-align: center; + text-decoration: none; +} + +div.rss-logo li a:hover { + background-color: #ee5500; +} p.normal { - margin: 20px 0 20px 30px; - font-size: 1.2em; + margin: 20px 0 20px 30px; + font-size: 1.2em; } -table { - margin: 0 0 0 0; - border-collapse: collapse; -} -/* -table tr td { - font-size: 1.1em; -} -table tr td.nowrap { - white-space: nowrap; -} -*/ table tr.parity0:hover,table tr.parity1:hover { - background: #D5E1E6; + background: #D5E1E6; } table tr.parity0 { - background: #EAEAE9; -} -table tr.parity1 { - background: #FFFFFF; + background: #EAEAE9; } -table tr td { - padding: 3px 3px; -} -table.annotated tr td { - padding: 0px 3px; + +table tr.parity1 { + background: #FFFFFF; } span.logtags span { - background-repeat:no-repeat; - height:16px; - padding-left:20px; - padding-top:0px; - text-align:left; + background-repeat: no-repeat; + height: 16px; + padding-left: 20px; + padding-top: 0px; + text-align: left; font-weight: bold; } + span.logtags span.tagtag { - background-image:url("/images/label_16.png"); + background-image: url("/images/label_16.png"); } + span.logtags span.branchtag { - background-image:url("/images/left_16.png"); + background-image: url("/images/left_16.png"); color: #628F53; } + span.logtags span.inbranchtag { - background-image:url("/images/left_16.png"); + background-image: url("/images/left_16.png"); } div.diff pre { - margin: 10px 0 0 0; + margin: 10px 0 0 0; } + div.diff pre span { - font-family: monospace; - white-space: pre; - font-size: 1.2em; - padding: 3px 0; + font-family: monospace; + white-space: pre; + font-size: 1.2em; + padding: 3px 0; } + td.source { - white-space: pre; - font-family: monospace; - margin: 10px 30px 0; - font-size: 1.2em; - font-family: monospace; + white-space: pre; + font-family: monospace; + margin: 10px 30px 0; + font-size: 1.2em; + font-family: monospace; +} + +div.source div.parity0,div.source div.parity1 { + padding: 1px; + font-size: 1.2em; } - div.source div.parity0, - div.source div.parity1 { - padding: 1px; - font-size: 1.2em; - } - div.source div.parity0 { - background: #F1F6F7; - } - div.source div.parity1 { - background: #FFFFFF; - } -div.parity0:hover, -div.parity1:hover { - background: #D5E1E6; + +div.source div.parity0 { + background: #F1F6F7; +} + +div.source div.parity1 { + background: #FFFFFF; +} + +div.parity0:hover,div.parity1:hover { + background: #D5E1E6; } + .linenr { - color: #999; - text-align: right; + color: #999; + text-align: right; } + .lineno { - text-align: right; + text-align: right; } + .lineno a { - color: #999; + color: #999; } + td.linenr { - width: 60px; + width: 60px; } div#powered-by { - position: absolute; - width: 75px; - top: 15px; - right: 20px; - font-size: 1.2em; -} -div#powered-by a { - color: #EEE; - text-decoration: none; -} -div#powered-by a:hover { - text-decoration: underline; + position: absolute; + width: 75px; + top: 15px; + right: 20px; + font-size: 1.2em; } -/* -div#monoblue-corner-top-left { - position: absolute; - top: 0; - left: 0; - width: 10px; - height: 10px; - background: url(./monoblue-corner.png) top left no-repeat !important; - background: none; + +div#powered-by a { + color: #EEE; + text-decoration: none; } -div#monoblue-corner-top-right { - position: absolute; - top: 0; - right: 0; - width: 10px; - height: 10px; - background: url(./monoblue-corner.png) top right no-repeat !important; - background: none; + +div#powered-by a:hover { + text-decoration: underline; } -div#monoblue-corner-bottom-left { - position: absolute; - bottom: 0; - left: 0; - width: 10px; - height: 10px; - background: url(./monoblue-corner.png) bottom left no-repeat !important; - background: none; -} -div#monoblue-corner-bottom-right { - position: absolute; - bottom: 0; - right: 0; - width: 10px; - height: 10px; - background: url(./monoblue-corner.png) bottom right no-repeat !important; - background: none; + +dl.overview { + margin: 0 0 0 30px; + font-size: 1.1em; + overflow: hidden; } -*/ -/** end of common settings **/ -/** summary **/ -dl.overview { - margin: 0 0 0 30px; - font-size: 1.1em; - overflow: hidden; +dl.overview dt,dl.overview dd { + margin: 5px 0; + float: left; } - dl.overview dt, - dl.overview dd { - margin: 5px 0; - float: left; - } - dl.overview dt { - clear: left; - font-weight: bold; - width: 150px; - } -/** end of summary **/ + +dl.overview dt { + clear: left; + font-weight: bold; + width: 150px; +} + +/** end of summary **/ /** chagelog **/ h3.changelog { - margin: 20px 0 5px 30px; - padding: 0 0 2px; - font-size: 1.4em; - border-bottom: dotted 1px #D5E1E6; + margin: 20px 0 5px 30px; + padding: 0 0 2px; + font-size: 1.4em; + border-bottom: dotted 1px #D5E1E6; } + ul.changelog-entry { - margin: 0 0 10px 30px; - list-style-type: none; - position: relative; + margin: 0 0 10px 30px; + list-style-type: none; + position: relative; } + ul.changelog-entry li span.revdate { - font-size: 1.1em; + font-size: 1.1em; } + ul.changelog-entry li.age { - position: absolute; - top: -25px; - right: 10px; - font-size: 1.4em; - color: #CCC; - font-weight: bold; - font-style: italic; + position: absolute; + top: -25px; + right: 10px; + font-size: 1.4em; + color: #CCC; + font-weight: bold; + font-style: italic; } + ul.changelog-entry li span.name { - font-size: 1.2em; - font-weight: bold; + font-size: 1.2em; + font-weight: bold; } + ul.changelog-entry li.description { - margin: 10px 0 0; - font-size: 1.1em; + margin: 10px 0 0; + font-size: 1.1em; } -/** end of changelog **/ + +/** end of changelog **/ /** file **/ p.files { - margin: 0 0 0 20px; - font-size: 2.0em; - font-weight: bold; + margin: 0 0 0 20px; + font-size: 2.0em; + font-weight: bold; } -/** end of file **/ + +/** end of file **/ /** changeset **/ h3.changeset { - margin: 20px 0 5px 20px; - padding: 0 0 2px; - font-size: 1.6em; - border-bottom: dotted 1px #D5E1E6; + margin: 20px 0 5px 20px; + padding: 0 0 2px; + font-size: 1.6em; + border-bottom: dotted 1px #D5E1E6; } + p.changeset-age { - position: relative; + position: relative; } + p.changeset-age span { - position: absolute; - top: -25px; - right: 10px; - font-size: 1.4em; - color: #CCC; - font-weight: bold; - font-style: italic; + position: absolute; + top: -25px; + right: 10px; + font-size: 1.4em; + color: #CCC; + font-weight: bold; + font-style: italic; } + p.description { - margin: 10px 30px 0 30px; - padding: 10px; - border: solid 1px #CCC; - font-size: 1.2em; + margin: 10px 30px 0 30px; + padding: 10px; + border: solid 1px #CCC; + font-size: 1.2em; } -/** end of changeset **/ + +/** end of changeset **/ /** canvas **/ div#wrapper { position: relative; - font-size: 1.2em; + font-size: 1.2em; } canvas { @@ -446,11 +424,11 @@ } ul#nodebgs li.parity0 { - background: #F1F6F7; + background: #F1F6F7; } ul#nodebgs li.parity1 { - background: #FFFFFF; + background: #FFFFFF; } ul#graphnodes { @@ -464,7 +442,7 @@ list-style: none inside none; } -ul#graphnodes li, ul#nodebgs li { +ul#graphnodes li,ul#nodebgs li { height: 39px; } @@ -472,72 +450,109 @@ display: block; position: relative; } + /** end of canvas **/ -table.code-browser{ - +/* FILE BROWSER */ +div.browserblock { + overflow: hidden; + padding: 0px; + border: 1px solid #ccc; + background: #f8f8f8; + font-size: 100%; + line-height: 100%; + /* new */ + line-height: 125%; } -table.code-browser thead th { - background-color:#EEEEEE; - border:1px solid #999999; - height:20px; - font-size: 1.1em; +div.browserblock .browser-header{ + border-bottom: 1px solid #CCCCCC; + background: #EEEEEE; + color:blue; + padding:10px 0 10px 0; +} +div.browserblock .browser-header span{ + margin-left:25px; font-weight: bold; } -table.code-browser tbody td { - border:1px solid #999999; - height:20px; +div.browserblock .browser-body{ + background: #EEEEEE; } -.info-table { - background:none repeat scroll 0 0 #FAFAFA; - border-bottom:1px solid #DDDDDD; - width:100%; + +table.code-browser { + border-collapse:collapse; +} +table.code-browser tr{ + margin:3px; } -.rss_logo{ - background-image:url("/images/feed.png"); - background-repeat:no-repeat; - display:block; - height:16px; - padding-left:20px; - padding-top:0px; - text-align:left; + +table.code-browser thead th { + background-color: #EEEEEE; + height: 20px; + font-size: 1.1em; + font-weight: bold; + text-align: center; +} +table.code-browser tbody tr { } -.atom_logo{ - background-image:url("/images/atom.png"); - background-repeat:no-repeat; - display:block; - height:16px; - padding-left:20px; - padding-top:0px; - text-align:left; + +table.code-browser tbody td { + padding-left:10px; + height: 20px; } -.browser-file { - background-image:url("/images/document_16.png"); - background-repeat:no-repeat; - display:block; - height:16px; - padding-left:20px; - padding-top:0px; - text-align:left; + +.info-table { + background: none repeat scroll 0 0 #FAFAFA; + border-bottom: 1px solid #DDDDDD; + width: 100%; } -.browser-dir { - background-image:url("/images/folder_16.png"); - background-repeat:no-repeat; - display:block; - height:16px; - padding-left:20px; - padding-top:0px; - text-align:left; + +.rss_logo { + background-image: url("/images/feed.png"); + background-repeat: no-repeat; + display: block; + height: 16px; + padding-left: 20px; + padding-top: 0px; + text-align: left; } -.current_submenu{ - border-bottom: 2px solid; +.atom_logo { + background-image: url("/images/atom.png"); + background-repeat: no-repeat; + display: block; + height: 16px; + padding-left: 20px; + padding-top: 0px; + text-align: left; +} +.browser-file { + background-image: url("/images/document_16.png"); + background-repeat: no-repeat; + display: block; + height: 16px; + padding-left: 20px; + padding-top: 0px; + text-align: left; } -#repos_list{ -border:1px solid #556CB5; -background: #FFFFFF; +.browser-dir { + background-image: url("/images/folder_16.png"); + background-repeat: no-repeat; + display: block; + height: 16px; + padding-left: 20px; + padding-top: 0px; + text-align: left; +} + +.current_submenu { + border-bottom: 2px solid; +} + +#repos_list { + border: 1px solid #556CB5; + background: #FFFFFF; } \ No newline at end of file
--- a/pylons_app/public/css/pygments.css Sun May 09 17:23:11 2010 +0200 +++ b/pylons_app/public/css/pygments.css Sun May 09 17:35:51 2010 +0200 @@ -8,6 +8,16 @@ /* new */ line-height: 125%; } +div.codeblock .code-header{ + border-bottom: 1px solid #CCCCCC; + background: #EEEEEE; + color:blue; + padding:10px 0 10px 0; +} +div.codeblock .code-header span{ + margin-left:25px; + font-weight: bold; +} .code-highlight { padding: 0px;
--- a/pylons_app/public/css/pygments_diff.css Sun May 09 17:23:11 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,87 +0,0 @@ -div.codeblock { - overflow: auto; - padding: 0px; - border: 1px solid #ccc; - background: #f8f8f8; - font-size: 100%; - line-height: 100%; - /* new */ - line-height: 125%; -} - -.code-diff { - padding: 0px; - margin-top: 5px; - margin-bottom: 5px; - border-left: 2px solid #ccc; -} -.code-diff pre, .linenodiv pre { - padding: 5px; - margin: 0; -} -.linenos a { text-decoration: none; } - - -.code { display: block;} - -.code-diff .hll { background-color: #ffffcc } -.code-diff { background: #ffffff; } -.code-diff .c { color: #888888 } /* Comment */ -.code-diff .err { color: #a61717; background-color: #e3d2d2 } /* Error */ -.code-diff .k { color: #008800; font-weight: bold } /* Keyword */ -.code-diff .cm { color: #888888 } /* Comment.Multiline */ -.code-diff .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ -.code-diff .c1 { color: #888888 } /* Comment.Single */ -.code-diff .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ -.code-diff .gd { color: #000000; background-color: #ffdddd;width: 300px } /* Generic.Deleted */ -.code-diff .ge { font-style: italic } /* Generic.Emph */ -.code-diff .gr { color: #aa0000 } /* Generic.Error */ -.code-diff .gh { color: #303030 } /* Generic.Heading */ -.code-diff .gi { color: #000000; background-color: #ddffdd;width: 100% } /* Generic.Inserted */ -.code-diff .go { color: #888888 } /* Generic.Output */ -.code-diff .gp { color: #555555 } /* Generic.Prompt */ -.code-diff .gs { font-weight: bold } /* Generic.Strong */ -.code-diff .gu { color: #606060 } /* Generic.Subheading */ -.code-diff .gt { color: #aa0000 } /* Generic.Traceback */ -.code-diff .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ -.code-diff .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ -.code-diff .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ -.code-diff .kp { color: #008800 } /* Keyword.Pseudo */ -.code-diff .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ -.code-diff .kt { color: #888888; font-weight: bold } /* Keyword.Type */ -.code-diff .m { color: #0000DD; font-weight: bold } /* Literal.Number */ -.code-diff .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ -.code-diff .na { color: #336699 } /* Name.Attribute */ -.code-diff .nb { color: #003388 } /* Name.Builtin */ -.code-diff .nc { color: #bb0066; font-weight: bold } /* Name.Class */ -.code-diff .no { color: #003366; font-weight: bold } /* Name.Constant */ -.code-diff .nd { color: #555555 } /* Name.Decorator */ -.code-diff .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ -.code-diff .nf { color: #0066bb; font-weight: bold } /* Name.Function */ -.code-diff .nl { color: #336699; font-style: italic } /* Name.Label */ -.code-diff .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ -.code-diff .py { color: #336699; font-weight: bold } /* Name.Property */ -.code-diff .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ -.code-diff .nv { color: #336699 } /* Name.Variable */ -.code-diff .ow { color: #008800 } /* Operator.Word */ -.code-diff .w { color: #bbbbbb } /* Text.Whitespace */ -.code-diff .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ -.code-diff .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ -.code-diff .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ -.code-diff .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ -.code-diff .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ -.code-diff .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ -.code-diff .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ -.code-diff .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ -.code-diff .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ -.code-diff .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ -.code-diff .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ -.code-diff .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ -.code-diff .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ -.code-diff .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ -.code-diff .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ -.code-diff .bp { color: #003388 } /* Name.Builtin.Pseudo */ -.code-diff .vc { color: #336699 } /* Name.Variable.Class */ -.code-diff .vg { color: #dd7700 } /* Name.Variable.Global */ -.code-diff .vi { color: #3333bb } /* Name.Variable.Instance */ -.code-diff .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
--- a/pylons_app/templates/files/file_diff.html Sun May 09 17:23:11 2010 +0200 +++ b/pylons_app/templates/files/file_diff.html Sun May 09 17:35:51 2010 +0200 @@ -22,50 +22,38 @@ </%def> <%def name="css()"> <link rel="stylesheet" href="/css/monoblue_custom.css" type="text/css" /> -<link rel="stylesheet" href="/css/pygments_diff.css" type="text/css" /> +<link rel="stylesheet" href="/css/diff.css" type="text/css" /> </%def> -<div></div> <%def name="main()"> - <h2 class="no-link no-border">${'%s: %s@%s %s %s' % (_('File diff'),c.f_path,c.diff2,'→',c.diff1)|n}</h2> - <div id="files_data"> - <div id="body" class="codeblock"> - ${h.pygmentize(c.diff,linenos=True,anchorlinenos=True,cssclass="code-diff")} - </div> + <h2 class="no-link no-border">${'%s: %s %s %s' % (_('File diff'),c.diff2,'→',c.diff1)|n}</h2> +<div id="body" class="diffblock"> + <div class="code-header"> + <span>${h.link_to(c.f_path,h.url('files_home',repo_name=c.repo_name,revision=c.diff2.split(':')[1],f_path=c.f_path))}</span> </div> - <div style="clear:both"></div> - <div id="files_data"> - <div id="body" class="codeblock"> - <table class='highlighttable'> - %for x in c.diff_2[0]['chunks']: - %for y in x: - <tr class="line ${y['action']}"> - <td class="lineno_new"> - <div class="linenodiv"> - <pre> - ${y['new_lineno']} - </pre> - </div> - </td> - <td class="lineno_old"> - <div class="linenodiv"> - <pre> - ${y['old_lineno']} - </pre> - </div> - </td> - <td class="code"> - <div class="code-diff"> - <pre> - <span> - ${y} - </span> - </pre> - </div> - </td> - </tr> - %endfor$ - %endfor - </table> - </div> - </div> + <div class="code-body"> + %if c.no_changes: + ${_('No changes')} + %else: + <table class='code-difftable'> + %for diff in c.diff_files: + %for x in diff['chunks']: + %for y in x: + <tr class="line ${y['action']}"> + <td id="#${diff['filename']}_N${y['new_lineno']}"class="lineno new"> + <pre><a href="#${diff['filename']}_N${y['new_lineno']}">${y['new_lineno']}</a></pre> + </td> + <td id="#${diff['filename']}_O${y['old_lineno']}" class="lineno old"> + <pre><a href="#${diff['filename']}_O${y['old_lineno']}">${y['old_lineno']}</a></pre> + </td> + <td class="code"> + <pre>${y['line']|n}</pre> + </td> + </tr> + %endfor$ + %endfor + %endfor + </table> + %endif + </div> +</div> </%def> \ No newline at end of file
--- a/pylons_app/templates/files/files_browser.html Sun May 09 17:23:11 2010 +0200 +++ b/pylons_app/templates/files/files_browser.html Sun May 09 17:35:51 2010 +0200 @@ -5,53 +5,62 @@ <%return "browser-dir"%> %endif </%def> - -<table class="code-browser"> - <thead> - <tr> - <th class="width-50 lefted">${_('Name')}</th> - <th class="width-10 righted">${_('Size')}</th> - <th class="width-10 righted">${_('Revision')}</th> - <th class="width-15 righted">${_('Last modified')}</th> - <th class="width-15 righted">${_('Last commiter')}</th> - </tr> - </thead> - <tr> - % if c.files_list.parent: - <td> - ${h.link_to('..',h.url('files_home',repo_name=c.repo_name,revision=c.cur_rev,f_path=c.files_list.parent),class_="browser-dir")} - </td> - <td></td> - <td></td> - <td></td> - <td></td> - %endif - </tr> - %for cnt,node in enumerate(c.files_list): - <tr class="parity${cnt%2}"> - <td> - ${h.link_to(node.name,h.url('files_home',repo_name=c.repo_name,revision=c.cur_rev,f_path=node.path),class_=file_class(node))} - </td> - <td> - %if node.is_file(): - ${h.filesizeformat(node.size)} - %endif - </td> - <td> - %if node.is_file(): - ${node.last_changeset.revision} - %endif - </td> - <td> - %if node.is_file(): - ${node.last_changeset.date} - %endif - </td> - <td> - %if node.is_file(): - ${node.last_changeset.author} - %endif - </td> - </tr> - %endfor -</table> \ No newline at end of file +<div id="body" class="browserblock"> + <div class="browser-header"> + ${h.form(h.url.current())} + <span>${_('view')}@rev:${h.text('at_rev',value=c.rev_nr,size='5')}</span> + ${h.submit('view','view')} + ${h.end_form()} + </div> + <div class="browser-body"> + <table class="code-browser"> + <thead> + <tr> + <th>${_('Name')}</th> + <th>${_('Size')}</th> + <th>${_('Revision')}</th> + <th>${_('Last modified')}</th> + <th>${_('Last commiter')}</th> + </tr> + </thead> + <tr class="parity0"> + <td> + % if c.files_list.parent: + ${h.link_to('..',h.url('files_home',repo_name=c.repo_name,revision=c.cur_rev,f_path=c.files_list.parent.path),class_="browser-dir")} + %endif + </td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr> + %for cnt,node in enumerate(c.files_list,1): + <tr class="parity${cnt%2}"> + <td> + ${h.link_to(node.name,h.url('files_home',repo_name=c.repo_name,revision=c.cur_rev,f_path=node.path),class_=file_class(node))} + </td> + <td> + %if node.is_file(): + ${h.filesizeformat(node.size)} + %endif + </td> + <td> + %if node.is_file(): + ${node.last_changeset.revision} + %endif + </td> + <td> + %if node.is_file(): + ${node.last_changeset.date} + %endif + </td> + <td> + %if node.is_file(): + ${node.last_changeset.author} + %endif + </td> + </tr> + %endfor + </table> + </div> +</div> \ No newline at end of file
--- a/pylons_app/templates/files/files_source.html Sun May 09 17:23:11 2010 +0200 +++ b/pylons_app/templates/files/files_source.html Sun May 09 17:35:51 2010 +0200 @@ -1,14 +1,14 @@ <dl class="overview"> <dt>${_('Revision')}</dt> - <dd>r${c.files_list.changeset.revision}:${c.files_list.changeset._short}</dd> + <dd>r${c.files_list.last_changeset.revision}:${c.files_list.last_changeset._short}</dd> <dt>${_('Size')}</dt> <dd>${h.filesizeformat(c.files_list.size)}</dd> <dt>${_('Options')}</dt> - <dd>history / annotate / raw </dd> + <dd>${h.link_to(_('annotate'),h.url('#'))} / ${h.link_to(_('raw'),h.url('#'))}</dd> <dt>${_('History')}</dt> <dd> ${h.form(h.url('files_diff_home',repo_name=c.repo_name,f_path=c.f_path),method='GET')} - ${h.hidden('diff2',c.files_list.changeset._short)} + ${h.hidden('diff2',c.files_list.last_changeset._short)} ${h.select('diff1','',c.file_history)} ${h.submit('diff','diff')} ${h.end_form()} @@ -16,5 +16,10 @@ </dl> <div id="body" class="codeblock"> - ${h.pygmentize(c.files_list.content,linenos=True,anchorlinenos=True,cssclass="code-highlight")} + <div class="code-header"> + <span>${c.files_list.name}@r${c.files_list.last_changeset.revision}:${c.files_list.last_changeset._short}</span> + </div> + <div class="code-body"> + ${h.pygmentize(c.files_list.content,linenos=True,anchorlinenos=True,cssclass="code-highlight")} + </div> </div> \ No newline at end of file