Browse Source

iteration on global site module

1.0
jlukic 11 years ago
parent
commit
9bda901d5a
  1. 429
      build/less/definitions/globals/site.js
  2. 1
      build/minified/definitions/globals/site.min.js
  3. 429
      build/packaged/definitions/javascript/semantic.js
  4. 8
      build/packaged/definitions/javascript/semantic.min.js
  5. 429
      build/uncompressed/definitions/globals/site.js
  6. 5
      docpad.coffee
  7. 37
      server/documents/elements/button.html.eco
  8. 15
      server/documents/index.html.eco
  9. BIN
      server/files/images/tile-bg.png
  10. 2
      server/files/javascript/semantic.js
  11. 3
      server/layouts/default.html.eco
  12. 1
      server/partials/header.html.eco
  13. 28
      src/definitions/globals/site.js
  14. 1194
      src/definitions/modules/tab.js

429
build/less/definitions/globals/site.js

@ -0,0 +1,429 @@
/*
* # Semantic - Site
* http://github.com/semantic-org/semantic-ui/
*
*
* Copyright 2013 Contributors
* Released under the MIT license
* http://opensource.org/licenses/MIT
*
*/
;(function ( $, window, document, undefined ) {
$.fn.site = function(parameters) {
var
time = new Date().getTime(),
performance = [],
query = arguments[0],
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
settings = ( $.isPlainObject(parameters) )
? $.extend(true, {}, $.fn.site.settings, parameters)
: $.extend({}, $.fn.site.settings),
namespace = settings.namespace,
error = settings.error,
eventNamespace = '.' + namespace,
moduleNamespace = 'module-' + namespace,
$document = $(document),
$module = $(this),
element = this,
instance = $module.data(moduleNamespace),
module,
returnedValue
;
module = {
initialize: function() {
module.instantiate();
},
instantiate: function() {
module.verbose('Storing instance of site', module);
instance = module;
$module
.data(moduleNamespace, module)
;
},
normalize: function() {
module.debug('Normalizing JS APIs');
module.fix.console();
if(settings.siteNamespace) {
module.createNamespace();
}
},
createSite: function(name) {
module.debug('Creating site namespace');
name = name || settings.siteNamespace;
if(window[name] === undefined) {
window[name] = settings.namespaceStub;
}
else {
$.extend(true, window[name], settings.namespaceStub);
}
},
initializeSite: function(name) {
name = name || settings.siteNamespace;
if(window[name] === undefined) {
module.create.site(name);
}
$document
.ready(module.dispatchReady)
;
},
fix: {
console: function() {
if (console === undefined || console.log === undefined) {
module.verbose('Console not available, normalizing events');
module.disable.console();
}
if (typeof console.group == 'undefined' || typeof console.groupEnd == 'undefined' || typeof console.groupCollapsed == 'undefined') {
module.verbose('Console group not available, normalizing events');
window.console.group = function() {};
window.console.groupEnd = function() {};
window.console.groupCollapsed = function() {};
}
if (typeof console.markTimeline == 'undefined') {
module.verbose('Mark timeline not available, normalizing events');
window.console.markTimeline = function() {};
}
},
consoleClear: function() {
module.debug('Disabling programmatic console clearing');
window.console.clear = function() {};
},
requestAnimationFrame: function() {
if(window.requestAnimationFrame === undefined) {
module.debug('RequestAnimationFrame not available, normailizing event');
window.requestAnimationFrame = window.requestAnimationFrame
|| window.mozRequestAnimationFrame
|| window.webkitRequestAnimationFrame
|| window.msRequestAnimationFrame
|| function(callback) { setTimeout(callback, 0); }
;
}
}
},
change: {
setting: function(setting, value, modules, alert) {
modules = (typeof modules === 'string')
? (modules === 'all')
? settings.modules
: [modules]
: modules || settings.modules
;
alert = alert || true;
if(alert) {
module.debug('Changing setting', setting, value, modules);
}
$.each(settings.modules, function(index, name) {
$.fn[name][setting] = value;
});
},
settings: function(modules, settings, value, alert) {
modules = (typeof modules === 'string')
? [modules]
: modules || settings.modules
;
alert = alert || true;
if(alert) {
module.debug('Changing setting', settings, value, modules);
}
$.each(settings.modules, function(index, name) {
$.extend(true, $.fn[name], settings);
});
}
},
enable: {
console: function() {
module.console(true);
},
debug: function(modules) {
module.debug('Enabling debug for modules', modules);
modules = modules || settings.modules;
module.change.setting(modules, 'debug', true, false);
},
verbose: function(modules) {
module.debug('Enabling verbose debug for modules', modules);
modules = modules || settings.modules;
module.change.setting(modules, 'verbose', true, modules, false);
}
},
disable: {
console: function() {
module.console(false);
},
debug: function(modules) {
module.debug('Disabling debug for modules', modules);
modules = modules || settings.modules;
module.change.setting(modules, 'debug', false, false);
},
verbose: function(modules) {
module.debug('Disabling verbose debug for modules', modules);
modules = modules || settings.modules;
module.change.setting(modules, 'verbose', false, modules, false);
}
},
console: function(enable) {
if(enable) {
if(instance.console === undefined) {
module.error(error.console);
return;
}
module.debug('Restoring console function');
window.console = instance.console;
}
else {
module.debug('Disabling console function');
instance.console = window.console;
window.console = {
clear : function(){},
error : function(){},
group : function(){},
groupCollapsed : function(){},
groupEnd : function(){},
info : function(){},
log : function(){},
markTimeline : function(){},
warn : function(){}
};
}
},
destroy: function() {
module.verbose('Destroying previous site for', $module);
$module
.removeData(moduleNamespace)
;
},
setting: function(name, value) {
if( $.isPlainObject(name) ) {
$.extend(true, settings, name);
}
else if(value !== undefined) {
settings[name] = value;
}
else {
return settings[name];
}
},
internal: function(name, value) {
if( $.isPlainObject(name) ) {
$.extend(true, module, name);
}
else if(value !== undefined) {
module[name] = value;
}
else {
return module[name];
}
},
debug: function() {
if(settings.debug) {
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
module.debug.apply(console, arguments);
}
}
},
verbose: function() {
if(settings.verbose && settings.debug) {
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
module.verbose.apply(console, arguments);
}
}
},
error: function() {
module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
module.error.apply(console, arguments);
},
performance: {
log: function(message) {
var
currentTime,
executionTime,
previousTime
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
'Element' : element,
'Name' : message[0],
'Arguments' : [].slice.call(message, 1) || '',
'Execution Time' : executionTime
});
}
clearTimeout(module.performance.timer);
module.performance.timer = setTimeout(module.performance.display, 100);
},
display: function() {
var
title = settings.name + ':',
totalTime = 0
;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
title += ' ' + totalTime + 'ms';
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
console.groupCollapsed(title);
if(console.table) {
console.table(performance);
}
else {
$.each(performance, function(index, data) {
console.log(data['Name'] + ': ' + data['Execution Time']+'ms');
});
}
console.groupEnd();
}
performance = [];
}
},
invoke: function(query, passedArguments, context) {
var
object = instance,
maxDepth,
found,
response
;
passedArguments = passedArguments || queryArguments;
context = element || context;
if(typeof query == 'string' && object !== undefined) {
query = query.split(/[\. ]/);
maxDepth = query.length - 1;
$.each(query, function(depth, value) {
var camelCaseValue = (depth != maxDepth)
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
: query
;
if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {
object = object[camelCaseValue];
}
else if( object[camelCaseValue] !== undefined ) {
found = object[camelCaseValue];
return false;
}
else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
object = object[value];
}
else if( object[value] !== undefined ) {
found = object[value];
return false;
}
else {
module.error(error.method, query);
return false;
}
});
}
if ( $.isFunction( found ) ) {
response = found.apply(context, passedArguments);
}
else if(found !== undefined) {
response = found;
}
if($.isArray(returnedValue)) {
returnedValue.push(response);
}
else if(returnedValue !== undefined) {
returnedValue = [returnedValue, response];
}
else if(response !== undefined) {
returnedValue = response;
}
return found;
}
};
if(methodInvoked) {
if(instance === undefined) {
module.initialize();
}
module.invoke(query);
}
else {
if(instance !== undefined) {
module.destroy();
}
module.initialize();
}
return (returnedValue)
? returnedValue
: this
;
};
$.fn.site.settings = {
name : 'Site',
namespace : 'site',
error : {
console : 'Console cannot be restored, most likely it was overwritten outside of module'
},
verbose : false,
debug : false,
performance : false,
modules: [
'accordion',
'checkbox',
'dimmer',
'dropdown',
'form',
'modal',
'nag',
'popup',
'rating',
'shape',
'sidebar',
'site',
'sticky',
'tab',
'transition',
'video',
'visibility'
],
siteNamespace : 'site',
namespaceStub : {
cache : {},
config : {},
sections : {},
section : {},
utilities : {}
}
};
})( jQuery, window , document );

1
build/minified/definitions/globals/site.min.js

File diff suppressed because one or more lines are too long

429
build/packaged/definitions/javascript/semantic.js

@ -3039,6 +3039,435 @@ $.fn.visibility.settings = {
})( jQuery, window , document );
/*
* # Semantic - Site
* http://github.com/semantic-org/semantic-ui/
*
*
* Copyright 2013 Contributors
* Released under the MIT license
* http://opensource.org/licenses/MIT
*
*/
;(function ( $, window, document, undefined ) {
$.fn.site = function(parameters) {
var
time = new Date().getTime(),
performance = [],
query = arguments[0],
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
settings = ( $.isPlainObject(parameters) )
? $.extend(true, {}, $.fn.site.settings, parameters)
: $.extend({}, $.fn.site.settings),
namespace = settings.namespace,
error = settings.error,
eventNamespace = '.' + namespace,
moduleNamespace = 'module-' + namespace,
$document = $(document),
$module = $(this),
element = this,
instance = $module.data(moduleNamespace),
module,
returnedValue
;
module = {
initialize: function() {
module.instantiate();
},
instantiate: function() {
module.verbose('Storing instance of site', module);
instance = module;
$module
.data(moduleNamespace, module)
;
},
normalize: function() {
module.debug('Normalizing JS APIs');
module.fix.console();
if(settings.siteNamespace) {
module.createNamespace();
}
},
createSite: function(name) {
module.debug('Creating site namespace');
name = name || settings.siteNamespace;
if(window[name] === undefined) {
window[name] = settings.namespaceStub;
}
else {
$.extend(true, window[name], settings.namespaceStub);
}
},
initializeSite: function(name) {
name = name || settings.siteNamespace;
if(window[name] === undefined) {
module.create.site(name);
}
$document
.ready(module.dispatchReady)
;
},
fix: {
console: function() {
if (console === undefined || console.log === undefined) {
module.verbose('Console not available, normalizing events');
module.disable.console();
}
if (typeof console.group == 'undefined' || typeof console.groupEnd == 'undefined' || typeof console.groupCollapsed == 'undefined') {
module.verbose('Console group not available, normalizing events');
window.console.group = function() {};
window.console.groupEnd = function() {};
window.console.groupCollapsed = function() {};
}
if (typeof console.markTimeline == 'undefined') {
module.verbose('Mark timeline not available, normalizing events');
window.console.markTimeline = function() {};
}
},
consoleClear: function() {
module.debug('Disabling programmatic console clearing');
window.console.clear = function() {};
},
requestAnimationFrame: function() {
if(window.requestAnimationFrame === undefined) {
module.debug('RequestAnimationFrame not available, normailizing event');
window.requestAnimationFrame = window.requestAnimationFrame
|| window.mozRequestAnimationFrame
|| window.webkitRequestAnimationFrame
|| window.msRequestAnimationFrame
|| function(callback) { setTimeout(callback, 0); }
;
}
}
},
change: {
setting: function(setting, value, modules, alert) {
modules = (typeof modules === 'string')
? (modules === 'all')
? settings.modules
: [modules]
: modules || settings.modules
;
alert = alert || true;
if(alert) {
module.debug('Changing setting', setting, value, modules);
}
$.each(settings.modules, function(index, name) {
$.fn[name][setting] = value;
});
},
settings: function(modules, settings, value, alert) {
modules = (typeof modules === 'string')
? [modules]
: modules || settings.modules
;
alert = alert || true;
if(alert) {
module.debug('Changing setting', settings, value, modules);
}
$.each(settings.modules, function(index, name) {
$.extend(true, $.fn[name], settings);
});
}
},
enable: {
console: function() {
module.console(true);
},
debug: function(modules) {
module.debug('Enabling debug for modules', modules);
modules = modules || settings.modules;
module.change.setting(modules, 'debug', true, false);
},
verbose: function(modules) {
module.debug('Enabling verbose debug for modules', modules);
modules = modules || settings.modules;
module.change.setting(modules, 'verbose', true, modules, false);
}
},
disable: {
console: function() {
module.console(false);
},
debug: function(modules) {
module.debug('Disabling debug for modules', modules);
modules = modules || settings.modules;
module.change.setting(modules, 'debug', false, false);
},
verbose: function(modules) {
module.debug('Disabling verbose debug for modules', modules);
modules = modules || settings.modules;
module.change.setting(modules, 'verbose', false, modules, false);
}
},
console: function(enable) {
if(enable) {
if(instance.console === undefined) {
module.error(error.console);
return;
}
module.debug('Restoring console function');
window.console = instance.console;
}
else {
module.debug('Disabling console function');
instance.console = window.console;
window.console = {
clear : function(){},
error : function(){},
group : function(){},
groupCollapsed : function(){},
groupEnd : function(){},
info : function(){},
log : function(){},
markTimeline : function(){},
warn : function(){}
};
}
},
destroy: function() {
module.verbose('Destroying previous site for', $module);
$module
.removeData(moduleNamespace)
;
},
setting: function(name, value) {
if( $.isPlainObject(name) ) {
$.extend(true, settings, name);
}
else if(value !== undefined) {
settings[name] = value;
}
else {
return settings[name];
}
},
internal: function(name, value) {
if( $.isPlainObject(name) ) {
$.extend(true, module, name);
}
else if(value !== undefined) {
module[name] = value;
}
else {
return module[name];
}
},
debug: function() {
if(settings.debug) {
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
module.debug.apply(console, arguments);
}
}
},
verbose: function() {
if(settings.verbose && settings.debug) {
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
module.verbose.apply(console, arguments);
}
}
},
error: function() {
module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
module.error.apply(console, arguments);
},
performance: {
log: function(message) {
var
currentTime,
executionTime,
previousTime
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
'Element' : element,
'Name' : message[0],
'Arguments' : [].slice.call(message, 1) || '',
'Execution Time' : executionTime
});
}
clearTimeout(module.performance.timer);
module.performance.timer = setTimeout(module.performance.display, 100);
},
display: function() {
var
title = settings.name + ':',
totalTime = 0
;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
title += ' ' + totalTime + 'ms';
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
console.groupCollapsed(title);
if(console.table) {
console.table(performance);
}
else {
$.each(performance, function(index, data) {
console.log(data['Name'] + ': ' + data['Execution Time']+'ms');
});
}
console.groupEnd();
}
performance = [];
}
},
invoke: function(query, passedArguments, context) {
var
object = instance,
maxDepth,
found,
response
;
passedArguments = passedArguments || queryArguments;
context = element || context;
if(typeof query == 'string' && object !== undefined) {
query = query.split(/[\. ]/);
maxDepth = query.length - 1;
$.each(query, function(depth, value) {
var camelCaseValue = (depth != maxDepth)
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
: query
;
if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {
object = object[camelCaseValue];
}
else if( object[camelCaseValue] !== undefined ) {
found = object[camelCaseValue];
return false;
}
else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
object = object[value];
}
else if( object[value] !== undefined ) {
found = object[value];
return false;
}
else {
module.error(error.method, query);
return false;
}
});
}
if ( $.isFunction( found ) ) {
response = found.apply(context, passedArguments);
}
else if(found !== undefined) {
response = found;
}
if($.isArray(returnedValue)) {
returnedValue.push(response);
}
else if(returnedValue !== undefined) {
returnedValue = [returnedValue, response];
}
else if(response !== undefined) {
returnedValue = response;
}
return found;
}
};
if(methodInvoked) {
if(instance === undefined) {
module.initialize();
}
module.invoke(query);
}
else {
if(instance !== undefined) {
module.destroy();
}
module.initialize();
}
return (returnedValue)
? returnedValue
: this
;
};
$.fn.site.settings = {
name : 'Site',
namespace : 'site',
error : {
console : 'Console cannot be restored, most likely it was overwritten outside of module'
},
verbose : false,
debug : false,
performance : false,
modules: [
'accordion',
'checkbox',
'dimmer',
'dropdown',
'form',
'modal',
'nag',
'popup',
'rating',
'shape',
'sidebar',
'site',
'sticky',
'tab',
'transition',
'video',
'visibility'
],
siteNamespace : 'site',
namespaceStub : {
cache : {},
config : {},
sections : {},
section : {},
utilities : {}
}
};
})( jQuery, window , document );
/*
* # Semantic - Accordion
* http://github.com/semantic-org/semantic-ui/

8
build/packaged/definitions/javascript/semantic.min.js

File diff suppressed because one or more lines are too long

429
build/uncompressed/definitions/globals/site.js

@ -0,0 +1,429 @@
/*
* # Semantic - Site
* http://github.com/semantic-org/semantic-ui/
*
*
* Copyright 2013 Contributors
* Released under the MIT license
* http://opensource.org/licenses/MIT
*
*/
;(function ( $, window, document, undefined ) {
$.fn.site = function(parameters) {
var
time = new Date().getTime(),
performance = [],
query = arguments[0],
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
settings = ( $.isPlainObject(parameters) )
? $.extend(true, {}, $.fn.site.settings, parameters)
: $.extend({}, $.fn.site.settings),
namespace = settings.namespace,
error = settings.error,
eventNamespace = '.' + namespace,
moduleNamespace = 'module-' + namespace,
$document = $(document),
$module = $(this),
element = this,
instance = $module.data(moduleNamespace),
module,
returnedValue
;
module = {
initialize: function() {
module.instantiate();
},
instantiate: function() {
module.verbose('Storing instance of site', module);
instance = module;
$module
.data(moduleNamespace, module)
;
},
normalize: function() {
module.debug('Normalizing JS APIs');
module.fix.console();
if(settings.siteNamespace) {
module.createNamespace();
}
},
createSite: function(name) {
module.debug('Creating site namespace');
name = name || settings.siteNamespace;
if(window[name] === undefined) {
window[name] = settings.namespaceStub;
}
else {
$.extend(true, window[name], settings.namespaceStub);
}
},
initializeSite: function(name) {
name = name || settings.siteNamespace;
if(window[name] === undefined) {
module.create.site(name);
}
$document
.ready(module.dispatchReady)
;
},
fix: {
console: function() {
if (console === undefined || console.log === undefined) {
module.verbose('Console not available, normalizing events');
module.disable.console();
}
if (typeof console.group == 'undefined' || typeof console.groupEnd == 'undefined' || typeof console.groupCollapsed == 'undefined') {
module.verbose('Console group not available, normalizing events');
window.console.group = function() {};
window.console.groupEnd = function() {};
window.console.groupCollapsed = function() {};
}
if (typeof console.markTimeline == 'undefined') {
module.verbose('Mark timeline not available, normalizing events');
window.console.markTimeline = function() {};
}
},
consoleClear: function() {
module.debug('Disabling programmatic console clearing');
window.console.clear = function() {};
},
requestAnimationFrame: function() {
if(window.requestAnimationFrame === undefined) {
module.debug('RequestAnimationFrame not available, normailizing event');
window.requestAnimationFrame = window.requestAnimationFrame
|| window.mozRequestAnimationFrame
|| window.webkitRequestAnimationFrame
|| window.msRequestAnimationFrame
|| function(callback) { setTimeout(callback, 0); }
;
}
}
},
change: {
setting: function(setting, value, modules, alert) {
modules = (typeof modules === 'string')
? (modules === 'all')
? settings.modules
: [modules]
: modules || settings.modules
;
alert = alert || true;
if(alert) {
module.debug('Changing setting', setting, value, modules);
}
$.each(settings.modules, function(index, name) {
$.fn[name][setting] = value;
});
},
settings: function(modules, settings, value, alert) {
modules = (typeof modules === 'string')
? [modules]
: modules || settings.modules
;
alert = alert || true;
if(alert) {
module.debug('Changing setting', settings, value, modules);
}
$.each(settings.modules, function(index, name) {
$.extend(true, $.fn[name], settings);
});
}
},
enable: {
console: function() {
module.console(true);
},
debug: function(modules) {
module.debug('Enabling debug for modules', modules);
modules = modules || settings.modules;
module.change.setting(modules, 'debug', true, false);
},
verbose: function(modules) {
module.debug('Enabling verbose debug for modules', modules);
modules = modules || settings.modules;
module.change.setting(modules, 'verbose', true, modules, false);
}
},
disable: {
console: function() {
module.console(false);
},
debug: function(modules) {
module.debug('Disabling debug for modules', modules);
modules = modules || settings.modules;
module.change.setting(modules, 'debug', false, false);
},
verbose: function(modules) {
module.debug('Disabling verbose debug for modules', modules);
modules = modules || settings.modules;
module.change.setting(modules, 'verbose', false, modules, false);
}
},
console: function(enable) {
if(enable) {
if(instance.console === undefined) {
module.error(error.console);
return;
}
module.debug('Restoring console function');
window.console = instance.console;
}
else {
module.debug('Disabling console function');
instance.console = window.console;
window.console = {
clear : function(){},
error : function(){},
group : function(){},
groupCollapsed : function(){},
groupEnd : function(){},
info : function(){},
log : function(){},
markTimeline : function(){},
warn : function(){}
};
}
},
destroy: function() {
module.verbose('Destroying previous site for', $module);
$module
.removeData(moduleNamespace)
;
},
setting: function(name, value) {
if( $.isPlainObject(name) ) {
$.extend(true, settings, name);
}
else if(value !== undefined) {
settings[name] = value;
}
else {
return settings[name];
}
},
internal: function(name, value) {
if( $.isPlainObject(name) ) {
$.extend(true, module, name);
}
else if(value !== undefined) {
module[name] = value;
}
else {
return module[name];
}
},
debug: function() {
if(settings.debug) {
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
module.debug.apply(console, arguments);
}
}
},
verbose: function() {
if(settings.verbose && settings.debug) {
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
module.verbose.apply(console, arguments);
}
}
},
error: function() {
module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
module.error.apply(console, arguments);
},
performance: {
log: function(message) {
var
currentTime,
executionTime,
previousTime
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
'Element' : element,
'Name' : message[0],
'Arguments' : [].slice.call(message, 1) || '',
'Execution Time' : executionTime
});
}
clearTimeout(module.performance.timer);
module.performance.timer = setTimeout(module.performance.display, 100);
},
display: function() {
var
title = settings.name + ':',
totalTime = 0
;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
title += ' ' + totalTime + 'ms';
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
console.groupCollapsed(title);
if(console.table) {
console.table(performance);
}
else {
$.each(performance, function(index, data) {
console.log(data['Name'] + ': ' + data['Execution Time']+'ms');
});
}
console.groupEnd();
}
performance = [];
}
},
invoke: function(query, passedArguments, context) {
var
object = instance,
maxDepth,
found,
response
;
passedArguments = passedArguments || queryArguments;
context = element || context;
if(typeof query == 'string' && object !== undefined) {
query = query.split(/[\. ]/);
maxDepth = query.length - 1;
$.each(query, function(depth, value) {
var camelCaseValue = (depth != maxDepth)
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
: query
;
if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {
object = object[camelCaseValue];
}
else if( object[camelCaseValue] !== undefined ) {
found = object[camelCaseValue];
return false;
}
else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
object = object[value];
}
else if( object[value] !== undefined ) {
found = object[value];
return false;
}
else {
module.error(error.method, query);
return false;
}
});
}
if ( $.isFunction( found ) ) {
response = found.apply(context, passedArguments);
}
else if(found !== undefined) {
response = found;
}
if($.isArray(returnedValue)) {
returnedValue.push(response);
}
else if(returnedValue !== undefined) {
returnedValue = [returnedValue, response];
}
else if(response !== undefined) {
returnedValue = response;
}
return found;
}
};
if(methodInvoked) {
if(instance === undefined) {
module.initialize();
}
module.invoke(query);
}
else {
if(instance !== undefined) {
module.destroy();
}
module.initialize();
}
return (returnedValue)
? returnedValue
: this
;
};
$.fn.site.settings = {
name : 'Site',
namespace : 'site',
error : {
console : 'Console cannot be restored, most likely it was overwritten outside of module'
},
verbose : false,
debug : false,
performance : false,
modules: [
'accordion',
'checkbox',
'dimmer',
'dropdown',
'form',
'modal',
'nag',
'popup',
'rating',
'shape',
'sidebar',
'site',
'sticky',
'tab',
'transition',
'video',
'visibility'
],
siteNamespace : 'site',
namespaceStub : {
cache : {},
config : {},
sections : {},
section : {},
utilities : {}
}
};
})( jQuery, window , document );

5
docpad.coffee

@ -5,6 +5,11 @@ docpadConfig = {
srcPath : './server'
outPath: './docs'
plugins:
ghpages:
deployRemote: 'docs'
deployBranch: 'gh-pages'
# =================================
# Template Data
# These are variables that will be accessible via our templates

37
server/documents/elements/button.html.eco

@ -46,24 +46,6 @@ themes : ['default', 'basic', 'chubby', 'github']
</div>
</div>
<div class="example">
<h4 class="ui header">Inverted</h4>
<p>A button can be formatted to appear on dark backgrounds</p>
<div class="ui inverted segment">
<div class="ui inverted button">Standard</div>
<div class="ui inverted black button">Black</div>
<div class="ui inverted yellow button">Yellow</div>
<div class="ui inverted green button">Green</div>
<div class="ui inverted blue button">Blue</div>
<div class="ui inverted orange button">Orange</div>
<div class="ui inverted purple button">Purple</div>
<div class="ui inverted pink button">Pink</div>
<div class="ui inverted red button">Red</div>
<div class="ui inverted teal button">Teal</div>
</div>
</div>
<div class="example">
<h4 class="ui header">Animated</h4>
<p>A button can animate to show hidden content</p>
@ -110,6 +92,25 @@ themes : ['default', 'basic', 'chubby', 'github']
Next
</div>
</div>
<div class="example">
<h4 class="ui header">Inverted</h4>
<p>A button can be formatted to appear on dark backgrounds</p>
<div class="ui inverted segment">
<div class="ui inverted button">Standard</div>
<div class="ui inverted black button">Black</div>
<div class="ui inverted yellow button">Yellow</div>
<div class="ui inverted green button">Green</div>
<div class="ui inverted blue button">Blue</div>
<div class="ui inverted orange button">Orange</div>
<div class="ui inverted purple button">Purple</div>
<div class="ui inverted pink button">Pink</div>
<div class="ui inverted red button">Red</div>
<div class="ui inverted teal button">Teal</div>
</div>
</div>
<h2 class="ui dividing header">Groups</h2>
<div class="example">

15
server/documents/index.html.eco

@ -15,16 +15,15 @@ type : 'Semantic'
<div class="ui page grid">
<div class="column">
<div class="introduction">
<<<<<<< HEAD
<h1 class="ui inverted header">Semantic UI <a class="ui black label" href="https://github.com/semantic-org/Semantic-UI/blob/master/RELEASE%20NOTES.md">0.14.0</a></h1>
<h1 class="ui inverted header">Semantic UI
<a class="ui black pointing left label" href="https://github.com/semantic-org/Semantic-UI/blob/master/RELEASE%20NOTES.md">
1.0.0 ALPHA
</a>
</h1>
<h2 class="ui inverted header">UI is the vocabulary of the web.</h2>
=======
<h1 class="ui header">Semantic UI <a class="ui black label" href="https://github.com/semantic-org/Semantic-UI/blob/master/RELEASE%20NOTES.md">0.15.0</a></h1>
<h2 class="ui header">UI is the vocabulary of the web.</h2>
>>>>>>> 3cd5cee3273bb2821ece8fc0e0ec199106f9c6bf
<p>Semantic empowers designers and developers by creating a language for sharing UI.</p>
<a class="ui black large labeled launch icon button"><i class="icon list layout"></i> View UI</a>
<a class="ui red large labeled icon button" href="build/semantic.zip"><i class="awesome download cloud icon"></i> Download</a>
<a class="ui large black view-ui button"><i class="icon list layout"></i> View UI</a>
<a class="ui large blue button" href="build/semantic.zip"><i class="awesome download cloud icon"></i> Download</a>
</div>
<div class="inverted advertisement">
<% unless 'development' in @getEnvironments(): %>

BIN
server/files/images/tile-bg.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 39 KiB

2
server/files/javascript/semantic.js

@ -812,7 +812,7 @@ semantic.ready = function() {
.on('mouseleave', handler.menu.mouseleave)
;
$menu
.sidebar('attach events', '.launch.button, .launch.item')
.sidebar('attach events', '.launch.button, .view-ui.button, .launch.item')
.sidebar('attach events', $hideMenu, 'hide')
;
$waypoints

3
server/layouts/default.html.eco

@ -115,6 +115,7 @@
<script src="/javascript/library/waypoints.js"></script>
<% if 'development' in @getEnvironments(): %>
<script src="/build/uncompressed/definitions/globals/site.js"></script>
<script src="/build/uncompressed/definitions/behaviors/api.js"></script>
<script src="/build/uncompressed/definitions/behaviors/visibility.js"></script>
<script src="/build/uncompressed/definitions/behaviors/state.js"></script>
@ -182,7 +183,7 @@
<div class="menu">
<% for element in uiModules: %>
<a class="<%= if element.id is @document.id then 'active ' %>item" href="<%= element.url %>"><%= element.title %></a>
<% end %>
<% end %>
</div>
</div>
<div class="item">

1
server/partials/header.html.eco

@ -36,7 +36,6 @@
<% end %>
<div class="ui secondary button">
Download
<i class="download icon"></i>
</div>
</div>
<div class="advertisement">

28
src/definitions/globals/site.js

@ -10,7 +10,7 @@
*/
;(function ( $, window, document, undefined ) {
$.fn.site = function(parameters) {
$.site = $.fn.site = function(parameters) {
var
time = new Date().getTime(),
performance = [],
@ -20,8 +20,8 @@ $.fn.site = function(parameters) {
queryArguments = [].slice.call(arguments, 1),
settings = ( $.isPlainObject(parameters) )
? $.extend(true, {}, $.fn.site.settings, parameters)
: $.extend({}, $.fn.site.settings),
? $.extend(true, {}, $.site.settings, parameters)
: $.extend({}, $.site.settings),
namespace = settings.namespace,
error = settings.error,
@ -30,14 +30,13 @@ $.fn.site = function(parameters) {
moduleNamespace = 'module-' + namespace,
$document = $(document),
$module = $(this),
$module = $document,
element = this,
instance = $module.data(moduleNamespace),
module,
returnedValue
;
module = {
initialize: function() {
@ -55,9 +54,7 @@ $.fn.site = function(parameters) {
normalize: function() {
module.debug('Normalizing JS APIs');
module.fix.console();
if(settings.siteNamespace) {
module.createNamespace();
}
module.fix.requestAnimationFrame();
},
createSite: function(name) {
@ -128,7 +125,9 @@ $.fn.site = function(parameters) {
module.debug('Changing setting', setting, value, modules);
}
$.each(settings.modules, function(index, name) {
$.fn[name][setting] = value;
if($.fn[name] !== undefined) {
$.fn[name][setting] = value;
}
});
},
settings: function(modules, settings, value, alert) {
@ -374,14 +373,13 @@ $.fn.site = function(parameters) {
}
module.initialize();
}
return (returnedValue)
? returnedValue
: this
;
};
$.fn.site.settings = {
$.site.settings = {
name : 'Site',
namespace : 'site',
@ -390,12 +388,13 @@ $.fn.site.settings = {
console : 'Console cannot be restored, most likely it was overwritten outside of module'
},
verbose : false,
debug : false,
performance : false,
verbose : true,
debug : true,
performance : true,
modules: [
'accordion',
'api',
'checkbox',
'dimmer',
'dropdown',
@ -407,6 +406,7 @@ $.fn.site.settings = {
'shape',
'sidebar',
'site',
'state',
'sticky',
'tab',
'transition',

1194
src/definitions/modules/tab.js

File diff suppressed because it is too large
Loading…
Cancel
Save