antville/code/Site/$Site.skin

947 lines
28 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<% #href %>
<% param.path %>
<% #listItem %>
<tr>
<td class='uk-width-6-10'><% site.title | site.link %></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>
<% #search %>
<h1><% response.title %></h1>
<form class='uk-form' method='post' action='<% site.href search %>'>
<div class='uk-form-controls'>
<input type='text' class='uk-width-1-2' name='q' value='<% request.q encoding="form" %>' required>
<button type='submit' name='search' value='1' class='uk-button uk-button-primary'>
<% gettext Find %>
</button>
<a href='<% site.href %>' class='uk-button uk-button-link'><% gettext Cancel %></a>
</div>
</form>
<p>
<% if <% response.count %> is null then '' else <% ngettext 'Showing {0} result' 'Showing {0} results' <% response.count %> suffix=. %> %>
</p>
<dl class='uk-description-list-line'>
<% response.result %>
</dl>
<% #opensearchdescription %>
<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName><% site.title %></ShortName>
<Description>Search the site <% site.href %></Description>
<Tags>antville search</Tags>
<Image height="16" width="16" type="image/vnd.microsoft.icon"><% image /ant-icon.png url %></Image>
<Url type="text/html" template="<% site.href search %>?q={searchTerms}" />
<Query role="example" searchTerms="cat" />
</OpenSearchDescription>
<% #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>
<% #footer %>
<footer>
<hr class='uk-margin-large-top'>
<div class='uk-text-small uk-margin-bottom uk-float-left'>
<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>
<% #javascript %>
document.addEventListener('DOMContentLoaded', function () {
// Injecting main.css if necessary for compatibility reasons
if (!document.querySelector('link[href$=main\\.css]')) {
var link = document.createElement('link');
link.href = '<% site.href main.css %>';
link.rel = 'stylesheet';
link.type = 'text/css';
document.head.appendChild(link);
}
});
<% site.skin Site#javascript | script %>
window.scripts = [];
<% #include %>
(function (url) {
//document.writeln("<script type='text/javascript' src='<% param.href %>'></script>");
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = url;
var scripts = document.head.getElementsByTagName('script');
document.head.insertBefore(script, scripts[0]);
})('<% param.href %>');
<% #stylesheet %>
@import '<% root.static ../../styles/main.min.css %>';
@font: Helvetica, Arial, sans-serif;
@background-color: #fff;
@link-color: #ff4040;
@hover-color: #d50000;
// Compat
@font-family: <% value 'base font' default=inherit %>;
@font-size: <% value 'base font size' default=inherit %>;
@font-color: <% value 'base font color' default=inherit %>;
@font-family-small: <% value 'small font' default=inherit %>;
@font-size-small: <% value 'small font size' default=inherit %>;
@font-color-small: <% value 'small font color' default=inherit %>;
@font-family-large: <% value 'big font' default=inherit %>;
@font-size-large: <% value 'big font size' default=inherit %>;
@font-color-large: <% value 'big font color' default=inherit %>;
@background-color: <% value 'background color' default=inherit %>;
@link-color: <% value 'link color' default=inherit %>;
@hover-color: <% value 'active link color' default=inherit %>;
@muted-color: contrast(@background-color, lighten(@background-color, 33%), darken(@background-color, 33%));
@muted-background: fadeout(@muted-color, 75%);
// Overwriting some classes defined by UIKit to go along with Antvilles layout
html, body {
background-color: @background-color;
font-family: @font-family;
font-size: @font-size;
}
body {
margin: 8px;
}
h1, h2, h3, h4, h5, h6 {
color: @font-color-large;
font-family: @font-family-large;
}
a {
color: @link-color;
&:hover {
color: @hover-color;
}
}
em {
color: @font-color;
}
img {
//max-width: initial; // FIXME: compatibility
}
/*
hr {
// FIXME: compatibility
margin: initial;
box-sizing: initial;
height: initial;
border-top-color: initial;
}
*/
.uk-text-muted, .uk-article-meta, .uk-description-list-line > dd {
color: @muted-color !important;
}
.uk-table-striped tbody tr:hover, .uk-table-striped tbody tr:nth-of-type(odd) {
background: inherit;
}
.uk-button-group.av-link-group a {
border-right: initial;
}
.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;
}
.uk-alert {
background: @muted-background;
border-color: @muted-color;
color: @muted-color;
text-shadow: none;
}
.uk-icon-button {
&:link, &:visited {
background-color: @background-color;
color: @link-color;
border-color: @link-color;
text-shadow: initial;
}
&:hover {
background-color: @background-color;
color: @hover-color;
border-color: @hover-color;
text-shadow: initial;
}
}
.uk-button {
&, &:link, &:visited {
background-color: @background-color;
color: @font-color;
border-color: @font-color;
text-shadow: initial;
}
&:hover {
background-color: @background-color;
color: @hover-color;
border-color: @hover-color;
}
&.uk-button-link {
border: initial;
&:link, &:visited {
color: @link-color;
}
&:hover {
color: @hover-color;
}
}
&.uk-button-primary {
background-color: @background-color;
border-style: double;
border-color: @link-color;
color: @link-color;
font-weight: bold;
&:hover {
background: inherit;
border-color: @hover-color;
color: @hover-color;
}
}
}
.uk-pagination {
& > li > a {
background: @background-color;
color: @link-color;
border-color: @link-color;
text-shadow: initial;
&:hover {
background: @background-color;
color: @hover-color;
border-color: @hover-color;
}
}
& > .uk-active > span {
background: @background-color;
border-color: @font-color-small;
color: @font-color-small;
font-weight: bold;
}
& > .uk-disabled > span {
background: @muted-background;
color: @muted-color;
border-color: @muted-color;
text-shadow: initial;
}
}
.uk-subnav > li > a {
&:link, &:visited {
color: @link-color;
}
&:hover {
color: @hover-color;
}
}
.uk-nav-side > li.uk-active > a {
background: none;
color: @link-color;
box-shadow: none;
font-weight: bold;
}
.uk-thumbnail img {
max-width: 100%;
}
h1 a, .uk-table a {
&:visited {
color: @link-color;
}
&:hover {
color: @hover-color;
}
}
// Here come the classes defining the default Antville layout
.av-page {
width: 900px; // FIXME: Could we use the `vw` unit already?
}
.av-sprite {
display: inline-block;
vertical-align: middle;
}
.av-border-left {
border-left: 1px solid #ddd;
}
.av-overflow {
// FIXME: Is this cross-browser compatible?
max-width: 0;
overflow: hidden;
}
.av-invisible {
visibility: hidden;
}
.av-upload {
position: relative;
input[type='file'] {
position: relative;
z-index: 1;
visibility: hidden;
}
.av-upload-controls {
position: absolute;
z-index: 2;
top: 0;
left: 0;
}
}
.av-image-box {
display: inline-block;
max-width: 100%;
}
.av-tagged {
.av-tagged-image {
opacity: 0;
img {
max-width: 100%;
display: inline-block;
margin: 0;
padding: 0;
vertical-align: bottom;
opacity: 1;
}
.Caption_Content {
color: #fff;
padding: 10px;
}
}
}
.av-poll-result-bar {
display: inline-block;
height: 0.5rem;
overflow: hidden;
margin-right: 0.5rem;
background-color: @link-color;
}
.av-header {
margin-top: 5px;
.av-header-bg {
position: relative;
}
.av-header-bg-chaos {
float: left;
width: 262px;
height: 53px;
margin-left: -40px;
background: url('<% image /spritesheet.png url %>');
background-position: 5px -139px;
}
.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 %>');
background-position-x: 1px;
}
.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;
}
.av-layout-sandbox {
height: 22px;
}
.av-layout-sandbox div {
position: fixed;
top: 0;
left: 0;
right: 0;
height: 22px;
padding: 0 20px;
background: url('<% image /sandbox.png url %>');
background-position: 0 23px;
text-align: left;
}
.av-skin-control {
margin: 5px 0;
}
.av-skin-edit-link {
padding: 2px;
text-decoration: none !important;
}
// Overwriting some Helma and Jala classes for debugging and calendar integration
.helma-debug-line /*:has(script)*/ {
border: none !important;
}
.jala-calendar {
width: 100%;
text-align: center;
}
.jala-calendar tbody th {
font-weight: normal;
color: @font-color;
}
.jala-calendar-day {
width: 14.27%;
line-height: 1.2rem;
text-align: center;
a {
font-weight: bold;
}
}
.jala-calendar-selected {
border: 1px solid @font-color-small;
border-radius: 4px;
font-weight: bold;
}
.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
.gs-result .gs-title, .gs-result .gs-title * {
text-decoration: none !important;
}
a.gs-title:hover {
text-decoration: underline !important;
}
.gsc-results {
width: auto !important;
}
.cse .gsc-control-cse, .gsc-control-cse, .gsc-result-info, .gcsc-branding, .gsc-table-result, .gsc-thumbnail-inside, .gsc-url-top {
padding-left: 0 !important;
padding-right: 0 !important;
}
.gsc-results .gsc-cursor-box {
margin: 10px 0 0 0 !important;
}
.gs-no-results-result .gs-snippet, .gs-error-result .gs-snippet {
margin: 0 !important;
}
.gs-webResult div.gs-visibleUrl, .gs-imageResult div.gs-visibleUrl {
color: #999 !important;
}
.gcsc-branding-img-noclear {
width: 51px;
height: 15px;
max-width: initial;
vertical-align: text-bottom;
}
<% #referrers %>
<h1><% response.title %></h1>
<form class='uk-form' action="<% response.action %>" method="get">
<div class='uk-form-row'>
<input class='uk-width-1-2' type="text" name="filter" value="<% request.filter encoding="form" %>">
<button class='uk-button uk-button-primary' type="submit" name="submit" value="1"><% gettext Search %></button>
<a class='uk-button' href='<% site.href referrers %>'>
<% gettext Reset %>
</a>
<div class='uk-form-help-block'>
<label>
<input type="checkbox" id="includeSpam" name="includeSpam" value="checked" <% request.includeSpam prefix='checked="' suffix='"' encoding="form" %> />
<% gettext 'Disable filter' %>
<i class='uk-icon uk-icon-info-circle uk-text-muted' data-uk-tooltip="{pos: 'right'}"title='<% gettext "Edit the filter in the site settings." %>'></i>
</label>
</div>
</div>
<% site.skin $Site#referrerTable %>
</form>
<% #referrerTable %>
<table class='uk-hidden uk-table uk-table-condensed uk-table-striped uk-table-hover av-referrers'>
<thead>
<tr>
<th class='uk-text-right'><i class='uk-icon-bar-chart'></i></th>
<th><% gettext Referrer %></th>
<th></th>
</tr>
</thead>
<tbody>
<% site.skin $Site#referrer %>
<% response.list %>
</tbody>
</table>
<script type="text/javascript">
scripts.push(function () {
var query = new Antville.Query();
var spamFilter = new Antville.Filter([<% site.spamfilter %>]);
var searchFilter = new Antville.Filter(query.filter);
var searchEngineFilters = [
new Antville.Filter("\/\/.*altavista.*\?", "q"),
new Antville.Filter("\/\/.*bing\..*\?", "q"),
new Antville.Filter("\/\/.*google\..*\?", "q"),
new Antville.Filter("\/\/.*search\.yahoo\..*\?", "p"),
new Antville.Filter("\/\/.*yandex\..*\?", "text")
];
var urlShortenerCounter = 0;
var urlShortenerFilters = [
new Antville.Filter('\/\/bit\.ly/'),
new Antville.Filter('\/\/goo\.gl/'),
new Antville.Filter('\/\/owl\.ly/'),
new Antville.Filter('\/\/t\.co/'),
new Antville.Filter('\/\/tinyurl\.com/')
];
$('.av-referrer-row').each(function (index) {
if (index < 1) return;
var row = $(this);
var ref = row.find('.av-referrer a');
var url = ref.attr('href');
var count = row.find('.av-referrer-count').html();
var control = row.find('.av-referrer-control a');
control.on('click', function (event) {
event.preventDefault();
var input = prompt("<% gettext 'Are you sure you want to add this URL to the referrer spam filter?'%> <% gettext 'You can edit it before if you only want to filter a pattern.' %>", url);
if (input) {
location.href = '<% site.href referrers %>?submit=1&permanent=' + encodeURIComponent(input);
}
});
var referrer = new Antville.Referrer(url, url, count);
ref.html(referrer.text);
for (var i = 0, filter; i < urlShortenerFilters.length; i += 1) {
filter = urlShortenerFilters[i];
if (filter.test(url)) {
urlShortenerCounter += parseInt(count, 10);
row.remove();
}
}
if (spamFilter.test(url)) {
if (query.includeSpam) {
ref.addClass('uk-text-muted');
control.remove();
} else {
row.remove();
}
}
if (query.filter && !searchFilter.test(url)) {
row.remove();
}
var re = new RegExp('[:/].*$');
for (var i = 0, filter; i < searchEngineFilters.length; i += 1) {
filter = searchEngineFilters[i];
if (filter.test(url)) {
var host = referrer.text.replace(re, '');
ref.html(referrer.compose('<i><% gettext "Search" %> ' + host + ':</i>', filter.key));
break;
}
}
});
var firstRow = $('.av-referrer-row:first');
if (urlShortenerCounter > 0) {
firstRow.find('.av-referrer-count')
.html(urlShortenerCounter)
.end()
.find('.av-referrer')
.html('URL Shorteners')
.end()
.find('.av-referrer-control a')
.remove();
var rows = $('.av-referrer-row');
for (var i = 1, count; i < rows.length; i += 1) {
count = parseInt(rows.eq(i).find('.av-referrer-count').html(), 10);
if (count >= urlShortenerCounter) {
firstRow.insertAfter(rows.eq(i));
break;
}
}
} else {
firstRow.remove();
}
if ($('.av-referrers tbody').children().length > 0) {
$('.av-referrers').removeClass('uk-hidden');
}
});
</script>
<% #referrer %>
<tr class='av-referrer-row'>
<td class='uk-text-right av-referrer-count'><% param.requests %></td>
<td class='av-referrer av-overflow uk-width-1-1'>
<% param.referrer | link %>
</td>
<td class='av-referrer-control uk-text-right'>
<a href='javascript:'><i class='uk-icon uk-icon-filter'></i></a>
</td>
</tr>
<% #deleted %>
<% gettext "This site is going to be deleted completely and irreversibly after {0}." <% site.deleted | format long %> %>
<% #export %>
<h1><% gettext "Export Site Data" %></h1>
<p>
<% if <% param.status %> is null then <% if <% file.self %> is null then '' else <% gettext "Download the file {0} or klick “Start” to create a new one." <% file.skin File#main %> '<small>' <% file.created | format short %> '</small>' %> %> else <% param.status %> %>
</p>
<form action="" method="post">
<button type="submit" name="submit" value="<% if <% param.status %> is null then start else stop %>" class='uk-button uk-button-primary'>
<% if <% param.status %> is null then <% gettext Start %> else <% gettext Stop %> %>
</button>
<a href='<% site.href %>' class='uk-button uk-link-button'><% gettext Cancel %></a>
</form>
<% #import %>
<h1><% gettext 'Import Site Data' %></h1>
<p>
<% if <% file.self %> is null then '' else <% gettext "The site is scheduled for importing the file {0}. The imported site data will be available within 24 hours." <% file.skin File#main %> '</a>' '<small>' <% file.created | format short %> '</small>' %> %>
</p>
<form class='uk-form uk-form-stacked' method="post" enctype="multipart/form-data">
<div class='uk-form-row'>
<label class='uk-form-label' for=''>
<% gettext File %>
</label>
<div class='uk-form-controls'>
<% if <% file.self %> is null then <% site.upload file %> %>
</div>
</div>
<div class='uk-form-row'>
<button class='uk-button uk-button-primary' type="submit" name="submit" value="<% if <% file.self %> is null then start else stop %>">
<% if <% file.self %> is null then <% gettext Start %> else <% gettext Stop %> %>
</button>
<a href='<% site.href %>' class='uk-button uk-button-link'><% gettext Cancel %></a>
</div>
</form>
<% #edit %>
<h1><% response.title %></h1>
<div class='uk-article-meta'><% site.skin $HopObject#meta %></div>
<form class='uk-form uk-form-stacked' id="edit" method="post" action="<% response.action %>">
<fieldset>
<div class='uk-form-row uk-margin-top'>
<label class='uk-form-label' for='mode'>
<% gettext Mode %>
</label>
<div class='uk-form-controls'>
<% site.select mode %>
</div>
</div>
<div class='uk-form-row'>
<label class='uk-form-label' for='title'>
<% gettext Title %>
</label>
<div class='uk-form-controls'>
<% site.input title class='uk-width-1-1' %>
</div>
</div>
<div class='uk-form-row'>
<label class='uk-form-label' for='tagline'>
<% gettext Description %>
</label>
<div class='uk-form-controls'>
<% site.input tagline class='uk-width-1-1' %>
</div>
</div>
<div class='uk-form-row'>
<label class='uk-form-label' for='pageSize'>
<% gettext Paging %>
</label>
<div class='uk-form-controls'>
<% site.input pageSize class='uk-width-1-6' type=number min=1 max=25 %>
<% gettext "{0} per page" <% gettext "stories" %> %>
<% // site.select pageMode %>
</div>
</div>
<div class='uk-form-row'>
<label class='uk-form-label' for='commentMode'>
<% gettext Comments %>
</label>
<div class='uk-form-controls'>
<label>
<% site.checkbox commentMode %>
enabled
</label>
</div>
</div>
<div class='uk-form-row'>
<label class='uk-form-label'>
<% gettext Archive %>
</label>
<div class='uk-form-controls'>
<label>
<% site.checkbox archiveMode %>
<% gettext enabled %>
</label>
</div>
</div>
<div class='uk-form-row'>
<label class='uk-form-label' for='locale'>
<% gettext Language %>
</label>
<div class='uk-form-controls'>
<% site.select locale %>
</div>
</div>
<div class='uk-form-row'>
<label class='uk-form-label' for='timeZone'>
<% gettext 'Time Zone' %>
</label>
<div class='uk-form-controls'>
<% site.select timeZone %>
</div>
</div>
<div class='uk-form-row'>
<label class='uk-form-label' for='notificationMode'>
<% gettext Notifications %>
</label>
<div class='uk-form-controls'>
<% site.select notificationMode %>
</div>
</div>
</fieldset>
<% site.skin $Site#admin restricted=true %>
<fieldset class='uk-margin-top'>
<legend><% gettext Advanced %></legend>
<div class='uk-form-row'>
<label class='uk-form-label' for='callbackUrl'>
<% gettext 'Callback URL' %>
</label>
<div class='uk-form-controls'>
<% site.input callbackUrl type=url class='uk-width-1-1' %>
<label>
<% site.checkbox callbackMode %>
<% gettext enabled %>
</label>
</div>
</div>
<div class='uk-form-row'>
<label class='uk-form-label'>
<% gettext 'Disk Space' %>
</label>
<div class='uk-form-controls'>
<% site.diskspace %>
</div>
</div>
<div class='uk-form-row'>
<label class='uk-form-label'>
<% gettext Bookmarklet %>
</label>
<div class='uk-form-controls'>
<a class='uk-button' data-uk-tooltip='{pos: "right"}' href="javascript: var siteUrl = '<% site.href %>'; var selection = (window.getSelection) ? window.getSelection() : document.selection.createRange(); selection = selection.text || selection; selection = selection + ''; var url='<% root.static %>../../formica.html?s=' + encodeURIComponent(siteUrl) + '&l=' + encodeURIComponent(location.href) + '&r=' + encodeURIComponent(document.referrer) + '&w=400&h=400&c=' + encodeURIComponent(selection || document.title); window.open(url, 'formica', 'width=630, height=350'); void 0;" title="<% gettext 'Drag to Bookmarks Bar' %>"><% gettext "Post to {0}" <% site.title %> %></a>
</div>
</div>
</fieldset>
<a id="spamfilter" name="spamfilter"></a>
<fieldset class='uk-margin-top'>
<legend><% gettext "Referrer Filter" %></legend>
<div class='uk-form-row'>
<div class='uk-form-controls'>
<% site.textarea spamfilter rows=5 class='uk-width-1-1' %>
<p class="uk-form-help-block">
<% gettext "Enter one filter {0}pattern{1} per line to be applied on every URL in the referrer and backlink lists." '<a href="http://en.wikipedia.org/wiki/Regular_expression">' </a> %>
</p>
</div>
</div>
</fieldset>
<div class='uk-margin-top'>
<button class='uk-button uk-button-primary' type="submit" id="submit" name="save" value="1">
<% gettext Save %>
</button>
<% site.link delete <% gettext Delete %> class='uk-button' %>
<a href='<% site.href %>' class="uk-button uk-button-link"><% gettext Cancel %></a>
</div>
</form>
<script>
scripts.push(function () {
$('input#callbackMode').on('click', function(event) {
$('input#callbackUrl').prop('disabled', !this.checked);
});
$('input#callbackUrl').prop('disabled', !$('input#callbackMode').prop('checked'));
// Group related <option> elements by inserting additional <optgroup> elements.
var groups = [];
var element = $('form#edit #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>
<% #admin %>
<a name='admin' id='admin'></a>
<fieldset class='uk-margin-top'>
<legend><% gettext Administration %></legend>
<div class='uk-form-row'>
<label class='uk-form-label' for='status'>
<% gettext Status %>
</label>
<div class='uk-form-controls'>
<% site.select status %>
</div>
</div>
<div class='uk-form-row'>
<label class='uk-form-label' for='status'>
<% gettext Information %>
</label>
<div><% ngettext "{0} Story" "{0} Stories" <% count <% site.self stories %> %> %></div>
<div><% ngettext "{0} Comment" "{0} Comments" <% count <% site.self comments %> %> %></div>
<div><% ngettext "{0} Image" "{0} Images" <% count <% site.self images %> %> %></div>
<div><% ngettext "{0} File" "{0} Files" <% count <% site.self files %> %> %></div>
</div>
<div class='uk-form-row'>
<label class='uk-form-label' for='notes'>
<% gettext Notes %>
</label>
<div class='uk-form-controls'>
<% site.textarea notes class='uk-width-1-1' rows=5 %>
</div>
</div>
</fieldset>
<% #delete %>
<div class='uk-alert uk-alert-danger'>
<% gettext 'You are about to delete the whole site which currently contains {0}, {1}, {2}, {3} and {4}.'
<% ngettext '{0} story' '{0} stories' <% count <% site.self stories %> %> %>
<% ngettext '{0} comment' '{0} comments' <% count <% site.self comments %> %> %>
<% ngettext '{0} image' '{0} images' <% count <% site.self images %> %> %>
<% ngettext '{0} file' '{0} files' <% count <% site.self files %> %> %>
<% ngettext '{0} poll' '{0} polls' <% count <% site.self polls %> %> %> %>
<strong><% gettext 'All of this will be deleted irreversibly.' %></strong>
<% gettext 'Are you sure you want to proceed?' %>
</div>
<% #notify_block %>
<% gettext 'Hello {0}.' <% membership.name %> %>
<% gettext 'The site {0} at {1} will be blocked in {2} because it is being
restricted for too long.' <% site.title %> <%site.href %>
<% ngettext '{0} day' '{0} days' <% root.phaseOutGracePeriod %> %> %>
<% gettext "Best regards." %>
<% gettext "The Management" %>
<% #notify_delete %>
<% gettext 'Hello {0}.' <% membership.name %> %>
<% gettext 'The site {0} at {1} will be deleted in {2} because it has been
considered as abandoned.' <% site.title %> <% site.href %>
<% ngettext '{0} day' '{0} days' <% root.phaseOutGracePeriod %> %> %>
<% gettext "Best regards." %>
<% gettext "The Management" %>
<% #noscript %>
<% gettext "To make spamming referrers and backlinks useless, they are displayed using client-side JavaScript. To see them, your browser needs to permit the execution of JavaScript." %>
<% #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