')
.addClass('OxSerif OxLight date')
.html(Ox.formatDate(item.date, '%B %e, %Y', true))
.appendTo($item);
});
selectItem(self.options.selected);
function selectItem(id) {
$('.readme .item.selected').removeClass('selected');
id && $('#readme_' + id).addClass('selected');
Ox.get('readme/html/' + (id || '_readme') + '.html', function(html) {
$text.html(html);
$text.find('.code').each(function() {
var $this = $(this);
$this.replaceWith(
Ox.SyntaxHighlighter({
source: $this.text()
})
.attr({id: $this.attr('id')})
);
});
});
app.url.set('readme' + (id ? '/' + id : ''));
}
self.setOption = function(key, value) {
if (key == 'selected') {
selectItem(value);
}
}
return that;
},
screen: function() {
return Ox.$('
').addClass('screen animate');
},
switch: function() {
return Ox.ButtonGroup({
buttons: [
{id: 'classic', title: 'Light'},
{id: 'modern', title: 'Dark'}
],
selectable: true,
value: app.user('theme')
})
.addClass('switch animate')
.bindEvent({
change: function(data) {
app.setTheme(data.value);
}
});
},
warning: function() {
return $('
')
.addClass('warning')
.html(
'Aw, snap! This website requires an up-to-date, HTML5-compliant web browser. '
+ 'It should work fine in current versions of Chrome, Firefox and Safari, '
+ 'or Internet Explorer with Chrome Frame installed. '
+ 'To proceed at your own risk, click on the logo above.'
);
}
},
url: {
get: function() {
return window.location.hash.substr(1);
},
parse: function(url) {
var split = (
url === void 0 ? app.url.get() : url
).split('/');
return {page: split[0], item: split[1] || ''};
},
set: function(url) {
window.location.hash = '#' + url;
return app;
}
},
urlchange: function() {
var url = app.url.get(),
current = app.url.parse(url);
url && app.user({url: url});
Ox.print(JSON.stringify({
'current': current,
'history': app.history,
'user.url': app.user('url')
}, null, ' '));
if (current.page != app.history.page) {
app.$ui.panel.select(current.page);
}
if (Ox.in(['readme', 'examples', 'doc'], current.page)) {
Ox.print('cp',current.page, current.item)
app.$ui[current.page].options({selected: current.item});
}
(!current.page || !app.history.page ? app.animate : Ox.void)(function() {
//app.url.replace(url);
app.history = current;
Ox.print('CALLBACK, HISTORY', app.history)
});
},
user: Ox.localStorage('OxJS')
};
app.init();
window.oxjs = app;
});