[dev-random2] Theme upgrade

This commit is contained in:
m-r-r
2012-07-26 15:01:23 +02:00
parent 98f0d46f2b
commit c55d10de9c
21 changed files with 1346 additions and 0 deletions

14
dev-random2/LICENSE.txt Normal file
View File

@@ -0,0 +1,14 @@
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. You just DO WHAT THE FUCK YOU WANT TO.

BIN
dev-random2/screenshot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

500
dev-random2/static/css/normalize.css vendored Normal file
View File

@@ -0,0 +1,500 @@
/*! normalize.css 2012-07-07T09:50 UTC - http://github.com/necolas/normalize.css */
/* ==========================================================================
HTML5 display definitions
========================================================================== */
/*
* Corrects `block` display not defined in IE6/7/8/9 & FF3.
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
display: block;
}
/*
* Corrects `inline-block` display not defined in IE6/7/8/9 & FF3.
*/
audio,
canvas,
video {
display: inline-block;
*display: inline;
*zoom: 1;
}
/*
* Prevents modern browsers from displaying `audio` without controls.
* Remove excess height in iOS5 devices.
*/
audio:not([controls]) {
display: none;
height: 0;
}
/*
* Addresses styling for `hidden` attribute not present in IE7/8/9, FF3, S4.
* Known issue: no IE6 support.
*/
[hidden] {
display: none;
}
/* ==========================================================================
Base
========================================================================== */
/*
* 1. Corrects text resizing oddly in IE6/7 when body `font-size` is set using
* `em` units.
* 2. Prevents iOS text size adjust after orientation change, without disabling
* user zoom.
*/
html {
font-size: 100%; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
-ms-text-size-adjust: 100%; /* 2 */
}
/*
* Addresses `font-family` inconsistency between `textarea` and other form
* elements.
*/
html,
button,
input,
select,
textarea {
font-family: sans-serif;
}
/*
* Addresses margins handled incorrectly in IE6/7.
*/
body {
margin: 0;
}
/* ==========================================================================
Links
========================================================================== */
/*
* Addresses `outline` inconsistency between Chrome and other browsers.
*/
a:focus {
outline: thin dotted;
}
/*
* Improves readability when focused and also mouse hovered in all browsers.
* people.opera.com/patrickl/experiments/keyboard/test
*/
a:active,
a:hover {
outline: 0;
}
/* ==========================================================================
Typography
========================================================================== */
/*
* Addresses font sizes and margins set differently in IE6/7.
* Addresses font sizes within `section` and `article` in FF4+, Chrome, S5.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
h2 {
font-size: 1.5em;
margin: 0.83em 0;
}
h3 {
font-size: 1.17em;
margin: 1em 0;
}
h4 {
font-size: 1em;
margin: 1.33em 0;
}
h5 {
font-size: 0.83em;
margin: 1.67em 0;
}
h6 {
font-size: 0.75em;
margin: 2.33em 0;
}
/*
* Addresses styling not present in IE7/8/9, S5, Chrome.
*/
abbr[title] {
border-bottom: 1px dotted;
}
/*
* Addresses style set to `bolder` in FF3+, S4/5, Chrome.
*/
b,
strong {
font-weight: bold;
}
blockquote {
margin: 1em 40px;
}
/*
* Addresses styling not present in S5, Chrome.
*/
dfn {
font-style: italic;
}
/*
* Addresses styling not present in IE6/7/8/9.
*/
mark {
background: #ff0;
color: #000;
}
/*
* Addresses margins set differently in IE6/7.
*/
p,
pre {
margin: 1em 0;
}
/*
* Corrects font family set oddly in IE6, S4/5, Chrome.
* en.wikipedia.org/wiki/User:Davidgothberg/Test59
*/
code,
kbd,
pre,
samp {
font-family: monospace, serif;
_font-family: 'courier new', monospace;
font-size: 1em;
}
/*
* Improves readability of pre-formatted text in all browsers.
*/
pre {
white-space: pre;
white-space: pre-wrap;
word-wrap: break-word;
}
/*
* Addresses CSS quotes not supported in IE6/7.
*/
q {
quotes: none;
}
/*
* Addresses `quotes` property not supported in S4.
*/
q:before,
q:after {
content: '';
content: none;
}
small {
font-size: 75%;
}
/*
* Prevents `sub` and `sup` affecting `line-height` in all browsers.
* gist.github.com/413930
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sup {
top: -0.5em;
}
sub {
bottom: -0.25em;
}
/* ==========================================================================
Lists
========================================================================== */
/*
* Addresses margins set differently in IE6/7.
*/
dl,
menu,
ol,
ul {
margin: 1em 0;
}
dd {
margin: 0 0 0 40px;
}
/*
* Addresses paddings set differently in IE6/7.
*/
menu,
ol,
ul {
padding: 0 0 0 40px;
}
/*
* Corrects list images handled incorrectly in IE7.
*/
nav ul,
nav ol {
list-style: none;
list-style-image: none;
}
/* ==========================================================================
Embedded content
========================================================================== */
/*
* 1. Removes border when inside `a` element in IE6/7/8/9, FF3.
* 2. Improves image quality when scaled in IE7.
* code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
*/
img {
border: 0; /* 1 */
-ms-interpolation-mode: bicubic; /* 2 */
}
/*
* Corrects overflow displayed oddly in IE9.
*/
svg:not(:root) {
overflow: hidden;
}
/* ==========================================================================
Figures
========================================================================== */
/*
* Addresses margin not present in IE6/7/8/9, S5, O11.
*/
figure {
margin: 0;
}
/* ==========================================================================
Forms
========================================================================== */
/*
* Corrects margin displayed oddly in IE6/7.
*/
form {
margin: 0;
}
/*
* Define consistent border, margin, and padding.
*/
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
/*
* 1. Corrects color not being inherited in IE6/7/8/9.
* 2. Corrects text not wrapping in FF3.
* 3. Corrects alignment displayed oddly in IE6/7.
*/
legend {
border: 0; /* 1 */
padding: 0;
white-space: normal; /* 2 */
*margin-left: -7px; /* 3 */
}
/*
* 1. Corrects font size not being inherited in all browsers.
* 2. Addresses margins set differently in IE6/7, FF3+, S5, Chrome.
* 3. Improves appearance and consistency in all browsers.
*/
button,
input,
select,
textarea {
font-size: 100%; /* 1 */
margin: 0; /* 2 */
vertical-align: baseline; /* 3 */
*vertical-align: middle; /* 3 */
}
/*
* Addresses FF3/4 setting `line-height` on `input` using `!important` in the
* UA stylesheet.
*/
button,
input {
line-height: normal;
}
/*
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
* and `video` controls.
* 2. Corrects inability to style clickable `input` types in iOS.
* 3. Improves usability and consistency of cursor style between image-type
* `input` and others.
* 4. Removes inner spacing in IE7 without affecting normal text inputs.
* Known issue: inner spacing remains in IE6.
*/
button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
-webkit-appearance: button; /* 2 */
cursor: pointer; /* 3 */
*overflow: visible; /* 4 */
}
/*
* Re-set default cursor for disabled elements.
*/
button[disabled],
input[disabled] {
cursor: default;
}
/*
* 1. Addresses box sizing set to content-box in IE8/9.
* 2. Removes excess padding in IE8/9.
* 3. Removes excess padding in IE7.
* Known issue: excess padding remains in IE6.
*/
input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
*height: 13px; /* 3 */
*width: 13px; /* 3 */
}
/*
* 1. Addresses `appearance` set to `searchfield` in S5, Chrome.
* 2. Addresses `box-sizing` set to `border-box` in S5, Chrome (include `-moz`
* to future-proof).
*/
input[type="search"] {
-webkit-appearance: textfield; /* 1 */
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box; /* 2 */
box-sizing: content-box;
}
/*
* Removes inner padding and search cancel button in S5, Chrome on OS X.
*/
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/*
* Removes inner padding and border in FF3+.
*/
button::-moz-focus-inner,
input::-moz-focus-inner {
border: 0;
padding: 0;
}
/*
* 1. Removes default vertical scrollbar in IE6/7/8/9.
* 2. Improves readability and alignment in all browsers.
*/
textarea {
overflow: auto; /* 1 */
vertical-align: top; /* 2 */
}
/* ==========================================================================
Tables
========================================================================== */
/*
* Remove most spacing between table cells.
*/
table {
border-collapse: collapse;
border-spacing: 0;
}

View File

@@ -0,0 +1,62 @@
pre .hll { background-color: #ffffcc }
pre { background: #ffffff; }
pre .c { color: #808080 } /* Comment */
pre .err { color: #F00000; background-color: #F0A0A0 } /* Error */
pre .k { color: #008000; font-weight: bold } /* Keyword */
pre .o { color: #303030 } /* Operator */
pre .cm { color: #808080 } /* Comment.Multiline */
pre .cp { color: #507090 } /* Comment.Preproc */
pre .c1 { color: #808080 } /* Comment.Single */
pre .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
pre .gd { color: #A00000 } /* Generic.Deleted */
pre .ge { font-style: italic } /* Generic.Emph */
pre .gr { color: #FF0000 } /* Generic.Error */
pre .gh { color: #000080; font-weight: bold } /* Generic.Heading */
pre .gi { color: #00A000 } /* Generic.Inserted */
pre .go { color: #808080 } /* Generic.Output */
pre .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
pre .gs { font-weight: bold } /* Generic.Strong */
pre .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
pre .gt { color: #0040D0 } /* Generic.Traceback */
pre .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
pre .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
pre .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
pre .kp { color: #003080; font-weight: bold } /* Keyword.Pseudo */
pre .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
pre .kt { color: #303090; font-weight: bold } /* Keyword.Type */
pre .m { color: #6000E0; font-weight: bold } /* Literal.Number */
pre .s { background-color: #fff0f0 } /* Literal.String */
pre .na { color: #0000C0 } /* Name.Attribute */
pre .nb { color: #007020 } /* Name.Builtin */
pre .nc { color: #B00060; font-weight: bold } /* Name.Class */
pre .no { color: #003060; font-weight: bold } /* Name.Constant */
pre .nd { color: #505050; font-weight: bold } /* Name.Decorator */
pre .ni { color: #800000; font-weight: bold } /* Name.Entity */
pre .ne { color: #F00000; font-weight: bold } /* Name.Exception */
pre .nf { color: #0060B0; font-weight: bold } /* Name.Function */
pre .nl { color: #907000; font-weight: bold } /* Name.Label */
pre .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
pre .nt { color: #007000 } /* Name.Tag */
pre .nv { color: #906030 } /* Name.Variable */
pre .ow { color: #000000; font-weight: bold } /* Operator.Word */
pre .w { color: #bbbbbb } /* Text.Whitespace */
pre .mf { color: #6000E0; font-weight: bold } /* Literal.Number.Float */
pre .mh { color: #005080; font-weight: bold } /* Literal.Number.Hex */
pre .mi { color: #0000D0; font-weight: bold } /* Literal.Number.Integer */
pre .mo { color: #4000E0; font-weight: bold } /* Literal.Number.Oct */
pre .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
pre .sc { color: #0040D0 } /* Literal.String.Char */
pre .sd { color: #D04020 } /* Literal.String.Doc */
pre .s2 { background-color: #fff0f0 } /* Literal.String.Double */
pre .se { color: #606060; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
pre .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
pre .si { background-color: #e0e0e0 } /* Literal.String.Interpol */
pre .sx { color: #D02000; background-color: #fff0f0 } /* Literal.String.Other */
pre .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
pre .s1 { background-color: #fff0f0 } /* Literal.String.Single */
pre .ss { color: #A06000 } /* Literal.String.Symbol */
pre .bp { color: #007020 } /* Name.Builtin.Pseudo */
pre .vc { color: #306090 } /* Name.Variable.Class */
pre .vg { color: #d07000; font-weight: bold } /* Name.Variable.Global */
pre .vi { color: #3030B0 } /* Name.Variable.Instance */
pre .il { color: #0000D0; font-weight: bold } /* Literal.Number.Integer.Long */

64
dev-random2/static/css/skeleton.css vendored Normal file
View File

@@ -0,0 +1,64 @@
/* vim: ts=4 sw=4 et: */
html, body {
height: 100%;
width: 100%;
margin: 0;
padding: 0;
}
#page {
max-width: 950px;
min-width: 240px;
margin: 0 auto;
padding: 0 1em;
}
#page-head,
#page-body,
#page-foot {
clear: both;
margin: 0;
padding: 0;
}
#page-side {
float: left;
width: 30%;
height: 100%;
margin-top: 0;
}
#page-main {
float: right;
height: 100%;
width: 67%;
}
@media screen and (max-width: 550px) {
#page-main,
#page-side {
width: auto;
clear: both;
}
#page-side ul {
column-count: 2;
-moz-column-count: 2;
-webkit-column-count: 2;
-o-column-count: 2;
-ms-column-count: 2;
}
}
@media screen and (max-width: 490px) {
#page-side ul {
column-count: auto;
-moz-column-count: auto;
-webkit-column-count: auto;
-o-column-count: auto;
-ms-column-count: auto;
}
}

View File

@@ -0,0 +1,189 @@
/* vim: ts=4 sw=4 et: */
@import url(normalize.css);
@-webkit-keyframes fade {from {opacity: 0;} to { opacity: 1;}}
@-moz-keyframes fade {from {opacity: 0;} to { opacity: 1;}}
@-ms-keyframes fade {from {opacity: 0;} to { opacity: 1;}}
@-o-keyframes fade {from {opacity: 0;} to { opacity: 1;}}
@keyframes fade {from {opacity: 0;} to { opacity: 1;}}
body {
font-family: "Lucida Grande", "Gargi_1.7", "Garuda", "Jamrul", "Loma", "Malayalam", "Mukti Narrow", sans-serif;
font-size: 16px;
line-height: 1.5em;
color: #444;
background-color: #FAFAFA;
-webkit-animation: fade 600ms 1 ease-in-out;
-moz-animation: fade 600ms 1 ease-in-out;
-ms-animation: fade 600ms 1 ease-in-out;
-o-animation: fade 600ms 1 ease-in-out;
animation: fade 600ms 1 ease-in-out;
}
h1, h2, h3,
h4, h5, h6,
header .meta {
color: #222;
font-family: "Century Schoolbook L", "Georgia", "Nimbus Roman No9 L", "Norasi", "Rekha", serif;
line-height: 1.1em;
}
hr {
visibility: hidden;
padding-bottom: 1em;
}
hr:after,
#page-foot:before {
visibility: visible;
content: '\2042';
display: block;
text-align: center;
}
article {
margin-bottom: 4em;
}
article header h1 {
padding: .1em 0;
margin: 0;
}
article header .meta {
font-size: .9em;
}
article header .meta a { text-decoration: none; }
article:after {
content: '\00A7';
display: block;
text-align: center;
font-weight: lighter;
font-size: 1.5em;
}
article:last-of-type:after {
content: '';
}
#page-head {
text-align: center;
padding-top: .5em;
}
#page-head h1 {
font-size: 4em;
}
#page-head h1 a:hover {
text-decoration: none;
}
#page-side {
line-height: 1.2em;
}
#page-side ul {
padding: 0 0 0 1.3em;
margin: .4em 0 .6em .4em;
list-style-type: square;
}
#page-side li a {
color: #555;
}
#page-side li.active {
color: firebrick;
}
#page-side li.active a {
color: #222;
}
#page-foot {
font-size: .8em;
text-align: center;
}
#pagination {
display: block;
margin-bottom: 4em;
text-align: center;
}
#tag-cloud li:hover {
-webkit-transform: rotate(0deg), scale(1.3, 1.3) !important;
-moz-transform: rotate(0deg), scale(1.3, 1.3) !important;
-ms-transform: rotate(0deg), scale(1.3, 1.3) !important;
-o-transform: rotate(0deg), scale(1.3, 1.3) !important;
transform: rotate(0deg), scale(1.3, 1.3) !important;
}
#tag-cloud a {
text-decoration: none;
}
h1.small-title {
font-size: 1em;
font-style: italic;
font-weight: normal;
}
a, a:link, a:visited {
text-decoration: underline;
color: #29476B;
}
a:active, a:focus {
outline-width: 1px;
outline-style: dotted;
}
h1 a, h2 a, h3 a,
h4 a, h5 a, h6 a {
color: inherit !important;
text-decoration: none!important;
}
a.goto {
font-size: .8em;
color: #444;
padding: 0;
margin: 0em .2em;
}
pre, img {
overflow: auto;
max-width: 95%;
}
pre {
font-family: monospace;
font-size: 0.95em;
line-height: 1.15em;
background-color: #F5F5F5;
border: 3px solid silver;
overflow: auto;
padding: 0.5em;
}
@media screen and (max-width: 650px) {
body {
font-size: 15px;
}
}
@media screen and (max-width: 500px) {
body {
font-size: 14px;
}
#page-head h1 {
font-size: 2.5em;
}
}

3
dev-random2/static/js/html5shiv.js vendored Normal file
View File

@@ -0,0 +1,3 @@
/*! HTML5 Shiv pre3.5 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
Uncompressed source: https://github.com/aFarkas/html5shiv */
(function(a,b){function h(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function i(){var a=l.elements;return typeof a=="string"?a.split(" "):a}function j(a){var b={},c=a.createElement,f=a.createDocumentFragment,g=f();a.createElement=function(a){l.shivMethods||c(a);var f;return b[a]?f=b[a].cloneNode():e.test(a)?f=(b[a]=c(a)).cloneNode():f=c(a),f.canHaveChildren&&!d.test(a)?g.appendChild(f):f},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+i().join().replace(/\w+/g,function(a){return b[a]=c(a),g.createElement(a),'c("'+a+'")'})+");return n}")(l,g)}function k(a){var b;return a.documentShived?a:(l.shivCSS&&!f&&(b=!!h(a,"article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio{display:none}canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden]{display:none}audio[controls]{display:inline-block;*display:inline;*zoom:1}mark{background:#FF0;color:#000}")),g||(b=!j(a)),b&&(a.documentShived=b),a)}function p(a){var b,c=a.getElementsByTagName("*"),d=c.length,e=RegExp("^(?:"+i().join("|")+")$","i"),f=[];while(d--)b=c[d],e.test(b.nodeName)&&f.push(b.applyElement(q(b)));return f}function q(a){var b,c=a.attributes,d=c.length,e=a.ownerDocument.createElement(n+":"+a.nodeName);while(d--)b=c[d],b.specified&&e.setAttribute(b.nodeName,b.nodeValue);return e.style.cssText=a.style.cssText,e}function r(a){var b,c=a.split("{"),d=c.length,e=RegExp("(^|[\\s,>+~])("+i().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),f="$1"+n+"\\:$2";while(d--)b=c[d]=c[d].split("}"),b[b.length-1]=b[b.length-1].replace(e,f),c[d]=b.join("}");return c.join("{")}function s(a){var b=a.length;while(b--)a[b].removeNode()}function t(a){var b,c,d=a.namespaces,e=a.parentWindow;return!o||a.printShived?a:(typeof d[n]=="undefined"&&d.add(n),e.attachEvent("onbeforeprint",function(){var d,e,f,g=a.styleSheets,i=[],j=g.length,k=Array(j);while(j--)k[j]=g[j];while(f=k.pop())if(!f.disabled&&m.test(f.media)){for(d=f.imports,j=0,e=d.length;j<e;j++)k.push(d[j]);try{i.push(f.cssText)}catch(l){}}i=r(i.reverse().join("")),c=p(a),b=h(a,i)}),e.attachEvent("onafterprint",function(){s(c),b.removeNode(!0)}),a.printShived=!0,a)}var c=a.html5||{},d=/^<|^(?:button|form|map|select|textarea|object|iframe)$/i,e=/^<|^(?:a|b|button|code|div|fieldset|form|h1|h2|h3|h4|h5|h6|i|iframe|img|input|label|li|link|ol|option|p|param|q|script|select|span|strong|style|table|tbody|td|textarea|tfoot|th|thead|tr|ul)$/i,f,g;(function(){var c=b.createElement("a");c.innerHTML="<xyz></xyz>",f="hidden"in c,f&&typeof injectElementWithStyles=="function"&&injectElementWithStyles("#modernizr{}",function(b){b.hidden=!0,f=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle).display=="none"}),g=c.childNodes.length==1||function(){try{b.createElement("a")}catch(a){return!0}var c=b.createDocumentFragment();return typeof c.cloneNode=="undefined"||typeof c.createDocumentFragment=="undefined"||typeof c.createElement=="undefined"}()})();var l={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:k};a.html5=l,k(b);var m=/^$|\b(?:all|print)\b/,n="html5shiv",o=!g&&function(){var c=b.documentElement;return typeof b.namespaces!="undefined"&&typeof b.parentWindow!="undefined"&&typeof c.applyElement!="undefined"&&typeof c.removeNode!="undefined"&&typeof a.attachEvent!="undefined"}();l.type+=" print",l.shivPrint=t,t(b)})(this,document)

View File

@@ -0,0 +1,159 @@
(function(doc, win, v) {
/**
* The microTags exception
*
* @class microTags.error
* @constructor
* @param message {String} an error message
* @example
* try {
* var t = new microTags(undefined);
* }
* catch(e) {
* if (e instaceOf micrTags.error) {
* console.debug("Epic fail: " + e.message);
* }
* }
*/
function error(message) {
this.message = "microTags: " + message;
}
error.prototype = Error.prototype;
/**
* Create a new microTags instance
*
* @class microTags
* @constructor
* @param element {HTMLElement} an element containing tags
* @param options {Object} A JSON hash containing options
*/
function microTags(element, options) {
if (!(element && element.nodeName))
throw new error("argument #1 must be an HTMLElement !");
this._el = element;
this._children = element.children;
this._max_size = 3;
this._min_size = 0.7;
this._max_angle = 10;
this._min_angle = -10;
if (options != undefined)
this._set_options(options);
this._max_count = this._get_max_count();
self = this;
this.eachTag(function(element, count) {
self._make_inline(element, count);
self._set_size(element, count);
self._set_tilt(element, count);
});
}
/**
* the microTags current version
*
* @attribute version {String}
*/
microTags.prototype.version = v;
microTags.version = v;
microTags.prototype._set_options = function(options) {
var max_size = options['max-size'],
min_size = options['min-size'],
max_angle = options['max-angle'],
min_angle = options['min-angle'];
if ((max_size >= 1) && (max_size > min_size))
this._max_size = max_size;
else
throw error("option `max-size` must be >= 1 and > min-size");
if ((min_size > 0) && (min_size < max_size))
this._min_size = min_size;
else
throw error("option `min-size` must be > 0 and < max-size");
if (max_angle > min_angle) {
this._max_angle = max_angle;
this._min_angle = min_angle;
}
else
throw error("option `max-angle` must be > `min-angle`");
}
/**
* Apply a function on each tag
*
* @param [Function] callback: the function to apply
*/
microTags.prototype.eachTag = function(callback) {
var i, child, tag, count;
for (i=0; i < this._children.length; i++) {
child = this._children[i];
if (child.attributes != undefined) {
window._c = child;
count = parseInt(child.attributes["data-count"].value || "1");
callback(child, count);
}
}
}
microTags.prototype._get_max_count = function() {
var max = 0;
this.eachTag(function(element, count) {
max = (max < count) ? count : max;
});
return max;
}
microTags.prototype._make_inline = function(element, coun) {
element.style['display'] = 'inline-block';
}
microTags.prototype._set_size = function(element, count) {
var size,
max = this._max_size,
min = this._min_size,
max_count = this._max_count;
size = (count * max / max_count);
size = (size >= min) ? size : min;
element.style['fontSize'] = size + 'em';
}
microTags.prototype._set_tilt = function(element, count) {
var angle,
max = this._max_angle,
min = this._min_angle;
angle = min + (Math.random() * (max - min));
element.style['transform'] = 'rotate(' + angle + 'deg)';
element.style['MozTransform'] = 'rotate(' + angle + 'deg)';
element.style['OTransform'] = 'rotate(' + angle + 'deg)';
element.style['WebkitTransform'] = 'rotate(' + angle + 'deg)';
element.style['msTransform'] = 'rotate(' + angle + 'deg)';
}
if (win != undefined) {
win.microTags = microTags;
win.microTags.error = error;
if (win.define && win.define.call) {
win.define(function() {
return microTags;
});
}
}
})(window.document, window, "0.3.2");

18
dev-random2/static/js/microTags.min.js vendored Normal file
View File

@@ -0,0 +1,18 @@
(function(doc,win,v){function error(message){this.message="microTags: "+message;}
error.prototype=Error.prototype;function microTags(element,options){if(!(element&&element.nodeName))
throw new error("argument #1 must be an HTMLElement !");this._el=element;this._children=element.children;this._max_size=3;this._min_size=0.7;this._max_angle=10;this._min_angle=-10;if(options!=undefined)
this._set_options(options);this._max_count=this._get_max_count();self=this;this.eachTag(function(element,count){self._make_inline(element,count);self._set_size(element,count);self._set_tilt(element,count);});}
microTags.prototype.version=v;microTags.version=v;microTags.prototype._set_options=function(options){var max_size=options['max-size'],min_size=options['min-size'],max_angle=options['max-angle'],min_angle=options['min-angle'];if((max_size>=1)&&(max_size>min_size))
this._max_size=max_size;else
throw error("option `max-size` must be >= 1 and > min-size");if((min_size>0)&&(min_size<max_size))
this._min_size=min_size;else
throw error("option `min-size` must be > 0 and < max-size");if(max_angle>min_angle){this._max_angle=max_angle;this._min_angle=min_angle;}
else
throw error("option `max-angle` must be > `min-angle`");}
microTags.prototype.eachTag=function(callback){var i,child,tag,count;for(i=0;i<this._children.length;i++){child=this._children[i];if(child.attributes!=undefined){window._c=child;count=parseInt(child.attributes["data-count"].value||"1");callback(child,count);}}}
microTags.prototype._get_max_count=function(){var max=0;this.eachTag(function(element,count){max=(max<count)?count:max;});return max;}
microTags.prototype._make_inline=function(element,coun){element.style['display']='inline-block';}
microTags.prototype._set_size=function(element,count){var size,max=this._max_size,min=this._min_size,max_count=this._max_count;size=(count*max/max_count);size=(size>=min)?size:min;element.style['fontSize']=size+'em';}
microTags.prototype._set_tilt=function(element,count){var angle,max=this._max_angle,min=this._min_angle;angle=min+(Math.random()*(max-min));element.style['transform']='rotate('+angle+'deg)';element.style['MozTransform']='rotate('+angle+'deg)';element.style['OTransform']='rotate('+angle+'deg)';element.style['WebkitTransform']='rotate('+angle+'deg)';element.style['msTransform']='rotate('+angle+'deg)';}
if(win!=undefined){win.microTags=microTags;win.microTags.error=error;if(win.define&&win.define.call){win.define(function(){return microTags;});}}})(window.document,window,"0.3.2");

View File

@@ -0,0 +1,29 @@
{% extends "base.html" %}
{% block content_title %}{{ SITENAME }} — Archives{% endblock %}
{%- block content %}
<h1>Archives</h1>
<dl>
{% for article in articles %}
{% if loop.first or article.date.strftime('%Y %m') != articles[loop.index0-1].date.strftime('%Y %m') %}
<dt>
<h2>{{ article.date.strftime('%B %Y') }}</h2>
<ul>
{% endif %}
<li>
<a rel="bookmark"
href="{{ SITEURL }}/{{ article.url }}"
title="Lien permanent vers «{{ article.title }}»">
{{ article.title }}
</a>
</li>
{% if loop.last or article.date.strftime('%Y %m') != articles[loop.index0+1].date.strftime('%Y %m') %}
</ul>
</dt>
{% endif %}
{% endfor %}
</dl>
{% endblock content -%}

View File

@@ -0,0 +1,53 @@
{%- if article.lang %}{% set DEFAULT_LANG = article.lang %}{% endif -%}
{% extends "base.html" %}
{% block headers %}
{{ super() }}
<meta name="author" content="{{ article.author or DEFAULT_AUTHOR }}" />
<meta name="keywords" content="{{ article.tags|join(', ') }}" />
<link rel="stylesheet" media="not print" type="text/css" href="{{ SITEURL }}/theme/css/pygments.css" />
{% endblock %}
{% block title %}{{ article.title }} — {{ super() }}{% endblock %}
{%- block content %}
<header class="post-header">
<h1>
<a rel="bookmark"
href="{{ SITEURL }}/{{ article.url }}"
title="Lien permanent vers «{{ article.title }}»">
{{ article.title }}
</a>
</h1>
<div class="meta">
{% include "includes/article_meta.html" %}
</div>
</header>
<div class="post-content">
{{ article.content}}
</div>
<footer class="post-footer">
<div class="meta">
Posté dans «<a href="{{ SITEURL }}/{{ article.category.url }}">{{ article.category }}</a>»
par <a href="{{ SITEURL }}/{{ article.author.url }}">{{ article.author}}</a><br />
Mots-clés: {% for tag in article.tags %} #<a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a>{% endfor %}
</div>
</footer>
{% if DISQUS_SITENAME %}
<hr />
<div id="disqus_thread"></div>
<script type="text/javascript">
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
var disqus_shortname = '{{ DISQUS_SITENAME }}'; // required: replace example with your forum shortname
/* * * DON'T EDIT BELOW THIS LINE * * */
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a>
{% endif %}
{% endblock content -%}

View File

@@ -0,0 +1,5 @@
{% extends "index.html" %}
{% block title %}{{ super() }} — Articles de {{ author }}{% endblock %}
{% block index_title %}Articles de <i>{{ author }}</i> :{% endblock %}

View File

@@ -0,0 +1,62 @@
<!DOCTYPE html>
<html lang="{{ article.lang if article and article.lang else DEFAULT_LANG }}">
<head>
{% block headers %}
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=endge, chrome=IE8" />
<meta name="viewport" content="initial-scale=1.0, width=device-width, user-scalable=no" />
<title>{% block title %}{{ SITENAME }}{%endblock%}</title>
<!--[if lte IE 8]><script type="text/javascript" src="{{ SITEURL }}/theme/js/html5shiv.js"></script><![endif]-->
<link rel="stylesheet" type="text/css" href="{{ SITEURL }}/theme/css/skeleton.css" />
<link rel="stylesheet" type="text/css" href="{{ SITEURL }}/theme/css/theme.css" />
<link rel="shortcut icon" type="image/png" href="{{ SITEURL }}/favicon.png" />
<!--[if lte IE 8]><link rel="shortcut icon" type="image/x-icon" href="{{ SITEURL }}/favicon.ico" /><![endif]-->
<link rel="alternate" type="application/atom+xml"
title="{{ SITENAME }} — Flux Atom"
href="{{ SITEURL }}/{{ FEED }}" />
{% if FEED_RSS %}
<link rel ="alternate" type="application/rss+xml"
title="{{ SITENAME }} — Flux RSS"
href="{{ SITEURL }}/{{ FEED_RSS }}" />
{% endif %}
{% endblock headers %}
</head>
<body>
<div id="page">
<header id="page-head">
<h1>
<a href="{{ SITEURL }}/index.html">{{ SITENAME }}</a>
</h1>
</header>
<div id="page-body">
<{%- if article %}article class="post" {% else %}section {% endif -%}id="page-main" role="main">
{% block content %}
{% endblock content %}
</{%- if article %}article{% else %}section{% endif -%}> <!-- /#page-main -->
<aside id="page-side">
{%- include "includes/sidebar.html" -%}
</aside> <!-- /#page-side -->
</div> <!-- /#page-body -->
<footer id="page-foot">
<p> {{ FOOTER_TEXT or 'Powered by <a href="http://pelican.readthedocs.org">Pelican</a>' }}</p>
{% if GITHUB_URL %}<p><a id="github-link" href="{{ GITHUB_URL}}">Fork me on Github</a></p>{% endif %}
</footer>
</div> <!-- /#page -->
{% if GOOGLE_ANALYTICS %}
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '{{ GOOGLE_ANALYTICS }}']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script');
ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
{% endif %}
</body>
</html>

View File

@@ -0,0 +1,14 @@
{% extends "base.html" %}
{% block title %}{{ super() }} — Catégories{% endblock title %}
{%- block content %}
<section class="content">
<h1>Catégories</h1>
<ul id="category-list">
{% for category, n in categories %}
<li><a href="{{ SITEURL }}/{{ category.url }}">{{ category }}</a> ({{ n|count }} articles)</li>
{% endfor %}
</ul>
</section>
{% endblock content -%}

View File

@@ -0,0 +1,5 @@
{% extends "index.html" %}
{% block title %}{{ super() }} — Articles dans la catégorie «{{ category }}»{% endblock %}
{% block index_title %}Articles dans la catégorie <i>«{{ category }}»</i> :{% endblock %}

View File

@@ -0,0 +1,17 @@
<!-- includes/article_meta.html -->
Le <time datetime="{{ article.date.isoformat() }}" pubdate="pubdate">{{ article.locale_date }}</time>
dans «<a href="{{ SITEURL }}/{{ article.category.url }}">{{ article.category }}</a>»
par <a href="{{ SITEURL }}/{{ article.author.url }}">{{ article.author }}</a>
{%- if article.tags %}
<br />Mots-clés:
{%- for tag in article.tags %}
<a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a>{% if not loop.last %}, {% endif %}
{% endfor -%}
{% endif -%}
{%- if article.translations %}
<br />Langues:
[<a href="{{ SITEURL }}/{{ article.url }}">{{ article.lang or DEFAULT_LANG }}</a>]
{%- for translation in article.translations %}
<a href="{{ SITEURL }}/{{ translation.url }}">{{ translation.lang }}</a>
{% endfor -%}
{% endif -%}

View File

@@ -0,0 +1,53 @@
<!-- begin includes/sidebar.html -->
<nav>
<h3>Pages</h3>
<ul>
<li><a href="{{ SITEURL }}">Accueil</a></li>
<li><a href="{{ SITEURL }}/categories.html">Catégories</a></li>
<li><a href="{{ SITEURL }}/archives.html">Archives</a></li>
<li><a href="{{ SITEURL }}/tags.html">Mots-clés</a></li>
{% if MENUITEMS %}
{% for name, uri in MENUITEMS %}
<li><a href="{{ uri|format(SITEURL)}}">{{ name }}</a></li>
{% endfor %}
{% endif %}
{% if DISPLAY_PAGES_ON_MENU %}
{% for p in PAGES %}
<li><a href="{{ SITEURL}}/{{ p.url }}"{% if p == page %} class="active"{% endif %}>{{ p.title }}</a></li>
{% endfor %}
{% endif %}
</ul>
</nav>
{% if categories %}
<nav>
<h3>Catégories</h3>
<ul>
{% for cat, null in categories %}
<li{%- if cat == category %} class="active"{% endif -%}><a href="{{ SITEURL }}/{{ cat.url }}">{{ cat }}</a></li>
{% endfor %}
</ul>
</nav>
{% endif %}
<nav>
<h3>Liens</h3>
<ul>
<li><a href="{{ SITEURL }}/{{ FEED }}" rel="alternate">Flux Atom</a></li>
{% if FEED_RSS %}
<li><a href="{{ SITEURL }}/{{ FEED_RSS }}" rel="alternate">Flux RSS</a></li>
{% endif %}
{% if SOCIAL %}
{% for name, url in SOCIAL %}
<li><a href="{{ url }}">{{ name }}</a></li>
{% endfor %}
{% endif %}
{% if LINKS %}
{% for name, url in LINKS %}
<li><a href="{{ url }}">{{ name }}</a></li>
{% endfor %}
{% endif %}
</ul>
</nav>
<!-- end includes/sidebar.html -->

View File

@@ -0,0 +1,59 @@
{% extends "base.html" %}
{%- block content %}
<h1 class="small-title">{% block index_title %}Tous les articles{% endblock index_title %}</h1>
{% for article in articles_page.object_list %}
<article class="post">
<header class="post-header">
<h1>
<a rel="bookmark"
href="{{ SITEURL }}/{{ article.url }}"
title="Lien permanent vers «{{ article.title }}»">
{{ article.title }}
</a>
</h1>
<div class="meta">
{% include "includes/article_meta.html" %}
</div>
</header>
<div class="post-content">
{{ article.summary }}
</div>
<footer class="post-footer">
<a class="readmore" href="{{ SITEURL }}/{{ article.url }}">Lire la suite...</a>
</footer>
</article>
{% set article = False %}
{% endfor %}
{%- if articles_page %}
<nav id="pagination">
{%- if articles_page.has_previous() %}
<a id="first_page" href="{{ SITEURL }}/{{ page_name }}.html">&#60;&#60;</a>
<a id="prev_page" href="{{ SITEURL }}/{{ page_name }}{{ articles_page.previous_page_number() if articles_page.previous_page_number() != 1 else "" }}.html">&#60;</a>
{% else %}
<!-- <span id="first_page" class="a inactive">&#60;&#60;</span>
<span id="first_page" class="a inactive">&#60;</span> -->
{% endif -%}
{%- for i in range(1,articles_paginator.num_pages+1) %}
{%- if articles_page.number - 5 < i < articles_page.number + 5 %}
{%- if i == articles_page.number %}
<span class="a active">{{loop.index}}</span>
{% else %}
<a href="{{SITEURL}}/{{ page_name }}{{ ( i if i != 1 else "" ) }}.html">{{loop.index}}</a>
{% endif -%}
{% endif -%}
{% endfor -%}
{%- if articles_page.has_next() %}
<a id="next_page" href="{{ SITEURL }}/{{ page_name }}{{ articles_page.next_page_number() }}.html">&#62;</a>
<a id="last_page" href="{{ SITEURL }}/{{ page_name }}{{ articles_paginator.num_pages }}.html">&#62;&#62;</a>
{% else %}
<!-- <span id="next_page" class="a inactive">&#62;</span>
<span id="next_page" class="a inactive">&#62;&#62;</span> -->
{% endif -%}
</nav>
{%- endif%}
{% endblock content -%}

View File

@@ -0,0 +1,8 @@
{% extends "base.html" %}
{% block title %}{{ super() }} — {{ page.url }}{% endblock title %}
{%- block content %}
<h1>{{ page.title }}</h1>
{{ page.content }}
{% endblock content -%}

View File

@@ -0,0 +1,6 @@
{% extends "index.html" %}
{% block title %}{{ super() }} — Articles avec le mot clé « {{ tag }} »{% endblock %}
{% block index_title %}Articles avec le mot clé « {{ tag }} » :{% endblock %}

View File

@@ -0,0 +1,26 @@
{% extends "base.html" %}
{% block headers %}
{{ super() }}
<script type="text/javascript" src="{{ SITEURL }}/theme/js/microTags.js"></script>
<script>
function tag_cloud_init() {
var el = document.getElementById("tag-cloud");
window._tagcloud = new microTags(el);
}
if (window.addEventListener) window.addEventListener("load", tag_cloud_init, false);
else if (window.attachEvent) window.attachEvent("onload", tag_cloud_init);
else window.onload = tag_cloud_init;
</script>
{% endblock headers %}
{% block title %}{{ super() }} — Mots-clés{% endblock title %}
{%- block content %}
<h1>Mots-clés</h1>
<ul id="tag-cloud">
{% for tag, articles in tags %}
<li data-count="{{ articles|count }}"><a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a></li>
{% endfor %}
</ul>
{% endblock content -%}