olelo 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +10 -0
- data/.gitmodules +3 -0
- data/Gemfile +3 -0
- data/README.markdown +104 -0
- data/Rakefile +92 -0
- data/bin/olelo +5 -0
- data/config.ru +86 -0
- data/config/aspects.rb +256 -0
- data/config/config.yml.default +154 -0
- data/config/initializers/00-mime_types.rb +29 -0
- data/config/initializers/01-slim.rb +2 -0
- data/config/interwiki.yml +11 -0
- data/doc/AUTHORS +7 -0
- data/doc/LICENSE +22 -0
- data/lib/olelo.rb +39 -0
- data/lib/olelo/application.rb +294 -0
- data/lib/olelo/attributes.rb +285 -0
- data/lib/olelo/config.rb +88 -0
- data/lib/olelo/extensions.rb +252 -0
- data/lib/olelo/helper.rb +290 -0
- data/lib/olelo/hooks.rb +142 -0
- data/lib/olelo/html_safe.rb +29 -0
- data/lib/olelo/initializer.rb +76 -0
- data/lib/olelo/locale.rb +63 -0
- data/lib/olelo/locale.yml +284 -0
- data/lib/olelo/menu.rb +101 -0
- data/lib/olelo/middleware/blacklist.rb +25 -0
- data/lib/olelo/middleware/degrade_mime_type.rb +19 -0
- data/lib/olelo/middleware/flash.rb +97 -0
- data/lib/olelo/middleware/force_encoding.rb +41 -0
- data/lib/olelo/page.rb +266 -0
- data/lib/olelo/patch.rb +311 -0
- data/lib/olelo/plugin.rb +188 -0
- data/lib/olelo/repository.rb +225 -0
- data/lib/olelo/routing.rb +223 -0
- data/lib/olelo/templates.rb +30 -0
- data/lib/olelo/user.rb +132 -0
- data/lib/olelo/util.rb +233 -0
- data/lib/olelo/version.rb +3 -0
- data/lib/olelo/virtualfs.rb +161 -0
- data/lib/rack/olelo_patches.rb +33 -0
- data/lib/rack/relative_redirect.rb +44 -0
- data/lib/rack/static_cache.rb +93 -0
- data/lib/yard/addons.rb +1 -0
- data/lib/yard/addons/hook_handler.rb +25 -0
- data/lib/yard/addons/override_tag.rb +14 -0
- data/lib/yard/addons/route_handler.rb +33 -0
- data/lib/yard/addons/sanitize_anchor.rb +16 -0
- data/olelo.gemspec +31 -0
- data/plugins/aspects/changelog.rb +45 -0
- data/plugins/aspects/documentbrowser.rb +57 -0
- data/plugins/aspects/download.rb +11 -0
- data/plugins/aspects/highlight.rb +8 -0
- data/plugins/aspects/image.rb +41 -0
- data/plugins/aspects/imageinfo.rb +64 -0
- data/plugins/aspects/locale.yml +60 -0
- data/plugins/aspects/main.rb +199 -0
- data/plugins/aspects/pageinfo.rb +37 -0
- data/plugins/aspects/source.rb +6 -0
- data/plugins/aspects/subpages.rb +44 -0
- data/plugins/aspects/text.rb +9 -0
- data/plugins/blog/blog.css +1 -0
- data/plugins/blog/blog.scss +37 -0
- data/plugins/blog/locale.yml +12 -0
- data/plugins/blog/main.rb +85 -0
- data/plugins/editor/locale.yml +18 -0
- data/plugins/editor/markup/main.rb +3 -0
- data/plugins/editor/markup/script.js +10 -0
- data/plugins/editor/markup/script/00-jquery.textselection.js +267 -0
- data/plugins/editor/markup/script/01-olelo.markupeditor.js +116 -0
- data/plugins/editor/markup/script/init.js +10 -0
- data/plugins/editor/preview.rb +52 -0
- data/plugins/editor/recaptcha.rb +56 -0
- data/plugins/filters/creole.rb +37 -0
- data/plugins/filters/disposition.rb +9 -0
- data/plugins/filters/editsection.rb +67 -0
- data/plugins/filters/fix_img_tag.rb +16 -0
- data/plugins/filters/html_wrapper.rb +12 -0
- data/plugins/filters/interwiki.rb +19 -0
- data/plugins/filters/link_classifier.rb +26 -0
- data/plugins/filters/locale.yml +15 -0
- data/plugins/filters/main.rb +202 -0
- data/plugins/filters/markdown_nowiki.rb +15 -0
- data/plugins/filters/numbering.xsl +93 -0
- data/plugins/filters/orgmode.rb +6 -0
- data/plugins/filters/rubypants.rb +6 -0
- data/plugins/filters/s5/main.rb +32 -0
- data/plugins/filters/s5/s5.xsl +118 -0
- data/plugins/filters/tilt.rb +17 -0
- data/plugins/filters/toc.rb +50 -0
- data/plugins/filters/xhtml2latex.xsl +232 -0
- data/plugins/filters/xslt.rb +22 -0
- data/plugins/gallery/gallery.css +1 -0
- data/plugins/gallery/gallery.scss +28 -0
- data/plugins/gallery/main.rb +34 -0
- data/plugins/misc/fancybox/images/blank.gif +0 -0
- data/plugins/misc/fancybox/images/fancy_close.png +0 -0
- data/plugins/misc/fancybox/images/fancy_loading.png +0 -0
- data/plugins/misc/fancybox/images/fancy_nav_left.png +0 -0
- data/plugins/misc/fancybox/images/fancy_nav_right.png +0 -0
- data/plugins/misc/fancybox/images/fancy_shadow_e.png +0 -0
- data/plugins/misc/fancybox/images/fancy_shadow_n.png +0 -0
- data/plugins/misc/fancybox/images/fancy_shadow_ne.png +0 -0
- data/plugins/misc/fancybox/images/fancy_shadow_nw.png +0 -0
- data/plugins/misc/fancybox/images/fancy_shadow_s.png +0 -0
- data/plugins/misc/fancybox/images/fancy_shadow_se.png +0 -0
- data/plugins/misc/fancybox/images/fancy_shadow_sw.png +0 -0
- data/plugins/misc/fancybox/images/fancy_shadow_w.png +0 -0
- data/plugins/misc/fancybox/images/fancy_title_left.png +0 -0
- data/plugins/misc/fancybox/images/fancy_title_main.png +0 -0
- data/plugins/misc/fancybox/images/fancy_title_over.png +0 -0
- data/plugins/misc/fancybox/images/fancy_title_right.png +0 -0
- data/plugins/misc/fancybox/images/fancybox-x.png +0 -0
- data/plugins/misc/fancybox/images/fancybox-y.png +0 -0
- data/plugins/misc/fancybox/images/fancybox.png +0 -0
- data/plugins/misc/fancybox/jquery.fancybox.css +1 -0
- data/plugins/misc/fancybox/jquery.fancybox.scss +323 -0
- data/plugins/misc/fancybox/main.rb +4 -0
- data/plugins/misc/fancybox/script.js +37 -0
- data/plugins/misc/fancybox/script/00-jquery.mousewheel.js +84 -0
- data/plugins/misc/fancybox/script/01-jquery.easing.js +205 -0
- data/plugins/misc/fancybox/script/02-jquery.fancybox.js +1156 -0
- data/plugins/misc/fancybox/script/init.js +18 -0
- data/plugins/misc/system.rb +192 -0
- data/plugins/misc/variables.rb +29 -0
- data/plugins/misc/webdav.rb +45 -0
- data/plugins/repositories/git_grep.rb +69 -0
- data/plugins/repositories/gitrb_repository.rb +204 -0
- data/plugins/repositories/locale.yml +12 -0
- data/plugins/repositories/rugged_repository.rb +454 -0
- data/plugins/security/acl.rb +57 -0
- data/plugins/security/basic_auth.rb +21 -0
- data/plugins/security/locale.yml +21 -0
- data/plugins/security/persistent_login.rb +32 -0
- data/plugins/security/portal.rb +28 -0
- data/plugins/security/private_wiki.rb +24 -0
- data/plugins/security/readonly_wiki.rb +25 -0
- data/plugins/security/stack.rb +20 -0
- data/plugins/security/yamlfile.rb +66 -0
- data/plugins/tags/code.rb +6 -0
- data/plugins/tags/footnotes.rb +35 -0
- data/plugins/tags/gist-embed.css +123 -0
- data/plugins/tags/gist.rb +13 -0
- data/plugins/tags/html.rb +57 -0
- data/plugins/tags/include.rb +20 -0
- data/plugins/tags/main.rb +353 -0
- data/plugins/tags/math.rb +117 -0
- data/plugins/tags/scripting.rb +64 -0
- data/plugins/tags/sort.rb +7 -0
- data/plugins/tags/tabs.rb +20 -0
- data/plugins/treeview/images/collapsed.png +0 -0
- data/plugins/treeview/images/expanded.png +0 -0
- data/plugins/treeview/images/menu.png +0 -0
- data/plugins/treeview/images/tree.png +0 -0
- data/plugins/treeview/images/wait.gif +0 -0
- data/plugins/treeview/main.rb +16 -0
- data/plugins/treeview/script.js +5 -0
- data/plugins/treeview/script/00-jquery.treeview.js +164 -0
- data/plugins/treeview/script/init.js +25 -0
- data/plugins/treeview/treeview.css +1 -0
- data/plugins/treeview/treeview.scss +113 -0
- data/plugins/utils/assets.rb +74 -0
- data/plugins/utils/cache.rb +53 -0
- data/plugins/utils/image_magick.rb +34 -0
- data/plugins/utils/pygments.css +1 -0
- data/plugins/utils/pygments.rb +50 -0
- data/plugins/utils/pygments.scss +83 -0
- data/plugins/utils/semaphore.rb +50 -0
- data/plugins/utils/shell.rb +45 -0
- data/plugins/utils/store.rb +315 -0
- data/plugins/utils/worker.rb +36 -0
- data/plugins/utils/xml.rb +29 -0
- data/static/images/favicon.png +0 -0
- data/static/script.js +267 -0
- data/static/script/00-json2.js +486 -0
- data/static/script/01-jstorage.js +217 -0
- data/static/script/02-jquery.js +9440 -0
- data/static/script/03-jquery.ui.core.js +337 -0
- data/static/script/04-jquery.ui.widget.js +502 -0
- data/static/script/05-jquery.ui.position.js +517 -0
- data/static/script/06-jquery.ui.menu.js +609 -0
- data/static/script/07-jquery.ui.autocomplete.js +601 -0
- data/static/script/08-olelo.i18n.js +37 -0
- data/static/script/09-olelo.unsaved.js +68 -0
- data/static/script/10-olelo.historytable.js +40 -0
- data/static/script/11-olelo.pagination.js +18 -0
- data/static/script/13-olelo.tabwidget.js +57 -0
- data/static/script/14-olelo.timeago.js +70 -0
- data/static/script/15-olelo.underliner.js +31 -0
- data/static/script/16-olelo.ui.combobox.js +32 -0
- data/static/script/init.js +48 -0
- data/static/themes/atlantis/constants.scss +15 -0
- data/static/themes/atlantis/iehacks.scss +38 -0
- data/static/themes/atlantis/images/actions/delete.png +0 -0
- data/static/themes/atlantis/images/actions/edit.png +0 -0
- data/static/themes/atlantis/images/actions/history.png +0 -0
- data/static/themes/atlantis/images/actions/home.png +0 -0
- data/static/themes/atlantis/images/actions/move.png +0 -0
- data/static/themes/atlantis/images/actions/new.png +0 -0
- data/static/themes/atlantis/images/actions/page.png +0 -0
- data/static/themes/atlantis/images/bg/button.png +0 -0
- data/static/themes/atlantis/images/bg/container.png +0 -0
- data/static/themes/atlantis/images/bg/content.png +0 -0
- data/static/themes/atlantis/images/bg/footer.png +0 -0
- data/static/themes/atlantis/images/bg/header.jpg +0 -0
- data/static/themes/atlantis/images/bg/header.orig.jpg +0 -0
- data/static/themes/atlantis/images/bg/header_gray.jpg +0 -0
- data/static/themes/atlantis/images/bug.png +0 -0
- data/static/themes/atlantis/images/filetypes/7z.png +0 -0
- data/static/themes/atlantis/images/filetypes/_archive.png +0 -0
- data/static/themes/atlantis/images/filetypes/_audio.png +0 -0
- data/static/themes/atlantis/images/filetypes/_code.png +0 -0
- data/static/themes/atlantis/images/filetypes/_linux.png +0 -0
- data/static/themes/atlantis/images/filetypes/_picture.png +0 -0
- data/static/themes/atlantis/images/filetypes/_video.png +0 -0
- data/static/themes/atlantis/images/filetypes/bz2.png +0 -0
- data/static/themes/atlantis/images/filetypes/doc.png +0 -0
- data/static/themes/atlantis/images/filetypes/flac.png +0 -0
- data/static/themes/atlantis/images/filetypes/gz.png +0 -0
- data/static/themes/atlantis/images/filetypes/html.png +0 -0
- data/static/themes/atlantis/images/filetypes/java.png +0 -0
- data/static/themes/atlantis/images/filetypes/jpg.png +0 -0
- data/static/themes/atlantis/images/filetypes/midi.png +0 -0
- data/static/themes/atlantis/images/filetypes/mp3.png +0 -0
- data/static/themes/atlantis/images/filetypes/ogg.png +0 -0
- data/static/themes/atlantis/images/filetypes/pdf.png +0 -0
- data/static/themes/atlantis/images/filetypes/php.png +0 -0
- data/static/themes/atlantis/images/filetypes/png.png +0 -0
- data/static/themes/atlantis/images/filetypes/ppt.png +0 -0
- data/static/themes/atlantis/images/filetypes/psd.png +0 -0
- data/static/themes/atlantis/images/filetypes/rar.png +0 -0
- data/static/themes/atlantis/images/filetypes/rb.png +0 -0
- data/static/themes/atlantis/images/filetypes/sh.png +0 -0
- data/static/themes/atlantis/images/filetypes/tar.png +0 -0
- data/static/themes/atlantis/images/filetypes/txt.png +0 -0
- data/static/themes/atlantis/images/filetypes/wma.png +0 -0
- data/static/themes/atlantis/images/filetypes/xls.png +0 -0
- data/static/themes/atlantis/images/filetypes/zip.png +0 -0
- data/static/themes/atlantis/images/folder.png +0 -0
- data/static/themes/atlantis/images/folder_open.png +0 -0
- data/static/themes/atlantis/images/loading.gif +0 -0
- data/static/themes/atlantis/images/loading.xcf +0 -0
- data/static/themes/atlantis/images/not_found.png +0 -0
- data/static/themes/atlantis/images/page.png +0 -0
- data/static/themes/atlantis/images/search.png +0 -0
- data/static/themes/atlantis/layout.scss +115 -0
- data/static/themes/atlantis/menu.scss +99 -0
- data/static/themes/atlantis/print.scss +129 -0
- data/static/themes/atlantis/screen.scss +495 -0
- data/static/themes/atlantis/style.css +3 -0
- data/static/themes/lib/autocomplete.scss +39 -0
- data/static/themes/lib/headlines.scss +10 -0
- data/static/themes/lib/horizontal-list.scss +31 -0
- data/static/themes/lib/patch.scss +88 -0
- data/static/themes/lib/reset.scss +114 -0
- data/static/themes/lib/rounded.scss +46 -0
- data/static/themes/lib/shadow.scss +14 -0
- data/test/config_test.rb +28 -0
- data/test/factory_test.rb +29 -0
- data/test/hash_extensions_test.rb +16 -0
- data/test/helper.rb +38 -0
- data/test/hooks_test.rb +85 -0
- data/test/object_extensions_test.rb +20 -0
- data/test/page_test.rb +168 -0
- data/test/request_test.rb +166 -0
- data/test/string_extensions_test.rb +32 -0
- data/test/templates_test.rb +39 -0
- data/test/util_test.rb +71 -0
- data/views/changes.slim +22 -0
- data/views/compare.slim +8 -0
- data/views/delete.slim +9 -0
- data/views/deleted.slim +2 -0
- data/views/edit.slim +65 -0
- data/views/error.slim +6 -0
- data/views/history.slim +20 -0
- data/views/layout.slim +38 -0
- data/views/login.slim +37 -0
- data/views/move.slim +10 -0
- data/views/not_found.slim +6 -0
- data/views/profile.slim +26 -0
- data/views/show.slim +9 -0
- metadata +488 -0
@@ -0,0 +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;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.noborder{padding:0 1em;border:none}#menu ul li.breadcrumb{border:none}#menu ul li.breadcrumb a{padding:0 0.3em}#menu ul li.breadcrumb.first a{padding-left:1em;text-indent:-999px;display:block;width:16px;background:url(images/actions/home.png) no-repeat 1em 0.1em}#menu ul li.breadcrumb.last{border-right:1px solid #bbb}#menu ul li.breadcrumb.last a{padding-right:1em}#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}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}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}
|
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
|
+
}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
.ui-autocomplete {
|
2
|
+
position: absolute;
|
3
|
+
cursor: default;
|
4
|
+
list-style:none;
|
5
|
+
padding: 2px;
|
6
|
+
margin: 0;
|
7
|
+
display:block;
|
8
|
+
float: left;
|
9
|
+
background: #FFF;
|
10
|
+
border: 1px solid #BBB;
|
11
|
+
a {
|
12
|
+
text-decoration: none;
|
13
|
+
display: block;
|
14
|
+
padding: .2em .4em;
|
15
|
+
line-height: 1.2em;
|
16
|
+
color: #333;
|
17
|
+
}
|
18
|
+
.ui-state-hover {
|
19
|
+
background: #DDD;
|
20
|
+
}
|
21
|
+
}
|
22
|
+
|
23
|
+
.ui-autocomplete-input {
|
24
|
+
margin-right: 0;
|
25
|
+
}
|
26
|
+
|
27
|
+
.ui-combo-button {
|
28
|
+
@include rounded-left(0);
|
29
|
+
border-left: 0px none;
|
30
|
+
margin-left: 0;
|
31
|
+
padding: 0;
|
32
|
+
&:before {
|
33
|
+
content: '\25BE';
|
34
|
+
}
|
35
|
+
}
|
36
|
+
|
37
|
+
.ui-helper-hidden-accessible {
|
38
|
+
display: none;
|
39
|
+
}
|
@@ -0,0 +1,31 @@
|
|
1
|
+
@mixin no-bullet {
|
2
|
+
list-style-type: none;
|
3
|
+
margin-left: 0px;
|
4
|
+
}
|
5
|
+
|
6
|
+
@mixin list-bar {
|
7
|
+
@include reset-box-model;
|
8
|
+
@include no-bullet;
|
9
|
+
display: block;
|
10
|
+
float: left;
|
11
|
+
li {
|
12
|
+
float: left;
|
13
|
+
}
|
14
|
+
}
|
15
|
+
|
16
|
+
@mixin horizontal-list-container {
|
17
|
+
@include reset-box-model;
|
18
|
+
}
|
19
|
+
|
20
|
+
@mixin horizontal-list-item {
|
21
|
+
@include no-bullet;
|
22
|
+
float: left;
|
23
|
+
white-space: nowrap;
|
24
|
+
}
|
25
|
+
|
26
|
+
@mixin horizontal-list {
|
27
|
+
@include horizontal-list-container;
|
28
|
+
li {
|
29
|
+
@include horizontal-list-item;
|
30
|
+
}
|
31
|
+
}
|
@@ -0,0 +1,88 @@
|
|
1
|
+
.patch {
|
2
|
+
width: 100%;
|
3
|
+
border: 1px solid #BBB;
|
4
|
+
border-collapse: collapse;
|
5
|
+
border-spacing: 0;
|
6
|
+
tr {
|
7
|
+
td {
|
8
|
+
padding: 0.5em;
|
9
|
+
border-top: 1px solid #BBB;
|
10
|
+
font-family: "Bitstream Vera Sans Mono", monospace;
|
11
|
+
pre {
|
12
|
+
border: 0px none;
|
13
|
+
margin: 0;
|
14
|
+
padding: 0;
|
15
|
+
}
|
16
|
+
ins {
|
17
|
+
background: #d4ffd4;
|
18
|
+
text-decoration: none;
|
19
|
+
}
|
20
|
+
del {
|
21
|
+
color: #555555;
|
22
|
+
text-decoration: line-through;
|
23
|
+
}
|
24
|
+
}
|
25
|
+
th {
|
26
|
+
font-variant: normal;
|
27
|
+
padding: 0.2em 0.5em;
|
28
|
+
border: 1px solid #BBB;
|
29
|
+
}
|
30
|
+
&.new th {
|
31
|
+
background: url(images/actions/new.png) 2px 2px no-repeat;
|
32
|
+
padding-left: 20px;
|
33
|
+
}
|
34
|
+
&.delete th {
|
35
|
+
background: url(images/actions/delete.png) 2px 2px no-repeat;
|
36
|
+
padding-left: 20px;
|
37
|
+
}
|
38
|
+
&.move th {
|
39
|
+
background: url(images/actions/move.png) 2px 2px no-repeat;
|
40
|
+
padding-left: 20px;
|
41
|
+
}
|
42
|
+
&.edit th {
|
43
|
+
background: url(images/actions/edit.png) 2px 2px no-repeat;
|
44
|
+
padding-left: 20px;
|
45
|
+
}
|
46
|
+
}
|
47
|
+
}
|
48
|
+
|
49
|
+
.patch-summary {
|
50
|
+
width: 100%;
|
51
|
+
.ins, .del {
|
52
|
+
width: 1em;
|
53
|
+
}
|
54
|
+
.ins {
|
55
|
+
color: #5A5;
|
56
|
+
}
|
57
|
+
.del {
|
58
|
+
color: #A55;
|
59
|
+
}
|
60
|
+
.new {
|
61
|
+
background: #d4ffd4;
|
62
|
+
.name {
|
63
|
+
background: url(images/actions/new.png) 2px 2px no-repeat;
|
64
|
+
padding-left: 20px;
|
65
|
+
}
|
66
|
+
}
|
67
|
+
.delete {
|
68
|
+
background: #ffd4d4;
|
69
|
+
.name {
|
70
|
+
background: url(images/actions/delete.png) 2px 2px no-repeat;
|
71
|
+
padding-left: 20px;
|
72
|
+
}
|
73
|
+
}
|
74
|
+
.move {
|
75
|
+
background: #ffc;
|
76
|
+
.name {
|
77
|
+
background: url(images/actions/move.png) 2px 2px no-repeat;
|
78
|
+
padding-left: 20px;
|
79
|
+
}
|
80
|
+
}
|
81
|
+
.edit {
|
82
|
+
background: #fff;
|
83
|
+
.name {
|
84
|
+
background: url(images/actions/edit.png) 2px 2px no-repeat;
|
85
|
+
padding-left: 20px;
|
86
|
+
}
|
87
|
+
}
|
88
|
+
}
|
@@ -0,0 +1,114 @@
|
|
1
|
+
// Global style reset
|
2
|
+
@mixin global-reset {
|
3
|
+
html, body, div, span, applet, object, iframe,
|
4
|
+
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
5
|
+
a, abbr, acronym, address, big, cite, code,
|
6
|
+
del, dfn, em, font, img, ins, kbd, q, s, samp,
|
7
|
+
small, strike, strong, sub, sup, tt, var,
|
8
|
+
dl, dt, dd, ol, ul, li,
|
9
|
+
fieldset, form, label, legend,
|
10
|
+
table, caption, tbody, tfoot, thead, tr, th, td {
|
11
|
+
@include reset-box-model;
|
12
|
+
@include reset-font;
|
13
|
+
}
|
14
|
+
*:focus {
|
15
|
+
@include reset-focus;
|
16
|
+
}
|
17
|
+
body {
|
18
|
+
@include reset-body;
|
19
|
+
}
|
20
|
+
ol, ul {
|
21
|
+
@include reset-list-style;
|
22
|
+
}
|
23
|
+
table {
|
24
|
+
@include reset-table;
|
25
|
+
}
|
26
|
+
caption, th, td {
|
27
|
+
@include reset-table-cell;
|
28
|
+
}
|
29
|
+
q, blockquote {
|
30
|
+
@include reset-quotation;
|
31
|
+
}
|
32
|
+
img a {
|
33
|
+
@include reset-image-anchor-border;
|
34
|
+
}
|
35
|
+
}
|
36
|
+
|
37
|
+
// Reset all elements within some selector scope.To reset the selector itself,
|
38
|
+
// mixin the appropriate reset mixin for that element type as well. This could be
|
39
|
+
// useful if you want to style a part of your page in a dramatically different way.
|
40
|
+
@mixin nested-reset {
|
41
|
+
div, span, object, iframe, h1, h2, h3, h4, h5, h6, p,
|
42
|
+
pre, a, abbr, acronym, address, code, del, dfn, em, img,
|
43
|
+
dl, dt, dd, ol, ul, li, fieldset, form, label, legend, caption, tbody, tfoot, thead, tr {
|
44
|
+
@include reset-box-model;
|
45
|
+
@include reset-font;
|
46
|
+
}
|
47
|
+
table {
|
48
|
+
@include reset-table;
|
49
|
+
}
|
50
|
+
caption, th, td {
|
51
|
+
@include reset-table-cell;
|
52
|
+
}
|
53
|
+
q, blockquote {
|
54
|
+
@include reset-quotation;
|
55
|
+
}
|
56
|
+
img a {
|
57
|
+
@include reset-image-anchor-border;
|
58
|
+
}
|
59
|
+
}
|
60
|
+
|
61
|
+
// Mixins partials
|
62
|
+
@mixin reset-box-model {
|
63
|
+
margin: 0;
|
64
|
+
padding: 0;
|
65
|
+
border: 0;
|
66
|
+
outline: 0;
|
67
|
+
}
|
68
|
+
|
69
|
+
@mixin reset-font {
|
70
|
+
font: {
|
71
|
+
weight: inherit;
|
72
|
+
style: inherit;
|
73
|
+
size: 100%;
|
74
|
+
family: inherit;
|
75
|
+
};
|
76
|
+
vertical-align: baseline;
|
77
|
+
}
|
78
|
+
|
79
|
+
@mixin reset-focus {
|
80
|
+
outline: 0;
|
81
|
+
}
|
82
|
+
|
83
|
+
@mixin reset-body {
|
84
|
+
line-height: 1em;
|
85
|
+
color: black;
|
86
|
+
background: white;
|
87
|
+
}
|
88
|
+
|
89
|
+
@mixin reset-list-style {
|
90
|
+
list-style: none;
|
91
|
+
}
|
92
|
+
|
93
|
+
@mixin reset-table {
|
94
|
+
border-collapse: separate;
|
95
|
+
border-spacing: 0;
|
96
|
+
vertical-align: middle;
|
97
|
+
}
|
98
|
+
|
99
|
+
@mixin reset-table-cell {
|
100
|
+
text-align: left;
|
101
|
+
font-weight: normal;
|
102
|
+
vertical-align: middle;
|
103
|
+
}
|
104
|
+
|
105
|
+
@mixin reset-quotation {
|
106
|
+
quotes: "" "";
|
107
|
+
&:before, &:after {
|
108
|
+
content: "";
|
109
|
+
}
|
110
|
+
}
|
111
|
+
|
112
|
+
@mixin reset-image-anchor-border {
|
113
|
+
border: none;
|
114
|
+
}
|
@@ -0,0 +1,46 @@
|
|
1
|
+
$rounded_default_radius: 4px !default;
|
2
|
+
|
3
|
+
@mixin rounded-tl($radius: $rounded_default_radius) {
|
4
|
+
-webkit-border-top-left-radius: $radius;
|
5
|
+
border-top-left-radius: $radius;
|
6
|
+
}
|
7
|
+
|
8
|
+
@mixin rounded-tr($radius: $rounded_default_radius) {
|
9
|
+
-webkit-border-top-right-radius: $radius;
|
10
|
+
border-top-right-radius: $radius;
|
11
|
+
}
|
12
|
+
|
13
|
+
@mixin rounded-bl($radius: $rounded_default_radius) {
|
14
|
+
-webkit-border-bottom-left-radius: $radius;
|
15
|
+
border-bottom-left-radius: $radius;
|
16
|
+
}
|
17
|
+
|
18
|
+
@mixin rounded-br($radius: $rounded_default_radius) {
|
19
|
+
-webkit-border-bottom-right-radius: $radius;
|
20
|
+
border-bottom-right-radius: $radius;
|
21
|
+
}
|
22
|
+
|
23
|
+
@mixin rounded-top($radius: $rounded_default_radius) {
|
24
|
+
@include rounded-tl($radius);
|
25
|
+
@include rounded-tr($radius);
|
26
|
+
}
|
27
|
+
|
28
|
+
@mixin rounded-bottom($radius: $rounded_default_radius) {
|
29
|
+
@include rounded-bl($radius);
|
30
|
+
@include rounded-br($radius);
|
31
|
+
}
|
32
|
+
|
33
|
+
@mixin rounded-left($radius: $rounded_default_radius) {
|
34
|
+
@include rounded-tl($radius);
|
35
|
+
@include rounded-bl($radius);
|
36
|
+
}
|
37
|
+
|
38
|
+
@mixin rounded-right($radius: $rounded_default_radius) {
|
39
|
+
@include rounded-tr($radius);
|
40
|
+
@include rounded-br($radius);
|
41
|
+
}
|
42
|
+
|
43
|
+
@mixin rounded($radius: $rounded_default_radius) {
|
44
|
+
border-radius: $radius;
|
45
|
+
-webkit-border-radius: $radius;
|
46
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
$shadow_default_blur: 8px !default;
|
2
|
+
$shadow_default_x: 2px !default;
|
3
|
+
$shadow_default_y: 2px !default;
|
4
|
+
$shadow_default_color: #bbb !default;
|
5
|
+
|
6
|
+
@mixin box-shadow($x: $shadow_default_x, $y: $shadow_default_y, $blur: $shadow_default_blur, $color: $shadow_default_color) {
|
7
|
+
box-shadow: $x $y $blur $color;
|
8
|
+
-webkit-box-shadow: $x $y $blur $color;
|
9
|
+
}
|
10
|
+
|
11
|
+
@mixin no-box-shadow {
|
12
|
+
box-shadow: 0px 0px 0px transparent;
|
13
|
+
-webkit-box-shadow: 0px 0px 0px transparent;
|
14
|
+
}
|
data/test/config_test.rb
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
describe 'Olelo::Config' do
|
4
|
+
it 'should have #[]= and #[]' do
|
5
|
+
config = Olelo::Config.new
|
6
|
+
config['a.b.c'] = 42
|
7
|
+
config['a.b.c'].should.equal 42
|
8
|
+
config['a.b']['c'].should.equal 42
|
9
|
+
config['a']['b']['c'].should.equal 42
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'should be enumerable' do
|
13
|
+
config = Olelo::Config.new
|
14
|
+
config['a.x.y'] = 42
|
15
|
+
config['b.x.y'] = 43
|
16
|
+
config.each do |key, child|
|
17
|
+
key.should.be.instance_of String
|
18
|
+
child.should.be.instance_of Olelo::Config
|
19
|
+
child['x.y'].should.be.instance_of Fixnum
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'should raise NameError' do
|
24
|
+
lambda do
|
25
|
+
Olelo::Config.new.not.existing
|
26
|
+
end.should.raise NameError
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'olelo/util'
|
2
|
+
|
3
|
+
class Base
|
4
|
+
extend Olelo::Factory
|
5
|
+
end
|
6
|
+
|
7
|
+
class A < Base
|
8
|
+
end
|
9
|
+
|
10
|
+
class B < Base
|
11
|
+
end
|
12
|
+
|
13
|
+
describe 'Olelo::Factory' do
|
14
|
+
it 'should have #register' do
|
15
|
+
Base.registry.should.be.empty
|
16
|
+
Base.register :a, A
|
17
|
+
Base.registry[:a].should.equal nil
|
18
|
+
Base.registry['a'].should.equal A
|
19
|
+
Base.register :b, B
|
20
|
+
Base.registry['b'].should.equal B
|
21
|
+
lambda { Base.register :a, A }.should.raise ArgumentError
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'should have #[]' do
|
25
|
+
Base[:a].should.equal A
|
26
|
+
Base[:b].should.equal B
|
27
|
+
lambda { Base[:c] }.should.raise NameError
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'olelo/extensions'
|
2
|
+
|
3
|
+
describe 'Hash extensions' do
|
4
|
+
it 'should have #with_indifferent_access' do
|
5
|
+
{}.with_indifferent_access.should.equal Hash.with_indifferent_access
|
6
|
+
|
7
|
+
hash = Hash.with_indifferent_access
|
8
|
+
hash[:a] = 10
|
9
|
+
hash['a'].should.equal 10
|
10
|
+
hash[:a].should.equal 10
|
11
|
+
hash.include?(:a).should.be.true
|
12
|
+
hash.include?('a').should.be.true
|
13
|
+
hash.include?(:b).should.be.false
|
14
|
+
hash.keys.should.equal %w(a)
|
15
|
+
end
|
16
|
+
end
|
data/test/helper.rb
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'rack/olelo_patches'
|
2
|
+
require 'olelo'
|
3
|
+
require 'bacon'
|
4
|
+
require 'rack/test'
|
5
|
+
|
6
|
+
module TestHelper
|
7
|
+
def load_plugin(*plugins)
|
8
|
+
Olelo.logger = Logger.new(File.expand_path(File.join(File.dirname(__FILE__), '..', 'test.log')))
|
9
|
+
Olelo::Plugin.dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'plugins'))
|
10
|
+
Olelo::Plugin.load(*plugins)
|
11
|
+
end
|
12
|
+
|
13
|
+
def create_repository
|
14
|
+
Olelo::Repository.instance = nil
|
15
|
+
Olelo::Config.instance['repository.type'] = 'git'
|
16
|
+
Olelo::Config.instance['repository.git.path'] = File.expand_path(File.join(File.dirname(__FILE__), '.test'))
|
17
|
+
Olelo::Config.instance['repository.git.bare'] = true
|
18
|
+
load_plugin('repositories/git')
|
19
|
+
end
|
20
|
+
|
21
|
+
def destroy_repository
|
22
|
+
Olelo::Repository.instance = nil
|
23
|
+
FileUtils.rm_rf(Olelo::Config['repository.git.path'])
|
24
|
+
end
|
25
|
+
|
26
|
+
def create_page(name, content = 'content')
|
27
|
+
Olelo::Page.transaction do
|
28
|
+
page = Olelo::Page.new(name)
|
29
|
+
page.content = content
|
30
|
+
page.save
|
31
|
+
Olelo::Page.commit('comment')
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
class Bacon::Context
|
37
|
+
include TestHelper
|
38
|
+
end
|