olelo 0.9.4 → 0.9.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +0 -1
- data/.travis.yml +8 -0
- data/README.creole +31 -11
- data/Rakefile +46 -21
- data/config/aspects.rb +19 -15
- data/lib/olelo/application.rb +2 -3
- data/lib/olelo/extensions.rb +3 -0
- data/lib/olelo/helper.rb +7 -5
- data/lib/olelo/locale.rb +1 -1
- data/lib/olelo/locale.yml +298 -204
- data/lib/olelo/page.rb +9 -1
- data/lib/olelo/plugin.rb +1 -1
- data/lib/olelo/repository.rb +1 -1
- data/lib/olelo/util.rb +3 -0
- data/lib/olelo/version.rb +1 -1
- data/olelo.gemspec +1 -1
- data/plugins/aspects/changelog.rb +7 -4
- data/plugins/aspects/locale.yml +69 -47
- data/plugins/blog/locale.yml +13 -9
- data/plugins/editor/locale.yml +16 -11
- data/plugins/filters/creole.rb +3 -6
- data/plugins/filters/fix_image_links.rb +20 -0
- data/plugins/filters/locale.yml +18 -13
- data/plugins/filters/s5/main.rb +2 -0
- data/plugins/login/locale.yml +6 -4
- data/plugins/repositories/gitrb_repository.rb +1 -1
- data/plugins/repositories/locale.yml +14 -10
- data/plugins/repositories/rugged_repository.rb +2 -3
- data/plugins/security/locale.yml +19 -13
- data/plugins/tags/math.rb +2 -1
- data/plugins/treeview/script.js +2 -2
- data/plugins/treeview/script/init.js +4 -0
- data/plugins/utils/xml.rb +14 -0
- data/static/script.js +296 -256
- data/static/script/02-history.js +1943 -0
- data/static/script/03-history.adapter.jquery.js +77 -0
- data/static/script/{03-jquery.ui.core.js → 04-jquery.ui.core.js} +0 -0
- data/static/script/{04-jquery.ui.widget.js → 05-jquery.ui.widget.js} +0 -0
- data/static/script/{05-jquery.ui.position.js → 06-jquery.ui.position.js} +0 -0
- data/static/script/{06-jquery.ui.menu.js → 07-jquery.ui.menu.js} +0 -0
- data/static/script/{07-jquery.ui.autocomplete.js → 08-jquery.ui.autocomplete.js} +0 -0
- data/static/script/{02-olelo.storage.js → 09-olelo.storage.js} +0 -0
- data/static/script/{08-olelo.i18n.js → 10-olelo.i18n.js} +0 -0
- data/static/script/{09-olelo.unsaved.js → 11-olelo.unsaved.js} +6 -2
- data/static/script/{10-olelo.historytable.js → 12-olelo.historytable.js} +0 -0
- data/static/script/13-olelo.pagination.js +30 -0
- data/static/script/{13-olelo.tabwidget.js → 14-olelo.tabwidget.js} +0 -0
- data/static/script/{14-olelo.timeago.js → 15-olelo.timeago.js} +14 -1
- data/static/script/{15-olelo.underliner.js → 16-olelo.underliner.js} +0 -0
- data/static/script/{16-olelo.ui.combobox.js → 17-olelo.ui.combobox.js} +0 -0
- data/static/script/init.js +10 -10
- data/static/themes/atlantis/screen.scss +11 -10
- data/static/themes/atlantis/style.css +1 -1
- data/test/config_test.rb +9 -0
- data/test/factory_test.rb +1 -1
- data/test/hash_extensions_test.rb +1 -1
- data/test/helper.rb +0 -1
- data/test/hooks_test.rb +1 -2
- data/test/object_extensions_test.rb +1 -2
- data/test/run.rb +12 -0
- data/test/string_extensions_test.rb +1 -1
- data/test/templates_test.rb +1 -3
- data/test/util_test.rb +1 -6
- data/views/compare.slim +4 -5
- data/views/edit.slim +2 -2
- data/views/history.slim +1 -1
- data/views/layout.slim +1 -2
- data/views/not_found.slim +2 -2
- data/views/show.slim +3 -4
- metadata +47 -44
- data/plugins/filters/fix_img_tag.rb +0 -16
- data/static/script/11-olelo.pagination.js +0 -18
| @@ -0,0 +1,77 @@ | |
| 1 | 
            +
            /**
         | 
| 2 | 
            +
             * History.js jQuery Adapter
         | 
| 3 | 
            +
             * @author Benjamin Arthur Lupton <contact@balupton.com>
         | 
| 4 | 
            +
             * @copyright 2010-2011 Benjamin Arthur Lupton <contact@balupton.com>
         | 
| 5 | 
            +
             * @license New BSD License <http://creativecommons.org/licenses/BSD/>
         | 
| 6 | 
            +
             */
         | 
| 7 | 
            +
             | 
| 8 | 
            +
            // Closure
         | 
| 9 | 
            +
            (function(window,undefined){
         | 
| 10 | 
            +
            	"use strict";
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            	// Localise Globals
         | 
| 13 | 
            +
            	var
         | 
| 14 | 
            +
            		History = window.History = window.History||{},
         | 
| 15 | 
            +
            		jQuery = window.jQuery;
         | 
| 16 | 
            +
             | 
| 17 | 
            +
            	// Check Existence
         | 
| 18 | 
            +
            	if ( typeof History.Adapter !== 'undefined' ) {
         | 
| 19 | 
            +
            		throw new Error('History.js Adapter has already been loaded...');
         | 
| 20 | 
            +
            	}
         | 
| 21 | 
            +
             | 
| 22 | 
            +
            	// Add the Adapter
         | 
| 23 | 
            +
            	History.Adapter = {
         | 
| 24 | 
            +
            		/**
         | 
| 25 | 
            +
            		 * History.Adapter.bind(el,event,callback)
         | 
| 26 | 
            +
            		 * @param {Element|string} el
         | 
| 27 | 
            +
            		 * @param {string} event - custom and standard events
         | 
| 28 | 
            +
            		 * @param {function} callback
         | 
| 29 | 
            +
            		 * @return {void}
         | 
| 30 | 
            +
            		 */
         | 
| 31 | 
            +
            		bind: function(el,event,callback){
         | 
| 32 | 
            +
            			jQuery(el).bind(event,callback);
         | 
| 33 | 
            +
            		},
         | 
| 34 | 
            +
             | 
| 35 | 
            +
            		/**
         | 
| 36 | 
            +
            		 * History.Adapter.trigger(el,event)
         | 
| 37 | 
            +
            		 * @param {Element|string} el
         | 
| 38 | 
            +
            		 * @param {string} event - custom and standard events
         | 
| 39 | 
            +
            		 * @param {Object=} extra - a object of extra event data (optional)
         | 
| 40 | 
            +
            		 * @return {void}
         | 
| 41 | 
            +
            		 */
         | 
| 42 | 
            +
            		trigger: function(el,event,extra){
         | 
| 43 | 
            +
            			jQuery(el).trigger(event,extra);
         | 
| 44 | 
            +
            		},
         | 
| 45 | 
            +
             | 
| 46 | 
            +
            		/**
         | 
| 47 | 
            +
            		 * History.Adapter.extractEventData(key,event,extra)
         | 
| 48 | 
            +
            		 * @param {string} key - key for the event data to extract
         | 
| 49 | 
            +
            		 * @param {string} event - custom and standard events
         | 
| 50 | 
            +
            		 * @param {Object=} extra - a object of extra event data (optional)
         | 
| 51 | 
            +
            		 * @return {mixed}
         | 
| 52 | 
            +
            		 */
         | 
| 53 | 
            +
            		extractEventData: function(key,event,extra){
         | 
| 54 | 
            +
            			// jQuery Native then jQuery Custom
         | 
| 55 | 
            +
            			var result = (event && event.originalEvent && event.originalEvent[key]) || (extra && extra[key]) || undefined;
         | 
| 56 | 
            +
             | 
| 57 | 
            +
            			// Return
         | 
| 58 | 
            +
            			return result;
         | 
| 59 | 
            +
            		},
         | 
| 60 | 
            +
             | 
| 61 | 
            +
            		/**
         | 
| 62 | 
            +
            		 * History.Adapter.onDomLoad(callback)
         | 
| 63 | 
            +
            		 * @param {function} callback
         | 
| 64 | 
            +
            		 * @return {void}
         | 
| 65 | 
            +
            		 */
         | 
| 66 | 
            +
            		onDomLoad: function(callback) {
         | 
| 67 | 
            +
            			jQuery(callback);
         | 
| 68 | 
            +
            		}
         | 
| 69 | 
            +
            	};
         | 
| 70 | 
            +
             | 
| 71 | 
            +
            	// Try and Initialise History
         | 
| 72 | 
            +
            	if ( typeof History.init !== 'undefined' ) {
         | 
| 73 | 
            +
            		History.init();
         | 
| 74 | 
            +
            	}
         | 
| 75 | 
            +
             | 
| 76 | 
            +
            })(window);
         | 
| 77 | 
            +
             | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| @@ -12,6 +12,10 @@ | |
| 12 12 | 
             
             	cs: {
         | 
| 13 13 | 
             
            	    confirmUnsaved: 'Stránka nebyla uložena. Pokračovat?',
         | 
| 14 14 | 
             
            	    pageUnsaved: 'Stránka nebyla uložena.'
         | 
| 15 | 
            +
            	},
         | 
| 16 | 
            +
            	fr: {
         | 
| 17 | 
            +
            	    confirmUnsaved: "La page n'a pas été enregistrée. Voulez vous continuer ?",
         | 
| 18 | 
            +
            	    pageUnsaved: "La page n'a pas été enregistrée."
         | 
| 15 19 | 
             
            	}
         | 
| 16 20 | 
             
                });
         | 
| 17 21 |  | 
| @@ -51,10 +55,10 @@ | |
| 51 55 | 
             
            	return !hasUnsavedChanges(this) || confirm($.t('confirmUnsaved'));
         | 
| 52 56 | 
             
                };
         | 
| 53 57 |  | 
| 54 | 
            -
                $('input.observe, textarea.observe, select.observe' | 
| 58 | 
            +
                $(document).on('change autocompletechange', 'input.observe, textarea.observe, select.observe', updateUnsaved);
         | 
| 55 59 |  | 
| 56 60 | 
             
                var submitForm = false;
         | 
| 57 | 
            -
                $( | 
| 61 | 
            +
                $(document).on('submit', 'form', function() {
         | 
| 58 62 | 
             
            	submitForm = true;
         | 
| 59 63 | 
             
                }).bind('reset', function() {
         | 
| 60 64 | 
             
            	$('.unsaved', this).removeClass('unsaved');
         | 
| 
            File without changes
         | 
| @@ -0,0 +1,30 @@ | |
| 1 | 
            +
            // Pagination links
         | 
| 2 | 
            +
            // $('#page_element').pagination('.pagination a');
         | 
| 3 | 
            +
            // $('#page_element').bind('pageLoaded', function() {});
         | 
| 4 | 
            +
            // Written by Daniel Mendler
         | 
| 5 | 
            +
            (function($) {
         | 
| 6 | 
            +
                $.fn.pagination = function(links) {
         | 
| 7 | 
            +
            	var page = this;
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            	function loadPage(url) {
         | 
| 10 | 
            +
                        page.load(url + (url.indexOf('?') < 0 ? '?' : '&') + 'no_layout=1', function() {
         | 
| 11 | 
            +
            		page.trigger('pageLoaded', [url]);
         | 
| 12 | 
            +
                        });
         | 
| 13 | 
            +
            	}
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            	$(document).on('click', links, function() {
         | 
| 16 | 
            +
                        $(this).addClass('loading');
         | 
| 17 | 
            +
            	    if (History.enabled) {
         | 
| 18 | 
            +
            		History.pushState(null, document.title, this.href);
         | 
| 19 | 
            +
            	    } else {
         | 
| 20 | 
            +
            		loadPage(this.href);
         | 
| 21 | 
            +
            	    }
         | 
| 22 | 
            +
                        return false;
         | 
| 23 | 
            +
                    });
         | 
| 24 | 
            +
             | 
| 25 | 
            +
            	$(window).bind('statechange', function() {
         | 
| 26 | 
            +
            	    var state = History.getState();
         | 
| 27 | 
            +
            	    loadPage(state.url);
         | 
| 28 | 
            +
            	});
         | 
| 29 | 
            +
                };
         | 
| 30 | 
            +
            })(jQuery);
         | 
| 
            File without changes
         | 
| @@ -40,7 +40,20 @@ | |
| 40 40 | 
             
                          n_months_ago:           'před #{n} měsíci',
         | 
| 41 41 | 
             
                          one_year_ago:           '1 rok',
         | 
| 42 42 | 
             
                          over_n_years_ago:       'před #{n} lety'
         | 
| 43 | 
            -
                     } | 
| 43 | 
            +
                     },
         | 
| 44 | 
            +
                     fr: {
         | 
| 45 | 
            +
                          less_than_a_minute_ago: "il y a moins d'une minute",
         | 
| 46 | 
            +
                          a_minute_ago:           "il y a une minute",
         | 
| 47 | 
            +
                          n_minutes_ago:          "il y a #{n} minutes",
         | 
| 48 | 
            +
                          one_hour_ago:           "il y a 1 heure",
         | 
| 49 | 
            +
                          n_hours_ago:            "il y a #{n} heures",
         | 
| 50 | 
            +
                          one_day_ago:            "il y a 1 jour",
         | 
| 51 | 
            +
                          n_days_ago:             "il y a #{n} jours",
         | 
| 52 | 
            +
                          one_month_ago:          "il y a 1 mois",
         | 
| 53 | 
            +
                          n_months_ago:           "il y a #{n} mois",
         | 
| 54 | 
            +
                          one_year_ago:           "il y a 1 an",
         | 
| 55 | 
            +
                          over_n_years_ago:       "il y a plus de #{n} ans" 
         | 
| 56 | 
            +
                     }
         | 
| 44 57 | 
             
                });
         | 
| 45 58 |  | 
| 46 59 | 
             
                function timeAgo(from) {
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
    
        data/static/script/init.js
    CHANGED
    
    | @@ -2,8 +2,8 @@ | |
| 2 2 | 
             
            // Written by Daniel Mendler
         | 
| 3 3 | 
             
            $(function() {
         | 
| 4 4 | 
             
                $('html').removeClass('no-js').addClass('js');
         | 
| 5 | 
            -
                function pageLoaded( | 
| 6 | 
            -
                    $('#upload-path',  | 
| 5 | 
            +
                function pageLoaded() {
         | 
| 6 | 
            +
                    $('#upload-path', this).each(function() {
         | 
| 7 7 | 
             
                        var elem = this;
         | 
| 8 8 | 
             
                        var old = elem.value;
         | 
| 9 9 | 
             
                        var base = elem.value;
         | 
| @@ -16,18 +16,18 @@ $(function() { | |
| 16 16 | 
             
                            });
         | 
| 17 17 | 
             
                        }
         | 
| 18 18 | 
             
                    });
         | 
| 19 | 
            -
                    $('label, #menu, .tabhead, .pagination, .button-bar',  | 
| 20 | 
            -
                    $('#history-table',  | 
| 21 | 
            -
            	$('.date',  | 
| 22 | 
            -
                    $('.tabs',  | 
| 19 | 
            +
                    $('label, #menu, .tabhead, .pagination, .button-bar', this).disableSelection();
         | 
| 20 | 
            +
                    $('#history-table', this).historyTable();
         | 
| 21 | 
            +
            	$('.date', this).timeAgo();
         | 
| 22 | 
            +
                    $('.tabs', this).each(function() {
         | 
| 23 23 | 
             
            	    $('> li', this).tabWidget();
         | 
| 24 24 | 
             
            	});
         | 
| 25 | 
            -
                    $('*[accesskey]',  | 
| 25 | 
            +
                    $('*[accesskey]', this).underlineAccessKey();
         | 
| 26 26 | 
             
                }
         | 
| 27 27 |  | 
| 28 | 
            -
                $(' | 
| 29 | 
            -
                $('#content').bind('pageLoaded',  | 
| 30 | 
            -
                pageLoaded();
         | 
| 28 | 
            +
                $('#content').pagination('.pagination a');
         | 
| 29 | 
            +
                $('#content').bind('pageLoaded', pageLoaded);
         | 
| 30 | 
            +
                pageLoaded.apply($(document));
         | 
| 31 31 |  | 
| 32 32 | 
             
                $('button[data-target]').live('click', function() {
         | 
| 33 33 | 
             
            	var button = $(this);
         | 
| @@ -156,16 +156,17 @@ a { | |
| 156 156 | 
             
              &.img {
         | 
| 157 157 | 
             
                background: transparent;
         | 
| 158 158 | 
             
              }
         | 
| 159 | 
            -
             | 
| 160 | 
            -
             | 
| 161 | 
            -
             | 
| 162 | 
            -
             | 
| 163 | 
            -
             | 
| 164 | 
            -
             | 
| 165 | 
            -
             | 
| 166 | 
            -
             | 
| 167 | 
            -
             | 
| 168 | 
            -
             | 
| 159 | 
            +
            }
         | 
| 160 | 
            +
             | 
| 161 | 
            +
            span.img {
         | 
| 162 | 
            +
              border: $border;
         | 
| 163 | 
            +
              float: right;
         | 
| 164 | 
            +
              text-align: center;
         | 
| 165 | 
            +
              color: black;
         | 
| 166 | 
            +
              background: $main_bg;
         | 
| 167 | 
            +
              padding: 0.2em;
         | 
| 168 | 
            +
              img {
         | 
| 169 | 
            +
                display: block;
         | 
| 169 170 | 
             
              }
         | 
| 170 171 | 
             
            }
         | 
| 171 172 |  | 
| @@ -1,3 +1,3 @@ | |
| 1 | 
            -
            @media screen{.patch{width:100%;border:1px solid #BBB;border-collapse:collapse;border-spacing:0}.patch tr td{padding:0.5em;border-top:1px solid #BBB;font-family:"Bitstream Vera Sans Mono", monospace}.patch tr td pre{border:0px none;margin:0;padding:0}.patch tr td ins{background:#d4ffd4;text-decoration:none}.patch tr td del{color:#555555;text-decoration:line-through}.patch tr th{font-variant:normal;padding:0.2em 0.5em;border:1px solid #BBB}.patch tr.new th{background:url(images/actions/new.png) 2px 2px no-repeat;padding-left:20px}.patch tr.delete th{background:url(images/actions/delete.png) 2px 2px no-repeat;padding-left:20px}.patch tr.move th{background:url(images/actions/move.png) 2px 2px no-repeat;padding-left:20px}.patch tr.edit th{background:url(images/actions/edit.png) 2px 2px no-repeat;padding-left:20px}.patch-summary{width:100%}.patch-summary .ins,.patch-summary .del{width:1em}.patch-summary .ins{color:#5A5}.patch-summary .del{color:#A55}.patch-summary .new{background:#d4ffd4}.patch-summary .new .name{background:url(images/actions/new.png) 2px 2px no-repeat;padding-left:20px}.patch-summary .delete{background:#ffd4d4}.patch-summary .delete .name{background:url(images/actions/delete.png) 2px 2px no-repeat;padding-left:20px}.patch-summary .move{background:#ffc}.patch-summary .move .name{background:url(images/actions/move.png) 2px 2px no-repeat;padding-left:20px}.patch-summary .edit{background:#fff}.patch-summary .edit .name{background:url(images/actions/edit.png) 2px 2px no-repeat;padding-left:20px}.ui-autocomplete{position:absolute;cursor:default;list-style:none;padding:2px;margin:0;display:block;float:left;background:#FFF;border:1px solid #BBB}.ui-autocomplete a{text-decoration:none;display:block;padding:.2em .4em;line-height:1.2em;color:#333}.ui-autocomplete .ui-state-hover{background:#DDD}.ui-autocomplete-input{margin-right:0}.ui-combo-button{-webkit-border-top-left-radius:0;border-top-left-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;border-left:0px none;margin-left:0;padding:0}.ui-combo-button:before{content:'\25BE'}.ui-helper-hidden-accessible{display:none}#header{background:url(images/bg/header.jpg) #153b7a;padding-left:0.5em;clear:both;height:3em}#header h1{margin:0;padding:0;border:0;outline:0;font-size:200%;font-weight:bold;float:left}#header h1 a,#header h1 a:visited,#header h1 a:active,#header h1 a:hover{color:#eeeeee}#info{float:right;background:#fff;padding:0.3em;margin:0.65em 0.5em 0 0;opacity:0.8}#search{opacity:0.8;float:right;border:none}#search input{margin:0.65em 0.5em 0 0;width:10em;padding:0.2em;padding-left:20px;background:#fff url(images/search.png) no-repeat 0.2em 0.2em}html,body{height:100%}#container{min-height:520px;position:relative;display:block;overflow:hidden;padding-right:7em;padding-left:156px;background:url(images/bg/container.png) top left repeat-y;z-index:10}#content{position:relative;float:left;width:100%;padding:2.5em 3.5em;background:url(images/bg/content.png) top left repeat-x}#sidebar{background:#e5efff;position:relative;width:156px;float:left;padding-bottom:3.5em;margin-left:-156px}#sidebar h1,#sidebar h2,#sidebar h3,#sidebar h4,#sidebar h5,#sidebar h6{font-size:140%;background:white;font-weight:normal;line-height:1.2em;margin:1em 0 0 0;padding:0 0.2em;border-top:1px solid #95bbff;border-bottom:1px solid #95bbff;display:block}#sidebar ul{margin:0;padding:0;border:0;outline:0;list-style:none}#sidebar ul li{margin:0}#sidebar ul li a{padding:0 5px;display:block}#sidebar ul ul a{padding:0 20px}#sidebar ul ul ul a{padding:0 35px}#footer{clear:both;position:relative;color:#555;font-size:90%;background:url(images/bg/footer.png) top left repeat-x;margin-top:-10px;padding:2em;text-align:right;z-index:1 !important}#footer .powered_by{margin-top:1em;color:#aaaaaa;font-size:90%}#item-actions-edit>a:before{content:url(images/actions/edit.png) "\00a0"}#item-actions-history>a:before{content:url(images/actions/history.png) "\00a0"}#item-actions-edit-new>a:before{content:url(images/actions/new.png) "\00a0"}#item-actions-edit-delete>a:before{content:url(images/actions/delete.png) "\00a0"}#item-actions-edit-move>a:before{content:url(images/actions/move.png) "\00a0"}#menu{background:#fff;height:1.6em;line-height:1.6em;border-top:1px solid #bbb;border-bottom:1px solid #bbb}#menu ul{margin:0;padding:0;border:0;outline:0;list-style-type:none;margin-left:0px;display:block;float:left;height:1.6em}#menu ul li{float:left}#menu ul#menu-actions{float:right}#menu ul#menu-actions li{border-left:1px solid #bbb;border-right:none}#menu ul#menu-actions .selected a:before{content:"\2022\00a0"}#menu ul#menu-actions .download{background:#e5efff}#menu ul li{margin:0;padding:0;border:0;outline:0;display:block;float:left;height:1.6em;line-height:1.6em;border-right:1px solid #bbb;color:#333}#menu ul li a{display:block;text-decoration:none;white-space:nowrap;padding:0 1em;height:1.6em;color:#333;cursor:pointer}#menu ul li a:hover,#menu ul li a:focus,#menu ul li a:active{text-shadow:#333333 1px 1px 2px}#menu ul li ul{display:none;z-index:99;position:absolute;border-top:1px solid #bbb;margin-left:-1px}#menu ul li ul li{background:#fff;clear:both;border:1px solid #bbb !important;border-top:none !important;width:100%}#menu ul li:hover>ul{display:block}#menu .breadcrumbs{margin-right:1em}#menu .breadcrumbs>li{border:none}#menu .breadcrumbs>li a{padding:0 0.3em}#menu .breadcrumbs>li:first-child a{padding-left:1em;text-indent:-999px;display:block;width:16px;background:url(images/actions/home.png) no-repeat 1em 0.1em}#menu .breadcrumbs>li:last-child{border-right:1px solid #bbb}#menu .breadcrumbs>li:last-child a{padding-right:1em}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline}*:focus{outline:0}body{line-height:1em;color:black;background:white}ol,ul{list-style:none}table{border-collapse:separate;border-spacing:0;vertical-align:middle}caption,th,td{text-align:left;font-weight:normal;vertical-align:middle}q,blockquote{quotes:"" ""}q:before,q:after,blockquote:before,blockquote:after{content:""}img a{border:none}body{color:#111111;background:white;font-family:"URW Gothic L","DejaVu Sans",Verdana,sans-serif;font-size:10pt;line-height:1.2em}h1{font-size:185%}h2{font-size:170%}h3{font-size:155%}h4{font-size:140%}h5{font-size:125%}h6{font-size:110%}h1,h2,h3,h4,h5,h6{font-family:"Book Antiqua",Palatino,FreeSerif,serif;color:#153b7a;margin:1em 0 0.5em 0;line-height:1.2em}h1{margin-top:0}strong{font-weight:bold}em{font-style:italic}ul,ol,p{margin:0.8em 0 0.8em 0}ul,ol ul,ol{margin:0}ul{list-style-type:disc}ol{list-style-type:decimal}ul,ol{list-style-position:outside;padding-left:1.5em}ul.pagination{height:3em}ul.button-bar,ul.pagination{list-style-type:none;margin:0;display:block;padding:0;width:100%}ul.button-bar li,ul.pagination li{float:left;padding:0;margin:0}ul.button-bar li a,ul.button-bar li span,ul.pagination li a,ul.pagination li span{display:block;background:url(images/bg/button.png) repeat-x left bottom transparent;border:1px solid #bbb;border-left:0px none;color:#333;padding:0em 0.5em;line-height:1.5em}ul.button-bar li a:active,ul.button-bar li a.current,ul.button-bar li a.loading,ul.button-bar li span:active,ul.button-bar li span.current,ul.button-bar li span.loading,ul.pagination li a:active,ul.pagination li a.current,ul.pagination li a.loading,ul.pagination li span:active,ul.pagination li span.current,ul.pagination li span.loading{background:url(images/bg/button.png) repeat-x left bottom #d4e4ff}ul.button-bar li a.loading,ul.button-bar li span.loading,ul.pagination li a.loading,ul.pagination li span.loading{background:#d4e4ff url(images/loading.gif) repeat}ul.button-bar li a.ellipsis:before,ul.button-bar li span.ellipsis:before,ul.pagination li a.ellipsis:before,ul.pagination li span.ellipsis:before{content:'\22EF'}ul.button-bar li a.disabled,ul.button-bar li span.disabled,ul.pagination li a.disabled,ul.pagination li span.disabled{color:#bbb}ul.button-bar li:first-child a,ul.button-bar li:first-child span,ul.pagination li:first-child a,ul.pagination li:first-child span{border-left:1px solid #bbb;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px}ul.button-bar li:last-child a,ul.button-bar li:last-child span,ul.pagination li:last-child a,ul.pagination li:last-child span{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px}dt{font-weight:bold;text-decoration:underline}dd{margin:0;padding:0 0 0.5em 0}table{border-collapse:separate;border-spacing:0px;background:#bbb;padding:1px;margin:0 0 2em 0}table td,table th{border-top:1px solid #E5E5E5;padding:0.2em 0.5em}table td.link,table th.link{padding:0}table td.link a,table th.link a{margin:0;padding:0.2em 0.5em;display:block}table tr{background:#fff}table tr:first-child td{border-top:0px none}table thead tr{background:url(images/bg/button.png) repeat-x left bottom #d4e4ff}table thead tr th{border-bottom:1px solid #bbb;border-top:0px none}a,a:visited{color:#153b7a;text-decoration:none}a.img{background:transparent}span.img a{border:1px solid #bbb;float:right;text-align:center;color:black;background:#fff;padding:0.2em}span.img a img{display:block}.editsection{border-radius:4px;-webkit-border-radius:4px;border:1px solid #bbb;display:block;background:url(images/bg/button.png) repeat-x left bottom #fff;font-family:"URW Gothic L","DejaVu Sans",Verdana,sans-serif;font-size:9pt;line-height:9pt;margin-top:2px;padding:2px;color:#333;float:right;font-variant:normal}.editsection:visited{color:#333}sub{vertical-align:text-bottom;font-size:75%}sup{vertical-align:text-top;font-size:75%}img{vertical-align:middle}hr{background:#bbb;border:none;height:1px}.version,tt,pre,code,kbd{font-family:"Andale Mono","Bitstream Vera Sans Mono",monospace}pre{border:1px solid #bbb;padding:0.2em;min-width:60%;white-space:pre-wrap;display:block}#history-table .compare{padding:0;width:1em}#history-table .compare button{margin:1px;display:inline;font-size:small}#history-table .compare input{display:inline;margin:0 3px}table.full,#history-table,#subpages-table{width:100%}table.full td,table.full th,#history-table td,#history-table th,#subpages-table td,#subpages-table th{white-space:nowrap}#subpages-table .actions{width:80px;padding:0px}#subpages-table .action-edit{text-indent:-999px;background:url(images/actions/edit.png) no-repeat top left;float:left;width:16px;height:16px;overflow:hidden}#subpages-table .action-history{text-indent:-999px;background:url(images/actions/history.png) no-repeat top left;float:left;width:16px;height:16px;overflow:hidden}#subpages-table .action-delete{text-indent:-999px;background:url(images/actions/delete.png) no-repeat top left;float:left;width:16px;height:16px;overflow:hidden}#subpages-table .action-move{text-indent:-999px;background:url(images/actions/move.png) no-repeat top left;float:left;width:16px;height:16px;overflow:hidden}#subpages-table .page:before{content:url(images/page.png) "\00a0"}#subpages-table .folder:before{content:url(images/folder.png) "\00a0"}#subpages-table .file-type-7z:before{content:url(images/filetypes/7z.png) "\00a0"}#subpages-table .file-type-bz2:before{content:url(images/filetypes/bz2.png) "\00a0"}#subpages-table .file-type-doc:before{content:url(images/filetypes/doc.png) "\00a0"}#subpages-table .file-type-flac:before{content:url(images/filetypes/flac.png) "\00a0"}#subpages-table .file-type-gz:before{content:url(images/filetypes/gz.png) "\00a0"}#subpages-table .file-type-html:before{content:url(images/filetypes/html.png) "\00a0"}#subpages-table .file-type-java:before{content:url(images/filetypes/java.png) "\00a0"}#subpages-table .file-type-jpg:before{content:url(images/filetypes/jpg.png) "\00a0"}#subpages-table .file-type-midi:before{content:url(images/filetypes/midi.png) "\00a0"}#subpages-table .file-type-mp3:before{content:url(images/filetypes/mp3.png) "\00a0"}#subpages-table .file-type-ogg:before{content:url(images/filetypes/ogg.png) "\00a0"}#subpages-table .file-type-pdf:before{content:url(images/filetypes/pdf.png) "\00a0"}#subpages-table .file-type-php:before{content:url(images/filetypes/php.png) "\00a0"}#subpages-table .file-type-png:before{content:url(images/filetypes/png.png) "\00a0"}#subpages-table .file-type-ppt:before{content:url(images/filetypes/ppt.png) "\00a0"}#subpages-table .file-type-psd:before{content:url(images/filetypes/psd.png) "\00a0"}#subpages-table .file-type-rar:before{content:url(images/filetypes/rar.png) "\00a0"}#subpages-table .file-type-rb:before{content:url(images/filetypes/rb.png) "\00a0"}#subpages-table .file-type-sh:before{content:url(images/filetypes/sh.png) "\00a0"}#subpages-table .file-type-tar:before{content:url(images/filetypes/tar.png) "\00a0"}#subpages-table .file-type-txt:before{content:url(images/filetypes/txt.png) "\00a0"}#subpages-table .file-type-wma:before{content:url(images/filetypes/wma.png) "\00a0"}#subpages-table .file-type-xls:before{content:url(images/filetypes/xls.png) "\00a0"}#subpages-table .file-type-zip:before{content:url(images/filetypes/zip.png) "\00a0"}.info{color:#333}.warn{color:#a50}.error{color:#a00}.ref{vertical-align:super;font-size:80%}button{border-radius:4px;-webkit-border-radius:4px;background:url(images/bg/button.png) repeat-x left bottom #fff;float:left;margin:0.3em 0.5em 0.3em 0;padding:2px;border:1px solid #bbb;color:#333;white-space:nowrap}button:active:not([disabled]),button.loading{background:url(images/bg/button.png) repeat-x left bottom #d4e4ff}button.loading{background:url(images/loading.gif) repeat #d4e4ff}button[disabled]{color:#999}form{display:inline}form select,form textarea,form input{float:left;margin:0.3em 0.5em 0.3em 0;padding:2px;border:1px solid #bbb;background:#fff;color:#333}form select:focus,form textarea:focus,form input:focus{border-style:dotted}form label{float:left;margin:0;padding:0.4em 0.5em 0.4em 0;border:none;background:none;color:#333}form label.unsaved{font-style:italic}form .fieldset label{width:12em;text-align:right}form .indent{margin-left:12.5em}form .indent label{width:auto}form input[type=text],form input[type=password]{font-family:"Andale Mono","Bitstream Vera Sans Mono",monospace;width:20em}form select{width:20em}form textarea{width:100%;font-family:"Andale Mono","Bitstream Vera Sans Mono",monospace;font-size:100%}form input[type=image],form input[type=image]:focus,form input[type=checkbox]{border:none;background:none}form input[type=hidden]{display:none}form br{clear:left}.flash{margin:0.5em 0;border:1px solid #d33;list-style-type:none;padding:0.5em;background:#fdd}table input{margin:0}.box,.fieldset,.tab{border-radius:4px;-webkit-border-radius:4px;box-shadow:2px 2px 8px #bbb;-webkit-box-shadow:2px 2px 8px #bbb;clear:both;display:block;border:1px solid #bbb;padding:0.5em 1em;margin:1em 0;overflow:auto}.box h1,.box h2,.box h3,.box h4,.box h5,.box h6,.fieldset h1,.fieldset h2,.fieldset h3,.fieldset h4,.fieldset h5,.fieldset h6,.tab h1,.tab h2,.tab h3,.tab h4,.tab h5,.tab h6{margin:0.2em 0}.js .tabs{margin:0;padding:0;border:0;outline:0;list-style-type:none;margin-left:0px;display:block;float:left;margin:0 0 1px 0;height:1.5em;width:100%;z-index:100;position:relative}.js .tabs li{float:left}.js .tabs>li{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-webkit-border-top-right-radius:4px;border-top-right-radius:4px;background:url(images/bg/button.png) repeat-x left bottom #d4e4ff;float:left;padding:0;margin:0 4px 0 0;height:1.5em;line-height:1.5em;border:1px solid #bbb}.js .tabs>li.selected>a{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-webkit-border-top-right-radius:4px;border-top-right-radius:4px;background:#fff;border-bottom:1px solid white}.js .tabs>li>a{display:block;text-decoration:none;white-space:nowrap;padding:0 0.8em;color:#333}.js .tabs>li>a:hover,.js .tabs>li>a:active,.js .tabs>li>a:focus{text-shadow:#333333 1px 1px 2px}.js .tab{-webkit-border-top-left-radius:0px;border-top-left-radius:0px}.no-js .tabs{display:none}.hidden{display:none !important}.toc .toc1{font-weight:bold}.toc .toc1>ol{margin-bottom:1em}.toc .toc1 .toc2{font-weight:normal}a.absent{color:#A55}.archive #header{background:url(images/bg/header_gray.jpg) #333}.error_page{padding-left:120px;min-height:400px;background:url(images/bug.png) top left no-repeat}.not_found_page{padding-left:120px;min-height:400px;background:url(images/not_found.png) top left no-repeat}* html #container{width:100%;padding:0;background:transparent;border-bottom:1px solid #bbb}* html #sidebar{margin:0;border-right:1px solid #bbb;border-bottom:1px solid #bbb}* html #content{width:70%;background:transparent}* html #footer{background:transparent;margin-top:0;padding-top:0}*:first-child+html #container{padding-right:7.1em}*:first-child+html #menu ul li li{width:8em}
         | 
| 1 | 
            +
            @media screen{.patch{width:100%;border:1px solid #BBB;border-collapse:collapse;border-spacing:0}.patch tr td{padding:0.5em;border-top:1px solid #BBB;font-family:"Bitstream Vera Sans Mono", monospace}.patch tr td pre{border:0px none;margin:0;padding:0}.patch tr td ins{background:#d4ffd4;text-decoration:none}.patch tr td del{color:#555555;text-decoration:line-through}.patch tr th{font-variant:normal;padding:0.2em 0.5em;border:1px solid #BBB}.patch tr.new th{background:url(images/actions/new.png) 2px 2px no-repeat;padding-left:20px}.patch tr.delete th{background:url(images/actions/delete.png) 2px 2px no-repeat;padding-left:20px}.patch tr.move th{background:url(images/actions/move.png) 2px 2px no-repeat;padding-left:20px}.patch tr.edit th{background:url(images/actions/edit.png) 2px 2px no-repeat;padding-left:20px}.patch-summary{width:100%}.patch-summary .ins,.patch-summary .del{width:1em}.patch-summary .ins{color:#5A5}.patch-summary .del{color:#A55}.patch-summary .new{background:#d4ffd4}.patch-summary .new .name{background:url(images/actions/new.png) 2px 2px no-repeat;padding-left:20px}.patch-summary .delete{background:#ffd4d4}.patch-summary .delete .name{background:url(images/actions/delete.png) 2px 2px no-repeat;padding-left:20px}.patch-summary .move{background:#ffc}.patch-summary .move .name{background:url(images/actions/move.png) 2px 2px no-repeat;padding-left:20px}.patch-summary .edit{background:#fff}.patch-summary .edit .name{background:url(images/actions/edit.png) 2px 2px no-repeat;padding-left:20px}.ui-autocomplete{position:absolute;cursor:default;list-style:none;padding:2px;margin:0;display:block;float:left;background:#FFF;border:1px solid #BBB}.ui-autocomplete a{text-decoration:none;display:block;padding:.2em .4em;line-height:1.2em;color:#333}.ui-autocomplete .ui-state-hover{background:#DDD}.ui-autocomplete-input{margin-right:0}.ui-combo-button{-webkit-border-top-left-radius:0;border-top-left-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;border-left:0px none;margin-left:0;padding:0}.ui-combo-button:before{content:'\25BE'}.ui-helper-hidden-accessible{display:none}#header{background:url(images/bg/header.jpg) #153b7a;padding-left:0.5em;clear:both;height:3em}#header h1{margin:0;padding:0;border:0;outline:0;font-size:200%;font-weight:bold;float:left}#header h1 a,#header h1 a:visited,#header h1 a:active,#header h1 a:hover{color:#eeeeee}#info{float:right;background:#fff;padding:0.3em;margin:0.65em 0.5em 0 0;opacity:0.8}#search{opacity:0.8;float:right;border:none}#search input{margin:0.65em 0.5em 0 0;width:10em;padding:0.2em;padding-left:20px;background:#fff url(images/search.png) no-repeat 0.2em 0.2em}html,body{height:100%}#container{min-height:520px;position:relative;display:block;overflow:hidden;padding-right:7em;padding-left:156px;background:url(images/bg/container.png) top left repeat-y;z-index:10}#content{position:relative;float:left;width:100%;padding:2.5em 3.5em;background:url(images/bg/content.png) top left repeat-x}#sidebar{background:#e5efff;position:relative;width:156px;float:left;padding-bottom:3.5em;margin-left:-156px}#sidebar h1,#sidebar h2,#sidebar h3,#sidebar h4,#sidebar h5,#sidebar h6{font-size:140%;background:white;font-weight:normal;line-height:1.2em;margin:1em 0 0 0;padding:0 0.2em;border-top:1px solid #95bbff;border-bottom:1px solid #95bbff;display:block}#sidebar ul{margin:0;padding:0;border:0;outline:0;list-style:none}#sidebar ul li{margin:0}#sidebar ul li a{padding:0 5px;display:block}#sidebar ul ul a{padding:0 20px}#sidebar ul ul ul a{padding:0 35px}#footer{clear:both;position:relative;color:#555;font-size:90%;background:url(images/bg/footer.png) top left repeat-x;margin-top:-10px;padding:2em;text-align:right;z-index:1 !important}#footer .powered_by{margin-top:1em;color:#aaaaaa;font-size:90%}#item-actions-edit>a:before{content:url(images/actions/edit.png) "\00a0"}#item-actions-history>a:before{content:url(images/actions/history.png) "\00a0"}#item-actions-edit-new>a:before{content:url(images/actions/new.png) "\00a0"}#item-actions-edit-delete>a:before{content:url(images/actions/delete.png) "\00a0"}#item-actions-edit-move>a:before{content:url(images/actions/move.png) "\00a0"}#menu{background:#fff;height:1.6em;line-height:1.6em;border-top:1px solid #bbb;border-bottom:1px solid #bbb}#menu ul{margin:0;padding:0;border:0;outline:0;list-style-type:none;margin-left:0px;display:block;float:left;height:1.6em}#menu ul li{float:left}#menu ul#menu-actions{float:right}#menu ul#menu-actions li{border-left:1px solid #bbb;border-right:none}#menu ul#menu-actions .selected a:before{content:"\2022\00a0"}#menu ul#menu-actions .download{background:#e5efff}#menu ul li{margin:0;padding:0;border:0;outline:0;display:block;float:left;height:1.6em;line-height:1.6em;border-right:1px solid #bbb;color:#333}#menu ul li a{display:block;text-decoration:none;white-space:nowrap;padding:0 1em;height:1.6em;color:#333;cursor:pointer}#menu ul li a:hover,#menu ul li a:focus,#menu ul li a:active{text-shadow:#333333 1px 1px 2px}#menu ul li ul{display:none;z-index:99;position:absolute;border-top:1px solid #bbb;margin-left:-1px}#menu ul li ul li{background:#fff;clear:both;border:1px solid #bbb !important;border-top:none !important;width:100%}#menu ul li:hover>ul{display:block}#menu .breadcrumbs{margin-right:1em}#menu .breadcrumbs>li{border:none}#menu .breadcrumbs>li a{padding:0 0.3em}#menu .breadcrumbs>li:first-child a{padding-left:1em;text-indent:-999px;display:block;width:16px;background:url(images/actions/home.png) no-repeat 1em 0.1em}#menu .breadcrumbs>li:last-child{border-right:1px solid #bbb}#menu .breadcrumbs>li:last-child a{padding-right:1em}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline}*:focus{outline:0}body{line-height:1em;color:black;background:white}ol,ul{list-style:none}table{border-collapse:separate;border-spacing:0;vertical-align:middle}caption,th,td{text-align:left;font-weight:normal;vertical-align:middle}q,blockquote{quotes:"" ""}q:before,q:after,blockquote:before,blockquote:after{content:""}img a{border:none}body{color:#111111;background:white;font-family:"URW Gothic L","DejaVu Sans",Verdana,sans-serif;font-size:10pt;line-height:1.2em}h1{font-size:185%}h2{font-size:170%}h3{font-size:155%}h4{font-size:140%}h5{font-size:125%}h6{font-size:110%}h1,h2,h3,h4,h5,h6{font-family:"Book Antiqua",Palatino,FreeSerif,serif;color:#153b7a;margin:1em 0 0.5em 0;line-height:1.2em}h1{margin-top:0}strong{font-weight:bold}em{font-style:italic}ul,ol,p{margin:0.8em 0 0.8em 0}ul,ol ul,ol{margin:0}ul{list-style-type:disc}ol{list-style-type:decimal}ul,ol{list-style-position:outside;padding-left:1.5em}ul.pagination{height:3em}ul.button-bar,ul.pagination{list-style-type:none;margin:0;display:block;padding:0;width:100%}ul.button-bar li,ul.pagination li{float:left;padding:0;margin:0}ul.button-bar li a,ul.button-bar li span,ul.pagination li a,ul.pagination li span{display:block;background:url(images/bg/button.png) repeat-x left bottom transparent;border:1px solid #bbb;border-left:0px none;color:#333;padding:0em 0.5em;line-height:1.5em}ul.button-bar li a:active,ul.button-bar li a.current,ul.button-bar li a.loading,ul.button-bar li span:active,ul.button-bar li span.current,ul.button-bar li span.loading,ul.pagination li a:active,ul.pagination li a.current,ul.pagination li a.loading,ul.pagination li span:active,ul.pagination li span.current,ul.pagination li span.loading{background:url(images/bg/button.png) repeat-x left bottom #d4e4ff}ul.button-bar li a.loading,ul.button-bar li span.loading,ul.pagination li a.loading,ul.pagination li span.loading{background:#d4e4ff url(images/loading.gif) repeat}ul.button-bar li a.ellipsis:before,ul.button-bar li span.ellipsis:before,ul.pagination li a.ellipsis:before,ul.pagination li span.ellipsis:before{content:'\22EF'}ul.button-bar li a.disabled,ul.button-bar li span.disabled,ul.pagination li a.disabled,ul.pagination li span.disabled{color:#bbb}ul.button-bar li:first-child a,ul.button-bar li:first-child span,ul.pagination li:first-child a,ul.pagination li:first-child span{border-left:1px solid #bbb;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px}ul.button-bar li:last-child a,ul.button-bar li:last-child span,ul.pagination li:last-child a,ul.pagination li:last-child span{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px}dt{font-weight:bold;text-decoration:underline}dd{margin:0;padding:0 0 0.5em 0}table{border-collapse:separate;border-spacing:0px;background:#bbb;padding:1px;margin:0 0 2em 0}table td,table th{border-top:1px solid #E5E5E5;padding:0.2em 0.5em}table td.link,table th.link{padding:0}table td.link a,table th.link a{margin:0;padding:0.2em 0.5em;display:block}table tr{background:#fff}table tr:first-child td{border-top:0px none}table thead tr{background:url(images/bg/button.png) repeat-x left bottom #d4e4ff}table thead tr th{border-bottom:1px solid #bbb;border-top:0px none}a,a:visited{color:#153b7a;text-decoration:none}a.img{background:transparent}span.img{border:1px solid #bbb;float:right;text-align:center;color:black;background:#fff;padding:0.2em}span.img img{display:block}.editsection{border-radius:4px;-webkit-border-radius:4px;border:1px solid #bbb;display:block;background:url(images/bg/button.png) repeat-x left bottom #fff;font-family:"URW Gothic L","DejaVu Sans",Verdana,sans-serif;font-size:9pt;line-height:9pt;margin-top:2px;padding:2px;color:#333;float:right;font-variant:normal}.editsection:visited{color:#333}sub{vertical-align:text-bottom;font-size:75%}sup{vertical-align:text-top;font-size:75%}img{vertical-align:middle}hr{background:#bbb;border:none;height:1px}.version,tt,pre,code,kbd{font-family:"Andale Mono","Bitstream Vera Sans Mono",monospace}pre{border:1px solid #bbb;padding:0.2em;min-width:60%;white-space:pre-wrap;display:block}#history-table .compare{padding:0;width:1em}#history-table .compare button{margin:1px;display:inline;font-size:small}#history-table .compare input{display:inline;margin:0 3px}table.full,#history-table,#subpages-table{width:100%}table.full td,table.full th,#history-table td,#history-table th,#subpages-table td,#subpages-table th{white-space:nowrap}#subpages-table .actions{width:80px;padding:0px}#subpages-table .action-edit{text-indent:-999px;background:url(images/actions/edit.png) no-repeat top left;float:left;width:16px;height:16px;overflow:hidden}#subpages-table .action-history{text-indent:-999px;background:url(images/actions/history.png) no-repeat top left;float:left;width:16px;height:16px;overflow:hidden}#subpages-table .action-delete{text-indent:-999px;background:url(images/actions/delete.png) no-repeat top left;float:left;width:16px;height:16px;overflow:hidden}#subpages-table .action-move{text-indent:-999px;background:url(images/actions/move.png) no-repeat top left;float:left;width:16px;height:16px;overflow:hidden}#subpages-table .page:before{content:url(images/page.png) "\00a0"}#subpages-table .folder:before{content:url(images/folder.png) "\00a0"}#subpages-table .file-type-7z:before{content:url(images/filetypes/7z.png) "\00a0"}#subpages-table .file-type-bz2:before{content:url(images/filetypes/bz2.png) "\00a0"}#subpages-table .file-type-doc:before{content:url(images/filetypes/doc.png) "\00a0"}#subpages-table .file-type-flac:before{content:url(images/filetypes/flac.png) "\00a0"}#subpages-table .file-type-gz:before{content:url(images/filetypes/gz.png) "\00a0"}#subpages-table .file-type-html:before{content:url(images/filetypes/html.png) "\00a0"}#subpages-table .file-type-java:before{content:url(images/filetypes/java.png) "\00a0"}#subpages-table .file-type-jpg:before{content:url(images/filetypes/jpg.png) "\00a0"}#subpages-table .file-type-midi:before{content:url(images/filetypes/midi.png) "\00a0"}#subpages-table .file-type-mp3:before{content:url(images/filetypes/mp3.png) "\00a0"}#subpages-table .file-type-ogg:before{content:url(images/filetypes/ogg.png) "\00a0"}#subpages-table .file-type-pdf:before{content:url(images/filetypes/pdf.png) "\00a0"}#subpages-table .file-type-php:before{content:url(images/filetypes/php.png) "\00a0"}#subpages-table .file-type-png:before{content:url(images/filetypes/png.png) "\00a0"}#subpages-table .file-type-ppt:before{content:url(images/filetypes/ppt.png) "\00a0"}#subpages-table .file-type-psd:before{content:url(images/filetypes/psd.png) "\00a0"}#subpages-table .file-type-rar:before{content:url(images/filetypes/rar.png) "\00a0"}#subpages-table .file-type-rb:before{content:url(images/filetypes/rb.png) "\00a0"}#subpages-table .file-type-sh:before{content:url(images/filetypes/sh.png) "\00a0"}#subpages-table .file-type-tar:before{content:url(images/filetypes/tar.png) "\00a0"}#subpages-table .file-type-txt:before{content:url(images/filetypes/txt.png) "\00a0"}#subpages-table .file-type-wma:before{content:url(images/filetypes/wma.png) "\00a0"}#subpages-table .file-type-xls:before{content:url(images/filetypes/xls.png) "\00a0"}#subpages-table .file-type-zip:before{content:url(images/filetypes/zip.png) "\00a0"}.info{color:#333}.warn{color:#a50}.error{color:#a00}.ref{vertical-align:super;font-size:80%}button{border-radius:4px;-webkit-border-radius:4px;background:url(images/bg/button.png) repeat-x left bottom #fff;float:left;margin:0.3em 0.5em 0.3em 0;padding:2px;border:1px solid #bbb;color:#333;white-space:nowrap}button:active:not([disabled]),button.loading{background:url(images/bg/button.png) repeat-x left bottom #d4e4ff}button.loading{background:url(images/loading.gif) repeat #d4e4ff}button[disabled]{color:#999}form{display:inline}form select,form textarea,form input{float:left;margin:0.3em 0.5em 0.3em 0;padding:2px;border:1px solid #bbb;background:#fff;color:#333}form select:focus,form textarea:focus,form input:focus{border-style:dotted}form label{float:left;margin:0;padding:0.4em 0.5em 0.4em 0;border:none;background:none;color:#333}form label.unsaved{font-style:italic}form .fieldset label{width:12em;text-align:right}form .indent{margin-left:12.5em}form .indent label{width:auto}form input[type=text],form input[type=password]{font-family:"Andale Mono","Bitstream Vera Sans Mono",monospace;width:20em}form select{width:20em}form textarea{width:100%;font-family:"Andale Mono","Bitstream Vera Sans Mono",monospace;font-size:100%}form input[type=image],form input[type=image]:focus,form input[type=checkbox]{border:none;background:none}form input[type=hidden]{display:none}form br{clear:left}.flash{margin:0.5em 0;border:1px solid #d33;list-style-type:none;padding:0.5em;background:#fdd}table input{margin:0}.box,.fieldset,.tab{border-radius:4px;-webkit-border-radius:4px;box-shadow:2px 2px 8px #bbb;-webkit-box-shadow:2px 2px 8px #bbb;clear:both;display:block;border:1px solid #bbb;padding:0.5em 1em;margin:1em 0;overflow:auto}.box h1,.box h2,.box h3,.box h4,.box h5,.box h6,.fieldset h1,.fieldset h2,.fieldset h3,.fieldset h4,.fieldset h5,.fieldset h6,.tab h1,.tab h2,.tab h3,.tab h4,.tab h5,.tab h6{margin:0.2em 0}.js .tabs{margin:0;padding:0;border:0;outline:0;list-style-type:none;margin-left:0px;display:block;float:left;margin:0 0 1px 0;height:1.5em;width:100%;z-index:100;position:relative}.js .tabs li{float:left}.js .tabs>li{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-webkit-border-top-right-radius:4px;border-top-right-radius:4px;background:url(images/bg/button.png) repeat-x left bottom #d4e4ff;float:left;padding:0;margin:0 4px 0 0;height:1.5em;line-height:1.5em;border:1px solid #bbb}.js .tabs>li.selected>a{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-webkit-border-top-right-radius:4px;border-top-right-radius:4px;background:#fff;border-bottom:1px solid white}.js .tabs>li>a{display:block;text-decoration:none;white-space:nowrap;padding:0 0.8em;color:#333}.js .tabs>li>a:hover,.js .tabs>li>a:active,.js .tabs>li>a:focus{text-shadow:#333333 1px 1px 2px}.js .tab{-webkit-border-top-left-radius:0px;border-top-left-radius:0px}.no-js .tabs{display:none}.hidden{display:none !important}.toc .toc1{font-weight:bold}.toc .toc1>ol{margin-bottom:1em}.toc .toc1 .toc2{font-weight:normal}a.absent{color:#A55}.archive #header{background:url(images/bg/header_gray.jpg) #333}.error_page{padding-left:120px;min-height:400px;background:url(images/bug.png) top left no-repeat}.not_found_page{padding-left:120px;min-height:400px;background:url(images/not_found.png) top left no-repeat}* html #container{width:100%;padding:0;background:transparent;border-bottom:1px solid #bbb}* html #sidebar{margin:0;border-right:1px solid #bbb;border-bottom:1px solid #bbb}* html #content{width:70%;background:transparent}* html #footer{background:transparent;margin-top:0;padding-top:0}*:first-child+html #container{padding-right:7.1em}*:first-child+html #menu ul li li{width:8em}
         | 
| 2 2 | 
             
            }@media print{.patch{width:100%;border:1px solid #BBB;border-collapse:collapse;border-spacing:0}.patch tr td{padding:0.5em;border-top:1px solid #BBB;font-family:"Bitstream Vera Sans Mono", monospace}.patch tr td pre{border:0px none;margin:0;padding:0}.patch tr td ins{background:#d4ffd4;text-decoration:none}.patch tr td del{color:#555555;text-decoration:line-through}.patch tr th{font-variant:normal;padding:0.2em 0.5em;border:1px solid #BBB}.patch tr.new th{background:url(images/actions/new.png) 2px 2px no-repeat;padding-left:20px}.patch tr.delete th{background:url(images/actions/delete.png) 2px 2px no-repeat;padding-left:20px}.patch tr.move th{background:url(images/actions/move.png) 2px 2px no-repeat;padding-left:20px}.patch tr.edit th{background:url(images/actions/edit.png) 2px 2px no-repeat;padding-left:20px}.patch-summary{width:100%}.patch-summary .ins,.patch-summary .del{width:1em}.patch-summary .ins{color:#5A5}.patch-summary .del{color:#A55}.patch-summary .new{background:#d4ffd4}.patch-summary .new .name{background:url(images/actions/new.png) 2px 2px no-repeat;padding-left:20px}.patch-summary .delete{background:#ffd4d4}.patch-summary .delete .name{background:url(images/actions/delete.png) 2px 2px no-repeat;padding-left:20px}.patch-summary .move{background:#ffc}.patch-summary .move .name{background:url(images/actions/move.png) 2px 2px no-repeat;padding-left:20px}.patch-summary .edit{background:#fff}.patch-summary .edit .name{background:url(images/actions/edit.png) 2px 2px no-repeat;padding-left:20px}body{color:black;background:#fff;font-family:"URW Gothic L","DejaVu Sans",Verdana,sans-serif;font-size:10pt;line-height:1.2em}h1{font-size:185%}h2{font-size:170%}h3{font-size:155%}h4{font-size:140%}h5{font-size:125%}h6{font-size:110%}h1,h2,h3,h4,h5,h6{font-family:"Book Antiqua",Palatino,FreeSerif,serif;color:#153b7a;margin:2em 0 0.5em 0}ul,ol,p{margin:0.8em 0 0.8em 0}ul,ol ul,ol{margin:0}ul{list-style-type:disc}ol{list-style-type:decimal}ul,ol{list-style-position:outside;padding-left:1.5em}table{border-collapse:collapse;border-spacing:0;border:1px solid #bbb}table tr td,table tr th{border:1px solid #bbb;padding:0.2em 0.5em}table tr td.link,table tr th.link{padding:0}table tr td.link a,table tr th.link a{margin:0;padding:0.2em 0.5em;display:block}a,a:visited{color:#153b7a;text-decoration:none}a.img{background:transparent}div.img a{border:1px solid #bbb;float:right;text-align:center;color:black;background:#fff;padding:0.2em}div.img a img{display:block}img{vertical-align:middle}hr{background:#bbb;border:none;height:1px}#header,#sidebar,#menu,.editsection,.backref,.hidden,.noprint{display:none !important}#footer{display:block;margin-top:1em}.ref,.ref:visited,.ref:active,.ref:hover{vertical-align:super;font-size:80%;color:black}.date .ago{display:none !important}.date .full{display:inline !important}.toc{padding:0.5em 2em}.toc ul{margin:0}.toc .toc1{font-weight:bold}.toc .toc1 .toc2{font-weight:normal}
         | 
| 3 3 | 
             
            }
         | 
    
        data/test/config_test.rb
    CHANGED
    
    | @@ -20,6 +20,15 @@ describe 'Olelo::Config' do | |
| 20 20 | 
             
                end
         | 
| 21 21 | 
             
              end
         | 
| 22 22 |  | 
| 23 | 
            +
              it 'should freeze' do
         | 
| 24 | 
            +
                config = Olelo::Config.new
         | 
| 25 | 
            +
                config['a'] = 42
         | 
| 26 | 
            +
                config.freeze
         | 
| 27 | 
            +
                lambda do
         | 
| 28 | 
            +
                  config['a'] += 1
         | 
| 29 | 
            +
                end.should.raise RuntimeError
         | 
| 30 | 
            +
              end
         | 
| 31 | 
            +
             | 
| 23 32 | 
             
              it 'should raise NameError' do
         | 
| 24 33 | 
             
                lambda do
         | 
| 25 34 | 
             
                  Olelo::Config.new.not.existing
         | 
    
        data/test/factory_test.rb
    CHANGED
    
    
    
        data/test/helper.rb
    CHANGED
    
    
    
        data/test/hooks_test.rb
    CHANGED
    
    
    
        data/test/run.rb
    ADDED
    
    
    
        data/test/templates_test.rb
    CHANGED
    
    
    
        data/test/util_test.rb
    CHANGED
    
    
    
        data/views/compare.slim
    CHANGED
    
    | @@ -1,8 +1,7 @@ | |
| 1 | 
            -
            - title  | 
| 2 | 
            -
             | 
| 3 | 
            -
              = :compare.t(name: page.title)
         | 
| 4 | 
            -
              | :
         | 
| 1 | 
            +
            - title :compare.t(name: page.title, from: @diff.from.short, to: @diff.to.short)
         | 
| 2 | 
            +
            = define_block :from do
         | 
| 5 3 | 
             
              a.version href=build_path(page, version: @diff.from) = @diff.from.short
         | 
| 6 | 
            -
               | 
| 4 | 
            +
            =  define_block :to do
         | 
| 7 5 | 
             
              a.version href=build_path(page, version: @diff.to) = @diff.to.short
         | 
| 6 | 
            +
            h1== :compare.t(name: escape_html(page.title), from: blocks[:from], to: blocks[:to])
         | 
| 8 7 | 
             
            = format_diff(@diff)
         | 
    
        data/views/edit.slim
    CHANGED
    
    | @@ -4,9 +4,9 @@ | |
| 4 4 | 
             
              - title params[:pos] ? :edit_page_section.t(page: page.title) : :edit_page.t(page: page.title)
         | 
| 5 5 | 
             
            h1= title
         | 
| 6 6 | 
             
            = flash_messages
         | 
| 7 | 
            -
            = page. | 
| 7 | 
            +
            = page.editable? ? tabs(:edit, :upload, :attributes) :  tabs(:upload, :attributes)
         | 
| 8 8 | 
             
            form action=build_path(page.new? ? nil : page.path) method='post'
         | 
| 9 | 
            -
              - if page. | 
| 9 | 
            +
              - if page.editable?
         | 
| 10 10 | 
             
                #tab-edit.tab
         | 
| 11 11 | 
             
                  h2= :edit.t
         | 
| 12 12 | 
             
                  ruby:
         | 
    
        data/views/history.slim
    CHANGED
    
    
    
        data/views/layout.slim
    CHANGED
    
    
    
        data/views/not_found.slim
    CHANGED
    
    
    
        data/views/show.slim
    CHANGED
    
    | @@ -1,9 +1,8 @@ | |
| 1 1 | 
             
            - title page.title
         | 
| 2 | 
            -
            =  | 
| 3 | 
            -
              ' #{:version.t}
         | 
| 2 | 
            +
            = define_block :version_link do
         | 
| 4 3 | 
             
              a.version href=build_path(page, version: page.version, force_version: true) title=page.version = page.version.short
         | 
| 5 | 
            -
             | 
| 6 | 
            -
               | 
| 4 | 
            +
            = footer do
         | 
| 5 | 
            +
              == :version_by.t(version: blocks[:version_link], author: escape_html(page.version.author.name), date: date(page.version.date))
         | 
| 7 6 | 
             
            - if !page.attributes['no_title']
         | 
| 8 7 | 
             
              h1= title
         | 
| 9 8 | 
             
            == content
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: olelo
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.9. | 
| 4 | 
            +
              version: 0.9.5
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -9,11 +9,11 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2012-10- | 
| 12 | 
            +
            date: 2012-10-30 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: multi_json
         | 
| 16 | 
            -
              requirement: & | 
| 16 | 
            +
              requirement: &6959180 !ruby/object:Gem::Requirement
         | 
| 17 17 | 
             
                none: false
         | 
| 18 18 | 
             
                requirements:
         | 
| 19 19 | 
             
                - - ~>
         | 
| @@ -21,10 +21,10 @@ dependencies: | |
| 21 21 | 
             
                    version: 1.3.6
         | 
| 22 22 | 
             
              type: :runtime
         | 
| 23 23 | 
             
              prerelease: false
         | 
| 24 | 
            -
              version_requirements: * | 
| 24 | 
            +
              version_requirements: *6959180
         | 
| 25 25 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 26 26 | 
             
              name: slim
         | 
| 27 | 
            -
              requirement: & | 
| 27 | 
            +
              requirement: &6957600 !ruby/object:Gem::Requirement
         | 
| 28 28 | 
             
                none: false
         | 
| 29 29 | 
             
                requirements:
         | 
| 30 30 | 
             
                - - ~>
         | 
| @@ -32,21 +32,21 @@ dependencies: | |
| 32 32 | 
             
                    version: 1.3.3
         | 
| 33 33 | 
             
              type: :runtime
         | 
| 34 34 | 
             
              prerelease: false
         | 
| 35 | 
            -
              version_requirements: * | 
| 35 | 
            +
              version_requirements: *6957600
         | 
| 36 36 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 37 37 | 
             
              name: creole
         | 
| 38 | 
            -
              requirement: & | 
| 38 | 
            +
              requirement: &6956440 !ruby/object:Gem::Requirement
         | 
| 39 39 | 
             
                none: false
         | 
| 40 40 | 
             
                requirements:
         | 
| 41 41 | 
             
                - - ~>
         | 
| 42 42 | 
             
                  - !ruby/object:Gem::Version
         | 
| 43 | 
            -
                    version: 0. | 
| 43 | 
            +
                    version: 0.5.0
         | 
| 44 44 | 
             
              type: :runtime
         | 
| 45 45 | 
             
              prerelease: false
         | 
| 46 | 
            -
              version_requirements: * | 
| 46 | 
            +
              version_requirements: *6956440
         | 
| 47 47 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 48 48 | 
             
              name: nokogiri
         | 
| 49 | 
            -
              requirement: & | 
| 49 | 
            +
              requirement: &6955340 !ruby/object:Gem::Requirement
         | 
| 50 50 | 
             
                none: false
         | 
| 51 51 | 
             
                requirements:
         | 
| 52 52 | 
             
                - - ~>
         | 
| @@ -54,10 +54,10 @@ dependencies: | |
| 54 54 | 
             
                    version: 1.5.5
         | 
| 55 55 | 
             
              type: :runtime
         | 
| 56 56 | 
             
              prerelease: false
         | 
| 57 | 
            -
              version_requirements: * | 
| 57 | 
            +
              version_requirements: *6955340
         | 
| 58 58 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 59 59 | 
             
              name: mimemagic
         | 
| 60 | 
            -
              requirement: & | 
| 60 | 
            +
              requirement: &7036260 !ruby/object:Gem::Requirement
         | 
| 61 61 | 
             
                none: false
         | 
| 62 62 | 
             
                requirements:
         | 
| 63 63 | 
             
                - - ~>
         | 
| @@ -65,10 +65,10 @@ dependencies: | |
| 65 65 | 
             
                    version: 0.2.0
         | 
| 66 66 | 
             
              type: :runtime
         | 
| 67 67 | 
             
              prerelease: false
         | 
| 68 | 
            -
              version_requirements: * | 
| 68 | 
            +
              version_requirements: *7036260
         | 
| 69 69 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 70 70 | 
             
              name: rack
         | 
| 71 | 
            -
              requirement: & | 
| 71 | 
            +
              requirement: &7035140 !ruby/object:Gem::Requirement
         | 
| 72 72 | 
             
                none: false
         | 
| 73 73 | 
             
                requirements:
         | 
| 74 74 | 
             
                - - ~>
         | 
| @@ -76,10 +76,10 @@ dependencies: | |
| 76 76 | 
             
                    version: 1.4.1
         | 
| 77 77 | 
             
              type: :runtime
         | 
| 78 78 | 
             
              prerelease: false
         | 
| 79 | 
            -
              version_requirements: * | 
| 79 | 
            +
              version_requirements: *7035140
         | 
| 80 80 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 81 81 | 
             
              name: redcarpet
         | 
| 82 | 
            -
              requirement: & | 
| 82 | 
            +
              requirement: &7034360 !ruby/object:Gem::Requirement
         | 
| 83 83 | 
             
                none: false
         | 
| 84 84 | 
             
                requirements:
         | 
| 85 85 | 
             
                - - ~>
         | 
| @@ -87,10 +87,10 @@ dependencies: | |
| 87 87 | 
             
                    version: 2.2.2
         | 
| 88 88 | 
             
              type: :runtime
         | 
| 89 89 | 
             
              prerelease: false
         | 
| 90 | 
            -
              version_requirements: * | 
| 90 | 
            +
              version_requirements: *7034360
         | 
| 91 91 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 92 92 | 
             
              name: rugged
         | 
| 93 | 
            -
              requirement: & | 
| 93 | 
            +
              requirement: &7033500 !ruby/object:Gem::Requirement
         | 
| 94 94 | 
             
                none: false
         | 
| 95 95 | 
             
                requirements:
         | 
| 96 96 | 
             
                - - ~>
         | 
| @@ -98,10 +98,10 @@ dependencies: | |
| 98 98 | 
             
                    version: 0.17.0.b7
         | 
| 99 99 | 
             
              type: :runtime
         | 
| 100 100 | 
             
              prerelease: false
         | 
| 101 | 
            -
              version_requirements: * | 
| 101 | 
            +
              version_requirements: *7033500
         | 
| 102 102 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 103 103 | 
             
              name: evaluator
         | 
| 104 | 
            -
              requirement: & | 
| 104 | 
            +
              requirement: &7032780 !ruby/object:Gem::Requirement
         | 
| 105 105 | 
             
                none: false
         | 
| 106 106 | 
             
                requirements:
         | 
| 107 107 | 
             
                - - ~>
         | 
| @@ -109,10 +109,10 @@ dependencies: | |
| 109 109 | 
             
                    version: 0.1.6
         | 
| 110 110 | 
             
              type: :runtime
         | 
| 111 111 | 
             
              prerelease: false
         | 
| 112 | 
            -
              version_requirements: * | 
| 112 | 
            +
              version_requirements: *7032780
         | 
| 113 113 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 114 114 | 
             
              name: rake
         | 
| 115 | 
            -
              requirement: & | 
| 115 | 
            +
              requirement: &7031960 !ruby/object:Gem::Requirement
         | 
| 116 116 | 
             
                none: false
         | 
| 117 117 | 
             
                requirements:
         | 
| 118 118 | 
             
                - - ! '>='
         | 
| @@ -120,10 +120,10 @@ dependencies: | |
| 120 120 | 
             
                    version: 0.8.7
         | 
| 121 121 | 
             
              type: :development
         | 
| 122 122 | 
             
              prerelease: false
         | 
| 123 | 
            -
              version_requirements: * | 
| 123 | 
            +
              version_requirements: *7031960
         | 
| 124 124 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 125 125 | 
             
              name: sass
         | 
| 126 | 
            -
              requirement: & | 
| 126 | 
            +
              requirement: &7031420 !ruby/object:Gem::Requirement
         | 
| 127 127 | 
             
                none: false
         | 
| 128 128 | 
             
                requirements:
         | 
| 129 129 | 
             
                - - ! '>='
         | 
| @@ -131,10 +131,10 @@ dependencies: | |
| 131 131 | 
             
                    version: 3.1.0
         | 
| 132 132 | 
             
              type: :development
         | 
| 133 133 | 
             
              prerelease: false
         | 
| 134 | 
            -
              version_requirements: * | 
| 134 | 
            +
              version_requirements: *7031420
         | 
| 135 135 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 136 136 | 
             
              name: bacon
         | 
| 137 | 
            -
              requirement: & | 
| 137 | 
            +
              requirement: &7030900 !ruby/object:Gem::Requirement
         | 
| 138 138 | 
             
                none: false
         | 
| 139 139 | 
             
                requirements:
         | 
| 140 140 | 
             
                - - ~>
         | 
| @@ -142,10 +142,10 @@ dependencies: | |
| 142 142 | 
             
                    version: 1.1.0
         | 
| 143 143 | 
             
              type: :development
         | 
| 144 144 | 
             
              prerelease: false
         | 
| 145 | 
            -
              version_requirements: * | 
| 145 | 
            +
              version_requirements: *7030900
         | 
| 146 146 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 147 147 | 
             
              name: rack-test
         | 
| 148 | 
            -
              requirement: & | 
| 148 | 
            +
              requirement: &7030300 !ruby/object:Gem::Requirement
         | 
| 149 149 | 
             
                none: false
         | 
| 150 150 | 
             
                requirements:
         | 
| 151 151 | 
             
                - - ~>
         | 
| @@ -153,7 +153,7 @@ dependencies: | |
| 153 153 | 
             
                    version: 0.6.2
         | 
| 154 154 | 
             
              type: :development
         | 
| 155 155 | 
             
              prerelease: false
         | 
| 156 | 
            -
              version_requirements: * | 
| 156 | 
            +
              version_requirements: *7030300
         | 
| 157 157 | 
             
            description: Olelo is a git-based wiki which supports many markup languages, tags,
         | 
| 158 158 | 
             
              embedded TeX and much more. It can be extended through plugins.
         | 
| 159 159 | 
             
            email:
         | 
| @@ -240,7 +240,7 @@ files: | |
| 240 240 | 
             
            - plugins/filters/creole.rb
         | 
| 241 241 | 
             
            - plugins/filters/disposition.rb
         | 
| 242 242 | 
             
            - plugins/filters/editsection.rb
         | 
| 243 | 
            -
            - plugins/filters/ | 
| 243 | 
            +
            - plugins/filters/fix_image_links.rb
         | 
| 244 244 | 
             
            - plugins/filters/html2xml.rb
         | 
| 245 245 | 
             
            - plugins/filters/html_wrapper.rb
         | 
| 246 246 | 
             
            - plugins/filters/interwiki.rb
         | 
| @@ -339,20 +339,22 @@ files: | |
| 339 339 | 
             
            - static/script.js
         | 
| 340 340 | 
             
            - static/script/00-json2.js
         | 
| 341 341 | 
             
            - static/script/01-jquery.js
         | 
| 342 | 
            -
            - static/script/02- | 
| 343 | 
            -
            - static/script/03- | 
| 344 | 
            -
            - static/script/04-jquery.ui. | 
| 345 | 
            -
            - static/script/05-jquery.ui. | 
| 346 | 
            -
            - static/script/06-jquery.ui. | 
| 347 | 
            -
            - static/script/07-jquery.ui. | 
| 348 | 
            -
            - static/script/08- | 
| 349 | 
            -
            - static/script/09-olelo. | 
| 350 | 
            -
            - static/script/10-olelo. | 
| 351 | 
            -
            - static/script/11-olelo. | 
| 352 | 
            -
            - static/script/ | 
| 353 | 
            -
            - static/script/ | 
| 354 | 
            -
            - static/script/ | 
| 355 | 
            -
            - static/script/ | 
| 342 | 
            +
            - static/script/02-history.js
         | 
| 343 | 
            +
            - static/script/03-history.adapter.jquery.js
         | 
| 344 | 
            +
            - static/script/04-jquery.ui.core.js
         | 
| 345 | 
            +
            - static/script/05-jquery.ui.widget.js
         | 
| 346 | 
            +
            - static/script/06-jquery.ui.position.js
         | 
| 347 | 
            +
            - static/script/07-jquery.ui.menu.js
         | 
| 348 | 
            +
            - static/script/08-jquery.ui.autocomplete.js
         | 
| 349 | 
            +
            - static/script/09-olelo.storage.js
         | 
| 350 | 
            +
            - static/script/10-olelo.i18n.js
         | 
| 351 | 
            +
            - static/script/11-olelo.unsaved.js
         | 
| 352 | 
            +
            - static/script/12-olelo.historytable.js
         | 
| 353 | 
            +
            - static/script/13-olelo.pagination.js
         | 
| 354 | 
            +
            - static/script/14-olelo.tabwidget.js
         | 
| 355 | 
            +
            - static/script/15-olelo.timeago.js
         | 
| 356 | 
            +
            - static/script/16-olelo.underliner.js
         | 
| 357 | 
            +
            - static/script/17-olelo.ui.combobox.js
         | 
| 356 358 | 
             
            - static/script/init.js
         | 
| 357 359 | 
             
            - static/themes/atlantis/constants.scss
         | 
| 358 360 | 
             
            - static/themes/atlantis/iehacks.scss
         | 
| @@ -428,6 +430,7 @@ files: | |
| 428 430 | 
             
            - test/object_extensions_test.rb
         | 
| 429 431 | 
             
            - test/page_test.rb
         | 
| 430 432 | 
             
            - test/request_test.rb
         | 
| 433 | 
            +
            - test/run.rb
         | 
| 431 434 | 
             
            - test/string_extensions_test.rb
         | 
| 432 435 | 
             
            - test/templates_test.rb
         | 
| 433 436 | 
             
            - test/util_test.rb
         |