diff options
author | Arne Georg Gleditsch <argggh@lxr.linpro.no> | 2008-02-07 20:31:11 +0100 |
---|---|---|
committer | Arne Georg Gleditsch <argggh@lxr.linpro.no> | 2008-02-07 20:31:11 +0100 |
commit | 378a912bf79e1e5b6384b02b14919371ac0c4785 (patch) | |
tree | a7969b83c550188e093ac7e5b4aa5a6542908fd5 /webroot | |
parent | f5277f0a49bfb6eb48c27de4d644b2f9e2f94e4f (diff) |
Provisions for mod_perl use, take one.
Diffstat (limited to 'webroot')
-rw-r--r-- | webroot/.htaccess | 20 | ||||
-rw-r--r-- | webroot/.static/css/lxrng.css | 367 | ||||
-rw-r--r-- | webroot/.static/gfx/Makefile | 10 | ||||
-rw-r--r-- | webroot/.static/gfx/close.png | bin | 0 -> 802 bytes | |||
-rw-r--r-- | webroot/.static/gfx/close.svg | 102 | ||||
-rw-r--r-- | webroot/.static/gfx/diff.png | bin | 0 -> 605 bytes | |||
-rw-r--r-- | webroot/.static/gfx/diff.svg | 129 | ||||
-rw-r--r-- | webroot/.static/gfx/left.png | bin | 0 -> 585 bytes | |||
-rw-r--r-- | webroot/.static/gfx/left.svg | 102 | ||||
-rw-r--r-- | webroot/.static/gfx/print.png | bin | 0 -> 355 bytes | |||
-rw-r--r-- | webroot/.static/gfx/print.svg | 149 | ||||
-rw-r--r-- | webroot/.static/gfx/right.png | bin | 0 -> 586 bytes | |||
-rw-r--r-- | webroot/.static/gfx/right.svg | 102 | ||||
-rw-r--r-- | webroot/.static/gfx/rolldown.png | bin | 0 -> 536 bytes | |||
-rw-r--r-- | webroot/.static/gfx/rolldown.svg | 102 | ||||
-rw-r--r-- | webroot/.static/js/lxrng-funcs.js | 354 |
16 files changed, 1437 insertions, 0 deletions
diff --git a/webroot/.htaccess b/webroot/.htaccess new file mode 100644 index 0000000..2c850e5 --- /dev/null +++ b/webroot/.htaccess @@ -0,0 +1,20 @@ +Options ExecCGI + + +<IfModule mod_perl.c> + PerlModule LXRng::ModPerl; + + <Files *> + SetHandler perl-script + PerlResponseHandler LXRng::ModPerl + </Files> +</IfModule> + + +<Files robots.txt> + SetHandler send-as-is +</Files> + +<Files favicon.ico> + SetHandler send-as-is +</Files> diff --git a/webroot/.static/css/lxrng.css b/webroot/.static/css/lxrng.css new file mode 100644 index 0000000..f5d84c0 --- /dev/null +++ b/webroot/.static/css/lxrng.css @@ -0,0 +1,367 @@ +/* -*- mode: fundamental -*- */ + +body { + font-family: sans-serif; + margin-top: 3px; + margin-left: 3px; + margin-right: 3px; +} + +span.lxr_title { + float: left; + vertical-align: middle; +} + +span.lxr_l { + text-transform: uppercase; + margin-left: 5px; + font-weight: normal; +} + +span.lxr_x { + text-transform: uppercase; + font-weight: normal; +} + +span.lxr_r { + text-transform: uppercase; + font-weight: normal; + padding-right: 5px; + border-right: solid; + border-width: 1px; +} + +span.lxr_logo { + text-transform: uppercase; + font-weight: normal; + margin-left: 5px; + padding-right: 5px; + border-right: solid; + border-width: 1px; +} + +div.prose { + margin-left: 20px; + margin-right: 20px; + max-width: 40em; +} +span.section { + font-weight: bold; + display: block; + margin-top: 10px; +} + +span.lxr_menu { +/* float: right; */ +} + +div.lxr_menu { + float: right; +} + +span.lxr_search { + font-weight: normal; + margin-left: 5px; + padding-left: 5px; + margin-right: 5px; + border-left: solid; + border-width: 1px; +} + +span.lxr_search input#search { + width: 8em; +} + +span.lxr_search button { + border: solid 1px; +} + +span.lxr_prefs { + font-weight: normal; + margin-left: 5px; + padding-left: 5px; + margin-right: 5px; + border-left: solid; + border-width: 1px; +} + +span.lxr_version { + font-weight: normal; + padding-left: 5px; +/* border-left: solid; + border-width: 1px; */ +} + +body.full div.search_results { + background: #F0F0F0; + z-index: 3; +/* position: absolute; */ + position: fixed; + right: 3px; + top: 35px; + width: 35%; + height: 70%; + border: solid; + border-width: 1px; + display: none; + overflow: auto; + padding: 3px; +} + +body.popup div.search_results { + background: #F0F0F0; + border: solid; + border-width: 1px; + padding: 3px; + margin: 1px; +} + +span.identtype { + display: block; +/* font-weight: bold; */ + font-style: italic; + margin-top: 10px; + margin-left: 1em; +} + +span.resultline { + display: block; + margin-left: 2em; +} + +span.resultdetails { + font-size: 75%; +/* font-style: italic; */ +} + +div.query_desc { + font-weight: bold; + margin-top: 10px; + margin-bottom: 5px; +} + +span.close-button { + float: right; + margin-top: 3px; + margin-right: 3px; +} + +/* a.line:before { + content: attr(id); +} */ + +a.line { + position: absolute; + top: auto; + left: 0px; + height: 2ex; + width: 3em; + text-align: right; + + border: solid; + border-width: 1px; + border-color: #000000; + margin-left: 3px; +} + +a.line span { + position: absolute; + top: auto; + height: 2ex; + left: 0px; + background: #6c6c6c; + filter: alpha(opacity=10); + moz-opacity: .10; + opacity: .10; + width: 3em; +} + + +pre#file_contents li { + color: blue; +} + +span.line { + position: absolute; + left: 4em; + color: black; + white-space: pre; +} + +pre { + margin-left: 0.7em; +} + +a img { + border: 0px; +} + +div.headingtop { +} + +div.headingbottom { + clear: both; +} + +div.heading { + background: #F0F0F0; + margin-right: 0px; + margin-left: 0px; + font-weight: bold; + font-size: 120%; + border: solid; + border-width: 1px; + text-align: right; +} + +div.heading img { + vertical-align: middle; +} + +div.searchbox { + background: #F0F0F0; + border: solid; + margin-top: 3px; + border-width: 1px; + margin-right: 0px; + margin-left: 0px; + width: 30ex; + float: right; +} + + +button.print { + border: 0; + background: #F0F0F0; +} + +table.directory td.name { + width: 30ex; +} + +table.directory td.size { + width: 10ex; + text-align: right; + padding-right: 1ex; +} + +table.directory td.time { + width: 30ex; +} + +div.footerbox { + left: 3px; + right: 3px; + bottom: 3px; + border: solid; + border-width: 1px; + background: #F0F0F0; +} + +div.footerfill { + height: 3px; +} + +div.content { + background: white; +} + + +span.comment { + font-weight: bold; + font-style: italic; +} + +span.string { + font-style: italic; + color: green; +} + +div.find { + padding: 3px; +} + +div.find div.find_input { + width: 100%; +} + +div.find div.find_code { + width: 33%; + float: left; + text-align: left; +} + +div.find div.find_text { + width: 33%; + float: left; + text-align: center; +} + +div.find div.find_file { + width: 33%; + float: right; + text-align: right; +} + +div.vars { + clear: both; + padding: 3px; +} + +div.vars div.var_title { + clear: both; + width: 50%; + float: left; + text-align: left; +} + +div.vars div.var_select { + width: 50%; + float: right; + text-align: right; +} + +div.vars div.do_update { + clear: both; + width: 50%; + float: left; + text-align: left; +} + +div.vars div.do_hide { + width: 50%; + float: right; + text-align: right; +} + +div.progress { + font-weight: bold; + font-style: italic; +} + +div.error { + font-weight: bold; + font-style: italic; + color: #E04040; +} + +form { + display: inline; +} + +div.footer { + margin-top: 30px; + border-top: solid; + border-width: 1px; + padding-top: 10px; + font-style: italic; + text-align: center; + font-size: 80%; +} + +div.subfooter { + font-style: italic; + text-align: center; + font-size: 80%; +} + diff --git a/webroot/.static/gfx/Makefile b/webroot/.static/gfx/Makefile new file mode 100644 index 0000000..bef9f65 --- /dev/null +++ b/webroot/.static/gfx/Makefile @@ -0,0 +1,10 @@ +SVGFILES=$(wildcard *.svg) +PNGFILES=$(subst svg,png,${SVGFILES}) + +all: ${PNGFILES} + +clean: + rm -f ${PNGFILES} + +%.png: %.svg + inkscape -e $@ -w 16 -h 16 $< diff --git a/webroot/.static/gfx/close.png b/webroot/.static/gfx/close.png Binary files differnew file mode 100644 index 0000000..cd4178f --- /dev/null +++ b/webroot/.static/gfx/close.png diff --git a/webroot/.static/gfx/close.svg b/webroot/.static/gfx/close.svg new file mode 100644 index 0000000..2207f0f --- /dev/null +++ b/webroot/.static/gfx/close.svg @@ -0,0 +1,102 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="32px" + height="32px" + id="svg2160" + sodipodi:version="0.32" + inkscape:version="0.45" + sodipodi:modified="TRUE" + inkscape:export-filename="foo" + inkscape:export-xdpi="67.5" + inkscape:export-ydpi="67.5"> + <defs + id="defs2162"> + <linearGradient + id="linearGradient3207"> + <stop + style="stop-color:#f19257;stop-opacity:0.31632653;" + offset="0" + id="stop3209" /> + <stop + style="stop-color:#e25213;stop-opacity:1;" + offset="1" + id="stop3211" /> + </linearGradient> + <linearGradient + id="linearGradient3185"> + <stop + style="stop-color:#ed2929;stop-opacity:1;" + offset="1" + id="stop3187" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3207" + id="radialGradient3217" + cx="16" + cy="16" + fx="16" + fy="16" + r="15" + gradientUnits="userSpaceOnUse" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="11.197802" + inkscape:cx="16" + inkscape:cy="16" + inkscape:current-layer="layer1" + showgrid="true" + inkscape:grid-bbox="true" + inkscape:document-units="px" + inkscape:window-width="822" + inkscape:window-height="596" + inkscape:window-x="427" + inkscape:window-y="289" /> + <metadata + id="metadata2165"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="layer1" + inkscape:label="Layer 1" + inkscape:groupmode="layer"> + <rect + style="opacity:1;fill:url(#radialGradient3217);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:16.69999886;stroke-dasharray:none;stroke-opacity:1" + id="rect2168" + width="30" + height="30" + x="1" + y="1" /> + <path + style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#dfdfdf;stroke-width:5;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" + d="M 27,27 L 5,5" + id="path2170" /> + <path + style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#dfdfdf;stroke-width:5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 4.92738,27.193327 L 27.04318,5.1040233" + id="path3219" + sodipodi:nodetypes="cc" /> + </g> +</svg> diff --git a/webroot/.static/gfx/diff.png b/webroot/.static/gfx/diff.png Binary files differnew file mode 100644 index 0000000..73edeca --- /dev/null +++ b/webroot/.static/gfx/diff.png diff --git a/webroot/.static/gfx/diff.svg b/webroot/.static/gfx/diff.svg new file mode 100644 index 0000000..46290d3 --- /dev/null +++ b/webroot/.static/gfx/diff.svg @@ -0,0 +1,129 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="32px" + height="32px" + id="svg2160" + sodipodi:version="0.32" + inkscape:version="0.45" + inkscape:export-filename="foo" + inkscape:export-xdpi="67.5" + inkscape:export-ydpi="67.5" + sodipodi:docbase="/home/argggh/privat/tshirt-art" + sodipodi:docname="diff.svg" + inkscape:output_extension="org.inkscape.output.svg.inkscape" + sodipodi:modified="true"> + <defs + id="defs2162"> + <linearGradient + id="linearGradient3207"> + <stop + style="stop-color:#e8ef1f;stop-opacity:0.3137255;" + offset="0" + id="stop3209" /> + <stop + style="stop-color:#e8ef1f;stop-opacity:1;" + offset="1" + id="stop3211" /> + </linearGradient> + <linearGradient + id="linearGradient3185"> + <stop + style="stop-color:#ed2929;stop-opacity:1;" + offset="1" + id="stop3187" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3207" + id="radialGradient3217" + cx="16" + cy="16" + fx="16" + fy="16" + r="15" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3207" + id="radialGradient3246" + gradientUnits="userSpaceOnUse" + cx="23.32336" + cy="10.578739" + fx="23.32336" + fy="10.578739" + r="15" + gradientTransform="matrix(-0.740049,-0.6725529,0.6904064,-0.7596943,32.018907,33.65448)" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3207" + id="radialGradient3250" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.740049,-0.6725529,-0.6904064,-0.7596943,-1.8907e-2,45.65448)" + cx="23.32336" + cy="10.578739" + fx="23.32336" + fy="10.578739" + r="15" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="15.836083" + inkscape:cx="16.28893" + inkscape:cy="16.801809" + inkscape:current-layer="layer1" + showgrid="true" + inkscape:grid-bbox="false" + inkscape:document-units="px" + inkscape:window-width="822" + inkscape:window-height="1025" + inkscape:window-x="280" + inkscape:window-y="96" + objecttolerance="50" + guidetolerance="50" + inkscape:object-nodes="false" + inkscape:object-points="false" + inkscape:object-bbox="false" + inkscape:guide-bbox="false" + inkscape:grid-points="true" + inkscape:object-paths="false" /> + <metadata + id="metadata2165"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="layer1" + inkscape:label="Layer 1" + inkscape:groupmode="layer"> + <path + style="fill:url(#radialGradient3246);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:16.69999886;stroke-opacity:1" + d="M 31,11 L 21,1 L 21,6 L 14,6 L 14,14 L 21,14 L 21,19 L 31,11 z " + id="rect2168" + sodipodi:nodetypes="cccccccc" /> + <path + style="fill:url(#radialGradient3250);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:16.69999886;stroke-opacity:1" + d="M 1,21 L 11,12 L 11,17 L 18,17 L 18,25 L 11,25 L 11,30 L 1,21 z " + id="path3248" + sodipodi:nodetypes="cccccccc" /> + </g> +</svg> diff --git a/webroot/.static/gfx/left.png b/webroot/.static/gfx/left.png Binary files differnew file mode 100644 index 0000000..b01b78c --- /dev/null +++ b/webroot/.static/gfx/left.png diff --git a/webroot/.static/gfx/left.svg b/webroot/.static/gfx/left.svg new file mode 100644 index 0000000..4a3b1df --- /dev/null +++ b/webroot/.static/gfx/left.svg @@ -0,0 +1,102 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="32px" + height="32px" + id="svg2160" + sodipodi:version="0.32" + inkscape:version="0.45" + inkscape:export-filename="foo" + inkscape:export-xdpi="67.5" + inkscape:export-ydpi="67.5" + sodipodi:docbase="/home/argggh/privat/tshirt-art" + sodipodi:docname="left.svg" + inkscape:output_extension="org.inkscape.output.svg.inkscape" + sodipodi:modified="true"> + <defs + id="defs2162"> + <linearGradient + id="linearGradient3207"> + <stop + style="stop-color:#288b0a;stop-opacity:0.3137255;" + offset="0" + id="stop3209" /> + <stop + style="stop-color:#298b0a;stop-opacity:1;" + offset="1" + id="stop3211" /> + </linearGradient> + <linearGradient + id="linearGradient3185"> + <stop + style="stop-color:#ed2929;stop-opacity:1;" + offset="1" + id="stop3187" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3207" + id="radialGradient3217" + cx="16" + cy="16" + fx="16" + fy="16" + r="15" + gradientUnits="userSpaceOnUse" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="15.836083" + inkscape:cx="16" + inkscape:cy="16.801809" + inkscape:current-layer="layer1" + showgrid="true" + inkscape:grid-bbox="false" + inkscape:document-units="px" + inkscape:window-width="822" + inkscape:window-height="1025" + inkscape:window-x="280" + inkscape:window-y="96" + objecttolerance="50" + guidetolerance="50" + inkscape:object-nodes="false" + inkscape:object-points="false" + inkscape:object-bbox="false" + inkscape:guide-bbox="false" + inkscape:grid-points="true" + inkscape:object-paths="false" /> + <metadata + id="metadata2165"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="layer1" + inkscape:label="Layer 1" + inkscape:groupmode="layer"> + <path + style="fill:url(#radialGradient3217);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:16.69999886;stroke-opacity:1" + d="M 1,16 L 20,1 L 20,9 L 31,9 L 31,23 L 20,23 L 20,31 L 1,16 z " + id="rect2168" + sodipodi:nodetypes="cccccccc" /> + </g> +</svg> diff --git a/webroot/.static/gfx/print.png b/webroot/.static/gfx/print.png Binary files differnew file mode 100644 index 0000000..4e56c0e --- /dev/null +++ b/webroot/.static/gfx/print.png diff --git a/webroot/.static/gfx/print.svg b/webroot/.static/gfx/print.svg new file mode 100644 index 0000000..b981609 --- /dev/null +++ b/webroot/.static/gfx/print.svg @@ -0,0 +1,149 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="32px" + height="32px" + id="svg2160" + sodipodi:version="0.32" + inkscape:version="0.45" + inkscape:export-filename="foo" + inkscape:export-xdpi="67.5" + inkscape:export-ydpi="67.5" + sodipodi:docbase="/home/argggh/projects/lxrng/cgi-bin/gfx" + sodipodi:docname="print.svg" + inkscape:output_extension="org.inkscape.output.svg.inkscape" + sodipodi:modified="true"> + <defs + id="defs2162"> + <linearGradient + id="linearGradient3207"> + <stop + style="stop-color:#288b0a;stop-opacity:0.3137255;" + offset="0" + id="stop3209" /> + <stop + style="stop-color:#298b0a;stop-opacity:1;" + offset="1" + id="stop3211" /> + </linearGradient> + <linearGradient + id="linearGradient3185"> + <stop + style="stop-color:#ed2929;stop-opacity:1;" + offset="1" + id="stop3187" /> + </linearGradient> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="15.836083" + inkscape:cx="16" + inkscape:cy="16.801809" + inkscape:current-layer="layer1" + showgrid="true" + inkscape:grid-bbox="false" + inkscape:document-units="px" + inkscape:window-width="822" + inkscape:window-height="1025" + inkscape:window-x="605" + inkscape:window-y="34" + objecttolerance="50" + guidetolerance="50" + inkscape:object-nodes="false" + inkscape:object-points="false" + inkscape:object-bbox="false" + inkscape:guide-bbox="false" + inkscape:grid-points="true" + inkscape:object-paths="false" /> + <metadata + id="metadata2165"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="layer1" + inkscape:label="Layer 1" + inkscape:groupmode="layer" + style="display:inline"> + <path + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:16.69999886;stroke-opacity:1" + d="M 7,2 L 31,2 L 31,30 L 7,30 L 7,2 z " + id="rect2168" + sodipodi:nodetypes="ccccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#979797;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 10,6 L 25,6" + id="path3134" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#979797;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 10,10 L 18,10" + id="path3136" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#979797;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 10,14 L 23,14" + id="path3138" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#979797;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 10,18 L 15,18" + id="path3140" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#979797;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 10,24 L 25,24" + id="path3142" /> + </g> + <g + inkscape:groupmode="layer" + id="layer2" + inkscape:label="PDF" + style="display:inline"> + <rect + style="fill:#ff0901;fill-opacity:1;stroke:#ff0901;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect3145" + width="24" + height="10" + x="3" + y="7" + ry="0" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 5,15 L 5,9 L 9,9 L 9,13 L 5,13" + id="path3147" + sodipodi:nodetypes="ccccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#fefefe;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 13,9 L 13,15 L 16,15 L 17,14 L 17,10 L 16,9 L 13,9 z " + id="path3149" + sodipodi:nodetypes="ccccccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 21,15 L 21,9 L 25,9" + id="path3151" + sodipodi:nodetypes="ccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 21,13 L 23,13" + id="path3153" + sodipodi:nodetypes="cc" /> + </g> +</svg> diff --git a/webroot/.static/gfx/right.png b/webroot/.static/gfx/right.png Binary files differnew file mode 100644 index 0000000..439fe13 --- /dev/null +++ b/webroot/.static/gfx/right.png diff --git a/webroot/.static/gfx/right.svg b/webroot/.static/gfx/right.svg new file mode 100644 index 0000000..07e8941 --- /dev/null +++ b/webroot/.static/gfx/right.svg @@ -0,0 +1,102 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="32px" + height="32px" + id="svg2160" + sodipodi:version="0.32" + inkscape:version="0.45" + inkscape:export-filename="foo" + inkscape:export-xdpi="67.5" + inkscape:export-ydpi="67.5" + sodipodi:docbase="/home/argggh/privat/tshirt-art" + sodipodi:docname="right.svg" + inkscape:output_extension="org.inkscape.output.svg.inkscape" + sodipodi:modified="true"> + <defs + id="defs2162"> + <linearGradient + id="linearGradient3207"> + <stop + style="stop-color:#288b0a;stop-opacity:0.3137255;" + offset="0" + id="stop3209" /> + <stop + style="stop-color:#298b0a;stop-opacity:1;" + offset="1" + id="stop3211" /> + </linearGradient> + <linearGradient + id="linearGradient3185"> + <stop + style="stop-color:#ed2929;stop-opacity:1;" + offset="1" + id="stop3187" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3207" + id="radialGradient3217" + cx="16" + cy="16" + fx="16" + fy="16" + r="15" + gradientUnits="userSpaceOnUse" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="15.836083" + inkscape:cx="16.28893" + inkscape:cy="16.801809" + inkscape:current-layer="layer1" + showgrid="true" + inkscape:grid-bbox="false" + inkscape:document-units="px" + inkscape:window-width="822" + inkscape:window-height="1025" + inkscape:window-x="280" + inkscape:window-y="96" + objecttolerance="50" + guidetolerance="50" + inkscape:object-nodes="false" + inkscape:object-points="false" + inkscape:object-bbox="false" + inkscape:guide-bbox="false" + inkscape:grid-points="true" + inkscape:object-paths="false" /> + <metadata + id="metadata2165"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="layer1" + inkscape:label="Layer 1" + inkscape:groupmode="layer"> + <path + style="fill:url(#radialGradient3217);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:16.69999886;stroke-opacity:1" + d="M 31,16 L 12,1 L 12,9 L 1,9 L 1,23 L 12,23 L 12,31 L 31,16 z " + id="rect2168" + sodipodi:nodetypes="cccccccc" /> + </g> +</svg> diff --git a/webroot/.static/gfx/rolldown.png b/webroot/.static/gfx/rolldown.png Binary files differnew file mode 100644 index 0000000..a2a15ca --- /dev/null +++ b/webroot/.static/gfx/rolldown.png diff --git a/webroot/.static/gfx/rolldown.svg b/webroot/.static/gfx/rolldown.svg new file mode 100644 index 0000000..85697fb --- /dev/null +++ b/webroot/.static/gfx/rolldown.svg @@ -0,0 +1,102 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="32px" + height="32px" + id="svg2160" + sodipodi:version="0.32" + inkscape:version="0.45" + inkscape:export-filename="foo" + inkscape:export-xdpi="67.5" + inkscape:export-ydpi="67.5" + sodipodi:docbase="/home/argggh/privat/tshirt-art" + sodipodi:docname="rolldown.svg" + inkscape:output_extension="org.inkscape.output.svg.inkscape" + sodipodi:modified="true"> + <defs + id="defs2162"> + <linearGradient + id="linearGradient3207"> + <stop + style="stop-color:#0b718b;stop-opacity:0.3137255;" + offset="0" + id="stop3209" /> + <stop + style="stop-color:#0b718b;stop-opacity:1;" + offset="1" + id="stop3211" /> + </linearGradient> + <linearGradient + id="linearGradient3185"> + <stop + style="stop-color:#ed2929;stop-opacity:1;" + offset="1" + id="stop3187" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3207" + id="radialGradient3217" + cx="16" + cy="16" + fx="16" + fy="16" + r="15" + gradientUnits="userSpaceOnUse" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="15.836083" + inkscape:cx="16" + inkscape:cy="16.801809" + inkscape:current-layer="layer1" + showgrid="true" + inkscape:grid-bbox="false" + inkscape:document-units="px" + inkscape:window-width="822" + inkscape:window-height="1025" + inkscape:window-x="280" + inkscape:window-y="96" + objecttolerance="50" + guidetolerance="50" + inkscape:object-nodes="false" + inkscape:object-points="false" + inkscape:object-bbox="false" + inkscape:guide-bbox="false" + inkscape:grid-points="true" + inkscape:object-paths="false" /> + <metadata + id="metadata2165"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="layer1" + inkscape:label="Layer 1" + inkscape:groupmode="layer"> + <path + style="fill:url(#radialGradient3217);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:16.69999886;stroke-opacity:1" + d="M 1,7 L 31,7 L 16.444972,27 L 1,7 z " + id="rect2168" + sodipodi:nodetypes="cccc" /> + </g> +</svg> diff --git a/webroot/.static/js/lxrng-funcs.js b/webroot/.static/js/lxrng-funcs.js new file mode 100644 index 0000000..0a06da6 --- /dev/null +++ b/webroot/.static/js/lxrng-funcs.js @@ -0,0 +1,354 @@ +function popup_search(searchform) { + searchform = document.getElementById(searchform); + searchform.target = 'popup_' + window.name; + searchform.navtarget.value = window.name; + window.open('about:blank', 'popup_' + window.name, + 'resizable,width=400,height=600,menubar=yes,status=yes,scrollbars=yes'); + return true; +} + +function popup_anchor() { + var anchor = this; + window.open('about:blank', 'popup_' + window.name, + 'resizable,width=400,height=600,location=no,menubar=yes,scrollbars=yes'); + + anchor.target = 'popup_' + window.name; + + if (anchor.href.indexOf("navtarget=") >= 0) + return true; + + if (anchor.href.indexOf("?") >= 0) { + anchor.href = anchor.href + ';navtarget=' + window.name; + } + else { + anchor.href = anchor.href + '?navtarget=' + window.name; + } + return true; +} + +function navigate_here(searchform) { + searchform = document.getElementById(searchform); + searchform.target = window.name; + return true; +} + +function window_unique(serial) { + if (!window.name) + window.name = 'lxr_source_' + serial; +} + +function do_search(form) { + if (use_ajax_navigation) { + var res = document.getElementById('search_results'); + res.style.display = 'block'; + res.innerHTML = '<div class="progress">Searching...</div>'; + + pjx_search(['type__search', + 'search', 'v', 'tree__' + loaded_tree, 'NO_CACHE'], + ['search_results']); + return false; + } + else if (use_popup_navigation) { + form.target = 'popup_' + window.name; + form.navtarget.value = window.name; + reswin = window.open('about:blank', 'popup_' + window.name, + 'resizable,width=400,height=600,location=no,menubar=yes,scrollbars=yes'); + } + return true; +} + +function hide_search() { + var res = document.getElementById('search_results'); + res.style.display = 'none'; + return false; +} + +var loaded_hash; +var loaded_tree; +var loaded_file; +var loaded_ver; +var loaded_line; + +var pending_tree; +var pending_file; +var pending_ver; +var pending_line; + +function ajax_nav() { + var file = this.href.replace(/^(http:.*?\/.*?[+][*]\/|)/, ''); + load_file(loaded_tree, file, loaded_ver, ''); + return false; +} + +function ajax_jumpto_line() { + location.hash = location.hash.replace(/\#L\d+$/, '') + + this.href.replace(/.*(\#L\d+)$/, '$1'); + check_hash_navigation(); + return false; +} + +function ajax_prefs() { + if (use_ajax_navigation) { + var full_path = location.href.match(/(.*?)\/*#/)[1]; + full_path = full_path + '/' + loaded_tree; + if (loaded_ver) { + full_path = full_path + '+' + loaded_ver; + } + full_path = full_path + '/+prefs?return=' + loaded_file.replace(/^\/?$/, '.'); + location = full_path; + return false; + } + else { + return true; + } +} + +var hash_check; +function check_hash_navigation() { + if (location.hash != loaded_hash) { + if (location.hash.replace(/\#L\d+$/, '') == + loaded_hash.replace(/\#L\d+$/, '')) + { + var l = location.hash.replace(/.*#(L\d+)$/, '$1'); + var a = document.getElementById(l); + if (l && a) { + a.name = location.hash.replace(/^\#/, ''); + location.hash = a.name; + loaded_hash = location.hash; + } + hash_check = setTimeout('check_hash_navigation()', 50); + } + else { + load_content(); + } + } + else { + hash_check = setTimeout('check_hash_navigation()', 50); + } +} + +function load_file(tree, file, ver, line) { + if (!use_ajax_navigation) { + return true; + } + + if (hash_check) { + clearTimeout(hash_check); + } + + if ((pending_tree == tree) && + (pending_file == file) && + (pending_ver == ver)) + { + if (line > 0) + line = '#L' + line; + location.hash = location.hash.replace(/\#L\d+$/, '') + line; + check_hash_navigation(); + return false; + } + + + var res = document.getElementById('content'); + + res.innerHTML = '<div class="progress">Loading...</div>'; + pending_line = line; + pending_tree = tree; + pending_file = file; + if (ver) { + pending_ver = ver; + } + else { + pending_ver = ''; + } + + if (!file) + file = '/'; + if (line < 1) + line = 1; + pjx_load_file(['tree__' + tree, 'file__' + file, 'v__' + ver, + 'line__' + line, 'NO_CACHE'], + [load_file_finalize]); + return false; +} + +function load_file_finalize(content) { + var res = document.getElementById('content'); + res.innerHTML = 'Done'; + res.innerHTML = content; + var head = document.getElementById('current_path'); + head.innerHTML = '<a class=\"fref\" href=\".\">' + pending_tree + '</a>'; + var path_walked = ''; + var elems = pending_file.split(/\//); + for (var i=0; i<elems.length; i++) { + if (elems[i] != '') { + head.innerHTML = head.innerHTML + '/' + + '<a class=\"fref\" href=\"' + path_walked + elems[i] + + '\">' + elems[i] + '</a>'; + path_walked = path_walked + elems[i] + '/'; + } + } + document.title = 'LXR ' + pending_tree + '/' + pending_file; + + var full_tree = pending_tree; + if (pending_ver) { + full_tree = full_tree + '+' + pending_ver; + } + var full_path = full_tree + '/' + pending_file.replace(/^\/?/, ''); + + var pre = document.getElementById('file_contents'); + if (pre && pre.className == 'partial') { + pjx_load_file(['tree__' + pending_tree, 'file__' + pending_file, + 'v__' + pending_ver, 'full__1', 'NO_CACHE'], + [load_file_finalize]); + } + + var print = document.getElementById('lxr_print'); + var dirlist = document.getElementById('content_dir'); + if (dirlist) { + print.style.display = 'none'; + } + else { + var pform = document.getElementById('print_form'); + pform.action = '../' + full_tree + '/+print=' + + pending_file.replace(/^\/?/, ''); + print.style.display = 'inline'; + } + + if (hash_check) { + clearTimeout(hash_check); + } + if (pending_line) { + var anchor = document.getElementById('L' + pending_line); + if (anchor) { + anchor.name = full_path + '#L' + pending_line; + location.hash = full_path + '#L' + pending_line; + } + else { + location.hash = full_path; + } + loaded_line = pending_line; + } + else { + location.hash = full_path; + loaded_line = 0; + } + loaded_hash = location.hash; + loaded_tree = pending_tree; + loaded_file = pending_file; + loaded_ver = pending_ver; + hash_check = setTimeout('check_hash_navigation()', 50); + +// TODO: This really takes oodles of time. Consider coding into html. + var i; + for (i = 0; i < document.links.length; i++) { + if (document.links[i].className == 'fref') { + document.links[i].onclick = ajax_nav; + } + else if (document.links[i].className == 'line') { + document.links[i].onclick = ajax_jumpto_line; + } + else if (document.links[i].className == 'sref' || + document.links[i].className == 'falt') + { + document.links[i].onclick = ajax_lookup_anchor; + } + + } +} + +function load_content() { + if (!use_ajax_navigation) { + return false; + } + var tree = location.hash.split('/', 1); + tree = tree[0].split(/[+]/); + var ver = tree[1] || ''; + tree = tree[0].replace(/^#/, ''); + var file = location.hash.replace(/^[^\/]*\/?/, ''); + var line = file.replace(/.*\#L(\d+)/, '$1'); + file = file.replace(/\#L\d+$/, ''); + load_file(tree, file, ver, line); + + pjx_releases(['tree__' + tree, 'NO_CACHE'], + [load_content_finalize]); +} + +function load_content_finalize(content) { + var res = document.getElementById('ver_select'); + res.innerHTML = content; + var verlist = document.getElementById('v'); + verlist.value = pending_ver; +} + +function update_version(verlist, base_url, tree, defversion, path) { + if (use_ajax_navigation) { + var file = location.hash.replace(/^[^\/]*\//, ''); + var line = file.replace(/.*\#L(\d+)/, '$1'); + file = file.replace(/\#L\d*$/, ''); + + load_file(loaded_tree, file, verlist.value, line); + return false; + } + else { + var newurl = base_url.replace(/[^\/]*\/?$/, ''); + if (verlist.value == defversion) { + newurl = newurl + tree; + } + else { + newurl = newurl + tree + '+' + verlist.value; + } + newurl = newurl + '/' + path.replace(/^\//, ''); + document.location = newurl; + } +} + +function next_version() { + var verlist = document.getElementById('v'); + if (verlist.selectedIndex > 0) { + verlist.selectedIndex = verlist.selectedIndex - 1; + update_version(verlist, '', '', '', ''); + } + return false; +} + +function previous_version() { + var verlist = document.getElementById('v'); + if (verlist.selectedIndex < verlist.length - 1) { + verlist.selectedIndex = verlist.selectedIndex + 1; + update_version(verlist, '', '', '', ''); + } + return false; +} + +function popup_prepare(serial) { + window_unique(serial); + var i; + for (i = 0; i < document.links.length; i++) { + if (document.links[i].className == 'sref' || + document.links[i].className == 'falt') + { + document.links[i].onclick = popup_anchor; + } + } +} + +function ajax_lookup_anchor(event, anchor) { + if (!use_ajax_navigation) + return true; + + if (!anchor) + anchor = this; + + lookup = anchor.href.replace(/^(http:.*?\/.*?[+][*]\/|)/, ''); + + var lvar = document.getElementById('ajax_lookup'); + lvar.value = lookup; + + var res = document.getElementById('search_results'); + res.style.display = 'block'; + res.innerHTML = '<div class="progress">Searching...</div>'; + + pjx_search(['ajax_lookup', 'v', 'tree__' + loaded_tree, 'NO_CACHE'], + ['search_results']); + return false; +} |