From 3e0a9f43d0584cce086605c2208af6d579283f13 Mon Sep 17 00:00:00 2001 From: silva Date: Sat, 23 Nov 2013 01:00:11 +0530 Subject: [PATCH] first commit --- css/_admin.css | 59 +++ css/_diff.css | 75 ++++ css/_edit.css | 143 +++++++ css/_fileuploader.css | 112 ++++++ css/_footnotes.css | 28 ++ css/_forms.css | 107 +++++ css/_imgdetail.css | 38 ++ css/_links.css | 70 ++++ css/_media_fullscreen.css | 503 +++++++++++++++++++++++ css/_media_popup.css | 258 ++++++++++++ css/_modal.css | 94 +++++ css/_recent.css | 59 +++ css/_search.css | 109 +++++ css/_tabs.css | 82 ++++ css/_toc.css | 93 +++++ css/basic.less | 472 ++++++++++++++++++++++ css/content.less | 399 +++++++++++++++++++ css/design.less | 571 +++++++++++++++++++++++++++ css/mixins.less | 10 + css/mobile.less | 294 ++++++++++++++ css/pagetools.less | 233 +++++++++++ css/print.css | 174 ++++++++ css/structure.less | 89 +++++ css/ui.layout.css | 250 ++++++++++++ detail.php | 151 +++++++ images/apple-touch-icon.png | Bin 0 -> 6399 bytes images/button-css.png | Bin 0 -> 299 bytes images/button-donate.gif | Bin 0 -> 187 bytes images/button-dw.png | Bin 0 -> 398 bytes images/button-html5.png | Bin 0 -> 354 bytes images/button-php.gif | Bin 0 -> 207 bytes images/button-rss.png | Bin 0 -> 180 bytes images/codo_logo.png | Bin 0 -> 2541 bytes images/codo_logo_s.png | Bin 0 -> 478 bytes images/favicon.ico | Bin 0 -> 7406 bytes images/license.txt | 5 + images/logo.png | Bin 0 -> 3820 bytes images/page-background.svg | 8 + images/page-gradient.png | Bin 0 -> 280 bytes images/pagetools-build.php | 121 ++++++ images/pagetools-sprite.png | Bin 0 -> 11325 bytes images/pagetools/00_default.png | Bin 0 -> 616 bytes images/pagetools/01_edit.png | Bin 0 -> 740 bytes images/pagetools/02_create.png | Bin 0 -> 808 bytes images/pagetools/03_draft.png | Bin 0 -> 828 bytes images/pagetools/04_show.png | Bin 0 -> 458 bytes images/pagetools/05_source.png | Bin 0 -> 753 bytes images/pagetools/06_revert.png | Bin 0 -> 752 bytes images/pagetools/07_revisions.png | Bin 0 -> 1144 bytes images/pagetools/08_backlink.png | Bin 0 -> 844 bytes images/pagetools/09_subscribe.png | Bin 0 -> 589 bytes images/pagetools/10_top.png | Bin 0 -> 465 bytes images/pagetools/11_mediamanager.png | Bin 0 -> 441 bytes images/pagetools/12_back.png | Bin 0 -> 483 bytes images/pagetools/license.txt | 4 + images/search.png | Bin 0 -> 316 bytes images/toc-arrows.png | Bin 0 -> 225 bytes images/toc-bullet.png | Bin 0 -> 121 bytes images/usertools.png | Bin 0 -> 1541 bytes layout.js | 142 +++++++ main.php | 233 +++++++++++ mediamanager.php | 46 +++ script.js | 79 ++++ style.ini | 86 ++++ template.info.txt | 7 + tpl_footer.php | 33 ++ tpl_header.php | 91 +++++ 67 files changed, 5328 insertions(+) create mode 100755 css/_admin.css create mode 100755 css/_diff.css create mode 100755 css/_edit.css create mode 100755 css/_fileuploader.css create mode 100755 css/_footnotes.css create mode 100755 css/_forms.css create mode 100755 css/_imgdetail.css create mode 100755 css/_links.css create mode 100755 css/_media_fullscreen.css create mode 100755 css/_media_popup.css create mode 100755 css/_modal.css create mode 100755 css/_recent.css create mode 100755 css/_search.css create mode 100755 css/_tabs.css create mode 100755 css/_toc.css create mode 100755 css/basic.less create mode 100755 css/content.less create mode 100755 css/design.less create mode 100755 css/mixins.less create mode 100755 css/mobile.less create mode 100755 css/pagetools.less create mode 100755 css/print.css create mode 100755 css/structure.less create mode 100644 css/ui.layout.css create mode 100755 detail.php create mode 100755 images/apple-touch-icon.png create mode 100755 images/button-css.png create mode 100755 images/button-donate.gif create mode 100755 images/button-dw.png create mode 100755 images/button-html5.png create mode 100755 images/button-php.gif create mode 100755 images/button-rss.png create mode 100644 images/codo_logo.png create mode 100644 images/codo_logo_s.png create mode 100755 images/favicon.ico create mode 100755 images/license.txt create mode 100755 images/logo.png create mode 100755 images/page-background.svg create mode 100755 images/page-gradient.png create mode 100755 images/pagetools-build.php create mode 100755 images/pagetools-sprite.png create mode 100755 images/pagetools/00_default.png create mode 100755 images/pagetools/01_edit.png create mode 100755 images/pagetools/02_create.png create mode 100755 images/pagetools/03_draft.png create mode 100755 images/pagetools/04_show.png create mode 100755 images/pagetools/05_source.png create mode 100755 images/pagetools/06_revert.png create mode 100755 images/pagetools/07_revisions.png create mode 100755 images/pagetools/08_backlink.png create mode 100755 images/pagetools/09_subscribe.png create mode 100755 images/pagetools/10_top.png create mode 100755 images/pagetools/11_mediamanager.png create mode 100755 images/pagetools/12_back.png create mode 100755 images/pagetools/license.txt create mode 100755 images/search.png create mode 100755 images/toc-arrows.png create mode 100755 images/toc-bullet.png create mode 100755 images/usertools.png create mode 100644 layout.js create mode 100755 main.php create mode 100755 mediamanager.php create mode 100755 script.js create mode 100755 style.ini create mode 100755 template.info.txt create mode 100755 tpl_footer.php create mode 100755 tpl_header.php diff --git a/css/_admin.css b/css/_admin.css new file mode 100755 index 0000000..a9518d0 --- /dev/null +++ b/css/_admin.css @@ -0,0 +1,59 @@ +/** + * This file provides styles for the Administration overview + * (?do=admin). + */ + +.dokuwiki ul.admin_tasks { + float: left; + width: 40%; + list-style-type: none; + font-size: 1.125em; +} +[dir=rtl] .dokuwiki ul.admin_tasks { + float: right; +} + +.dokuwiki ul.admin_tasks li { + padding-left: 35px; + margin: 0 0 1em 0; + font-weight: bold; + list-style-type: none; + background: transparent none no-repeat scroll 0 0; + color: inherit; +} +[dir=rtl] .dokuwiki ul.admin_tasks li { + padding-left: 0; + padding-right: 35px; + background-position: right 0; +} + +.dokuwiki ul.admin_tasks li.admin_acl { + background-image: url(../../images/admin/acl.png); +} +.dokuwiki ul.admin_tasks li.admin_usermanager { + background-image: url(../../images/admin/usermanager.png); +} +.dokuwiki ul.admin_tasks li.admin_plugin { + background-image: url(../../images/admin/plugin.png); +} +.dokuwiki ul.admin_tasks li.admin_config { + background-image: url(../../images/admin/config.png); +} +.dokuwiki ul.admin_tasks li.admin_revert { + background-image: url(../../images/admin/revert.png); +} +.dokuwiki ul.admin_tasks li.admin_popularity { + background-image: url(../../images/admin/popularity.png); +} + +/* DokuWiki version below */ +.dokuwiki #admin__version { + clear: left; + float: right; + color: @ini_text_neu; + background-color: inherit; +} +[dir=rtl] .dokuwiki #admin__version { + clear: right; + float: left; +} diff --git a/css/_diff.css b/css/_diff.css new file mode 100755 index 0000000..b7c82d8 --- /dev/null +++ b/css/_diff.css @@ -0,0 +1,75 @@ +/** + * This file provides styles for the diff view, which shows you + * differences between two versions of a page (?do=diff). + */ + +.dokuwiki table.diff { + width: 100%; + border-width: 0; +} +.dokuwiki table.diff th, +.dokuwiki table.diff td { + vertical-align: top; + padding: 0; + border-width: 0; + /* no style.ini colours because deleted and added lines have a fixed background colour */ + background-color: #fff; + color: #333; +} + +/* table header */ +.dokuwiki table.diff th { + border-bottom: 1px solid @ini_border; + font-size: 110%; + font-weight: normal; +} +.dokuwiki table.diff th a { + font-weight: bold; +} +.dokuwiki table.diff th span.user { + font-size: .9em; +} +.dokuwiki table.diff th span.sum { + font-size: .9em; + font-weight: bold; +} +.dokuwiki table.diff th.minor { + color: #999; +} +.dokuwiki table.diff_sidebyside th { + width: 50%; +} + +/* table body */ +.dokuwiki table.diff .diff-lineheader { + width: .7em; + text-align: right; +} +[dir=rtl] .dokuwiki table.diff .diff-lineheader { + text-align: left; +} +.dokuwiki table.diff .diff-lineheader, +.dokuwiki table.diff td { + font-family: Consolas, "Andale Mono WT", "Andale Mono", "Bitstream Vera Sans Mono", "Nimbus Mono L", Monaco, "Courier New", monospace; +} +.dokuwiki table.diff td.diff-blockheader { + font-weight: bold; +} +.dokuwiki table.diff .diff-addedline { + background-color: #cfc; + color: inherit; +} +.dokuwiki table.diff .diff-deletedline { + background-color: #fdd; + color: inherit; +} +.dokuwiki table.diff td.diff-context { + background-color: #eee; + color: inherit; +} +.dokuwiki table.diff td.diff-addedline strong, +.dokuwiki table.diff td.diff-deletedline strong { + color: #f00; + background-color: inherit; + font-weight: bold; +} diff --git a/css/_edit.css b/css/_edit.css new file mode 100755 index 0000000..f40aaa8 --- /dev/null +++ b/css/_edit.css @@ -0,0 +1,143 @@ +/** + * This file provides styles for the edit view (?do=edit), preview + * and section edit buttons. + */ + +/* edit view +********************************************************************/ + +.dokuwiki div.editBox { +} + +/*____________ toolbar ____________*/ + +.dokuwiki div.toolbar { + margin-bottom: .5em; +} +#draft__status { + float: right; + color: @ini_text_alt; + background-color: inherit; +} +[dir=rtl] #draft__status { + float: left; +} +#tool__bar { + float: left; +} +[dir=rtl] #tool__bar { + float: right; +} + +/* buttons inside of toolbar */ +.dokuwiki div.toolbar button.toolbutton { +} +/* picker popups (outside of .dokuwiki) */ +div.picker { + width: 300px; + border: 1px solid @ini_border; + background-color: @ini_background_alt; + color: inherit; +} +/* picker for headlines */ +div.picker.pk_hl { + width: auto; +} + +/* buttons inside of picker */ +div.picker button.pickerbutton, +div.picker button.toolbutton { + padding: .1em .35em; + border-width: 0; +} + +/*____________ edit textarea ____________*/ + +.dokuwiki textarea.edit { + /* should just be "width: 100%", but IE8 doesn't like it, see FS#1910 + FS#1667 */ + width: 700px; + min-width: 100%; + max-width: 100%; + margin-bottom: .5em; +} + +/*____________ below the textarea ____________*/ + +.dokuwiki div.editBar { + overflow: hidden; + margin-bottom: .5em; +} + +/* size and wrap controls */ +#size__ctl { + float: right; +} +[dir=rtl] #size__ctl { + float: left; +} +#size__ctl img { + cursor: pointer; +} + +/* edit buttons */ +.dokuwiki .editBar .editButtons { + display: inline; + margin-right: 1em; +} +[dir=rtl] .dokuwiki .editBar .editButtons { + margin-right: 0; + margin-left: 1em; +} +.dokuwiki .editBar .editButtons input { +} + +/* summary input and minor changes checkbox */ +.dokuwiki .editBar .summary { + display: inline; +} +.dokuwiki .editBar .summary label { + vertical-align: middle; + white-space: nowrap; +} +.dokuwiki .editBar .summary label span { + vertical-align: middle; +} +.dokuwiki .editBar .summary input { +} +/* change background colour if summary is missing */ +.dokuwiki .editBar .summary input.missing { + color: @ini_text; + background-color: #ffcccc; +} + +/* preview +********************************************************************/ + +.dokuwiki div.preview { + border: dotted @ini_border; + border-width: .2em 0; + padding: 1.4em 0; + margin-bottom: 1.4em; +} + +/* section edit buttons +********************************************************************/ + +.dokuwiki .secedit { + float: right; + margin-top: -1.4em; +} +[dir=rtl] .dokuwiki .secedit { + float: left; +} +.dokuwiki .secedit input.button { + font-size: 75%; +} + +/* style for section highlighting */ +.dokuwiki div.section_highlight { + margin: 0 -1em; /* negative side margin = side padding + side border */ + padding: 0 .5em; + border: solid @ini_background_alt; + border-width: 0 .5em; +} diff --git a/css/_fileuploader.css b/css/_fileuploader.css new file mode 100755 index 0000000..3c2cd46 --- /dev/null +++ b/css/_fileuploader.css @@ -0,0 +1,112 @@ +/** + * This file provides the styles for the file uploader + * used in the media manager (both fullscreen and popup). + */ + +.qq-uploader { + position: relative; + width: 100%; +} + +.qq-uploader .error { + color: #f00; + background-color: #fff; +} + +/* select file button */ + +.qq-upload-button { + display: inline-block; + text-decoration: none; + font-size: 100%; + cursor: pointer; + margin: 1px 1px 5px; +} + +* html .qq-upload-button, +*+html .qq-upload-button { + display: inline; +} + +.qq-upload-button-focus { + outline: 1px dotted; +} + +/* drop area */ + +.qq-upload-drop-area { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + min-height: 70px; + z-index: 2; + background: @ini_background_neu; + color: @ini_text; + text-align: center; +} + +.qq-upload-drop-area span { + display: block; + position: absolute; + top: 50%; + width: 100%; + margin-top: -8px; + font-size: 120%; +} + +.qq-upload-drop-area-active { + background: @ini_background_alt; +} + +/* list of files to upload */ + +div.qq-uploader ul { + margin: 0; + padding: 0; + list-style: none; +} + +.qq-uploader li { + margin: 0 0 5px; + color: @ini_text; +} + +.qq-uploader li span, +.qq-uploader li input, +.qq-uploader li a { + margin-right: 5px; +} + +.qq-upload-file { + display: block; + font-weight: bold; +} + +.qq-upload-spinner { + display: inline-block; + background: url("../../images/throbber.gif"); + width: 15px; + height: 15px; + vertical-align: text-bottom; +} + +.qq-upload-size, +.qq-upload-cancel { + font-size: 85%; +} + +.qq-upload-failed-text { + display: none; +} +.qq-upload-fail .qq-upload-failed-text { + display: inline; +} + +.qq-action-container * { + vertical-align: middle; +} +.qq-overwrite-check input { + margin-left: 10px; +} diff --git a/css/_footnotes.css b/css/_footnotes.css new file mode 100755 index 0000000..5d5f7ca --- /dev/null +++ b/css/_footnotes.css @@ -0,0 +1,28 @@ +/** + * This file provides styles for footnotes. + */ + +/*____________ footnotes inside the text ____________*/ + +/* link to footnote inside the text */ +.dokuwiki sup a.fn_top { +} +/* JSpopup */ +div.insitu-footnote { + max-width: 40%; + min-width: 5em; +} + +/*____________ footnotes at the bottom of the page ____________*/ + +.dokuwiki div.footnotes { + border-top: 1px solid @ini_border; + padding: .5em 0 0 0; + margin: 1em 0 0 0; + clear: both; +} +.dokuwiki div.footnotes div.fn { +} +.dokuwiki div.footnotes div.fn sup a.fn_bot { + font-weight: bold; +} diff --git a/css/_forms.css b/css/_forms.css new file mode 100755 index 0000000..522f9ed --- /dev/null +++ b/css/_forms.css @@ -0,0 +1,107 @@ +/* TODO: this file is not up to the best standards and will be fixed after an overhaul of the form code */ + +/** + * This file provides styles for forms in general and specifically + * for ?do= + * - login + * - resendpwd + * - register + * - profile + * - subscribe + */ + +/* ---------------- forms ------------------------ */ + +.dokuwiki form { + border: none; + display: inline; +} + +.dokuwiki label.block { + display: block; + text-align: right; + font-weight: bold; +} +[dir=rtl] .dokuwiki label.block { + text-align: left; +} + +.dokuwiki label.simple { + display: block; + text-align: left; + font-weight: normal; +} +[dir=rtl] .dokuwiki label.simple { + text-align: right; +} + +.dokuwiki label.block select, +.dokuwiki label.block input.edit { + width: 50%; +} + +.dokuwiki label span { + vertical-align: middle; +} + +.dokuwiki fieldset { + width: 400px; + text-align: center; + border: 1px solid @ini_border; + padding: 0.5em; + margin: auto; +} + + +.dokuwiki input.edit, +.dokuwiki select.edit { + vertical-align: middle; +} +.dokuwiki select.edit { + padding: 0.1em 0; +} + + +.dokuwiki input.button, +.dokuwiki button.button { + vertical-align: middle; +} +/** + * Styles for auth forms + */ +#dw__login label[for="remember__me"] { + margin-left: 50%; + margin-bottom: 1.4em; +} +#dw__login fieldset, +#dw__resendpwd fieldset, +#dw__register fieldset { + padding-bottom: 0.7em; +} +#dw__profiledelete { + display: block; + margin-top: 2.8em; +} + +/** + * Styles for the subscription page + */ + +#subscribe__form { + display: block; + width: 400px; + text-align: center; +} + +#subscribe__form fieldset { + text-align: left; + margin: 0.5em 0; +} +[dir=rtl] #subscribe__form fieldset { + text-align: right; +} + +#subscribe__form label { + display: block; + margin: 0 0.5em 0.5em; +} diff --git a/css/_imgdetail.css b/css/_imgdetail.css new file mode 100755 index 0000000..a074000 --- /dev/null +++ b/css/_imgdetail.css @@ -0,0 +1,38 @@ +/** + * This file provides styles for the image detail page (detail.php). + */ + +#dokuwiki__detail { + padding: 1em; +} +#dokuwiki__detail h1 { +} + +#dokuwiki__detail img { + float: left; + margin: 0 1.5em .5em 0; +} +[dir=rtl] #dokuwiki__detail div.content img { + float: right; + margin-right: 0; + margin-left: 1.5em; +} +#dokuwiki__detail div.img_detail { + float: left; +} +[dir=rtl] #dokuwiki__detail div.content div.img_detail { + float: right +} + +#dokuwiki__detail div.img_detail h2 { +} +#dokuwiki__detail div.img_detail dl { +} +#dokuwiki__detail div.img_detail dl dt { +} +#dokuwiki__detail div.img_detail dl dd { +} + +#dokuwiki__detail p.back { + clear: both; +} diff --git a/css/_links.css b/css/_links.css new file mode 100755 index 0000000..7e5fb02 --- /dev/null +++ b/css/_links.css @@ -0,0 +1,70 @@ +/** + * This file provides styles for all types of links. + */ + +/*____________ links to wiki pages ____________*/ + +/* existing wikipage */ +.dokuwiki a.wikilink1 { +} +/* not existing wikipage */ +.dokuwiki a.wikilink2 { + text-decoration: none; +} +.dokuwiki a.wikilink2:link, +.dokuwiki a.wikilink2:visited { + border-bottom: 1px dashed; +} +.dokuwiki a.wikilink2:hover, +.dokuwiki a.wikilink2:active, +.dokuwiki a.wikilink2:focus { + border-bottom-width: 0; +} + +/* any link to current page */ +.dokuwiki span.curid a { + font-weight: bold; +} + +/*____________ other link types ____________*/ + +.dokuwiki a.urlextern, +.dokuwiki a.windows, +.dokuwiki a.mail, +.dokuwiki a.mediafile, +.dokuwiki a.interwiki { + background-repeat: no-repeat; + background-position: 0 center; + padding: 0 0 0 18px; +} +/* external link */ +.dokuwiki a.urlextern { + background-image: url(../../images/external-link.png); +} +/* windows share */ +.dokuwiki a.windows { + background-image: url(../../images/unc.png); +} +/* email link */ +.dokuwiki a.mail { + background-image: url(../../images/email.png); +} + +/* icons of the following are set by dokuwiki in lib/exe/css.php */ +/* link to some embedded media */ +.dokuwiki a.mediafile { +} +/* interwiki link */ +.dokuwiki a.interwiki { +} + +/* RTL corrections; if link icons don't work as expected, remove the following lines */ +[dir=rtl] .dokuwiki a.urlextern, +[dir=rtl] .dokuwiki a.windows, +[dir=rtl] .dokuwiki a.mail, +[dir=rtl] .dokuwiki a.interwiki, +[dir=rtl] .dokuwiki a.mediafile { + background-position: right center; + padding: 0 18px 0 0; + display: inline-block; /* needed for IE7 */ +} diff --git a/css/_media_fullscreen.css b/css/_media_fullscreen.css new file mode 100755 index 0000000..31b7189 --- /dev/null +++ b/css/_media_fullscreen.css @@ -0,0 +1,503 @@ +/** + * This file provides the styles for the fullscreen media manager + * (?do=media). + * + * What most templates would probably need to change (depending on + * their site width) are the 4 min-width's (search for @change). + */ + + +/*____________ structure ____________*/ + +#mediamanager__page h1 { + margin-bottom: .5em; +} + +#mediamanager__page { + /* min-width must be summary of all 3 panels' min-widths */ + min-width: 50em; /* @change */ + width: 100%; + text-align: left; +} + +#mediamanager__page .panel { + float: left; +} + +#mediamanager__page .namespaces { + width: 20%; + min-width: 10em; /* @change */ +} +#mediamanager__page .filelist { + width: 50%; + min-width: 25em; /* @change */ +} +#mediamanager__page .file { + width: 30%; + min-width: 15em; /* @change */ +} + +#mediamanager__page .panelHeader { + background-color: @ini_background_alt; + margin: 0 10px 10px 0; + padding: 10px 10px 8px; + text-align: left; + min-height: 20px; + overflow: hidden; +} + +#mediamanager__page .panelContent { + overflow-y: auto; + overflow-x: hidden; + padding: 0; + margin: 0 10px 10px 0; + position: relative; +} +[dir=rtl] #mediamanager__page .panelContent { + text-align: right; +} + +#mediamanager__page .file .panelHeader, +#mediamanager__page .file .panelContent { + margin-right: 0; +} + +#mediamanager__page .ui-resizable-e { + width: 6px; + right: 2px; + background: transparent url(../../images/resizecol.png) center center no-repeat; +} +#mediamanager__page .ui-resizable-e:hover { + background-color: @ini_background_alt; +} + + +#mediamanager__page dd { + margin: 0; +} + +#mediamanager__page .panelHeader h3 { + float: left; + font-weight: normal; + font-size: 1em; + padding: 0; + margin: 0 0 3px; +} + + +/*____________ namespaces panel ____________*/ + +[dir=rtl] #mediamanager__page .namespaces { + text-align: right; +} + +/* make it look like a tab (as in _tabs.css) */ +#mediamanager__page .namespaces h2 { + font-size: 1em; + display: inline-block; + padding: .3em .8em; + margin: 0 0 0 .3em; + border-radius: .5em .5em 0 0; + font-weight: normal; + background-color: @ini_background_alt; + color: @ini_text; + border: 1px solid @ini_border; + border-bottom-color: @ini_background_alt; + line-height: 1.4em; + position: relative; + bottom: -1px; + z-index: 2; +} +* html #mediamanager__page .namespaces h2, +*+html #mediamanager__page .namespaces h2 { + display: inline; +} +[dir=rtl] #mediamanager__page .namespaces h2 { + margin: 0 .3em 0 0; + position: relative; + right: 10px; +} +#mediamanager__page .namespaces .panelHeader { + border-top: 1px solid @ini_border; + z-index: 1; +} + +#mediamanager__page .namespaces ul { + margin-left: .2em; + margin-bottom: 0; + padding: 0; + list-style: none; +} +[dir=rtl] #mediamanager__page .namespaces ul { + margin-left: 0; + margin-right: .2em; +} +#mediamanager__page .namespaces ul ul { + margin-left: 1em; +} +[dir=rtl] #mediamanager__page .namespaces ul ul { + margin-left: 0; + margin-right: 1em; +} +#mediamanager__page .namespaces ul ul li { + margin: 0; +} + +#mediamanager__page .namespaces ul .selected { + background-color: __highlight__; + font-weight: bold; +} + + +/*____________ file list panel ____________*/ + +/* file list header */ + +#mediamanager__page .panelHeader form.options { + float: right; + margin-top: -3px; +} + +#mediamanager__page .panelHeader ul { + list-style: none; + margin: 0; + padding: 0; +} +#mediamanager__page .panelHeader ul li { + color: @ini_text; + float: left; + line-height: 1; + padding-left: 3px; +} +[dir=rtl] #mediamanager__page .panelHeader ul li { + margin-right: 0; + margin-left: .5em; +} + +#mediamanager__page .panelHeader ul li.listType { + padding-left: 30px; + margin: 0 0 0 5px; + background: url('../../images/icon-list.png') 3px 1px no-repeat; +} +#mediamanager__page .panelHeader ul li.sortBy { + padding-left: 30px; + margin: 0 0 0 5px; + background: url('../../images/icon-sort.png') 3px 1px no-repeat; +} + +#mediamanager__page .panelHeader form.options .ui-buttonset label{ + font-size: 90%; + margin-right: -0.4em; +} +#mediamanager__page .panelHeader form.options .ui-buttonset .ui-button-text { + padding: .3em .5em; + line-height: 1; +} + +/* file list content */ + +#mediamanager__page .filelist ul { + padding: 0; + margin: 0 10px 0 0; +} +[dir=rtl] #mediamanager__page .filelist ul { + margin: 0 10px 0 0; +} + +#mediamanager__page .filelist .panelContent ul li:hover { + background-color: @ini_background_alt; +} + +#mediamanager__page .filelist li dt a { + vertical-align: middle; + display: table-cell; + overflow: hidden; +} +* html #mediamanager__page .filelist .thumbs li dt a, +*+html #mediamanager__page .filelist .thumbs li dt a { + display: block; +} +* html #mediamanager__page .filelist .rows li dt a, +*+html #mediamanager__page .filelist .rows li dt a { + display: inline; +} + +/* file list as thumbs */ + +#mediamanager__page .filelist .thumbs li { + width: 100px; + min-height: 130px; + display: inline-block; + display: -moz-inline-stack; + /* the right margin should visually be 10px, but because of its inline-block nature the whitespace inbetween is about 4px more */ + margin: 0 6px 10px 0; + background-color: @ini_background_neu; + color: @ini_text; + padding: 5px; + vertical-align: top; + text-align: center; + position: relative; + line-height: 1.2; +} +[dir=rtl] #mediamanager__page .filelist .thumbs li { + margin-right: 0; + margin-left: 6px; +} +* html #mediamanager__page .filelist .thumbs li, +*+html #mediamanager__page .filelist .thumbs li { + display: inline; + zoom: 1; +} + +#mediamanager__page .filelist .thumbs li dt a { + width: 100px; + height: 90px; +} + +#mediamanager__page .filelist .thumbs li dt a img { + max-width: 90px; + max-height: 90px; +} + +#mediamanager__page .filelist .thumbs li .name, +#mediamanager__page .filelist .thumbs li .size, +#mediamanager__page .filelist .thumbs li .filesize, +#mediamanager__page .filelist .thumbs li .date { + display: block; + overflow: hidden; + text-overflow: ellipsis; + width: 90px; + white-space: nowrap; +} +#mediamanager__page .filelist .thumbs li .name { + padding: 5px 0; + font-weight: bold; +} +#mediamanager__page .filelist .thumbs li .date { + font-style: italic; + white-space: normal; +} + +/* file list as rows */ + +#mediamanager__page .filelist .rows li { + list-style: none; + display: block; + position: relative; + max-height: 50px; + margin: 0; + margin-bottom: 3px; + background-color: @ini_background; + color: @ini_text; + overflow: hidden; +} + +#mediamanager__page .filelist .rows li:nth-child(2n+1) { + background-color: @ini_background_neu; +} + +#mediamanager__page .filelist .rows li dt { + float: left; + width: 10%; + height: 40px; + text-align: center; +} + +#mediamanager__page .filelist .rows li dt a { + width: 100px; + height: 40px; +} + +#mediamanager__page .filelist .rows li dt a img { + max-width: 40px; + max-height: 40px; +} + +#mediamanager__page .filelist .rows li .name, +#mediamanager__page .filelist .rows li .size, +#mediamanager__page .filelist .rows li .filesize, +#mediamanager__page .filelist .rows li .date { + overflow: hidden; + text-overflow: ellipsis; + float: left; + margin-left: 1%; + white-space: nowrap; +} + +#mediamanager__page .filelist .rows li .name { + width: 30%; + font-weight: bold; +} +#mediamanager__page .filelist .rows li .size, +#mediamanager__page .filelist .rows li .filesize { + width: 15%; +} +#mediamanager__page .filelist .rows li .date { + width: 20%; + font-style: italic; + white-space: normal; +} + +/* upload form */ + +#mediamanager__page div.upload { + padding-bottom: 0.5em; +} + +/*____________ file panel ____________*/ + +#mediamanager__page .file ul.actions { + text-align: center; + margin: 0 0 5px; + padding: 0; + list-style: none; +} +#mediamanager__page .file ul.actions li { + display: inline; + margin: 0; +} + +#mediamanager__page .file div.image { + margin-bottom: 5px; + text-align: center; +} + +#mediamanager__page .file div.image img { + width: 100%; +} + +#mediamanager__page .file dl { + margin-bottom: 0; +} +#mediamanager__page .file dl dt { + font-weight: bold; + display: block; + background-color: @ini_background_alt; +} +#mediamanager__page .file dl dd { + display: block; + background-color: @ini_background_neu; +} + + +/* file meta data edit form */ + +#mediamanager__page form.meta div.row { + margin-bottom: 5px; +} + +#mediamanager__page form.meta label span { + display: block; +} + +#mediamanager__page form.meta input { + width: 50%; +} + +#mediamanager__page form.meta input.button { + width: auto; +} + +#mediamanager__page form.meta textarea.edit { + height: 6em; + width: 95%; + min-width: 95%; + max-width: 95%; +} + +/* file revisions form */ + +#mediamanager__page #page__revisions ul { + margin-left: 10px; + padding: 0; + list-style-type: none; +} + +#mediamanager__page #page__revisions ul li div.li div { + font-size: 90%; + color: @ini_text_neu; + padding-left: 18px; +} + +#mediamanager__page #page__revisions ul li div.li input { + position: relative; + top: 1px; +} + +/* file diff view */ + +#mediamanager__diff table { + table-layout: fixed; + border-width: 0; +} + +#mediamanager__diff td, +#mediamanager__diff th { + width: 48%; + margin: 0 5px 10px 0; + padding: 0; + vertical-align: top; + text-align: left; + border-color: @ini_background; +} +[dir=rtl] #mediamanager__diff td, +[dir=rtl] #mediamanager__diff th { + text-align: right; +} + +#mediamanager__diff th { + font-weight: normal; + background-color: @ini_background; + line-height: 1.2; +} +#mediamanager__diff th a { + font-weight: bold; +} +#mediamanager__diff th span { + font-size: 90%; +} + +#mediamanager__diff dl dd strong{ + background-color: __highlight__; + color: @ini_text; + font-weight: normal; +} + +/* image diff views */ + +#mediamanager__page .file form.diffView { + margin-bottom: 10px; + display: block; +} + +#mediamanager__diff div.slider { + margin: 10px; + width: 95%; +} + +#mediamanager__diff .imageDiff { + position: relative; +} +#mediamanager__diff .imageDiff .image2 { + position: absolute; + top: 0; + left: 0; +} + +#mediamanager__diff .imageDiff.opacity .image2 { + opacity: 0.5; +} + +#mediamanager__diff .imageDiff.portions .image2 { + border-right: 1px solid red; + overflow: hidden; +} + +#mediamanager__diff .imageDiff.portions img { + float: left; +} + +#mediamanager__diff .imageDiff img { + width: 100%; + max-width: none; +} diff --git a/css/_media_popup.css b/css/_media_popup.css new file mode 100755 index 0000000..20d669c --- /dev/null +++ b/css/_media_popup.css @@ -0,0 +1,258 @@ +/** + * This file provides styles for the media manager popup + * (mediamanager.php). + */ + +/*____________ structure ____________*/ + +html.popup { + overflow: auto; +} + +#media__manager { + height: 100%; + overflow: hidden; +} + +#mediamgr__aside { + width: 30%; + height: 100%; + overflow: auto; + position: absolute; + left: 0; + border-right: 1px solid @ini_border; +} +[dir=rtl] #mediamgr__aside { + left: auto; + right: 0; + border-right-width: 0; + border-left: 1px solid @ini_border; +} +#mediamgr__aside .pad { + padding: .5em; +} + +#mediamgr__content { + width: 69.7%; + height: 100%; + overflow: auto; + position: absolute; + right: 0; +} +[dir=rtl] #mediamgr__content { + right: auto; + left: 0; +} +#mediamgr__content .pad { + padding: .5em; +} + +#media__manager h1, +#media__manager h2 { + font-size: 1.5em; + margin-bottom: .5em; + padding-bottom: .2em; + border-bottom: 1px solid @ini_border; +} + +/* left side +********************************************************************/ + +/*____________ options ____________*/ + +#media__opts { + margin-bottom: .5em; +} + +#media__opts input { + margin-right: .3em; +} +[dir=rtl] #media__opts input { + margin-right: 0; + margin-left: .3em; +} +#media__opts label { +} + +/*____________ tree ____________*/ + +#media__tree ul { + padding-left: .2em; +} +[dir=rtl] #media__tree ul { + padding-left: 0; + padding-right: .2em; +} +#media__tree ul li { + clear: left; + list-style-type: none; + list-style-image: none; + margin-left: 0; +} +[dir=rtl] #media__tree ul li { + clear: right; + margin-right: 0; +} +#media__tree ul li img { + float: left; + padding: .5em .3em 0 0; +} +[dir=rtl] #media__tree ul li img { + float: right; + padding: .5em 0 0 .3em; +} +#media__tree ul li div.li { + display: inline; +} +#media__tree ul li li { + margin-left: 1.5em; +} +[dir=rtl] #media__tree ul li li { + margin-left: 0; + margin-right: 1.5em; +} + +/* right side +********************************************************************/ + +/*____________ upload form ____________*/ + +/* upload info */ +#media__content div.upload { + font-size: .9em; + margin-bottom: .5em; +} + +#mediamanager__uploader { + margin-bottom: 1em; +} +#mediamanager__uploader p { + margin-bottom: .5em; +} + +/*____________ file list ____________*/ + +#media__content img.load { + margin: 1em auto; +} + +#media__content .odd, +#media__content .even { + padding: .5em; +} +#media__content .odd { + background-color: @ini_background_alt; +} +#media__content .even { +} +/* highlight newly uploaded or edited file */ +#media__content #scroll__here { + border: 1px dashed @ini_border; +} + +/* link which inserts media file */ +#media__content a.mediafile { + margin-right: 1.5em; + font-weight: bold; + cursor: pointer; +} +[dir=rtl] #media__content a.mediafile { + margin-right: 0; + margin-left: 1.5em; +} +#media__content span.info { +} +#media__content img.btn { + vertical-align: text-bottom; +} + +/* info how to insert media, if JS disabled */ +#media__content div.example { + color: @ini_text_neu; + margin-left: 1em; +} + +#media__content div.detail { + padding: .2em 0; +} +#media__content div.detail div.thumb { + float: left; + margin: 0 .5em 0 18px; +} +[dir=rtl] #media__content div.detail div.thumb { + float: right; + margin: 0 18px 0 .5em; +} +#media__content div.detail div.thumb a { + display: block; + cursor: pointer; +} +#media__content div.detail p { + margin-bottom: 0; +} + + +/*____________ media search ____________*/ + +#dw__mediasearch { +} +#dw__mediasearch p { +} +#dw__mediasearch label { +} +#dw__mediasearch label span { +} +#dw__mediasearch input.edit { +} +#dw__mediasearch input.button { +} + + +/* meta edit form +********************************************************************/ + +#media__content form.meta { +} + +#media__content form.meta div.metafield { + clear: left; + margin-bottom: .5em; + overflow: hidden; +} +[dir=rtl] #media__content form.meta div.metafield { + clear: right; +} + +#media__content form.meta label { + display: block; + width: 25%; + float: left; + font-weight: bold; + clear: left; +} +[dir=rtl] #media__content form.meta label { + float: right; + clear: right; +} +#media__content form.meta .edit { + float: left; + width: 70%; + margin: 0; +} +[dir=rtl] #media__content form.meta .edit { + float: right; +} +#media__content form.meta textarea.edit { + /* needed because of IE8 hack in _edit.css for textarea.edit: */ + max-width: 70%; + min-width: 70%; +} + +#media__content form.meta div.buttons { + clear: left; + margin: .2em 0 0 25%; +} +[dir=rtl] #media__content form.meta div.buttons { + clear: right; + margin: .2em 25% 0 0; +} diff --git a/css/_modal.css b/css/_modal.css new file mode 100755 index 0000000..a46dff3 --- /dev/null +++ b/css/_modal.css @@ -0,0 +1,94 @@ +/** + * This file provides styles for modal dialogues. + */ + +.dokuwiki .ui-widget { + font-size: 100%; +} + + +/* link wizard (opens from the link button in the edit toolbar) +********************************************************************/ + +#link__wiz { +} + +[dir=rtl] #link__wiz_close { + float: left; +} + +#link__wiz_result { + background-color: @ini_background; + width: 293px; + height: 193px; + overflow: auto; + border: 1px solid @ini_border; + margin: 3px auto; + text-align: left; + line-height: 1; +} +[dir=rtl] #link__wiz_result { + text-align: right; +} + +#link__wiz_result div { + padding: 3px 3px 3px 0; +} + +#link__wiz_result div a { + display: block; + padding-left: 22px; + min-height: 16px; + background: transparent 3px center no-repeat; +} +[dir=rtl] #link__wiz_result div a { + padding: 3px 22px 3px 3px; + background-position: 257px 3px; +} + +#link__wiz_result div.type_u a { + background-image: url(../../images/up.png); +} +#link__wiz_result div.type_f a { + background-image: url(../../images/page.png); +} +#link__wiz_result div.type_d a { + background-image: url(../../images/ns.png); +} + +#link__wiz_result div.even { + background-color: @ini_background_neu; +} + +#link__wiz_result div.selected { + background-color: @ini_background_alt; +} + +#link__wiz_result span { + display: block; + color: @ini_text_neu; + margin-left: 22px; +} + + +/* media option wizard (opens when inserting media in the media popup) +********************************************************************/ + +#media__popup { + /* for backwards compatibility (not needed since Rincewind) */ + display: none; +} + +#media__popup_content p { + margin: 0 0 .5em; +} + +#media__popup_content label { + margin-right: .5em; + cursor: default; +} + +#media__popup_content .button { + margin-right: 1px; + cursor: pointer; +} diff --git a/css/_recent.css b/css/_recent.css new file mode 100755 index 0000000..d73bb94 --- /dev/null +++ b/css/_recent.css @@ -0,0 +1,59 @@ +/** + * This file provides styles for the recent changes (?do=recent) and + * old revisions (?do=revisions). + */ + +/*____________ list of revisions / recent changes ____________*/ + +/* select type of revisions (media/pages) */ +.dokuwiki .changeType { + margin-bottom: .5em; +} + +.dokuwiki form.changes ul li { + list-style: none; + margin-left: 0; +} +[dir=rtl] .dokuwiki form.changes ul li { + margin-right: 0; +} +.dokuwiki form.changes ul li span, +.dokuwiki form.changes ul li a { + vertical-align: middle; +} +.dokuwiki form.changes ul li span.user a { + vertical-align: bottom; +} +.dokuwiki form.changes ul li.minor { + opacity: .7; +} + +.dokuwiki form.changes li span.date { +} +.dokuwiki form.changes li a.diff_link { + vertical-align: baseline; +} +.dokuwiki form.changes li a.revisions_link { + vertical-align: baseline; +} +.dokuwiki form.changes li a.wikilink1, +.dokuwiki form.changes li a.wikilink2 { +} +.dokuwiki form.changes li span.sum { + font-weight: bold; +} +.dokuwiki form.changes li span.user { +} + + +/*____________ page navigator ____________*/ + +.dokuwiki div.pagenav { + text-align: center; + margin: 1.4em 0; +} +.dokuwiki div.pagenav-prev, +.dokuwiki div.pagenav-next { + display: inline; + margin: 0 .5em; +} diff --git a/css/_search.css b/css/_search.css new file mode 100755 index 0000000..a8972ae --- /dev/null +++ b/css/_search.css @@ -0,0 +1,109 @@ +/** + * This file provides styles for the search results page (?do=search) + * and the AJAX search popup. + */ + +/* search results page +********************************************************************/ + +/* loading gif */ +#dw__loading { + text-align: center; + margin-bottom: 1.4em; +} + +/*____________ matching pagenames ____________*/ + +.dokuwiki div.search_quickresult { + margin-bottom: 1.4em; +} +.dokuwiki div.search_quickresult h3 { +} +.dokuwiki div.search_quickresult ul { + padding: 0; +} +.dokuwiki div.search_quickresult ul li { + float: left; + width: 12em; + margin: 0 1.5em; +} +[dir=rtl] .dokuwiki div.search_quickresult ul li { + float: right; +} + +/*____________ search results ____________*/ + +.dokuwiki dl.search_results { + margin-bottom: 1.2em; +} + +/* search heading */ +.dokuwiki dl.search_results dt { + font-weight: normal; + margin-bottom: .2em; +} +/* search snippet */ +.dokuwiki dl.search_results dd { + color: @ini_text_alt; + background-color: inherit; + margin: 0 0 1.2em 0; +} + +/* search hit in normal text */ +.dokuwiki .search_hit { + color: @ini_text; + background-color: __highlight__; +} +/* search hit in search results */ +.dokuwiki .search_results strong.search_hit { + font-weight: normal; +} +/* ellipsis separating snippets */ +.dokuwiki .search_results .search_sep { + color: @ini_text; + background-color: inherit; +} + +/* "nothing found" at search + media */ +.dokuwiki div.nothing { + margin-bottom: 1.4em; +} + + +/* AJAX quicksearch popup +********************************************************************/ + +.dokuwiki form.search div.no { + position: relative; +} + +/* .JSpopup */ +.dokuwiki form.search div.ajax_qsearch { + position: absolute; + top: 0; + left: -13.5em; /* -( width of #qsearch__in + padding of .ajax_qsearch + a bit more ) */ + width: 12em; + padding: 0.5em; + font-size: .9em; + z-index: 20; + text-align: left; + display: none; +} +[dir=rtl] .dokuwiki form.search div.ajax_qsearch { + left: auto; + right: -13.5em; + text-align: right; +} +.dokuwiki form.search div.ajax_qsearch strong { + display: block; + margin-bottom: .3em; +} +.dokuwiki form.search div.ajax_qsearch ul { + margin: 0 !important; + padding: 0 !important; +} +.dokuwiki form.search div.ajax_qsearch ul li { + margin: 0; + padding: 0; + display: block !important; +} diff --git a/css/_tabs.css b/css/_tabs.css new file mode 100755 index 0000000..860545a --- /dev/null +++ b/css/_tabs.css @@ -0,0 +1,82 @@ +/** + * This file provides the styles for general tabs. + */ + +.dokuwiki .tabs > ul, +.dokuwiki ul.tabs { + padding: 0; + margin: 0; + overflow: hidden; + position: relative; +} +/* border underneath */ +.dokuwiki .tabs > ul:after, +.dokuwiki ul.tabs:after { + position: absolute; + content: ""; + width: 100%; + bottom: 0; + left: 0; + border-bottom: 1px solid @ini_border; + z-index: 1; +} + +.dokuwiki .tabs > ul li, +.dokuwiki ul.tabs li { + float: left; + padding: 0; + margin: 0; + list-style: none; +} +[dir=rtl] .dokuwiki .tabs > ul li, +[dir=rtl] .dokuwiki ul.tabs li { + float: right; +} + +.dokuwiki .tabs > ul li a, +.dokuwiki ul.tabs li strong, +.dokuwiki ul.tabs li a { + display: inline-block; + padding: .3em .8em; + margin: 0 0 0 .3em; + background-color: @ini_background_neu; + color: @ini_text; + border: 1px solid @ini_border; + border-radius: .5em .5em 0 0; + position: relative; + z-index: 0; +} +[dir=rtl] .dokuwiki .tabs > ul li a, +[dir=rtl] .dokuwiki ul.tabs li strong, +[dir=rtl] .dokuwiki ul.tabs li a { + margin: 0 .3em 0 0; +} + +.dokuwiki ul.tabs li strong { + font-weight: normal; +} + +.dokuwiki ul.tabs li a:link, +.dokuwiki ul.tabs li a:visited { +} +.dokuwiki .tabs > ul li a:hover, +.dokuwiki .tabs > ul li a:active, +.dokuwiki .tabs > ul li a:focus, +.dokuwiki .tabs > ul li .curid a, +.dokuwiki .tabs > ul .active a, +.dokuwiki ul.tabs li a:hover, +.dokuwiki ul.tabs li a:active, +.dokuwiki ul.tabs li a:focus, +.dokuwiki ul.tabs li strong { + background-color: @ini_background_alt; + color: @ini_text; + text-decoration: none; + font-weight: normal; +} + +.dokuwiki .tabs > ul li .curid a, +.dokuwiki .tabs > ul li .active a, +.dokuwiki ul.tabs li strong { + z-index: 2; + border-bottom-color: @ini_background_alt; +} diff --git a/css/_toc.css b/css/_toc.css new file mode 100755 index 0000000..469e927 --- /dev/null +++ b/css/_toc.css @@ -0,0 +1,93 @@ +/** + * This file provides styles for the TOC (table of contents), the + * sitemap (?do=index) and backlinks (?do=backlink). + */ + +/* toc +********************************************************************/ + +/* toc container */ +#dw__toc { + float: right; + margin: 0 0 1.4em 1.4em; + width: 12em; + background-color: @ini_background_alt; + color: inherit; +} +[dir=rtl] #dw__toc { + float: left; + margin: 0 1.4em 1.4em 0; +} + +/*____________ toc header ____________*/ + +.dokuwiki h3.toggle { + padding: .2em .5em; + font-weight: bold; +} + +.dokuwiki .toggle strong { + float: right; + margin: 0 .2em; +} +[dir=rtl] .dokuwiki .toggle strong { + float: left; +} + +/*____________ toc list ____________*/ + +#dw__toc > div { + padding: .2em .5em; +} +#dw__toc ul { + padding: 0; + margin: 0; +} +#dw__toc ul li { + list-style: none; + padding: 0; + margin: 0; + line-height: 1.1; +} +#dw__toc ul li div.li { + padding: .15em 0; +} +#dw__toc ul ul { + padding-left: 1em; +} +[dir=rtl] #dw__toc ul ul { + padding-left: 0; + padding-right: 1em; +} +#dw__toc ul ul li { +} +#dw__toc ul li a { +} + +/* in case of toc list jumping one level + (e.g. if heading level 3 follows directly after heading level 1) */ +#dw__toc ul li.clear { +} + + +/* sitemap (and backlinks) +********************************************************************/ + +.dokuwiki ul.idx { + padding-left: 0; +} +[dir=rtl] .dokuwiki ul.idx { + padding-right: 0; +} +.dokuwiki ul.idx li { + list-style-image: url(../../images/bullet.png); +} +.dokuwiki ul.idx li.open { + list-style-image: url(../../images/open.png); +} +.dokuwiki ul.idx li.closed { + list-style-image: url(../../images/closed.png); +} +[dir=rtl] .dokuwiki ul.idx li.closed { + list-style-image: url(../../images/closed-rtl.png); +} diff --git a/css/basic.less b/css/basic.less new file mode 100755 index 0000000..9460930 --- /dev/null +++ b/css/basic.less @@ -0,0 +1,472 @@ +/** + * This file provides the most basic styles. + * + * If you integrate DokuWiki into another project, you might either + * want to integrate this file into the other project as well, or use + * the other project's basic CSS for DokuWiki instead of this one. + * + * codologic Template + * + * @link http://codologic.com + * + * Author: Avinash D'Silva + * + * Previous Authors: + * @author Anika Henke + * @author Clarence Lee + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + */ + +html { + overflow-x: auto; + overflow-y: scroll; +} +html, +body { + color: @ini_text; + background: @ini_background_site url(images/page-gradient.png) top left repeat-x; + margin: 0; + padding: 0; +} +body { + font: normal 87.5%/1.4 Arial, sans-serif; + /* default font size: 100% => 16px; 93.75% => 15px; 87.5% => 14px; 81.25% => 13px; 75% => 12px */ + -webkit-text-size-adjust: 100%; +} + + +/*____________ headers ____________*/ + +caption, +figcaption, +summary, +legend { + padding: 0; + margin: 0 0 .35em; + line-height: 1.2; +} +h1, +h2, +h3, +h4, +h5, +h6 { + font-weight: bold; + padding: 0; + line-height: 1.2; + clear: left; /* ideally 'both', but problems with toc */ +} +[dir=rtl] h1, +[dir=rtl] h2, +[dir=rtl] h3, +[dir=rtl] h4, +[dir=rtl] h5, +[dir=rtl] h6 { + clear: right; +} + +h1 { + font-size: 2em; + margin: 0 0 0.444em; +} +h2 { + font-size: 1.5em; + margin: 0 0 0.666em; +} +h3 { + font-size: 1.125em; + margin: 0 0 0.888em; +} +h4 { + font-size: 1em; + margin: 0 0 1.0em; +} +h5 { + font-size: .875em; + margin: 0 0 1.1428em; +} +h6 { + font-size: .75em; + margin: 0 0 1.333em; +} +/* bottom margin = 1 / font-size */ + + +/*____________ basic margins and paddings ____________*/ + +p, +ul, +ol, +dl, +pre, +table, +hr, +blockquote, +figure, +details, +fieldset, +address { + margin: 0 0 1.4em 0; /* bottom margin = line-height */ + padding: 0; +} + +div { + margin: 0; + padding: 0; +} + + +/*____________ lists ____________*/ + +ul, +ol { + padding: 0 0 0 1.5em; +} +[dir=rtl] ul, +[dir=rtl] ol { + padding: 0 1.5em 0 0; +} + +li, +dd { + padding: 0; + margin: 0 0 0 1.5em; +} +[dir=rtl] li, +[dir=rtl] dd { + margin: 0 1.5em 0 0; +} +dt { + font-weight: bold; + margin: 0; + padding: 0; +} + +li ul, +li ol, +li dl, +dl ul, +dl ol, +dl dl { + margin-bottom: 0; + padding: 0; +} +li li { + font-size: 100%; +} + +ul { list-style: square outside; } +ol { list-style: decimal outside; } +ol ol { list-style-type: lower-alpha; } +ol ol ol { list-style-type: upper-roman; } +ol ol ol ol { list-style-type: upper-alpha; } +ol ol ol ol ol { list-style-type: lower-roman; } + + +/*____________ tables ____________*/ + +table { + border-collapse: collapse; + empty-cells: show; + border-spacing: 0; + border: 1px solid @ini_border; +} + +caption { + caption-side: top; + text-align: left; +} +[dir=rtl] caption { + text-align: right; +} + +th, +td { + padding: .3em .5em; + margin: 0; + vertical-align: top; + border: 1px solid @ini_border; +} +th { + font-weight: bold; + background-color: @ini_background_alt; + text-align: left; +} +[dir=rtl] th { + text-align: right; +} + + +/*____________ links ____________*/ + +a { + outline: none; +} +a:link, +a:visited { + text-decoration: none; + color: @ini_link; +} +a:link:hover, +a:visited:hover, +a:link:focus, +a:visited:focus, +a:link:active, +a:visited:active { + text-decoration: underline; +} + + +/*____________ misc ____________*/ + +img { + border-width: 0; + vertical-align: middle; + color: #666; + background-color: transparent; + font-style: italic; + height: auto; +} +img, +object, +embed, +iframe, +video, +audio { + max-width: 100%; +} +#IE7 img, +#IE8 img, +button img { + max-width: none; +} + +hr { + border-top: solid @ini_border; + border-bottom: solid @ini_background; + border-width: 1px 0; + height: 0; + text-align: center; + clear: both; +} + +acronym, +abbr { + cursor: help; + border-bottom: 1px dotted; + font-style: normal; +} +em acronym, +em abbr { + font-style: italic; +} + +mark { + background-color: @ini_highlight; + color: inherit; +} + +pre, +code, +samp, +kbd { + font-family: Consolas, "Andale Mono WT", "Andale Mono", "Bitstream Vera Sans Mono", "Nimbus Mono L", Monaco, "Courier New", monospace; + /* same font stack should be used for ".dokuwiki table.diff td" in _diff.css */ + font-size: 1em; + direction: ltr; + text-align: left; + background-color: @ini_background_site; + color: @ini_text; + box-shadow: inset 0 0 .3em @ini_border; + border-radius: 2px; +} +pre { + overflow: auto; + word-wrap: normal; + border: 1px solid @ini_border; + border-radius: 2px; + box-shadow: inset 0 0 .5em @ini_border; + padding: .7em 1em; +} + +blockquote { + padding: 0 .5em; + border: solid @ini_border; + border-width: 0 0 0 .25em; +} +[dir=rtl] blockquote { + border-width: 0 .25em 0 0; +} +q:before, +q:after { + content: ''; +} + +sub, +sup { + font-size: .8em; + line-height: 1; +} +sub { + vertical-align: sub; +} +sup { + vertical-align: super; +} + +small { + font-size: .8em; +} + +/*____________ forms ____________*/ + +/* for all of the form styles, style.ini colours are not used on purpose (except for fieldset border) */ + +form { + display: inline; + margin: 0; + padding: 0; +} +fieldset { + padding: .7em 1em 0; + padding: .7rem 1rem; /* for those browsers understanding :last-child */ + border: 1px solid @ini_text_alt; +} +fieldset > :last-child { + margin-bottom: 0; +} +legend { + margin: 0; + padding: 0 .1em; +} +label { + vertical-align: middle; + cursor: pointer; +} + +input, +textarea, +button, +select, +optgroup, +option, +keygen, +output, +meter, +progress { + font: inherit; + font-weight: normal; + color: #333; + background-color: #fff; + line-height: normal; + margin: 0; + vertical-align: middle; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +select { + max-width: 100%; +} +optgroup { + font-style: italic; + font-weight: bold; +} +option { + font-style: normal; + font-weight: normal; +} + +input, +textarea, +select, +keygen { + border: 1px solid #ccc; + box-shadow: inset 0 0 1px #eee; + border-radius: 2px; +} +input:active, +input:focus, +textarea:active, +textarea:focus, +select:active, +select:focus, +keygen:active, +keygen:focus { + border-color: #999; +} +input[type=radio], +input[type=checkbox], +input[type=image] { + padding: 0; + border-style: none; + box-shadow: none; +} + +/* all types of buttons */ +input[type=submit], +input[type=button], +input[type=reset], +input.button, +a.button, +button, +.qq-upload-button { + color: #333; + background-color: #eee; + background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxIDEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPgo8bGluZWFyR3JhZGllbnQgaWQ9Imc4MjQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCUiIHkxPSIwJSIgeDI9IjAlIiB5Mj0iMTAwJSI+CjxzdG9wIHN0b3AtY29sb3I9IiNGRkZGRkYiIG9mZnNldD0iMCIvPjxzdG9wIHN0b3AtY29sb3I9IiNGNEY0RjQiIG9mZnNldD0iMC4zIi8+PHN0b3Agc3RvcC1jb2xvcj0iI0VFRUVFRSIgb2Zmc2V0PSIwLjk5Ii8+PHN0b3Agc3RvcC1jb2xvcj0iI0NDQ0NDQyIgb2Zmc2V0PSIuOTkiLz4KPC9saW5lYXJHcmFkaWVudD4KPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNnODI0KSIgLz4KPC9zdmc+); + .linear-gradient("top, #ffffff 0%, #f4f4f4 30%, #eeeeee 99%, #cccccc 99%"); + border: 1px solid #ccc; + border-radius: 2px; + padding: .1em .5em; + cursor: pointer; +} +#IE7 input.button, +#IE7 button { + line-height: 1.4; + overflow: visible; +} + +input[type=submit]:hover, +input[type=submit]:active, +input[type=submit]:focus, +input[type=button]:hover, +input[type=button]:active, +input[type=button]:hover, +input[type=reset]:hover, +input[type=reset]:active, +input[type=reset]:hover, +input.button:hover, +input.button:active, +input.button:focus, +a.button:hover, +a.button:active, +a.button:focus, +button:hover, +button:active, +button:focus, +.qq-upload-button:hover { + border-color: #999; + background-color: #ddd; + background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxIDEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPgo8bGluZWFyR3JhZGllbnQgaWQ9Imc2NzAiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCUiIHkxPSIwJSIgeDI9IjAlIiB5Mj0iMTAwJSI+CjxzdG9wIHN0b3AtY29sb3I9IiNGRkZGRkYiIG9mZnNldD0iMCIvPjxzdG9wIHN0b3AtY29sb3I9IiNGNEY0RjQiIG9mZnNldD0iMC4zIi8+PHN0b3Agc3RvcC1jb2xvcj0iI0RERERERCIgb2Zmc2V0PSIwLjk5Ii8+PHN0b3Agc3RvcC1jb2xvcj0iI0JCQkJCQiIgb2Zmc2V0PSIuOTkiLz4KPC9saW5lYXJHcmFkaWVudD4KPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNnNjcwKSIgLz4KPC9zdmc+); + .linear-gradient("top, #ffffff 0%, #f4f4f4 30%, #dddddd 99%, #bbbbbb 99%"); +} + +input::-moz-focus-inner, +button::-moz-focus-inner { + border: 0; + padding: 0; +} + +input[disabled], +button[disabled], +select[disabled], +textarea[disabled], +input[readonly], +button[readonly], +select[readonly], +textarea[readonly] { + cursor: auto; + opacity: .5; + background-color: #eee; +} diff --git a/css/content.less b/css/content.less new file mode 100755 index 0000000..523fd32 --- /dev/null +++ b/css/content.less @@ -0,0 +1,399 @@ +/** + * codologic css + * + * @link http://codologic.com + * + * Author: Avinash D'Silva + * + * Previous Authors: + * @author Anika Henke + * @author Clarence Lee + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + */ + +/*____________ section indenting ____________ + +.dokuwiki .page h1 {margin-left: 0;} +.dokuwiki .page h2 {margin-left: .666em;} +.dokuwiki .page h3 {margin-left: 1.776em;} +.dokuwiki .page h4 {margin-left: 3em;} +.dokuwiki .page h5 {margin-left: 4.5712em;} +.dokuwiki .page div.level1 {margin-left: 0;} +.dokuwiki .page div.level2 {margin-left: 1em;} +.dokuwiki .page div.level3 {margin-left: 2em;} +.dokuwiki .page div.level4 {margin-left: 3em;} +.dokuwiki .page div.level5 {margin-left: 4em;} + +[dir=rtl] .dokuwiki .page h1 {margin-left: 0; margin-right: 0;} +[dir=rtl] .dokuwiki .page h2 {margin-left: 0; margin-right: .666em;} +[dir=rtl] .dokuwiki .page h3 {margin-left: 0; margin-right: 1.776em;} +[dir=rtl] .dokuwiki .page h4 {margin-left: 0; margin-right: 3em;} +[dir=rtl] .dokuwiki .page h5 {margin-left: 0; margin-right: 4.5712em;} +[dir=rtl] .dokuwiki .page div.level1 {margin-left: 0; margin-right: 0;} +[dir=rtl] .dokuwiki .page div.level2 {margin-left: 0; margin-right: 1em;} +[dir=rtl] .dokuwiki .page div.level3 {margin-left: 0; margin-right: 2em;} +[dir=rtl] .dokuwiki .page div.level4 {margin-left: 0; margin-right: 3em;} +[dir=rtl] .dokuwiki .page div.level5 {margin-left: 0; margin-right: 4em;} +*/ +/* hx margin-left = (1 / font-size) * .levelx-margin */ + +/*____________ links to wiki pages (addition to _links) ____________*/ + +/* existing wikipage */ +.dokuwiki a.wikilink1 { + color: #2b73b7; + background-color: inherit; +} + +/* not existing wikipage */ +.dokuwiki a.wikilink2 { + color: @ini_missing; + background-color: inherit; +} + +/*____________ images ____________*/ + +/* embedded images (styles are already partly set in lib/styles/all.css) */ +.dokuwiki img.media { + margin: .2em 0; +} + +.dokuwiki img.medialeft { + margin: .2em 1em .2em 0; +} + +.dokuwiki img.mediaright { + margin: .2em 0 .2em 1em; +} + +.dokuwiki img.mediacenter { + margin: .2em auto; +} + +/*____________ lists ____________*/ + +#dokuwiki__content ul li, +#dokuwiki__aside ul li { + color: @ini_text_alt; +} + +#dokuwiki__content ol li, +#dokuwiki__aside ol li { + color: @ini_text_neu; +} + +#dokuwiki__content li .li, +#dokuwiki__aside li .li { + color: @ini_text; +} + +/*____________ tables ____________*/ + +/* div around each table */ +.dokuwiki div.table { + overflow-x: auto; + margin-bottom: 1.4em; +} + +.dokuwiki div.table table { + margin-bottom: 0; +} + +.dokuwiki table.inline { + min-width: 50%; +} + +.dokuwiki table.inline tr:hover td { + background-color: @ini_background_alt; +} + +.dokuwiki table.inline tr:hover th { + background-color: @ini_border; +} + +/*____________ code ____________*/ + +/* fix if background-color hides underlining */ +.dokuwiki em.u code { + text-decoration: underline; +} + +/* filenames for downloadable file and code blocks */ +.dokuwiki dl.code, +.dokuwiki dl.file { + dt { + background-color: @ini_background_site; + .linear-gradient(~"top, @{ini_background_alt} 0%, @{ini_background_site} 100%"); + color: inherit; + border: 1px solid @ini_border; + border-bottom-color: @ini_background_site; + border-top-left-radius: .3em; + border-top-right-radius: .3em; + padding: .3em .6em .1em; + margin-bottom: -1px; + float: left; + + a { + background-color: transparent; + font-size: 0.875em; + font-weight: normal; + display: block; + min-height: 16px; + } + } + + dd { + margin: 0; + clear: left; + min-height: 1px; /* for IE7 */ + } + + pre { + box-shadow: inset -4px -4px .5em -.3em @ini_border; + } +} + +[dir=rtl] .dokuwiki dl.code, +[dir=rtl] .dokuwiki dl.file { + dt { + float: right; + } + + dd { + clear: right; + } +} + +/* for code in */ +.dokuwiki dl.file { + pre, + dt { + border-style: dashed; + } + dt { + border-bottom-style: solid; + } +} + +/*____________ JS popup ____________*/ + +.JSpopup { + background-color: @ini_background; + color: @ini_text; + border: 1px solid @ini_border; + box-shadow: .1em .1em .1em @ini_border; + border-radius: 2px; + padding: .3em .5em; + font-size: .9em; +} + +.dokuwiki form.search div.ajax_qsearch { + top: -.35em; + font-size: 1em; + text-overflow: ellipsis; +} + +.JSpopup ul, +.JSpopup ol { + padding-left: 0; +} + +[dir=rtl] .JSpopup ul, +[dir=rtl] .JSpopup ol { + padding-right: 0; +} + +/* changes to underscored CSS files +********************************************************************/ + +#acl__tree li { + margin: 0; +} + +#dokuwiki__content span.curid a { + font-weight: normal; +} + +#dokuwiki__content strong span.curid a { + font-weight: bold; +} + +/*____________ changes to _edit ____________*/ + +.dokuwiki div.toolbar { + button.toolbutton { + border-radius: 0; + border-left-width: 0; + padding: .1em .35em; + } + + button.toolbutton:first-child { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + border-left-width: 1px; + } + + button.toolbutton:last-child { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + } +} + +[dir=rtl] .dokuwiki div.toolbar { + button.toolbutton:last-child { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-left-width: 1px; + } + + button.toolbutton:first-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + border-left-width: 0; + border-right-width: 1px; + } +} + +.dokuwiki div.section_highlight { + margin: 0 -2em; + padding: 0 1em; + border-width: 0 1em; +} + +.dokuwiki textarea.edit { + font-family: Consolas, "Andale Mono WT", "Andale Mono", "Bitstream Vera Sans Mono", "Nimbus Mono L", Monaco, "Courier New", monospace; +} + +.dokuwiki div.preview { + margin: 0 -2em; + padding: 0 2em; +} + +.dokuwiki.hasSidebar div.preview { + border-right: @ini_sidebar_width solid @ini_background_alt; +} + +[dir=rtl] .dokuwiki.hasSidebar div.preview { + border-right-width: 0; + border-left: @ini_sidebar_width solid @ini_background_alt; +} + +.dokuwiki div.preview div.pad { + padding: 1.556em 0 2em; +} + +/*____________ changes to _toc ____________*/ + +#dw__toc { + margin: -1.556em -2em .5em 1.4em; + width: @ini_sidebar_width; + border-left: 1px solid @ini_border; + background: @ini_background; + color: inherit; +} + +[dir=rtl] #dw__toc { + margin: -1.556em 1.4em .5em -2em; + border-left-width: 0; + border-right: 1px solid @ini_border; +} + +.dokuwiki h3.toggle { + padding: .5em 1em; + margin-bottom: 0; + font-size: .875em; + letter-spacing: .1em; +} + +#dokuwiki__aside h3.toggle { + display: none; +} + +.dokuwiki .toggle strong { + background: transparent url(images/toc-arrows.png) 0 0; + width: 8px; + height: 5px; + margin: .4em 0 0; +} + +.dokuwiki .toggle.closed strong { + background-position: 0 -5px; +} + +.dokuwiki .toggle strong span { + display: none; +} + +#dw__toc { + > div { + font-size: 0.875em; + padding: .5em 1em 1em; + } + + ul { + padding: 0 0 0 1.2em; + + li { + list-style-image: url(images/toc-bullet.png); + } + } + + ul li.clear { + list-style: none; + } + + ul li div.li { + padding: .2em 0; + } +} + +[dir=rtl] #dw__toc ul { + padding: 0 1.5em 0 0; +} + +/*____________ changes to _imgdetail ____________*/ + +#dokuwiki__detail { + padding: 0; + + img { + float: none; + margin-bottom: 1.4em; + } + + div.img_detail { + float: none; + } + + div.img_detail dl { + overflow: hidden; + } + + div.img_detail dl dt { + float: left; + width: 9em; + text-align: right; + clear: left; + } + + div.img_detail dl dd { + margin-left: 9.5em; + } +} + +[dir=rtl] #dokuwiki__detail div.img_detail { + dl dt { + float: right; + text-align: left; + clear: right; + } + + dl dd { + margin-left: 0; + margin-right: 9.5em; + } +} diff --git a/css/design.less b/css/design.less new file mode 100755 index 0000000..a6de304 --- /dev/null +++ b/css/design.less @@ -0,0 +1,571 @@ +/** + * codologic CSS + * + * @link http://codologic.com + * + * Author: Avinash D'Silva + * + * Previous Authors: + * @author Anika Henke + * @author Clarence Lee + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + */ + + +#dokuwiki__header { + padding: 2em 0 1.5em; + + .headings, + .tools { + margin-bottom: 1.5em; + width: 49%; + } + .tools { + margin-top: .2em; + } + + h1 { + margin: 0; + font-size: 1.5em; + font-weight: normal; + + img { + float: left; + margin-right: .5em; + } + + span { + display: block; + padding-top: 10px; + } + + a { + text-decoration: none; + color: @ini_text; + background-color: inherit; + } + } + + p.claim { + margin-bottom: 0; + font-size: 0.875em; + } +} + +[dir=rtl] #dokuwiki__header h1 img { + float: right; + margin-left: .5em; + margin-right: 0; +} + +/* tools +********************************************************************/ + +/* highlight selected tool */ +.mode_admin a.action.admin, +.mode_login a.action.login, +.mode_register a.action.register, +.mode_profile a.action.profile, +.mode_recent a.action.recent, +.mode_index a.action.index, +.mode_media a.action.media, +.mode_revisions a.action.revs, +.mode_backlink a.action.backlink, +.mode_subscribe a.action.subscribe { + font-weight: bold; +} + +#dokuwiki__header .tools { + ul { + padding-left: 0; + margin-bottom: 0; + } + + li { + font-size: 0.875em; + margin-left: 1em; + list-style: none; + display: inline; + } + + form.search div.ajax_qsearch li { + font-size: 1em; + margin-left: 0; + display: block; + overflow: hidden; + + text-overflow: ellipsis; + } +} + +[dir=rtl] #dokuwiki__header .tools li { + margin-right: 1em; + margin-left: 0; +} + +#dokuwiki__usertools a.action { + padding-left: 20px; + background: transparent url(images/usertools.png) no-repeat 0 0; +} + +[dir=rtl] #dokuwiki__usertools a.action { + padding-left: 0; + padding-right: 20px; +} + +[dir=rtl] #IE7 #dokuwiki__usertools a.action { + display: inline-block; +} + +#dokuwiki__header .mobileTools { + display: none; /* hide mobile tools dropdown to only show in mobile view */ +} + +/*____________ user tools ____________*/ + +#dokuwiki__usertools { + position: absolute; + top: .5em; + right: .5em; + text-align: right; + width: 100%; + + ul { + margin: 0 auto; + padding: 0; + max-width: @ini_site_width; + } + + a.action.admin { + background-position: left 0; + } + + a.action.profile { + background-position: left -32px; + } + + a.action.register { + background-position: left -64px; + } + + a.action.login { + background-position: left -96px; + } + + a.action.logout { + background-position: left -128px; + } +} + +[dir=rtl] #dokuwiki__usertools { + text-align: left; + left: 40px; + right: auto; + + a.action.admin { + background-position: right 0; + } + + a.action.profile { + background-position: right -32px; + } + + a.action.register { + background-position: right -64px; + } + + a.action.login { + background-position: right -96px; + } + + a.action.logout { + background-position: right -128px; + } +} + +/*____________ site tools ____________*/ + +#dokuwiki__sitetools { + text-align: center; + + form.search { + display: block; + font-size: 0.875em; + position: relative; + + input.edit { + width: 19em; + border-radius:12px; + outline:none; + + padding: .35em 22px .35em .1em; + padding-left:5px; + } + + .ajax_qsearch{ + display:none; + position:static; + margin-top:12px; + background: #FFFFFF; + ul{ + text-align:right; + + a{color:#2b73b7;} + } + } + + input.button { + background: transparent url(images/search.png) no-repeat 0 0; + border-width: 0; + width: 19px; + height: 14px; + text-indent: -99999px; + margin-left: -20px; + box-shadow: none; + padding: 0; + } + } + + ul { + margin-top: 0.5em; + } + +} + +[dir=rtl] #dokuwiki__sitetools { + text-align: left; + + form.search { + input.edit { + padding: .35em .1em .35em 22px; + } + + + + input.button { + background-position: 5px 0; + margin-left: 0; + margin-right: -20px; + position: relative; + } + } +} + +#IE7 #dokuwiki__sitetools form.search { + min-height: 1px; + z-index: 21; +} + +/*____________codo wiki ______________*/ + +@pad_side:4px; + +.codowiki_west{ + +background:#343131 !important; +} + +.codo_active{ + + + background:#FFF; + color:black !important; + font-weight:bold; + + +} + +.codo_side_content{ + + + ul{ + padding:0px; + + } + + + li{ + + + + a{ + display:block; + color:#b3b3b3;s + } + + a:hover{ + text-decoration:none; + background:#4e4a4a; + } + + + margin:0; + + + } + +} + + +.codowiki_west_header{ + +background-color: #2980B9; +text-align: center; +color: #FCFCFC; + +a{ + +color:#FCFCFC; +text-decoration:none !important; + +} + + + +h1{ +font-size:12pt; + +margin: 20px 0px 20px 0px; + + span{ + position: relative; + top: 1px; + } + +} + +} + +#codowiki_search_ul{ + + text-align:center; + padding: 0 0 0 0; + padding-bottom:5px; + + ul { + margin-top: 0; + + } + + li{ + font-size:10px; + display:inline; + list-style:none; + margin:0 0 0 0; + margin-right:6px; + } + +} + +/*remove the padding from the plugin +refer:http://stackoverflow.com/questions/3293771/how-to-get-rid-of-margins-in-jquery-layout +*/ +.ui-layout-pane { + padding: 0px !important; +} + + +/*____________ breadcrumbs ____________*/ + +.dokuwiki div.breadcrumbs { + border-top: 1px solid @ini_border; + border-bottom: 1px solid @ini_background; + margin-bottom: .5em; + font-size: 0.875em; + clear: both; + + div { + padding: .1em .35em; + } + + div:only-child { + border-top: 1px solid @ini_background; + border-bottom: 1px solid @ini_border; + } + + div:first-child { + border-top: 1px solid @ini_background; + } + + div:last-child { + border-bottom: 1px solid @ini_border; + } + + a { + color: @ini_link; + background-color: inherit; + } + + .bcsep { + font-size: 0.75em; + } +} + +#IE7 .dokuwiki div.breadcrumbs div, +#IE8 .dokuwiki div.breadcrumbs div { + border-bottom: 1px solid @ini_border; +} + +/* sidebar +********************************************************************/ + +#dokuwiki__aside { + + > .pad { + font-size: 0.875em; + overflow: hidden; + word-wrap: break-word; + } + + /* make sidebar more condensed */ + + h1 { + font-size: 1.714em; + margin-bottom: .292em; + } + + h2 { + margin-bottom: .333em; + } + + h3 { + margin-bottom: .444em; + } + + h4 { + margin-bottom: .5em; + } + + h5 { + margin-bottom: .5714em; + } + + p, + ul, + ol, + dl, + pre, + table, + fieldset, + hr, + blockquote, + address { + margin-bottom: .7em; + } + + ul, + ol { + padding-left: .5em; + } + + li ul, + li ol { + margin-bottom: 0; + padding: 0; + } + + a:link, + a:visited { + color: @ini_link; + background-color: inherit; + } +} + +[dir=rtl] #dokuwiki__aside ul, +[dir=rtl] #dokuwiki__aside ol { + padding-right: .5em; +} + +/* content +********************************************************************/ + +.dokuwiki .pageId { + position: absolute; + top: -2.3em; + right: -1em; + overflow: hidden; + padding: 1em 1em 0; + + span { + font-size: 0.875em; + border: solid @ini_background_alt; + border-width: 1px 1px 0; + background-color: @ini_background; + color: @ini_text_alt; + padding: .1em .35em; + border-top-left-radius: 2px; + border-top-right-radius: 2px; + box-shadow: 0 0 .5em @ini_text_alt; + display: block; + } +} + +.dokuwiki div.page { + background: @ini_background; + color: inherit; + /*border: 1px solid @ini_background_alt; + box-shadow: 0 0 .5em @ini_text_alt; + border-radius: 2px;*/ + padding: 1.556em 2em 2em; + margin-bottom: .5em; + overflow: hidden; + word-wrap: break-word; +} + +.dokuwiki .docInfo { + font-size: 0.875em; + text-align: right; +} + +/* license note under edit window */ +.dokuwiki div.license { + font-size: 93.75%; +} + +[dir=rtl] .dokuwiki .docInfo { + text-align: left; +} + +[dir=rtl] .dokuwiki .pageId { + right: auto; + left: -1em; +} + +/* footer +********************************************************************/ + +.dokuwiki .wrapper { + margin-bottom: 1.4em; +} + +#dokuwiki__footer { + /* margin-bottom: 1em;*/ + text-align: center; + + > .pad { + font-size: 0.875em; + padding-top:4px; + } + + div.license { + margin-bottom: 0.5em; + font-size: 100%; + } + + div.buttons a { + img { + opacity: 0.5; + } + + &:hover img, + &:active img, + &:focus img { + opacity: 1; + } + } + +} + +[dir=rtl] #dokuwiki__footer .license img { + margin: 0 0 0 .5em; +} diff --git a/css/mixins.less b/css/mixins.less new file mode 100755 index 0000000..a88767e --- /dev/null +++ b/css/mixins.less @@ -0,0 +1,10 @@ +/** + * linear gradient x-browser support + */ +.linear-gradient(@declaration: 0) { + background: -moz-linear-gradient( @declaration); + background: -webkit-linear-gradient(@declaration); + background: -o-linear-gradient( @declaration); + background: -ms-linear-gradient( @declaration); + background: linear-gradient( @declaration); +} \ No newline at end of file diff --git a/css/mobile.less b/css/mobile.less new file mode 100755 index 0000000..289f5af --- /dev/null +++ b/css/mobile.less @@ -0,0 +1,294 @@ +/** + * This file provides styles for mobile devices + * and smaller screens (up to 480px and 768px width). + * + * @author Anika Henke + */ + +/* for detecting media queries in JavaScript (see script.js): */ +#screen__mode { + position: relative; + z-index: 0; +} + +/* for screen widths in the tablet range +********************************************************************/ +@media only screen and (max-width: @ini_tablet_width) { + +#screen__mode { + z-index: 1; /* for detecting media queries in JavaScript (see script.js) */ +} + +/* structure */ +#dokuwiki__aside { + width: 100%; + float: none; +} + +#dokuwiki__aside > .pad, +[dir=rtl] #dokuwiki__aside > .pad { + margin: 0 0 .5em; + /* style like .page */ + background: @ini_background; + color: inherit; + border: 1px solid #eee; + box-shadow: 0 0 .5em @ini_text_alt; + border-radius: 2px; + padding: 1em; + margin-bottom: .5em; +} + +#dokuwiki__aside h3.toggle { + font-size: 1em; + + &.closed { + margin-bottom: 0; + padding-bottom: 0; + } + &.open { + border-bottom: 1px solid @ini_border; + } +} + +.showSidebar #dokuwiki__content { + float: none; + margin-left: 0; + width: 100%; + + > .pad { + margin-left: 0; + } +} + +[dir=rtl] .showSidebar #dokuwiki__content, +[dir=rtl] .showSidebar #dokuwiki__content > .pad { + margin-right: 0; +} + +/* toc */ +#dw__toc { + float: none; + margin: 0 0 1em 0; + width: auto; + border-left-width: 0; + border-bottom: 1px solid @ini_border; +} +[dir=rtl] #dw__toc { + float: none; + margin: 0 0 1em 0; + border-right-width: 0; +} + +.dokuwiki h3.toggle { + padding: 0 .5em .5em 0; +} +#dw__toc > div, +#dokuwiki__aside div.content { + padding: .2em 0 .5em; +} + +/* page */ +.dokuwiki div.page { + padding: 1em; +} +/* enable horizontal scrolling in media manager */ +.mode_media div.page { + overflow: auto; +} + +/* _edit */ +.dokuwiki div.section_highlight { + margin: 0 -1em; + padding: 0 .5em; + border-width: 0 .5em; +} +.dokuwiki div.preview { + margin: 0 -1em; + padding: 1em; +} + +/* _recent */ +.dokuwiki form.changes ul { + padding-left: 0; +} +[dir=rtl] .dokuwiki form.changes ul { + padding-right: 0; +} + + +} /* /@media */ + + +/* for screen widths in the smartphone range +********************************************************************/ +@media only screen and (max-width: @ini_phone_width) { + +#screen__mode { + z-index: 2; /* for detecting media queries in JavaScript (see script.js) */ +} + +body { + font-size: 100%; +} + +/*____________ structure ____________*/ + +#dokuwiki__site { + max-width: 100%; + + > .site { + padding: 0 .5em; + } +} +#dokuwiki__header { + padding: .5em 0; +} + + +/*____________ header ____________*/ + +#dokuwiki__header ul.a11y.skip { + position: static !important; + left: 0 !important; + width: auto !important; + height: auto !important; + float: right; + font-size: 0.875em; + list-style: none; + padding-left: 0; + margin: 0; + + li { + margin-left: .35em; + display: inline; + } +} +[dir=rtl] #dokuwiki__header ul.a11y.skip { + left: auto !important; + right: 0 !important; + float: left; + padding-right: 0; + + li { + margin: 0 .35em 0 0; + } +} + +#dokuwiki__header .headings, +#dokuwiki__header .tools { + float: none; + text-align: left; + width: auto; + margin-bottom: .5em; +} +[dir=rtl] #dokuwiki__header .headings, +[dir=rtl] #dokuwiki__header .tools { + float: none; + text-align: right; + width: auto; +} +#dokuwiki__sitetools { + text-align: left; +} +[dir=rtl] #dokuwiki__sitetools { + text-align: right; +} +#dokuwiki__usertools, +#dokuwiki__sitetools ul, +#dokuwiki__sitetools h3, +#dokuwiki__pagetools, +.dokuwiki div.breadcrumbs, /* @todo: maybe move breadcrumbs to the bottom? */ +.dokuwiki .pageId { + display: none; +} + +/* search form */ +#dokuwiki__sitetools form.search { + float: left; + margin: 0 .2em .2em 0; + width: 49%; +} +[dir=rtl] #dokuwiki__sitetools form.search { + float: right; + margin: 0 0 .2em .2em; +} + +#dokuwiki__sitetools form.search input.edit { + width: 100% !important; +} +.dokuwiki form.search div.ajax_qsearch { + display: none !important; +} + +/* action dropdown is alternative for all hidden tools */ +#dokuwiki__header .mobileTools { + display: block; + font-size: 0.875em; + margin: 0 0 .2em 0; + float: right; + width: 49%; +} +[dir=rtl] #dokuwiki__header .mobileTools { + float: left; +} +#dokuwiki__header .mobileTools select { + padding: .3em .1em; + width: 100% !important; +} + +/* force same height on search input and tools select */ +#dokuwiki__sitetools form.search input.edit, +#dokuwiki__header .mobileTools select { + height: 2.1em; + line-height: 2.1em; + overflow: visible; +} + + +/*____________ content ____________*/ + +#dokuwiki__aside > .pad, +.dokuwiki div.page { + padding: .5em; +} + +/* form elements */ +#config__manager fieldset td.value, +#config__manager td .input, +.dokuwiki fieldset, +.dokuwiki input.edit, +.dokuwiki textarea, +.dokuwiki select { + width: auto !important; + max-width: 100% !important; +} +#config__manager fieldset { + margin-left: 0; + margin-right: 0; +} + +.dokuwiki label.block { + text-align: left; + + span { + display: block; + } +} +[dir=rtl] .dokuwiki label.block { + text-align: right; +} + +/* _edit */ +.dokuwiki div.section_highlight { + margin: 0; + padding: 0; + border-width: 0; +} +.dokuwiki div.preview { + margin: 0 -.5em; + padding: .5em; +} + + + +} /* /@media */ diff --git a/css/pagetools.less b/css/pagetools.less new file mode 100755 index 0000000..ecb3038 --- /dev/null +++ b/css/pagetools.less @@ -0,0 +1,233 @@ +/** + * This file provides the styles for the page tools + * (fly out navigation beside the page to edit, etc). + * + * @author Anika Henke + * @author Andreas Gohr + */ + +#dokuwiki__site > .site { + /* give space to the right so the tools won't disappear on smaller screens */ + /* it's 40px because the 30px wide icons will have 5px more spacing to the left and right */ + padding-right: 40px; + /* give the same space to the left to balance it out */ + padding-left: 40px; +} +.dokuwiki div.page { + height: 190px; + min-height: 190px; /* 30 (= height of icons) x 6 (= maximum number of possible tools) + 2x5 */ + height: auto; +} +#dokuwiki__usertools { + /* move the tools just outside of the site */ + right: 40px; +} +[dir=rtl] #dokuwiki__usertools { + right: auto; + left: 40px; +} + + +#dokuwiki__pagetools { + position: absolute; + right: -40px; + /* on same vertical level as first headline, because .page has 2em padding */ + top: 2em; + width: 40px; +} +[dir=rtl] #dokuwiki__pagetools { + right: auto; + left: -40px; +} + +#dokuwiki__pagetools div.tools { + position: fixed; + width: 40px; +} + +#dokuwiki__pagetools ul { + position: absolute; + right: 0; + text-align: right; + margin: 0; + padding: 0; + /* add transparent border to prevent jumping when proper border is added on hover */ + border: 1px solid transparent; + z-index: 10; +} +[dir=rtl] #dokuwiki__pagetools ul { + right: auto; + left: 0; + text-align: left; +} + +#dokuwiki__pagetools ul li { + padding: 0; + margin: 0; + list-style: none; + font-size: 0.875em; +} + +#dokuwiki__pagetools ul li a { + display: block; + min-height: 20px; /* 30 - 2x5 */ + line-height: 20px; + padding: 0; + background-position: right 0; + background-repeat: no-repeat; + /* add transparent border to prevent jumping when proper border is added on focus */ + border: 1px solid transparent; + white-space: nowrap; + width: 30px; + height: 30px; + overflow: hidden; + margin-left: auto; /* align right if the ul is larger because one item is focused */ +} + +#dokuwiki__pagetools ul li a:before { + content: url(images/pagetools-sprite.png?v=2); + display: inline-block; + font-size: 0; + line-height: 0; +} + +[dir=rtl] #dokuwiki__pagetools ul li a { + background-position: left 0; + margin-right: auto; + margin-left: 0; +} + +/* show all tools on hover and individual tools on focus */ +#dokuwiki__pagetools:hover ul, +#dokuwiki__pagetools ul li a:focus, +#dokuwiki__pagetools ul li a:active { + background-color: @ini_background; + border-color: @ini_border; + border-radius: 2px; + box-shadow: 2px 2px 2px @ini_text_alt; +} + +#dokuwiki__pagetools:hover ul li a, +#dokuwiki__pagetools ul li a:focus, +#dokuwiki__pagetools ul li a:active { + width: auto; + height: auto; + overflow: visible; + padding: 5px 40px 5px 5px; + background-image: url(images/pagetools-sprite.png?v=2); +} + +#dokuwiki__pagetools:hover ul li a:before, +#dokuwiki__pagetools ul li a:focus:before { + content: none; +} + +[dir=rtl] #dokuwiki__pagetools:hover ul, +[dir=rtl] #dokuwiki__pagetools ul li a:focus { + box-shadow: -2px 2px 2px @ini_text_alt; +} + +[dir=rtl] #dokuwiki__pagetools:hover li a, +[dir=rtl] #dokuwiki__pagetools ul li a:focus, +[dir=rtl] #dokuwiki__pagetools ul li a:active { + padding: 5px 5px 5px 40px; +} + +/* IE7 fixes, doesn't work without images */ + +#IE7 #dokuwiki__pagetools ul li a { + background-image: url(images/pagetools-sprite.png?v=2); +} + +#IE7 #dokuwiki__pagetools:hover ul li a span, +#IE7 #dokuwiki__pagetools ul li a:focus span, +#IE7 #dokuwiki__pagetools ul li a:active span { + clip: auto; + display: inline; + position: static; +} + +#IE7 #dokuwiki__pagetools ul li a span { + clip: rect(0 0 0 0); + position: absolute; +} + +#dokuwiki__pagetools ul li a:hover, +#dokuwiki__pagetools ul li a:active, +#dokuwiki__pagetools ul li a:focus { + text-decoration: none; +} +#dokuwiki__pagetools ul li a:hover { + background-color: @ini_background_alt; +} + +/*____________ all available icons in sprite ____________*/ + +@pagetools_icon_space: -90px; + +/** + * page tools without highlighting + * + * @param string @action The action class + * @param int @position Position in the page tools sprite + */ +.pagetools-item(@action, @position) { + @position-active: (@position+0.5); + + #dokuwiki__pagetools ul li a.@{action} { + background-position: right @pagetools_icon_space * @position; + + &:before { + margin-top: @pagetools_icon_space * @position; + } + &:hover, + &:active, + &:focus { + background-position: right @pagetools_icon_space * @position-active; + } + } + [dir=rtl] #dokuwiki__pagetools ul li a.@{action} { + background-position: left @pagetools_icon_space * @position; + + &:hover, + &:active, + &:focus { + background-position: left @pagetools_icon_space * @position-active; + } + } +} + +/** + * page tools with highlighting + * + * @param string @action The action class + * @param int @position Position in the page tools sprite + * @param string @mode The mode in which this tool should be highlighted + */ +.pagetools-item(@action, @position, @mode) { + .pagetools-item(@action, @position); + @position-active: (@position+0.5); + + .mode_@{mode} #dokuwiki__pagetools ul li a.@{action} { + background-position: right @pagetools_icon_space * @position-active; + &:before { + margin-top: @pagetools_icon_space * @position-active; + } + } + [dir=rtl] .mode_@{mode} #dokuwiki__pagetools ul li a.@{action} { + background-position: left @pagetools_icon_space * @position-active; + } +} + +.pagetools-item(edit, 1); +.pagetools-item(create, 2); +.pagetools-item(show, 4); +.pagetools-item(source, 5); +.pagetools-item(draft, 3); +.pagetools-item(revs, 7, revisions); +.pagetools-item(backlink, 8, backlink); +.pagetools-item(top, 10); +.pagetools-item(revert, 6, revert); +.pagetools-item(subscribe, 9, subscribe); +.pagetools-item(mediaManager, 11); +.pagetools-item(back, 12); diff --git a/css/print.css b/css/print.css new file mode 100755 index 0000000..86e686b --- /dev/null +++ b/css/print.css @@ -0,0 +1,174 @@ +/** + * This file provides the styles for printing. + * + * @todo: improve and finish + */ + +body { + font: normal 87.5%/1.3 Garamond, Baskerville, "Hoefler Text", "Nimbus Roman No9 L", serif; + background-color: #fff; + color: #000; +} + +/* hide certain sections */ +.a11y, +audio, +video, +#dokuwiki__header .tools, +#dokuwiki__aside, +.dokuwiki .breadcrumbs, +.dokuwiki .pageId, +#dw__toc, +h3.toggle, +#dokuwiki__pagetools, +#dokuwiki__footer { + display: none; +} + +h1, +h2, +h3, +h4, +h5, +caption, +legend { + clear: both; +} +ul { + list-style: disc outside; +} +ol { + list-style: decimal outside; +} +ol ol { + list-style-type: lower-alpha; +} +ol ol ol { + list-style-type: upper-roman; +} +ol ol ol ol { + list-style-type: upper-alpha; +} +ol ol ol ol ol { + list-style-type: lower-roman; +} + +a:link, +a:visited { + text-decoration: none; + border-bottom: 1pt dotted; + color: #333; + background-color: inherit; +} + +/* display href after link */ +a.urlextern:after, +a.interwiki:after, +a.mail:after { + content: " [" attr(href) "]"; + font-size: 90%; +} + +/* code blocks */ +pre { + font-family: monospace; +} +dl.code dt, +dl.file dt { + font-weight: bold; +} + +mark { + font-weight: bold; +} + +/* images */ +img { + border-width: 0; + vertical-align: middle; +} +img.media { + margin: .2em 0; +} +img.medialeft { + margin: .2em 1em .2em 0; +} +img.mediaright { + margin: .2em 0 .2em 1em; +} +img.mediacenter { + margin: .2em auto; +} + +blockquote { + padding: 0 10pt; + margin: 0; + border: solid #ccc; + border-width: 0 0 0 2pt; +} +[dir=rtl] blockquote { + border-width: 0 2pt 0 0; +} + +/* tables */ +table { + border-collapse: collapse; + empty-cells: show; + border-spacing: 0; + border: 1pt solid #ccc; +} +th, +td { + padding: 3pt 5pt; + margin: 0; + vertical-align: top; + border: 1pt solid #666; +} +th { + font-weight: bold; + text-align: left; +} +[dir=rtl] th { + text-align: right; +} + + +/*____________ a bit of layout ____________*/ + +#dokuwiki__header { + border-bottom: 2pt solid #ccc; +} +#dokuwiki__header h1 { + font-size: 1.5em; +} +#dokuwiki__header h1 a { + text-decoration: none; + border-width: 0; +} +#dokuwiki__header h1 img { + float: left; + margin-right: .5em; +} +[dir=rtl] #dokuwiki__header h1 img { + float: right; + margin-right: 0; + margin-left: .5em; +} + +.dokuwiki div.footnotes { + clear: both; + border-top: 1pt dotted #999; + margin-top: 10pt; +} + +.dokuwiki div.docInfo { + font-size: 90%; + text-align: right; + clear: both; + padding-top: 2pt; + border-top: 1pt solid #999; + margin-top: 10pt; +} +[dir=rtl] .dokuwiki div.docInfo { + text-align: left; +} diff --git a/css/structure.less b/css/structure.less new file mode 100755 index 0000000..3ea2f83 --- /dev/null +++ b/css/structure.less @@ -0,0 +1,89 @@ +/** + * This file provides styles for the general layout structure. + * + * @author Anika Henke + */ +body { + margin: 0 auto; +} + +#dokuwiki__site { + margin: 0 auto; + max-width: @ini_site_width; +} + +#dokuwiki__site > .site { + padding: 0 .5em; +} + +#dokuwiki__header { + width: 100%; + + .headings { + float: left; + } + + .tools { + float: right; + text-align: right; + } +} + +[dir=rtl] #dokuwiki__header { + .headings { + float: right; + text-align: right; + } + + .tools { + float: left; + text-align: left; + } +} + +#dokuwiki__site .wrapper { + position: relative; +} + +#dokuwiki__aside { + width: @ini_sidebar_width; + float: left; + position: relative; + display: block; + + > .pad { + margin: 0 1.5em 0 0; + } +} + +[dir=rtl] #dokuwiki__aside { + float: right; + > .pad { + margin: 0 0 0 1.5em; + } +} + +.showSidebar #dokuwiki__content { + float: right; + margin-left: (-1 * @ini_sidebar_width); + width: 100%; + + > .pad { + margin-left: @ini_sidebar_width; + } +} + +[dir=rtl] .showSidebar #dokuwiki__content { + float: left; + margin-left: 0; + margin-right: (-1 * @ini_sidebar_width); + + > .pad { + margin-left: 0; + margin-right: @ini_sidebar_width; + } +} + +#dokuwiki__footer { + clear: both; +} diff --git a/css/ui.layout.css b/css/ui.layout.css new file mode 100644 index 0000000..ee57283 --- /dev/null +++ b/css/ui.layout.css @@ -0,0 +1,250 @@ +/* + * Default Layout Theme + * + * Created for jquery.layout + * + * Copyright (c) 2010 + * Fabrizio Balliano (http://www.fabrizioballiano.net) + * Kevin Dalman (http://allpro.net) + * + * Dual licensed under the GPL (http://www.gnu.org/licenses/gpl.html) + * and MIT (http://www.opensource.org/licenses/mit-license.php) licenses. + * + * Last Updated: 2010-02-10 + * NOTE: For best code readability, view this with a fixed-space font and tabs equal to 4-chars + */ + +/* + * DEFAULT FONT + * Just to make demo-pages look better - not actually relevant to Layout! + */ + +html, body { + + width: 100%; + height: 100%; + padding: 0; + margin: 0; + overflow: auto; /* when page gets too small */ + } + #container { + + height: 100%; + + width: 100%; + + min-width: 700px; + _width: 700px; /* min-width for IE6 */ + } + .pane { + display: none; /* will appear when layout inits */ + } + +body { + background: #fcfcfc; + font-family: 'Lato', sans-serif; + font-size: 100%; + *font-size: 80%; +} + + + +/* + * PANES & CONTENT-DIVs + */ +.ui-layout-pane { /* all 'panes' */ + background: #FFF; + border: 1px solid #BBB; + padding: 10px; + overflow: auto; + /* DO NOT add scrolling (or padding) to 'panes' that have a content-div, + otherwise you may get double-scrollbars - on the pane AND on the content-div + - use ui-layout-wrapper class if pane has a content-div + - use ui-layout-container if pane has an inner-layout + */ + } + /* (scrolling) content-div inside pane allows for fixed header(s) and/or footer(s) */ + .ui-layout-content { + padding: 10px; + position: relative; /* contain floated or positioned elements */ + overflow: auto; /* add scrolling to content-div */ + } + +/* + * UTILITY CLASSES + * Must come AFTER pane-class above so will override + * These classes are NOT auto-generated and are NOT used by Layout + */ +.layout-child-container, +.layout-content-container { + padding: 0; + overflow: hidden; +} +.layout-child-container { + border: 0; /* remove border because inner-layout-panes probably have borders */ +} +.layout-scroll { + overflow: auto; +} +.layout-hide { + display: none; +} + +/* + * RESIZER-BARS + */ +.ui-layout-resizer { /* all 'resizer-bars' */ + background: #DDD; + border: 1px solid #BBB; + border-width: 0; + } + .ui-layout-resizer-drag { /* REAL resizer while resize in progress */ + } + .ui-layout-resizer-hover { /* affects both open and closed states */ + } + /* NOTE: It looks best when 'hover' and 'dragging' are set to the same color, + otherwise color shifts while dragging when bar can't keep up with mouse */ + .ui-layout-resizer-open-hover , /* hover-color to 'resize' */ + .ui-layout-resizer-dragging { /* resizer beging 'dragging' */ + background: #C4E1A4; + } + .ui-layout-resizer-dragging { /* CLONED resizer being dragged */ + border: 1px solid #BBB; + } + .ui-layout-resizer-north-dragging, + .ui-layout-resizer-south-dragging { + border-width: 1px 0; + } + .ui-layout-resizer-west-dragging, + .ui-layout-resizer-east-dragging { + border-width: 0 1px; + } + /* NOTE: Add a 'dragging-limit' color to provide visual feedback when resizer hits min/max size limits */ + .ui-layout-resizer-dragging-limit { /* CLONED resizer at min or max size-limit */ + background: #E1A4A4; /* red */ + } + + .ui-layout-resizer-closed-hover { /* hover-color to 'slide open' */ + background: #EBD5AA; + } + .ui-layout-resizer-sliding { /* resizer when pane is 'slid open' */ + opacity: .10; /* show only a slight shadow */ + filter: alpha(opacity=10); + } + .ui-layout-resizer-sliding-hover { /* sliding resizer - hover */ + opacity: 1.00; /* on-hover, show the resizer-bar normally */ + filter: alpha(opacity=100); + } + /* sliding resizer - add 'outside-border' to resizer on-hover + * this sample illustrates how to target specific panes and states */ + .ui-layout-resizer-north-sliding-hover { border-bottom-width: 1px; } + .ui-layout-resizer-south-sliding-hover { border-top-width: 1px; } + .ui-layout-resizer-west-sliding-hover { border-right-width: 1px; } + .ui-layout-resizer-east-sliding-hover { border-left-width: 1px; } + +/* + * TOGGLER-BUTTONS + */ +.ui-layout-toggler { + border: 1px solid #BBB; /* match pane-border */ + background-color: #BBB; + } + .ui-layout-resizer-hover .ui-layout-toggler { + opacity: .60; + filter: alpha(opacity=60); + } + .ui-layout-toggler-hover , /* need when NOT resizable */ + .ui-layout-resizer-hover .ui-layout-toggler-hover { /* need specificity when IS resizable */ + background-color: #FC6; + opacity: 1.00; + filter: alpha(opacity=100); + } + .ui-layout-toggler-north , + .ui-layout-toggler-south { + border-width: 0 1px; /* left/right borders */ + } + .ui-layout-toggler-west , + .ui-layout-toggler-east { + border-width: 1px 0; /* top/bottom borders */ + } + /* hide the toggler-button when the pane is 'slid open' */ + .ui-layout-resizer-sliding .ui-layout-toggler { + display: none; + } + /* + * style the text we put INSIDE the togglers + */ + .ui-layout-toggler .content { + color: #666; + font-size: 12px; + font-weight: bold; + width: 100%; + padding-bottom: 0.35ex; /* to 'vertically center' text inside text-span */ + } + +/* + * PANE-MASKS + * these styles are hard-coded on mask elems, but are also + * included here as !important to ensure will overrides any generic styles + */ +.ui-layout-mask { + border: none !important; + padding: 0 !important; + margin: 0 !important; + overflow: hidden !important; + position: absolute !important; + opacity: 0 !important; + filter: Alpha(Opacity="0") !important; +} +.ui-layout-mask-inside-pane { /* masks always inside pane EXCEPT when pane is an iframe */ + top: 0 !important; + left: 0 !important; + width: 100% !important; + height: 100% !important; +} +div.ui-layout-mask {} /* standard mask for iframes */ +iframe.ui-layout-mask {} /* extra mask for objects/applets */ + +/* + * Default printing styles + */ +@media print { + /* + * Unless you want to print the layout as it appears onscreen, + * these html/body styles are needed to allow the content to 'flow' + */ + html { + height: auto !important; + overflow: visible !important; + } + body.ui-layout-container { + position: static !important; + top: auto !important; + bottom: auto !important; + left: auto !important; + right: auto !important; + /* only IE6 has container width & height set by Layout */ + _width: auto !important; + _height: auto !important; + } + .ui-layout-resizer, .ui-layout-toggler { + display: none !important; + } + /* + * Default pane print styles disables positioning, borders and backgrounds. + * You can modify these styles however it suit your needs. + */ + .ui-layout-pane { + border: none !important; + background: transparent !important; + position: relative !important; + top: auto !important; + bottom: auto !important; + left: auto !important; + right: auto !important; + width: auto !important; + height: auto !important; + overflow: visible !important; + } +} + diff --git a/detail.php b/detail.php new file mode 100755 index 0000000..46050ac --- /dev/null +++ b/detail.php @@ -0,0 +1,151 @@ + + * + * Previous Authors: + * @author Anika Henke + * @author Clarence Lee + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + */ + +// must be run from within DokuWiki +if (!defined('DOKU_INC')) die(); +header('X-UA-Compatible: IE=edge,chrome=1'); + +?> + + + + + <?php echo hsc(tpl_img_getTag('IPTC.Headline',$IMG))?> + [<?php echo strip_tags($conf['title'])?>] + + + + + + + + + + +
+ + + +
+ + +
+ + +
+ + +
+ + + + '.$ERROR.''; + else: ?> + +

+ + + +
+
+ $tag){ + $t = array(); + if (!empty($tag[0])) { + $t = array($tag[0]); + } + if(is_array($tag[3])) { + $t = array_merge($t,$tag[3]); + } + $value = tpl_img_getTag($t); + if ($value) { + echo '
'.$lang[$tag[1]].':
'; + if ($tag[2] == 'date') { + echo dformat($value); + } else { + echo hsc($value); + } + echo '
'; + } + } + ?> +
+
+ + +
+ + + + +
+ */ ?> + +
+ +
+ + + +
+

+
+
    + = AUTH_UPLOAD) && function_exists('media_managerURL')) { + $mmURL = media_managerURL(array('ns' => $imgNS, 'image' => $IMG)); + $data['items']['mediaManager'] = '
  • '.$lang['img_manager'].'
  • '; + } + + // Back to [ID]; @todo: transfer logic to backend + $data['items']['img_backto'] = '
  • '.$lang['img_backto'].' '.$ID.'
  • '; + + // the page tools can be amended through a custom plugin hook + $evt = new Doku_Event('TEMPLATE_PAGETOOLS_DISPLAY', $data); + if($evt->advise_before()){ + foreach($evt->data['items'] as $k => $html) echo $html; + } + $evt->advise_after(); + unset($data); + unset($evt); + ?> +
+
+
+ +
+ + +
+ + + + diff --git a/images/apple-touch-icon.png b/images/apple-touch-icon.png new file mode 100755 index 0000000000000000000000000000000000000000..fb5f108c06b9822b995e9658025456ddd41625a1 GIT binary patch literal 6399 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 literal 0 HcmV?d00001 diff --git a/images/button-donate.gif b/images/button-donate.gif new file mode 100755 index 0000000000000000000000000000000000000000..bba284e214e3ff94657be76a4b399291bc55768d GIT binary patch literal 187 zcmV;s07U;sNk%w1VNd`M0HFc^iH>>y|NmUfD`sY9EC2ui08juA0007%oR6u??GI0w zwAzca-n^S2gyKk+VF0A+%C_zcyTNDHH5%vo&dvj9698>Ep7GeD5huZ-Y_fu;icTqj zGPNdu#GuI8!ilF@vYDy^Z-*vkGd8}S_aHg~6{$8|%|_hJ_)H|Ur} pc(vE&C4_W|>(N06SCBTRH#$ literal 0 HcmV?d00001 diff --git a/images/button-dw.png b/images/button-dw.png new file mode 100755 index 0000000000000000000000000000000000000000..8d6aea898634683b381f03903c824449f9e22985 GIT binary patch literal 398 zcmV;90df9`P)IWd0001BP)t-se<}m3 ztVh_{V&&1=`kQw7;^EB9%(Nu}#^uh5+nx%c68re(sEl^z#IVX& zH|F)=ORGM?$h7$J%5H>>r?8-dmYrRBgG+06J6&p1Q&a!{|8{(4C0)l#0002#Nkl5tI7-PVBZ%DN=jaj!CGr<5Lpf9a5rrHQXKDg<5o+j1zRYzBl znUBZ5q$B;lf-wd%0yetn6*CcC!0SjDPIuFW0Hn2kztOWT5e1BQpv)Uk=1oKDW?%9! z45POMklQc-q5ggyzSw#OI2zvm!}C4W??C!E5goD}A2?+Zp`B1fAuWcO3GNlc)PCC0 sjeib8=1n;=VNG5A8lC5y2>5XR0koxs7960U)Bpeg07*qoM6N<$f@=J^;s5{u literal 0 HcmV?d00001 diff --git a/images/button-html5.png b/images/button-html5.png new file mode 100755 index 0000000000000000000000000000000000000000..5885a331bb0a14ad1bfa14e5770d69eaa70e8428 GIT binary patch literal 354 zcmV-o0iFJdP)IWd0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUyFi=cXMTe)zJ8Gk^!qys2k@orfUWc{m z?()vv>a4D?-rwHJ&eGcC?od!rW@cvp|Nn`OdC_(R-T(jq$Vo&&RCwB~lgSRlAPhvu z8(V_;|GzCQNtGUwRwWk5g2U5{2T*S=RKK;ZfbEakfXp7S^lkt&w3Ndf5ahw&3lW60 zt+nPk;37qhoQ0XVR4#2-=wtcl+i|Tu8??4`Ka(<`BdW$RFl~4#?a^39ed8_K=&UMD!+1O0#QjRtz|Cd z?itV5sC|;rxvoiPfg@Mf7p!3-o_#CPlkQak}ZA+Bj@Y5&t0{{R2q*;g6u z>$(gmp6u!37*cWT>ZF5Q2MjozZ(sla|G8mPi*I?v$4d(~PPc2a_~p7f@4=d*w=P&Z zBxIdn?zrX56gRCQu*zDoX=4S$c478W$RVGz1l%%KA&4A eeq+_eb=+35oGgbW&*}lKWAJqKb6Mw<&;$T={YE+f literal 0 HcmV?d00001 diff --git a/images/codo_logo.png b/images/codo_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d8dcf3bf51af42ce371f6fc264b1973ab4e70cca GIT binary patch literal 2541 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 iJ`Q5mVi?HThx`vlu)8`+smEvl0000 literal 0 HcmV?d00001 diff --git a/images/page-background.svg b/images/page-background.svg new file mode 100755 index 0000000..086341d --- /dev/null +++ b/images/page-background.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/images/page-gradient.png b/images/page-gradient.png new file mode 100755 index 0000000000000000000000000000000000000000..8e16a28052af469ecf10b0d513f4dc814e94a61d GIT binary patch literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^j6ht>!3HEF|7SRZ1d4;)ofy`glX(f`uqAoByDpwJ9Y7sn8d z^KVZm`Z))RxL&ONR{MAVLe9+B3J0$!&R}3xIB3w*C&Rwc5JY{QZrJ-sqz9M)R)(`xUy?_1ryk-BVFv*Yg{Y)nE)^UufpT^@f; XRCAfuT^%=|8yP%Z{an^LB{Ts5xR7Q; literal 0 HcmV?d00001 diff --git a/images/pagetools-build.php b/images/pagetools-build.php new file mode 100755 index 0000000..1b7262a --- /dev/null +++ b/images/pagetools-build.php @@ -0,0 +1,121 @@ + + * @todo Maybe add some more error checking + */ +$GAMMA = 0.8; +$OPTIPNG = '/usr/bin/optipng'; + +// load input images +$input = glob('pagetools/*.png'); +sort($input); +$cnt = count($input); +if(!$cnt){ + die("No input images found. This script needs to be called from within the image directory!\n"); +} + +// create destination image +$DST = imagecreatetruecolor(30,$cnt*45*2); +imagesavealpha($DST, true); +$C_trans = imagecolorallocatealpha($DST, 0, 0, 0, 127); +imagefill($DST, 0, 0, $C_trans); + +// load highlight color from style.ini +$ini = parse_ini_file('../style.ini',true); +$COLOR = hex2rgb($ini['replacements']['__link__']); +$C_active = imagecolorallocate($DST, $COLOR['r'],$COLOR['g'],$COLOR['b']); + +// add all the icons to the sprite image +for($i=0; $i<$cnt; $i++){ + $base = $i*90; + + $IN = imagecreatefrompng($input[$i]); + imagesavealpha($IN, true); + imagecolorscale($IN,$GAMMA); + imagecopy($DST,$IN, 0,$base, 0,0, 30,30); + imagedestroy($IN); + + $IN = imagecreatefrompng($input[$i]); + imagesavealpha($IN, true); + imagecolorscale($IN,$GAMMA); + imagecopy($DST,$IN, 0,$base+45, 0,0, 30,30); + imagedestroy($IN); + + imagelayereffect($DST, IMG_EFFECT_OVERLAY); + imagefilledrectangle($DST, 0,$base+45, 30,$base+45+30, $C_active); + imagelayereffect($DST, IMG_EFFECT_NORMAL); +} + +// output sprite +imagepng($DST,'pagetools-sprite.png'); +imagedestroy($DST); + +// optimize if possible +if(is_executable($OPTIPNG)){ + system("$OPTIPNG -o5 'pagetools-sprite.png'"); +} + +/** + * Convert a hex color code to an rgb array + */ +function hex2rgb($hex) { + // strip hash + $hex = str_replace('#', '', $hex); + + // normalize short codes + if(strlen($hex) == 3){ + $hex = substr($hex,0,1). + substr($hex,0,1). + substr($hex,1,1). + substr($hex,1,1). + substr($hex,2,1). + substr($hex,2,1); + } + + // calc rgb + return array( + 'r' => hexdec(substr($hex, 0, 2)), + 'g' => hexdec(substr($hex, 2, 2)), + 'b' => hexdec(substr($hex, 4, 2)) + ); +} + +/** + * Scale (darken/lighten) a given image + * + * @param ressource $img The truetype GD image to work on + * @param float $scale Scale the colors by this value ( <1 darkens, >1 lightens) + */ +function imagecolorscale(&$img, $scale){ + $w = imagesx($img); + $h = imagesy($img); + + imagealphablending($img, false); + for($x = 0; $x < $w; $x++){ + for($y = 0; $y < $h; $y++){ + $rgba = imagecolorat($img, $x, $y); + $a = ($rgba >> 24) & 0xFF; + $r = ($rgba >> 16) & 0xFF; + $g = ($rgba >> 8) & 0xFF; + $b = $rgba & 0xFF; + + $r = max(min(round($r*$scale),255),0); + $g = max(min(round($g*$scale),255),0); + $b = max(min(round($b*$scale),255),0); + + $color = imagecolorallocatealpha($img, $r, $g, $b, $a); + imagesetpixel($img, $x, $y, $color); + } + } + imagealphablending($img, true); +} + diff --git a/images/pagetools-sprite.png b/images/pagetools-sprite.png new file mode 100755 index 0000000000000000000000000000000000000000..b6e80871735026603e4af1459fb35c043c501b4e GIT binary patch literal 11325 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 literal 0 HcmV?d00001 diff --git a/images/pagetools/06_revert.png b/images/pagetools/06_revert.png new file mode 100755 index 0000000000000000000000000000000000000000..7b8457e5ee5f19d266ea875700ee1362c989d37a GIT binary patch literal 752 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 b|HkkaTU~4YJN~?200000NkvXXu0mjf8I$lK literal 0 HcmV?d00001 diff --git a/images/pagetools/10_top.png b/images/pagetools/10_top.png new file mode 100755 index 0000000000000000000000000000000000000000..e4bf1d49d01a6f66272766e7e067a1118709bf71 GIT binary patch literal 465 zcmeAS@N?(olHy`uVBq!ia0vp^av;pX1|+Qw)-3{3jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgfMX8A;sVNHOnI#zt?w-B@DSD~wK$o4mW1_Tw2v>Ad;x%)b+u!W#3yVm4!K*qFU@4L>m@-s$^6slbQOr zMY)*?VDJj0snQOPDql``ASDJ-pO8dhH4|ZMcC=K-UjJx(GdQo>#64$!B zk7M@xG2DolS@G^co&E@i-ITmfw>s04{kO&+ z*S&w+jNQXLp-ikW|Ev85sl8Y0KUc2)6+h$tCF#X$m=`aY6!9Dsn4YeFF6*2UngIO_ Bwl4qx literal 0 HcmV?d00001 diff --git a/images/pagetools/11_mediamanager.png b/images/pagetools/11_mediamanager.png new file mode 100755 index 0000000000000000000000000000000000000000..36116802f0b8a5e60d7f95439bb2a64e807772bd GIT binary patch literal 441 zcmeAS@N?(olHy`uVBq!ia0vp^av;pX1|+Qw)-3{3jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgfMX8A;sVNHOnI#zt?w-B@DSD~wKUFcDaAxxOYH##R5^6D6XyB&L+qFSm1RbO1L{iVYbSd>Hq!J_?tQ|xGcO7 z@Kev=@ge_9GUXTL!f)SLFWh`3GFeeYu81x2+`|9^i7(YpguCv33ejA;fkWxM$&Is; z^V3-8$4K4kGcDUa_vGmUmo-s$*CcGtoze5|cguu0iRGVvT76k{tXeusd>v~P`#Rn# z{&<#$A1>~gT{5Zb&ZC%y-01bWjw}qWO@U4wM*TY{xbf%RUKG9|_T7Z^ywe*y{1Ofx z(JVN*BYMNa*QL70(Y)*K0-AbW|YuPgfMX8A;sVNHOnI#zt?w-B@DSD~wK>cqZh5-=4ZC;v3C5E~o;g}8uPmJZ=SSn}hIyRg@v(6$BHZ8p)tkpqlH>b{qvD;e zNrO9s>}<<>jOX|L-M{08oPu?N;J3>SZZWcpEX#OAZ^5&snI zk)t*B`;TQ|Ric+}wk_YrVY2?Kbf>i--}jkEU$GTMUk_&Ln^3!Yeekw7sSi}57#Wrd UXE?Yp^@4)e)78&qol`;+03$KH)&Kwi literal 0 HcmV?d00001 diff --git a/images/pagetools/license.txt b/images/pagetools/license.txt new file mode 100755 index 0000000..299624c --- /dev/null +++ b/images/pagetools/license.txt @@ -0,0 +1,4 @@ +Icon set: iPhone toolbar icons +Designer: TheWorkingGroup.ca +License: Creative Commons Attribution-Share Alike License [http://creativecommons.org/licenses/by-sa/3.0/] +URL: http://blog.twg.ca/2009/09/free-iphone-toolbar-icons/ diff --git a/images/search.png b/images/search.png new file mode 100755 index 0000000000000000000000000000000000000000..1ab7866fb0410158619d8a793c3a04ac186b4fdf GIT binary patch literal 316 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh3?wzC-F*zCk^_7~T!A#LL0U%1J)j+mB|(0{ z>?V#XK6YZZfx6n}JkG%me(n|_L2fdJis~*_uKIeR49-l3Y(T~7o-U3d6}MbZ-{d=F zz~d6=+_>#c>1Qrbe*10fPWz1(tny!l zwqLrD5Ocb1+OEe3?{lU&DDhjweidq%dd1jl=9S!@^;<3-3wpoqN{-s<`sdQ3Kf@xf Q6obOR)78&qol`;+0LPe45C8xG literal 0 HcmV?d00001 diff --git a/images/toc-arrows.png b/images/toc-arrows.png new file mode 100755 index 0000000000000000000000000000000000000000..4a353e4f6fd46416e4c26ae33460e36a7c981b63 GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^96-#)!3-q#Nxt6%q?`hLLR^6~g`n@@w@*ML#7ctv zg858kwHd8NIqX^VG{h}zG(DBojm#Nh`6t)|RakhsIEGZ*vh6v}$zZ_4JojGpp8u-~ z?U)q#LON!i6;!@B=U?;N@S`dlZr?CBZr%JvYaNro!X8UL`HOxmOJinm+JGGD>FVdQ I&MBb@033WS-v9sr literal 0 HcmV?d00001 diff --git a/images/toc-bullet.png b/images/toc-bullet.png new file mode 100755 index 0000000000000000000000000000000000000000..fc771b97e0dc8ecb788d5d345388a2e72e723155 GIT binary patch literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1p!3-q7SC-!aQk(%kA+A9B?%lh)ckh-GG>`^z z7)yfuf*Bm1-ADs+~Cc5LKiVBl$9^Iu-pX_=JFVdQ&MBb@0M+y%DF6Tf literal 0 HcmV?d00001 diff --git a/images/usertools.png b/images/usertools.png new file mode 100755 index 0000000000000000000000000000000000000000..e99b6596e81bc58e314ae996826efcfb3c925a8d GIT binary patch literal 1541 zcmXX_2~bm46#WniDj+Zcs|M-{C?mBvbg@E(7zQHCgoqZDDn(H!jv`_mw~|tds3T=@ zoGPWbpp+>_P?jVmED;D`0!d0C0TR$kXdsCQA+*tA5B$EFyno)i=bd}*eJ__-QK61Y zRxTk3!jT!qVB_nIU;ZKr=8sBfSMaeq$quCx+-`RrK~M-*L`;ZKDD3a=pPij;XlT&u z_4W1j0N9kv<&%?>0)b#^Y6?-4$pnm{)oNQ?Tie>&#>U35k1;YbVm6xx1_qj&o5#n; zaeR1q_}Q~(d_Mo>%a=NxP9l*&_SLIbBwwvo12i@^l2Nf(+|<;BQ!<$hoR*drh#& zG7ge6DnfP8#6B`2JC@)}rBWzh6Z7-u&p}2*a0)FVOTY{!`U3zO0O=EaVE7~nJv}|} z0IbnyP-ACjCt3s%kP(6`3XqQIyfsmTEh zJ_bZ^DNsg35JG!#zyFgKK0`x8xE(+czz2XbFqDCz17-3E%q&O>U>G4Z985APkH^Cf z2C0Cv;Gluz67~=xEiJHSVTlAFK!n72nMj29@Z!Y_JSSKM4c)^F#C@S-s1(Xdr4r9l zrBb0|3WWlfi1y-jp=s!6Z*MOy3soZ>s(>*(4`jj3lFh{BlKxQ_+JftVy@@kzF7tnk z40hBmB1o$|JikZ`4`mR!?|6h^u{bR(?j%9jQ|EtH#Lb_UW795!85v?XWc%Jy2Y(m8 z55oz<`UH~^91|usTn|ik3w9QZ?VN&XGfSdfXw_63-=hp?Mh%NqMU9E+?dqc2Y!A}A zy0UHPS!Ew2t&VoE{WZ4in!nF4`Oeey!r7l2e-o+)OHO=koDOWYIXc|LQ~jehY77Sb z5Rscm-BEFx_={DUoOR4Y?s37qH8MBTqlEpbV&~TL`j)G^rI+6%%?LA8Wv33#4W8dI zaYWmdqt7&UV^=|fKyrfsDb0(JZCRz8+FSZTVLQfc-vF3A+X%h zuUcPp!<^t=QQM)RUrCD>M7*z79j@e?52b9`C-L6@;A-2lorN|Q%jQ4ggx|ayx5`H2 zdcU)5Ma*!)t-#6Gg<)#Pa727SAXMd@@UehuXK$+4tQx2t7Ft2TYT3BkFbSmm8 zu;$4m-`+N9E++c+)nr!RvQFF+8|k4=)umEyPP=UR-17Lz9BpaOGLAqp9Hg+XGjV?K z(#mpu)xLGx+_cf7ne@`8ZJVs*i^MAne62;HjI&bn@J(StrSu7H#oy)1fQBP$^DcZw zkw?s}{VpZj!Ce3E0p{JkoOnMr=SS&{?aiU8Q|_xZ)VFKC@@76s30PCiy&KIc$dZS> zCO+YsVz2wR*9=%ysVnZr?S8zEzk@h_?@j(Dk>{cVrIrk_3;~q zyc-g`N4hVkE$Ow`FFCX kC+5').appendTo("body"),c={width:d.css("width")-d[0].clientWidth,height:d.height()-d[0].clientHeight}; +d.remove();window.scrollbarWidth=c.width;window.scrollbarHeight=c.height;return a.match(/^(width|height)$/)?c[a]:c},showInvisibly:function(b,a){if(b&&b.length&&(a||"none"===b.css("display"))){var d=b[0].style,d={display:d.display||"",visibility:d.visibility||""};b.css({display:"block",visibility:"hidden"});return d}return{}},getElementDimensions:function(a,c){var f={css:{},inset:{}},j=f.css,h={bottom:0},k=b.layout.cssNum,p=a.offset(),O,R,D;f.offsetLeft=p.left;f.offsetTop=p.top;c||(c={});b.each(["Left", +"Right","Top","Bottom"],function(d,k){O=j["border"+k]=b.layout.borderWidth(a,k);R=j["padding"+k]=b.layout.cssNum(a,"padding"+k);D=k.toLowerCase();f.inset[D]=0<=c[D]?c[D]:R;h[D]=f.inset[D]+O});j.width=a.width();j.height=a.height();j.top=k(a,"top",!0);j.bottom=k(a,"bottom",!0);j.left=k(a,"left",!0);j.right=k(a,"right",!0);f.outerWidth=a.outerWidth();f.outerHeight=a.outerHeight();f.innerWidth=d(0,f.outerWidth-h.left-h.right);f.innerHeight=d(0,f.outerHeight-h.top-h.bottom);f.layoutWidth=a.innerWidth(); +f.layoutHeight=a.innerHeight();return f},getElementStyles:function(b,a){var d={},c=b[0].style,f=a.split(","),k=["Top","Bottom","Left","Right"],j=["Color","Style","Width"],h,p,D,x,A,r;for(x=0;xA;A++)if(p=k[A],"border"===h)for(r=0;3>r;r++)D=j[r],d[h+p+D]=c[h+p+D];else d[h+p]=c[h+p];else d[h]=c[h];return d},cssWidth:function(a,c){if(0>=c)return 0;var f=!b.layout.browser.boxModel?"border-box":b.support.boxSizing?a.css("boxSizing"): +"content-box",j=b.layout.borderWidth,h=b.layout.cssNum,k=c;"border-box"!==f&&(k-=j(a,"Left")+j(a,"Right"));"content-box"===f&&(k-=h(a,"paddingLeft")+h(a,"paddingRight"));return d(0,k)},cssHeight:function(a,c){if(0>=c)return 0;var f=!b.layout.browser.boxModel?"border-box":b.support.boxSizing?a.css("boxSizing"):"content-box",j=b.layout.borderWidth,h=b.layout.cssNum,k=c;"border-box"!==f&&(k-=j(a,"Top")+j(a,"Bottom"));"content-box"===f&&(k-=h(a,"paddingTop")+h(a,"paddingBottom"));return d(0,k)},cssNum:function(a, +d,c){a.jquery||(a=b(a));var f=b.layout.showInvisibly(a);d=b.css(a[0],d,!0);c=c&&"auto"==d?d:Math.round(parseFloat(d)||0);a.css(f);return c},borderWidth:function(a,d){a.jquery&&(a=a[0]);var c="border"+d.substr(0,1).toUpperCase()+d.substr(1);return"none"===b.css(a,c+"Style",!0)?0:Math.round(parseFloat(b.css(a,c+"Width",!0))||0)},isMouseOverElem:function(a,d){var c=b(d||this),f=c.offset(),j=f.top,f=f.left,k=f+c.outerWidth(),c=j+c.outerHeight(),h=a.pageX,p=a.pageY;return b.layout.browser.msie&&0>h&&0> +p||h>=f&&h<=k&&p>=j&&p<=c},msg:function(a,d,c,f){b.isPlainObject(a)&&window.debugData?("string"===typeof d?(f=c,c=d):"object"===typeof c&&(f=c,c=null),c=c||"log( )",f=b.extend({sort:!1,returnHTML:!1,display:!1},f),!0===d||f.display?debugData(a,c,f):window.console&&console.log(debugData(a,c,f))):d?alert(a):window.console?console.log(a):(d=b("#layoutLogger"),d.length||(d=b('
XLayout console.log
    ').appendTo("body"), +d.css("left",b(window).width()-d.outerWidth()-5),b.ui.draggable&&d.draggable({handle:":first-child"})),d.children("ul").append('
  • '+a.replace(/\/g,">")+"
  • "))}};var h=navigator.userAgent.toLowerCase(),p=/(chrome)[ \/]([\w.]+)/.exec(h)||/(webkit)[ \/]([\w.]+)/.exec(h)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(h)||/(msie) ([\w.]+)/.exec(h)||0>h.indexOf("compatible")&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(h)|| +[],h=p[1]||"",p=p[2]||0,x="msie"===h;b.layout.browser={version:p,safari:"webkit"===h,webkit:"chrome"===h,msie:x,isIE6:x&&6==p,boxModel:!x||!1!==b.support.boxModel};h&&(b.layout.browser[h]=!0);x&&b(function(){b.layout.browser.boxModel=b.support.boxModel});b.layout.defaults={name:"",containerClass:"ui-layout-container",inset:null,scrollToBookmarkOnLoad:!0,resizeWithWindow:!0,resizeWithWindowDelay:200,resizeWithWindowMaxDelay:0,maskPanesEarly:!1,onresizeall_start:null,onresizeall_end:null,onload_start:null, +onload_end:null,onunload_start:null,onunload_end:null,initPanes:!0,showErrorMessages:!0,showDebugMessages:!1,zIndex:null,zIndexes:{pane_normal:0,content_mask:1,resizer_normal:2,pane_sliding:100,pane_animate:1E3,resizer_drag:1E4},errors:{pane:"pane",selector:"selector",addButtonError:"Error Adding Button\nInvalid ",containerMissing:"UI Layout Initialization Error\nThe specified layout-container does not exist.",centerPaneMissing:"UI Layout Initialization Error\nThe center-pane element does not exist.\nThe center-pane is a required element.", +noContainerHeight:"UI Layout Initialization Warning\nThe layout-container \"CONTAINER\" has no height.\nTherefore the layout is 0-height and hence 'invisible'!",callbackError:"UI Layout Callback Error\nThe EVENT callback is not a valid function."},panes:{applyDemoStyles:!1,closable:!0,resizable:!0,slidable:!0,initClosed:!1,initHidden:!1,contentSelector:".ui-layout-content",contentIgnoreSelector:".ui-layout-ignore",findNestedContent:!1,paneClass:"ui-layout-pane",resizerClass:"ui-layout-resizer",togglerClass:"ui-layout-toggler", +buttonClass:"ui-layout-button",minSize:0,maxSize:0,spacing_open:6,spacing_closed:6,togglerLength_open:50,togglerLength_closed:50,togglerAlign_open:"center",togglerAlign_closed:"center",togglerContent_open:"",togglerContent_closed:"",resizerDblClickToggle:!0,autoResize:!0,autoReopen:!0,resizerDragOpacity:1,maskContents:!1,maskObjects:!1,maskZindex:null,resizingGrid:!1,livePaneResizing:!1,liveContentResizing:!1,liveResizingTolerance:1,sliderCursor:"pointer",slideTrigger_open:"click",slideTrigger_close:"mouseleave", +slideDelay_open:300,slideDelay_close:300,hideTogglerOnSlide:!1,preventQuickSlideClose:b.layout.browser.webkit,preventPrematureSlideClose:!1,tips:{Open:"Open",Close:"Close",Resize:"Resize",Slide:"Slide Open",Pin:"Pin",Unpin:"Un-Pin",noRoomToOpen:"Not enough room to show this panel.",minSizeWarning:"Panel has reached its minimum size",maxSizeWarning:"Panel has reached its maximum size"},showOverflowOnHover:!1,enableCursorHotkey:!0,customHotkeyModifier:"SHIFT",fxName:"slide",fxSpeed:null,fxSettings:{}, +fxOpacityFix:!0,animatePaneSizing:!1,children:null,containerSelector:"",initChildren:!0,destroyChildren:!0,resizeChildren:!0,triggerEventsOnLoad:!1,triggerEventsDuringLiveResize:!0,onshow_start:null,onshow_end:null,onhide_start:null,onhide_end:null,onopen_start:null,onopen_end:null,onclose_start:null,onclose_end:null,onresize_start:null,onresize_end:null,onsizecontent_start:null,onsizecontent_end:null,onswap_start:null,onswap_end:null,ondrag_start:null,ondrag_end:null},north:{paneSelector:".ui-layout-north", +size:"auto",resizerCursor:"n-resize",customHotkey:""},south:{paneSelector:".ui-layout-south",size:"auto",resizerCursor:"s-resize",customHotkey:""},east:{paneSelector:".ui-layout-east",size:200,resizerCursor:"e-resize",customHotkey:""},west:{paneSelector:".ui-layout-west",size:200,resizerCursor:"w-resize",customHotkey:""},center:{paneSelector:".ui-layout-center",minWidth:0,minHeight:0}};b.layout.optionsMap={layout:"name instanceKey stateManagement effects inset zIndexes errors zIndex scrollToBookmarkOnLoad showErrorMessages maskPanesEarly outset resizeWithWindow resizeWithWindowDelay resizeWithWindowMaxDelay onresizeall onresizeall_start onresizeall_end onload onload_start onload_end onunload onunload_start onunload_end".split(" "), +center:"paneClass contentSelector contentIgnoreSelector findNestedContent applyDemoStyles triggerEventsOnLoad showOverflowOnHover maskContents maskObjects liveContentResizing containerSelector children initChildren resizeChildren destroyChildren onresize onresize_start onresize_end onsizecontent onsizecontent_start onsizecontent_end".split(" "),noDefault:["paneSelector","resizerCursor","customHotkey"]};b.layout.transformData=function(a,d){var c=d?{panes:{},center:{}}:{},f,j,k,h,p,x,D;if("object"!== +typeof a)return c;for(j in a){f=c;p=a[j];k=j.split("__");D=k.length-1;for(x=0;x<=D;x++)h=k[x],x===D?f[h]=b.isPlainObject(p)?b.layout.transformData(p):p:(f[h]||(f[h]={}),f=f[h])}return c};b.layout.backwardCompatibility={map:{applyDefaultStyles:"applyDemoStyles",childOptions:"children",initChildLayout:"initChildren",destroyChildLayout:"destroyChildren",resizeChildLayout:"resizeChildren",resizeNestedLayout:"resizeChildren",resizeWhileDragging:"livePaneResizing",resizeContentWhileDragging:"liveContentResizing", +triggerEventsWhileDragging:"triggerEventsDuringLiveResize",maskIframesOnResize:"maskContents",useStateCookie:"stateManagement.enabled","cookie.autoLoad":"stateManagement.autoLoad","cookie.autoSave":"stateManagement.autoSave","cookie.keys":"stateManagement.stateKeys","cookie.name":"stateManagement.cookie.name","cookie.domain":"stateManagement.cookie.domain","cookie.path":"stateManagement.cookie.path","cookie.expires":"stateManagement.cookie.expires","cookie.secure":"stateManagement.cookie.secure", +noRoomToOpenTip:"tips.noRoomToOpen",togglerTip_open:"tips.Close",togglerTip_closed:"tips.Open",resizerTip:"tips.Resize",sliderTip:"tips.Slide"},renameOptions:function(a){function d(b,c){for(var f=b.split("."),k=f.length-1,j={branch:a,key:f[k]},r=0,q;rw)return!0;var m={38:"north",40:"south",37:"west",39:"east"},a=e.shiftKey,g=e.ctrlKey,t,n,d,c;g&&(37<=w&&40>=w)&&r[m[w]].enableCursorHotkey?c=m[w]:(g||a)&&b.each(k.borderPanes,function(e, +b){t=r[b];n=t.customHotkey;d=t.customHotkeyModifier;if(a&&"SHIFT"==d||g&&"CTRL"==d||g&&a)if(n&&w===(isNaN(n)||9>=n?n.toUpperCase().charCodeAt(0):n))return c=b,!1});if(!c||!y[c]||!r[c].closable||q[c].isHidden)return!0;na(c);e.stopPropagation();return e.returnValue=!1}function x(e){if(H()){this&&this.tagName&&(e=this);var w;f(e)?w=y[e]:b(e).data("layoutRole")?w=b(e):b(e).parents().each(function(){if(b(this).data("layoutRole"))return w=b(this),!1});if(w&&w.length){var m=w.data("layoutEdge");e=q[m];e.cssSaved&& +X(m);if(e.isSliding||e.isResizing||e.isClosed)e.cssSaved=!1;else{var a={zIndex:r.zIndexes.resizer_normal+1},g={},t=w.css("overflow"),n=w.css("overflowX"),d=w.css("overflowY");"visible"!=t&&(g.overflow=t,a.overflow="visible");n&&!n.match(/(visible|auto)/)&&(g.overflowX=n,a.overflowX="visible");d&&!d.match(/(visible|auto)/)&&(g.overflowY=n,a.overflowY="visible");e.cssSaved=g;w.css(a);b.each(k.allPanes,function(e,b){b!=m&&X(b)})}}}}function X(e){if(H()){this&&this.tagName&&(e=this);var w;f(e)?w=y[e]: +b(e).data("layoutRole")?w=b(e):b(e).parents().each(function(){if(b(this).data("layoutRole"))return w=b(this),!1});if(w&&w.length){e=w.data("layoutEdge");e=q[e];var m=e.cssSaved||{};!e.isSliding&&!e.isResizing&&w.css("zIndex",r.zIndexes.pane_normal);w.css(m);e.cssSaved=!1}}}var G=b.layout.browser,k=b.layout.config,Q=b.layout.cssWidth,O=b.layout.cssHeight,R=b.layout.getElementDimensions,D=b.layout.getElementStyles,Ma=b.layout.getEventObject,A=b.layout.parsePaneName,r=b.extend(!0,{},b.layout.defaults); +r.effects=b.extend(!0,{},b.layout.effects);var q={id:"layout"+b.now(),initialized:!1,paneResizing:!1,panesSliding:{},container:{innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0,layoutWidth:0,layoutHeight:0},north:{childIdx:0},south:{childIdx:0},east:{childIdx:0},west:{childIdx:0},center:{childIdx:0}},ba={north:null,south:null,east:null,west:null,center:null},M={data:{},set:function(e,b,m){M.clear(e);M.data[e]=setTimeout(b,m)},clear:function(e){var b=M.data;b[e]&&(clearTimeout(b[e]),delete b[e])}}, +ca=function(e,w,m){var a=r;(a.showErrorMessages&&!m||m&&a.showDebugMessages)&&b.layout.msg(a.name+" / "+e,!1!==w);return!1},C=function(e,w,m){var a=w&&f(w),g=a?q[w]:q,t=a?r[w]:r,n=r.name,d=e+(e.match(/_/)?"":"_end"),c=d.match(/_end$/)?d.substr(0,d.length-4):"",l=t[d]||t[c],h="NC",k=[];!a&&"boolean"===b.type(w)&&(m=w,w="");if(l)try{f(l)&&(l.match(/,/)?(k=l.split(","),l=eval(k[0])):l=eval(l)),b.isFunction(l)&&(h=k.length?l(k[1]):a?l(w,y[w],g,t,n):l(z,g,t,n))}catch(j){ca(r.errors.callbackError.replace(/EVENT/, +b.trim((w||"")+" "+d)),!1),"string"===b.type(j)&&string.length&&ca("Exception: "+j,!1)}!m&&!1!==h&&(a?(m=y[w],t=r[w],g=q[w],m.triggerHandler("layoutpane"+d,[w,m,g,t,n]),c&&m.triggerHandler("layoutpane"+c,[w,m,g,t,n])):(u.triggerHandler("layout"+d,[z,g,t,n]),c&&u.triggerHandler("layout"+c,[z,g,t,n])));a&&"onresize_end"===e&&db(w+"",!0);return h},eb=function(e){if(!G.mozilla){var b=y[e];"IFRAME"===q[e].tagName?b.css(k.hidden).css(k.visible):b.find("IFRAME").css(k.hidden).css(k.visible)}},ya=function(e){var b= +y[e];e=k[e].dir;b={minWidth:1001-Q(b,1E3),minHeight:1001-O(b,1E3)};"horz"===e&&(b.minSize=b.minHeight);"vert"===e&&(b.minSize=b.minWidth);return b},fa=function(e,w,m){m||(m=k[e].dir);f(w)&&w.match(/%/)&&(w="100%"===w?-1:parseInt(w,10)/100);if(0===w)return 0;if(1<=w)return parseInt(w,10);var a=r,g=0;"horz"==m?g=v.innerHeight-(y.north?a.north.spacing_open:0)-(y.south?a.south.spacing_open:0):"vert"==m&&(g=v.innerWidth-(y.west?a.west.spacing_open:0)-(y.east?a.east.spacing_open:0));if(-1===w)return g; +if(0b&&(b=100);M.clear("winResize");M.set("winResize",function(){M.clear("winResize");M.clear("winResizeRepeater");var b=R(u,e.inset);(b.innerWidth!==v.innerWidth||b.innerHeight!==v.innerHeight)&&oa()},b);M.data.winResizeRepeater||lb()},lb=function(){var e= +Number(r.resizeWithWindowMaxDelay);0"),l=l.toggler=g.closable?P[a]=b("
    "):!1;!d.isVisible&&g.slidable&&j.attr("title",g.tips.Slide).css("cursor",g.sliderCursor);j.attr("id",c?c+"-resizer":"").data({parentLayout:z,layoutPane:z[a],layoutEdge:a,layoutRole:"resizer"}).css(k.resizers.cssReq).css("zIndex",r.zIndexes.resizer_normal).css(g.applyDemoStyles?k.resizers.cssDemo:{}).addClass(n+" "+n+h).hover(Oa,da).hover(fb,gb).appendTo(u); +g.resizerDblClickToggle&&j.bind("dblclick."+K,na);l&&(l.attr("id",c?c+"-toggler":"").data({parentLayout:z,layoutPane:z[a],layoutEdge:a,layoutRole:"toggler"}).css(k.togglers.cssReq).css(g.applyDemoStyles?k.togglers.cssDemo:{}).addClass(f+" "+f+h).hover(Oa,da).bind("mouseenter",fb).appendTo(j),g.togglerContent_open&&b(""+g.togglerContent_open+"").data({layoutEdge:a,layoutRole:"togglerContent"}).data("layoutRole","togglerContent").data("layoutEdge",a).addClass("content content-open").css("display", +"none").appendTo(l),g.togglerContent_closed&&b(""+g.togglerContent_closed+"").data({layoutEdge:a,layoutRole:"togglerContent"}).addClass("content content-closed").css("display","none").appendTo(l),pb(a));var g=a,B=b.layout.plugins.draggable,g=g?g.split(","):k.borderPanes;b.each(g,function(e,a){var g=r[a];if(!B||!y[a]||!g.resizable)return g.resizable=!1,!0;var m=q[a],w=r.zIndexes,d=k[a],c="horz"==d.dir?"top":"left",t=F[a],n=g.resizerClass,f=0,l,h,E=n+"-drag",j=n+"-"+a+"-drag",J=n+"-dragging", +zb=n+"-"+a+"-dragging",cb=n+"-dragging-limit",v=n+"-"+a+"-dragging-limit",x=!1;m.isClosed||t.attr("title",g.tips.Resize).css("cursor",g.resizerCursor);t.draggable({containment:u[0],axis:"horz"==d.dir?"y":"x",delay:0,distance:1,grid:g.resizingGrid,helper:"clone",opacity:g.resizerDragOpacity,addClasses:!1,zIndex:w.resizer_drag,start:function(e,w){g=r[a];m=q[a];h=g.livePaneResizing;if(!1===C("ondrag_start",a))return!1;m.isResizing=!0;q.paneResizing=a;M.clear(a+"_closeSlider");Y(a);l=m.resizerPosition; +f=w.position[c];t.addClass(E+" "+j);x=!1;b("body").disableSelection();va(a,{resizing:!0})},drag:function(e,b){x||(b.helper.addClass(J+" "+zb).css({right:"auto",bottom:"auto"}).children().css("visibility","hidden"),x=!0,m.isSliding&&y[a].css("zIndex",w.pane_sliding));var d=0;b.position[c]l.max&&(b.position[c]=l.max,d=1);d?(b.helper.addClass(cb+" "+v),window.defaultStatus=0d&&a.match(/(south|east)/)?g.tips.maxSizeWarning: +g.tips.minSizeWarning):(b.helper.removeClass(cb+" "+v),window.defaultStatus="");h&&Math.abs(b.position[c]-f)>=g.liveResizingTolerance&&(f=b.position[c],p(e,b,a))},stop:function(e,g){b("body").enableSelection();window.defaultStatus="";t.removeClass(E+" "+j);m.isResizing=!1;q.paneResizing=!1;p(e,g,a,!0)}})});var p=function(b,e,a,g){var m=e.position,w=k[a];b=r[a];e=q[a];var d;switch(a){case "north":d=m.top;break;case "west":d=m.left;break;case "south":d=v.layoutHeight-m.top-b.spacing_open;break;case "east":d= +v.layoutWidth-m.left-b.spacing_open}d-=v.inset[w.side];g?(!1!==C("ondrag_end",a)&&Ca(a,d,!1,!0),za(!0),e.isSliding&&va(a,{resizing:!0})):Math.abs(d-e.size)j.maxSize)return Va(f,!1),!c&&h.tips.noRoomToOpen&&alert(h.tips.noRoomToOpen),a();b?wa(f,!0):j.isSliding?wa(f,!1):h.slidable&&ma(f,!1); +j.noRoom=!1;ha(f);p=j.isShowing;delete j.isShowing;l=!d&&j.isClosed&&"none"!=h.fxName_open;j.isMoving=!0;j.isVisible=!0;j.isClosed=!1;p&&(j.isHidden=!1);l?(Ga(f,!0),n.show(h.fxName_open,h.fxSettings_open,h.fxSpeed_open,function(){Ga(f,!1);j.isVisible&&g();a()})):(rb(f),g(),a())}})}},Ua=function(a,d){var c=y[a],f=F[a],g=P[a],h=r[a],n=q[a],j=k[a].side,p=h.resizerClass,l=h.togglerClass,u="-"+a;f.css(j,v.inset[j]+ga(a)).removeClass(p+"-closed "+p+u+"-closed").addClass(p+"-open "+p+u+"-open");n.isSliding? +f.addClass(p+"-sliding "+p+u+"-sliding"):f.removeClass(p+"-sliding "+p+u+"-sliding");da(0,f);h.resizable&&b.layout.plugins.draggable?f.draggable("enable").css("cursor",h.resizerCursor).attr("title",h.tips.Resize):n.isSliding||f.css("cursor","default");g&&(g.removeClass(l+"-closed "+l+u+"-closed").addClass(l+"-open "+l+u+"-open").attr("title",h.tips.Close),da(0,g),g.children(".content-closed").hide(),g.children(".content-open").css("display","block"));Va(a,!n.isSliding);b.extend(n,R(c));q.initialized&& +(qa(),pa(a,!0));if(!d&&(q.initialized||h.triggerEventsOnLoad)&&c.is(":visible"))C("onopen_end",a),n.isShowing&&C("onshow_end",a),q.initialized&&C("onresize_end",a)},sb=function(a){function b(){g.isClosed?g.isMoving||ra(c,!0):wa(c,!0)}if(H()){var d=Ma(a),c=A.call(this,a),g=q[c];a=r[c].slideDelay_open;d&&d.stopImmediatePropagation();g.isClosed&&d&&"mouseenter"===d.type&&0g.maxSize?ka(a,g.maxSize,c,!0,f):g.sizec?d(0,e.attempt-(e.actual-c)):d(0,e.attempt+(c-e.actual));h.cssSize=("horz"==k[n].dir?O:Q)(y[n],h.attempt);l.css(ua,h.cssSize);h.actual="width"==ua?l.outerWidth():l.outerHeight();h.correct=c===h.actual;1===a.length&&(ca(t,!1,!0),ca(e,!1,!0));ca(h,!1,!0);if(3B.width){var h=h.minWidth-j.outerWidth,B=r.east.minSize||0,x=r.west.minSize||0,Z=q.east.size,z=q.west.size,A=Z,D=z;0B)&&(A=d(Z-B,Z-h),h-=Z-A);0x)&&(D=d(z-x,z-h),h-=z-D);if(0===h){Z&&Z!=B&&ka("east",A,!0,!0,f);z&&z!=x&&ka("west",D,!0,!0,f);ia("center", +c,f);k.css(u);return}}}else{j.isVisible&&!j.noVerticalRoom&&b.extend(j,R(k),ya(e));if(!f&&!j.noVerticalRoom&&B.height===j.outerHeight)return k.css(u),!0;l.top=B.top;l.bottom=B.bottom;j.newSize=B.height;l.height=O(k,B.height);j.maxHeight=l.height;p=0<=j.maxHeight;p||(j.noVerticalRoom=!0)}p?(!c&&q.initialized&&C("onresize_start",e),k.css(l),"center"!==e&&qa(e),j.noRoom&&(!j.isClosed&&!j.isHidden)&&ha(e),j.isVisible&&(b.extend(j,R(k)),q.initialized&&pa(e))):!j.noRoom&&j.isVisible&&ha(e);k.css(u);delete j.newSize; +delete j.newWidth;delete j.newHeight;if(!j.isVisible)return!0;"center"===e&&(j=G.isIE6||!G.boxModel,y.north&&(j||"IFRAME"==q.north.tagName)&&y.north.css("width",Q(y.north,v.innerWidth)),y.south&&(j||"IFRAME"==q.south.tagName)&&y.south.css("width",Q(y.south,v.innerWidth)));!c&&q.initialized&&C("onresize_end",e)}})},oa=function(a){A(a);if(u.is(":visible"))if(q.initialized){if(!0===a&&b.isPlainObject(r.outset)&&u.css(r.outset),b.extend(v,R(u,r.inset)),v.outerHeight){!0===a&&ob();if(!1===C("onresizeall_start"))return!1; +var d,c,f;b.each(["south","north","east","west"],function(a,b){y[b]&&(c=r[b],f=q[b],f.autoResize&&f.size!=c.size?ka(b,c.size,!0,!0,!0):(Y(b),ha(b,!1,!0,!0)))});ia("",!0,!0);qa();b.each(k.allPanes,function(a,b){(d=y[b])&&q[b].isVisible&&C("onresize_end",b)});C("onresizeall_end")}}else Aa()},db=function(a,d){var c=A.call(this,a);r[c].resizeChildren&&(d||Ba(c),c=ba[c],b.isPlainObject(c)&&b.each(c,function(a,b){b.destroyed||b.resizeAll()}))},pa=function(a,c){if(H()){var h=A.call(this,a),h=h?h.split(","): +k.allPanes;b.each(h,function(a,e){function h(a){return d(u.css.paddingBottom,parseInt(a.css("marginBottom"),10)||0)}function j(){var a=r[e].contentIgnoreSelector,a=p.nextAll().not(".ui-layout-mask").not(a||":lt(0)"),b=a.filter(":visible"),d=b.filter(":last");v={top:p[0].offsetTop,height:p.outerHeight(),numFooters:a.length,hiddenFooters:a.length-b.length,spaceBelow:0};v.spaceAbove=v.top;v.bottom=v.top+v.height;v.spaceBelow=d.length?d[0].offsetTop+d.outerHeight()-v.bottom+h(d):h(p)}var m=y[e],p=U[e], +l=r[e],u=q[e],v=u.content;if(!m||!p||!m.is(":visible"))return!0;if(!p.length&&(Sa(e,!1),!p))return;if(!1!==C("onsizecontent_start",e)){if(!u.isMoving&&!u.isResizing||l.liveContentResizing||c||void 0==v.top)j(),0A)x=A,z=0;else if(f(z))switch(z){case "top":case "left":z=0;break;case "bottom":case "right":z=A-x;break; +default:z=c((A-x)/2)}else h=parseInt(z,10),z=0<=z?h:A-x+h;if("horz"===l){var D=Q(p,x);p.css({width:D,height:O(p,B),left:z,top:0});p.children(".content").each(function(){u=b(this);u.css("marginLeft",c((D-u.outerWidth())/2))})}else{var C=O(p,x);p.css({height:C,width:Q(p,B),top:z,left:0});p.children(".content").each(function(){u=b(this);u.css("marginTop",c((C-u.outerHeight())/2))})}da(0,p)}if(!q.initialized&&(e.initHidden||g.isHidden))j.hide(),p&&p.hide()}}})},pb=function(a){if(H()){var b=A.call(this, +a);a=P[b];var d=r[b];a&&(d.closable=!0,a.bind("click."+K,function(a){a.stopPropagation();na(b)}).css("visibility","visible").css("cursor","pointer").attr("title",q[b].isClosed?d.tips.Open:d.tips.Close).show())}},Va=function(a,d){b.layout.plugins.buttons&&b.each(q[a].pins,function(c,f){b.layout.buttons.setPinState(z,b(f),a,d)})},u=b(this).eq(0);if(!u.length)return ca(r.errors.containerMissing);if(u.data("layoutContainer")&&u.data("layout"))return u.data("layout");var y={},U={},F={},P={},ea=b([]),v= +q.container,K=q.id,z={options:r,state:q,container:u,panes:y,contents:U,resizers:F,togglers:P,hide:Ta,show:Fa,toggle:na,open:ra,close:ja,slideOpen:sb,slideClose:Wa,slideToggle:function(a){a=A.call(this,a);na(a,!0)},setSizeLimits:Y,_sizePane:ka,sizePane:Ca,sizeContent:pa,swapPanes:function(a,c){function f(a){var d=y[a],c=U[a];return!d?!1:{pane:a,P:d?d[0]:!1,C:c?c[0]:!1,state:b.extend(!0,{},q[a]),options:b.extend(!0,{},r[a])}}function h(a,c){if(a){var e=a.P,f=a.C,g=a.pane,j=k[c],m=b.extend(!0,{},q[c]), +n=r[c],w={resizerCursor:n.resizerCursor};b.each(["fxName","fxSpeed","fxSettings"],function(a,b){w[b+"_open"]=n[b+"_open"];w[b+"_close"]=n[b+"_close"];w[b+"_size"]=n[b+"_size"]});y[c]=b(e).data({layoutPane:z[c],layoutEdge:c}).css(k.hidden).css(j.cssReq);U[c]=f?b(f):!1;r[c]=b.extend(!0,{},a.options,w);q[c]=b.extend(!0,{},a.state);e.className=e.className.replace(RegExp(n.paneClass+"-"+g,"g"),n.paneClass+"-"+c);Pa(c);j.dir!=k[g].dir?(e=p[c]||0,Y(c),e=d(e,q[c].minSize),Ca(c,e,!0,!0)):F[c].css(j.side,v.inset[j.side]+ +(q[c].isVisible?ga(c):0));a.state.isVisible&&!m.isVisible?Ua(c,!0):(Da(c),ma(c,!0));a=null}}if(H()){var g=A.call(this,a);q[g].edge=c;q[c].edge=g;if(!1===C("onswap_start",g)||!1===C("onswap_start",c))q[g].edge=g,q[c].edge=c;else{var j=f(g),n=f(c),p={};p[g]=j?j.state.size:0;p[c]=n?n.state.size:0;y[g]=!1;y[c]=!1;q[g]={};q[c]={};P[g]&&P[g].remove();P[c]&&P[c].remove();F[g]&&F[g].remove();F[c]&&F[c].remove();F[g]=F[c]=P[g]=P[c]=!1;h(j,c);h(n,g);j=n=p=null;y[g]&&y[g].css(k.visible);y[c]&&y[c].css(k.visible); +oa();C("onswap_end",g);C("onswap_end",c)}}},showMasks:va,hideMasks:za,initContent:Sa,addPane:ib,removePane:Ra,createChildren:Qa,refreshChildren:Ba,enableClosable:pb,disableClosable:function(a,b){if(H()){var c=A.call(this,a),d=P[c];d&&(r[c].closable=!1,q[c].isClosed&&ra(c,!1,!0),d.unbind("."+K).css("visibility",b?"hidden":"visible").css("cursor","default").attr("title",""))}},enableSlidable:function(a){if(H()){a=A.call(this,a);var b=F[a];b&&b.data("draggable")&&(r[a].slidable=!0,q[a].isClosed&&ma(a, +!0))}},disableSlidable:function(a){if(H()){a=A.call(this,a);var b=F[a];b&&(r[a].slidable=!1,q[a].isSliding?ja(a,!1,!0):(ma(a,!1),b.css("cursor","default").attr("title",""),da(null,b[0])))}},enableResizable:function(a){if(H()){a=A.call(this,a);var b=F[a],c=r[a];b&&b.data("draggable")&&(c.resizable=!0,b.draggable("enable"),q[a].isClosed||b.css("cursor",c.resizerCursor).attr("title",c.tips.Resize))}},disableResizable:function(a){if(H()){a=A.call(this,a);var b=F[a];b&&b.data("draggable")&&(r[a].resizable= +!1,b.draggable("disable").css("cursor","default").attr("title",""),da(null,b[0]))}},allowOverflow:x,resetOverflow:X,destroy:function(a,c){b(window).unbind("."+K);b(document).unbind("."+K);"object"===typeof a?A(a):c=a;u.clearQueue().removeData("layout").removeData("layoutContainer").removeClass(r.containerClass).unbind("."+K);ea.remove();b.each(k.allPanes,function(a,b){Ra(b,!1,!0,c)});u.data("layoutCSS")&&!u.data("layoutRole")&&u.css(u.data("layoutCSS")).removeData("layoutCSS");"BODY"===v.tagName&& +(u=b("html")).data("layoutCSS")&&u.css(u.data("layoutCSS")).removeData("layoutCSS");j(z,b.layout.onDestroy);mb();for(var d in z)d.match(/^(container|options)$/)||delete z[d];z.destroyed=!0;return z},initPanes:H,resizeAll:oa,runCallbacks:C,hasParentLayout:!1,children:ba,north:!1,south:!1,west:!1,east:!1,center:!1},Xa;var V,Ya,N,Ha,la,sa,W;h=b.layout.transformData(h,!0);h=b.layout.backwardCompatibility.renameAllOptions(h);if(!b.isEmptyObject(h.panes)){V=b.layout.optionsMap.noDefault;la=0;for(sa=V.length;la< +sa;la++)N=V[la],delete h.panes[N];V=b.layout.optionsMap.layout;la=0;for(sa=V.length;lab.inArray(N,Bb)&&0>b.inArray(N,V)&&(h.panes[N]||(h.panes[N]=b.isPlainObject(Ha)?b.extend(!0,{},Ha):Ha),delete h[N]);b.extend(!0,r,h);b.each(k.allPanes,function(a,c){k[c]=b.extend(!0,{},k.panes,k[c]);Ya=r.panes;W=r[c];if("center"===c){V=b.layout.optionsMap.center;a=0;for(sa=V.length;av.innerHeight&&ca(L.errors.noContainerHeight.replace(/CONTAINER/,v.ref)))}ta(u,"minWidth")&&u.parent().css("overflowX","auto");ta(u,"minHeight")&&u.parent().css("overflowY","auto")}catch(Db){}nb();b(window).bind("unload."+K,mb);j(z,b.layout.onLoad);Cb.initPanes&&Aa();delete tb.creatingLayout;Xa=q.initialized}return"cancel"===Xa?null:z}})(jQuery); +(function(b){b.ui||(b.ui={});b.ui.cookie={acceptsCookies:!!navigator.cookieEnabled,read:function(a){for(var d=document.cookie,d=d?d.split(";"):[],c,f=0,j=d.length;fb.inArray(T,p)||(S=h[T][I],void 0!=S&&("isClosed"==I&&h[T].isSliding&&(S=!0),(x[T]||(x[T]={}))[j[I]?j[I]:I]=S));f&&b.each(p,function(c,d){G=a.children[d];X=h.stateData[d];b.isPlainObject(G)&&!b.isEmptyObject(G)&&(k=x[d]||(x[d]={}),k.children||(k.children={}),b.each(G,function(a,c){c.state.initialized?k.children[a]=b.layout.state.readState(c): +X&&(X.children&&X.children[a])&&(k.children[a]=b.extend(!0,{},X.children[a]))}))});return x},encodeJSON:function(a){function d(a){var f=[],j=0,h,p,x,I=b.isArray(a);for(h in a)p=a[h],x=typeof p,"string"==x?p='"'+p+'"':"object"==x&&(p=d(p)),f[j++]=(!I?'"'+h+'":':"")+p;return(I?"[":"{")+f.join(",")+(I?"]":"}")}return d(a)},decodeJSON:function(a){try{return b.parseJSON?b.parseJSON(a):window.eval("("+a+")")||{}}catch(d){return{}}},_create:function(a){var d=b.layout.state,c=a.options.stateManagement;b.extend(a, +{readCookie:function(){return d.readCookie(a)},deleteCookie:function(){d.deleteCookie(a)},saveCookie:function(b,c){return d.saveCookie(a,b,c)},loadCookie:function(){return d.loadCookie(a)},loadState:function(b,c){d.loadState(a,b,c)},readState:function(b){return d.readState(a,b)},encodeJSON:d.encodeJSON,decodeJSON:d.decodeJSON});a.state.stateData={};if(c.autoLoad)if(b.isPlainObject(c.autoLoad))b.isEmptyObject(c.autoLoad)||a.loadState(c.autoLoad);else if(c.enabled)if(b.isFunction(c.autoLoad)){var f= +{};try{f=c.autoLoad(a,a.state,a.options,a.options.name||"")}catch(j){}f&&(b.isPlainObject(f)&&!b.isEmptyObject(f))&&a.loadState(f)}else a.loadCookie()},_unload:function(a){var d=a.options.stateManagement;if(d.enabled&&d.autoSave)if(b.isFunction(d.autoSave))try{d.autoSave(a,a.state,a.options,a.options.name||"")}catch(c){}else a.saveCookie()}};b.layout.onCreate.push(b.layout.state._create);b.layout.onUnload.push(b.layout.state._unload);b.layout.plugins.buttons=!0;b.layout.defaults.autoBindCustomButtons= +!1;b.layout.optionsMap.layout.push("autoBindCustomButtons");b.layout.buttons={init:function(a){var d=a.options.name||"",c;b.each("toggle open close pin toggle-slide open-slide".split(" "),function(f,j){b.each(b.layout.config.borderPanes,function(f,p){b(".ui-layout-button-"+j+"-"+p).each(function(){c=b(this).data("layoutName")||b(this).attr("layoutName");(void 0==c||c===d)&&a.bindButton(this,j,p)})})})},get:function(a,d,c,f){var j=b(d);a=a.options;var h=a.errors.addButtonError;j.length?0>b.inArray(c, +b.layout.config.borderPanes)?(b.layout.msg(h+" "+a.errors.pane+": "+c,!0),j=b("")):(d=a[c].buttonClass+"-"+f,j.addClass(d+" "+d+"-"+c).data("layoutName",a.name)):b.layout.msg(h+" "+a.errors.selector+": "+d,!0);return j},bind:function(a,d,c,f){var j=b.layout.buttons;switch(c.toLowerCase()){case "toggle":j.addToggle(a,d,f);break;case "open":j.addOpen(a,d,f);break;case "close":j.addClose(a,d,f);break;case "pin":j.addPin(a,d,f);break;case "toggle-slide":j.addToggle(a,d,f,!0);break;case "open-slide":j.addOpen(a, +d,f,!0)}return a},addToggle:function(a,d,c,f){b.layout.buttons.get(a,d,c,"toggle").click(function(b){a.toggle(c,!!f);b.stopPropagation()});return a},addOpen:function(a,d,c,f){b.layout.buttons.get(a,d,c,"open").attr("title",a.options[c].tips.Open).click(function(b){a.open(c,!!f);b.stopPropagation()});return a},addClose:function(a,d,c){b.layout.buttons.get(a,d,c,"close").attr("title",a.options[c].tips.Close).click(function(b){a.close(c);b.stopPropagation()});return a},addPin:function(a,d,c){var f=b.layout.buttons, +j=f.get(a,d,c,"pin");if(j.length){var h=a.state[c];j.click(function(d){f.setPinState(a,b(this),c,h.isSliding||h.isClosed);h.isSliding||h.isClosed?a.open(c):a.close(c);d.stopPropagation()});f.setPinState(a,j,c,!h.isClosed&&!h.isSliding);h.pins.push(d)}return a},setPinState:function(a,b,c,f){var j=b.attr("pin");if(!(j&&f===("down"==j))){a=a.options[c];var j=a.buttonClass+"-pin",h=j+"-"+c;c=j+"-up "+h+"-up";j=j+"-down "+h+"-down";b.attr("pin",f?"down":"up").attr("title",f?a.tips.Unpin:a.tips.Pin).removeClass(f? +c:j).addClass(f?j:c)}},syncPinBtns:function(a,d,c){b.each(a.state[d].pins,function(f,j){b.layout.buttons.setPinState(a,b(j),d,c)})},_load:function(a){var d=b.layout.buttons;b.extend(a,{bindButton:function(b,c,h){return d.bind(a,b,c,h)},addToggleBtn:function(b,c,h){return d.addToggle(a,b,c,h)},addOpenBtn:function(b,c,h){return d.addOpen(a,b,c,h)},addCloseBtn:function(b,c){return d.addClose(a,b,c)},addPinBtn:function(b,c){return d.addPin(a,b,c)}});for(var c=0;4>c;c++)a.state[b.layout.config.borderPanes[c]].pins= +[];a.options.autoBindCustomButtons&&d.init(a)},_unload:function(){}};b.layout.onLoad.push(b.layout.buttons._load);b.layout.plugins.browserZoom=!0;b.layout.defaults.browserZoomCheckInterval=1E3;b.layout.optionsMap.layout.push("browserZoomCheckInterval");b.layout.browserZoom={_init:function(a){!1!==b.layout.browserZoom.ratio()&&b.layout.browserZoom._setTimer(a)},_setTimer:function(a){if(!a.destroyed){var d=a.options,c=a.state,f=a.hasParentLayout?5E3:Math.max(d.browserZoomCheckInterval,100);setTimeout(function(){if(!a.destroyed&& +d.resizeWithWindow){var f=b.layout.browserZoom.ratio();f!==c.browserZoom&&(c.browserZoom=f,a.resizeAll());b.layout.browserZoom._setTimer(a)}},f)}},ratio:function(){function a(a,b){return(100*(parseInt(a,10)/parseInt(b,10))).toFixed()}var d=window,c=screen,f=document,j=f.documentElement||f.body,h=b.layout.browser,p=h.version,x,I,T;return h.msie&&8 + * + * Previous Authors: + * @author Anika Henke + * @author Clarence Lee + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + */ + +if (!defined('DOKU_INC')) die(); /* must be run from within DokuWiki */ +header('X-UA-Compatible: IE=edge,chrome=1'); + +$hasSidebar = page_findnearest($conf['sidebar']); +$showSidebar = $hasSidebar && ($ACT=='show'); +?> + + + + <?php tpl_pagetitle() ?> [<?php echo strip_tags($conf['title']) ?>] + + + + + + + + + + + + + + + + + + +
    +
    + + +
    + + + +
    + + + + +
    + + + +
    + + + + + + +
    + +
    + + +
    + +
    + + +
    +

    +
    +
      + 'main', + 'items' => array( + 'edit' => tpl_action('edit', 1, 'li', 1, '', ''), + 'revert' => tpl_action('revert', 1, 'li', 1, '', ''), + 'revisions' => tpl_action('revisions', 1, 'li', 1, '', ''), + 'backlink' => tpl_action('backlink', 1, 'li', 1, '', ''), + 'subscribe' => tpl_action('subscribe', 1, 'li', 1, '', ''), + 'top' => tpl_action('top', 1, 'li', 1, '', '') + ) + ); + + // the page tools can be amended through a custom plugin hook + $evt = new Doku_Event('TEMPLATE_PAGETOOLS_DISPLAY', $data); + if($evt->advise_before()){ + foreach($evt->data['items'] as $k => $html) echo $html; + } + $evt->advise_after(); + unset($data); + unset($evt); + ?> +
    +
    +
    +
    + + +
    + +
    +
    + + +
    + +
    + + +
    +
    +
      +
    • +
    + +

    '.$conf['title'].'', + 'accesskey="h" title="[H]"' + ); + ?>

    + +

    + +
    + + + +
    +

    + + +
      + +
    +
    + +
    + + + + + +
    + + + + +
    + + + + +
    + + + +
    + + + + diff --git a/mediamanager.php b/mediamanager.php new file mode 100755 index 0000000..dadf2b1 --- /dev/null +++ b/mediamanager.php @@ -0,0 +1,46 @@ + + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + */ +// must be run from within DokuWiki +if (!defined('DOKU_INC')) die(); +header('X-UA-Compatible: IE=edge,chrome=1'); + +?> + + + + + <?php echo hsc($lang['mediaselect'])?> + [<?php echo strip_tags($conf['title'])?>] + + + + + + + + + + +
    + +
    +

    + + +
    + + +
    + +
    + +
    +
    + + + diff --git a/script.js b/script.js new file mode 100755 index 0000000..4eb92a4 --- /dev/null +++ b/script.js @@ -0,0 +1,79 @@ +/** + * We handle several device classes based on browser width. + * + * - desktop: > __tablet_width__ (as set in style.ini) + * - mobile: + * - tablet <= __tablet_width__ + * - phone <= __phone_width__ + */ +var device_class = ''; // not yet known +var device_classes = 'desktop mobile tablet phone'; + +function tpl_dokuwiki_mobile(){ + + // the z-index in mobile.css is (mis-)used purely for detecting the screen mode here + var screen_mode = jQuery('#screen__mode').css('z-index') + ''; + + // determine our device pattern + // TODO: consider moving into dokuwiki core + switch (screen_mode) { + case '1': + if (device_class.match(/tablet/)) return; + device_class = 'mobile tablet'; + break; + case '2': + if (device_class.match(/phone/)) return; + device_class = 'mobile phone'; + break; + default: + if (device_class == 'desktop') return; + device_class = 'desktop'; + } + + jQuery('html').removeClass(device_classes).addClass(device_class); + + // handle some layout changes based on change in device + var $handle = jQuery('#dokuwiki__aside h3.toggle'); + var $toc = jQuery('#dw__toc h3'); + + if (device_class == 'desktop') { + // reset for desktop mode + if($handle.length) { + $handle[0].setState(1); + $handle.hide(); + } + if($toc.length) { + $toc[0].setState(1); + } + } + if (device_class.match(/mobile/)){ + // toc and sidebar hiding + if($handle.length) { + $handle.show(); + $handle[0].setState(-1); + } + if($toc.length) { + $toc[0].setState(-1); + } + } +} + +jQuery(function(){ + var resizeTimer; + dw_page.makeToggle('#dokuwiki__aside h3.toggle','#dokuwiki__aside div.content'); + + tpl_dokuwiki_mobile(); + jQuery(window).bind('resize', + function(){ + if (resizeTimer) clearTimeout(resizeTimer); + resizeTimer = setTimeout(tpl_dokuwiki_mobile,200); + } + ); + + // increase sidebar length to match content (desktop mode only) + var $sidebar = jQuery('.desktop #dokuwiki__aside'); + if($sidebar.length) { + var $content = jQuery('#dokuwiki__content div.page'); + $content.css('min-height', $sidebar.height()); + } +}); diff --git a/style.ini b/style.ini new file mode 100755 index 0000000..cc23c16 --- /dev/null +++ b/style.ini @@ -0,0 +1,86 @@ +; Please see http://www.php.net/manual/en/function.parse-ini-file.php +; for limitations of the ini format used here + +; To extend this file or make changes to it, it is recommended to create +; a local conf/tpl//style.ini file to prevent losing +; any changes after an upgrade. +; Please don't forget to copy the section your changes should be under +; (i.e. [stylesheets] or [replacements]) into that file as well. + +; Define the stylesheets your template uses here. The second value +; defines for which output media the style should be loaded. Currently +; print, screen and all are supported. +; You can reference CSS and LESS files here. Files referenced here will +; be checked for updates when considering a cache rebuild while files +; included through LESS' @import statements are not + +[stylesheets] + +css/mixins.less = screen + +css/basic.less = screen +css/_imgdetail.css = screen +css/_media_popup.css = screen +css/_media_fullscreen.css = screen +css/_fileuploader.css = screen +css/_tabs.css = screen +css/_links.css = screen +css/_toc.css = screen +css/_footnotes.css = screen +css/_search.css = screen +css/_recent.css = screen +css/_diff.css = screen +css/_edit.css = screen +css/_modal.css = screen +css/_forms.css = screen +css/_admin.css = screen +css/structure.less = screen +css/design.less = screen +css/pagetools.less = screen +css/content.less = screen + +css/mobile.less = all +css/print.css = print + + +; This section is used to configure some placeholder values used in +; the stylesheets. Changing this file is the simplest method to +; give your wiki a new look. +; Placeholders defined here will also be made available as LESS variables +; (with surrounding underscores removed, and the prefix @ini_ added) + +[replacements] + +;-------------------------------------------------------------------------- +;------ guaranteed dokuwiki color placeholders that every plugin can use + +; main text and background colors +__text__ = "#333" ; @ini_text +__background__ = "#fff" ; @ini_background +; alternative text and background colors +__text_alt__ = "#999" ; @ini_text_alt +__background_alt__ = "#eee" ; @ini_background_alt +; neutral text and background colors +__text_neu__ = "#666" ; @ini_text_neu +__background_neu__ = "#ddd" ; @ini_background_neu +; border color +__border__ = "#ccc" ; @ini_border + +; highlighted text (e.g. search snippets) +__highlight__ = "#ff9" ; @ini_highlight + +;-------------------------------------------------------------------------- + +__background_site__ = "#fbfaf9" ; @ini_background_site + +; these are used for links +__link__ = "#2b73b7" ; @ini_link +__existing__ = "#080" ; @ini_existing +__missing__ = "#d30" ; @ini_missing + +; site and sidebar widths +__site_width__ = "75em" ; @ini_site_width +__sidebar_width__ = "16em" ; @ini_sidebar_width +; cut off points for mobile devices +__tablet_width__ = "800px" ; @ini_tablet_width +__phone_width__ = "480px" ; @ini_phone_width diff --git a/template.info.txt b/template.info.txt new file mode 100755 index 0000000..881b8d0 --- /dev/null +++ b/template.info.txt @@ -0,0 +1,7 @@ +base codowik +author Avinash D Silva +email avinash.roshan.dsilva@gmail.com +date 2013-11-23 +name Codowik Template +desc Template built for building great documentation +url http://www.dokuwiki.org/template:codowik diff --git a/tpl_footer.php b/tpl_footer.php new file mode 100755 index 0000000..2c220d9 --- /dev/null +++ b/tpl_footer.php @@ -0,0 +1,33 @@ + + + + + + + + +
    + + + + +
    + + +
    +

    +
      + '; + tpl_userinfo(); /* 'Logged in as ...' */ + echo ''; + } + tpl_action('admin', 1, 'li'); + tpl_action('profile', 1, 'li'); + tpl_action('register', 1, 'li'); + tpl_action('login', 1, 'li'); + ?> +
    +
    + + + + +
    + + + + + + + + +
    +