Merge branch 'feature/css-js-cleanup' into develop

This commit is contained in:
Tobi Schäfer 2015-01-11 14:33:39 +01:00
commit cb36cf8e06
33 changed files with 610 additions and 1150 deletions

View file

@ -1,4 +1,9 @@
window.$ = window.jQuery = require('jquery'); window.$ = window.jQuery = require('jquery');
jQuery.md5 = require('js-md5/src/md5');
require('jquery-collagePlus/jquery.collagePlus');
require('jquery-collagePlus/extras/jquery.collageCaption');
require('jquery-collagePlus/extras/jquery.removeWhitespace');
require('uikit-bower/js/uikit'); require('uikit-bower/js/uikit');
require('uikit-bower/js/components/form-password'); require('uikit-bower/js/components/form-password');
@ -10,375 +15,152 @@ require('codemirror/mode/xml/xml');
require('codemirror/mode/htmlmixed/htmlmixed'); require('codemirror/mode/htmlmixed/htmlmixed');
require('./cm-skin-mode'); require('./cm-skin-mode');
require('jquery-collagePlus/jquery.collagePlus');
require('jquery-collagePlus/extras/jquery.collageCaption');
require('jquery-collagePlus/extras/jquery.removeWhitespace');
$(function() { $(function() {
// Extend jQuery with selectText() method.
$.fn.selectText = function() {
var element = this.get(0);
if (document.body.createTextRange) { // ms
var range = document.body.createTextRange();
range.moveToElementText(element);
range.select();
} else if (window.getSelection) { // moz, opera, webkit
var selection = window.getSelection();
var range = document.createRange();
range.selectNodeContents(element);
selection.removeAllRanges();
selection.addRange(range);
}
};
setLayoutMode(); // Highlight the current navigation menu item
var counter = 0;
$('.uk-nav li').each(function (index, element) {
if (counter > 0) {
return;
}
var href = String($(element).find('a').attr('href')) + location.hash;
if (href && location.href.lastIndexOf(href) + href.length === location.href.length) {
$(element).addClass('uk-active');
counter += 1;
}
});
// Extend jQuery with selectText() method. // Prevent redundant submits of a form
$.fn.selectText = function() { $('form').one('submit', function (event) {
var element = this.get(0); var submit = $(this).find('[type=submit]');
if (document.body.createTextRange) { // ms setTimeout(function () {
var range = document.body.createTextRange(); submit.attr('disabled', true);
range.moveToElementText(element); }, 1);
range.select(); });
} else if (window.getSelection) { // moz, opera, webkit
var selection = window.getSelection();
var range = document.createRange();
range.selectNodeContents(element);
selection.removeAllRanges();
selection.addRange(range);
}
}
// Prevent redundant submits of a form // Show prompt to copy macro code
$('form').one('submit', function (event) { $('a.av-clipboard-copy').on('click', function (event) {
var submit = $(this).find('[type=submit]'); event.preventDefault();
setTimeout(function () { prompt($(this).data('text'), $(this).data('value'));
submit.attr('disabled', true); });
}, 1);
});
// Select the macro code when clicking on elements with the macro-code class. // Select the macro code when clicking on elements with the macro-code class.
$('.macro-code').click(function(event) { // FIXME: Obsolete (should move to compat layer)
$(this).selectText(); $('.macro-code').click(function(event) {
}); $(this).selectText();
});
// Show prompt to copy macro code // Add the skin controls for the layout sandbox
$('a.av-clipboard-copy').on('click', function (event) { /*$('body').prepend($('<div>').attr('class', 'layout-sandbox')
event.preventDefault();
prompt($(this).data('text'), $(this).data('value'));
});
// Group related <option> elements by inserting additional <optgroup> elements.
var groups = [],
element = $('form#prefs #timeZone');
element.find('option').each(function(index, item) {
var zone = $(item),
parts = zone.html().split('/'), // E.g. Europe/Vienna
group = parts[0];
if ($.inArray(group, groups) < 0) {
groups.push(group);
}
});
groups.sort();
$.each(groups, function(index, group) {
var key = group + '/'; // E.g. Europe/
element.find('option:contains(' + key + ')')
.wrapAll($('<optgroup>').attr('label', group))
.each(function(index, item) {
$(item).html($(item).html().replace(key, ''));
});
});
});
function setLayoutMode(mode) {
if (mode === false || $('.av-skin-control').length < 0) {
$('.av-skin-control').remove();
return;
}
/*$('body').prepend($('<div>').attr('class', 'layout-sandbox')
.append($('<div>') .append($('<div>')
.append($('<button>') .append($('<button>')
.html('Exit Sandbox') .html('Exit Sandbox')
.click(function() { .click(function() {
location.replace($('a[href$='sandbox']').attr('href')); location.replace($('a[href$='sandbox']').attr('href'));
}))));*/ }))));*/
$('.av-skin').each(function() { $('.av-skin').each(function() {
var skinButton = $('<span class="av-skin-control"><a class="av-skin-edit-link">'); var skinButton = $('<span class="av-skin-control"><a class="av-skin-edit-link">');
skinButton.find('a').attr({ skinButton.find('a').attr({
'data-uk-tooltip': true, 'data-uk-tooltip': true,
href: $(this).data('href'), href: $(this).data('href'),
title: 'Click to edit ' + $(this).data('name') + ' skin' title: 'Click to edit ' + $(this).data('name') + ' skin'
}).mouseover(function() { }).mouseover(function() {
$(this).parents('.av-skin').eq(0).addClass('active'); $(this).parents('.av-skin').eq(0).addClass('av-skin-active');
}).mouseout(function() { }).mouseout(function() {
$(this).parents('.av-skin').eq(0).removeClass('active'); $(this).parents('.av-skin').eq(0).removeClass('av-skin-active');
}).html('<i class="uk-icon-pencil"></i>'); }).html('<i class="uk-icon-pencil"></i>');
$(this).prepend(skinButton); $(this).prepend(skinButton);
}); });
} });
/**
* MD5 (Message-Digest Algorithm)
* http://www.webtoolkit.info/
*/
jQuery.md5 = function (string) {
function RotateLeft(lValue, iShiftBits) {
return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits));
}
function AddUnsigned(lX,lY) {
var lX4,lY4,lX8,lY8,lResult;
lX8 = (lX & 0x80000000);
lY8 = (lY & 0x80000000);
lX4 = (lX & 0x40000000);
lY4 = (lY & 0x40000000);
lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF);
if (lX4 & lY4) {
return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
}
if (lX4 | lY4) {
if (lResult & 0x40000000) {
return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
} else {
return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
}
} else {
return (lResult ^ lX8 ^ lY8);
}
}
function F(x,y,z) { return (x & y) | ((~x) & z); }
function G(x,y,z) { return (x & z) | (y & (~z)); }
function H(x,y,z) { return (x ^ y ^ z); }
function I(x,y,z) { return (y ^ (x | (~z))); }
function FF(a,b,c,d,x,s,ac) {
a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac));
return AddUnsigned(RotateLeft(a, s), b);
}
function GG(a,b,c,d,x,s,ac) {
a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac));
return AddUnsigned(RotateLeft(a, s), b);
}
function HH(a,b,c,d,x,s,ac) {
a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac));
return AddUnsigned(RotateLeft(a, s), b);
}
function II(a,b,c,d,x,s,ac) {
a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac));
return AddUnsigned(RotateLeft(a, s), b);
}
function ConvertToWordArray(string) {
var lWordCount;
var lMessageLength = string.length;
var lNumberOfWords_temp1=lMessageLength + 8;
var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64;
var lNumberOfWords = (lNumberOfWords_temp2+1)*16;
var lWordArray=Array(lNumberOfWords-1);
var lBytePosition = 0;
var lByteCount = 0;
while ( lByteCount < lMessageLength ) {
lWordCount = (lByteCount-(lByteCount % 4))/4;
lBytePosition = (lByteCount % 4)*8;
lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount)<<lBytePosition));
lByteCount++;
}
lWordCount = (lByteCount-(lByteCount % 4))/4;
lBytePosition = (lByteCount % 4)*8;
lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80<<lBytePosition);
lWordArray[lNumberOfWords-2] = lMessageLength<<3;
lWordArray[lNumberOfWords-1] = lMessageLength>>>29;
return lWordArray;
}
function WordToHex(lValue) {
var WordToHexValue='',WordToHexValue_temp='',lByte,lCount;
for (lCount = 0;lCount<=3;lCount++) {
lByte = (lValue>>>(lCount*8)) & 255;
WordToHexValue_temp = '0' + lByte.toString(16);
WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2);
}
return WordToHexValue;
}
function Utf8Encode(string) {
string = string.replace(/\r\n/g,'\n');
var utftext = '';
for (var n = 0; n < string.length; n++) {
var c = string.charCodeAt(n);
if (c < 128) {
utftext += String.fromCharCode(c);
}
else if((c > 127) && (c < 2048)) {
utftext += String.fromCharCode((c >> 6) | 192);
utftext += String.fromCharCode((c & 63) | 128);
}
else {
utftext += String.fromCharCode((c >> 12) | 224);
utftext += String.fromCharCode(((c >> 6) & 63) | 128);
utftext += String.fromCharCode((c & 63) | 128);
}
}
return utftext;
}
var x=Array();
var k,AA,BB,CC,DD,a,b,c,d;
var S11=7, S12=12, S13=17, S14=22;
var S21=5, S22=9 , S23=14, S24=20;
var S31=4, S32=11, S33=16, S34=23;
var S41=6, S42=10, S43=15, S44=21;
string = Utf8Encode(string);
x = ConvertToWordArray(string);
a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476;
for (k=0;k<x.length;k+=16) {
AA=a; BB=b; CC=c; DD=d;
a=FF(a,b,c,d,x[k+0], S11,0xD76AA478);
d=FF(d,a,b,c,x[k+1], S12,0xE8C7B756);
c=FF(c,d,a,b,x[k+2], S13,0x242070DB);
b=FF(b,c,d,a,x[k+3], S14,0xC1BDCEEE);
a=FF(a,b,c,d,x[k+4], S11,0xF57C0FAF);
d=FF(d,a,b,c,x[k+5], S12,0x4787C62A);
c=FF(c,d,a,b,x[k+6], S13,0xA8304613);
b=FF(b,c,d,a,x[k+7], S14,0xFD469501);
a=FF(a,b,c,d,x[k+8], S11,0x698098D8);
d=FF(d,a,b,c,x[k+9], S12,0x8B44F7AF);
c=FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1);
b=FF(b,c,d,a,x[k+11],S14,0x895CD7BE);
a=FF(a,b,c,d,x[k+12],S11,0x6B901122);
d=FF(d,a,b,c,x[k+13],S12,0xFD987193);
c=FF(c,d,a,b,x[k+14],S13,0xA679438E);
b=FF(b,c,d,a,x[k+15],S14,0x49B40821);
a=GG(a,b,c,d,x[k+1], S21,0xF61E2562);
d=GG(d,a,b,c,x[k+6], S22,0xC040B340);
c=GG(c,d,a,b,x[k+11],S23,0x265E5A51);
b=GG(b,c,d,a,x[k+0], S24,0xE9B6C7AA);
a=GG(a,b,c,d,x[k+5], S21,0xD62F105D);
d=GG(d,a,b,c,x[k+10],S22,0x2441453);
c=GG(c,d,a,b,x[k+15],S23,0xD8A1E681);
b=GG(b,c,d,a,x[k+4], S24,0xE7D3FBC8);
a=GG(a,b,c,d,x[k+9], S21,0x21E1CDE6);
d=GG(d,a,b,c,x[k+14],S22,0xC33707D6);
c=GG(c,d,a,b,x[k+3], S23,0xF4D50D87);
b=GG(b,c,d,a,x[k+8], S24,0x455A14ED);
a=GG(a,b,c,d,x[k+13],S21,0xA9E3E905);
d=GG(d,a,b,c,x[k+2], S22,0xFCEFA3F8);
c=GG(c,d,a,b,x[k+7], S23,0x676F02D9);
b=GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A);
a=HH(a,b,c,d,x[k+5], S31,0xFFFA3942);
d=HH(d,a,b,c,x[k+8], S32,0x8771F681);
c=HH(c,d,a,b,x[k+11],S33,0x6D9D6122);
b=HH(b,c,d,a,x[k+14],S34,0xFDE5380C);
a=HH(a,b,c,d,x[k+1], S31,0xA4BEEA44);
d=HH(d,a,b,c,x[k+4], S32,0x4BDECFA9);
c=HH(c,d,a,b,x[k+7], S33,0xF6BB4B60);
b=HH(b,c,d,a,x[k+10],S34,0xBEBFBC70);
a=HH(a,b,c,d,x[k+13],S31,0x289B7EC6);
d=HH(d,a,b,c,x[k+0], S32,0xEAA127FA);
c=HH(c,d,a,b,x[k+3], S33,0xD4EF3085);
b=HH(b,c,d,a,x[k+6], S34,0x4881D05);
a=HH(a,b,c,d,x[k+9], S31,0xD9D4D039);
d=HH(d,a,b,c,x[k+12],S32,0xE6DB99E5);
c=HH(c,d,a,b,x[k+15],S33,0x1FA27CF8);
b=HH(b,c,d,a,x[k+2], S34,0xC4AC5665);
a=II(a,b,c,d,x[k+0], S41,0xF4292244);
d=II(d,a,b,c,x[k+7], S42,0x432AFF97);
c=II(c,d,a,b,x[k+14],S43,0xAB9423A7);
b=II(b,c,d,a,x[k+5], S44,0xFC93A039);
a=II(a,b,c,d,x[k+12],S41,0x655B59C3);
d=II(d,a,b,c,x[k+3], S42,0x8F0CCC92);
c=II(c,d,a,b,x[k+10],S43,0xFFEFF47D);
b=II(b,c,d,a,x[k+1], S44,0x85845DD1);
a=II(a,b,c,d,x[k+8], S41,0x6FA87E4F);
d=II(d,a,b,c,x[k+15],S42,0xFE2CE6E0);
c=II(c,d,a,b,x[k+6], S43,0xA3014314);
b=II(b,c,d,a,x[k+13],S44,0x4E0811A1);
a=II(a,b,c,d,x[k+4], S41,0xF7537E82);
d=II(d,a,b,c,x[k+11],S42,0xBD3AF235);
c=II(c,d,a,b,x[k+2], S43,0x2AD7D2BB);
b=II(b,c,d,a,x[k+9], S44,0xEB86D391);
a=AddUnsigned(a,AA);
b=AddUnsigned(b,BB);
c=AddUnsigned(c,CC);
d=AddUnsigned(d,DD);
}
var temp = WordToHex(a)+WordToHex(b)+WordToHex(c)+WordToHex(d);
return temp.toLowerCase();
}
Antville = {}; Antville = {};
Antville.prefix = 'Antville_'; Antville.prefix = 'Antville_';
Antville.encode = function(str) { Antville.encode = function(str) {
var chars = ['&', '<', '>', '\'']; var chars = ['&', '<', '>', '\''];
for (var i in chars) { for (var i in chars) {
var c = chars[i]; var c = chars[i];
var re = new RegExp(c, 'g'); var re = new RegExp(c, 'g');
str = str.replace(re, '&#' + c.charCodeAt() + ';'); str = str.replace(re, '&#' + c.charCodeAt() + ';');
} }
return str; return str;
} };
Antville.decode = function(str) { Antville.decode = function(str) {
return str.replace(/&amp;/g, '&'); return str.replace(/&amp;/g, '&');
} };
Antville.Referrer = function(url, text, count) { Antville.Referrer = function(url, text, count) {
this.url = url; this.url = url;
var re = new RegExp('https?://(?:www\.)?'); var re = new RegExp('https?://(?:www\.)?');
this.text = String(text).replace(re, ''); this.text = String(text).replace(re, '');
this.count = parseInt(count, 10); this.count = parseInt(count, 10);
this.compose = function(prefix, key) { this.compose = function(prefix, key) {
prefix || (prefix = ''); prefix || (prefix = '');
var query = new Antville.Query(this.url); var query = new Antville.Query(this.url);
if (query[key]) { if (query[key]) {
return prefix + ' ' + Antville.encode(query[key]); return prefix + ' ' + Antville.encode(query[key]);
} }
return this.text; return this.text;
} }
return this; return this;
} };
Antville.Query = function(str) { Antville.Query = function(str) {
if (str == undefined) if (str == undefined)
var str = location.search.substring(1); var str = location.search.substring(1);
else if (str.indexOf('?') > -1) else if (str.indexOf('?') > -1)
var str = str.split('?')[1]; var str = str.split('?')[1];
if (str == '') if (str == '')
return this; return this;
var parts = Antville.decode(decodeURIComponent(str)).split('&'); var parts = Antville.decode(decodeURIComponent(str)).split('&');
for (var i in parts) { for (var i in parts) {
var pair = parts[i].split('='); var pair = parts[i].split('=');
var key = pair[0]; var key = pair[0];
if (key) { if (key) {
key = key.replace(/\+/g, ' '); key = key.replace(/\+/g, ' ');
var value = pair[1]; var value = pair[1];
if (value) if (value)
value = value.replace(/\+/g, ' '); value = value.replace(/\+/g, ' ');
this[key] = value; this[key] = value;
} }
} }
return this; return this;
} };
Antville.Filter = function(def, key) { Antville.Filter = function(def, key) {
this.key = key; this.key = key;
if (def == null) if (def == null)
this.items = []; this.items = [];
else if (def instanceof Array) else if (def instanceof Array)
this.items = def; this.items = def;
else else
this.items = def.replace(/\r/g, '\n').split('\n'); this.items = def.replace(/\r/g, '\n').split('\n');
this.test = function(str) { this.test = function(str) {
if (!str) if (!str)
return false;
str = str.replace(/&amp;/g, '&');
for (var n in this.items) {
var re = new RegExp(this.items[n], 'i');
if (re.test(str))
return true;
}
return false; return false;
str = str.replace(/&amp;/g, '&'); }
for (var n in this.items) { return this;
var re = new RegExp(this.items[n], 'i'); };
if (re.test(str))
return true;
}
return false;
}
return this;
}

View file

@ -4,23 +4,55 @@
@import (inline) "node_modules/codemirror/lib/codemirror.css"; @import (inline) "node_modules/codemirror/lib/codemirror.css";
.av-tagged { .uk-button-group.av-link-group a {
.av-tagged-image { border-right: none;
opacity: 0; }
img {
display: inline-block; .uk-nav-divider + .uk-nav-divider,
margin: 0; .uk-nav-header + .uk-nav-header {
padding: 0; display: none;
vertical-align: bottom; }
opacity: 1;
} .uk-nav-side .uk-nav-divider {
.Caption_Content { margin-top: 15px;
color: #fff; border-top: none;
padding: 10px; }
}
.jala-calendar {
width: 100%;
text-align: center;
}
.jala-calendar tbody th {
font-weight: normal;
color: #999;
}
.jala-calendar-day {
width: 14.27%;
line-height: 18px;
text-align: center;
a {
font-weight: bold;
} }
} }
.jala-calendar-selected, .jala-calendar-selected a {
border-radius: 4px;
.uk-button-primary;
}
.jala-calendar-left {
text-align: center;
vertical-align: baseline;
}
.jala-calendar-right {
border: 0;
text-align: center;
vertical-align: baseline;
}
// Overwriting some CSS classes for Googles custom search // Overwriting some CSS classes for Googles custom search
.gs-result .gs-title, .gs-result .gs-title * { .gs-result .gs-title, .gs-result .gs-title * {

View file

@ -152,10 +152,10 @@ $(function() {
<table class='uk-table uk-table-striped uk-table-hover uk-table-condensed'> <table class='uk-table uk-table-striped uk-table-hover uk-table-condensed'>
<thead> <thead>
<tr> <tr>
<td></td> <th></th>
<td><% gettext User %></td> <th><% gettext User %></th>
<td><% gettext Date %></td> <th><% gettext Created %></th>
<td><% gettext Reference %></td> <th><% gettext Content %></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -196,13 +196,13 @@ $(function() {
<table class='uk-table uk-table-striped uk-table-hover uk-table-condensed'> <table class='uk-table uk-table-striped uk-table-hover uk-table-condensed'>
<thead> <thead>
<tr> <tr>
<td><% gettext Name %></td> <th><% gettext Name %></th>
<td><% gettext Created %></td> <th><% gettext Created %></th>
<td><% gettext Modified %></td> <th><% gettext Modified %></th>
<td><% gettext Status %></td> <th><% gettext Status %></th>
<td><% gettext Mode %></td> <th><% gettext Mode %></th>
<td></td> <th></th>
<td></td> <th></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -243,12 +243,12 @@ $(function() {
<table class='uk-table uk-table-striped uk-table-hover uk-table-condensed'> <table class='uk-table uk-table-striped uk-table-hover uk-table-condensed'>
<thead> <thead>
<tr> <tr>
<td><% gettext Name %></td> <th><% gettext Name %></th>
<td><% gettext Registered %></td> <th><% gettext Registered %></th>
<td><% gettext 'Last Login' %></td> <th><% gettext 'Last Login' %></th>
<td><% gettext Status %></td> <th><% gettext Status %></th>
<td></td> <th></th>
<td></td> <th></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -263,11 +263,11 @@ $(function() {
<table class='uk-table uk-table-striped uk-table-hover uk-table-condensed'> <table class='uk-table uk-table-striped uk-table-hover uk-table-condensed'>
<thead> <thead>
<tr> <tr>
<td><% gettext Method %></td> <th><% gettext Method %></th>
<td><% gettext Type %></td> <th><% gettext Type %></th>
<td><% gettext ID %></td> <th><% gettext ID %></th>
<td><% gettext User %></td> <th><% gettext User %></th>
<td></td> <th></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -278,9 +278,11 @@ $(function() {
<% #activity %> <% #activity %>
<tr> <tr>
<td><% param.icon %></td> <td><% param.icon %></td>
<td style='max-width: 50px; overflow: hidden;'><% param.user %></td> <td class='av-overflow'><% param.user %></td>
<td><% param.date | format text %></td> <td class='uk-text-truncate' title='<% param.date | format short %>' data-uk-tooltip="{pos: 'top-left'}">
<td <% if <% param.warn %> is true then "class='uk-text-bold'" %> style='max-width: 350px; overflow: hidden;'> <% param.date | format text %>
</td>
<td class='uk-width-6-10 av-overflow <% if <% param.warn %> is true then uk-text-bold %>'>
<a href='<% param.href %>'><% param.reference %></a> <a href='<% param.href %>'><% param.reference %></a>
<% if <% param.linkCount %> is 0 then '' else <% param.linkCount prefix="<i class='uk-icon uk-icon-link uk-text-muted'> " suffix=</i> %> %> <% if <% param.linkCount %> is 0 then '' else <% param.linkCount prefix="<i class='uk-icon uk-icon-link uk-text-muted'> " suffix=</i> %> %>
</td> </td>
@ -288,18 +290,22 @@ $(function() {
<% #site %> <% #site %>
<tr> <tr>
<td style='max-width: 150px; overflow: hidden;'> <td class='uk-width-1-3 av-overflow'>
<div><% item.title default='<i>Untitled</i>' | item.link %></div> <div><% item.title default='<i>Untitled</i>' | item.link %></div>
<div class='uk-text-small'><% item.href %></div> <div class='uk-text-small'><% item.href | replace 'http://' '' | replace 'https://' '' %></div>
</td>
<td class='uk-text-truncate' title='<% item.created short %>' data-uk-tooltip="{pos: 'top-left'}">
<% item.created text %>
</td>
<td class='uk-text-truncate' title='<% item.modified short %>' data-uk-tooltip="{pos: 'top-left'}">
<% item.modified text %>
</td> </td>
<td><% item.created text %></td>
<td><% item.modified text %></td>
<td><% item.status %></td> <td><% item.status %></td>
<td><% item.mode %></td> <td><% item.mode %></td>
<td> <td>
<% item.notes prefix="<span title='" suffix="' data-uk-tooltip><i class='uk-icon-info-circle uk-text-muted'></i></span>" %> <% item.notes prefix="<span title='" suffix="' data-uk-tooltip><i class='uk-icon-info-circle uk-text-muted'></i></span>" %>
</td> </td>
<td class='uk-text-right' style='white-space: nowrap'> <td class='uk-text-right uk-text-nowrap'>
<% if <% item.mode %> is deleted then '' else <% if <% item.mode %> is deleted then '' else
<% item.link delete "<i class='uk-icon-trash-o'></i>" <% item.id %> %> <% item.link delete "<i class='uk-icon-trash-o'></i>" <% item.id %> %>
%> %>
@ -309,19 +315,23 @@ $(function() {
<% #user %> <% #user %>
<tr> <tr>
<td style='max-width: 200px; overflow: hidden;'> <td class='uk-width-1-3 av-overflow'>
<div class='uk-text-bold'> <div class='uk-text-bold'>
<% if <% item.url %> is null then <% item.name %> else <% item.name | item.link <% item.url %> %> %> <% if <% item.url %> is null then <% item.name %> else <% item.name | item.link <% item.url %> %> %>
</div> </div>
<div class='uk-text-small'><a href='mailto:<% item.email %>'><% item.email %></a></div> <div class='uk-text-small'><a href='mailto:<% item.email %>'><% item.email %></a></div>
</td> </td>
<td><% item.created text %></td> <td class='uk-text-truncate' title='<% item.created short %>' data-uk-tooltip="{pos: 'top-left'}">
<td><% item.modified text %></td> <% item.created text %>
</td>
<td class='uk-text-truncate' title='<% item.modified short %>' data-uk-tooltip="{pos: 'top-left'}">
<% item.modified text %>
</td>
<td><% item.status %></td> <td><% item.status %></td>
<td> <td>
<% item.notes prefix="<span title='" suffix="' data-uk-tooltip><i class='uk-icon-info-circle uk-text-muted'></i></span>" %> <% item.notes prefix="<span title='" suffix="' data-uk-tooltip><i class='uk-icon-info-circle uk-text-muted'></i></span>" %>
</td> </td>
<td class='uk-text-right' style='white-space: nowrap;'> <td class='uk-text-right uk-text-nowrap;'>
<% item.link delete "<i class='uk-icon-trash-o'></i>" %> <% item.link delete "<i class='uk-icon-trash-o'></i>" %>
<% item.link edit "<i class='uk-icon-pencil'></i>" %> <% item.link edit "<i class='uk-icon-pencil'></i>" %>
</td> </td>
@ -333,7 +343,5 @@ $(function() {
<td><% item.type %></td> <td><% item.type %></td>
<td><% item.id %></td> <td><% item.id %></td>
<td><% item.user %></td> <td><% item.user %></td>
<td style='white-space: nowrap;'> <td><% item.link delete "<i class='uk-icon-trash-o'></i>" %></td>
<% item.link delete "<i class='uk-icon-trash-o'></i>" %>
</td>
</tr> </tr>

View file

@ -21,7 +21,3 @@
<% choice.votes % | format #.#% %> <% choice.votes % | format #.#% %>
<% ngettext '{0} vote' '{0} votes' <% choice.votes %> prefix='(' suffix=')' %> <% ngettext '{0} vote' '{0} votes' <% choice.votes %> prefix='(' suffix=')' %>
</div> </div>
</p>
<% #graph %>
<div style='width: <% param.width %>px;' class='pollResultsBar'> </div>

View file

@ -1,11 +1,13 @@
<% #listItem %> <% #listItem %>
<tr> <tr>
<td style='max-width: 300px; overflow: hidden;'> <td class='uk-width-1-2 av-overflow'>
<a href='<% comment.href %>'><% comment.abstract %></a> <% if <% comment.comments count %> is 0 then '' else <% comment.comments count prefix="<i class='uk-icon-comments-o uk-text-muted'> " suffix='</i>' %> %> <a href='<% comment.href %>'><% comment.abstract %></a> <% if <% comment.comments count %> is 0 then '' else <% comment.comments count prefix="<i class='uk-icon-comments-o uk-text-muted'> " suffix='</i>' %> %>
</td> </td>
<td><% comment.creator %></td> <td class='uk-truncate'><% comment.creator %></td>
<td><% comment.modified text %></td> <td class='uk-truncate' title='<% comment.modified short %>' data-uk-tooltip="{pos: 'top-left'}">
<td style='white-space: nowrap;' class='uk-text-right'> <% comment.modified text %>
</td>
<td class='uk-text-right uk-text-nowrap'>
<a href='<% comment.story.href %>' title='<% comment.story.abstract %>' data-uk-tooltip="{pos: 'left'}"><i class='uk-icon-newspaper-o'></i></a> <a href='<% comment.story.href %>' title='<% comment.story.abstract %>' data-uk-tooltip="{pos: 'left'}"><i class='uk-icon-newspaper-o'></i></a>
<% comment.link delete "<i class='uk-icon-trash-o'></i>" %> <% comment.link delete "<i class='uk-icon-trash-o'></i>" %>
<% comment.link edit "<i class='uk-icon-pencil'></i>" %> <% comment.link edit "<i class='uk-icon-pencil'></i>" %>

View file

@ -11,10 +11,10 @@
<table class='uk-table uk-table-striped uk-table-hover uk-table-condensed'> <table class='uk-table uk-table-striped uk-table-hover uk-table-condensed'>
<thead> <thead>
<tr> <tr>
<td><% gettext Content %></td> <th><% gettext Content %></th>
<td><% gettext Author %></td> <th><% gettext Author %></th>
<td><% gettext Modified %></td> <th><% gettext Modified %></th>
<td></td> <th></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>

View file

@ -1,14 +1,16 @@
<% #listItem %> <% #listItem %>
<tr> <tr>
<td class='uk-text-right'><% file.requests %></td> <td class='uk-text-right'><% file.requests %></td>
<td style='max-width: 200px; overflow: hidden;'> <td class='uk-width-1-2 av-overflow'>
<span title='<% file.description %>' data-uk-tooltip="{pos: 'left'}"><% file.name | file.link %></span> <span title='<% file.description %>' data-uk-tooltip="{pos: 'top-left'}"><% file.name | file.link %></span>
</td> </td>
<!-- td style='white-space: nowrap;'><% file.contentLength %></td --> <!-- td class='uk-text-nowrap'><% //file.contentLength %></td -->
<td><% file.creator %></td> <td><% file.creator %></td>
<td><% file.created text %></td> <td class='uk-text-nowrap' title='<% file.created short %>' data-uk-tooltip="{pos: 'top-left'}">
<% file.modified text %>
</td>
<td class='uk-text-muted'><i class='uk-icon-file<% file.contentType generic prefix=- %>-o' title='<% file.contentType %>' data-uk-tooltip></i></td> <td class='uk-text-muted'><i class='uk-icon-file<% file.contentType generic prefix=- %>-o' title='<% file.contentType %>' data-uk-tooltip></i></td>
<td style='white-space: nowrap;' class='uk-text-right'> <td class='uk-text-right uk-text-nowrap'>
<a href='' class='av-clipboard-copy' data-text='<% gettext 'Please use the copy command.' %>' data-value="<% file.macro %>"><i class='uk-icon-clipboard'></i></a> <a href='' class='av-clipboard-copy' data-text='<% gettext 'Please use the copy command.' %>' data-value="<% file.macro %>"><i class='uk-icon-clipboard'></i></a>
<% file.link delete "<i class='uk-icon-trash-o'></i>" %> <% file.link delete "<i class='uk-icon-trash-o'></i>" %>
<% file.link edit "<i class='uk-icon-pencil'></i>" %> <% file.link edit "<i class='uk-icon-pencil'></i>" %>

View file

@ -9,13 +9,13 @@
<table class='uk-table uk-table-striped uk-table-hover uk-table-condensed'> <table class='uk-table uk-table-striped uk-table-hover uk-table-condensed'>
<thead> <thead>
<tr> <tr>
<td class='uk-text-right'><i class='uk-icon-download'></i></td> <th class='uk-text-right'><i class='uk-icon-download'></i></th>
<td><% gettext Name %></td> <th><% gettext Name %></th>
<!-- td><% gettext Size %></td --> <!-- th><% gettext Size %></th -->
<td><% gettext Author %></td> <th><% gettext Author %></th>
<td><% gettext Modified %></td> <th><% gettext Modified %></th>
<td></td> <th></th>
<td></td> <th></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>

View file

@ -28,20 +28,26 @@
</li> </li>
<% #upload %> <% #upload %>
<div class="upload" style="position: relative;"> <div class="av-upload">
<input type="file" id="<% param.name %>" name="<% param.name %>" <input type="file" id="<% param.name %>" name="<% param.name %>">
onchange='$("#<% param.name %>_origin").val($(this).val());' <div class="uk-width-1-1 av-upload-controls">
style="position: relative; z-index: 1; visibility: hidden;" /> <input class='uk-width-1-2' type="text" name="<% param.name %>_origin" id="<% param.name %>_origin" value="<% param.value %>"/>
<div class="text uk-width-1-1" style="position: absolute; z-index: 2; top: 0; left: 0;"> <button class='uk-button' id="<% param.name %>_control" name="<% param.name %>_control" type="button">
<input class='uk-width-1-2' type="text" name="<% param.name %>_origin"
id="<% param.name %>_origin" value="<% param.value %>"
onblur='$("#<% param.name %>").val("");' />
<button class='uk-button' id="<% param.name %>_control" name="<% param.name %>_control"
type="button" onclick='$("#<% param.name %>").click();'>
<% gettext "Browse" suffix=… %> <% gettext "Browse" suffix=… %>
</button> </button>
</div> </div>
</div> </div>
<script>
$('.av-upload input[type="file"]').on('change', function (event) {
$('#<% param.name %>_origin').val($(this).val());
});
$('.av-upload input[type="text"]').on('blur', function (event) {
$('#<% param.name %>').val('');
});
$('.av-upload button').on('click', function (event) {
$('#<% param.name %>').click();
})
</script>
<% #listItemFlag %> <% #listItemFlag %>
<td rowspan="2" width="10" align="center" valign="top" nowrap="nowrap" <td rowspan="2" width="10" align="center" valign="top" nowrap="nowrap"

View file

@ -1162,7 +1162,7 @@ function getLocales(language) {
result.push({ result.push({
value: localeString, value: localeString,
display: locale.getDisplayName(locale), display: locale.getDisplayName(locale),
'class': jala.i18n.getCatalog(jala.i18n.getLocale(localeString)) ? 'translated' : '' 'class': jala.i18n.getCatalog(jala.i18n.getLocale(localeString)) ? 'av-locale-translated' : ''
}); });
} }
} }

View file

@ -232,33 +232,6 @@ HopObject.prototype.notify = function(action) {
return true; return true;
} }
// Helper method for debugging
var renderMatrix = function() {
var buf = ['<table border=1 cellspacing=0>'];
for each (var scope in Admin.getNotificationScopes()) {
for each (var mode in Site.getNotificationModes()) {
for each (var status in Site.getStatus()) {
var perm = getPermission(scope.value, mode.value, status.value);
buf.push('<tr style="');
perm && buf.push('color: blue;');
if (scope.value === root.notificationScope && mode.value ===
site.notificationMode && status.value === site.status) {
buf.push(' background-color: yellow;');
}
buf.push('">');
buf.push('<td>', scope.value, '</td>');
buf.push('<td>', status.value, '</td>');
buf.push('<td>', mode.value, '</td>');
buf.push('<td>', perm, '</td>');
buf.push('</tr>');
}
}
}
buf.push('</table>');
res.write(buf.join(''));
return;
}
switch (action) { switch (action) {
case 'comment': case 'comment':
action = 'create'; break; action = 'create'; break;

View file

@ -1,19 +1,21 @@
<% #listItem %> <% #listItem %>
<tr> <tr>
<td> <td>
<% image.thumbnail data-uk-tooltip="{pos: 'left'}" | image.link class='uk-thumbnail' %> <% image.thumbnail data-uk-tooltip="{pos: 'right'}" | image.link class='uk-thumbnail' %>
</td> </td>
<!-- <!--
<td><% image.contentType | replace image/ '' %></td> <td><% //image.contentType | replace image/ '' %></td>
<td><% image.contentLength %></td> <td><% //image.contentLength %></td>
--> -->
<td><% image.width %>&times;<% image.height %></td> <td><% image.width %>&times;<% image.height %></td>
<td><% image.creator %></td> <td><% image.creator %></td>
<td><% image.modified text %></td> <td class='uk-text-truncate' title='<% image.modified short %>' data-uk-tooltip="{pos: 'top-left'}">
<td> <% image.modified text %>
</td>
<td class='uk-text-right'>
<% if <% image.tags count %> is 0 then '' else <% image.tags prefix="<i class='uk-text-muted uk-icon-tags' data-uk-tooltip title='" suffix="'></i>" %> %> <% if <% image.tags count %> is 0 then '' else <% image.tags prefix="<i class='uk-text-muted uk-icon-tags' data-uk-tooltip title='" suffix="'></i>" %> %>
</td> </td>
<td style='white-space: nowrap;' class='uk-text-right'> <td class='uk-text-right uk-text-nowrap'>
<a href='' class='av-clipboard-copy' data-text='<% gettext 'Please use the copy command.' %>' data-value="<% image.macro %>"><i class='uk-icon-clipboard'></i></a> <a href='' class='av-clipboard-copy' data-text='<% gettext 'Please use the copy command.' %>' data-value="<% image.macro %>"><i class='uk-icon-clipboard'></i></a>
<% image.link delete "<i class='uk-icon-trash-o'></i>" %> <% image.link delete "<i class='uk-icon-trash-o'></i>" %>
<% image.link edit "<i class='uk-icon-pencil'></i>" %> <% image.link edit "<i class='uk-icon-pencil'></i>" %>
@ -26,7 +28,7 @@
</div> </div>
<% #embed %> <% #embed %>
<div style='display: inline-block; max-width: 100%;'> <div class='av-image-box'>
<% image.render | image.link class='uk-thumbnail' %> <% image.render | image.link class='uk-thumbnail' %>
<div class='uk-text-right uk-text-muted uk-text-small'> <div class='uk-text-right uk-text-muted uk-text-small'>
<% gettext Source %>: <% image.site.title | image.link %> <% gettext Source %>: <% image.site.title | image.link %>

View file

@ -11,14 +11,16 @@
<table class='uk-table uk-table-striped uk-table-hover uk-table-condensed'> <table class='uk-table uk-table-striped uk-table-hover uk-table-condensed'>
<thead> <thead>
<tr> <tr>
<td></td> <th></th>
<!--td><% gettext Type %></td> <!--
<td><% gettext Size %></td--> <th><% gettext Type %></th>
<td>Pixels</td> <th><% gettext Size %></th>
<td><% gettext Author %></td> -->
<td><% gettext Modified %></td> <th>Pixels</th>
<td></td> <th><% gettext Author %></th>
<td></td> <th><% gettext Modified %></th>
<th></th>
<th></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>

View file

@ -18,11 +18,11 @@
</div> </div>
</div> </div>
<div class='uk-grid uk-form-row'> <div class='uk-grid uk-form-row'>
<legend class='uk-width-1-1 uk-margin-top' style='margin-bottom: -15px;'> <legend class='uk-width-1-1 uk-margin-top'>
<% gettext 'Variables' %> <% gettext 'Variables' %>
</legend> </legend>
<% layout.values %> <% layout.values %>
<div class='uk-margin-top'> <div class='uk-margin-bottom'>
<div class='uk-form-label'>&#160;</div> <div class='uk-form-label'>&#160;</div>
<a href='' class='uk-icon-button uk-icon-plus uk-text-middle' id='addVariable'></a> <a href='' class='uk-icon-button uk-icon-plus uk-text-middle' id='addVariable'></a>
</div> </div>
@ -53,7 +53,7 @@ $(function() {
</script> </script>
<% #value %> <% #value %>
<div class='uk-width-1-2 uk-margin-top av-variable-row'> <div class='uk-width-1-2 uk-margin-bottom av-variable-row'>
<div class='uk-form-label'> <div class='uk-form-label'>
<% param.key %> <% param.key %>
</div> </div>

View file

@ -68,24 +68,3 @@ LogEntry.prototype.getMacroHandler = function(name) {
} }
return null; return null;
} }
/**
*
* @param {Object} param
*/
LogEntry.prototype.label_macro = function(param) {
if (!User.require(User.PRIVILEGED)) {
return;
}
switch (this.context_type) {
case 'Site' :
res.write('<span class=\'flagDark\' style=\'background-color:#006600;\'>SITE</span>');
break;
case 'User' :
res.write('<span class=\'flagDark\' style=\'background-color:#009900;\'>USER</span>');
break;
default :
res.write('<span class=\'flagLight\' style=\'background-color:#FFCC00;\'>ROOT</span>');
}
return;
}

View file

@ -12,10 +12,10 @@
<table class='uk-table uk-table-striped uk-table-hover uk-table-condensed'> <table class='uk-table uk-table-striped uk-table-hover uk-table-condensed'>
<thead> <thead>
<tr> <tr>
<td><% gettext Name %></td> <th><% gettext Name %></th>
<td><% gettext Role %></td> <th><% gettext Role %></th>
<td><% gettext Subscribed %></td> <th><% gettext Subscribed %></th>
<td></td> <th></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -223,9 +223,9 @@ $(function() {
<table class='uk-table uk-table-striped uk-table-hover uk-table-condensed'> <table class='uk-table uk-table-striped uk-table-hover uk-table-condensed'>
<thead> <thead>
<tr> <tr>
<td><% gettext Name %></td> <th><% gettext Name %></th>
<td><% gettext Registered %></td> <th><% gettext Registered %></th>
<td></td> <th></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -235,8 +235,8 @@ $(function() {
<% #result %> <% #result %>
<tr> <tr>
<td class='uk-text-bold'><% param.name %></td> <td><% param.name %></td>
<td><% param.created %></td> <td title='<% param.created | format short %>' data-uk-tooltip="{pos: 'top-left'}"><% param.created | format text %></td>
<td class='uk-text-right'> <td class='uk-text-right'>
<a href='?name=<% param.name encoding=form %>'><i class='uk-icon-plus'></i></a> <a href='?name=<% param.name encoding=form %>'><i class='uk-icon-plus'></i></a>
</td> </td>

View file

@ -335,7 +335,7 @@ Members.prototype.search = function(searchString, limit) {
} }
self.renderSkin('$Members#result', { self.renderSkin('$Members#result', {
name: this.name, name: this.name,
created: formatDate(this.created, 'text') created: this.created
}); });
counter += 1; counter += 1;
}); });

View file

@ -29,10 +29,10 @@
%> %>
</td> </td>
<td><% membership.role %></td> <td><% membership.role %></td>
<td title='<% membership.created short %>' data-uk-tooltip> <td title='<% membership.created short %>' data-uk-tooltip="{pos: 'top-left'}">
<% membership.created text %> <% membership.created text %>
</td> </td>
<td style='white-space: nowrap;' class='uk-text-right'> <td class='uk-text-right uk-text-nowrap'>
<% membership.link contact "<i class='uk-icon-envelope-o'></i>" %> <% membership.link contact "<i class='uk-icon-envelope-o'></i>" %>
<% membership.link delete "<i class='uk-icon-trash-o'></i>" %> <% membership.link delete "<i class='uk-icon-trash-o'></i>" %>
<% membership.link edit "<i class='uk-icon-pencil'></i>" %> <% membership.link edit "<i class='uk-icon-pencil'></i>" %>
@ -45,7 +45,7 @@
<% subscription.title default=<% subscription.name %> | subscription.link %> <% subscription.title default=<% subscription.name %> | subscription.link %>
</td> </td>
<td><% membership.role %></td> <td><% membership.role %></td>
<td title='<% subscription.modified short %>' data-uk-tooltip> <td title='<% subscription.modified short %>' data-uk-tooltip="{pos: 'top-left'}">
<% subscription.modified text %> <% subscription.modified text %>
</td> </td>
<td class='uk-text-right'> <td class='uk-text-right'>

View file

@ -2,16 +2,18 @@
<a name="<% poll.id %>" id="<% poll.id %>"></a> <a name="<% poll.id %>" id="<% poll.id %>"></a>
<tr> <tr>
<td class='uk-text-right'><% poll.votes %></td> <td class='uk-text-right'><% poll.votes %></td>
<td style='max-width: 200px; overflow: hidden;'> <td class='uk-width-1-2 av-overflow'>
<% poll.question | stripTags | poll.link %> <% poll.question | stripTags | poll.link %>
</td> </td>
<td><% poll.creator %></td> <td class='uk-text-truncate'><% poll.creator %></td>
<td><% poll.created text %></td> <td class='uk-text-truncate' title='<% poll.modified short %>' data-uk-tooltip="{pos: 'top-left'}">
<% poll.modified text %>
</td>
<td class='uk-text-right'> <td class='uk-text-right'>
<% poll.link status <% if <% poll.status %> is open then "<i class='uk-icon-unlock'></i>" else "<i class='uk-icon-lock'></i>" %> %> <% poll.link status <% if <% poll.status %> is open then "<i class='uk-icon-unlock'></i>" else "<i class='uk-icon-lock'></i>" %> %>
</td> </td>
<td style='white-space: nowrap;' class='uk-text-right'> <td class='uk-text-right uk-text-nowrap'>
<a href='' class='av-clipboard-copy' data-text='<% gettext 'Please use the copy command.' %>' data-value="<% poll.macro %>"><i class='uk-icon-clipboard'></i></a><span title='' data-uk-tooltip="{pos: 'left'}"> <a href='' class='av-clipboard-copy' data-text='<% gettext 'Please use the copy command.' %>' data-value="<% poll.macro %>"><i class='uk-icon-clipboard'></i></a><span title='' data-uk-tooltip="{pos: 'right'}">
<% poll.link delete "<i class='uk-icon-trash-o'></i>" %> <% poll.link delete "<i class='uk-icon-trash-o'></i>" %>
<% poll.link edit "<i class='uk-icon-pencil'></i>" %> <% poll.link edit "<i class='uk-icon-pencil'></i>" %>
</td> </td>
@ -64,7 +66,7 @@ else
<div class='uk-margin-top uk-panel uk-panel-box'> <div class='uk-margin-top uk-panel uk-panel-box'>
<% param.title prefix="<h1 class='uk-panel-title'>" suffix=</h1> %> <% param.title prefix="<h1 class='uk-panel-title'>" suffix=</h1> %>
<% poll.loop skin="$Choice#result" %> <% poll.loop skin="$Choice#result" %>
<div style='float: left;'> <div class='uk-float-left'>
<strong><% gettext Total suffix=: %></strong> <strong><% gettext Total suffix=: %></strong>
<% ngettext "{0} vote" "{0} votes" <% poll.votes %> %> <% ngettext "{0} vote" "{0} votes" <% poll.votes %> %>
</div> </div>
@ -109,7 +111,7 @@ else
<% gettext Save %> <% gettext Save %>
</button> </button>
<% if <% poll.status %> is open then <% if <% poll.status %> is open then
<% poll.link status <% gettext Stop %> class='uk-button uk-button-danger' style='color: #fff;' %> <% poll.link status <% gettext Stop %> class='uk-button uk-button-danger' %>
else else
<% gettext "Save and Run" prefix="<button class='uk-button uk-button-success' type='submit' name='save' value='open'>" suffix=</button> %> <% gettext "Save and Run" prefix="<button class='uk-button uk-button-success' type='submit' name='save' value='open'>" suffix=</button> %>
%> %>

View file

@ -10,12 +10,12 @@
<table class='uk-table uk-table-striped uk-table-hover uk-table-condensed'> <table class='uk-table uk-table-striped uk-table-hover uk-table-condensed'>
<thead> <thead>
<tr> <tr>
<td class='uk-text-right'><i class='uk-icon-bar-chart'></i></td> <th class='uk-text-right'><i class='uk-icon-bar-chart'></i></th>
<td><% gettext Question %></td> <th><% gettext Question %></th>
<td><% gettext Author %></td> <th><% gettext Author %></th>
<td><% gettext Modified %></td> <th><% gettext Modified %></th>
<td></td> <th></th>
<td></td> <th></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>

View file

@ -41,8 +41,9 @@
<table class='uk-table uk-table-striped uk-table-hover uk-table-condensed'> <table class='uk-table uk-table-striped uk-table-hover uk-table-condensed'>
<thead> <thead>
<tr> <tr>
<td><% gettext Title %></td> <th><% gettext Title %></th>
<td><% gettext 'Last Update' %></td> <th><% gettext 'Last Update' %></th>
<th><% gettext User %></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -123,147 +124,112 @@
<% #stylesheet %> <% #stylesheet %>
@import '<% root.static ../../styles/main.min.css %>'; @import '<% root.static ../../styles/main.min.css %>';
/* CSS for protected skins (user interface elements etc.) */ .av-page {
width: 900px; // FIXME: Could we use the `vw` unit already?
ul { list-style: url(<% image /bullet.gif url %>) circle; }
ul.skinmgrTree {
padding-left:15px;
margin:20px 0px;
} }
ul.skinmgrTree ul { .av-border-left {
padding-left:30px; border-left: 1px solid #ddd;
margin:0px;
} }
ul.skinmgrTree li { .av-overflow {
list-style:none; // FIXME: Is this cross-browser compatible?
margin:7px 0px; max-width: 0;
padding:0px; overflow: hidden;
} }
ul.skinmgrTree li.skinset { .av-upload {
list-style:square; position: relative;
padding-left:0px;
input[type='file'] {
position: relative;
z-index: 1;
visibility: hidden;
} }
ul.skinmgrTree a.selected { .av-upload-controls {
font-weight:bold; position: absolute;
z-index: 2;
top: 0;
left: 0;
}
} }
ul.skinmgrTree li div { .av-image-box {
font-family:<% value "small font" %>; display: inline-block;
font-size:<% value "small font size" %>; max-width: 100%;
color:<% value "base font color" %>;
} }
div.skin { .av-tagged {
/*margin: 1px; .av-tagged-image {
border: 1px solid gray;*/ opacity: 0;
img {
display: inline-block;
margin: 0;
padding: 0;
vertical-align: bottom;
opacity: 1;
}
.Caption_Content {
color: #fff;
padding: 10px;
}
}
} }
div.skin div.title { .av-header {
display: none; margin-top: 5px;
padding: 2px;
color: gray; .av-header-bg {
font: normal 8px verdana, sans-serif; position: relative;
} }
#prefs select { .av-header-bg-chaos {
width: 200px; float: left;
width: 262px;
height: 53px;
margin-left: -40px;
background: url('<% image /webloghead.gif url %>');
} }
.nowrap { .av-header-bg-offset {
white-space: nowrap; height: 53px;
margin-left: 222px;
} }
.translated { .av-header-bg-dots {
position: relative;
top: 7px;
height: 38px;
background: url('<% image /dot.gif url %>');
}
.av-title {
position: relative;
top: -50px;
overflow: visible;
white-space: nowrap;
font-family: Verdana, Helvetica, Arial, sans-serif;
font-size: 25px;
font-weight: bold;
transform: translateY(50%);
}
}
.av-skin-active {
background: #fff;
opacity: .25;
}
av-translated-locale {
font-weight: bold; font-weight: bold;
} }
.pageTitle { .av-layout-sandbox {
font-family:<% value "big font" %>;
font-size:<% value "big font size" %>;
font-weight:bold;
color:<% value "big font color" %>;
padding-bottom:10pt;
}
.listItemSeparator {
margin-top:15px;
border-top:1px solid #dddddd;
}
.listItemFlag {
padding: 1px;
color: white;
background-color: #cccccc;
border: 1px solid white;
font: 11px monospace;
line-height: 10px;
}
.label {
margin-right: 1px;
padding: 2px 3px;
color: white;
font-family: sans-serif;
font-size: 0.8em;
letter-spacing: 1px;
text-transform: uppercase;
}
.adminHighlight {
margin-top: 5px;
padding: 1px 10px;
background-color: yellow;
border: 1px solid <% value 'link color' %>;
}
.Root, .blocked {
background-color: black;
}
.Site, .public, .privileged {
background-color: #006600;
}
.User, .trusted {
background-color: #0000cc;
}
.regular {
display: none;
}
.open {
padding: 1px 2px;
color: #0000cc;
border: 1px solid #0000cc;
}
.restricted {
padding: 1px 2px;
color: #006600;
border: 1px solid #006600;
}
.closed {
background-color: #cc0000;
}
.deleted {
padding: 1px 2px;
color: #cc0000;
border: 1px solid #cc0000;
}
.layout-sandbox {
height: 22px; height: 22px;
} }
.layout-sandbox div { .av-layout-sandbox div {
position: fixed; position: fixed;
top: 0; top: 0;
left: 0; left: 0;
@ -284,12 +250,13 @@ div.skin div.title {
text-decoration: none !important; text-decoration: none !important;
} }
.helma-debug-line /*:has(script)*/ {
border: none !important;
}
// FIXME: This belongs to the connect module!
.connect img { .connect img {
padding: 2px 0; padding: 2px 0;
vertical-align: middle; vertical-align: middle;
opacity: .3; opacity: .3;
} }
.helma-debug-line /*:has(script)*/ {
border: none !important;
}

View file

@ -3,7 +3,7 @@
<% gettext 'Antville is an open source project aimed at the development of a simple site hosting system with many advanced <a href="http://code.google.com/p/antville/wiki/AntvilleFeatures">features</a>.' %> <% gettext 'Antville is an open source project aimed at the development of a simple site hosting system with many advanced <a href="http://code.google.com/p/antville/wiki/AntvilleFeatures">features</a>.' %>
</p> </p>
<p> <p>
<a style='color: #fff;' class='uk-button uk-button-success' href='<% site.href create %>'> <a class='uk-button uk-button-success' href='<% site.href create %>'>
<% gettext "Create a site. It only takes a few clicks." %> <% gettext "Create a site. It only takes a few clicks." %>
</a> </a>
</p> </p>

View file

@ -3,8 +3,11 @@
<% #listItem %> <% #listItem %>
<tr> <tr>
<td><% site.title | site.link %></td> <td class='uk-width-6-10'><% site.title | site.link %></td>
<td><% gettext '{0} by {1}' <% site.modified text %> <% site.modifier %> %></td> <td class='uk-text-truncate' title='<% site.modified short %>' data-uk-tooltip="{pos: 'top-left'}">
<% site.modified text %>
</td>
<td><% site.modifier %></td>
</tr> </tr>
<% #search %> <% #search %>
@ -36,21 +39,31 @@
<Query role="example" searchTerms="cat" /> <Query role="example" searchTerms="cat" />
</OpenSearchDescription> </OpenSearchDescription>
<% #menuExt %> <% #header %>
<script type="text/javascript" defer="defer"> <header class='av-header'>
var win = external.menuArguments; <div class='av-header-bg'>
var url = "<% site.url %>stories/create?text="; <div class='av-header-bg-chaos'></div>
var link = escape('<a href="' + win.location.href + '">' + <div class='av-header-bg-offset'>
win.document.title + "</a>: "); <div class='av-header-bg-dots'></div>
var text = escape(win.document.selection.createRange().text); </div>
win.location.href = url + link + text; </div>
</script> <div class='av-title'>
<% site.title | site.link title=<% site.tagline %> %>
</div>
</header>
<% #menuExtRegistry %> <% #footer %>
REGEDIT4 <footer>
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\Post to <% site.title %>] <hr class='uk-margin-large-top'>
@="<% site.url %>menuext" <div class='uk-text-small uk-margin-bottom uk-float-left'>
"contexts"=hex:31 <div><% gettext 'Created {0}' <% site.created text %> %>.</div>
<div><% gettext 'Last modified {0}' <% site.modified text %> %>.</div>
</div>
<div class='uk-text-right'>
<% image /smallchaos.gif | link http://antville.org %> &
<% image /helma.png | link http://helma.org %>
</div>
</footer>
<% #referrers %> <% #referrers %>
<h1><% response.title %></h1> <h1><% response.title %></h1>
@ -73,12 +86,12 @@ REGEDIT4
</form> </form>
<% #referrerTable %> <% #referrerTable %>
<table class='uk-table uk-table-condensed'> <table class='uk-table uk-table-condensed uk-table-striped uk-table-hover'>
<thead> <thead>
<tr> <tr>
<td class='uk-text-right'><i class='uk-icon-bar-chart'></i></td> <th class='uk-text-right'><i class='uk-icon-bar-chart'></i></th>
<td><% gettext Referrer %></td> <th><% gettext Referrer %></th>
<td></td> <th></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -126,7 +139,7 @@ $(function () {
filter = urlShortenerFilters[i]; filter = urlShortenerFilters[i];
if (filter.test(url)) { if (filter.test(url)) {
urlShortenerCounter += parseInt(count, 10); urlShortenerCounter += parseInt(count, 10);
row.hide(); row.remove();
} }
} }
if (spamFilter.test(url)) { if (spamFilter.test(url)) {
@ -134,11 +147,11 @@ $(function () {
ref.addClass('uk-text-muted'); ref.addClass('uk-text-muted');
control.remove(); control.remove();
} else { } else {
row.hide(); row.remove();
} }
} }
if (query.filter && !searchFilter.test(url)) { if (query.filter && !searchFilter.test(url)) {
row.hide(); row.remove();
} }
var re = new RegExp('[:/].*$'); var re = new RegExp('[:/].*$');
for (var i = 0, filter; i < searchEngineFilters.length; i += 1) { for (var i = 0, filter; i < searchEngineFilters.length; i += 1) {
@ -169,14 +182,15 @@ $(function () {
} }
} }
} else { } else {
firstRow.hide(); firstRow.remove();
} }
}); });
</script> </script>
<% #referrer %> <% #referrer %>
<tr class='av-referrer-row'> <tr class='av-referrer-row'>
<td class='uk-text-right av-referrer-count'><% param.requests %></td> <td class='uk-text-right av-referrer-count'><% param.requests %></td>
<td class='av-referrer' style='max-width: 400px; overflow: hidden;'> <td class='av-referrer av-overflow uk-width-1-1'>
<% param.referrer | link %> <% param.referrer | link %>
</td> </td>
<td class='av-referrer-control uk-text-right'> <td class='av-referrer-control uk-text-right'>
@ -367,6 +381,27 @@ $(function() {
$('input#callbackUrl').prop('disabled', !this.checked); $('input#callbackUrl').prop('disabled', !this.checked);
}); });
$('input#callbackUrl').prop('disabled', !$('input#callbackMode').prop('checked')); $('input#callbackUrl').prop('disabled', !$('input#callbackMode').prop('checked'));
// Group related <option> elements by inserting additional <optgroup> elements.
var groups = [];
var element = $('form #timeZone');
element.find('option').each(function(index, item) {
var zone = $(item);
var parts = zone.html().split('/'); // E.g. Europe/Vienna
var group = parts[0];
if ($.inArray(group, groups) < 0) {
groups.push(group);
}
});
groups.sort();
$.each(groups, function(index, group) {
var key = group + '/'; // E.g. Europe/
element.find('option:contains(' + key + ')')
.wrapAll($('<optgroup>').attr('label', group))
.each(function(index, item) {
$(item).html($(item).html().replace(key, ''));
});
});
}); });
</script> </script>
@ -400,7 +435,7 @@ $(function() {
</div> </div>
</div> </div>
<div class='uk-form-row'> <div class='uk-form-row'>
<a style='color: #fff;' href='<% this.href delete %>' class='uk-button uk-button-danger'> <a href='<% this.href delete %>' class='uk-button uk-button-danger'>
<i class='uk-icon-trash-o'></i> <i class='uk-icon-trash-o'></i>
Delete this site Delete this site
</a> </a>
@ -447,3 +482,19 @@ script.type = 'text/javascript';
script.src = '<% param.href %>'; script.src = '<% param.href %>';
document.head.appendChild(script);" document.head.appendChild(script);"
%> %>
<% #menuExt %>
<script type="text/javascript" defer="defer">
var win = external.menuArguments;
var url = "<% site.url %>stories/create?text=";
var link = escape('<a href="' + win.location.href + '">' +
win.document.title + "</a>: ");
var text = escape(win.document.selection.createRange().text);
win.location.href = url + link + text;
</script>
<% #menuExtRegistry %>
REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\Post to <% site.title %>]
@="<% site.url %>menuext"
"contexts"=hex:31

View file

@ -52,42 +52,25 @@ prefix="Last update: " default="None so far" %>)</span></li>
<head> <head>
<meta charset='utf-8'> <meta charset='utf-8'>
<title><% response.title %></title> <title><% response.title %></title>
<link rel='icon' type='image/x-icon' href='<% image /ant-icon.png url %>'> <link rel='icon' type='image/x-icon' href='<% image /ant-icon.png url %>'>
<link rel='shortcut icon' type='image/x-icon' href='<% image /ant-icon.png url %>'> <link rel='shortcut icon' type='image/x-icon' href='<% image /ant-icon.png url %>'>
<link rel='search' type='application/opensearchdescription+xml' href='<% site.href search.xml %>' title='<% site.title %>'> <link rel='search' type='application/opensearchdescription+xml' href='<% site.href search.xml %>' title='<% site.title %>'>
<link rel='alternate' type='application/rss+xml' title='Stories and comments of <% site.title %>' href='<% site.href rss.xml %>'> <link rel='alternate' type='application/rss+xml' title='Stories and comments of <% site.title %>' href='<% site.href rss.xml %>'>
<link rel='alternate' type='application/rss+xml' title='Stories of <% site.title %>' href='<% site.href stories.xml %>'> <link rel='alternate' type='application/rss+xml' title='Stories of <% site.title %>' href='<% site.href stories.xml %>'>
<link rel='alternate' type='application/rss+xml' title='Comments of <% site.title %>' href='<% site.href comments.xml %>'> <link rel='alternate' type='application/rss+xml' title='Comments of <% site.title %>' href='<% site.href comments.xml %>'>
<link rel='alternate' type='application/rss+xml' title='Sites of <% root.title %>' href='<% root.href updates.xml %>'> <link rel='alternate' type='application/rss+xml' title='Sites of <% root.title %>' href='<% root.href updates.xml %>'>
<link rel='stylesheet' type='text/css' href='<% site.href main.css %>'> <link rel='stylesheet' type='text/css' href='<% site.href main.css %>'>
<script type='text/javascript' src='<% site.href main.js %>'></script> <script type='text/javascript' src='<% site.href main.js %>'></script>
</head> </head>
<body class='uk-container-center' style='width: 900px;'> <body class='uk-container-center av-page'>
<% site.skin $Site#header %>
<header class='av-header'>
<div class='av-header-bg'>
<div class='av-header-bg-chaos'></div>
<div class='av-header-bg-offset'>
<div class='av-header-bg-dots'></div>
</div>
</div>
<div class='av-title'>
<% site.title | site.link title=<% site.tagline %> %>
</div>
</header>
<div class='uk-grid'> <div class='uk-grid'>
<div class='uk-width-7-10'> <div class='uk-width-7-10'>
<% response.message prefix="<div class='uk-alert' data-uk-alert>" suffix=</div> %> <% response.message prefix="<div class='uk-alert' data-uk-alert>" suffix=</div> %>
<% response.body %> <% response.body %>
</div> </div>
<div class='uk-width-3-10'> <div class='uk-width-3-10'>
<div style='border-left: 1px solid #ddd; margin-left: 20%;'> <div class='uk-margin-large-left av-border-left'>
<% membership.status %> <% membership.status %>
<ul class='uk-nav uk-nav-side'> <ul class='uk-nav uk-nav-side'>
<li class='uk-nav-divider'/> <li class='uk-nav-divider'/>
@ -104,424 +87,102 @@ prefix="Last update: " default="None so far" %>)</span></li>
</div> </div>
</div> </div>
</div> </div>
<% site.skin $Site#footer %>
<footer>
<hr class='uk-margin-large-top'>
<div class='uk-text-small uk-margin-bottom' style='float: left;'>
<div><% gettext 'Created {0}' <% site.created text %> %>.</div>
<div><% gettext 'Last modified {0}' <% site.modified text %> %>.</div>
</div>
<div style='float: right;'>
<% image /smallchaos.gif | link http://antville.org %> &
<% image /helma.png | link http://helma.org %>
</div>
</footer>
</body> </body>
</html> </html>
<% #javascript %> <% #javascript %>
var imgWindow = "";
function openPopup(img, width, height) { function openPopup(img, width, height) {
if (img && width && height) { if (img && width && height) {
width = Math.min(width + 36, 640); width = Math.min(width + 36, 640);
height = Math.min(height + 30, 480); height = Math.min(height + 30, 480);
if (imgWindow.location && !imgWindow.closed) var win = openPopup.window;
imgWindow.close(); if (win && win.location && !win.closed) {
imgWindow = window.open(img, "imgWindow" + width + height, win.close();
"toolbar=no,location=no,directories=no,status=no,scrollbars=yes,resizable=yes,width=" + }
width + ",height=" + height); win = window.open(img, 'antvillePopupWindow-' + width + '-' + height,
// imgWindow.focus(); 'toolbar=no,location=no,directories=no,status=no,scrollbars=yes,resizable=yes,width=' + width + ',height=' + height);
//win.focus();
openPopup.window = win;
} }
} }
$(function () {
// Highlight the current navigation menu item
var counter = 0;
$('.uk-nav li').each(function (index, element) {
if (counter > 0) {
return;
}
var href = String($(element).find('a').attr('href')) + location.hash;
if (href && location.href.lastIndexOf(href) + href.length === location.href.length) {
$(element).addClass('uk-active');
counter += 1;
}
});
});
<% #values %> <% #values %>
<% value "base font" "Helvetica, Arial, sans-serif" %> <% value 'font' 'Helvetica, Arial, sans-serif' %>
<% value "background color" #ffffff %> <% value 'background color' #fff %>
<% value "link color" #ff4040 %> <% value 'link color' #ff4040 %>
<% value "active link color" #ff4040 %> <% value 'hover color' #d50000 %>
<% value "visited link color" #ff4040 %>
<% #stylesheet %> <% #stylesheet %>
.av-header { @button-background: #f5f5f5;
margin-top: 5px; @button-hover-background: #fafafa;
.av-header-bg { body {
position: relative; background-color: <% value 'background color' %>;
} font-family: <% value font %>;
color: <% value 'text color' %>;
}
.av-header-bg-chaos { a {
float: left; color: <% value 'link color' %>;
width: 262px; &:hover {
height: 53px; color: <% value 'hover color' %>;
margin-left: -40px;
background: url('<% image /webloghead.gif url %>');
}
.av-header-bg-offset {
height: 53px;
margin-left: 222px;
}
.av-header-bg-dots {
position: relative;
top: 7px;
height: 38px;
background: url('<% image /dot.gif url %>');
}
.av-title {
position: relative;
top: -50px;
overflow: visible;
white-space: nowrap;
font-family: Verdana, Helvetica, Arial, sans-serif;
font-size: 25px;
font-weight: bold;
transform: translateY(50%);
} }
} }
.av-poll-result-bar { .av-poll-result-bar {
height: 5px; height: 5px;
overflow: hidden; overflow: hidden;
float:left; float: left;
margin-top: 7px; margin-top: 7px;
margin-right: 10px; margin-right: 10px;
background-color: <% value "link color" %>; background-color: <% value "link color" %>;
font-size: 0px; font-size: 0px;
} }
.av-skin.active { .uk-button-primary {
background: <% value "background color" %>; background: @button-background;
opacity: .25; border-color: <% value 'link color' %>;
color: <% value 'link color' %>;
&:hover {
background: @button-hover-background;
border-color: <% value 'hover color' %>;
color: <% value 'hover color' %>;
}
} }
.av-skin-edit-link { .uk-pagination > .uk-active > span {
color: <% value "small font color" %> !important; background: @button-background;
border-color: <% value 'link color' %>;
color: <% value 'link color' %>;
} }
.uk-button-group.av-link-group a { .uk-button-link, .uk-subnav > li > a {
border-right: none; color: <% value 'link color' %>;
&:hover {
color: <% value 'hover color' %>;
}
} }
.jala-calendar { .uk-nav-side > li.uk-active > a {
width: 100%; background: none;
text-align: center; color: <% value 'link color' %>;
/*color: <% value "small font color" %>; box-shadow: none;
font-family: <% value "small font" %>; font-weight: bold;
font-size: <% value "small font size" %>;*/
} }
.jala-calendar tbody td, .jala-calendar tfoot td { .uk-alert {
/*font-size: <% value "small font size" %>;*/ background: @button-background;
border-color: #333;
border-color: rgba(0, 0, 0, 0.3);
color: #999;
} }
.jala-calendar tbody th { .jala-calendar-selected, .jala-calendar-selected a {
font-weight: normal; background: @button-background;
} color: <% value 'link color' %>;
.jala-calendar-day {
width: 14.27%;
text-align: center;
}
.jala-calendar-left {
text-align: center;
vertical-align: baseline;
}
.jala-calendar-right {
border: 0;
text-align: center;
vertical-align: baseline;
} }
.jala-calendar-selected { .jala-calendar-selected {
border: 1px solid <% value "link color" %>; border: 1px solid <% value "link color" %>;
} }
old {
body {
background-color: <% value "background color" %>;
font-family: <% value "base font" %>;
font-size: <% value "base font size" %>;
color: <% value "base font color" %>;
}
table.main {
width: 700px;
}
td {
font-size: <% value "base font size" %>;
line-height: 1.2em;
}
td.header {
max-width: 700px;
height: 53px;
padding-left: 40px;
background-image: url(<% image /webloghead.gif url %>);
background-repeat: no-repeat;
font-size: 25px;
font-weight: bold;
}
td.center {
width: 70%;
padding: 25px 20px 10px 40px;
vertical-align: top;
}
td.right {
width: 30%;
padding: 0px 0px 10px 0px;
vertical-align: top;
border-left: 1px solid #dddddd;
}
div.boxheader {
color: <% value "small font color" %>;
overflow: hidden;
font-size: 10px;
padding-left: 6px;
border-top: 1px solid #dddddd;
}
div.boxline {
height:1px;
overflow:hidden;
border-bottom: 1px solid #dddddd;
}
div.box {
font-size: <% value "small font size" %>;
font-family: <% value "small font" %>;
color: <% value "small font color" %>;
line-height: 1.4em;
text-align: right;
padding: 0em 0em 0.4em 0.4em;
margin: 0em 0em 0.2em 0em;
}
div.ample { margin-bottom: 5px; }
small, .small {
font-family: <% value "small font" %>;
font-size: <% value "small font size" %>;
color: <% value "small font color" %>;
}
/* this is for mozilla to right-align tables in boxes */
div.box table {
margin-left: auto;
margin-right: 0px;
}
p + fieldset {
width: 360px;
padding-left: 8px;
padding-top: 0px;
margin-top: 6px;
margin-bottom: 6px;
border: 1px solid <% value "small font color" %>;
}
p {
margin-top: 6px;
margin-bottom: 10px;
}
form { margin: 0px; }
a, a:link {
text-decoration: none;
color: <% value "link color" %>;
}
a:visited {color: <% value "visited link color" %>;}
a:active {color: <% value "active link color" %>;}
a:hover {text-decoration: underline;}
.message {
font-family: <% value "small font" %>;
font-size: <% value "small font size" %>;
font-weight: bold;
padding: 1px;
margin-top: 6px;
margin-bottom: 6px;
color: <% value "big font color" %>;
}
.message input {
font-size:9px;
padding:0px;
margin:0px;
}
.historyItem {
color: <% value "base font color" %>;
font-family: <% value "small font" %>;
font-size: <% value "small font size" %>;
padding-bottom: 0.3em;
width: 202px;
overflow: hidden;
}
.dayHeader {
font-family: <% value "small font" %>;
font-size: <% value "small font size" %>;
color: <% value "small font color" %>;
font-weight: bold;
margin-bottom: 20px;
margin-top: 10px;
text-align: left;
}
.storyDate {
font-family: <% value "small font" %>;
font-size: <% value "small font size" %>;
color: <% value "small font color" %>;
margin-bottom: 6px;
}
.storyTitle {
font-family: <% value "big font" %>;
font-size: <% value "big font size" %>;
color: <% value "big font color" %>;
font-weight: bold;
}
.listSeparator {
width: 50px;
height: 1em;
border-bottom: 2px dotted #dddddd;
margin-top: 10px;
margin-bottom: 4px;
}
.title {
font-family: <% value "big font" %>;
font-size: <% value "big font size" %>;
color: <% value "base font color" %>;
font-weight: bold;
margin-bottom: 2px;
}
.reply { padding-left: 40px; }
.formTitle {
width: 380px;
font-family: <% value "big font" %>;
font-size: <% value "big font size" %>;
font-weight: bold;
border: 1px solid <% value "small font color" %>;
}
.formText {
width: 380px;
font-family: <% value "base font" %>;
font-size: <% value "base font size" %>;
font-weight: normal;
border: 1px solid <% value "small font color" %>;
}
.formWide {
width: 660px;
font-family: <% value "base font" %>;
font-size: <% value "base font size" %>;
font-weight: normal;
}
.searchbox {
font-size: 11px;
margin-top: 3px;
}
.colorpickerWidget {
border: 1px solid #cccccc;
}
.pagelinkTop {
margin-bottom: 18px;
padding-bottom:3px;
border-bottom:1px solid #dddddd;
}
.pagelinkBottom {
margin-top: 18px;
padding-top:3px;
border-top:1px solid #dddddd;
text-align:right;
}
div.pageNav {
margin-top: 10px;
margin-bottom: 0px;
font-size: 11px;
}
div.pageNavSummary {
padding: 1px 5px;
background-color: #efefef;
border-bottom: 1px solid #cccccc;
text-align: left;
}
div.pageNavBar {
padding-top: 1px;
text-align: right;
}
span.pageNavItem {
padding-left: 2px;
padding-right: 2px;
}
span.pageNavSelItem {
padding-left: 2px;
padding-right: 2px;
font-weight: bold;
}
.membergroup {
font-weight:bold;
font-size:<% value "big font size" %>;
margin:10px 0px;
}
.member {
margin-left:20px;
margin-bottom:5px;
}
}
/* NEW 1.5 */
.uk-nav-divider + .uk-nav-divider,
.uk-nav-header + .uk-nav-header {
display: none;
}
.uk-nav-side .uk-nav-divider {
margin-top: 15px;
border-top: none;
}

View file

@ -2,9 +2,11 @@
<tr> <tr>
<td><% skin.name prefix=<% skin.prototype suffix=. %> %></td> <td><% skin.name prefix=<% skin.prototype suffix=. %> %></td>
<td><% skin.creator %></td> <td><% skin.creator %></td>
<td><% skin.created text %></td> <td title='<% skin.modified short %>' data-uk-tooltip="{pos: 'top-left'}">
<% skin.modified text %>
</td>
<td class='uk-text-muted uk-text-right'><% if <% skin.custom %> is true then "<i class='uk-icon-user'></i>" %></td> <td class='uk-text-muted uk-text-right'><% if <% skin.custom %> is true then "<i class='uk-icon-user'></i>" %></td>
<td class='uk-text-right' style='white-space: nowrap;'> <td class='uk-text-right uk-text-nowrap;'>
<a href='' class='av-clipboard-copy' data-text='<% gettext 'Please use the copy command.' %>' data-value="<% skin.macro %>"><i class='uk-icon-clipboard'></i></a> <a href='' class='av-clipboard-copy' data-text='<% gettext 'Please use the copy command.' %>' data-value="<% skin.macro %>"><i class='uk-icon-clipboard'></i></a>
<% skin.link compare "<i class='uk-icon-files-o'></i>"%> <% skin.link compare "<i class='uk-icon-files-o'></i>"%>
<% skin.link reset "<i class='uk-icon-undo'></i>" %> <% skin.link reset "<i class='uk-icon-undo'></i>" %>
@ -14,8 +16,8 @@
<% #edit %> <% #edit %>
<form class='uk-form' method="post" action="<% response.action %>"> <form class='uk-form' method="post" action="<% response.action %>">
<div class='uk-margin-top uk-margin-left uk-margin-right'> <div class='uk-margin-top uk-margin-left uk-margin-right uk-clearfix'>
<h1 class='uk-margin-large-right' style='float: left;'><% response.title %></h1> <h1 class='uk-margin-large-right uk-float-left'><% response.title %></h1>
<span style='line-height: 39px;'> <span style='line-height: 39px;'>
<span class='uk-article-meta' style='vertical-align: bottom; display: inline-block;'> <span class='uk-article-meta' style='vertical-align: bottom; display: inline-block;'>
<% skin.skin $HopObject#meta %> <% skin.skin $HopObject#meta %>
@ -31,9 +33,7 @@
</span> </span>
<% response.message prefix="<div class='uk-alert' data-uk-alert>" suffix=</div> %> <% response.message prefix="<div class='uk-alert' data-uk-alert>" suffix=</div> %>
</div> </div>
<div style='clear: both;'> <% skin.textarea source %>
<% skin.textarea source %>
</div>
</form> </form>
<script type='text/javascript'> <script type='text/javascript'>
$(function() { $(function() {
@ -61,30 +61,40 @@ $(function() {
<% #compare %> <% #compare %>
<form> <form>
<div class='uk-margin-top uk-margin-left'> <div class='uk-margin-top uk-margin-left uk-clearfix'>
<h1 class='uk-margin-large-right' style='float: left;'><% response.title %></h1> <h1 class='uk-margin-large-right uk-float-left'><% response.title %></h1>
<span style='line-height: 42px;'> <span style='line-height: 42px;'>
<% skin.link edit <% gettext Edit %> class='uk-button uk-button-primary' style='color: #fff;' %> <% skin.link edit <% gettext Edit %> class='uk-button uk-button-primary' %>
<% skin.link reset <% gettext Reset %> class='uk-button' %> <% skin.link reset <% gettext Reset %> class='uk-button' %>
<a href='<% request.http_referer %>' class='uk-button uk-button-link'><% gettext Cancel %></a> <a href='<% request.http_referer %>' class='uk-button uk-button-link'><% gettext Cancel %></a>
</span> </span>
</div> </div>
<div style='clear: both;'> <div>
<% response.message prefix="<div class='uk-alert' data-uk-alert>" suffix=</div> %> <% response.message prefix="<div class='uk-alert' data-uk-alert>" suffix=</div> %>
<table class="diff"> <table class='uk-table uk-table-condensed uk-table-striped'>
<% response.diff %> <thead>
<tr>
<th></th>
<th><% gettext 'Modified skin' %></th>
<th></th>
<th><% gettext 'Original skin' %></th>
</tr>
</thead>
<tbody>
<% response.diff %>
</tbody>
</table> </table>
</div> </div>
</form> </form>
<% #difference %> <% #difference %>
<tr> <tr>
<td class='line-number'><% param.leftLineNumber %></td> <td class='uk-text-muted uk-text-right'><% param.leftLineNumber %></td>
<td class='<% param.leftStatus %>'> <td class='uk-width-1-2 av-overflow <% param.leftStatus prefix='av-line-' %>'>
<div class='line' style='white-space: pre-wrap;'><% param.left %></div> <div class='av-line'><% param.left %></div>
</td> </td>
<td class='line-number'><% param.rightLineNumber %></td> <td class='uk-text-muted uk-text-right'><% param.rightLineNumber %></td>
<td class='line <% param.rightStatus %>'> <td class='uk-width-1-2 av-overflow <% param.rightStatus prefix='av-line-' %>'>
<div class='line' style='white-space: pre-wrap;'><% param.right %></div> <div class='av-line'><% param.right %></div>
</td> </td>
</tr> </tr>

View file

@ -6,7 +6,6 @@
<title><% response.title %></title> <title><% response.title %></title>
<link rel="stylesheet" type="text/css" title="CSS Stylesheet" href="<% site.href main.css %>" /> <link rel="stylesheet" type="text/css" title="CSS Stylesheet" href="<% site.href main.css %>" />
<link rel='stylesheet' type='text/css' href='<% root.static ../../styles/main.min.css %>'> <link rel='stylesheet' type='text/css' href='<% root.static ../../styles/main.min.css %>'>
<style type="text/css"> <style type="text/css">
body { body {
margin: 0; margin: 0;
@ -19,39 +18,23 @@
height: auto; height: auto;
border-top: 1px solid #eee; border-top: 1px solid #eee;
} }
/* classes for skin diff */ .av-line {
.diff { font-family: monospace;
padding: 0; white-space: pre-wrap;
margin: 0;
border: 0;
border-collapse: collapse;
} }
.diff td { .av-line-removed {
width: 50%;
padding: 2px 5px;
border-bottom: 1px solid #eee;
vertical-align: top;
}
.diff .line {
overflow: hidden;
}
.diff .line-number {
width: 2em;
color: #cccccc;
text-align: right;
}
.diff .removed {
background-color: #fff1f0; background-color: #fff1f0;
} }
.diff .added { .av-line-added {
background-color: #f2fae3; background-color: #f2fae3;
} }
</style> </style>
<script type='text/javascript' src='<% site.href main.js %>'></script> <script type='text/javascript' src='<% site.href main.js %>'></script>
</head> </head>
<body> <body>
<span style='float: right;' class='uk-margin-right'><% image /smallchaos.gif | link <% layout.skins.href %> %></span> <span class='uk-margin-right uk-float-right'>
<% image /smallchaos.gif | link <% layout.skins.href %> %>
</span>
<% response.body %> <% response.body %>
</body> </body>
</html> </html>
@ -87,11 +70,11 @@
<table class='uk-table uk-table-striped uk-table-hover uk-table-condensed'> <table class='uk-table uk-table-striped uk-table-hover uk-table-condensed'>
<thead> <thead>
<tr> <tr>
<td><% gettext Name %></td> <th><% gettext Name %></th>
<td><% gettext Author %></td> <th><% gettext Author %></th>
<td><% gettext Modified %></td> <th><% gettext Modified %></th>
<td></td> <th></th>
<td></td> <th></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>

View file

@ -11,13 +11,13 @@
<table class='uk-table uk-table-striped uk-table-hover uk-table-condensed'> <table class='uk-table uk-table-striped uk-table-hover uk-table-condensed'>
<thead> <thead>
<tr> <tr>
<td class='uk-text-right'><i class='uk-icon-comments-o'></i></td> <th class='uk-text-right'><i class='uk-icon-comments-o'></i></th>
<td><% gettext Content %></td> <th><% gettext Content %></th>
<td><% gettext Author %></td> <th><% gettext Author %></th>
<td><% gettext Modified %></td> <th><% gettext Modified %></th>
<td></td> <th></th>
<td></td> <th></th>
<td></td> <th></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>

View file

@ -1,13 +1,15 @@
<% #listItem %> <% #listItem %>
<tr> <tr>
<td class='uk-text-right'><% story.comments count %></td> <td class='uk-text-right'><% story.comments count %></td>
<td style='max-width: 200px; overflow: hidden;'> <td class='uk-width-1-2 av-overflow'>
<a href='<% story.href %>' title='<% ngettext '{0} request' '{0} requests' <% story.requests %> %>' data-uk-tooltip="{pos: 'left'}"> <a href='<% story.href %>' title='<% ngettext '{0} request' '{0} requests' <% story.requests %> %>' data-uk-tooltip="{pos: 'top-left'}">
<% story.abstract %> <% story.abstract %>
</a> </a>
</td> </td>
<td><% story.creator %></td> <td class='uk-text-truncate'><% story.creator %></td>
<td><% story.modified text %></td> <td class='uk-text-truncate' title='<% story.modified short %>' data-uk-tooltip="{pos: 'top-left'}">
<% story.modified text %>
</td>
<td> <td>
<% //if <% story.status %> is closed then "<i class='uk-text-muted uk-icon-lock'></i>" %> <% //if <% story.status %> is closed then "<i class='uk-text-muted uk-icon-lock'></i>" %>
<% //if <% story.status %> is public then "<i class='uk-text-muted uk-icon-unlock'></i>" %> <% //if <% story.status %> is public then "<i class='uk-text-muted uk-icon-unlock'></i>" %>
@ -15,11 +17,11 @@
<% if <% story.status %> is open then "<i class='uk-text-muted uk-icon-globe'></i>" %> <% if <% story.status %> is open then "<i class='uk-text-muted uk-icon-globe'></i>" %>
<% if <% story.tags count %> is 0 then '' else <% story.tags prefix="<i class='uk-text-muted uk-icon-tags' data-uk-tooltip title='" suffix="'></i>" %> %> <% if <% story.tags count %> is 0 then '' else <% story.tags prefix="<i class='uk-text-muted uk-icon-tags' data-uk-tooltip title='" suffix="'></i>" %> %>
</td> </td>
<td style='white-space: nowrap;'> <td class='uk-text-nowrap'>
<% story.link status <% if <% story.status %> is closed then lock else unlock prefix="<i class='uk-icon-" suffix="'></i>" %> %> <% story.link status <% if <% story.status %> is closed then lock else unlock prefix="<i class='uk-icon-" suffix="'></i>" %> %>
<% story.link mode <% if <% story.mode %> is hidden then eye-slash else eye prefix="<i class='uk-icon-" suffix="'></i>" %> %> <% story.link mode <% if <% story.mode %> is hidden then eye-slash else eye prefix="<i class='uk-icon-" suffix="'></i>" %> %>
</td> </td>
<td style='white-space: nowrap;' class='uk-text-right'> <td class='uk-text-nowrap uk-text-right'>
<a href='' data-value="<% story.macro %>" data-text='<% gettext "Please use the copy command." %>' class='av-clipboard-copy'><i class='uk-icon-clipboard'></i></a> <a href='' data-value="<% story.macro %>" data-text='<% gettext "Please use the copy command." %>' class='av-clipboard-copy'><i class='uk-icon-clipboard'></i></a>
<% story.link delete "<i class='uk-icon-trash-o'></i>" %> <% story.link delete "<i class='uk-icon-trash-o'></i>" %>
<% story.link edit "<i class='uk-icon-pencil'></i>" %> <% story.link edit "<i class='uk-icon-pencil'></i>" %>

View file

@ -63,10 +63,8 @@
<fieldset class='uk-margin-top'> <fieldset class='uk-margin-top'>
<legend><% gettext Options %></legend> <legend><% gettext Options %></legend>
<div class='uk-form-row'> <div class='uk-form-row'>
<% gettext "The story is {0} and {1}" <% story.select status %> <% story.select mode %> %> <% gettext "The story is {0} and {1}" <% story.select status %> <% story.select mode %> %>.
</div> <% gettext "Comments of the story are {0}" <% story.select commentMode %> %>.
<div class='uk-form-row'>
<% gettext "Comments of the story are {0}" <% story.select commentMode %> %>
</div> </div>
</fieldset> </fieldset>
<fieldset class='uk-margin-top'> <fieldset class='uk-margin-top'>

View file

@ -5,6 +5,7 @@
<a href='<% tag.href action=<% request.action encoding='form' %> %>'><% tag.name %></a> <a href='<% tag.href action=<% request.action encoding='form' %> %>'><% tag.name %></a>
</td> </td>
<td class='uk-text-right'> <td class='uk-text-right'>
<% tag.link rss.xml "<i class='uk-icon-rss'></i>" %>
<% tag.link delete "<i class='uk-icon-trash-o'></i>" class='deleteTag' data-av-tag-url=<% tag.href delete %> %> <% tag.link delete "<i class='uk-icon-trash-o'></i>" class='deleteTag' data-av-tag-url=<% tag.href delete %> %>
<% tag.link rename "<i class='uk-icon-pencil'></i>" class='renameTag' data-av-tag-url=<% tag.href rename %> %> <% tag.link rename "<i class='uk-icon-pencil'></i>" class='renameTag' data-av-tag-url=<% tag.href rename %> %>
</td> </td>

View file

@ -6,15 +6,15 @@
<table class='uk-table uk-table-striped uk-table-hover uk-table-condensed'> <table class='uk-table uk-table-striped uk-table-hover uk-table-condensed'>
<thead> <thead>
<tr> <tr>
<td class='uk-text-right'> <th class='uk-text-right'>
<% if <% tags.self __name__ %> is tags then <% if <% tags.self __name__ %> is tags then
"<i class='uk-icon-newspaper-o'></i>" "<i class='uk-icon-newspaper-o'></i>"
else else
"<i class='uk-icon-image'></i>" "<i class='uk-icon-image'></i>"
%> %>
</td> </th>
<td class='uk-width-5-6'><% gettext Name %></td> <th class='uk-width-5-6'><% gettext Name %></th>
<td></td> <th></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>

View file

@ -30,10 +30,10 @@
<table class='uk-table uk-table-striped uk-table-hover uk-table-condensed'> <table class='uk-table uk-table-striped uk-table-hover uk-table-condensed'>
<thead> <thead>
<tr> <tr>
<td><% gettext Site %></td> <th><% gettext Site %></th>
<td><% gettext Role %></td> <th><% gettext Role %></th>
<td><% gettext 'Last Update' %></td> <th><% gettext 'Last Update' %></th>
<td></td> <th></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -63,7 +63,7 @@
</label> </label>
<div class='uk-form-controls'> <div class='uk-form-controls'>
<% user.input url type=url class='uk-form uk-width-1-2' %> <% user.input url type=url class='uk-form uk-width-1-2' %>
<a href='<% user.url %>'><i class='uk-icon-globe'></i></a> <a href='<% user.url %>'><i class='uk-icon-link'></i></a>
</div> </div>
</div> </div>
<div class='uk-form-row'> <div class='uk-form-row'>
@ -140,7 +140,7 @@ $(function () {
</div> </div>
</div> </div>
<div class='uk-form-row'> <div class='uk-form-row'>
<a style='color: #fff;' href='<% this.href delete %>' class='uk-button uk-button-danger'> <a href='<% this.href delete %>' class='uk-button uk-button-danger'>
<i class='uk-icon-trash-o'></i> <i class='uk-icon-trash-o'></i>
Delete this account Delete this account
</a> </a>

View file

@ -27,6 +27,7 @@
"dependencies": { "dependencies": {
"codemirror": "^4.10.0", "codemirror": "^4.10.0",
"jquery": "^2.1.3", "jquery": "^2.1.3",
"js-md5": "^0.1.3",
"uikit": "git://github.com/uikit/uikit" "uikit": "git://github.com/uikit/uikit"
}, },
"devDependencies": { "devDependencies": {