static dir

This commit is contained in:
Claude 2012-04-13 09:34:30 +02:00
parent a99e460ddc
commit 862a1e0cc9
12 changed files with 4099 additions and 0 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 B

BIN
htdocs/static/images/button.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 282 B

View File

@ -0,0 +1,301 @@
/*
Clipboard - Copy utility for jQuery
Version 2.0
November 24, 2007
Project page:
http://bradleysepos.com/projects/jquery/clipboard/
Files:
Source: jquery.clipboard.js
Source (packed): jquery.clipboard.pack.js
Flash helper: jquery.clipboard.swf
Usage examples:
// Basic usage:
$.clipboardReady(function(){
$( "a" ).click(function(){
$.clipboard( "You clicked on a link and copied this text!" );
return false;
});
});
// With options:
$.clipboardReady(function(){
$( "a" ).click(function(){
$.clipboard( "You clicked on a link and copied this text!" );
return false;
});
}, { swfpath: "path/to/jquery.clipboard.swf", debug: true } );
Compatibility:
IE 6+, FF 2+, Safari 2+, Opera 9+
Requires jQuery 1.2+
Non-IE browsers require Flash 8 or higher.
Released under an MIT-style license
LICENSE
------------------------------------------------------------------------
Copyright (c) 2007 Bradley Sepos
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
------------------------------------------------------------------------
*/
(function($){
// Some variables that need scope
var flashMinVersion = [8,0,0];
var flashDetectedVersion = [0,0,0];
var swfpath;
var debugging;
var flashdetect = function( minVersion ){
// Flash detection
// Based on swfObject 2.0: http://code.google.com/p/swfobject/
var d = null;
if (typeof navigator.plugins != "undefined" && typeof navigator.plugins["Shockwave Flash"] == "object") {
d = navigator.plugins["Shockwave Flash"].description;
if (d) {
// Got Flash, parse version
d = d.replace(/^.*\s+(\S+\s+\S+$)/, "$1");
flashDetectedVersion[0] = parseInt(d.replace(/^(.*)\..*$/, "$1"), 10);
flashDetectedVersion[1] = parseInt(d.replace(/^.*\.(.*)\s.*$/, "$1"), 10);
if ( /r/.test(d) ) {
flashDetectedVersion[2] = parseInt(d.replace(/^.*r(.*)$/, "$1"), 10);
} else {
flashDetectedVersion[2] = 0;
}
if (flashDetectedVersion[0] > minVersion[0] || (flashDetectedVersion[0] == minVersion[0] && flashDetectedVersion[1] > minVersion[1]) || (flashDetectedVersion[0] == minVersion[0] && flashDetectedVersion[1] == minVersion[1] && flashDetectedVersion[2] >= minVersion[2])){
// Version ok
return true;
} else {
// Version too old
return false;
}
}
}
// No Flash detected
return false;
};
var iecopydetect = function(){
// Check for IE method
if ( typeof window.clipboardData != "undefined" ){
return true;
}
};
var debug = function( string ){
if ( debugging && typeof console != "undefined" && typeof console.log == "function" ){
console.log( string );
}
};
var swfready = function(){
// The swf is already loaded, ignore
if ( $.clipboardReady.done ) {
return false;
}
// Count how many times swfready() has been called
if ( typeof $.clipboardReady.counter == 'undefined' ){
// Init counter
$.clipboardReady.counter = 0;
}
// Increment counter
$.clipboardReady.counter++;
if ( $.clipboardReady.counter > 599 ){
// Terminate process after 600 executions to avoid calling indefinitely and crashing some
// browsers (observed in Firefox 2.x). At 100ms interval, this should be plenty of time for
// the swf to load on even the slowest connections.
clearInterval( $.clipboardReady.timer );
// Debug
debug("Waited "+$.clipboardReady.counter/10+" seconds for Flash object to load, terminating.");
return false;
}
if ( ($.clipboardReady.counter % 100) == 0 ){
// Debug
debug("Waited "+$.clipboardReady.counter/10+" seconds for Flash object to load so far...");
}
// Check to see if the swf's external interface is ready
var swf = $("#jquery_clipboard_swf:first");
var swfdom = $(swf).get(0);
if ( typeof swfdom.jqueryClipboardCopy == "function" && swfdom.jqueryClipboardAvailable ){
// Swf is ready, stop checking
clearInterval( $.clipboardReady.timer );
$.clipboardReady.timer = null;
// Set copy method
$.clipboard.method = 'flash';
// Execute queued functions
for ( var i = 0; i < $.clipboardReady.ready.length; i++ ){
$.clipboardReady.ready[i]();
}
// Remember that the swf is ready
$.clipboardReady.ready = null;
$.clipboardReady.done = true;
// Everything is totally ready now
debug( "jQuery.clipboard: OK. Initialized and ready to copy using Flash method." );
}
};
$.clipboardReady = function( f, options ){
// Options
options = jQuery.extend({
swfpath: "jquery.clipboard.swf",
debug: false
}, options);
swfpath = options.swfpath;
debugging = options.debug;
// Run immediately if IE method available
if ( iecopydetect() ){
$.clipboard.method = 'ie';
debug( "jQuery.clipboard: OK. Initialized and ready to copy using native IE method." );
return f();
}
// Run immediately if Flash 8 is available and loaded
if ( $.clipboardReady.done ){
return f();
}
// If we've already added a function
if ( $.clipboardReady.timer ){
// Add to the existing array
$.clipboardReady.ready.push( f );
} else {
// Check for Flash and Flash version
if ( flashdetect( flashMinVersion ) ){
// Flash detected OK
// Destroy any existing elements
$( "#jquery_clipboard_swf" ).remove();
$( "#jquery_clipboard_div" ).remove();
// Create the wrapper div
var div;
div = $( "<div/>" )
.attr( "id", "jquery_clipboard_div" )
.css( "width", "0" )
.css( "height", "0" )
.appendTo( "body" )
.html( "" );
// Create the helper swf
// Use embed method since we're only targeting non-IE browsers anyway
var swf;
swf = $( '<embed id="jquery_clipboard_swf" name="jquery_clipboard_swf" src="'+swfpath+'" type="application/x-shockwave-flash"></embed>' );
$( swf )
.css( "width", "0" )
.css( "height", "0" )
.appendTo( div );
// Init the functions array
$.clipboardReady.ready = [ f ];
// Continually check to see if the swf is loaded
$.clipboardReady.timer = setInterval( swfready, 100 );
// Debug
debug( "jQuery.clipboard: INFO. Waiting for Flash object to become ready. Detected Flash version: "+flashDetectedVersion[0]+"."+flashDetectedVersion[1]+"."+flashDetectedVersion[2] );
} else if ( flashDetectedVersion[0] === 0 ){
// Flash not detected
debug( "jQuery.clipboard: ERROR. Flash plugin not detected." );
return false;
} else {
// Flash version too old
debug( "jQuery.clipboard: ERROR. Minimum Flash version: "+flashMinVersion[0]+"."+flashMinVersion[1]+"."+flashMinVersion[2]+" Detected Flash version: "+flashDetectedVersion[0]+"."+flashDetectedVersion[1]+"."+flashDetectedVersion[2] );
return false;
}
}
};
$.clipboard = function( text ){
// Check arguments
if ( arguments.length < 1 || typeof text != "string" ){
// First argument is not text
debug( "jQuery.clipboard: ERROR. Nothing to copy. You must specify a string as the first parameter." );
return false;
}
// Looks good, perform copy
// Internet Explorer's built-in method
if ( $.clipboard.method == 'ie' ){
try {
window.clipboardData.setData( "Text", text );
debug( "jQuery.clipboard: OK. Copied "+text.length+" bytes to clipboard using native IE method." );
return true;
} catch (e) {
debug( "jQuery.clipboard: ERROR. Tried to copy using native IE method but an unknown error occurred." );
return false;
}
}
// Flash method
if ( $.clipboard.method == 'flash'){
var swf = $("#jquery_clipboard_swf:first");
var swfdom = $(swf).get(0);
if ( swfdom.jqueryClipboardCopy( text ) ){
// Copy succeeded
debug( "jQuery.clipboard: OK. Copied "+text.length+" bytes to clipboard using Flash method." );
return true;
} else {
// Copy failed
debug( "jQuery.clipboard: ERROR. Tried to copy using Flash method but an unknown error occurred." );
return false;
}
}
// Uh-oh. Somebody called $.clipboard() without $.clipboardReady()
debug( "jQuery.clipboard: ERROR. You must use $.clipboardReady() in conjunction with $.clipboard()." );
return false;
};
})(jQuery); /* jQuery.clipboard */

2992
htdocs/static/js/jquery.js vendored Normal file

File diff suppressed because it is too large Load Diff

140
htdocs/static/js/jquery.timers.js Executable file
View File

@ -0,0 +1,140 @@
jQuery.fn.extend({
everyTime: function(interval, label, fn, times, belay) {
return this.each(function() {
jQuery.timer.add(this, interval, label, fn, times, belay);
});
},
oneTime: function(interval, label, fn) {
return this.each(function() {
jQuery.timer.add(this, interval, label, fn, 1);
});
},
stopTime: function(label, fn) {
return this.each(function() {
jQuery.timer.remove(this, label, fn);
});
}
});
jQuery.extend({
timer: {
guid: 1,
global: {},
regex: /^([0-9]+)\s*(.*s)?$/,
powers: {
// Yeah this is major overkill...
'ms': 1,
'cs': 10,
'ds': 100,
's': 1000,
'das': 10000,
'hs': 100000,
'ks': 1000000
},
timeParse: function(value) {
if (value == undefined || value == null)
return null;
var result = this.regex.exec(jQuery.trim(value.toString()));
if (result[2]) {
var num = parseInt(result[1], 10);
var mult = this.powers[result[2]] || 1;
return num * mult;
} else {
return value;
}
},
add: function(element, interval, label, fn, times, belay) {
var counter = 0;
if (jQuery.isFunction(label)) {
if (!times)
times = fn;
fn = label;
label = interval;
}
interval = jQuery.timer.timeParse(interval);
if (typeof interval != 'number' || isNaN(interval) || interval <= 0)
return;
if (times && times.constructor != Number) {
belay = !!times;
times = 0;
}
times = times || 0;
belay = belay || false;
if (!element.$timers)
element.$timers = {};
if (!element.$timers[label])
element.$timers[label] = {};
fn.$timerID = fn.$timerID || this.guid++;
var handler = function() {
if (belay && this.inProgress)
return;
this.inProgress = true;
if ((++counter > times && times !== 0) || fn.call(element, counter) === false)
jQuery.timer.remove(element, label, fn);
this.inProgress = false;
};
handler.$timerID = fn.$timerID;
if (!element.$timers[label][fn.$timerID])
element.$timers[label][fn.$timerID] = window.setInterval(handler,interval);
if ( !this.global[label] )
this.global[label] = [];
this.global[label].push( element );
},
remove: function(element, label, fn) {
var timers = element.$timers, ret;
if ( timers ) {
if (!label) {
for ( label in timers )
this.remove(element, label, fn);
} else if ( timers[label] ) {
if ( fn ) {
if ( fn.$timerID ) {
window.clearInterval(timers[label][fn.$timerID]);
delete timers[label][fn.$timerID];
}
} else {
for ( var fn in timers[label] ) {
window.clearInterval(timers[label][fn]);
delete timers[label][fn];
}
}
for ( ret in timers[label] ) break;
if ( !ret ) {
ret = null;
delete timers[label];
}
}
for ( ret in timers ) break;
if ( !ret )
element.$timers = null;
}
}
}
});
if (jQuery.browser.msie)
jQuery(window).one("unload", function() {
var global = jQuery.timer.global;
for ( var label in global ) {
var els = global[label], i = els.length;
while ( --i )
jQuery.timer.remove(els[i], label);
}
});

16
htdocs/static/styles/fonts.css Executable file
View File

@ -0,0 +1,16 @@
/*
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.5.2
*/
/**
* Percents could work for IE, but for backCompat purposes, we are using keywords.
* x-small is for IE6/7 quirks mode.
*/
body {font:13px/1.231 arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;}
table {font-size:inherit;font:100%;}
/**
* Bump up IE to get to 13px equivalent
*/
pre,code,kbd,samp,tt {font-family:monospace;*font-size:108%;line-height:100%;}

View File

@ -0,0 +1,130 @@
/*
iphone.css
stikked
Created by Ben McRedmond on 2008-03-19.
Copyright 2008 Stikked. Some rights reserved.
*/
* {
margin: 0;
}
body {
font-family: "Helvetica";
font-size: 20px;
font-weight: bold;
}
.container {
padding: 5px;
}
.pagetitle {
font-size: 25px;
}
/* Header */
.header {
background-color: #74972A;
border-bottom: 2px solid #607C21;
color: #fff;
height: 40px;
}
.logo{
float: left;
font-size: 25px;
}
.toolbar {
margin-top: 3px;
color: #aaa;
float: right;
font-weight: normal;
}
.toolbar ul li{
display: inline;
padding-left: 15px;
}
.toolbar ul li.active{
color: #fff;
}
.toolbar ul li a {
color: inherit;
text-decoration: none;
}
/* List */
tr {
height: 30px;
}
.recent {
list-style: none;
padding: 0;
}
.recent a {
color: inherit;
text-decoration: none;
}
.recent li {
padding: 5px;
border-bottom: 1px solid #eee;
}
.recent li span.author {
font-weight: normal;
}
.pages {
margin-top: 10px;
font-size: 25px;
font-weight: normal;
margin-right: 5px;
text-align: right;
}
.pages .current {
font-weight: bold;;
}
/* Create */
.data {
border: 0;
}
textarea {
width: 90%;
margin-left: 6px;
}
.submit {
margin-left: 2px;
margin-bottom: 5px;
}
/* View */
.info {
margin-left: 2px;
}
.meta{
font-weight: normal;
font-size: 15px;
margin-bottom: 5px;
color: #333;
}
.text_formatted {
font-size: 10px;
border-top: 1px solid #aaa;
padding-top: 5px;
overflow: auto;
}

View File

@ -0,0 +1,472 @@
html {
background: none;
}
body {
background-image: url('../images/bg-x.png');
background-repeat: repeat-x;
background-color: #E3E8F2;
color: #222;
font-family: "Lucida Grande", Tahoma, Verdana, sans-serif;
}
b, strong {
font-weight: bold;
}
em, i {
font-style: italic;
}
#container {
width: 900px;
margin: 0 auto;
}
.container {
padding: 10px;
}
h1, h2, h3 ,h4 {
font-weight: bold;
color: #000;
}
h1 {
font-size: 116%;
}
h2 {
font-size: 108%;
}
h3 {
font-size: 100%;
}
h4 {
font-size: 93%;
}
/* !Header */
.header {
}
.header h1 {
margin-top: 1px;
float: left;
}
.header h1 a.title {
text-decoration: none;
color: #111;
font-size: 160%;
font-family: Tahoma;
font-weight: bolder;
letter-spacing: 2px;
}
.header .tabs {
float: right;
margin-top: 8px;
}
.header .tabs li {
display: inline;
text-align: center;
font-weight: bold;
}
.header .tabs li a {
margin-left: 50px;
float: left;
width: auto;
color: #94979B;
text-decoration: none;
}
.header .tabs li a.active, .header .tabs li a:hover {
color: #222;
}
/* !Content */
.content {
margin-top: 10px;
float: left;
}
.replies {
margin: 10px auto;
}
.replies, .content {
width: 874px;
clear: both;
background-color: #fff;
border: 3px solid #D6DBE4;
}
/* !Forms */
.form_wrapper {
width: 854px;
}
.form_wrapper.margin {
padding-bottom: 20px;
}
.form_wrapper.background {
border: solid 2px #b7ddf2;
background: #ebf4fb;
padding: 14px;
}
.form_wrapper .item_group {
clear: both;
width: 900px;
}
.form_wrapper .item_group .item {
width: 284px;
margin-right: 10px;
clear: none;
}
.form_wrapper .item_group .item input, .form_wrapper .item_group .item select {
width: 104px;
float: left;
}
.form_wrapper .item_group .item select {
width: 115px;
}
.form_wrapper .item {
clear: both;
width: 100%;
float: left;
margin-bottom: 10px;
}
.form_wrapper .hidden {
display: none;
}
.form_wrapper .advanced {
width: 100%;
text-align: center;
color: #333;
margin-top: 20px;
/*margin-left: 140px;*/
font-size: 93%;
}
.form_wrapper label {
display: block;
font-weight: bold;
text-align: right;
width: 140px;
float: left;
}
.form_wrapper .instruction {
color: #333;
display: block;
font-size: 85%;
font-weight: normal;
text-align: right;
width: 140px;
}
.form_wrapper .instruction.error {
color: #D50F12;
}
.form_wrapper .instruction.error p {
margin: 0;
line-height: inherit;
}
.form_wrapper input, .form_wrapper select {
width: 25%;
}
.form_wrapper input.check {
width: auto;
margin-right: 10px;
}
.form_wrapper select, .form_wrapper input, .form_wrapper textarea {
float: left;
padding: 4px 2px;
margin: 2px 0 20px 10px;
border: solid 1px #9ABAD7;
font-size: 93%;
}
.form_wrapper .text_beside {
width: 130px;
float: left;
}
.form_wrapper .text_beside input, .form_wrapper .item_group .item .text_beside input {
margin-right: 5px;
float: left;
width: auto;
}
.form_wrapper .text_beside p {
font-size: 93%;
float: left;
}
.form_wrapper.full .text_beside {
width: 250px;
}
.form_wrapper textarea {
width: 694px;
}
.form_wrapper button {
clear: both;
float: left;
margin-left: 150px;
width: 125px;
height: 30px;
border: 0;
background: #666666;
text-align: center;
line-height: 231%;
color: #FFFFFF;
font-size: 85%;
font-weight: bold;
padding: 0;
background-image: url("../images/button.png");
margin-top: 20px;
}
.form_wrapper .message_wrapper .message {
margin-top: -10px;
}
.spacer {
clear: both;
height: 1px;
}
.explain {
font-size: 12px;
color: #666;
margin-bottom: 20px;
}
.explain.border {
border-bottom: solid 1px #9ABAD7;
padding-bottom: 10px;
}
.explain.lowmargin {
margin-bottom: 10px;
}
/* Pagination */
.pages {
margin-top: 20px;
font-size: 116%;
text-align: center;
width: 100%;
float: left;
clear: both;
}
/* !Recent Paste Listings */
.recent {
clear: both;
width: 854px;
}
.recent th {
font-weight: bold;
font-size: 100%;
text-align: left;
}
.recent .title{
width: 280px;
}
.recent .name {
width: 250px;
}
.recent .lang {
width: 100px;
}
.recent .time {
width: 100px;
}
.recent tr {
line-height: 30px;
}
.recent tr.title {
line-height: auto;
}
.recent tr td {
font-size: 100%;
padding: 3px;
}
.recent .odd {
background-color: none;
}
.recent .even {
background-color: #F1F5FA;
}
/* !Pastes */
.meta {
font-size: 93%;
line-height: 18px;
}
.meta .spacer, .spacer.high {
height: 10px;
width: 100%;
clear: both;
}
.detail {
display: block;
width: 100%;
clear: both;
}
.detail.by {
font-style: italic;
color: #333;
}
.detail .item {
color: #333;
width: 50px;
display: block;
float: left;
}
.paste {
margin: 0 auto;
width: 900px;
font-size: 100%;
}
.paste.full {
width: 90%;
}
.paste .text_formatted {
clear: both;
float: left;
width: 874px;
border: 3px solid #D5DAE3;
margin-top: 10px;
margin-left: 10px;
background: #ebf4fb;
}
.paste .text_formatted.full {
width: 100%;
margin-left: 10px;
}
.text_formatted ol {
padding-left: 50px;
}
.text_formatted ol li {
list-style: decimal outside;
}
/* !Messages */
.message {
width: 100%;
font-size: 85%;
margin-bottom: 15px;
color: #fff;
}
.message.success {
background-color: green;
}
.message.status {
background: #DB9330;
}
.message.error {
background: red;
}
.message .container {
padding: 5px;
}
/* About Page */
.about {
line-height: 18px;
}
.about h1.space {
margin-top: 10px;
float: left;
clear: both;
width: 100%;
}
.about p, .about ul, .about code {
margin-bottom: 10px;
}
.about ul, .about code {
margin-left: 20px;
}
.about ul li {
list-style-type: disc;
list-style-position: inside;
}
.about code {
width: 100%;
clear: both;
display: block;
border-left: 3px solid #aaa;
padding-left: 10px;
padding-top: 4px;
padding-bottom: 4px;
}
/* !Footer */
.footer {
width: 100%;
clear: both;
float: left;
margin-top: 30px;
padding-bottom: 30px;
text-align: center;
font-size: 93%;
color: #777;
font-family: Helvetica, Arial, sans-serif;
line-height: 16px;
}
.footer a {
color: inherit;
text-decoration: underline;
}

View File

@ -0,0 +1,24 @@
/*
raw.css
Stikked
Created by Ben McRedmond on 2008-03-20.
Copyright 2008 Stikked. Some rights reserved.
*/
body {
font-family: "Lucida Grande", "Lucida Sans", "Lucida Sans Unicode", Verdana, "Helvetica Neue", Helvetica, sans-serif;
font-size: 14px;
}
#container {
width: 95%;
margin: 20px auto;
}
pre {
background-color: #eee;
padding: 5px;
font-family: monospace;
overflow: auto;
}

24
htdocs/static/styles/reset.css Executable file
View File

@ -0,0 +1,24 @@
/*
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.5.2
*/
html{color:#000;background:#FFF;}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}
li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q:before,q:after{content:'';}
abbr,acronym {border:0;font-variant:normal;}
/* to preserve line-height and selector appearance */
sup {vertical-align:text-top;}
sub {vertical-align:text-bottom;}
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}
/*to enable resizing for IE*/
input,textarea,select{*font-size:100%;}
/*because legend doesn't inherit in IE */
legend{color:#000;}