diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..050b5e0 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +/.* export-ignore +/_test export-ignore diff --git a/.github/auto-comment.yml b/.github/auto-comment.yml new file mode 100644 index 0000000..f6a72e3 --- /dev/null +++ b/.github/auto-comment.yml @@ -0,0 +1,9 @@ +# auto replies used by probot/auto-comment + +issuesOpened: > + Thank you for opening this issue. + + [CosmoCode](https://www.cosmocode.de) is a software company in Berlin providing services for wiki, app and web development. As such we can't guarantee quick responses for issues opened on our Open Source projects. + + If you require certain features or bugs fixed, you can always hire us. Feel free to contact us at dokuwiki@cosmocode.de for an offer. + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..dc3c123 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +._COPYING +._.DS_Store +/._* +._* +fonts/icons/fontello diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..d159169 --- /dev/null +++ b/LICENSE @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/README b/README old mode 100755 new mode 100644 index cd5bed4..6cadc0c --- a/README +++ b/README @@ -1,2 +1,27 @@ -See template.info.txt for main info -See COPYING for license info \ No newline at end of file +sprintdoc template for DokuWiki + +modern, responsive template that integrates multiple plugins + +All documentation for this template can be found at +https://www.dokuwiki.org/template:sprintdoc + +If you install this template manually, make sure it is installed in +lib/tpl/sprintdoc/ - if the folder is called different it +will not work! + +Please refer to http://www.dokuwiki.org/extensions for additional info +on how to install extensions in DokuWiki. + +---- +Copyright (C) Jana Deutschlaender + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; version 2 of the License + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +See the LICENSING file for details diff --git a/Template.php b/Template.php new file mode 100644 index 0000000..1cd2739 --- /dev/null +++ b/Template.php @@ -0,0 +1,325 @@ + null, + 'tagging' => null, + 'magicmatcher' => null, + 'tplinc' => null, + 'sitemapnavi' => null, + ); + + /** @var string the type of special navigation to use */ + protected $nav = ''; + + + /** + * Get the singleton instance + * + * @return Template + */ + public static function getInstance() { + static $instance = null; + if($instance === null) $instance = new Template(); + return $instance; + } + + /** + * Template constructor. + */ + protected function __construct() { + $this->initializePlugins(); + $this->initNavigationCookie(); + + /** @var \Doku_Event_Handler */ + global $EVENT_HANDLER; + $EVENT_HANDLER->register_hook('PLUGIN_TPLINC_LOCATIONS_SET', 'BEFORE', $this, 'registerIncludes'); + } + + /** + * Load all the plugins we support directly + */ + protected function initializePlugins() { + $this->plugins['sqlite'] = plugin_load('helper', 'sqlite'); + if($this->plugins['sqlite']) { + $this->plugins['tagging'] = plugin_load('helper', 'tagging'); + $this->plugins['magicmatcher'] = plugin_load('syntax', 'magicmatcher_issuelist'); + } + $this->plugins['tplinc'] = plugin_load('helper', 'tplinc'); + $this->plugins['sitemapnavi'] = plugin_load('helper', 'sitemapnavi'); + } + + /** + * Makes include position info available to the tplinc plugin + * + * @param \Doku_Event $event + */ + public function registerIncludes(\Doku_Event $event) { + $event->data['footer'] = 'Footer below the page content'; + $event->data['sidebarfooter'] = 'Footer below the sidebar'; + $event->data['sidebarheader'] = 'Header above the sidebar'; + $event->data['navtop'] = 'Additional navigation items at the top'; + $event->data['navbottom'] = 'Additional navigation items at the bottom'; + } + + /** + * Get the content to include from the tplinc plugin + * + * prefix and postfix are only added when there actually is any content + * + * @param string $location + * @param string $pre prepend this before the content + * @param string $post append this to the content + * @return string + */ + public function getInclude($location, $pre = '', $post = '') { + if(!$this->plugins['tplinc']) return ''; + $content = $this->plugins['tplinc']->renderIncludes($location); + if($content === '') return ''; + return $pre . $content . $post; + } + + /** + * Sets a cookie to remember the requested special navigation + */ + protected function initNavigationCookie() { + if ($this->plugins['sitemapnavi'] === null) return; + global $INPUT; + + $nav = $INPUT->str('nav'); + if($nav) { + set_doku_pref('nav', $nav); + $this->nav = $INPUT->str('nav'); + } else { + $this->nav = get_doku_pref('nav', 'sidebar'); + } + } + + /** + * Return the navigation for the sidebar + * + * Defaults to the standard sidebar mechanism, but supports also the sitemapnavi plugin + * + * @return string + */ + public function getNavigation() { + global $ID; + global $conf; + + // id of the current sidebar, each sidebar must have its own state + $header = sprintf('
', md5(page_findnearest($conf['sidebar']))); + // add tabs if multiple navigation types available + if ($this->plugins['sitemapnavi'] !== null) { + $header .= ''; + } + + // decide what to show + if ($this->nav === 'sitemap') { + // site tree created by sitemapnavi plugin + $nav = ''; + } else { + // main navigation, loaded from standard sidebar, fixed up by javascript + $nav = ''; + } + + return $header . $nav; + } + + /** + * Default class defining is the sidebar should collapse + * + * @return string + */ + public function fullWidthClass() { + global $ACT; + // no auto collapsing? empty class + if (!tpl_getConf('autocollapse')) return ''; + // mode show? empty class + if ($ACT === "show") return ''; + // anything else? wide content + return 'wide-content '; + } + + /** + * Get all the tabs to display + * + * @return array + */ + public function getMetaBoxTabs() { + global $lang, $INFO; + $tabs = array(); + + $toc = tpl_toc(true); + if($toc) { + $tabs[] = array( + 'id' => 'spr__tab-toc', + 'label' => $lang['toc'], + 'tab' => $toc, + 'count' => null, + ); + } + + if($this->plugins['tagging']) { + $tabs[] = array( + 'id' => 'spr__tab-tags', + 'label' => tpl_getLang('tab_tags'), + 'tab' => $this->plugins['tagging']->tpl_tags(false), + 'count' => count($this->plugins['tagging']->findItems(array('pid' => $INFO['id']), 'tag')), + ); + } + + if ($this->plugins['magicmatcher']) { + $tabs[] = array( + 'id' => 'spr__tab-issues', + 'label' => tpl_getLang('tab_issues'), + 'tab' => $this->plugins['magicmatcher']->getIssueListHTML(), + 'count' => $this->plugins['magicmatcher']->getCountIssues(), + ); + } + + return $tabs; + } + + /** + * Creates an image tag and includes the first found image correctly resized + * + * @param string $tag + * @param array $attributes + * @param int $w + * @param int $h + * @param bool $crop + * @return string + */ + public static function getResizedImgTag($tag, $attributes, $w, $h, $crop = true) { + $attr = ''; + $medias = array(); + + // the attribute having an array defines where the image goes + foreach($attributes as $attribute => $data) { + if(is_array($data)) { + $medias = $data; + $attr = $attribute; + } + } + // if the image attribute could not be found return + if(!$attr || !$medias) return ''; + + // try all medias until an existing one is found + $media = ''; + foreach($medias as $media) { + if(file_exists(mediaFN($media))) break; + $media = ''; + } + if($media === '') return ''; + + // replace the array + $media = ml($media, array('w' => $w, 'h' => $h, 'crop' => (int) $crop), true, '&'); + $attributes[$attr] = $media; + + // return the full tag + return '<' . $tag . ' ' . buildAttributes($attributes) . ' />' . "\n"; + } + + /** + * Embed the main logo + * + * Tries a few different locations + */ + public function mainLogo() { + global $conf; + + // homepage logo should not link to itself (BITV accessibility requirement) + $linkit = (strcmp(wl(), $_SERVER['REQUEST_URI']) !== 0); + if($linkit) { + $title = $conf['title'] . tpl_getLang('adjunct_linked_logo_text'); + } else { + $title = tpl_getLang('adjunct_start_logo_text') . $conf['title']; + } + + $logo = << +EH22 DEMO +HTML; + + // homepage logo should not link to itself (BITV accessibility requirement) + if($linkit) { + tpl_link(wl(), $logo, 'accesskey="h" title="[H]"'); + } else { + echo $logo; + } + } + + /** + * Add the current mode information to the hierarchical breadcrumbs + */ + public function breadcrumbSuffix() { + global $ACT; + global $lang; + global $INPUT; + global $ID; + global $conf; + global $IMG; + if($ACT == 'show') return; + + // find an apropriate label for the current mode + if($ACT) { + $label = tpl_getLang('mode_' . $ACT); + if(!$label) { + if(isset($lang['btn_' . $ACT])) { + $label = $lang['btn_' . $ACT]; + } else { + $label = $ACT; + } + } + } else { + // actually we would need to create a proper namespace breadcrumb path here, + // but this is the most simplest thing we can do for now + if(defined('DOKU_MEDIADETAIL')) { + $label = hsc(noNS($IMG)); + } else { + return; + } + } + + if($ACT == 'admin' && $INPUT->has('page')) { + $link = wl($ID, array('do' => 'admin')); + echo ' : ' . $label . ''; + + /** @var \DokuWiki_Admin_Plugin $plugin */ + $plugin = plugin_load('admin', $INPUT->str('page')); + if(!$plugin) return; + + $label = $plugin->getMenuText($conf['lang']); + } + + echo ' : ' . $label . ''; + } +} diff --git a/conf/default.php b/conf/default.php index 417a7e1..f666d04 100755 --- a/conf/default.php +++ b/conf/default.php @@ -4,6 +4,8 @@ * */ -$conf['discussionPage'] = 'discussion:@ID@'; -$conf['userPage'] = 'user:@USER@:'; -$conf['hideTools'] = 0; +$conf['sidebar_sections'] = 'h1,h2,h3,h4,h5'; +$conf['header_layout'] = 'header-default'; +$conf['autocollapse'] = 1; +$conf['closedwiki'] = 0; +$conf['copyright'] = ''; diff --git a/conf/metadata.php b/conf/metadata.php index 9a62ec3..863b778 100755 --- a/conf/metadata.php +++ b/conf/metadata.php @@ -1,9 +1,23 @@ array( + 'h1', + 'h1,h2', + 'h1,h2,h3,h4,h5', + 'li.level1 > .li', + ), + ); + +$meta['header_layout'] = array( + 'multichoice', + '_choices' => array( + 'header-default', + 'header-compact', + ), + ); + +$meta['autocollapse'] = array('onoff'); +$meta['closedwiki'] = array('onoff'); +$meta['copyright'] = array(''); diff --git a/css/area_content.less b/css/area_content.less new file mode 100755 index 0000000..67f2840 --- /dev/null +++ b/css/area_content.less @@ -0,0 +1,64 @@ +/** + * This file provides the design styles for the page content. + */ + +.picker { + z-index: 2; // position over .content +} + +.content .row { + > .col-xs-12 { + z-index: 1; + + background-color: var(--color-background); + + + #dokuwiki__content { + position: relative; + + .page-content { + padding-top: @page-header_height; + + .msg-area + * { + clear: both; + padding-top: 1em; // as h1 + } + } + } + } + @media @screen_min-md { + > .col-xs-12 { + border-left: dashed 0.25em var(--color-shade-4); + border-radius: 0; + } + } +} + +.main-content > .level2, +.main-content > .level1, +.main-content > .level3, +.main-content > .level4, +.main-content > .level5, +.main-content > .level6 { + > p, + > ul > li .li { + a { + font-size: inherit; + } + } +} + +.level1, +.level2, +.level3, +.level4, +.level5, +.level6 { + line-height: @line-height-default; + + div, p, th, td, textarea, + h1, h2, h3, h4, h5, h6, + dl, dt, dd, ol, ul, li { + line-height: @line-height-default; + } +} diff --git a/css/area_footer.less b/css/area_footer.less new file mode 100755 index 0000000..7e103bd --- /dev/null +++ b/css/area_footer.less @@ -0,0 +1,125 @@ +/** + * This file provides the design styles for the page footer + */ + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* no print */ +@media screen { + .page-footer { + min-height: @page-header_height; + background-color: var(--color-background); + border-top: 1px solid var(--color-shade-4); + border-radius: 0 0 @fix_border-radius @fix_border-radius; // @ini_default_border_radius vs. @fix_border-radius + color: var(--color-shade-4); + font-size: @font-size-default; + text-align: right; + padding: @margin-small @margin-default; + + *, + a:link, + a:visited { + color: inherit; + } + + bdi { + display: inline-block; + max-width: 100%; + overflow-x: auto; + overflow-y: hidden; + font-weight: bold; + vertical-align: bottom; + } + } + + #dokuwiki__footer { + .main-footer { + position: relative; + box-sizing: border-box; + background-color: var(--color-background); + margin-top: 5px; // for box-shadow of content + text-align: center; + } + + p { + color: var(--color-shade-4); + font-size: @font-size-default; + margin: 0; + } + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* min-width: 1024px */ +@media @screen_min-md { + #dokuwiki__footer { + .col-xs-12 { + float: right; + width: 100%; + } + + .main-footer { + padding: @margin-default 0; + } + } + + .showSidebar { + #dokuwiki__footer { + .col-xs-12 { + width: @ini_site_width; + } + } + } + + .wide-content { + &.showSidebar { + #dokuwiki__footer { + .col-xs-12 { + width: 100%; + padding-left: @toggle-showsidebar_width; + } + } + } + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* max-width: 1023px */ +@media @screen_max-md { + #dokuwiki__footer { + .main-footer { + margin-top: .5rem; + padding: (@margin-default - .5) 0 @margin-default; + } + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* max-width: 768px */ +@media @screen_max-xs { + .page-footer { + padding-left: @margin-small; + padding-right: @margin-small; + } + + #dokuwiki__footer { + .main-footer { + > * { + padding-left: 0; + padding-right: 0; + } + } + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* max-width: 480px */ +@media @screen_max-xxs { + #dokuwiki__footer { + .main-footer { + > * { + padding-left: @margin-small; + padding-right: @margin-small; + } + } + } +} diff --git a/css/area_footnotes.less b/css/area_footnotes.less new file mode 100644 index 0000000..87abded --- /dev/null +++ b/css/area_footnotes.less @@ -0,0 +1,55 @@ +/** + * This file provides the design styles for the footnotes. + */ + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* footnotes section */ +.dokuwiki div.footnotes { + div.fn { + margin-bottom: .2rem; + display: table; + vertical-align: top; + + > sup, + .content { + display: table-cell; + } + + > sup { + vertical-align: top; + + // footnote anchor + a.fn_bot { + font-size: .86em; + padding-right: .2em; + } + } + + .content { + vertical-align: top; + line-height: 135%; + } + + // footnote text + div.content { + line-height: 135%; + } + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* footnotes in content */ +.main-content sup, +.main-content > div > p sup, +.main-content > div > ul > li .li sup { + a.fn_top { + font-size: .7rem; + font-weight: bold; + padding-right: .2em; + } +} + +.insitu-footnote { + line-height: 130%; + z-index: 100; +} diff --git a/css/area_forms.less b/css/area_forms.less new file mode 100644 index 0000000..d7be3cf --- /dev/null +++ b/css/area_forms.less @@ -0,0 +1,301 @@ +/** + * This file provides the design styles for 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; + + // multiline label + fieldset > label.block > span:first-child { + display: inline-block; + + @media @screen_min-lg { + width: 48.8%; + } + + @media @screen_max-lg { + width: 48.5%; + } + } +} + +fieldset { + font-size: @font-size-default; + line-height: 140%; + border: 1px solid @ini_text_alt; + padding: .7rem 1rem; + + > :last-child { + margin-bottom: 0; + } + + + p { + padding-top: 1rem; + } +} + +legend { + margin: 0; + padding: 0 .1em; +} + +label { + vertical-align: baseline; + cursor: pointer; +} + +input, +textarea, +button, +select, +optgroup, +option, +keygen, +output, +meter, +progress { + font: inherit; + font-weight: normal; + color: var(--color-foreground); + background-color: var(--color-background); + line-height: normal; + margin: 0; + vertical-align: middle; + box-sizing: border-box; +} + +select { + max-width: 100%; +} + +textarea.edit { + font-size: @font-size-default; +} + +optgroup { + font-style: italic; + font-weight: bold; +} + +option { + font-style: normal; + font-weight: normal; +} + +input, +textarea, +select, +keygen { + min-height: @formfield_min-height; + border: 1px solid var(--color-shade-4); + border-radius: @fix_border-radius; + padding-left: .3rem; + padding-right: .3rem; +} + +input[type="radio"], +input[type="checkbox"] { + min-height: 1rem; +} + +input[type="radio"], +input[type="checkbox"], +input[type="image"] { + padding: 0; + border-style: none; + //box-shadow: none; :in ie picture and checkbox disappear +} + +input:active, +input:focus, +textarea:active, +textarea:focus, +select:active, +select:focus, +keygen:active, +keygen:focus { + border-color: var(--color-shade-4); +} + +input[type="file"] { + padding-top: .1rem; + padding-bottom: .1rem; +} + +/* + + + + + buttons + + + + + */ +button { + background-color: #eee; + background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxIDEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPgo8bGluZWFyR3JhZGllbnQgaWQ9Imc4MjQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCUiIHkxPSIwJSIgeDI9IjAlIiB5Mj0iMTAwJSI+CjxzdG9wIHN0b3AtY29sb3I9IiNGRkZGRkYiIG9mZnNldD0iMCIvPjxzdG9wIHN0b3AtY29sb3I9IiNGNEY0RjQiIG9mZnNldD0iMC4zIi8+PHN0b3Agc3RvcC1jb2xvcj0iI0VFRUVFRSIgb2Zmc2V0PSIwLjk5Ii8+PHN0b3Agc3RvcC1jb2xvcj0iI0NDQ0NDQyIgb2Zmc2V0PSIuOTkiLz4KPC9saW5lYXJHcmFkaWVudD4KPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNnODI0KSIgLz4KPC9zdmc+); + background-image: linear-gradient(to bottom, #ffffff 0%, #f4f4f4 30%, #eeeeee 99%, #cccccc 99%); + border: 1px solid #ccc; + border-radius: @fix_border-radius; + color: #333; + padding: .1em .5em; + cursor: pointer; + transition: @transition background-color, @transition color; + + &:hover, + &:focus, + &:active { + background-color: #ddd; + background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxIDEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPgo8bGluZWFyR3JhZGllbnQgaWQ9Imc2NzAiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCUiIHkxPSIwJSIgeDI9IjAlIiB5Mj0iMTAwJSI+CjxzdG9wIHN0b3AtY29sb3I9IiNGRkZGRkYiIG9mZnNldD0iMCIvPjxzdG9wIHN0b3AtY29sb3I9IiNGNEY0RjQiIG9mZnNldD0iMC4zIi8+PHN0b3Agc3RvcC1jb2xvcj0iI0RERERERCIgb2Zmc2V0PSIwLjk5Ii8+PHN0b3Agc3RvcC1jb2xvcj0iI0JCQkJCQiIgb2Zmc2V0PSIuOTkiLz4KPC9saW5lYXJHcmFkaWVudD4KPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNnNjcwKSIgLz4KPC9zdmc+); + background-image: linear-gradient(to bottom, #ffffff 0%, #f4f4f4 30%, #dddddd 99%, #bbbbbb 99%); + border-color: #999; + } +} + +/* + + + all types of submit-buttons + + + */ +form input[type=submit], // heredity 'adnewpage' +a.button, +input[type=submit], +input[type=reset], +button[type=submit], +.qq-upload-button { + cursor: pointer; + box-shadow: none; + background-image: none; + background-color: var(--color-shade-1); + border: solid 0.1rem var(--color-shade-2); + border-radius: 0.5rem; + color: var(--color-foreground); + vertical-align: top; + padding: .3em @grid; + + &:hover, + &:active, + &:focus { + background-color: transparent; + color: var(--color-glow-primary); + border-color: var(--color-glow-primary); + transition: var(--transition-glow); + filter: var(--filter-glow-primary); + } +} + +button[type='reset'] { + min-height: @formfield_min-height; + vertical-align: middle; + padding: .3em 1rem; +} + +input[type=submit], +button[type=submit] { + min-height: @formfield_min-height; + vertical-align: middle; + + &[disabled] { + cursor: default; + + &:hover, + &:active, + &:focus { + box-shadow: none; + background-image: none; + background-color: @ini_button_background; + color: @ini_button_color; + border-color: @ini_button_background; + } + } + + + span { + display: block; + margin-top: @grid; + } +} + +/* + + + all types of buttons not being submit-buttons + + + */ +input.button, +input[type=button] { + cursor: pointer; + background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxIDEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPgo8bGluZWFyR3JhZGllbnQgaWQ9Imc4MjQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCUiIHkxPSIwJSIgeDI9IjAlIiB5Mj0iMTAwJSI+CjxzdG9wIHN0b3AtY29sb3I9IiNGRkZGRkYiIG9mZnNldD0iMCIvPjxzdG9wIHN0b3AtY29sb3I9IiNGNEY0RjQiIG9mZnNldD0iMC4zIi8+PHN0b3Agc3RvcC1jb2xvcj0iI0VFRUVFRSIgb2Zmc2V0PSIwLjk5Ii8+PHN0b3Agc3RvcC1jb2xvcj0iI0NDQ0NDQyIgb2Zmc2V0PSIuOTkiLz4KPC9saW5lYXJHcmFkaWVudD4KPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNnODI0KSIgLz4KPC9zdmc+); + background-image: linear-gradient(to bottom, #ffffff 0%, #f4f4f4 30%, #eeeeee 99%, #cccccc 99%); + background-color: #eee; + border: 1px solid #ccc; + border-radius: @fix_border-radius; + color: #333; + padding: .1em .5em; + transition: @transition background-color, @transition color; + + &:hover, + &:active, + &:focus { + background-color: #ddd; + border-color: #999; + background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxIDEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPgo8bGluZWFyR3JhZGllbnQgaWQ9Imc2NzAiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCUiIHkxPSIwJSIgeDI9IjAlIiB5Mj0iMTAwJSI+CjxzdG9wIHN0b3AtY29sb3I9IiNGRkZGRkYiIG9mZnNldD0iMCIvPjxzdG9wIHN0b3AtY29sb3I9IiNGNEY0RjQiIG9mZnNldD0iMC4zIi8+PHN0b3Agc3RvcC1jb2xvcj0iI0RERERERCIgb2Zmc2V0PSIwLjk5Ii8+PHN0b3Agc3RvcC1jb2xvcj0iI0JCQkJCQiIgb2Zmc2V0PSIuOTkiLz4KPC9saW5lYXJHcmFkaWVudD4KPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNnNjcwKSIgLz4KPC9zdmc+); + background-image: linear-gradient(to bottom, #ffffff 0%, #f4f4f4 30%, #dddddd 99%, #bbbbbb 99%); + } +} + +/* + + + all disabled buttons + + + */ +input[disabled], +button[disabled], +select[disabled], +textarea[disabled], +option[disabled], +input[readonly], +button[readonly], +select[readonly], +textarea[readonly] { + cursor: auto; + background-color: var(--color-background); + opacity: .5; + border: 1px solid @ini_border; + border-radius: @fix_border-radius; + color: var(--color-shade-4); + font-weight: normal; + padding: .3em @grid; + transition: @transition background-color, @transition color; + + &:hover, + &:active, + &:focus { + background-color: #ddd; + background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxIDEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPgo8bGluZWFyR3JhZGllbnQgaWQ9Imc2NzAiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCUiIHkxPSIwJSIgeDI9IjAlIiB5Mj0iMTAwJSI+CjxzdG9wIHN0b3AtY29sb3I9IiNGRkZGRkYiIG9mZnNldD0iMCIvPjxzdG9wIHN0b3AtY29sb3I9IiNGNEY0RjQiIG9mZnNldD0iMC4zIi8+PHN0b3Agc3RvcC1jb2xvcj0iI0RERERERCIgb2Zmc2V0PSIwLjk5Ii8+PHN0b3Agc3RvcC1jb2xvcj0iI0JCQkJCQiIgb2Zmc2V0PSIuOTkiLz4KPC9saW5lYXJHcmFkaWVudD4KPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNnNjcwKSIgLz4KPC9zdmc+); + background-image: linear-gradient(to bottom, #ffffff 0%, #f4f4f4 30%, #dddddd 99%, #bbbbbb 99%); + border-color: #999; + color: #333; + } +} + +input::-moz-focus-inner, +button::-moz-focus-inner { + border: 0; + padding: 0; +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* media queries - Styles for auth forms */ +@media @screen_max-xs { + .tpl_sprintdoc { + #dw__login, + #dw__register, + #dw__resendpwd { + fieldset { + width: 100%; + + label.block { + text-align: left; + + > span:first-child { + width: 100%; + } + + input.edit { + width: 100%; + margin-top: .5rem; + } + } + } + } + + #dw__login { + label[for="remember__me"] { + width: 100%; + margin-left: 0; + } + } + } +} diff --git a/css/area_header.less b/css/area_header.less new file mode 100755 index 0000000..b041641 --- /dev/null +++ b/css/area_header.less @@ -0,0 +1,282 @@ +/** + * This file provides the design styles for the page header. + */ + +#dokuwiki__header { + @header-font-opacity: 1; + + @media @screen_max-xs { + min-height: 120px; + } + + /* + + + wiki logo + + + */ + @media @screen_min-md { + .logo { + padding: 1rem 0 .3rem; + text-align: center; + + img { + height: 200px; + width: auto; + transition: transform 200ms ease-in-out; + } + + a:hover, + a:focus, + a:active { + img { + transform: scale(1.05); + } + } + } + } + + @media @screen_max-md { + .logo { + //display: table-cell; + text-align: center; + width: 100%; + + img { + max-height: 200px; + } + + .mobile-only { + margin: .8rem 1rem .6rem 0; + } + } + } + + /* + + + + + DESKTOP - wiki title + claim + + + + + */ + .main-title.desktop-only { + @media @screen_min-md { + display: table-cell; + vertical-align: middle; + } + + @media @screen_max-md { + display: block; + } + + p.title { + @media @screen_max-md { + display: none; + } + } + + p.claim { + @media @screen_max-md { + display: block; + padding-bottom: 1rem; + } + + @media @screen_max-xs { + padding-right: (@toggle-size + @headericons-margin-xxs); + } + } + } + + /* + + + + + MOBILE - wiki title wrapper + + + + + */ + .main-title:not([class*="desktop-only"]) { + @media @screen_max-md { + display: table-cell; + vertical-align: middle; + } + + @media @screen_max-xs { + padding-right: (@toggle-size + @headericons-margin-xxs); + } + } + + /* + + + wiki title + + + */ + p.title { + background-color: var(--color-background); + opacity: @header-font-opacity; + color: @ini_text_webframe; + line-height: @line-height-default; + margin-bottom: .5rem; + + @media @screen_min-md { + font-size: @font-size-big; + } + + @media @screen_max-md { + font-size: (@font-size-default + .25); + padding-top: .5rem; + padding-left: 1rem; + } + } + + /* + + + + + DESKTOP - wiki claim, logo, title wrapper + + + + + */ + @media @screen_min-md { + div.claim { + display: table-cell; + height: 100%; + vertical-align: middle; + } + } + + /* + + + wiki claim + + + */ + p.claim { + opacity: @header-font-opacity; + color: @ini_text_webframe; + font-size: @font-size-default; + margin-bottom: 0; + + @media @screen_max-md { + padding-top: .5rem; + } + } + + /* + + + mobile nav togglelink + + + */ + .menu-togglelink { + position: relative; + margin: @headericons-margin-xxs -(@very-small-spacing) 0 0; + + a { + .fontello(); + .icon-menu(); + .btn-hover(); + + display: block; + min-height: @toggle-size; + min-width: @toggle-size; + box-sizing: border-box; + border: 1px solid @ini_border; + border-radius: @ini_default_border_radius; // @ini_default_border_radius vs. @fix_border-radius + font-size: 1rem; + text-align: center; + text-decoration: none; + line-height: 1; + + &::before { + font-size: 1.5rem; + margin: .1rem 0 0; + } + } + } + + /* + + + mobile select for doku wiki tools + + + */ + .menu-tool-select { + position: relative; + z-index: 1000; + display: none; + @media @screen_max-xxs { + display: block; + } + + select { + display: block; + width:100%; + } + } + + /* + + + + + with magic matcher + + + + + */ + &.has-magicmatcher { + .logo { + @media @screen_min-md { + padding-top: 3rem; + } + } + + .main-title.desktop-only { + @media @screen_min-md { + vertical-align: bottom; + padding-top: @height-context-bar; + padding-bottom: 1rem; + } + + p.title { + @media @screen_min-md { + margin-right: 16rem; + } + } + + p.claim { + @media @screen_max-md { + display: block; + padding-bottom: 1rem; + } + } + } + } +} + +/* + + + + + layout option compact + + + + + */ +.header-compact { + #dokuwiki__header { + min-height: 2.7rem; + margin-bottom: 0.5rem; + + .main-title.desktop-only p.claim, + p.claim { + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + max-width: 35em; + } + + // desktop + @media @screen_min-md { + div.claim { + vertical-align: top; + } + + .main-title.desktop-only { + vertical-align: top; + } + + .main-title.desktop-only, + .logo { + padding-top: 0.4rem; + } + + .logo img { + height: 3.6rem; + } + } + + // mobile middle + @media @screen_max-md { + + .main-title.desktop-only p.claim, + p.claim { + display: none; + } + + .logo { + display: block; + position: absolute; + top: 0; + left: 3rem; + + .mobile-only { + margin: .4rem; + height: 1.75rem; + } + } + + .main-title:not([class*="desktop-only"]) { + display: inline-block; + vertical-align: top; + padding-left: 1.75rem; + } + + p.title { + font-size: 1rem; + } + } + + @media @screen_max-xxs { + min-height: 70px; // needed for menu select toolbar + + .logo { + left: 2rem; + } + + .menu-tool-select { + padding-top: .3rem; + } + } + } +} diff --git a/css/area_main-content-anchor.less b/css/area_main-content-anchor.less new file mode 100644 index 0000000..c5e55dc --- /dev/null +++ b/css/area_main-content-anchor.less @@ -0,0 +1,36 @@ +#dokuwiki__content.main-content { + h1, h2, h3, h4, h5 { + a.anchor { + vertical-align: middle; + margin-left: 0.25em; + display: none; + position: absolute; + + svg { + width: 1em; + height: 1em; + fill: var(--color-foreground); + } + } + + &:hover { + a.anchor { + display: inline-block; + transition-property: filter, border-color; + transition-duration: 200ms; + transition-timing-function: ease-out; + + &:hover { + color: var(--color-glow-primary); + filter: var(--filter-glow-primary); + transition: var(--transition-glow); + + svg { + fill: var(--color-glow-primary); + } + } + + } + } + } +} diff --git a/css/area_main-content-secedit.less b/css/area_main-content-secedit.less new file mode 100644 index 0000000..1d26e34 --- /dev/null +++ b/css/area_main-content-secedit.less @@ -0,0 +1,56 @@ +/** + * This styles the "section editing button" (if not added by data-plugin) + */ + +#dokuwiki__content.main-content { + .secedit:not([class*="plugin"]):not([class*="table"]) { + position: relative; + top: 0; + float: right; + margin-top: 0; // for best position of edit-tab beneath table + + form div.no { + button { + margin-top: -.4rem; + margin-right: -0.4rem; + padding: 0.2rem 0.4rem; + } + } + + // "section editing button" + button { + display: flex; + align-items: center; + background-color: transparent; + color: transparent; + border-color: transparent; + + &::after { + content: ''; + display: inline-block; + background: transparent url("svg.php?svg=pencil.svg&f=existing") center center no-repeat; + height: 1em; + width: 1em; + background-size: contain; + border: solid 2px transparent; + border-radius: @ini_default_border_radius; + margin-left: @small-spacing; + margin-top: -1px; + + color: var(--color-foreground); + mask-size: contain; + mask-position: center; + mask-repeat: no-repeat; + background: currentColor !important; + + mask-image: url('img/pencil.svg'); + } + + &:hover, + &:active, + &:focus { + .fnActiveButton(); + } + } + } +} diff --git a/css/area_main-content.less b/css/area_main-content.less new file mode 100755 index 0000000..6058c8c --- /dev/null +++ b/css/area_main-content.less @@ -0,0 +1,50 @@ +/** + * This file provides the design styles for the main-content. + */ + +#dokuwiki__content.main-content { + div[class^="level"] { + p a.media { + img { + border: 1px dotted var(--color-background); + + } + &:hover, + &:focus, + &:active { + img { + border: 1px solid @ini_existing; + } + } + } + } + + > div, + div[class^="level"] { + > ul, + > ol { + &:not([class="tabs"]) > li { + margin-bottom: @small-spacing; + } + } + } + + .wikipagefooter { + > hr { + margin-top: 3em; + margin-bottom: .5em; + border-top: dashed @ini_border_light 2px; + border-bottom: none; + } + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* min-width: 1440px */ +// @media @screen_min-xlg { +// } + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* max-width: 1199px */ +// @media @screen_max-xlg { +// } diff --git a/css/area_main-sidebar-nav.less b/css/area_main-sidebar-nav.less new file mode 100755 index 0000000..8363b35 --- /dev/null +++ b/css/area_main-sidebar-nav.less @@ -0,0 +1,408 @@ +/** + * This file provides the design styles the navigational elements in the sidebar + */ + +#dokuwiki__aside { + @icon-size: @font-size-big; + @menu-margin: @icon-size + @margin-small * 2; + + @media @screen_md-lg { + margin-left: -1.25rem; + } + + @media @screen_max-md { + display: none; + } + + ul { + padding-left: 0; + } + + nav { + display: flex; + flex-direction: column; + gap: 0.75rem; + + &.nav-main { + margin-bottom: @nav-margin; + } + + > p { + color: var(--color-foreground); + + &.noissue { + color: @ini_text_webframe; + + * { + color: inherit; + } + } + } + + ul, + div.nav { + margin-bottom: 0; + } + + li { + color: var(--color-foreground); + + > div { + color: @ini_text_webframe; + } + + &.toggler { + list-style: none; + margin-left: 0; + } + } + + li:not([class]), + .li { + padding: .15em 0; + + + /* + + + + + active + + + + + */ + + span.curid { + font-weight: bold; + } + } + } + + a, label { + &:link, + &:visited { + opacity: .9; + color: var(--color-foreground); + } + + * { + color: var(--color-foreground); + } + } + + /* + + + the wrapper around the toggle to reserve space + + + */ + + div.nav { + min-height: @icon-size + @margin-small; + background-color: var(--color-background); + border-radius: 0.5rem; + + &.themeToggle input { + width: 0; + height: 0; + margin: 0; + padding: 0; + display: block; + opacity: 0; + } + + // the toggle element + a, label { + border-radius: 0.5rem; + background-color: var(--color-shade-1); + transition: background-color 150ms; + color: var(--color-foreground); + font-size: 1.2em; + border: solid 0.1em var(--color-shade-1); + transition-property: filter, border-color; + transition-duration: 200ms; + transition-timing-function: ease-out; + + + cursor: pointer; + display: flex; + align-items: center; + width: 100%; + opacity: 1; + font-weight: normal; + margin: 0 0 @very-small-spacing; + padding: 0.4rem 0.1rem; + text-decoration: none; + + span { + display: inline-block; + vertical-align: middle; + color: inherit; + } + + span.ico { + display: flex; + align-items: center; + justify-content: center; + i[data-icon] { + font-size: 1.5rem; + } + } + + + /* + + + submenu entry is active + + + */ + /* + + + toggle: open + + + */ + + &.is-active, &.is-open { + background-color: var(--color-shade-2); + border-color: var(--color-shade-4); + color: var(--color-foreground); + + span.ico { + &:after { + background-color: currentColor; + } + + strong { + border-color: currentColor; + } + + svg { + path { + fill: currentColor; + } + } + } + } + } + + &:hover, + &:focus-within { + position: relative; // always show label, even with collapsed sidebar + z-index: 100; + + a, label { + + width: 100%; + background-color: transparent; + border: solid 0.1em var(--color-glow-primary); + text-decoration: none; + color: var(--color-glow-primary); + filter: var(--filter-glow-primary); + transition: var(--transition-glow); + + + span.ico { + &:after { + background-color: currentColor; + } + + strong { + border-color: inherit; + } + + svg { + path { + fill: currentColor; + } + } + } + } + + } + + span.ico { + position: relative; + display: table-cell; + width: (@menu-margin - .1); + min-width: (@menu-margin - .1); + height: @icon-size; + text-align: center; + vertical-align: middle; + color: inherit; + + &::after { + @border-height: 1.5rem; + + content: ''; + position: absolute; + right: 0; + top: 50%; + bottom: auto; + height: @border-height; + width: 1px; + background-color: currentColor; + margin-top: -(@border-height / 2); + + // wordbreak too late in IE 10 + @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { + top: 0; + bottom: .5rem; + height: 100%; + margin: 0; + } + } + + // simple fake icon + strong { + display: inline-block; + width: @icon-size * 0.98; + height: @icon-size * 0.98; + border: 2px solid currentColor; + border-top-right-radius: 50%; + border-bottom-left-radius: 50%; + color: inherit; + font-size: @icon-size * 0.5; + line-height: @icon-size * 0.9; + vertical-align: baseline; + text-align: center; + margin: @icon-size * 0.05; + padding: 0 .05em .05em; + } + + // real icon + svg { + width: @icon-size; + height: @icon-size; + + path { + fill: currentColor; + transition: @transition all; + } + } + } + + span.lbl { + display: table-cell; + font-size: inherit; + padding-left: .5rem; + } + } + + /* + + + + + the panel (hidden by default) + + + + + */ + + div.nav-panel { + display: none; + margin-top: .5rem; + margin-left: @margin-small; + + ul { + margin-bottom: 1rem; + + ul { + margin-bottom: 0; + margin-left: 16px; + } + } + + ul.toollist li { + margin-left: 0; + } + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* min-width: 1440px */ +@media @screen_min-xlg { + #dokuwiki__aside { + nav { + li:not([class]), + .li { + font-size: @font-size-head6; + + * { + font-size: inherit; + font-weight: inherit; + } + + a { + font-size: (@font-size-head6 - .05); + } + } + } + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* max-width: 1440px */ +@media @screen_max-xlg { + #dokuwiki__aside { + div.nav { + a { + margin-left: 0; + } + } + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* max-width: 1023px */ +@media @screen_max-md { + #dokuwiki__aside { + div.nav { + a { + margin-left: 0; + } + } + } + + body.show-mobile-sidebar { + #dokuwiki__aside { + display: block !important; + position: absolute; + left: 1.25rem; // left margin of content container + box-shadow: @box-shadow-right-bottom; + min-width: 45%; + max-width: 90%; + height: auto; + background: var(--color-background); + + > nav { + position: relative; + + &:first-child { + margin-top: 1.2rem; + } + + a, + label { + font-size: @font-size-small; + } + } + + a.nav { + border-radius: 0; + border-right-width: 0; + border-left-width: 0; + } + + div.nav-panel, + a.nav { + margin-top: 0; + padding-right: .8em; + } + } + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* max-width: 768px */ +@media @screen_max-xs { + body.show-mobile-sidebar { + .page-wrapper > .tools { + top: 2.5rem; + } + + #dokuwiki__aside { + left: 1.25rem; + right: 1.25rem; + width: auto; + max-width: 100%; + margin-top: -1rem; + } + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* max-width: 480px */ +@media @screen_max-xxs { + body.show-mobile-sidebar { + #dokuwiki__aside { + left: 4px; + right: 4px; + + > nav { + a { + font-size: @font-size-default; + } + } + } + } +} diff --git a/css/area_main-sidebar-search.less b/css/area_main-sidebar-search.less new file mode 100644 index 0000000..a14fbc6 --- /dev/null +++ b/css/area_main-sidebar-search.less @@ -0,0 +1,241 @@ +/** + * This file provides the design styles for the quick search. + */ + +.search.main-sidebar { + @main-ico-dummy: @font-size-big + @margin-small*2; //FIXME copied from area_main-sidebar-nav + @icon-size: @page-header_height; + @icon-search_font-size: @font-size-big; + + @media @screen_md-lg { + margin-left: -(@menu-margin-lg); + } + + p.toggleSearch a, + button[type="submit"] { + .hide-text-show-before(); + + position: relative; + width: @icon-size; + min-height: @icon-size; + overflow: visible; + background-image: none; + background-color: transparent; // fix + border: solid 1px transparent; + padding: 0; + transition: @transition color, @transition background-color, @transition border-color; + display: flex; + align-items: center; + + &:hover, + &:focus, + &:active { + .fnActiveButton(); + + &::after{ + background-color: var(--color-glow-primary); + } + } + + &::before { + width: @icon-size; + height: 0.8em; + font-size: @icon-search_font-size; + text-align: center; + margin: 0; + color: var(--color-foreground); + content: ''; + display: block; + mask-size: contain; + mask-position: center; + mask-repeat: no-repeat; + background-color: currentColor; + + + mask-image: url('img/search.svg'); + } + } + + p.toggleSearch { + display: none; + padding: 0; + + a { + min-width: (@toggle-showsidebar_width + 0.1); /* must be a bit a wider than @toggle-showsidebar_width to hide right border */ + width: @main-ico-dummy; + border-radius: 0.5rem 0 0 0.5rem; + border-right: none; + background-color: var(--color-shade-1); + color: var(--color-foreground); + text-decoration: none; + box-sizing: border-box; + + &::before { + width: 100%; + color: inherit; + text-align: center; + } + + &:hover, + &:focus, + &:active { + border-right: none; + background-color: transparent; + border-color: var(--color-glow-primary); + color: var(--color-glow-primary); + } + } + } + + button[type="submit"] { + position: absolute; + top: 1px; + bottom: 1px; + right: 0; + height: auto; + min-height: (@icon-size - .2); + color: @quicksearch-button-color; + } + + /* + + + form + + + */ + form { + position: relative; + display: block; + margin: 0 0 @margin-default; + + .no { + display: block; + + #qsearch__in { + width: 100%; + padding-left: 10px; + padding-right: @icon-size; + } + } + + input { + min-height: @icon-size; + box-sizing: border-box; + } + + button[type="submit"] { + border: solid 1px transparent; + margin-left: -(@icon-size); + + &::after { + content: ''; + position: absolute; + top: 15%; + bottom: 15%; + width: 1px; + left: -1px; + background-color: var(--color-shade-4); + transition: @transition background-color; + } + } + + div.ajax_qsearch { + box-shadow: none; + background-color: var(--color-shade-1); + padding: 0; + z-index: 300; // otherwise hidden behind sidebar in mobile view + border: solid 0.1em var(--color-shade-4); + border-radius: 0.5rem; + + > strong { + color: var(--color-foreground); + padding: 0.25rem 0.5rem; + border-bottom: solid 0.1em var(--color-shade-4); + } + + ul li { + color: var(--color-foreground); + + a { + display: block; + padding: 0.25rem 0.5rem; + overflow: hidden; + color: inherit; + text-overflow: ellipsis; + + &:hover, + &:focus, + &:active { + background-color: var(--color-shade-2); + } + } + } + } + } + + /* + + + + + suggestionlist + + + + + */ + #qsearch__out { + left: auto; + top: auto; + width: 100%; + min-width: 20rem; + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* min-width: 1024px */ +@media @screen_min-md { + + // wide page content + .wide-content { + .search.main-sidebar { + p.toggleSearch { + position: relative; + display: block; + float: left; + width: auto; + } + + form { + input { + border: 0 none; + } + + .no { + #qsearch__in { + width: 0; + padding: 0; + margin: 0; + } + + button[type="submit"] { + display: none; + } + } + } + } + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* max-width: 1023px */ +@media @screen_max-md { + + // show when toggled + body.show-mobile-sidebar { + #dokuwiki__aside { + padding: 0 1rem; + border-radius: 0.5rem; + } + + p.toggleSearch { + display: none !important; + } + + .search.main-sidebar { + display: block !important; + position: relative; + margin-left: -1px; + margin-right: -1px; + + form { + margin-bottom: 1rem; + } + } + } +} diff --git a/css/area_main-sidebar-tabs.less b/css/area_main-sidebar-tabs.less new file mode 100644 index 0000000..f2fdefd --- /dev/null +++ b/css/area_main-sidebar-tabs.less @@ -0,0 +1,33 @@ +/** + * This file provides the design styles for tab list in sidebar + */ + +/* default view */ +#dokuwiki__aside ul.sidebar-tabs { + margin-top: 0; + margin-bottom: @nav-margin; + + border-bottom: 1px solid @ini_nav_menu_color; + + white-space: nowrap; + + li { + display: inline-block; + border: 1px solid @ini_nav_menu_color; + padding: 0.25em 0.5em; + margin-bottom: -1px; + margin-left: 0.5em; + border-top-right-radius: @fix_border-radius; + border-top-left-radius: @fix_border-radius; + + &.active { + border-bottom: 1px solid var(--color-background); + font-weight: bold; + } + } +} + +/* wide content view */ +.wide-content #dokuwiki__aside ul.sidebar-tabs { + visibility: hidden; +} diff --git a/css/area_msg.less b/css/area_msg.less new file mode 100644 index 0000000..8697293 --- /dev/null +++ b/css/area_msg.less @@ -0,0 +1,88 @@ +/** + * This file provides the design styles for message block + */ + +.msg-area { + clear: both; + padding-top: 1.6rem; + + div { + line-height: 135%; + } + + &:empty { + display: none; + } +} + +div.success, +div.error, +div.info, +div.notify { + display: block; + border: none; + border-left: solid 0.5rem var(--color-shade-4); + border-radius: 0.5rem; + padding: 1em; + background-image: none; + background-color: var(--color-shade-1); + + &::before { + display: inline-block; + content: ""; + margin: 0.3em 0.2em 0 0; + width: 1em; + height: 1em; + mask-size: contain; + mask-position: center top; + mask-repeat: no-repeat; + background-color: currentColor; + vertical-align: top; + } + + &.success { + color: var(--color-success); + + &::before { + mask-image: url(img/tick_small.svg); + } + } + + &.error { + border-left-color: var(--color-error); + color: var(--color-foreground); + + &::before { + background-color: var(--color-error); + mask-image: url(img/power.svg); + } + } + + &.info { + color: var(--color-foreground); + + &::before { + mask-image: url(img/info.svg); + } + } + + &.notify { + border-left-color: var(--color-warning); + color: var(--color-foreground); + + &::before { + background-color: var(--color-warning); + mask-image: url(img/warning.svg); + } + } + + a { + text-decoration: underline; + + &:hover, + &:focus, + &:active { + text-decoration: none; + } + } +} diff --git a/css/area_nav-breadcrumb.less b/css/area_nav-breadcrumb.less new file mode 100755 index 0000000..4200172 --- /dev/null +++ b/css/area_nav-breadcrumb.less @@ -0,0 +1,86 @@ +/** + * This file provides the design styles for the breadcrumb + */ + +.breadcrumbs { + position: relative; + min-height: @page-header_height; + box-sizing: border-box; + background-color: var(--color-background); + border-bottom: 1px solid var(--color-shade-4); + padding: 1rem 1.8rem .2rem; + + @media @screen_max-xs { + padding-left: @margin-small; + padding-right: .75rem; + } + + > p { + font-size: @font-size-small; + margin: 0; + + @media @screen_max-xs{ + width: 0; + position: relative; + overflow: hidden; + height: 1.6rem; + } + + * { + font-size: @font-size-small; + } + + .bchead { + .sr-only(); + } + + span.home { + margin-left: -.2rem; // reverse spacing in home icon --> content text and home icon aligned + + .wide-content & { + margin-left: .4rem; //toggle link has position absolute, hover on home icon needs more space than left padding of breadcrumb + } + + a { + .fontello(); + .hide-text-show-before(); + .icon-home(); + + min-height: 1.8em; + min-width: 1.9em; + width: auto; + box-sizing: border-box; + background-color: var(--color-shade-1); + border: solid .1em transparent; + border-radius: 0.5rem; + vertical-align: middle; + text-decoration: none; + margin-top: -.2em; + transition: var(--transition-glow); + + &:before { + color: var(--color-foreground); + font-size: @font-size-default + (@font-scale-factor * 2); + margin-top: .17rem; + } + + &:hover, + &:focus, + &:active { + &:before { + color: var(--color-glow-primary); + } + + background-color: transparent; + border-color: var(--color-glow-primary); + color: var(--color-glow-primary); + filter: var(--filter-glow-primary); + } + } + } + + bdi { + padding: .1em .1em 0; + } + } +} diff --git a/css/area_nav-direct.less b/css/area_nav-direct.less new file mode 100755 index 0000000..62bbe63 --- /dev/null +++ b/css/area_nav-direct.less @@ -0,0 +1,49 @@ +/** + * This file provides the design styles for the direct / menu jump links. + */ + +.nav-direct { + background-color: @nav_direct_background; + margin-top: -1px; + + p { + box-sizing: border-box; + text-align: center; + position: absolute; + left: 0; + top: -1px; + width: 100%; + height: 1px; + + a:link, + a:visited { + .sr-out(); + + box-shadow: @box-shadow; + display: block; + width: 100%; + background-color: @nav_direct_background; + border-bottom: 1px solid @ini_border_light; + color: @nav_direct_color; + line-height: @line-height-default; + text-decoration: none; + padding: 1em; + box-sizing: border-box; + border-radius: 0; + } + + a:focus, + a:hover, + a:active { + top: 0; + left: 0; + text-decoration: underline; + min-height: 50px; + } + + a:hover, + a:active { + text-decoration: none; + } + } +} diff --git a/css/area_nav-metabox.less b/css/area_nav-metabox.less new file mode 100755 index 0000000..1e16a28 --- /dev/null +++ b/css/area_nav-metabox.less @@ -0,0 +1,400 @@ +/** + * This file provides the design styles for the metatabbox + */ + +#spr__meta-box { + .display-flex(); + .flex-direction(); + .justify-content(flex-end); + + clear: none; + display: block; + position: relative; + float: right; + + box-sizing: border-box; + max-width: 40%; + padding-bottom: 0.5rem; + height: 4rem !important; + + color: var(--color-foreground); + + // >= 1024 + @media @screen_min-md { + height: @page-header_height; + border: 0 none; + } + + // < 1024 + @media @screen_max-md { + position: relative; + top: .2rem; + right: auto; + float: none; + max-width: 100%; + min-height: @page-header_height; + height: auto; + border: 0 none; + } + + &.sticky { + position: fixed; + top: 0; + + ul.meta-tabs > li > a { + border-top-color: var(--color-background); + border-bottom-color: var(--color-shade-4); + border-radius: 0 0 @ini_default_border_radius @ini_default_border_radius; + + } + + .meta-content .tab-pane.active { + max-height: 80vh; + overflow: auto; + } + } + + + .msg-area + a { + clear: right; + margin-top: 20px; + } + + .tab-container { + display: table; + + @media @screen_max-md { + display: block; + width: 100%; + } + } + + .box-content { + position: relative; + height: 0; + overflow-y: visible; + } + + + /* + + + + + tab controls + + + + + */ + ul.meta-tabs { + list-style: none; + line-height: 160%; + margin: 0; + padding: 0; + + @media @screen_min-md { + white-space: nowrap; + text-align: right; + } + + &::before, + &::after { + content: ''; + clear: both; + display: table; + box-sizing: border-box; + } + + > li:first-child { + > a { + margin-left: 0; + } + } + + > li { + position: relative; + display: inline-block; + vertical-align: bottom; + margin: 0; + + @media @screen_min-md { + margin-left: .3rem; + } + + @media @screen_max-md { + margin-right: .4rem; + margin-bottom: .2rem; + } + + > a { + cursor: pointer; + position: relative; + display: block; + font-size: @font-size-small; + transition: var(--transition-glow); + background-color: var(--color-shade-1); + border: solid 0.1em transparent; + border-radius: 0.5rem; + color: var(--color-foreground); + padding: .25em; + margin-left: 0; + + @media @screen_max-md { + top: 0; + margin-top: .2rem; + } + + * { + cursor: pointer; + color: inherit; + font-size: inherit; + } + + .prefix { + position: relative; + color: inherit; + font-size: @font-size-small; + } + + &:hover, + &:focus, + &:active { + text-decoration: none; + background-color: transparent; + border-color: var(--color-glow-secondary); + color: var(--color-glow-secondary); + filter: var(--filter-glow-secondary); + } + } + + &.active { + > a { + cursor: default; + } + } + } + } + + /* + + + + + toggle content + + + + + */ + .meta-content { + margin-top: -1px; + + @media @screen_max-md { + clear: both; + margin-top: 2px; + } + + .tab-pane { + position: absolute; + top: 0; + right: 0; + display: none; + width: 100%; + background-color: var(--color-shade-1); + border: solid .1em transparent; + border-radius: 0.5rem; + + @media @screen_min-xs { + min-width: 20em; + } + + @media @screen_min-md { + margin-top: 0.5rem; + } + + &.active { + display: block; + } + + a { + color: var(--color-foreground); + } + + > div { + font-size: @font-size-small; + padding: .8rem .5rem .5rem; + + * { + font-size: inherit; + } + + p { + padding-left: 1em; + } + + ul { + list-style: none; + padding-left: 0; + } + + li { + list-style-image: none; // overwrite universally styles + margin-left: 0; + padding-left: 1em; + } + } + + &#spr__tab-tags { + > div { + ul { + li { + padding-left: 0; + } + } + } + } + + #dw__toc { + width: auto; + float: none; + margin: 0; + padding: .6rem .5rem .5rem .8rem; + background-color: transparent; + color: var(--color-foreground); + border: solid .1em var(--color-shade-4); + border-radius: 0.5rem; + + h3 { + display: none; + } + + > div { + padding: 0; + } + + > div ul.toc { + font-size: @font-size-small; + padding-left: .5em; + + a { + font-size: @font-size-small; + display: inline-block; + padding-left: 10px; + position: relative; + } + + div.li { + position: relative; + padding: .15em 0; + + &::before { + content: ''; + position: absolute; + top: .6em; + left: 0; + display: inline-block; + width: 4px; + height: 4px; + overflow: hidden; + background-color: var(--color-shade-4); + } + } + } + + > div > ul.toc { + padding: 0; + } + } + } + } + + /* + + + + + tab issues + + + + + */ + #spr__tab-issues { + ul.mmissuelist { + padding-left: 0; + margin-top: 1rem; + + li { + &.noissue { + font-size: @font-size-small; + list-style-type: none; + margin-left: 0; + + .li { + font-size: @font-size-small; + margin-left: .5rem; + } + } + + a { + display: inline-block; + } + } + + img { + vertical-align: bottom; + margin-right: .3rem; + } + + .mm__status { + padding-left: .3rem; + padding-right: .3rem; + } + + form { + vertical-align: text-top; + } + } + } + + /* + + + + + tab issues + + + + + */ + /* see plugins/magic-matcher.less */ + #spr__tab-issues { + ul.mmissuelist { + padding-left: 0; + margin-top: .5rem; + margin-bottom: .6rem; + + li { + list-style-type: none; + margin-top: .3rem; + margin-left: .5rem; + + &.noissue { + list-style-type: none; + margin-left: 0; + } + } + + a { + display: inline-block; + font-size: @font-size-small; + + * { + font-size: inherit; + } + } + + img { + vertical-align: bottom; + margin-right: .3rem; + } + + .mm__status { + display: inline-block; + text-decoration: none; + padding-left: .3rem; + padding-right: .3rem; + } + + form { + vertical-align: text-top; + + button { + background: @ini_button_background; + border-color: @ini_button_background; + color: @ini_button_color; + font-size: @font-size-small; + padding: .2em .3em; + + &[name="removeIssue"] { + min-width: 20px; + font-size: .94rem; + font-weight: bold; + line-height: 95%; + text-align: center; + padding: 0 .1rem .1rem; + margin-left: .5rem; + } + + &:hover, + &:focus, + &:active { + background: @ini_button_color; + color: @ini_button_background; + } + } + } + } + } +} diff --git a/css/area_nav-page-attributes.less b/css/area_nav-page-attributes.less new file mode 100644 index 0000000..2d24c75 --- /dev/null +++ b/css/area_nav-page-attributes.less @@ -0,0 +1,54 @@ +/** + * Page Attribute Icons in the breadcrumb bar + */ +.page-attributes { + list-style: none; + float: right; + margin: -.45em 0 0; // FIXME sourrounding CSS should be fixed so negative margin is not needed + padding: 0; + display: flex; + gap: 0.5rem; + + > li { + margin: 0; + padding: 0; + border: 1px solid @wikiicons-border; + border-radius: @ini_default_border_radius; + position: relative; + display: flex; + align-items: center; + justify-content: center; + transition: @transition background-color, @transition border-color, @transition color; + + // override any plugin element styles + * { + margin: 0; + padding: 0; + line-height: normal; + display: block; + } + + // number badge + .btn-usertools-num(); + + // icon + svg { + height: 1.5em; + width: 1.5em; + + path { + fill: @ini_nav_menu_color; + } + } + + // adjust colors on hover + &:hover { + background-color: @ini_nav_menu_hover_color; + border-color: @ini_nav_menu_hover_color; + + svg path { + fill: @ini_nav_menu_hover_bg; + } + } + } +} diff --git a/css/area_nav-pagetools.less b/css/area_nav-pagetools.less new file mode 100755 index 0000000..7172ae1 --- /dev/null +++ b/css/area_nav-pagetools.less @@ -0,0 +1,192 @@ +/** + * This file provides the design styles for the page specific tool bar. + */ + +/* + FIXME +.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); +.pagetools-item(img_backto, 12); +*/ + +#dokuwiki__aside { + @media @screen_max-md { + display: none !important; + } +} + +nav#dokuwiki__pagetools { + @toolbox-size: 30px; + + @page-tools_svg-size: 25px; + @page-tools_svg-space: (@toolbox-size - @page-tools_svg-size) / 2; + @item-width: (@page-tools_svg-size + @page-tools_svg-space + @page-tools_svg-space); + @item-height: (@page-tools_svg-size + @page-tools_svg-space); + + top: 3.05rem; + position: absolute; + + width: @item-width; + + @media @screen_min-md { + right: -2.5rem; + } + + @media @screen_max-md { + right: 8px; + } + + @media @screen_max-xxs { + display: none; + } + div.tools { + position: fixed; + width: @item-width; + } + + 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; + + li { + padding: 0; + margin: 0; + list-style: none; + + a { + display: inline-table; + /* add transparent border to prevent jumping when proper border is added on focus */ + border: 1px solid transparent; + white-space: nowrap; + vertical-align: middle; + height: @item-height; + + position: relative; + line-height: 20px; + font-size: @font-size-default; + padding: 2px 0 2px 2px; + + @media @screen_min-md { + color: @ini_nav_menu_color; + } + + @media @screen_max-md { + color: @ini_existing; + } + + &::before { + display: none; + } + + &:hover, + &:focus, + &:active { + background-color: transparent; + } + + &:focus { + box-shadow: none; + background-image: none; + color: var(--color-glow-primary); + transition: var(--transition-glow); + filter: var(--filter-glow-primary); + + span { + position: relative; + display: inline; + width: auto; + height: auto; + } + + svg { + fill: var(--color-glow-primary); + } + } + + span { + .sr-only(); + + padding-right: .5rem; + padding-left: .3rem; + } + + svg { + display: inline-block; + width: @page-tools_svg-size; + height: @page-tools_svg-size; + vertical-align: middle; + border: solid 1px transparent; + margin: @page-tools_svg-space; + fill: var(--color-foreground); + } + + &.top { + margin-top: 1em; + } + } + } + } + + &:hover { + ul { + box-shadow: @box-shadow; // @box-shadow-offset; + background-color: var(--color-shade-1); + border-color: var(--color-shade-4); + border-radius: 0.5rem; + + li { + color: var(--color-foreground); + + a { + box-shadow: none; + background-image: none; + border-color: transparent; + color: inherit; + + svg { + border: solid 1px transparent; + border-radius: @ini_default_border_radius; + fill: var(--color-foreground); + transition: @transition background-color, @transition border-color, @transition fill; + } + + &:hover, + &:focus, + &:active { + color: var(--color-glow-primary); + transition: var(--transition-glow); + filter: var(--filter-glow-primary); + + svg { + background-color: transparent; + border: none; + fill: var(--color-glow-primary); + } + } + + span { + position: static; + width: auto; + height: auto; + margin: auto; + } + } + } + } + } +} diff --git a/css/area_nav-usertools.less b/css/area_nav-usertools.less new file mode 100755 index 0000000..2762329 --- /dev/null +++ b/css/area_nav-usertools.less @@ -0,0 +1,352 @@ +/** + * This file provides the design styles for the direct / menu jump links. + */ + +#dokuwiki__usertools.nav-usertools { + @media @screen_min-md { + right: 1.25rem; + } + + @media @screen_max-md { + position: absolute; + top: 0; + left: (@toggle-size + 1.25); // margin-left content + right: @headericons-margin-xxs; + margin-top: 0; + margin-right: 0; + } + + &.has-bar { + @media @screen_min-md { + margin-top: @height-context-bar; + padding-top: .5em; + } + } + + /* + + + + + icon list + + + + + */ + ul { + float: right; + padding: 0; + margin: (@very-small-spacing * 2) -.25rem 0 0; + + @media @screen_max-md { + margin-right: .5rem; + } + + @media @screen_max-xxs { + margin-right: -.3rem; + } + + li { + .btn-usertools-wrapper(); // uniform li + .btn-usertools-num(); + + float: right; + + @media @screen_max-xs { + display: block; + float: none; + + margin-bottom: @headericons-margin-xxs; + } + + @media @screen_max-xxs { + margin-bottom: (@headericons-margin-xxs - .2); + display: none; + } + + > span, + > a { + display: block; + width: auto; + min-width: (@toggle-size + .25); + min-height: @toggle-size; + overflow: hidden; + border: 1px solid @wikiicons-border; + border-radius: @ini_default_border_radius; // @ini_default_border_radius vs. @fix_border-radius + text-align: center; + margin: 0; + + @media @screen_md-xlg { + padding-top: .14rem; + } + } + + /* !!! &.user-task FIND in plugins/do_tasks.less !!! */ + &.user { + position: relative; + display: table-cell; + background-color: var(--color-shade-1); + border: solid 1px var(--color-shade-2); + border-radius: @ini_default_border_radius; // @ini_default_border_radius vs. @fix_border-radius + color: var(--color-foreground); + padding-right: .3rem; + + @media @screen_max-md { + min-height: @toggle-size; + } + + @media @screen_max-xs { + position: absolute; + top: @headericons-margin-xxs; + right: (@toggle-size + @headericons-margin-xxs + 1); // 1.75rem + 1 + (button login/out margin-right) + overflow: hidden; + white-space: nowrap; + margin: -1px 0 0; + } + + @media @screen_max-xxs { + left: -10px; + right: 0; + width: auto; + } + + > a { + .display-flex(); + .align-items(); + + position: relative; + height: 1rem; // for IE11 + overflow: visible; + background: var(--color-shade-1); // for removing bg-image + border: 0 none; + color: var(--color-foreground); + text-indent: 0; + font-size: inherit; + margin-right: -.3rem; + padding: 0 .2em 0 0; + + @media @screen_min-xxlg { + min-height: (@toggle-size - .1); + margin-top: -.4rem; + } + + @media @screen_max-xxlg { + min-height: (@toggle-size - .15); + margin-top: -.35rem; + } + + @media @screen_max-md { + min-height: (@toggle-size - .1); + margin-top: -.35rem; + } + + @media @screen_max-sm { + margin-top: -.35rem; + } + + @media @screen_max-xs { + margin-top: -.4rem; + } + + &::before { + content: ''; + top: -1px; + bottom: -1px; + left: -1px; + right: -1px; + width: auto; + opacity: 0; + border: solid 1px var(--color-shade-2); + border-radius: @ini_default_border_radius; // @ini_default_border_radius vs. @fix_border-radius + color: inherit; + transform: none; + } + + &:hover, + &:focus, + &:active { + background-color: transparent; + color: var(--color-glow-secondary); + filter: var(--filter-glow-secondary); + transition: var(--transition-glow); + + &::before { + opacity: 1; + filter: var(--filter-glow-secondary); + border-color: var(--color-glow-secondary); + } + + bdi, + bdi:first-of-type { + color: @ini_nav_menu_hover_bg; + } + } + } + + bdi { + display: inline-block; + color: inherit; + } + + bdi:first-of-type { + .fontello(); + .icon-user-circle(); + + position: relative; + margin: 0 0 0 .25rem; + padding: 0 .1rem 0 1.3rem; + + &::before { + position: absolute; + top: 2px; + left: -2px; + font-size: @font-size-default + (@font-scale-factor * 4); + margin: 0; + } + } + } // user + } // li + + /* + + + icons + + + */ + .menuitem, button { + padding: 2px 0 0 2px; + min-height: @toggle-size; // overrides button[type="submit"] styles + background-color: var(--color-shade-1); + color: var(--color-foreground); + border: solid 1px var(--color-shade-2); // overrides button[type="submit"] styles + .btn-hover(); + + &:hover, + &:active, + &:focus { + background-color: transparent; + border-color: var(--color-glow-secondary); + color: var(--color-glow-secondary); + filter: var(--filter-glow-secondary); + } + + &:hover svg, + &:active svg, + &:focus svg { + transition: @transition fill; + fill: var(--color-glow-secondary); + } + + svg { + fill: var(--color-shade-1); + height: @font-size-default + (@font-scale-factor * 4); + } + + span { + display: none; + } + } + + a { // Pre-Greebo backwards compatibility, remove after transitioning to Greebo + .fontello(); + .hide-text-show-before(); + .btn-hover(); + + background-color: var(--color-shade-1); + cursor: pointer; + position: relative; + line-height: 1; + text-decoration: none; + + &::before { + .center-middle(); + + content: "?"; + cursor: pointer; + display: block; + width: 100%; + box-sizing: border-box; + font-size: @font-size-default + (@font-scale-factor * 4); + line-height: 1; + } + + /* icon register new user */ + &.register { + .icon-user(); + } + + /* icon log-out */ + &.logout { + .icon-logout(); + } + + /* icon log-in */ + &.login { + .icon-login(); + } + + /* icon admin */ + &.admin { + .icon-cog(); + + &::before { + vertical-align: top; + } + } + } // a + } // ul +} // nav-usertools + +/* + + + + + layout option compact + + + + + */ +.header-compact { + #dokuwiki__usertools.nav-usertools { + + // mobile + @media @screen_max-md { + left: 6rem; + + ul { + overflow: hidden; + + li.user { + color: var(--color-background); + + bdi { + position: absolute; + width: 0; + padding: 0; + text-indent: -10000px; + + &:before { + transition: @transition background-color; + background-color: var(--color-shade-1); + color: var(--color-foreground); + text-indent: 0; + } + } + + > a { + padding: 0 .2em; + color: @ini_nav_menu_hover_bg; + + bdi { + &:before { + background-color: var(--color-shade-1); + color: var(--color-foreground); + } + } + + &:hover { + color: var(--color-glow-secondary); + + bdi { + &:before { + background-color: transparent; + color: var(--color-glow-secondary); + } + } + } + } + + bdi + bdi { + display: none; + } + } + } + } + + @media @screen_max-sm { + ul li { + position: static; + float: right; + top: 0; right: 0; + } + } + } +} diff --git a/css/area_recent.less b/css/area_recent.less new file mode 100644 index 0000000..9583da8 --- /dev/null +++ b/css/area_recent.less @@ -0,0 +1,167 @@ +/** + * This file provides the design styles for page revisions + */ + +.dokuwiki { + + /* + + + + + list of changes + + + + + */ + form.changes { + li { + .sizechange { + color: @color-editBox; + + &.positive { + background-color: var(--color-success); + color: var(--color-background); + } + + &.negative { + background-color: var(--color-error); + color: var(--color-foreground); + } + } + } + + > .no > ul > li { + min-height: @formfield_min-height; + vertical-align: baseline; + margin-bottom: @small-spacing; + + .li { + line-height: 150%; + + > * { + min-height: 10px; + } + } + + a, + span, + img { + vertical-align: baseline; + } + + img { + margin-left: @small-spacing; + margin-right: @small-spacing; + } + + input[type="checkbox"] { + margin: 0 .5rem .2rem -1.5rem; + } + + span.user bdi { + a { + vertical-align: baseline; + } + } + } + } + + /* + + + + + view of differents + + + + + */ + a.difflink { + color: @ini_existing; + + * { + color: inherit; + } + } + + .diffnav { + a { + background-color: var(--color-background); + border: solid 1px var(--color-background); + border-radius: 0.5rem; + color: var(--color-foreground); + + &::before { + background-color: inherit; + border: 0 none; + color: inherit; + } + + &:hover, + &:focus, + &:active { + background-color: transparent; + border-color: var(--color-glow-primary); + color: var(--color-glow-primary); + transition: var(--transition-glow); + filter: var(--filter-glow-primary); + + &::before { + background-color: inherit; + color: inherit; + } + } + } + } + + table.diff { + background-color: var(--color-background); + border: none; + + &.diff_inline { + border-top-width: 0; + + .diffnav { + padding-top: 10px; + padding-bottom: 10px; + } + } + + th { + background-color: var(--color-background); + color: var(--color-foreground); + padding-top: 10px; + padding-bottom: 10px; + + &.minor { + color: #999; + } + } + + td { + background-color: transparent; + color: var(--color-text-1); + + &.diff-blockheader { + background-color: transparent; + color: var(--color-foreground); + } + + &.diff-context { + background-color: transparent; + color: var(--color-text-1); + } + } + + .diff-addedline { + background-color: var(--color-success-highlight); + color: var(--color-foreground); + + strong { + background-color: transparent; + color: var(--color-success) !important; + } + } + + .diff-deletedline { + background-color: var(--color-error-highlight); + color: var(--color-foreground); + + * { + color: inherit; + } + + strong { + background-color: transparent; + color: var(--color-error) !important; + } + } + + .diff-lineheader { + background-color: transparent; + } + } +} diff --git a/css/area_search.less b/css/area_search.less new file mode 100644 index 0000000..503570e --- /dev/null +++ b/css/area_search.less @@ -0,0 +1,9 @@ +/** + * This file provides the design styles for the search results + */ + +/* search hit in normal text */ +.dokuwiki .search_hit { + background-color: @ini_highlight; + color: @ini_highlight_text; +} diff --git a/css/area_tabs.less b/css/area_tabs.less new file mode 100644 index 0000000..8b98f02 --- /dev/null +++ b/css/area_tabs.less @@ -0,0 +1,45 @@ +/** + * This file provides styles for tab boxes + */ + +/* + + + + + tabs + + + + + */ +#dokuwiki__content { + ul.tabs { + li:not([class~="active"]) { + strong, + a { + transition: @transition background-color, @transition color; + } + + a { + background-color: var(--color-shade-2); + color: var(--color-accent-1); + } + strong { + background-color: var(--color-shade-3); + color: inherit; + } + + a:hover, + a:focus, + a:active { + color: var(--color-accent-3); + } + } + } + + .tabs > ul { + li:not([class~="active"]) { + a { + color: @ini_text_neu; + transition: @transition background-color, @transition color; + } + + a:hover, + a:focus, + a:active { + color: @ini_text; + } + } + } +} diff --git a/css/area_togglelink.less b/css/area_togglelink.less new file mode 100755 index 0000000..9a12b47 --- /dev/null +++ b/css/area_togglelink.less @@ -0,0 +1,78 @@ +/** + * This file provides the design styles for the sidebar (navmain). + */ + +.togglelink { + &.page_main-content { + position: absolute; + top: 0; + bottom: -1px; + width: 2rem; + left: -(@margin-default + 0.25rem); + + @media @screen_max-md { + display: none; + } + + a { + position: absolute; + inset: 0; + + width: @margin-default; + height: 100%; + background-color: transparent; + border: solid 1px var(--color-shade-4); + border-right-style: none; + border-radius: 0.5rem 0 0 0.5rem; + color: var(--color-shade-4); + text-decoration: none; + transition: @transition color, @transition background-color, @transition border-color; + + &::before { + content: ''; + display: block; + position: absolute; + inset: 0.3rem; + mask-size: contain; + mask-position: center; + mask-repeat: no-repeat; + background-color: currentColor; + mask-image: url('img/arrow_left.svg'); + + } + + &:hover, + &:focus, + &:active { + border-color: var(--color-glow-primary); + color: var(--color-glow-primary); + text-decoration: none; + + * { + color: inherit; + text-decoration: none; + } + + filter: var(--filter-glow-primary); + transition: var(--transition-glow); + + } + } + + /* + + + toggle out + + + */ + + .wide-content & { + left: 0; + + a { + border-radius: 0 0.5rem 0.5rem 0; + border-style: solid; + border-left-style: none; + + &::before { + mask-image: url('img/arrow_right.svg'); + } + } + } + } +} diff --git a/css/base.less b/css/base.less new file mode 100755 index 0000000..5b50fb6 --- /dev/null +++ b/css/base.less @@ -0,0 +1,839 @@ +/** + * This file provides the basic/reset styles. + */ + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* global vars */ +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +@font_family_screen: "Athiti", ui-sans, sans-serif; +@font_family_print: "Athiti", ui-sans, sans-serif; + +@nav_direct_background: var(--color-background); +@nav_direct_color: @ini_existing; + +@background_darker: rgba(230,230,230, .2); +@ini_sidebar_width: (100 - @ini_site_width) - 4; + +@height-context-bar: 50px; + +@margin-small: 1rem; +@margin-default: 2rem; +@margin-big: 3.07rem; +@nav-margin: 1.3rem; + +@small-spacing: .3rem; +@very-small-spacing: .2rem; + +@grid: @margin-small; +@toggle-size: 1.75rem; + +@transition: ease-out .30s; + +@box-shadow-offset: .1em .1em .1em rgba(153,153,153,.5); // tabinclude +@box-shadow: 0 0 .5em rgba(153,153,153,.5); // pagetoolbox hover +@box-shadow-colored: 0 0 .5em fade(@ini_existing, 50%); +@box-shadow-right-bottom: .1em .3rem .5em rgba(153,153,153,.5); +@box-shadow-bottom: 0 .1em .5em rgba(153,153,153,.5); // qc-wrapper (breadcrumb), struct inline-editor + +/* + + + for programmers customizing + + + */ +@fix_border-radius: 0.5rem; // inputs, editbox (textarea), buttons, content, code, quicksearch, msg + +@toggle-showsidebar_width: 3.47rem; // shown sidebar after toggle + +@headericons-margin-xxs: .45rem; // screen xxs margin-top for header icons + +@page_padding-top: @margin-small; // padding-top for 'dokuwiki__content' +@page-header_height: 2.8rem; // minimum: 2.8rem (height for breadcrumb, page-header, page-footer) +@meta-box_height: (@page-header_height - @page_padding-top); +@breadcrumb_height: @page-header_height; + +@formfield_min-height: 2rem; // min-height for input, textarea, select, keygen + +@code-background: #F6F6F6; /* code, pre, samp, kbd */ + +/* icons */ +@noopentasks-background: #ECECEC; /* metabox tabs + num in icons + tabinclude */ +@noopentasks-border: #BBB; /* metabox tabs + num in icons + code, pre, samp, kbd */ +@noopentasks-color: #666; /* metabox tabs + num in icons + code, pre, samp, kbd */ +@wikiicons-border: #CCC; /* usertools, breadcrumbs icons, pagetools box-hover */ + +/* navigation left */ +@menu-margin-lg: 1.3rem; + +@quicksearch-button-color: @noopentasks-color; /* autosuggest, submit in quicksearch */ +@suggestion-zebra: #EEE; + +/* edit mode */ +@highlight-odd-ini_text: fade(@ini_background, 95%); +@highlight-even-ini_text: fade(@ini_text, 5%); +@color-editBox: var(--color-foreground); // editmode for tables, revision states + +//@nolinkedicon-ini_background: fade(@ini_background_site, 10%); +//@opacity-ini_nav_menu_color: fade(@ini_nav_menu_color, 40%); + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* fonts */ +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +@font-size-very-small: .73rem; +@font-size-small: .88rem; +@font-size-default: 1rem; +@font-size-big: 1.5rem; +@font-size-bigger: 1.75rem; + +@line-height-default: 125%; +@line-height-big: 135%; +@line-height-bigger: 140%; + +@font-weight-bold: 800; +@font-weight-normal: 400; + +@font-scale-factor: .0769; + +@font-size-head6: @font-size-default; +@font-size-head5: @font-size-default + @font-scale-factor; +@font-size-head4: @font-size-default + (@font-scale-factor * 3); +@font-size-head3: @font-size-default + (@font-scale-factor * 5); +@font-size-head2: @font-size-default + (@font-scale-factor * 7); +@font-size-head1: @font-size-default + (@font-scale-factor * 9); + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* breakpoints */ +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +@break-min-xxs: 480; +@break-max-xxs: (@break-min-xxs - 1); + +@break-min-xs: 768; +@break-max-xs: (@break-min-xs - 1); + +@break-min-sm: 992; +@break-max-sm: (@break-min-sm - 1); + +@break-min-md: 1024; +@break-max-md: (@break-min-md - 1); + +@break-min-lg: 1200; +@break-max-lg: (@break-min-lg - 1); + +@break-min-xlg: 1440; +@break-max-xlg: (@break-min-xlg - 1); + +@break-min-xxlg: 1600; +@break-max-xxlg: (@break-min-xxlg - 1); + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* media queries for breakpoints */ +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +@screen_min-xxs: ~"only screen and (min-width: " ~"@{break-min-xxs}px)"; +@screen_max-xxs: ~"only screen and (max-width: " ~"@{break-max-xxs}px)"; + +@screen_min-xs: ~"only screen and (min-width: " ~"@{break-min-xs}px)"; +@screen_max-xs: ~"only screen and (max-width: " ~"@{break-max-xs}px)"; + +@screen_min-sm: ~"only screen and (min-width: " ~"@{break-min-sm}px)"; +@screen_max-sm: ~"only screen and (max-width: " ~"@{break-max-sm}px)"; + +@screen_min-md: ~"only screen and (min-width: " ~"@{break-min-md}px)"; +@screen_max-md: ~"only screen and (max-width: " ~"@{break-max-md}px)"; + +@screen_min-lg: ~"only screen and (min-width: " ~"@{break-min-lg}px)"; +@screen_max-lg: ~"only screen and (max-width: " ~"@{break-max-lg}px)"; + +@screen_min-xlg: ~"only screen and (min-width: " ~"@{break-min-xlg}px)"; +@screen_max-xlg: ~"only screen and (max-width: " ~"@{break-max-xlg}px)"; + +@screen_min-xxlg: ~"only screen and (min-width: " ~"@{break-min-xxlg}px)"; +@screen_max-xxlg: ~"only screen and (max-width: " ~"@{break-max-xxlg}px)"; + +@screen_only-md: ~"only screen and (min-width: 800px) and (max-width: " ~"@{break-max-md}px)"; +@screen_only-xlg: ~"only screen and (min-width: " ~"@{break-min-xlg}px) and (max-width: " ~"@{break-max-xxlg}px)"; +@screen_md-xlg: ~"only screen and (min-width: " ~"@{break-min-md}px) and (max-width: " ~"@{break-max-xlg}px)"; +@screen_md-lg: ~"only screen and (min-width: " ~"@{break-min-md}px) and (max-width: " ~"@{break-max-lg}px)"; +@screen_xs-lg: ~"only screen and (min-width: " ~"@{break-min-xs}px) and (max-width: " ~"@{break-max-md}px)"; + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* col width */ +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +@c12: 100%; +@c11: 91.66666667%; +@c10: 83.33333333%; +@c9: 75%; +@c8: 66.66666667%; +@c7: 58.33333333%; +@c6: 50%; +@c5: 41.66666667%; +@c4: 33.33333333%; +@c3: 25%; +@c2: 16.66666667%; +@c1: 8.33333333%; + +@grid-columns: 12; + + + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* fonts */ +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ + +@font-face { + font-family: "Athiti"; + font-weight: 700; + src: url("fonts/athiti/Athiti-Bold.woff2") format("woff2"); +} + +@font-face { + font-family: "Athiti"; + font-weight: 600; + src: url("fonts/athiti/Athiti-SemiBold.woff2") format("woff2"); +} + +@font-face { + font-family: "Athiti"; + font-weight: 500; + src: url("fonts/athiti/Athiti-Medium.woff2") format("woff2"); +} + +@font-face { + font-family: "Athiti"; + font-weight: 400; + src: url("fonts/athiti/Athiti-Regular.woff2") format("woff2"); +} + +@font-face { + font-family: "Athiti"; + font-weight: 300; + src: url("fonts/athiti/Athiti-Light.woff2") format("woff2"); +} + +@font-face { + font-family: "Athiti"; + font-weight: 200; + src: url("fonts/athiti/Athiti-ExtraLight.woff2") format("woff2"); +} + +@font-face { + font-family: "Departure Mono"; + src: url("fonts/departuremono/DepartureMono-Regular.woff2") format("woff2"); +} + +@font-face { + font-family: "Argon Glow"; + font-weight: 100; + src: url("fonts/argonglow/ArgonGlow-Thin.woff2") format("woff2"); +} + +@font-face { + font-family: "Argon Glow"; + font-weight: 200; + src: url("fonts/argonglow/ArgonGlow-ExtraLight.woff2") format("woff2"); +} + +@font-face { + font-family: "Argon Glow"; + font-weight: 300; + src: url("fonts/argonglow/ArgonGlow-Light.woff2") format("woff2"); +} + +@font-face { + font-family: "Argon Glow"; + font-weight: 400; + src: url("fonts/argonglow/ArgonGlow-Regular.woff2") format("woff2"); +} + +@font-face { + font-family: "Argon Glow"; + font-weight: 500; + src: url("fonts/argonglow/ArgonGlow-Medium.woff2") format("woff2"); +} + +@font-face { + font-family: "Argon Glow"; + font-weight: 600; + src: url("fonts/argonglow/ArgonGlow-SemiBold.woff2") format("woff2"); +} + +@font-face { + font-family: "Argon Glow"; + font-weight: 700; + src: url("fonts/argonglow/ArgonGlow-Bold.woff2") format("woff2"); +} + +@font-face { + font-family: "Argon Glow"; + src: url("fonts/argonglow/ArgonGlow-VariableVF.woff2") format("woff2"); + font-weight: 100 900; +} + + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* all media */ +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +html, +body { + .reset(); + font-size: 100.1%; +} + +header, +.nav-direct{ + .elementsReset(); +} + +ol, +ul { + list-style: none outside none; +} + +blockquote, +q { + quotes: none; +} + +acronym { + cursor: help; + border-bottom: dotted 1px @ini_text; +} + +*:focus { + outline: 0; +} + +table{ + border-collapse: collapse; + border-spacing: 0; + empty-cells: show; + caption-side: top; +} + +caption, +th, +td { + text-align: left; + vertical-align: top; +} + +img { + display: block; + float: none; + border: none 0; + line-height: @line-height-default; +} + +*, +div, +nav, +header { + box-sizing: border-box; +} + +header, +footer, +.container, +.row, nav, +nav > ul { + &::before, + &::after { + display: table; + content: ' '; + clear: both; + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* css behaviour */ +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +.sr-out { + .sr-out(); +} + +.sr-only { + .sr-only(); +} + +.clearer{ + clear: both; +} + +.structure, +.none, +.mobile-only { + display: none; +} + +.mobile-only { + display: none; + + @media @screen_max-md { + display: inline-block; + } +} + +.mobile-hide { + display: inline-block; + + @media @screen_max-md { + display: none; + } +} + +.desktop-only { + display: none; + @media @screen_min-md { + display: inline-block; + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* variables */ +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ + +:root { + --color-neutral-50: #F2F0F5; + --color-neutral-100: #D1C6E0; + --color-neutral-200: #B2A0CB; + --color-neutral-300: #957EB5; + --color-neutral-400: #7A60A0; + --color-neutral-500: #61468B; + --color-neutral-600: #4B3176; + --color-neutral-700: #371F60; + --color-neutral-800: #26114B; + --color-neutral-900: #180736; + --color-neutral-950: #0C011F; + --color-argon-50: #E1ABC9; + --color-argon-100: #DA87B5; + --color-argon-200: #D464A1; + --color-argon-300: #CD448F; + --color-argon-400: #C6257D; + --color-argon-500: #B0166F; + --color-argon-600: #9A0A61; + --color-argon-700: #830755; + --color-argon-800: #6D0449; + --color-argon-900: #56023C; + --color-argon-950: #3F012D; + --color-krypton-50: #B2D9EA; + --color-krypton-100: #8CC9E4; + --color-krypton-200: #69BADE; + --color-krypton-300: #4BADD8; + --color-krypton-400: #2493C2; + --color-krypton-500: #167FAC; + --color-krypton-600: #0A6C96; + --color-krypton-700: #075C81; + --color-krypton-800: #044C6B; + --color-krypton-900: #023C55; + --color-krypton-950: #012C3F; + --color-green-50: #C0F49A; + --color-green-100: #A7E57A; + --color-green-200: #8FD75D; + --color-green-300: #7AC843; + --color-green-400: #66B92D; + --color-green-500: #54AA18; + --color-green-600: #47990F; + --color-green-700: #397E0A; + --color-green-800: #2B6206; + --color-green-900: #1F4703; + --color-green-950: #122B01; + --color-red-50: #E6AFAF; + --color-red-100: #DD9090; + --color-red-200: #D57272; + --color-red-300: #CC5757; + --color-red-400: #C33D3D; + --color-red-500: #BB2626; + --color-red-600: #B21010; + --color-red-700: #950808; + --color-red-800: #780404; + --color-red-900: #5C0202; + --color-red-950: #3F0101; + + --color-white: #FFFFFF; + + --color-dark-foreground: var(--color-neutral-50); + --color-dark-background: var(--color-neutral-950); + --color-dark-shade-1: var(--color-neutral-900); + --color-dark-shade-2: var(--color-neutral-800); + --color-dark-shade-3: var(--color-neutral-700); + --color-dark-shade-4: var(--color-neutral-600); + --color-dark-text-1: var(--color-neutral-200); + --color-dark-text-2: var(--color-neutral-300); + --color-dark-text-3: var(--color-neutral-400); + --color-dark-text-4: var(--color-neutral-500); + --color-dark-primary: var(--color-argon-400); + --color-dark-secondary: var(--color-krypton-300); + --color-dark-error: var(--color-red-500); + --color-dark-error-highlight: var(--color-red-950); + --color-dark-success: var(--color-green-500); + --color-dark-success-highlight: var(--color-green-950); + --color-dark-warning: #efb100; + --color-dark-highlight: #efb10060; + --color-dark-accent-1: #60a5f9; + --color-dark-accent-2: #d381f7; + --color-dark-accent-3: #ff7975; + + --color-light-foreground: var(--color-neutral-950); + --color-light-background: var(--color-neutral-50); + --color-light-shade-1: var(--color-neutral-100); + --color-light-shade-2: var(--color-neutral-200); + --color-light-shade-3: var(--color-neutral-300); + --color-light-shade-4: var(--color-neutral-400); + --color-light-text-1: var(--color-neutral-800); + --color-light-text-2: var(--color-neutral-700); + --color-light-text-3: var(--color-neutral-600); + --color-light-text-4: var(--color-neutral-500); + --color-light-primary: var(--color-argon-600); + --color-light-secondary: var(--color-krypton-500); + --color-light-error: var(--color-red-600); + --color-light-error-highlight: var(--color-red-50); + --color-light-success: var(--color-green-600); + --color-light-success-highlight: var(--color-green-50); + --color-light-warning: #d08700; + --color-light-highlight: #d0870060; + --color-light-accent-1: #303EC0; + --color-light-accent-2: #6c366c; + --color-light-accent-3: #932f0a; + + --color-cmyk-primary: var(--color-dark-primary); + --color-cmyk-secondary: var(--color-dark-secondary); + + --text-xs: 0.75rem; + --text-sm: 0.875rem; + --text-base: 1rem; + --text-lg: 1.125rem; + --text-xl: 1.25rem; + --text-2xl: 1.5rem; + --text-3xl: 1.875rem; + --text-4xl: 2.25rem; + --text-5xl: 3rem; + + --container-3xs: 16rem; + --container-2xs: 18rem; + --container-xs: 20rem; + --container-sm: 24rem; + --container-md: 28rem; + --container-lg: 32rem; + --container-xl: 36rem; + --container-2xl: 42rem; + --container-3xl: 48rem; + --container-4xl: 56rem; + --container-5xl: 64rem; + --container-6xl: 72rem; + --container-7xl: 80rem; +} + +.fnButton { + border-radius: 0.5rem; + background-color: var(--color-shade-1); + transition: background-color 150ms; + color: var(--color-foreground); + font-size: 1.2em; + border: solid 0.1em var(--color-shade-1); + transition-property: filter, border-color; + transition-duration: 200ms; + transition-timing-function: ease-out; + + &:hover, &.active{ + .fnActiveButton(); + } +} + +.fnButtonSecondary { + &:hover, &.active{ + .fnActiveButtonSecondary(); + } +} + +.fnActiveButton { + background-color: transparent; + border: solid 0.1em var(--color-glow-primary); + text-decoration: none; + color: var(--color-glow-primary); + filter: var(--filter-glow-primary); + transition: var(--transition-glow); +} + +.fnActiveButtonSecondary { + background-color: transparent; + border: solid 0.1em var(--color-glow-secondary); + text-decoration: none; + color: var(--color-glow-secondary); + filter: var(--filter-glow-secondary); + transition: var(--transition-glow); +} + + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* screen only */ +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ + +@media screen { + + .dark { + + --color-foreground: var(--color-dark-foreground); + --color-background: var(--color-dark-background); + --color-shade-1: var(--color-dark-shade-1); + --color-shade-2: var(--color-dark-shade-2); + --color-shade-3: var(--color-dark-shade-3); + --color-shade-4: var(--color-dark-shade-4); + --color-text-1: var(--color-dark-text-1); + --color-text-2: var(--color-dark-text-2); + --color-text-3: var(--color-dark-text-3); + --color-text-4: var(--color-dark-text-4); + --color-primary: var(--color-dark-primary); + --color-secondary: var(--color-dark-secondary); + --color-error: var(--color-dark-error); + --color-error-highlight: var(--color-dark-error-highlight); + --color-success: var(--color-dark-success); + --color-success-highlight: var(--color-dark-success-highlight); + --color-warning: var(--color-dark-warning); + --color-highlight: var(--color-dark-highlight); + --color-accent-1: var(--color-dark-accent-1); + --color-accent-2: var(--color-dark-accent-2); + --color-accent-3: var(--color-dark-accent-3); + + --filter-glow-primary: drop-shadow(0 0 0.0625em var(--color-white)) drop-shadow(0 0 0.125em var(--color-primary)) drop-shadow(0 0 0.25em var(--color-primary)); + --filter-glow-secondary: drop-shadow(0 0 0.0625em var(--color-white)) drop-shadow(0 0 0.125em var(--color-secondary)) drop-shadow(0 0 0.25em var(--color-secondary)); + --color-glow-primary: var(--color-white); + --color-glow-secondary: var(--color-white); + --transition-glow: filter 150ms cubic-bezier(0,1.7,1,-0.3) 50ms, + border-color 150ms cubic-bezier(0,1.7,1,-0.3) 50ms; + + @media (prefers-reduced-motion) { + --transition-glow: filter 150ms, border-color 150ms; + } + + .light-only { + display: none; + } + + .dark-only { + display: initial; + } + } + + .light { + --color-foreground: var(--color-light-foreground); + --color-background: var(--color-light-background); + --color-shade-1: var(--color-light-shade-1); + --color-shade-2: var(--color-light-shade-2); + --color-shade-3: var(--color-light-shade-3); + --color-shade-4: var(--color-light-shade-4); + --color-text-1: var(--color-light-text-1); + --color-text-2: var(--color-light-text-2); + --color-text-3: var(--color-light-text-3); + --color-text-4: var(--color-light-text-4); + --color-primary: var(--color-light-primary); + --color-secondary: var(--color-light-secondary); + --color-error: var(--color-light-error); + --color-error-highlight: var(--color-light-error-highlight); + --color-success: var(--color-light-success); + --color-success-highlight: var(--color-light-success-highlight); + --color-warning: var(--color-light-warning); + --color-highlight: var(--color-light-highlight); + --color-accent-1: var(--color-light-accent-1); + --color-accent-2: var(--color-light-accent-2); + --color-accent-3: var(--color-light-accent-3); + + --filter-glow-primary: drop-shadow(0 0 0.0625em var(--color-argon-400)); + --filter-glow-secondary: drop-shadow(0 0 0.0625em var(--color-krypton-400)); + --color-glow-primary: var(--color-argon-950); + --color-glow-secondary: var(--color-krypton-950); + --transition-glow: filter 150ms cubic-bezier(0, 2, 1, -0.7) 50ms, + border-color 150ms cubic-bezier(0, 2, 1, -0.7) 50ms; + + @media (prefers-reduced-motion) { + --transition-glow: filter 150ms, border-color 150ms; + } + + .light-only { + display: initial; + } + + .dark-only { + display: none; + } + } + + @media (prefers-color-scheme: dark) { + html { + .dark(); + + &:has(#themeLight:checked) { + .light(); + } + } + #themeToggleDark { + display: none !important; + } + } + + @media (prefers-color-scheme: light) { + html { + .light(); + + &:has(#themeDark:checked) { + .dark(); + } + } + #themeToggleLight { + display: none !important; + } + } + + + + html { + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; + } + + article, aside, details, figcaption, figure, footer, header, + main, menu, nav, section, summary { + display: block; + } + + audio, + canvas, + progress, + video { + display: inline-block; + vertical-align: baseline; + } + + audio:not([controls]) { + display: none; + height: 0; + } + + [hidden], + template { + display: none; + } + + a { + color: var(--color-accent-1); + text-decoration: underline; + + &:hover, + &:active, + &:focus { + color: var(--color-accent-3); + text-decoration: none; + } + + &:visited { + color: var(--color-accent-2); + text-decoration: underline; + + &:hover, + &:active, + &:focus { + color: var(--color-accent-3); + text-decoration: none; + } + } + } + + abbr[title] { + border-bottom: 1px dotted; + } + + small { + font-size: 80%; + } + + svg:not(:root) { + overflow: hidden; + } + + hr { + box-sizing: content-box; + height: 0; + } + + pre { + overflow: auto; + } + + code, + kbd, + pre, + samp { + font-family: "Departure Mono", ui-monospace, monospace; + font-size: 1em; + } + + button, + input, + optgroup, + select, + textarea { + color: inherit; + font: inherit; + margin: 0; + } + + button, + select { + text-transform: none; + } + + button { + overflow: visible; + } + + input { + &[type="checkbox"], + &[type="radio"] { + box-sizing: border-box; + padding: 0; + } + + &[type="number"] { + &::-webkit-inner-spin-button, + &::-webkit-outer-spin-button { + height: auto; + } + } + + &[type="search"] { + -webkit-appearance: textfield; + box-sizing: content-box; + + &::-webkit-search-cancel-button, + &::-webkit-search-decoration { + -webkit-appearance: none; + } + } + } + + legend { + border: 0; + padding: 0; + } + + textarea { + overflow: auto; + } + + table { + border-collapse: collapse; + border-spacing: 0; + } + + td, + th { + padding: 0; + } + + html, body { + font-family: @font_family_screen; + color: var(--color-foreground); + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* print only */ +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +@media print { + body { + font-size: 12pt; + } +} diff --git a/css/base_design.less b/css/base_design.less new file mode 100755 index 0000000..2dfc1f1 --- /dev/null +++ b/css/base_design.less @@ -0,0 +1,560 @@ +/** + * This file provides the main design styles + * across all template elements (typo, colors etc.) + */ + + +html, body { + background-color: var(--color-background); +} + +/* 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 { + .tabs > ul li a, + ul.tabs li strong, + ul.tabs li a { + border-color: var(--color-shade-4); + } + ul.tabs::after { + border-color: var(--color-shade-4); + } + + .page ol li, + .page ul li, + .aside ul li { + color: var(--color-foreground); + + .li { + color: var(--color-foreground); + } + } + + .pageId { + float: right; + margin-right: -1em; + margin-bottom: -1px; + margin-top: -1.5em; + overflow: hidden; + padding: 0.5em 1em 0; + + span { + font-size: @font-size-small; + border: solid @ini_background_alt; + border-width: 1px 1px 0; + background-color: var(--color-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; + } + } + + div.page { + clear: both; + overflow: hidden; + word-wrap: break-word; + background: var(--color-background); + color: inherit; + padding: @page_padding-top @margin-default @margin-default; + + @media @screen_max-md { + padding-right: (@margin-default * 1.6); + } + + @media @screen_max-xs { + padding-left: @margin-small; + } + + @media @screen_max-xxs { + padding-right: @margin-small; + } + } + + .content #dokuwiki__pagetools { + @media @screen_max-md { + top: 4rem; + } + } + + .docInfo { + font-size: @font-size-small; + text-align: right; + } + + /* license note under edit window */ + + div.license { + font-size: @font-size-small; + line-height: @line-height-default; + padding-top: 1rem; + + @media @screen_max-lg { + font-size: @font-size-default; + } + + @media @screen_max-md { + font-size: @font-size-small; + } + + * { + font-size: inherit; + } + } + + [dir=rtl] & .docInfo { + text-align: left; + } + + [dir=rtl] & .pageId { + float: left; + margin-left: -1em; + margin-right: 0; + } +} + +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: both; +} + +[dir=rtl] h1, +[dir=rtl] h2, +[dir=rtl] h3, +[dir=rtl] h4, +[dir=rtl] h5, +[dir=rtl] h6 { + clear: right; +} + +h1 { + font-size: @font-size-head1; + margin: 0 0 @font-size-head1; + padding-top: 1em; +} + +h2 { + font-size: @font-size-head2; + margin: 0 0 @font-size-head2; + padding-top: (@font-size-head2 / 2); +} + +h3 { + font-size: @font-size-head3; + margin: 0 0 @font-size-head3; + padding-top: (@font-size-head3 / 2); +} + +h4 { + font-size: @font-size-head4; + margin: 0 0 @font-size-head4; + padding-top: (@font-size-head4 / 2); +} + +h5 { + font-size: @font-size-head5; + margin: 0 0 @font-size-head5; + padding-top: (@font-size-head5 / 2); +} + +h6 { + font-size: @font-size-head6; + font-weight: @font-weight-bold; + margin: 0 0 @font-size-head6; + padding-top: (@font-size-head6 / 2); +} + +p { + font-size: @font-size-default; + line-height: @line-height-big; + + a, + span, + strong { + font-size: inherit; + } +} + +label, +legend, +button { + font-size: @font-size-default; + + a, + span, + strong { + font-size: inherit; + } +} + +hr, +figure, +details, +address { + font-size: @font-size-default; + line-height: 140%; +} + +p, +ul, +ol, +dl, +pre, +table, +hr, +blockquote, +figure, +details, +fieldset, +address { + margin: 0 0 1.4em; /* bottom margin = line-height */ + padding: 0; +} + +div, +video, +audio { + margin: 0; + padding: 0; +} + +small, +.code { + font-size: @font-size-small; +} + +.code { + margin-top: @grid; + + // SPR-926: darker colors for accessibility + .es6 { + color: #00832B; + } + + .kw5 { + color: #005D00; + } + + .kw6 { + color: #DC0075; + } + + .nu0 { + color: #A74DA7; + } + + .re3 { + color: #DE1B1B; + } + + .re4 { + color: #007F6F; + } + + .br0, .sy0 { + color: #248124; + } + + .co1, .coMULTI, .sc-1 { + color: #707070; + } + + .co2, .sy1 { + color: #108400; + } + + .co3, .sy4 { + color: #008070; + } + + .kw1, .kw8 { + color: #747400; + } + + .re1, .st0, .st_h { + color: #DD0000; + } +} + +/* + + + lists + + + */ +ul, +ol { + font-size: @font-size-default; + line-height: 140%; + 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; +} + +dl { + font-size: @font-size-default; + line-height: 140%; +} + +dt, +dd { + line-height: inherit; +} + +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 + + + */ +.dokuwiki { + table.inline tr:hover { + th { + background-color: var(--color-shade-3); + } + + td { + background-color: var(--color-shade-2); + } + } +} + +table { + border-collapse: collapse; + empty-cells: show; + border-spacing: 0; + border: 1px solid var(--color-shade-4); + font-size: @font-size-default; + line-height: 140%; +} + +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 var(--color-shade-4); +} + +th { + font-weight: bold; + background-color: var(--color-shade-1); + color: var(--color-foreground); + text-align: left; + + a { + color: @ini_link_alt; + } +} + +[dir=rtl] th { + text-align: right; +} + +img { + display: inline-block; + 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%; +} + +button img { + max-width: none; +} + +hr { + border-top: solid @ini_border; + border-bottom: solid var(--color-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: @ini_highlight_text; +} + +pre, +code, +samp, +kbd { + font-family: "Departure Mono", ui-monospace, monospace; + /* same font stack should be used for ".dokuwiki table.diff td" in _diff.css */ + font-size: @font-size-default; + direction: ltr; + text-align: left; + background-color: var(--color-shade-1); + color: var(--color-foreground); + border-radius: @fix_border-radius; + padding-left: @small-spacing; + padding-right: @small-spacing; + + * { + font-family: inherit; + font-size: inherit; + } + + span { + color: inherit; + } +} + +pre { + overflow: auto; + word-wrap: normal; + font-size: @font-size-default; + line-height: 140%; + padding: .7em 1em; +} + +code:not([class]) { + display: inline-block; +} + +blockquote { + border: solid @ini_border; + border-width: 0 0 0 .25em; + font-size: @font-size-default; + line-height: 140%; + padding: 0 .5em; +} + +[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: .9em; +} diff --git a/css/base_fontello-icons.less b/css/base_fontello-icons.less new file mode 100644 index 0000000..2bd1a37 --- /dev/null +++ b/css/base_fontello-icons.less @@ -0,0 +1,141 @@ +/** + * This file provides styles for web fonts and icon fonts + * (If you add new icons in the fontello set you have to add the icon class and associated character encoding here) + */ + +/* icon font */ +.setIconFontFace('fontello','fontello'); + +.icon, [class^="icon-"], [class*=" icon-"]{ + .fontello(); +} + +/* + + + + + fontello codes + + + + + */ +.icon-emo-happy { &::before { content: '\e804'; } } /* '' */ +.icon-emo-wink { &::before { content: '\e805'; } } /* '' */ +.icon-emo-unhappy { &::before { content: '\e806'; } } /* '' */ +.icon-emo-sleep { &::before { content: '\e807'; } } /* '' */ +.icon-emo-thumbsup { &::before { content: '\e808'; } } /* '' */ +.icon-emo-grin { &::before { content: '\e80c'; } } /* '' */ +.icon-emo-angry { &::before { content: '\e80d'; } } /* '' */ +.icon-emo-cry { &::before { content: '\e80f'; } } /* '' */ +.icon-emo-squint { &::before { content: '\e811'; } } /* '' */ +.icon-emo-laugh { &::before { content: '\e812'; } } /* '' */ +.icon-emo-wink2 { &::before { content: '\e813'; } } /* '' */ + +.icon-up { &::before { content: '\e853'; } } /* '' */ +.icon-up-small { &::before { content: '\e82f'; } } /* '' */ +.icon-up-thick { &::before { content: '\e831'; } } /* '' */ +.icon-up-open-big { &::before { content: '\e848'; } } /* '' */ + +.icon-down { &::before { content: '\e859'; } } /* '' */ +.icon-down-small { &::before { content: '\e834'; } } /* '' */ +.icon-down-thick { &::before { content: '\e835'; } } /* '' */ +.icon-down-bold { &::before { content: '\e883'; } } /* '' */ + +.icon-right-small { &::before { content: '\e82d'; } } /* '' */ +.icon-right-thick { &::before { content: '\e82e'; } } /* '' */ + +.icon-left-small { &::before { content: '\e836'; } } /* '' */ +.icon-left-thick { &::before { content: '\e82c'; } } /* '' */ +.icon-left-bold { &::before { content: '\e837'; } } /* '' */ + +.icon-smile { &::before { content: '\e85e'; } } /* '' */ +.icon-frown { &::before { content: '\e84b'; } } /* '' */ +.icon-meh { &::before { content: '\e85f'; } } /* '' */ + +.icon-help { &::before { content: '\e83c'; } } /* '' */ +.icon-menu { &::before { content: '\e854'; } } /* '' */ +.icon-home { &::before { content: '\e842'; } } /* '' */ +.icon-search { &::before { content: '\e855'; } } /* '' */ +.icon-user { &::before { content: '\e833'; } } /* '' */ +.icon-user-circle { &::before { content: '\e86c'; } } /* '' */ +.icon-login { &::before { content: '\e845'; } } /* '' */ +.icon-logout { &::before { content: '\e847'; } } /* '' */ + +.icon-dividers { &::before { content: '\e801'; } } /* '' */ +.icon-cog { &::before { content: '\e84e'; } } /* '' */ +.icon-cog-alt { &::before { content: '\e818'; } } /* '' */ +.icon-attachment { &::before { content: '\e832'; } } /* '' */ +.icon-revert-replay { &::before { content: '\e839'; } } /* '' */ +.icon-bell { &::before { content: '\e83a'; } } /* '' */ +.icon-bookmark-empty { &::before { content: '\e83b'; } } /* '' */ +.icon-check { &::before { content: '\e841'; } } /* '' */ +.icon-checkbox-marked { &::before { content: '\e844'; } } /* '' */ +.icon-down-open-big { &::before { content: '\e846'; } } /* '' */ +.icon-star { &::before { content: '\e860'; } } /* '' */ +.icon-star-outline { &::before { content: '\e84c'; } } /* '' */ +.icon-sitemap { &::before { content: '\e84d'; } } /* '' */ +.icon-puzzle { &::before { content: '\e84f'; } } /* '' */ +.icon-plus { &::before { content: '\e850'; } } /* '' */ +.icon-minus { &::before { content: '\e852'; } } /* '' */ +.icon-pencil-1 { &::before { content: '\e851'; } } /* '' */ +.icon-clipboard { &::before { content: '\e857'; } } /* '' */ +.icon-clipboard-empty { &::before { content: '\e856'; } } /* '' */ +.icon-clock { &::before { content: '\e858'; } } /* '' */ +.icon-cloud { &::before { content: '\e85a'; } } /* '' */ +.icon-mail { &::before { content: '\e85d'; } } /* '' */ + +.icon-folder-image { &::before { content: '\e809'; } } /* '' */ +.icon-file-new { &::before { content: '\e83d'; } } /* '' */ +.icon-file { &::before { content: '\e83e'; } } /* '' */ +.icon-file-export { &::before { content: '\e80a'; } } /* '' */ +.icon-files { &::before { content: '\e849'; } } /* '' */ + +.icon-comment-question { &::before { content: '\e880'; } } /* '' */ +.icon-jira { &::before { content: '\e881'; } } /* '' */ + + +/* + + + + + additional "after" for nav-pagetools + + + + + */ +.icon-pencil { + &::before, + &::after { content: '\e840'; } +} +.icon-pencil-add { + &::before, + &::after { content: '\e800'; } +} +.icon-revisions-history { + &::before, + &::after { content: '\e803'; } +} +.icon-link { + &::before, + &::after { content: '\e843'; } +} +.icon-file-pdf { + &::before, + &::after { content: '\e838'; } +} +.icon-file-xml { + &::before, + &::after { content: '\e802'; } +} +.icon-up-bold { + &::before, + &::after { content: '\e830'; } +} +.icon-disk { + &::before, + &::after{ content: '\e85c'; } +} +.icon-file-text { + &::before, + &::after{ content: '\e84a'; } +} +.icon-book-open { + &::before, + &::after { content: '\e83f'; } +} +.icon-code-braces { + &::before, + &::after { content: '\e85b'; } +} +.icon-code { + &::before, + &::after { content: '\e861'; } +} +.icon-right-bold { + &::before, + &::after { content: '\e882'; } +} diff --git a/css/base_mixins.less b/css/base_mixins.less new file mode 100755 index 0000000..e664bf3 --- /dev/null +++ b/css/base_mixins.less @@ -0,0 +1,365 @@ +/** + * This file provides less mixins for all other style modules + */ + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* Fonts */ +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +.setLocalFontFace(@fontFamily,@fontWeight,@localFontName,@localFontNameVar,@filename) { + @font-face { + font-family: @fontFamily; + font-style: normal; + font-weight: @fontWeight; + src: ~"local('@{localFontName}'), local('@{localFontNameVar}'), url(fonts/@{filename}.eot)"; + src: ~"url(fonts/@{filename}.eot?#iefix) format('embedded-opentype'), url(fonts/@{filename}.woff) format('woff')"; + } +} + +.setIconFontFace(@fontFamily,@filename) { + @font-face { + font-family: @fontFamily; + src: ~"url('fonts/icons/@{filename}.eot?6762325')"; + src: ~"url('fonts/icons/@{filename}.eot?6762325#iefix') format('embedded-opentype'), url('fonts/icons/@{filename}.woff2?6762325') format('woff2'), url('fonts/icons/@{filename}.woff?6762325') format('woff'), url('fonts/icons/@{filename}.ttf?6762325') format('truetype'), url('fonts/icons/@{filename}.svg?6762325#fontello') format('svg')"; + font-weight: normal; + font-style: normal; + } +} + +.fontello() { + &::before { + font-family: "fontello"; + font-style: normal; + font-weight: normal; + speak: none; + + display: inline-block; + text-decoration: inherit; + width: 1em; + margin-right: .2em; + text-align: center; + + /* For safety - reset parent styles, that can break glyph codes*/ + font-variant: normal; + text-transform: none; + + /* fix buttons height, for twitter bootstrap */ + line-height: 1em; + + /* Animation center compensation - margins should be symmetric */ + /* remove if not needed */ + margin-left: .2em; + + /* you can be more comfortable with increased icons size */ + /* font-size: 120%; */ + + /* Font smoothing. That was taken from TWBS */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + + /* Uncomment for 3D effect */ + /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ + } +} + +.fontello-double() { + &::before, + &::after { + font-family: "fontello"; + font-style: normal; + font-weight: normal; + speak: none; + + display: inline-block; + text-decoration: inherit; + width: 1em; + margin-right: .2em; + text-align: center; + + /* For safety - reset parent styles, that can break glyph codes*/ + font-variant: normal; + text-transform: none; + + /* fix buttons height, for twitter bootstrap */ + line-height: 1em; + + /* Animation center compensation - margins should be symmetric */ + /* remove if not needed */ + margin-left: .2em; + + /* you can be more comfortable with increased icons size */ + /* font-size: 120%; */ + + /* Font smoothing. That was taken from TWBS */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + + /* Uncomment for 3D effect */ + /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* Screenreader / Hide */ +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +.sr-out() { + display: block; + width: 1px; + height: 1px; + overflow: hidden; + position: absolute; + top: -200000em; + left: -200000em; +} + +.sr-only() { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + border: 0; +} + +.sr-only-focusable() { + &:active, + &:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; + } +} + +/* + + + + + small icon-buttons (breadcrumb, page-header) + + + + + */ +.btn-hover { + background-color: var(--color-shade-1); + border-color: var(--color-shade-2); + color: var(--color-foreground); + transition: var(--transition-glow); + + &:hover, + &:active, + &:focus { + background-color: transparent; + border-color: var(--color-glow-secondary); + color: var(--color-glow-secondary); + filter: var(--filter-glow-secondary); + + .prefix { + color: inherit; + } + } +} + +.btn-usertools-wrapper(@elem:@toggle-size) { + display: inline-block; + min-height: @elem; + min-width: @elem; + box-sizing: border-box; + color: @ini_text_webframe; + font-size: @font-size-small; + padding: 0; + margin: 0 .25rem; + + * { + font-size: @font-size-small; + } +} + +.btn-usertools-num() { + .num { + position: absolute; + right: -.4rem; + top: -.5em; + background-color: @ini_nav_menu_hover_color; + border-radius: 2px; + color: @ini_nav_menu_hover_bg; + font-size: @font-size-very-small; + font-weight: 400; + text-align: center; + line-height: 1; + padding: .1em @very-small-spacing; + transition: @transition color, @transition background-color; + } +} + +.btn-prefix(@margin-top:.3rem) { + .fontello(); + .hide-text-show-before(); + + color: inherit; + font-size: @font-size-default; + + @media @screen_min-xxlg { + margin-top: .22rem; + } + + @media @screen_max-xxlg { + margin-top: @margin-top; + } + + @media @screen_max-md { + margin-top: .2rem; + } +} + +.hide-text-show-before() { + display: inline-block; + overflow: hidden; + white-space: nowrap; + text-indent: -9999px; + + &::before { + float: left; + width: 100%; + text-indent: 0; + margin: 0; + } + + &::after { + float: left; + text-indent: 0; + } +} + +.hide-text-show-after() { + display: inline-block; + overflow: hidden; + white-space: nowrap; + text-indent: -9999px; + + &::before { + float: right; + text-indent: 0; + } + + &::after { + float: right; + text-indent: 0; + } +} + + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* flex-box */ + +.display-flex() { + display: flex; + display: -ms-flexbox; + display: -webkit-flex; +} + +.flex-direction(@elem:column) { + flex-direction: @elem; + -ms-flex-direction: @elem; + -webkit-flex-direction: @elem; +} + +.justify-content(@elem:center) { + justify-content: @elem; + -ms-justify-content: @elem; + -webkit-justify-content: @elem; +} + +.align-items(@elem:center) { + align-items: @elem; + -ms-align-items: @elem; + -webkit-align-items: @elem; +} + +.flex(@elem:1 0 auto) { + flex: @elem; + -ms-flex: @elem; + -webkit-flex: @elem; +} + +.flex-wrap() { + flex-wrap: wrap; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* positioning */ +.center-middle() { + position: absolute; + top: 50%; + left: 50%; + transform: translateX(-50%) translateY(-50%); + -ms-transform: translateX(-50%) translateY(-50%); + -webkit-transform: translateX(-50%) translateY(-50%); +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* Screenreader / Hide */ +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +.reset() { + background: transparent; + border: none 0; outline: 0; vertical-align: baseline; + font-style: normal; + margin: 0; padding: 0; +} + +.elementsReset() { + div, span, object, iframe, + h1, h2, h3, h4, h5, h6, p, blockquote, + a, abbr, em,acronym, img, strong, + dl, dt, dd, ol, ul, li, + fieldset, form, label, legend, + table, caption, tbody, tfoot, thead, tr, th, td, + input, select, option, textarea, button { + .reset(); + } +} + + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* Col Grid */ +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +.make-grid(@class) { + .float-grid-columns(@class); + .grid-columns(1, @class, width); + .grid-columns(2, @class, width); + .grid-columns(3, @class, width); + .grid-columns(4, @class, width); + .grid-columns(5, @class, width); + .grid-columns(6, @class, width); + .grid-columns(7, @class, width); + .grid-columns(8, @class, width); + .grid-columns(9, @class, width); + .grid-columns(10, @class, width); + .grid-columns(11, @class, width); + .grid-columns(12, @class, width); +} + +.float-grid-columns(@class) { + .col-@{class}-1, + .col-@{class}-2, + .col-@{class}-3, + .col-@{class}-4, + .col-@{class}-5, + .col-@{class}-6, + .col-@{class}-7, + .col-@{class}-8, + .col-@{class}-9, + .col-@{class}-10, + .col-@{class}-11, + .col-@{class}-12 { + float: left; + } +} + +// todo: no recusion - fix it !!! +.grid-columns(@index, @class, @type) { + .calc-grid-column(@index, @class, @type); +} + +.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) { + .col-@{class}-@{index} { + width: percentage((@index / @grid-columns)); + } +} diff --git a/css/base_structure.less b/css/base_structure.less new file mode 100755 index 0000000..344cfa4 --- /dev/null +++ b/css/base_structure.less @@ -0,0 +1,288 @@ +/** + * This file provides styles for the general layout structure. + */ + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* col grid */ +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +.make-grid(xs); + +@media screen { + .container { + margin: 0 @margin-big; + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* font sizing */ +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +@media @screen_min-xxs { + html { + font-size: 100%; //16px + } +} + +@media @screen_min-xs { + html { + font-size: 100%; //16px + } +} + +@media @screen_min-sm { + .make-grid(sm); + html { + font-size: 100%; //16px + } +} + +@media @screen_min-md { + .make-grid(md); + html { + font-size: 87.5%; //14px + } +} + +@media @screen_min-lg { + .make-grid(lg); + html { + font-size: 87.5%; //14px + } +} + +@media @screen_min-xlg { + html { + font-size: 93.75%; //15px + } +} + +@media @screen_min-xxlg { + html { + font-size: 100%; //16px + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* z-indices */ +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +@media screen { + .nav-direct p { + z-index: 1000; // keyboard-navigation overlays always on top + } + + .top-header { + z-index: 2; // put MagicMatcher-Dropdowns above .content and metabox-tabs + } + + #dokuwiki__aside div.nav a { + &:hover, &:focus, &:active { + z-index: 100; // show label/link above content on hover etc. + } + } + + .qc-output { + z-index: 1; // put qc-output above meta-box + } + + #spr__meta-box { + z-index: 10; // put meta-box above positioned content-elements such as aggregations, edit-buttons + ul.meta-tabs > li.active { + z-index: 1; // put the active tab above the meta-content in .tab-pane.active + } + } + + nav#dokuwiki__pagetools { + z-index: 100; // put labels of the pagetools above content on hover etc. + } + + #dokuwiki__detail .img-link a::before { + z-index: 2; // put 'view original file'-overlay above image + } + + /* plug-in do_tasks */ + .plugin__do_usertasks_list { + z-index: 200; // put tasks-list above pagetools + } + + /* plug-in editable */ + #dokuwiki__content.main-content div.editbutton_table { + z-index: 1; // for IE + } + + /* plug-in tabinclude */ + div#dwpl-ti-container li.dwpl-ti-tab div.selected { + z-index: 1; // put .slected tab above div.dwpl-ti-content-box + } +} + +@media @screen_min-md { + .wide-content .search.main-sidebar p.toggleSearch { + z-index: 1; // put search-toggle-button above #dw__search + } +} + +@media @screen_max-md { + body.show-mobile-sidebar #dokuwiki__aside { + z-index: 200; // mobile sidebar above all except nav-direct + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* screen sizing */ +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ + +// >= 1024 +@media @screen_min-md { + + .content .row > .col-xs-12 { + border-radius: 0 @ini_default_border_radius @fix_border-radius @fix_border-radius; // @ini_default_border_radius vs. @fix_border-radius + } + + .top-header { + position: absolute; + top: 0; + right: 0; + width: 50%; + } + + .header, + .tools { + .row { + position: relative; + + > .col-xs-12 { + width: @ini_sidebar_width; + box-sizing: border-box; + } + } + } + + .header { + .row > .col-xs-12 { + position: relative; + height: 150px; + min-height: 6rem; + display: table; + + + .col-xs-12 { + float: right; + width: @ini_site_width; + box-sizing: border-box; + } + } + } + + /* + + + + + layout option compact + + + + + */ + .header-compact { + .header { + .row > .col-xs-12 { + height: auto; + min-height: auto; + } + } + } + + .tools { + .row > .col-xs-12 { + position: absolute; + } + } + + .content { + .row > .col-xs-12 { + position: relative; + width: 100%; + background-color: #fff; + } + } + + .showSidebar { + .content { + .row > .col-xs-12 { + width: @ini_site_width; + float: right; + } + } + } + + .wide-content { + .content { + .row > .col-xs-12 { + width: auto; + float: none; + } + } + + &.showSidebar { + .content { + .row > .col-xs-12 { + margin-left: @toggle-showsidebar_width; + } + } + } + } + + .main-sidebar { + &.search { + > img { + width: 100%; + height: auto; + } + } + } +} + +// > 1024 +@media @screen_md-lg { + .wide-content.showSidebar { + .content { + .row > .col-xs-12 { + margin-left: 2.3rem; + } + } + } +} + +@media @screen_max-md { + .container { + margin: 0 1.25rem; + } + + .content { + position: relative; + + #dokuwiki__pagetools { + top: 0; + } + + .row > .col-xs-12 #dokuwiki__content::before { + display: none; + } + } + + .tools { + .main-sidebar { + display: none; + } + } +} + +@media @screen_max-xxs { + @mobileMargin: 4px; + + .container { + margin: 0 @mobileMargin; + } + + body.show-mobile-sidebar #dokuwiki__aside { + left: @mobileMargin; + } + + #dokuwiki__footer { + .main-footer { + > * { + padding-left: 2rem; + padding-right: 2rem; + } + } + } +} diff --git a/css/base_vars.less b/css/base_vars.less new file mode 100644 index 0000000..60c46f2 --- /dev/null +++ b/css/base_vars.less @@ -0,0 +1,165 @@ +/** + * This file provides the basic vars + */ + +@font_family_screen: arial, sans-serif; +@font_family_print: "Times New Roman", serif; + +@nav_direct_background: @ini_background; +@nav_direct_color: @ini_existing; + +@background_darker: rgba(230,230,230, .2); +@ini_sidebar_width: (100 - @ini_site_width) - 4; + +@height-context-bar: 50px; + +@margin-small: 1rem; +@margin-default: 2rem; +@margin-big: 3.07rem; +@nav-margin: 1.3rem; + +@small-spacing: .3rem; +@very-small-spacing: .2rem; + +@grid: @margin-small; +@toggle-size: 1.75rem; + +@transition: ease-out .30s; + +@box-shadow-offset: .1em .1em .1em rgba(153,153,153,.5); // tabinclude +@box-shadow: 0 0 .5em rgba(153,153,153,.5); // pagetoolbox hover +@box-shadow-colored: 0 0 .5em fade(@ini_existing, 50%); +@box-shadow-right-bottom: .1em .3rem .5em rgba(153,153,153,.5); +@box-shadow-bottom: 0 .1em .5em rgba(153,153,153,.5); // qc-wrapper (breadcrumb), struct inline-editor + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* for programmers customizing */ +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +@fix_border-radius: 3px; // inputs, editbox (textarea), buttons, content, code, quicksearch, msg + +@toggle-showsidebar_width: 3.47rem; // shown sidebar after toggle + +@headericons-margin-xxs: .45rem; // screen xxs margin-top for header icons + +@page_padding-top: @margin-small; // padding-top for 'dokuwiki__content' +@page-header_height: 2.8rem; // minimum: 2.8rem (height for breadcrumb, page-header, page-footer) +@meta-box_height: (@page-header_height - @page_padding-top); +@breadcrumb_height: @page-header_height; + +@formfield_min-height: 2rem; // min-height for input, textarea, select, keygen + +@code-background: #F6F6F6; /* code, pre, samp, kbd */ + +/* icons */ +@noopentasks-background: #ECECEC; /* metabox tabs + num in icons + tabinclude */ +@noopentasks-border: #BBB; /* metabox tabs + num in icons + code, pre, samp, kbd */ +@noopentasks-color: #666; /* metabox tabs + num in icons + code, pre, samp, kbd */ +@wikiicons-border: #CCC; /* usertools, breadcrumbs icons, pagetools box-hover */ + +/* navigation left */ +@menu-margin-lg: 1.3rem; + +@quicksearch-button-color: @noopentasks-color; /* autosuggest, submit in quicksearch */ +@suggestion-zebra: #EEE; + +/* edit mode */ +@highlight-odd-ini_text: fade(@ini_background, 95%); +@highlight-even-ini_text: fade(@ini_text, 5%); +@color-editBox: #252525; // editmode for tables, revision states + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* fonts */ +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +@font-size-very-small: .73rem; +@font-size-small: .88rem; +@font-size-default: 1rem; +@font-size-big: 1.5rem; +@font-size-bigger: 1.75rem; + +@line-height-default: 125%; +@line-height-big: 135%; +@line-height-bigger: 140%; + +@font-weight-bold: 800; +@font-weight-normal: 400; + +@font-scale-factor: .0769; + +@font-size-head6: @font-size-default; +@font-size-head5: @font-size-default + @font-scale-factor; +@font-size-head4: @font-size-default + (@font-scale-factor * 3); +@font-size-head3: @font-size-default + (@font-scale-factor * 5); +@font-size-head2: @font-size-default + (@font-scale-factor * 7); +@font-size-head1: @font-size-default + (@font-scale-factor * 9); + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* breakpoints */ +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +@break-min-xxs: 480; +@break-max-xxs: (@break-min-xxs - 1); + +@break-min-xs: 768; +@break-max-xs: (@break-min-xs - 1); + +@break-min-sm: 992; +@break-max-sm: (@break-min-sm - 1); + +@break-min-md: 1024; +@break-max-md: (@break-min-md - 1); + +@break-min-lg: 1200; +@break-max-lg: (@break-min-lg - 1); + +@break-min-xlg: 1440; +@break-max-xlg: (@break-min-xlg - 1); + +@break-min-xxlg: 1600; +@break-max-xxlg: (@break-min-xxlg - 1); + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* media queries for breakpoints */ +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +@screen_min-xxs: ~"only screen and (min-width: " ~"@{break-min-xxs}px)"; +@screen_max-xxs: ~"only screen and (max-width: " ~"@{break-max-xxs}px)"; + +@screen_min-xs: ~"only screen and (min-width: " ~"@{break-min-xs}px)"; +@screen_max-xs: ~"only screen and (max-width: " ~"@{break-max-xs}px)"; + +@screen_min-sm: ~"only screen and (min-width: " ~"@{break-min-sm}px)"; +@screen_max-sm: ~"only screen and (max-width: " ~"@{break-max-sm}px)"; + +@screen_min-md: ~"only screen and (min-width: " ~"@{break-min-md}px)"; +@screen_max-md: ~"only screen and (max-width: " ~"@{break-max-md}px)"; + +@screen_min-lg: ~"only screen and (min-width: " ~"@{break-min-lg}px)"; +@screen_max-lg: ~"only screen and (max-width: " ~"@{break-max-lg}px)"; + +@screen_min-xlg: ~"only screen and (min-width: " ~"@{break-min-xlg}px)"; +@screen_max-xlg: ~"only screen and (max-width: " ~"@{break-max-xlg}px)"; + +@screen_min-xxlg: ~"only screen and (min-width: " ~"@{break-min-xxlg}px)"; +@screen_max-xxlg: ~"only screen and (max-width: " ~"@{break-max-xxlg}px)"; + +@screen_only-md: ~"only screen and (min-width: 800px) and (max-width: " ~"@{break-max-md}px)"; +@screen_only-xlg: ~"only screen and (min-width: " ~"@{break-min-xlg}px) and (max-width: " ~"@{break-max-xxlg}px)"; +@screen_md-xlg: ~"only screen and (min-width: " ~"@{break-min-md}px) and (max-width: " ~"@{break-max-xlg}px)"; +@screen_md-lg: ~"only screen and (min-width: " ~"@{break-min-md}px) and (max-width: " ~"@{break-max-lg}px)"; +@screen_xs-lg: ~"only screen and (min-width: " ~"@{break-min-xs}px) and (max-width: " ~"@{break-max-md}px)"; + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* col width */ +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +@c12: 100%; +@c11: 91.66666667%; +@c10: 83.33333333%; +@c9: 75%; +@c8: 66.66666667%; +@c7: 58.33333333%; +@c6: 50%; +@c5: 41.66666667%; +@c4: 33.33333333%; +@c3: 25%; +@c2: 16.66666667%; +@c1: 8.33333333%; + +@grid-columns: 12; diff --git a/css/basic.css b/css/basic.css deleted file mode 100755 index 3f61f71..0000000 --- a/css/basic.css +++ /dev/null @@ -1,452 +0,0 @@ -/** - * 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. - * - * @author Anika Henke - */ - -html { - overflow-x: auto; - overflow-y: scroll; -} -html, -body { - background-color: __background__; - color: __text__; - margin: 0; - padding: 0; -} -body { - font: normal 100%/1.4 Frutiger, Calibri, "Myriad Pro", Myriad, "Nimbus Sans L", Geneva, "Helvetica Neue", Helvetica, 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 ____________*/ - -h1, -h2, -h3, -h4, -h5, -h6 { - font-family: Constantia, Utopia, Lucidabright, Lucida, Georgia, "Nimbus Roman No9 L", serif; - font-weight: bold; - color: __text_neu__; - background-color: inherit; - 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: 2.25em; - 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 */ - -caption, -figcaption, -summary, -legend { - font-style: italic; - font-weight: normal; - line-height: 1.2; - padding: 0; - margin: 0 0 .35em; -} - - -/*____________ 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: 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; -} - - -/*____________ tables ____________*/ - -table { - border-collapse: collapse; - empty-cells: show; - border-spacing: 0; - border: 1px solid __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 __border__; -} -th { - font-weight: bold; - background-color: __background_alt__; - color: inherit; - text-align: left; -} -[dir=rtl] th { - text-align: right; -} - - -/*____________ links ____________*/ - -a { -} -a:link, -a:visited { - text-decoration: none; - color: #00c; /* §colour */ -} -a:link:hover, -a:visited:hover, -a:link:focus, -a:visited:focus, -a:link:active, -a:visited:active { - text-decoration: underline; -} -a:link:focus, -a:visited:focus { - outline: 1px dotted; -} -a:link:active, -a:visited:active { - color: #c00; /* §colour */ -} - - -/*____________ 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%; -} - -iframe { - border-width: 0; - background-color: inherit; -} - -/* IE8 and below won't display the images otherwise */ -#IE8 img, -button img { - max-width: none; -} - -hr { - border-style: solid; - border-width: 1px 0 0; - text-align: center; - height: 0; - width: 100%; - clear: both; -} - -acronym, -abbr { - font-style: normal; -} -acronym[title], -abbr[title] { - cursor: help; - border-bottom: 1px dotted; -} -em acronym, -em abbr { - font-style: italic; -} - -mark { - background: __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; - background-color: __background_alt__; - color: __text__; - direction: ltr; - text-align: left; -} -pre { - border: 1px solid __border__; - padding: 0 .2em; - overflow: auto; - word-wrap: normal; -} - -blockquote { - padding: 0 .5em; - border: solid __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 ____________*/ - -form { - display: inline; - margin: 0; - padding: 0; -} - -fieldset { - padding: .7em 1em 0; - padding: .7rem 1rem; /* for those browsers understanding :last-child */ - border: 1px solid #999; -} -fieldset > :last-child { - margin-bottom: 0; -} -legend { - padding: 0 .1em; -} - -label { - vertical-align: middle; - cursor: pointer; -} - -input, -textarea, -button, -select, -optgroup, -option, -keygen, -output, -meter, -progress { - font: inherit; - color: inherit; - /* background-color destroys button look */ - line-height: normal; - margin: 0; - vertical-align: middle; - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; - box-sizing: content-box; -} - -input, -button, -select, -keygen, -textarea { - padding: .1em; -} -input[type=radio], -input[type=checkbox], -input[type=image], -input.check { - padding: 0; -} - -input[type=submit], -input[type=button], -input[type=reset], -input.button, -button { - cursor: pointer; - overflow: visible; - padding: .1em .4em; -} - -input[disabled], -button[disabled], -select[disabled], -textarea[disabled], -option[disabled], -input[readonly], -button[readonly], -select[readonly], -textarea[readonly] { - cursor: auto; - opacity: .5; -} - -input:focus, -button:focus, -select:focus, -keygen:focus, -textarea:focus { - box-shadow: 0 0 5px #999; - outline: 0; -} -input::-moz-focus-inner, -button::-moz-focus-inner { - border: 0; - padding: 0; -} - -select { - max-width: 100%; -} -optgroup { - font-style: italic; - font-weight: bold; -} -option { - font-style: normal; - font-weight: normal; -} diff --git a/css/content.css b/css/content.css deleted file mode 100755 index edd8fab..0000000 --- a/css/content.css +++ /dev/null @@ -1,169 +0,0 @@ -/** - * This file provides the main design styles for the page content. - * - * @author Anika Henke - * @author Andreas Gohr - */ - - -/*____________ 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: __existing__; - background-color: inherit; -} -/* not existing wikipage */ -.dokuwiki a.wikilink2 { - color: __missing__; - background-color: inherit; -} - - -/*____________ images ____________*/ - -/* embedded images (styles are already partly set in DokuWiki's lib/styles/all.css) */ -.dokuwiki img.media { - margin: .2em 0; -} -.dokuwiki img.medialeft { - margin: .2em 1.5em .2em 0; -} -.dokuwiki img.mediaright { - margin: .2em 0 .2em 1.5em; -} -.dokuwiki img.mediacenter { - margin: .2em auto; -} - - -/*____________ tables ____________*/ - -/* div before each table */ -.dokuwiki div.table { -} - -.dokuwiki table.inline { - min-width: 50%; -} -.dokuwiki table.inline tr:hover td { - background-color: __background_alt__; -} -.dokuwiki table.inline tr:hover th { - background-color: __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 { -} - -.dokuwiki dl.code dt, -.dokuwiki dl.file dt { - background-color: __background_alt__; - border: solid __border__; - border-width: 1px 1px 0; - color: inherit; - display: inline; - padding: .1em .5em .2em; - margin-left: 1em; -} -[dir=rtl] .dokuwiki dl.code dt, -[dir=rtl] .dokuwiki dl.file dt { - margin-left: 0; - margin-right: 1em; -} -.dokuwiki dl.code dt a, -.dokuwiki dl.file dt a { -} - -.dokuwiki dl.code dd, -.dokuwiki dl.file dd { - margin: 0; -} - -/* for code in */ -.dokuwiki pre.file, -.dokuwiki dl.file pre, -.dokuwiki dl.file dt { - border-color: __text_neu__; -} - - -/*____________ media manager ____________*/ - -/* some headings in the media manager should not look like headings */ -#mediamanager__page h2, -#mediamanager__page h3 { - font-family: Frutiger, Calibri, Myriad, "Nimbus Sans L", Geneva, "Helvetica Neue", Helvetica, Arial, sans-serif; - color: __text__; -} - -/* to style button-like div in _fileuploader.css to look like other buttons, - please add '.qq-upload-button' to the according styles (which don't really exist in this template) */ -.qq-upload-button { - border: 1px solid __border__; - background-color: __background_alt__; - padding: 0.125em 0.4em; -} - -/*____________ styling plugin ____________*/ - -#plugin__styling.ispopup { - padding: 1em; -} - - -/*____________ JS popup ____________*/ - -.JSpopup { - background-color: __background__; - color: __text__; - border: 1px solid __border__; - line-height: 1.2; - padding: 0 .2em; -} - -.JSpopup ul, -.JSpopup ol { - padding-left: 0; -} -[dir=rtl] .JSpopup ul, -[dir=rtl] .JSpopup ol { - padding-right: 0; -} diff --git a/css/design.css b/css/design.css deleted file mode 100755 index eae7b36..0000000 --- a/css/design.css +++ /dev/null @@ -1,248 +0,0 @@ -/** - * This file provides the main design styles for the - * bits that surround the content. - * - * @author Anika Henke - * @author Andreas Gohr - */ - - -/* header -********************************************************************/ - -#dokuwiki__header { - margin: 1em 0 0; -} - -#dokuwiki__header .headings { - margin-bottom: 2.1em; -} -#dokuwiki__header h1 { - margin-bottom: 0; - font-size: 1.5em; -} -#dokuwiki__header h1 a { - text-decoration: none; - color: #00c; - background-color: inherit; -} -#dokuwiki__header p.claim { - margin-bottom: 0; -} -#dokuwiki__header h2 { - margin-bottom: 0; - font-size: 1.125em; -} - -#dokuwiki__header .tools { - margin-bottom: 2.1em; -} -#dokuwiki__header .tools ul { - margin-bottom: 0; -} -#dokuwiki__header .tools ul li { - display: inline; -} - -#dokuwiki__header form.search { - margin: .5em 0 0; - display: block; -} -#dokuwiki__header form.search #qsearch__in { - width: 12em; - margin-right: .5em; -} -[dir=rtl] #dokuwiki__header form.search #qsearch__in { - margin-right: 0; - margin-left: .5em; -} - -#dokuwiki__header div.breadcrumbs { - margin-bottom: .3em; -} -#dokuwiki__header div.breadcrumbs a { - color: __existing__; - background-color: inherit; -} - - -/* tools -********************************************************************/ - -/* make wiki links look the same as tool links in tool bars */ -#dokuwiki__usertools a.wikilink1, -#dokuwiki__pagetools a.wikilink1, -#dokuwiki__usertools a.wikilink2, -#dokuwiki__pagetools a.wikilink2 { - color: #00c; - border-bottom-width: 0; -} -#dokuwiki__usertools a.wikilink2:hover, -#dokuwiki__pagetools a.wikilink2:hover, -#dokuwiki__usertools a.wikilink2:active, -#dokuwiki__pagetools a.wikilink2:active, -#dokuwiki__usertools a.wikilink2:focus, -#dokuwiki__pagetools a.wikilink2:focus { - text-decoration: underline; -} - -/* 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; -} - -/*____________ user tools ____________*/ - -#dokuwiki__usertools { - position: absolute; - top: 0; - right: 0; - border-bottom: 1px solid __border__; - background-color: __background_alt__; - width: 100%; -} -#dokuwiki__usertools ul, -#dokuwiki__pagetools ul { - /* imitate #dokuwiki__site */ - margin: 0 auto; - max-width: __site_width__; - padding: 0 1em; -} -#dokuwiki__usertools ul li.user { - float: left; - margin-left: 0; -} -[dir=rtl] #dokuwiki__usertools ul li.user { - float: right; - margin-right: 0; -} - -/*____________ page tools ____________*/ - -#dokuwiki__pagetools { - position: fixed; - bottom: 0; - left: 0; - border-top: 1px solid __border__; - background-color: __background_alt__; - width: 100%; - z-index: 10; -} -#dokuwiki__pagetools ul li { - display: inline; - margin: 0 1.5em 0 0; -} -#dokuwiki__pagetools ul li a.action.top { - float: right; -} -[dir=rtl] #dokuwiki__pagetools ul li a.action.top { - float: left; -} - - -/* sidebar -********************************************************************/ - -#dokuwiki__aside { - padding-top: .4em; -} - -.dokuwiki .aside { - overflow: hidden; - word-wrap: break-word; - line-height: 1.2; -} - -/* make sidebar more condensed */ - -.dokuwiki .aside h1 { - margin-bottom: .222em; -} -.dokuwiki .aside h2 { - margin-bottom: .333em; -} -.dokuwiki .aside h3 { - margin-bottom: .444em; -} -.dokuwiki .aside h4 { - margin-bottom: .5em; -} -.dokuwiki .aside h5 { - margin-bottom: .5714em; -} - -.dokuwiki .aside p, -.dokuwiki .aside ul, -.dokuwiki .aside ol, -.dokuwiki .aside dl, -.dokuwiki .aside pre, -.dokuwiki .aside table, -.dokuwiki .aside fieldset, -.dokuwiki .aside hr, -.dokuwiki .aside blockquote, -.dokuwiki .aside address { - margin-bottom: .7em; -} - -.dokuwiki .aside ul, -.dokuwiki .aside ol { - padding-left: .5em; -} -[dir=rtl] .dokuwiki .aside ul, -[dir=rtl] .dokuwiki .aside ol { - padding-right: .5em; -} -.dokuwiki .aside li ul, -.dokuwiki .aside li ol { - margin-bottom: 0; - padding: 0; -} - - -/* content -********************************************************************/ - -.dokuwiki .page { - word-wrap: break-word; -} - -/* license note in footer and under edit window */ -.dokuwiki div.license { - font-size: 93.75%; -} - - -/* footer -********************************************************************/ - -.dokuwiki .wrapper { - margin-bottom: 2.8em; -} - -#dokuwiki__footer { - margin-bottom: 1em; -} - -#dokuwiki__footer .doc { - float: left; -} -#dokuwiki__footer .top { - float: right; -} - -#dokuwiki__footer .license { - clear: both; -} -#dokuwiki__footer .license img { - margin: 0 .5em 0 0; - float: none; -} diff --git a/css/icons.less b/css/icons.less new file mode 100644 index 0000000..cc0087d --- /dev/null +++ b/css/icons.less @@ -0,0 +1,60 @@ + +i[data-icon] { + display: inline-block; + width: 1em; + height: 1em; + flex-shrink: 0; + position: relative; + box-sizing: content-box; + + &::before { + content: ''; + display: block; + width: 100%; + height: 100%; + mask-size: contain; + mask-position: center; + mask-repeat: no-repeat; + background-color: currentColor; + } + + &[data-icon='arrow-left']::before { + mask-image: url('img/arrow_left.svg'); + } + + &[data-icon='arrow-up']::before { + mask-image: url('img/arrow_up.svg'); + } + + &[data-icon='arrow-right']::before { + mask-image: url('img/arrow_right.svg'); + } + + &[data-icon='arrow-down']::before { + mask-image: url('img/arrow_down.svg'); + } + + &[data-icon='info']::before { + mask-image: url('img/info.svg'); + } + + &[data-icon='home']::before { + mask-image: url('img/home.svg'); + } + + &[data-icon='menu-small']::before { + mask-image: url('img/menu_small.svg'); + } + + &[data-icon='light']::before { + mask-image: url('img/lightbulb.svg'); + } + + &[data-icon='warning']::before { + mask-image: url('img/warning.svg'); + } + + &[data-icon='creature']::before { + mask-image: url('img/creature.svg'); + } +} \ No newline at end of file diff --git a/css/includes.css b/css/includes.css deleted file mode 100755 index bc18996..0000000 --- a/css/includes.css +++ /dev/null @@ -1,4 +0,0 @@ -/** - * This file provides styles for included seperate html files - * (added through "include hooks"). - */ diff --git a/css/mobile.css b/css/mobile.css deleted file mode 100755 index e337f31..0000000 --- a/css/mobile.css +++ /dev/null @@ -1,85 +0,0 @@ -/** - * This file provides style changes for small screens. - * - * @author Anika Henke - */ - -@media only screen and (max-width: 42em) { - -#dokuwiki__aside { - width: 100%; - float: none; - margin-bottom: 1.4em; -} -#dokuwiki__aside > .pad { - margin: 0; -} - -.hasSidebar #dokuwiki__content { - float: none; - margin-left: 0; - margin-right: 0; -} -.hasSidebar #dokuwiki__content > .pad { - margin-left: 0; -} -[dir=rtl] .hasSidebar #dokuwiki__content > .pad { - margin-right: 0; -} - -#dokuwiki__header .headings { - margin: 2.1em 0 0; -} - -#dokuwiki__header .tools { - margin-bottom: .7em; -} - -#dokuwiki__header .headings, -#dokuwiki__header .tools, -#dokuwiki__header .tools li { - float: none; - text-align: left; -} -[dir=rtl] #dokuwiki__header .tools, -[dir=rtl] #dokuwiki__header .tools li { - float: none; - text-align: right; -} -[dir=rtl] #dokuwiki__header .headings { - float: none; - text-align: right; -} - -#dokuwiki__sitetools ul { - padding: 0; -} -#dokuwiki__sitetools li { - margin: 0 1.5em 0 0; -} -[dir=rtl] #dokuwiki__sitetools li { - margin: 0 0 0 1.5em; -} - -#dokuwiki__header div.breadcrumbs { - margin-bottom: .7em; -} - - -#dokuwiki__header ul.a11y.skip { - left: auto !important; - right: 1em !important; - top: 3.1em !important; - width: auto !important; - height: auto !important; - list-style: none; - padding: 0; - margin: 0; -} -[dir=rtl] #dokuwiki__header ul.a11y.skip { - right: auto !important; - left: 1em !important; -} - - -} /* /@media */ \ No newline at end of file diff --git a/css/plugins/bureaucracy.less b/css/plugins/bureaucracy.less new file mode 100755 index 0000000..678e902 --- /dev/null +++ b/css/plugins/bureaucracy.less @@ -0,0 +1,116 @@ +/** + * This file provides styles for bureaucracy plugin + */ + +/* + + + + + global + + + + + */ +.dokuwiki form.bureaucracy__plugin { + fieldset { + width: 100%; + max-width: 800px; + box-sizing: border-box; + border: 0 none; + text-align: center; + margin-left: 0; + margin-bottom: (@grid * 2); + padding: @grid 0 0; + + > *:not(button) { + text-align: left; + } + } + + legend { + font-size: @font-size-small; + font-weight: bold; + text-align: left; + } + + label { + clear: both; + padding-top: (@grid / 2); + + &::after { + content: ''; + clear: both; + } + + sup { + float: right; + font-size: 1em; + } + + input, + select { + float: left; + width: 50%; + text-align: left; + padding: .1em .2em; + } + + input[type="checkbox"] { + width: 1.5rem; + height: 1.5rem; + background-image: none; + } + + span { + float: left; + text-align: right; + line-height: @line-height-default; + padding-top: .2em; + padding-right: @grid; + + &:not([class]) { + font-weight: bold; + margin-top: .5em; + + + input, + + select { + margin-top: .3em; + } + + // checkboxes + + input + input { + margin-top: .3em; + } + } + + &.label { + text-align: right; + padding-top: .5em; + } + + &.input { + width: 49%; + text-align: left; + padding-left: 0; + } + } // span + } // label + + button[type="submit"] { + margin-top: (@grid * 2); + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* min-width: 1440px */ +@media @screen_min-xlg { + .dokuwiki form.bureaucracy__plugin { + p { + font-size: @font-size-default; + } + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* max-width: 1439px */ +@media @screen_max-xlg { + .dokuwiki form.bureaucracy__plugin { + p, + label, + button[type="submit"] { + font-size: @font-size-default; + } + } +} diff --git a/css/plugins/configmanager.less b/css/plugins/configmanager.less new file mode 100644 index 0000000..972744d --- /dev/null +++ b/css/plugins/configmanager.less @@ -0,0 +1,174 @@ +/** + * This file provides styles for config manager + */ + +/* + + + + + config__manager + + + + + */ +#dokuwiki__content { + #config__manager { + fieldset { + min-width: 100%; + overflow-x: auto; + box-sizing: border-box; + background-color: var(--color-background); + margin-left: 0; + margin-right: 0; + color: var(--color-foreground) + } + + .selectiondefault { + background-color: transparent; + color: inherit; + } + + tr { + a { + color: var(--color-shade-4); + } + + .input { + background-color: transparent; + color: inherit; + } + + input, select, textarea { + background-color: var(--color-background); + color: var(--color-foreground); + } + + select.edit { + padding: 0 0.3em; + } + + &:hover { + td { + color: inherit; + } + } + } + + tr.default { + .input { + background-color: transparent; + } + + input, select, textarea { + background-color: var(--color-shade-1); + } + } + + td.label { + padding: .8em 0 1.2em 1em; + + span.outkey { + background-color: var(--color-background); + color: inherit; + font-size: (@font-size-small - .06); + font-weight: bold; + padding: 0 @very-small-spacing; + + a { + font-size: inherit; + } + } + + label { + line-height: @line-height-big; + } + } + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* max-width: 1024px */ +@media @screen_max-md { + #dokuwiki__content { + #config__manager { + td { + &.label { + label, + span { + font-size: @font-size-small; + } + } + + &.label + td { + font-size: @font-size-small; + + span { + font-size: inherit; + } + } + + select, + input.edit { + font-size: @font-size-small; + } + } + + .selectiondefault { + label { + font-size: @font-size-small; + } + } + } + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* max-width: 768px */ +@media @screen_max-sm { + #dokuwiki__content { + #config__manager { + table { + border-top: 0 none; + } + + td { + padding-top: 0; + + &.label { + display: block; + width: 100%; + border: 0 none; + border-top: 1px solid @ini_border; + border-bottom: 0 none; + padding: .8em .5em .3em; + + + span.outkey { + margin-left: 0; + } + } + + .input { + width: 100%; + } + + + &.value, + &.label + td { + display: block; + width: 100%; + border: 0 none; + margin-bottom: 1.2rem; + } + + select, + input.edit { + width: 100%; + text-overflow: ellipsis; + } + } + + .selectiondefault { + float: none; + max-width: 100%; + width: auto; + + label { + width: 90%; + } + } + } + } +} diff --git a/css/plugins/data.less b/css/plugins/data.less new file mode 100644 index 0000000..561c488 --- /dev/null +++ b/css/plugins/data.less @@ -0,0 +1,48 @@ +/** + * This file provides styles for "data plugin" + * after importing struct data this can be deleted + */ + +/* + + + + + global + + + + + */ +#dokuwiki__content { + .dataplugin_entry { + dl { + margin-left: 0; + margin-right: 0; + } + } + + .editbutton_plugin_data { + position: relative; + top: -1em; // as margin after DL + float: left; + font-size: @font-size-small; // for right position + margin-top: 0; + + form { + button { + min-height: 1rem; + height: 1.8em; + background-color: var(--color-background); + border-top: solid 1px @ini_button_background; + border-color: @ini_border; + border-radius: 0 0 @fix_border-radius @fix_border-radius; + color: @ini_existing; + font-size: @font-size-small; + line-height: 1.8em; + margin-top: -1px; // for right position + margin-left: .6em; + padding: 0 .3em; + transition: @transition background-color, @transition border-color, @transition color; + + &:hover, + &:focus, + &:active { + background-color: @ini_existing; + border-color: @ini_existing; + color: var(--color-background); + } + } + } + } +} diff --git a/css/plugins/do_tasks.less b/css/plugins/do_tasks.less new file mode 100755 index 0000000..2fa828b --- /dev/null +++ b/css/plugins/do_tasks.less @@ -0,0 +1,96 @@ +/** + * This file provides styles for do-task plugin + */ + + +/* + + + + + usertool icon in header + + + + + */ +#dokuwiki__usertools.nav-usertools { + ul { + li { + &.user-task { + .btn-usertools-wrapper(); + .btn-usertools-num(); + + position: relative; + + .plugin__do_usertasks { + width: 100%; + min-width: (@toggle-size + .25); + min-height: @toggle-size; + border-radius: @ini_default_border_radius; + border: 1px solid @wikiicons-border; + padding: .14rem 0 0 0; + + &::before { + content: ''; // remove when fontello is removed from usertools + } + + &:hover, + &:focus, + &:active { + background-color: @ini_nav_menu_hover_color; + border: none; + + svg path { + fill: @ini_nav_menu_hover_bg; + } + } + } + + button { + background-color: @ini_nav_menu_hover_bg; + } + + svg { + width: 1.2rem; + height: 1.2rem; // for IE 11 + margin-bottom: 2px; + + path { + fill: @ini_nav_menu_hover_color; + } + } + + .noopentasks { + span { + background-color: var(--color-background); + border-color: @noopentasks-border; + color: @ini_text_webframe; + } + + svg path { + fill: @ini_text_webframe; + } + + .num { + background-color: @noopentasks-border; // fix + color: @noopentasks-color; // fix + margin-top: 1px; + } + } + + @media @screen_max-xs { + display: none; + } + } // user-task + } // li + } // ul +} + +.plugin__do_usertasks_list { + background-color: transparent; + + @media @screen_max-sm { + right: 1.25rem !important; + left: 1.25rem !important; + } + + table.inline { + background-color: var(--color-background); + margin-top: .5rem; + + @media @screen_max-sm { + width: 100%; + } + } +} diff --git a/css/plugins/edit.less b/css/plugins/edit.less new file mode 100644 index 0000000..b3092d7 --- /dev/null +++ b/css/plugins/edit.less @@ -0,0 +1,81 @@ +/** + * This file provides styles for the edit view (?do=edit), preview + * and "section edit button" and "editbutton_table edit button". + */ + +/* + + + + + edit view + + + + + */ +#dokuwiki__content { + div.section_highlight { + clear: right; + background: repeating-linear-gradient(-45deg, + var(--color-shade-1), + var(--color-shade-1) 10px, + var(--color-background) 10px, + var(--color-background) 20px,); + border-color: var(--color-background); + } + + // "section edit button" and "editbutton_table edit button" + .secedit button { + clear: both; + font-size: 100%; + margin-top: .5rem; + margin-bottom: .5rem; + + &::after { + + } + + &:hover { + &::after { + border: none; + } + } + } + + div.editBox { + background-color: var(--color-background); + border: solid 2px var(--color-shade-4); + border-radius: @fix_border-radius; + padding: 0.5rem; + + .editButtons { + display: inline-block; + padding-bottom: 1rem; + } + + @media @screen_max-xs { + div.summary { + label[for=edit__summary] { + white-space: normal; + display: block; + width: 100%; + + span { + display: inline-block; + padding-bottom: .4rem; + } + + input#edit__summary { + max-width: 100%; + box-sizing: border-box; + } + } + } + } + } +} + +.mode_edit { + .content { + .msg-area { + display: block; + margin-bottom: 1.5rem; + clear: both; + } + + #spr__meta-box { + display: none; + } + } +} diff --git a/css/plugins/edittable.less b/css/plugins/edittable.less new file mode 100644 index 0000000..144270b --- /dev/null +++ b/css/plugins/edittable.less @@ -0,0 +1,69 @@ +/** + * This file provides styles for "edittable plugin" + */ + +/* + + + + + global + + + + + */ +#dokuwiki__content.main-content { + #edittable__editor { + th, + .handsontable th { + border-color: var(--color-shade-4); + background-color: var(--color-shade-1); + color: var(--color-foreground); + + &.ht__highlight { + background-color: var(--color-shade-2); + } + } + + td { + border-color: var(--color-shade-4); + background-color: var(--color-background); + color: var(--color-foreground); + + &.current { + background-color: var(--color-shade-1); + } + } + } + + div.editbutton_table { + position: relative; // for IE + float: left; + margin-top: -1.4em !important; // overwrite inline styles + + form div.no { + button, + input.button { + min-height: 1rem; + background-color: var(--color-shade-1); + border: solid 0.1em var(--color-shade-2); + border-radius: 0.5rem; + color: var(--color-foreground); + font-size: @font-size-small; + margin: 0; + margin-top: 0.5rem; + padding: 0.2rem 0.4rem; + height: auto; + + &:hover, + &:focus, + &:active { + background-color: transparent; + color: var(--color-glow-primary); + border-color: var(--color-glow-primary); + transition: var(--transition-glow); + filter: var(--filter-glow-primary); + } + } + } + + + * { + clear: left; + } + + + div.editbutton_table { + clear: none; + } + } +} diff --git a/css/plugins/extension__manager.less b/css/plugins/extension__manager.less new file mode 100644 index 0000000..1199b74 --- /dev/null +++ b/css/plugins/extension__manager.less @@ -0,0 +1,67 @@ +/** + * This file provides styles for extension manager + */ + +/* + + + + + global + + + + + */ +.dokuwiki { + #extension__manager { + .actions { + font-size: 0; + + > button { + font-size: .92rem; + margin-left: .3rem; + padding-left: .3rem; + padding-right: .3rem; + } + + p.permerror { + @media @screen_max-md { + flex-direction: column; + } + + display: flex; + align-items: start; + gap: 0.5rem; + background: none; + + &::before { + content: ""; + flex-shrink: 0; + margin-top: 0.3em; + width: 1em; + height: 1em; + mask-size: contain; + mask-position: center top; + mask-repeat: no-repeat; + mask-image: url(img/warning.svg); + background-color: var(--color-warning); + } + } + } + + ul.tabs { + li.active { + a { + background-color: var(--color-shade-3); + color: var(--color-foreground); + border-color: var(--color-shade-4); + } + } + } + + .panelHeader { + background-color: var(--color-shade-2); + } + } + + #extension__list { + .extensionList { + + li { + color: var(--color-foreground); + } + } + } +} + diff --git a/css/plugins/fastwiki.less b/css/plugins/fastwiki.less new file mode 100644 index 0000000..c8f3016 --- /dev/null +++ b/css/plugins/fastwiki.less @@ -0,0 +1,7 @@ +/** + * This file provides styles for "fastwiki" plugin + */ + +.mode_edit .content .row > .col-xs-12 #dokuwiki__content::before { + display: none; +} diff --git a/css/plugins/folded.less b/css/plugins/folded.less new file mode 100644 index 0000000..660d4a5 --- /dev/null +++ b/css/plugins/folded.less @@ -0,0 +1,33 @@ +/** + * This file provides styles for the toggle "folded" + */ + +/* + + + + + global + + + + + */ +#dokuwiki__content { + a.folder { + background: transparent url("svg.php?svg=down.svg&f=existing") right center no-repeat; + color: @ini_existing; + padding-right: 20px; + + &.open { + background-image: url("svg.php?svg=up.svg&f=existing"); + } + } + + div.folded { + box-shadow: @box-shadow-colored; + border: 1px solid fade(@ini_existing, 50%); + border-radius: 0; + margin-top: -.7rem; + margin-bottom: .7rem; + padding: .5em; + + p { + margin: .5rem 0; + } + } + + span.folded { + border: 1px dotted @ini_border; + } +} diff --git a/css/plugins/highlight_parent.less b/css/plugins/highlight_parent.less new file mode 100644 index 0000000..73822fb --- /dev/null +++ b/css/plugins/highlight_parent.less @@ -0,0 +1,22 @@ +/** + * This file provides styles for highlight plugin + */ + +/* + + + + + global + + + + + */ +#plugin__highlightparent { + clear: none; + display: block; + position: relative; + + + * { + clear: both; + padding-top: 1em; // as h1 + } +} + +@media @screen_max-md { + #plugin__highlightparent { + clear: both; + margin-top: 1rem; + } +} diff --git a/css/plugins/magic-matcher.less b/css/plugins/magic-matcher.less new file mode 100755 index 0000000..865897f --- /dev/null +++ b/css/plugins/magic-matcher.less @@ -0,0 +1,215 @@ +/** + * This file provides styles for magic matcher plugin + */ + +/* + + + + + + + + + + + + + + + + + + + + + + + */ +/* magic matcher bar with form on top of page */ +#spr__magic-matcher { + position: fixed; + top: 0; + left: 0; + width: 100%; + + .container { + @media @screen_md-lg { + margin-left: 1.8rem; + } + } + + #mm__issueselect_chosen { + max-width: 50%; + } + + select[name="mmissues"] + div.chosen-container { + max-width: 67%; + } + + button[name="toggleSuggestions"] { + position: absolute; + right: 0; + top: 0; + border: 0; + border-bottom: 1px solid @ini_border; + border-left: 1px solid @ini_border; + color: @ini_nav_menu_color; + background: #fff; + border-radius: 0; + border-bottom-left-radius: 5px; + + &:hover, + &:focus, + &:active { + border-color: @ini_button_background; + color: @ini_button_background; + } + } + + #magicmatcher__context { + position: relative; + width: 100%; + min-height: @height-context-bar; + box-sizing: border-box; + box-shadow: @box-shadow; + background-color: var(--color-background); + border-radius: 0 0 @ini_default_border_radius @ini_default_border_radius; + font-size: @font-size-default; + padding: .8em 1em .5em; + margin-bottom: 0; + + .chosen-container-single, + .chosen-container-single *, + #mm_issue_loading, + .mm__status, + .toggleSuggestions { + font-size: @font-size-default; + } + + .chosen-container-single { + .chosen-single span { + line-height: @line-height-bigger; + } + } + + @media @screen_max-md { + padding-top: @margin-default; + + .chosen-container { + display: block; + min-width: 100%; + max-width: 100%; + margin-bottom: .5rem; + } + } + } +} + +/* + + + + + in content + + + + + */ +a.jiralink { + font-size: @font-size-default; + + img { + float: left; + display: inline-block; + margin-top: .13em; + margin-right: 3px; + } + + span.mm__status { + display: inline-block; + font-size: @font-size-default; + margin-left: 5px; + padding: 1px 4px; + } +} + +/* + + + + + tooltip in metabox + + + + + */ +.dokuwiki { + .serverToolTip { + box-shadow: @box-shadow; + border-radius: @fix_border-radius; + font-size: @font-size-default; + + h1.issueTitle { + font-size: @font-size-default; + } + + h2 { + font-size: @font-size-small; + } + + ul { + margin-top: @small-spacing; + } + + p, + li { + font-size: (@font-size-small - .06); + + * { + font-size: inherit; + } + } + + p { + margin-top: @small-spacing; + margin-bottom: @small-spacing; + } + + .components { + .component { + font-size: (@font-size-small - .06); + } + } + + .labels { + .label { + font-size: (@font-size-small - .06); + } + } + + .descriptionTeaser { + font-size: (@font-size-small - .06); + margin-top: (@small-spacing * 2); + margin-bottom: (@small-spacing * 2); + } + } +} + +/* + + + + + no js version + + + + + */ +.no-js { + #spr__magic-matcher { + display: none; + } +} + +.do-admin #dokuwiki__content { + #magicmatcher__repoadmin, + #magicmatcher_adminimport { + .tabs li { + a { + cursor: pointer; + } + &.active { + a { + cursor: default; + } + } + } + + .service_wrapper > a{ + display: inline-block; + margin-top: 20px; + } + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* max-width: 1023px */ +@media @screen_max-lg { + #spr__magic-matcher { + #magicmatcher__context { + .chosen-container-single { + width: 20% !important; + + + select + .chosen-container-single { + width: 58% !important; + } + } + } + } +} + +@media @screen_max-md { + #spr__magic-matcher { + display: none; + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* print */ +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +@media print { + #spr__magic-matcher { + display: none; + } +} diff --git a/css/plugins/mediamanager.less b/css/plugins/mediamanager.less new file mode 100644 index 0000000..e591949 --- /dev/null +++ b/css/plugins/mediamanager.less @@ -0,0 +1,69 @@ +/** + * This file provides styles for mediamanager + */ + +/* + + + + + global + + + + + */ +#mediamanager__page { + .namespaces{ + h2 { + bottom: 0; + line-height: 100%; + margin-bottom: -1px; + background-color: var(--color-shade-3); + color: var(--color-foreground); + border-color: var(--color-shade-4); + } + .panelHeader { + border-color: var(--color-shade-4); + } + } + + #media__tree ul li img { + padding-top: .3em; + } + + ul.tabs li a { + border-bottom-color: transparent; + } + + #page__revisions { + > .no > ul > li input[type="checkbox"] { + margin-left: 0; + } + } + + .panelHeader { + background-color: var(--color-shade-2); + } + + .filelist .panelContent ul li{ + background-color: var(--color-shade-2); + color: var(--color-foreground); + + &:hover { + background-color: var(--color-shade-4); + border: none; + } + } + + .file dl { + dt{ + background-color: var(--color-shade-2); + padding: 0.2em; + } + + dd{ + background-color: var(--color-shade-1); + padding: 0.2em; + } + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* media queries */ +@media @screen_max-md { + #mediamanager__page { + min-width: 100%; + max-width: 100%; + } +} diff --git a/css/plugins/move.less b/css/plugins/move.less new file mode 100644 index 0000000..c512c54 --- /dev/null +++ b/css/plugins/move.less @@ -0,0 +1,12 @@ +/** + * This file provides styles for move plugin + */ + +/* + + + + + global + + + + + */ +#dokuwiki__site > .plugin_move_dialog { + font-size: @font-size-default; + + * { + font-size: @font-size-default; + } +} diff --git a/css/plugins/popupviewer.less b/css/plugins/popupviewer.less new file mode 100755 index 0000000..a9c32d8 --- /dev/null +++ b/css/plugins/popupviewer.less @@ -0,0 +1,26 @@ +/** + * This file provides styles for popupviewer plugin + */ + +/* + + + + + global + + + + + */ +#popupviewer { + > .controls > .content { + padding: 1.5rem 1rem 1rem; + + td, + th { + font-size: @font-size-default; + line-height: @line-height-default; + a{ + font-size: @font-size-default; + line-height: @line-height-default; + } + } + + .li, + li { + font-size: @font-size-default; + line-height: @line-height-default; + } + } +} diff --git a/css/plugins/qc.less b/css/plugins/qc.less new file mode 100644 index 0000000..c26c734 --- /dev/null +++ b/css/plugins/qc.less @@ -0,0 +1,103 @@ +/** + * Styles for the QC plugin + */ + +/* + + + + + slideout output + + + + + */ +.qc-output { + position: relative; + min-width: 100%; + width: auto; + background-color: @ini_background !important; + font-size: 90%; + box-shadow: @box-shadow-bottom; + border-bottom: solid 1px @ini_border_light; + margin-bottom: 0; + padding-top: 0 !important; // for JS overwrite + + @media @screen_min-xxs { + margin-right: -(@margin-default); + margin-left: -(@margin-default); + padding-left: @margin-default; + padding-right: @margin-default; + } + + @media @screen_min-md { + top: -(@margin-small); + } + + @media @screen_max-md { + top: 0; + margin-top: -(@page_padding-top + 2); + margin-right: -(@margin-default * 1.6); + margin-left: -(@margin-default); + padding-top: @margin-default; + } + + @media @screen_max-xxs { + margin-left: -(@margin-small); + padding-left: @margin-small; + padding-right: @margin-default; + } + + h1 { + @media @screen_min-md { + padding-top: 0; + } + } + + h2 { + font-size: 1.3rem; + } + + h3 { + font-size: 1.1rem; + } + + h4, + h5, + h6 { + font-size: 1rem; + } + + div, + p { + margin-left: 0; + } + + dl { + dt, + dd { + padding-bottom: @small-spacing; + + @media @screen_max-xxs { + float: none; + display: inline-block; + width: 49%; + max-width: 10em; + vertical-align: top; + margin-left: 0; + } + } + } + + .qc_icon { + background-color: #fff; + border-radius: @fix_border-radius; + vertical-align: top; + padding: .1rem; + } +} + +/* + + + + + admin settings + + + + + */ +.do-admin #dokuwiki__content { + #plugin__qc_admin { + table .centeralign { + .qc_icon svg + span { + min-width: 2em; + padding-left: .2em; + text-align: left; + display: inline-block; + } + } + } +} diff --git a/css/plugins/sitemapnavi.less b/css/plugins/sitemapnavi.less new file mode 100644 index 0000000..23978f4 --- /dev/null +++ b/css/plugins/sitemapnavi.less @@ -0,0 +1,25 @@ +/** + * This file provides styles for the sitemapnavi plugin + */ + +#plugin__sitemapnavi { + padding-bottom: @nav-margin; + margin-bottom: @nav-margin; + border-bottom: 1px solid @ini_nav_menu_color; + + label { + padding-left: 0.5em; + } + + li { + line-height: @line-height-bigger; + + li { + margin-left: 0.75em; + } + } +} + +.wide-content #plugin__sitemapnavi { + display: none; +} diff --git a/css/plugins/starred.less b/css/plugins/starred.less new file mode 100644 index 0000000..26426d6 --- /dev/null +++ b/css/plugins/starred.less @@ -0,0 +1,17 @@ +/** + * This file provides styles for starred plugin + */ +nav.nav-starred { + ul { + list-style: none; + + li { + margin-left: 0; + + svg { + vertical-align: text-top; + fill: @ini_nav_menu_color; + } + } + } +} diff --git a/css/plugins/struct.less b/css/plugins/struct.less new file mode 100755 index 0000000..6742bf3 --- /dev/null +++ b/css/plugins/struct.less @@ -0,0 +1,196 @@ +/** + * This file provides styles for struct plugin + */ + +/* + + + + + global + + + + + */ +#dokuwiki__content { + .structaggregation { + @link-height: 1.5rem; + + position: relative; + padding-bottom: @link-height; + margin-bottom: @grid; + + td, + th { + line-height: @line-height-default; + + a { + //color: @ini_existing; + line-height: @line-height-default; + } + } + + th { + a { + color: @ini_link_alt; + } + } + + // search button in table (f.i. "All products") + table th input { + &:not(:focus) { + cursor: pointer; + } + + &:focus { + width: 100%; + box-sizing: border-box; + } + } + + .table { + margin-bottom: 0; + } + + > a { + position: absolute; + bottom: 0; + height: @link-height; + margin-bottom: 0; + + &.export { + bottom: 1px; + overflow-x: hidden; + background: transparent url("svg.php?svg=file-export.svg&f=existing") left center no-repeat; + background-size: auto 20px; + border: solid 1px @ini_border; + border-radius: 0 0 @fix_border-radius @fix_border-radius; + color: @ini_existing; + font-size: @font-size-small; + line-height: 1; + margin-top: -1px; + padding-top: .4em; + transition: @transition background-color, @transition border-color, @transition color; + + &:hover, + &:focus, + &:active { + background-color: @ini_existing; + background-image: url("svg.php?svg=file-export.svg&f=background"); + border-color: @ini_existing; + //color: var(--color-background); + text-decoration: none; + } + } + } + } + + #plugin__struct_output { + margin-right: 0; + + th { + background-color: @ini_background_alt; + } + } + + .struct_entry_form { + margin-bottom: 2rem; + + > fieldset { + margin-top: 1.5rem; + } + } + + textarea + .struct_entry_form { + margin-top: -.5rem; + } + + div.editBox { + .struct_entry_form { + label span.label { + color: @color-editBox; + } + } + } +} + +/* + + + + + struct inline-editor + + + + + */ +.dokuwiki { + .struct_inlineditor { + box-shadow: @box-shadow-bottom; + + p.hint { + margin-top: @small-spacing; + margin-bottom: @margin-small; + } + + button[type="submit"] + button { + min-height: @formfield_min-height; + vertical-align: middle; + margin-left: @small-spacing; + } + } + + /* struct fields for bureaucracy forms */ + .bureaucracy__plugin { + .field { + clear: both; + + label { + padding: 0; + + .label { + text-align: right; + font-weight: bold; + padding: 0; + } + } + + .input { + line-height: 2.5em; + } + } + } +} + + +/* + + + + + form - Struct Schema Editor + + + + + */ +form { + &.doku_form.struct_newschema { + fieldset { + > label { + > span:first-child { + display: inline-block; + + @media @screen_min-lg { + width: 48.8%; + } + + @media @screen_max-lg { + width: 48.5%; + } + } + + > input[type="text"] { + width: 50%; + } + } + + button { + cursor: pointer; + box-shadow: none; + background-image: none; + background-color: @ini_button_background; + border: 1px solid @ini_button_background; + border-radius: @fix_border-radius; + color: @ini_button_color; + vertical-align: top; + margin-top: .3em; + padding: .3em @grid; + transition: @transition background-color, @transition color; + + &:hover, + &:active, + &:focus { + background-color: @ini_button_color; + color: @ini_button_background; + } + + + p { + padding-top: 1rem; + } + } + } // fieldset + } +} // form diff --git a/css/plugins/structstatus.less b/css/plugins/structstatus.less new file mode 100644 index 0000000..0bfd143 --- /dev/null +++ b/css/plugins/structstatus.less @@ -0,0 +1,12 @@ +/** + * This file provides styles for structstatus plugin + */ + +/* + + + + + global + + + + + */ +#dokuwiki__content { + .struct_status { + border-color: @ini_border; + border-radius: @fix_border-radius; + font-size: @font-size-small; + } +} diff --git a/css/plugins/tabinclude.less b/css/plugins/tabinclude.less new file mode 100644 index 0000000..b8ef834 --- /dev/null +++ b/css/plugins/tabinclude.less @@ -0,0 +1,57 @@ +/** + * This file provides styles for the tabinclude + */ + +/* + + + + + plugin tabinclude + + + + + */ +div#dwpl-ti-container { + li.dwpl-ti-tab { + box-shadow: none; + background-color: @ini_background_page_header; + border-color: @ini_border; + border-radius: @fix_border-radius @fix_border-radius 0 0; + color: @ini_background_page_footer; + padding: 0; + + &:hover { + background-color: @ini_background_page_header; + text-decoration: none; + + div { + text-decoration: underline; + + &.selected { + color: @ini_text; + } + } + } + + div { + border-radius: inherit; + color: inherit; + padding: .1em .35em; + + &.selected { + position: relative; + background-color: var(--color-background); + color: @ini_text; + } + } + } + +/* + + + content box + + + */ + div.dwpl-ti-content-box { + position: relative; + overflow: auto; + box-shadow: @box-shadow; + background-color: var(--color-background); + border: solid 1px @ini_border; + border-radius: 0; + margin-top: -1px; + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* media queries */ +@media @screen_max-md { + div#dwpl-ti-container { } +} diff --git a/css/plugins/tablelayout.less b/css/plugins/tablelayout.less new file mode 100644 index 0000000..9e69a36 --- /dev/null +++ b/css/plugins/tablelayout.less @@ -0,0 +1,19 @@ +/** + * This file provides styles for "tablelayout plugin" + */ + + +/* + + + + + global + + + + + */ + +#dokuwiki__content.main-content .secedit.editbutton_table{ + a.button.print { + min-height: 1rem; + background-color: var(--color-background); + border-radius: 0 @ini_default_border_radius; + border-top: solid 1px; + border-color: @ini_border; + font-size: .88rem; + margin-top: -1px; + padding-right: .3em; + } +} diff --git a/css/plugins/tagging.less b/css/plugins/tagging.less new file mode 100644 index 0000000..d20a77f --- /dev/null +++ b/css/plugins/tagging.less @@ -0,0 +1,123 @@ +/** + * This file provides styles for the form in tagcloud + */ + +/* + + + + + plugin tagging + + + + + */ +#spr__meta-box { + ul.tagging_cloud { + width: 100%; + padding-right: 0; + + li { + &.t0 a { + font-size: .88rem; + } + + &.t1 a { + font-size: 1rem; + } + + &.t2 a { + font-size: 1.1rem; + } + + &.t3 a { + font-size: 1.2rem; + } + + &.t4 a { + font-size: 1.3rem; + } + + &.t5 a { + font-size: 1.4rem; + } + + &.t6 a { + font-size: 1.5rem; + } + + &.t7 a { + font-size: 1.6rem; + } + + &.t8 a { + font-size: 1.7rem; + } + + &.t9 a { + font-size: 1.8rem; + } + + &.t10 a { + font-size: 1.9rem; + } + } + } + + form#tagging__edit { + width: 100%; + + label { + display: block; + } + + input.edit { + width: 100%; + margin-bottom: .5rem; + } + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* media queries */ +@media @screen_max-md { + #spr__meta-box { + form { + &#tagging__edit { + label { + display: inline-block; + min-width: 50%; + vertical-align: top; + margin-bottom: .5rem; + } + + input.edit { + margin-bottom: 0; + } + } + } + } +} + +@media @screen_max-xs { + #spr__meta-box { + form { + div > button[type="submit"] { + width: 49%; + padding: 0; + } + + &#tagging__edit { + &::after { + content: ''; + clear: both; + display: block; + } + + label { + display: block; + width: 100%; + } + + button[type="submit"] { + float: right; + + &:first-of-type { + float: left; + } + } + } + } + } +} diff --git a/css/plugins/tplinc.less b/css/plugins/tplinc.less new file mode 100644 index 0000000..986b145 --- /dev/null +++ b/css/plugins/tplinc.less @@ -0,0 +1,6 @@ +.wide-content { + .sidebarheader, + .sidebarfooter { + visibility: hidden; + } +} diff --git a/css/plugins/translation.less b/css/plugins/translation.less new file mode 100644 index 0000000..eb6a464 --- /dev/null +++ b/css/plugins/translation.less @@ -0,0 +1,57 @@ +/** + * This file provides styles for the translation plugin + */ +@import "../base"; + + +.dokuwiki div.plugin_translation { + clear: none; + display: block; + position: relative; + float: none; + + box-sizing: border-box; + width: 100%; + padding-bottom: 0.5rem; + height: 4rem; + + + * { + clear: both; + padding-top: 1em; // as h1 + } + + ul li { + margin-top: 0; + + // active language + span.wikilink1 { + .fnButton(); + .fnActiveButton(); + cursor: default; + } + + a.wikilink1{ + .fnButton(); + } + + span.wikilink2{ + .fnButton(); + .fnButtonSecondary(); + .fnActiveButtonSecondary() + } + + a.wikilink2, + a.wikilink2:visited{ + .fnButton(); + .fnButtonSecondary(); + background-color: var(--color-shade-4); + } + } +} + +@media @screen_max-md { + .dokuwiki div.plugin_translation { + clear: both; + margin-top: 1rem; + } +} diff --git a/css/plugins/wrap.less b/css/plugins/wrap.less new file mode 100644 index 0000000..0c0948c --- /dev/null +++ b/css/plugins/wrap.less @@ -0,0 +1,119 @@ +.dokuwiki { + span.wrap_em { + color: var(--color-error); + } + + span.wrap_hi { + background-color: var(--color-highlight); + color: var(--color-foreground); + } + + span.wrap_lo { + color: var(--color-text-2); + } + + div.plugin_wrap { + &.wrap_box { + background-color: var(--color-shade-1); + color: var(--color-foreground); + } + + &.wrap_info, + &.wrap_tip, + &.wrap_important, + &.wrap_alert, + &.wrap_help, + &.wrap_download, + &.wrap_todo { + @media @screen_max-md { + flex-direction: column; + } + + display: flex; + align-items: start; + gap: 1rem; + border: none; + border-left: solid 0.5rem var(--color-shade-4); + border-radius: 0.5rem; + padding: 1em; + background-image: none; + background-color: var(--color-shade-1); + + &::before { + content: ""; + flex-shrink: 0; + margin-top: 0.3em; + width: 2em; + height: 2em; + mask-size: contain; + mask-position: center top; + mask-repeat: no-repeat; + background-color: currentColor; + } + } + + &.wrap_info { + color: var(--color-foreground); + + &::before { + mask-image: url(img/info.svg); + } + } + + &.wrap_tip { + color: var(--color-foreground); + + &::before { + mask-image: url(img/lightbulb.svg); + } + } + + &.wrap_important { + border-left-color: var(--color-warning); + color: var(--color-foreground); + + &::before { + background-color: var(--color-warning); + mask-image: url(img/warning.svg); + } + } + + &.wrap_alert { + border-left-color: var(--color-error); + color: var(--color-foreground); + + &::before { + background-color: var(--color-error); + mask-image: url(img/power.svg); + } + } + + &.wrap_help { + border-left-color: var(--color-accent-1); + color: var(--color-foreground); + + &::before { + background-color: var(--color-accent-1); + mask-image: url(img/question.svg); + } + } + + &.wrap_download { + border-left-color: var(--color-success); + color: var(--color-foreground); + + &::before { + background-color: var(--color-success); + mask-image: url(img/arrow_down.svg); + } + } + + &.wrap_todo { + color: var(--color-foreground); + + &::before { + mask-image: url(img/tick_small.svg); + } + } + } +} diff --git a/css/print.css b/css/print.css deleted file mode 100755 index 5a7be03..0000000 --- a/css/print.css +++ /dev/null @@ -1,154 +0,0 @@ -/** - * 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 */ -audio, -video, -#dokuwiki__header .tools, -#dokuwiki__aside, -.dokuwiki .breadcrumbs, -.dokuwiki .toc, -#dw__toc, -#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; -} - -/* undo icons */ -a:link, -a:visited { - text-decoration: none; - border-bottom: 1pt dotted; - color: #333; - background-color: inherit; - background-image: none; - padding: 0; -} - -/* 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; -} - -/* images */ -img { - border-width: 0; - vertical-align: middle; -} -img.media { - margin: .2em 0; -} -img.medialeft { - margin: .2em 1.5em .2em 0; -} -img.mediaright { - margin: .2em 0 .2em 1.5em; -} -img.mediacenter { - margin: .2em auto; -} - -mark { - font-weight: bold; -} - -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; - text-align: left; -} -[dir=rtl] th, -[dir=rtl] td { - text-align: right; -} -th { - font-weight: bold; -} - - -/*____________ 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; -} -.dokuwiki div.footnotes { - clear: both; - border-top: 1pt solid #000; - margin-top: 10pt; -} diff --git a/css/print.less b/css/print.less new file mode 100755 index 0000000..1c475ac --- /dev/null +++ b/css/print.less @@ -0,0 +1,517 @@ +/** + * This file provides the styles for printing. + */ + +/* + + + + + variables + + + + + */ +@color-print: #000; +@background-print: transparent; +@border-color-print: #ccc; +@border-dark-print: #777; + +/* + + + + + print styles + + + + + */ +html, +body { + background: @background-print; +} + +a:link, +a:visited { + background: @background-print !important; + color: @color-print !important; + text-decoration: underline; +} + +/* lightbox is shown: */ #dokuwiki__top[style="overflow: hidden;"] .page-wrapper, +#spr__direct, +.top-header, +.main-footer, +.menu-togglelink, +.main-title.desktop-only, +#spr__meta-box, +.content .row > .col-xs-12 #dokuwiki__content::before, +.page-wrapper > .tools, +.breadcrumbs, +.wikilink1[href*="id=pagefooter"], +.structaggregation > a.export, +#dokuwiki__content .structaggregation > a, +#dokuwiki__content a.folder { + display: none !important; +} + +.content .row > .col-xs-12 { + box-shadow: none; +} + +.dokuwiki div.page, +.main-sidebar.claim, +.page-footer { + padding: 20pt 20pt 0; +} + +#dokuwiki__header .logo img { + height: 4rem; + width: auto; +} + + +/* + + + + + + + + + + + + + + */ +/* + + + + + admin + + + + + */ + +/* + + + acl_manager + + + */ +#acl__tree { + display: none; +} + +#acl__detail { + .aclpage { + display: block; + font-size: 110%; + margin-top: 13pt; + padding-bottom: 13pt; + } +} + +/* + + + Extension Manager + + + */ +#extension__manager { + form.search { + display: inline-block; + margin-bottom: 20pt; + } + form.install { + display: none; + } + ul.tabs { + li.active { + a { + font-weight: bold; + text-decoration: none; + } + } + } +} + +#extension__list { + .extensionList { + border-bottom: 1pt solid @border-color-print; + padding: 0; + + li { + list-style-type: none; + border-top: 1pt solid @border-color-print; + margin-left: 0; + + &::after { + content: ''; + clear: both; + display: table; + height: 10pt; + } + + a.info, + .actions.col { + display: none; + } + + .screenshot { + float: left; + border: 1pt solid @border-color-print; + margin: 0 10pt 5pt 0; + } + + h2, h2 * { + font-size: 100%; + } + } + } +} + +#user__manager { + table input, + .import_users input{ + display: none !important; + } +} +#acl__detail #acl__user { + display: none; +} + +.do-admin #dokuwiki__content { + + #confmanager { + .popup, + .confmanager_singleLine#local, + button, + .button.saveButton { + display: none !important; + } + + .confmanager_singleLine { + div.defaultValue { + word-break: break-all; + } + } + + } + + > form > fieldset { + + border-color: @border-color-print; + + > textarea.edit[readonly] { + border: 0 none; + min-height: 2250pt; + overflow:visible; + display: block; + page-break-inside: auto; + + + br + label[for="autosubmit"] { + margin-top: 20pt; + + input { + margin-right: 5pt; + } + } + } + } + + #magicmatcher__repoadmin { + + button { + display: none; + } + .service-wrapper { + padding-top: 1rem; + } + } + + .plugin_move_form { + legend { + display: none; + } + } + + #plugin__qc_admin { + table .centeralign { + .qc_icon svg + span { + vertical-align: top; + } + } + } + + .doku_form.struct_newschema { + button { + display: none; + } + } + form.plugin_tagging { + display: none; + } + + #plugin__upgrade_meter { + ol li .stage { + padding-left: .4em; + } + } + + #plugin__upgrade { + code { + word-break: break-all; + font-size: .82rem; + } + } +} + +/* + + + Configuration Settings + + + */ +#dokuwiki__content #config__manager { + fieldset { + padding: 0; + + legend { + padding: 0 .5em; + text-align: center; + background-color: #fff; + } + > .table > table { + border: 0 solid @border-color-print; + width: 100%; + tr { + border-top: 1pt solid @border-color-print; + + &:first-child { + border-top-width: 0; + } + td { + border-width: 0; + } + } + } + } + td.value, + td.label { + font-size: 100%; + padding: .6em 0 .8em 1em; + } + td.label { + width: 35%; + span.outkey, span.outkey * { + font-size: 100%; + } + label { + display: block; + } + span.outkey, label { + padding-left: .2rem; + } + } + + td.value { + input[type="text"] { + border: 0 none; + } + + select { + max-width: 80%; + box-sizing: border-box; + border: 1px solid transparent; + background: transparent; + } + .selectiondefault { + position: relative; + + input.checkbox { + position: absolute; + top:0; + left: 0; + } + + label, input[type="text"] { + position: relative; + top:0; + left: 0; + margin-left: 20pt; + margin-top: .5em; + padding-left: 0; + background-color: transparent; + } + } + } + +} + +.do-admin div.ui-admin ul.admin_tasks, +.do-admin div.ui-admin ul.admin_plugins { + li { + list-style-type: none; + min-height: 2em; + + a { + span.icon { + float: left; + clear: left; + display: inline-block; + width: 22pt; + height: 22pt; + border: 1pt solid @border-color-print; + margin: 0 10pt 0 0; + + &:empty { + &::before { + content: "?"; + display: inline-block; + padding-top: 1pt; + } + } + + svg { + width: 20pt; + height: 20pt; + + path { + fill: @color-print; + } + } + } + + span.prompt { + min-height: 26pt; + display: inline-block; + margin: 0; + padding-top: 4pt; + } + } + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + */ +/* + + + + + Template Style Settings + + + + + */ +.page-footer { + border-top: 1pt solid @border-color-print; + margin-top: 13pt; +} + +#dokuwiki__content #plugin__styling { + + button { + display: none !important; + } + + .styling input[type="text"] { + border: 0 none; + } +} + +/* + + + data plugin + + + */ +.dataplugin_entry dl { + border: 1pt solid @border-color-print; + padding: 7pt; + margin: 7pt 0; + + dt { + clear: left; + float: left; + width: 22%; + font-weight: bold; + text-align: right; + margin-right: 5pt; + } +} + +#dokuwiki__detail { + div.img_detail dl { + dt { + display: inline-block; + width: 20%; + background-color: transparent; + } + dd { + display: inline-block; + width: 75%; + } + } +} + +/* + + + tabbox + + + */ +div#dwpl-ti-container .dwpl-ti, +.dwpl-ti-permalink-header, +.dwpl-ti-permalink-footer { + display: none !important; +} + +div#dwpl-ti-container div.dwpl-ti-content-box { + box-shadow: none; + border: 0 none; +} + +/* + + + media nmanager + + + */ +#mediamanager__page { + .namespaces, + .filelist .tabs, + .panelHeader form { + display: none; + } + + ul.rows { + width: auto; + padding: 0; + } + + .filelist li { + clear: both; + list-style-type: none; + margin: 7pt 0 0; + + dl { + position: relative; + display: table; + border-top: solid 1pt @border-color-print; + padding-top: 2rem; + } + + dt { + display: table-cell; + width: 10%; + height: 40px; + + .size, + .filesize { + width: 15%; + } + + .date { + width: 20%; + } + } + + dd { + display: table-cell; + + &.name { + position: absolute; + top: .5rem; + left: 0; + display: block; + font-weight: bold; + margin: 0; + } + } + } +} + +/* + + + forms + + + */ +form { + button { + &[type="submit"], + &[type="reset"] { + display: none; + } + } + + fieldset { + label, + label.block { + display: block; + text-align: left; + } + + br + br { + display: none; + } + + label { + clear: both; + + > input { + &:first-child { + float: left; + } + + + span { + float: left; + display: inline-block; + padding-left: 7pt; + padding-bottom: 13pt; + } + } + } + + label.block { + display: block; + text-align: left; + + > span { + float: none; + padding-bottom: 0; + + &:first-child { + display: block; + } + } + } + } + + input, + textarea, + select { + border: 1pt solid @border-dark-print; + } +} diff --git a/css/structure.css b/css/structure.css deleted file mode 100755 index f82bb6e..0000000 --- a/css/structure.css +++ /dev/null @@ -1,81 +0,0 @@ -/** - * This file provides styles for the general layout structure. - * - * @author Anika Henke - */ - -body { - margin: 0 auto; -} -#dokuwiki__site { - margin: 0 auto; - max-width: __site_width__; - padding: 1.4em 1em; -} -#dokuwiki__site > .site { -} - -#dokuwiki__header { -} -#dokuwiki__header > .pad { -} - #dokuwiki__header .headings { - float: left; - } - [dir=rtl] #dokuwiki__header .headings { - float: right; - } - - #dokuwiki__header .tools { - float: right; - text-align: right; - } - [dir=rtl] #dokuwiki__header .tools { - float: left; - text-align: left; - } - -#dokuwiki__site .wrapper { - position: relative; -} - - #dokuwiki__aside { - width: __sidebar_width__; - float: left; - position: relative; - display: block; - } - [dir=rtl] #dokuwiki__aside { - float: right; - } - #dokuwiki__aside > .pad { - margin: 0 1.5em 0 0; - } - [dir=rtl] #dokuwiki__aside > .pad { - margin: 0 0 0 1.5em; - } - - /* make content wider when there's no sidebar */ - .hasSidebar #dokuwiki__content { - float: right; - margin-left: -__sidebar_width__; - width: 100%; - } - [dir=rtl] .hasSidebar #dokuwiki__content { - float: left; - margin-left: 0; - margin-right: -__sidebar_width__; - } - .hasSidebar #dokuwiki__content > .pad { - margin-left: __sidebar_width__; - } - [dir=rtl] .hasSidebar #dokuwiki__content > .pad { - margin-left: 0; - margin-right: __sidebar_width__; - } - -#dokuwiki__footer { - clear: both; -} -#dokuwiki__footer > .pad { -} diff --git a/css/template_admin.less b/css/template_admin.less new file mode 100644 index 0000000..f085a35 --- /dev/null +++ b/css/template_admin.less @@ -0,0 +1,122 @@ +/** + * This file provides the design styles for the admin tools + */ + +.do-admin { + #admin__version { + font-size: @font-size-default; + } + + .main-content ul { + > li { + font-size: @font-size-default; + + div.li { + font-size: @font-size-default; + + a { + font-size: @font-size-default; + line-height: 125%; + cursor: pointer; + } + } + } + } + + div.ui-admin { + ul.admin_tasks, + ul.admin_plugins { + padding: 0; + + li { + background-size: auto 1rem; + margin: 0 0 .6em 0; + + a { + color: @ini_existing; + font-weight: 400; + + * { + color: inherit; + } + + span.icon { + width: 1.6em; + min-height: 1.6em; + margin-top: -.3rem; + margin-bottom: .3rem; + + svg { + width: 26px; + height: 26px; + border: solid 1px var(--color-background); + border-radius: @ini_default_border_radius; + fill: @ini_existing; + transition: @transition background-color, @transition border-color, @transition fill; + + path { + fill: @ini_existing; + transition: @transition fill; + } + } + } + + &:hover, + &:focus, + &:active { + span.icon { + svg { + background-color: @ini_existing; + border-color: @ini_existing; + fill: var(--color-background); + + path { + fill: var(--color-background); + } + } + } + } + } + } + } + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* 1024px */ +@media @screen_max-md { + .do-admin { + div.ui-admin { + ul.admin_tasks { + width: 50%; + padding-top: 1rem; + + li { + white-space: normal; + + a { + .display-flex(); // for better position with line breaks (white-space) + + span.icon { + margin-top: -.3rem; + margin-bottom: .3rem; + } + } + } + } + } + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* 768px */ +@media @screen_max-xs { + .do-admin { + div.ui-admin { + ul.admin_tasks { + width: auto; + padding-top: 1rem; + } + } + } +} diff --git a/css/template_detail.less b/css/template_detail.less new file mode 100644 index 0000000..0e06a5a --- /dev/null +++ b/css/template_detail.less @@ -0,0 +1,168 @@ +/** + * This file provides the design styles for the the detail template + * (media details) + */ + +#dokuwiki__detail { + + /* + + + + + linked image + + + + + */ + @media screen { + .img-link { + text-align: center; + + a { + position: relative; + left: 0; + display: inline-block; + max-width: 100%; + color: var(--color-foreground); + margin: 0 auto 1.4em; + + &::before { + position: absolute; + top: 0; + left: 0; + display: block; + width: 100%; + box-sizing: border-box; + background: var(--color-background); + line-height: @line-height-default; + padding: @margin-small; + } + + img { + margin: 0; + display: block; + border: solid 0.1rem transparent; + position: relative; + } + + &:hover, + &:focus, + &:active { + text-decoration: none; + + &::before { + content: attr(title); + border: solid 0.1rem var(--color-glow-primary); + transition: var(--transition-glow); + filter: var(--filter-glow-primary); + } + + img { + border: solid 0.1rem var(--color-shade-4); + } + } + } + } + } + + + /* + + + + + meta data + + + + + */ + div.img_detail { + @media screen { + /* vertical minus margin of .img-detail corresponds to the padding of .page */ + background-color: var(--color-shade-1); + border: solid 0.1em var(--color-shade-4); + margin: @margin-default -(@margin-default); + color: var(--color-foreground); + + h1, + h2, + h3, + h4, + h5, + h6, + p { + padding-left: @margin-default; + padding-right: @margin-default; + } + + > h4 { + padding-top: (@margin-default / 2); + } + } + + dl { + @media screen { + .display-flex(); + .flex-wrap(); + + width: 100%; + + dt, + dd { + box-sizing: border-box; + margin: .2em 0; + padding: (@small-spacing * 2) @small-spacing; + } + } + + dt { + background-color: none; + color: var(--color-foreground); + + @media @screen_min-xs { + width: 33.3%; + } + + @media @screen_max-xs { + width: 40%; + } + } + + dd { + padding-left: (@small-spacing * 2); + + @media @screen_min-xs { + width: 66.6%; + } + + @media @screen_max-xs { + width: 59.9%; + } + } + } + + .os-map { + p { + text-align: right; + } + + iframe { + border: solid @ini_button_background; + border-width: 1px 0; + margin: 0; + padding: 0; + } + } + + @media @screen_max-md { + margin-right: -(@margin-default * 1.6); + + h1, + h2, + h3, + h4, + h5, + h6, + p { + padding-right: (@margin-default * 1.6); + } + } + + @media @screen_max-xs { + margin-left: -(@margin-small); + + h1, + h2, + h3, + h4, + h5, + h6, + p { + padding-left: @margin-small; + } + } + } +} diff --git a/css/toollist.less b/css/toollist.less new file mode 100644 index 0000000..e9d5b14 --- /dev/null +++ b/css/toollist.less @@ -0,0 +1,29 @@ +/** + * Styles for site tools and user tools in sidebar + * Using BEM methodology as far as possible + */ + +//.toollist { +//} + +.toollist__listitem { + list-style: none; + + a { + display: inline-flex; + flex-direction: row-reverse; + flex-wrap: nowrap; + align-items: center; + } + + span { + font-size: @font-size-default; + } + + svg { + width: @font-size-default; + vertical-align: middle; + fill: var(--color-foreground); + margin-right: .2em; + } +} diff --git a/deleted.files b/deleted.files new file mode 100644 index 0000000..3a43b3d --- /dev/null +++ b/deleted.files @@ -0,0 +1,102 @@ +# This is a list of files that were present in previous releases +# but were removed later. They should not exist in your installation. +.gitlab-ci.yml +css/area_main-sidebar-content.less +css/area_main-sidebar.less +css/area_sidebar-search.less +css/area_sidetools.less +css/base_fonts.less +css/basic.css +css/content.css +css/design.css +css/includes.css +css/mobile.css +css/plugins/hightlight_parent.less +css/print.css +css/structure.css +fabfile.py +fonts/Google Android License.txt +fonts/icons/fontello-1a5d199c.zip +fonts/icons/svg/index.css +fonts/roboto-black.eot +fonts/roboto-black.svg +fonts/roboto-black.ttf +fonts/roboto-black.woff +fonts/roboto-blackItalic.eot +fonts/roboto-blackItalic.svg +fonts/roboto-blackItalic.ttf +fonts/roboto-blackItalic.woff +fonts/roboto-bold.eot +fonts/roboto-bold.svg +fonts/roboto-bold.ttf +fonts/roboto-bold.woff +fonts/roboto-boldcondensed.eot +fonts/roboto-boldcondensed.svg +fonts/roboto-boldcondensed.ttf +fonts/roboto-boldcondensed.woff +fonts/roboto-boldcondenseditalic.eot +fonts/roboto-boldcondenseditalic.svg +fonts/roboto-boldcondenseditalic.ttf +fonts/roboto-boldcondenseditalic.woff +fonts/roboto-bolditalic.eot +fonts/roboto-bolditalic.svg +fonts/roboto-bolditalic.ttf +fonts/roboto-bolditalic.woff +fonts/roboto-condensed.eot +fonts/roboto-condensed.svg +fonts/roboto-condensed.ttf +fonts/roboto-condensed.woff +fonts/roboto-condenseditalic.eot +fonts/roboto-condenseditalic.svg +fonts/roboto-condenseditalic.ttf +fonts/roboto-condenseditalic.woff +fonts/roboto-italic.eot +fonts/roboto-italic.svg +fonts/roboto-italic.ttf +fonts/roboto-italic.woff.textClipping +fonts/roboto-italic2.woff +fonts/roboto-light.eot +fonts/roboto-light.svg +fonts/roboto-light.ttf +fonts/roboto-light.woff +fonts/roboto-lightItalic.eot +fonts/roboto-lightItalic.svg +fonts/roboto-lightItalic.ttf +fonts/roboto-lightItalic.woff +fonts/roboto-medium.eot +fonts/roboto-medium.svg +fonts/roboto-medium.ttf +fonts/roboto-medium.woff +fonts/roboto-mediumItalic.eot +fonts/roboto-mediumItalic.svg +fonts/roboto-mediumItalic.ttf +fonts/roboto-mediumItalic.woff +fonts/roboto-regular.eot +fonts/roboto-regular.svg +fonts/roboto-regular.ttf +fonts/roboto-regular.woff +fonts/roboto-thin.eot +fonts/roboto-thin.svg +fonts/roboto-thin.ttf +fonts/roboto-thin.woff +fonts/roboto-thinItalic.eot +fonts/roboto-thinItalic.svg +fonts/roboto-thinItalic.ttf +fonts/roboto-thinItalic.woff +images/apple-touch-icon.png +images/logo.png +js/base/helper.js +js/base/rem.min.js +js/base/spc.js +js/base/velocity.min.js +js/legacy/html5shiv.js +js/legacy/respond.min.js +js/breadcrumb.js +js/sidebar-menu.js +tpl/nav-main.php +tpl/nav-page-quality-tasks.php +tpl/nav-sitetools.php +tpl/nav-trace.php +tpl/nav-usermenu.php +tpl/nav-usertools.php +tpl_functions.php diff --git a/detail.php b/detail.php index 53239a1..49de8c8 100755 --- a/detail.php +++ b/detail.php @@ -1,95 +1,405 @@ - * @author Anika Henke + * @link FIXME + * @author Jana Deutschlaender + * @author Michael Grosse * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) */ +use dokuwiki\template\sprintdoc\Template; -// must be run from within DokuWiki -if (!defined('DOKU_INC')) die(); -@require_once(dirname(__FILE__).'/tpl_functions.php'); /* include hook for template functions */ +if (!defined('DOKU_INC')) die(); /* must be run from within DokuWiki */ header('X-UA-Compatible: IE=edge,chrome=1'); -?> - +global $JSINFO; +if (empty($JSINFO['template'])) { + $JSINFO['template'] = array(); +} +$JSINFO['template']['sprintdoc'] = array('sidebar_toggle_elements' => tpl_getConf('sidebar_sections')); + +$showTools = true; +$showSidebar = true; + +?> + + - - - <?php echo hsc(tpl_img_getTag('IPTC.Headline',$IMG))?> - [<?php echo strip_tags($conf['title'])?>] - - - - - - + + + + + +<?php echo hsc(tpl_img_getTag('IPTC.Headline', $IMG)) ?> [<?php echo strip_tags($conf['title']) ?>] + + + + + + - - -
- + +
+ - - -

+/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* template Include: tpl/nav-direct */ +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ + ?> + + + +
+ + +
+
+
+
+
+ + + +
+ +

+ +
+ + +
+
+ + +
+
+ +

+ + +

+ +
+
+ +
+
+
+ + + + +
+
+
+
+ + +
+ +
+ +
+ + getInclude( + 'sidebarheader', + '
', + '
' + ); + ?> + + + + getInclude( + 'sidebarfooter', + '
', + '
' + ); + ?> +
+ +
+
+
+
+ + +
+
+
+
+ + + +
+
+
+
+ + +
+ +
- +
+
+
+ +
+
+
-

-
- ← -

-
- +
+
+ + + + + + + + +
+ +
+ diff --git a/fonts/argonglow/ArgonGlow-Bold.woff2 b/fonts/argonglow/ArgonGlow-Bold.woff2 new file mode 100644 index 0000000..caf6ff6 Binary files /dev/null and b/fonts/argonglow/ArgonGlow-Bold.woff2 differ diff --git a/fonts/argonglow/ArgonGlow-ExtraLight.woff2 b/fonts/argonglow/ArgonGlow-ExtraLight.woff2 new file mode 100644 index 0000000..7dc6448 Binary files /dev/null and b/fonts/argonglow/ArgonGlow-ExtraLight.woff2 differ diff --git a/fonts/argonglow/ArgonGlow-Light.woff2 b/fonts/argonglow/ArgonGlow-Light.woff2 new file mode 100644 index 0000000..08a6637 Binary files /dev/null and b/fonts/argonglow/ArgonGlow-Light.woff2 differ diff --git a/fonts/argonglow/ArgonGlow-Medium.woff2 b/fonts/argonglow/ArgonGlow-Medium.woff2 new file mode 100644 index 0000000..83bb0d9 Binary files /dev/null and b/fonts/argonglow/ArgonGlow-Medium.woff2 differ diff --git a/fonts/argonglow/ArgonGlow-Regular.woff2 b/fonts/argonglow/ArgonGlow-Regular.woff2 new file mode 100644 index 0000000..601d465 Binary files /dev/null and b/fonts/argonglow/ArgonGlow-Regular.woff2 differ diff --git a/fonts/argonglow/ArgonGlow-SemiBold.woff2 b/fonts/argonglow/ArgonGlow-SemiBold.woff2 new file mode 100644 index 0000000..a88f939 Binary files /dev/null and b/fonts/argonglow/ArgonGlow-SemiBold.woff2 differ diff --git a/fonts/argonglow/ArgonGlow-Thin.woff2 b/fonts/argonglow/ArgonGlow-Thin.woff2 new file mode 100644 index 0000000..dc950fe Binary files /dev/null and b/fonts/argonglow/ArgonGlow-Thin.woff2 differ diff --git a/fonts/argonglow/ArgonGlow-VariableVF.woff2 b/fonts/argonglow/ArgonGlow-VariableVF.woff2 new file mode 100644 index 0000000..7d3aaf4 Binary files /dev/null and b/fonts/argonglow/ArgonGlow-VariableVF.woff2 differ diff --git a/fonts/argonglow/OFL b/fonts/argonglow/OFL new file mode 100644 index 0000000..1cdb289 --- /dev/null +++ b/fonts/argonglow/OFL @@ -0,0 +1,96 @@ +Copyright (c) 2025, The Argon Glow Project Authors (https://codeberg.org/kritzl/argon-glow), +Copyright (c) 2025, kritzl (kritzl@kritzl.dev), +Copyright (c) 2025, traumweh (traumweh@lyx.sh), +with Reserved Font Name "Argon Glow". + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting - in part or in whole - any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/fonts/athiti/Athiti-Bold.woff2 b/fonts/athiti/Athiti-Bold.woff2 new file mode 100644 index 0000000..4cc5810 Binary files /dev/null and b/fonts/athiti/Athiti-Bold.woff2 differ diff --git a/fonts/athiti/Athiti-ExtraLight.woff2 b/fonts/athiti/Athiti-ExtraLight.woff2 new file mode 100644 index 0000000..9bb6cea Binary files /dev/null and b/fonts/athiti/Athiti-ExtraLight.woff2 differ diff --git a/fonts/athiti/Athiti-Light.woff2 b/fonts/athiti/Athiti-Light.woff2 new file mode 100644 index 0000000..51f9e72 Binary files /dev/null and b/fonts/athiti/Athiti-Light.woff2 differ diff --git a/fonts/athiti/Athiti-Medium.woff2 b/fonts/athiti/Athiti-Medium.woff2 new file mode 100644 index 0000000..bc8b50a Binary files /dev/null and b/fonts/athiti/Athiti-Medium.woff2 differ diff --git a/fonts/athiti/Athiti-Regular.woff2 b/fonts/athiti/Athiti-Regular.woff2 new file mode 100644 index 0000000..c69c128 Binary files /dev/null and b/fonts/athiti/Athiti-Regular.woff2 differ diff --git a/fonts/athiti/Athiti-SemiBold.woff2 b/fonts/athiti/Athiti-SemiBold.woff2 new file mode 100644 index 0000000..726a075 Binary files /dev/null and b/fonts/athiti/Athiti-SemiBold.woff2 differ diff --git a/fonts/athiti/OFL b/fonts/athiti/OFL new file mode 100644 index 0000000..b0f4597 --- /dev/null +++ b/fonts/athiti/OFL @@ -0,0 +1,93 @@ +Copyright (c) 2015, Cadson Demak (info@cadsondemak.com) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/fonts/departuremono/DepartureMono-Regular.woff2 b/fonts/departuremono/DepartureMono-Regular.woff2 new file mode 100644 index 0000000..7d8b33b Binary files /dev/null and b/fonts/departuremono/DepartureMono-Regular.woff2 differ diff --git a/fonts/departuremono/LICENSE b/fonts/departuremono/LICENSE new file mode 100644 index 0000000..de52476 --- /dev/null +++ b/fonts/departuremono/LICENSE @@ -0,0 +1,93 @@ +Copyright 2022–2024 Helena Zhang (helenazhang.com). + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/fonts/icons/LICENSE.txt b/fonts/icons/LICENSE.txt new file mode 100755 index 0000000..1843a45 --- /dev/null +++ b/fonts/icons/LICENSE.txt @@ -0,0 +1,21 @@ +Font license info + + +## Fontelico + + Copyright (C) 2012 by Fontello project + + Author: Crowdsourced, for Fontello project + License: SIL (http://scripts.sil.org/OFL) + Homepage: http://fontello.com + + +## Font Awesome + + Copyright (C) 2016 by Dave Gandy + + Author: Dave Gandy + License: SIL () + Homepage: http://fortawesome.github.com/Font-Awesome/ + + diff --git a/fonts/icons/README.txt b/fonts/icons/README.txt new file mode 100755 index 0000000..beaab33 --- /dev/null +++ b/fonts/icons/README.txt @@ -0,0 +1,75 @@ +This webfont is generated by http://fontello.com open source project. + + +================================================================================ +Please, note, that you should obey original font licenses, used to make this +webfont pack. Details available in LICENSE.txt file. + +- Usually, it's enough to publish content of LICENSE.txt file somewhere on your + site in "About" section. + +- If your project is open-source, usually, it will be ok to make LICENSE.txt + file publicly available in your repository. + +- Fonts, used in Fontello, don't require a clickable link on your site. + But any kind of additional authors crediting is welcome. +================================================================================ + + +Comments on archive content +--------------------------- + +- /font/* - fonts in different formats + +- /css/* - different kinds of css, for all situations. Should be ok with + twitter bootstrap. Also, you can skip style and assign icon classes + directly to text elements, if you don't mind about IE7. + +- demo.html - demo file, to show your webfont content + +- LICENSE.txt - license info about source fonts, used to build your one. + +- config.json - keeps your settings. You can import it back into fontello + anytime, to continue your work + + +Why so many CSS files ? +----------------------- + +Because we like to fit all your needs :) + +- basic file, .css - is usually enough, it contains @font-face + and character code definitions + +- *-ie7.css - if you need IE7 support, but still don't wish to put char codes + directly into html + +- *-codes.css and *-ie7-codes.css - if you like to use your own @font-face + rules, but still wish to benefit from css generation. That can be very + convenient for automated asset build systems. When you need to update font - + no need to manually edit files, just override old version with archive + content. See fontello source code for examples. + +- *-embedded.css - basic css file, but with embedded WOFF font, to avoid + CORS issues in Firefox and IE9+, when fonts are hosted on the separate domain. + We strongly recommend to resolve this issue by `Access-Control-Allow-Origin` + server headers. But if you ok with dirty hack - this file is for you. Note, + that data url moved to separate @font-face to avoid problems with + + +Copyright (C) 2017 by original authors @ fontello.com + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/fonts/icons/fontello.ttf b/fonts/icons/fontello.ttf new file mode 100755 index 0000000..8c27493 Binary files /dev/null and b/fonts/icons/fontello.ttf differ diff --git a/fonts/icons/fontello.woff b/fonts/icons/fontello.woff new file mode 100755 index 0000000..b51cc09 Binary files /dev/null and b/fonts/icons/fontello.woff differ diff --git a/fonts/icons/fontello.woff2 b/fonts/icons/fontello.woff2 new file mode 100755 index 0000000..89dcf2e Binary files /dev/null and b/fonts/icons/fontello.woff2 differ diff --git a/fonts/icons/fontello.zip b/fonts/icons/fontello.zip new file mode 100644 index 0000000..7f737b2 Binary files /dev/null and b/fonts/icons/fontello.zip differ diff --git a/fonts/icons/svg/elusive-clipboard-default.svg b/fonts/icons/svg/elusive-clipboard-default.svg new file mode 100644 index 0000000..d658794 --- /dev/null +++ b/fonts/icons/svg/elusive-clipboard-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/elusive-clipboard-hover.svg b/fonts/icons/svg/elusive-clipboard-hover.svg new file mode 100644 index 0000000..bcba45a --- /dev/null +++ b/fonts/icons/svg/elusive-clipboard-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/elusive-doc-new-default.svg b/fonts/icons/svg/elusive-doc-new-default.svg new file mode 100644 index 0000000..e6b8a13 --- /dev/null +++ b/fonts/icons/svg/elusive-doc-new-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/elusive-doc-new-hover.svg b/fonts/icons/svg/elusive-doc-new-hover.svg new file mode 100644 index 0000000..ce5d941 --- /dev/null +++ b/fonts/icons/svg/elusive-doc-new-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/entypo-down-open-big-default.svg b/fonts/icons/svg/entypo-down-open-big-default.svg new file mode 100644 index 0000000..2d41d0f --- /dev/null +++ b/fonts/icons/svg/entypo-down-open-big-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/entypo-down-open-big-hover.svg b/fonts/icons/svg/entypo-down-open-big-hover.svg new file mode 100644 index 0000000..110064b --- /dev/null +++ b/fonts/icons/svg/entypo-down-open-big-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/entypo-help-default.svg b/fonts/icons/svg/entypo-help-default.svg new file mode 100644 index 0000000..699a505 --- /dev/null +++ b/fonts/icons/svg/entypo-help-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/entypo-help-hover.svg b/fonts/icons/svg/entypo-help-hover.svg new file mode 100644 index 0000000..92457e5 --- /dev/null +++ b/fonts/icons/svg/entypo-help-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/entypo-search-default.svg b/fonts/icons/svg/entypo-search-default.svg new file mode 100644 index 0000000..9bab833 --- /dev/null +++ b/fonts/icons/svg/entypo-search-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/entypo-search-hover.svg b/fonts/icons/svg/entypo-search-hover.svg new file mode 100644 index 0000000..994199a --- /dev/null +++ b/fonts/icons/svg/entypo-search-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/entypo-up-open-big-default.svg b/fonts/icons/svg/entypo-up-open-big-default.svg new file mode 100644 index 0000000..83e99f4 --- /dev/null +++ b/fonts/icons/svg/entypo-up-open-big-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/entypo-up-open-big-hover.svg b/fonts/icons/svg/entypo-up-open-big-hover.svg new file mode 100644 index 0000000..b8e21b7 --- /dev/null +++ b/fonts/icons/svg/entypo-up-open-big-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/entypo-user-default.svg b/fonts/icons/svg/entypo-user-default.svg new file mode 100644 index 0000000..42bc60a --- /dev/null +++ b/fonts/icons/svg/entypo-user-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/entypo-user-hover.svg b/fonts/icons/svg/entypo-user-hover.svg new file mode 100644 index 0000000..a5d7f2f --- /dev/null +++ b/fonts/icons/svg/entypo-user-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-bell-default.svg b/fonts/icons/svg/fontawesome-bell-default.svg new file mode 100644 index 0000000..487f9cf --- /dev/null +++ b/fonts/icons/svg/fontawesome-bell-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-bell-hover.svg b/fonts/icons/svg/fontawesome-bell-hover.svg new file mode 100644 index 0000000..aac10eb --- /dev/null +++ b/fonts/icons/svg/fontawesome-bell-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-bookmark-empty-default.svg b/fonts/icons/svg/fontawesome-bookmark-empty-default.svg new file mode 100644 index 0000000..51ee19f --- /dev/null +++ b/fonts/icons/svg/fontawesome-bookmark-empty-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-bookmark-empty-hover.svg b/fonts/icons/svg/fontawesome-bookmark-empty-hover.svg new file mode 100644 index 0000000..40a1c0c --- /dev/null +++ b/fonts/icons/svg/fontawesome-bookmark-empty-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-clock-default.svg b/fonts/icons/svg/fontawesome-clock-default.svg new file mode 100644 index 0000000..3d82079 --- /dev/null +++ b/fonts/icons/svg/fontawesome-clock-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-clock-hover.svg b/fonts/icons/svg/fontawesome-clock-hover.svg new file mode 100644 index 0000000..cae11a4 --- /dev/null +++ b/fonts/icons/svg/fontawesome-clock-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-code-default.svg b/fonts/icons/svg/fontawesome-code-default.svg new file mode 100644 index 0000000..599ced0 --- /dev/null +++ b/fonts/icons/svg/fontawesome-code-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-code-hover.svg b/fonts/icons/svg/fontawesome-code-hover.svg new file mode 100644 index 0000000..76d5cb8 --- /dev/null +++ b/fonts/icons/svg/fontawesome-code-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-cog-alt-default.svg b/fonts/icons/svg/fontawesome-cog-alt-default.svg new file mode 100644 index 0000000..71b49f6 --- /dev/null +++ b/fonts/icons/svg/fontawesome-cog-alt-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-cog-alt-hover.svg b/fonts/icons/svg/fontawesome-cog-alt-hover.svg new file mode 100644 index 0000000..861d3cd --- /dev/null +++ b/fonts/icons/svg/fontawesome-cog-alt-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-cog-default.svg b/fonts/icons/svg/fontawesome-cog-default.svg new file mode 100644 index 0000000..3657183 --- /dev/null +++ b/fonts/icons/svg/fontawesome-cog-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-cog-hover.svg b/fonts/icons/svg/fontawesome-cog-hover.svg new file mode 100644 index 0000000..edbdca2 --- /dev/null +++ b/fonts/icons/svg/fontawesome-cog-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-doc-default.svg b/fonts/icons/svg/fontawesome-doc-default.svg new file mode 100644 index 0000000..31e187c --- /dev/null +++ b/fonts/icons/svg/fontawesome-doc-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-doc-hover.svg b/fonts/icons/svg/fontawesome-doc-hover.svg new file mode 100644 index 0000000..af2d49d --- /dev/null +++ b/fonts/icons/svg/fontawesome-doc-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-doc-text-default.svg b/fonts/icons/svg/fontawesome-doc-text-default.svg new file mode 100644 index 0000000..4a9dc5a --- /dev/null +++ b/fonts/icons/svg/fontawesome-doc-text-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-doc-text-hover.svg b/fonts/icons/svg/fontawesome-doc-text-hover.svg new file mode 100644 index 0000000..3dbbca6 --- /dev/null +++ b/fonts/icons/svg/fontawesome-doc-text-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-docs-default.svg b/fonts/icons/svg/fontawesome-docs-default.svg new file mode 100644 index 0000000..c3ac0a2 --- /dev/null +++ b/fonts/icons/svg/fontawesome-docs-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-docs-hover.svg b/fonts/icons/svg/fontawesome-docs-hover.svg new file mode 100644 index 0000000..6d08cd5 --- /dev/null +++ b/fonts/icons/svg/fontawesome-docs-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-file-pdf-default.svg b/fonts/icons/svg/fontawesome-file-pdf-default.svg new file mode 100644 index 0000000..078f367 --- /dev/null +++ b/fonts/icons/svg/fontawesome-file-pdf-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-file-pdf-hover.svg b/fonts/icons/svg/fontawesome-file-pdf-hover.svg new file mode 100644 index 0000000..3e370b9 --- /dev/null +++ b/fonts/icons/svg/fontawesome-file-pdf-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-frown-default.svg b/fonts/icons/svg/fontawesome-frown-default.svg new file mode 100644 index 0000000..bf0447b --- /dev/null +++ b/fonts/icons/svg/fontawesome-frown-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-frown-hover.svg b/fonts/icons/svg/fontawesome-frown-hover.svg new file mode 100644 index 0000000..fc034f5 --- /dev/null +++ b/fonts/icons/svg/fontawesome-frown-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-home-default.svg b/fonts/icons/svg/fontawesome-home-default.svg new file mode 100644 index 0000000..7eb52df --- /dev/null +++ b/fonts/icons/svg/fontawesome-home-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-home-hover.svg b/fonts/icons/svg/fontawesome-home-hover.svg new file mode 100644 index 0000000..15cd809 --- /dev/null +++ b/fonts/icons/svg/fontawesome-home-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-link-default.svg b/fonts/icons/svg/fontawesome-link-default.svg new file mode 100644 index 0000000..880dd8e --- /dev/null +++ b/fonts/icons/svg/fontawesome-link-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-link-hover.svg b/fonts/icons/svg/fontawesome-link-hover.svg new file mode 100644 index 0000000..4b5696f --- /dev/null +++ b/fonts/icons/svg/fontawesome-link-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-login-default.svg b/fonts/icons/svg/fontawesome-login-default.svg new file mode 100644 index 0000000..2790114 --- /dev/null +++ b/fonts/icons/svg/fontawesome-login-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-login-hover.svg b/fonts/icons/svg/fontawesome-login-hover.svg new file mode 100644 index 0000000..97d8be9 --- /dev/null +++ b/fonts/icons/svg/fontawesome-login-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-logout-default.svg b/fonts/icons/svg/fontawesome-logout-default.svg new file mode 100644 index 0000000..3a5b40c --- /dev/null +++ b/fonts/icons/svg/fontawesome-logout-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-logout-hover.svg b/fonts/icons/svg/fontawesome-logout-hover.svg new file mode 100644 index 0000000..1149758 --- /dev/null +++ b/fonts/icons/svg/fontawesome-logout-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-mail-default.svg b/fonts/icons/svg/fontawesome-mail-default.svg new file mode 100644 index 0000000..19e9e1b --- /dev/null +++ b/fonts/icons/svg/fontawesome-mail-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-mail-hover.svg b/fonts/icons/svg/fontawesome-mail-hover.svg new file mode 100644 index 0000000..6db143f --- /dev/null +++ b/fonts/icons/svg/fontawesome-mail-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-meh-default.svg b/fonts/icons/svg/fontawesome-meh-default.svg new file mode 100644 index 0000000..8a81545 --- /dev/null +++ b/fonts/icons/svg/fontawesome-meh-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-meh-hover.svg b/fonts/icons/svg/fontawesome-meh-hover.svg new file mode 100644 index 0000000..843aaff --- /dev/null +++ b/fonts/icons/svg/fontawesome-meh-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-menu-default.svg b/fonts/icons/svg/fontawesome-menu-default.svg new file mode 100644 index 0000000..e382c4d --- /dev/null +++ b/fonts/icons/svg/fontawesome-menu-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-menu-hover.svg b/fonts/icons/svg/fontawesome-menu-hover.svg new file mode 100644 index 0000000..a7e2afa --- /dev/null +++ b/fonts/icons/svg/fontawesome-menu-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-plus-default.svg b/fonts/icons/svg/fontawesome-plus-default.svg new file mode 100644 index 0000000..b297d58 --- /dev/null +++ b/fonts/icons/svg/fontawesome-plus-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-plus-hover.svg b/fonts/icons/svg/fontawesome-plus-hover.svg new file mode 100644 index 0000000..8b4fef6 --- /dev/null +++ b/fonts/icons/svg/fontawesome-plus-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-puzzle-default.svg b/fonts/icons/svg/fontawesome-puzzle-default.svg new file mode 100644 index 0000000..d7379e3 --- /dev/null +++ b/fonts/icons/svg/fontawesome-puzzle-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-puzzle-hover.svg b/fonts/icons/svg/fontawesome-puzzle-hover.svg new file mode 100644 index 0000000..77224f9 --- /dev/null +++ b/fonts/icons/svg/fontawesome-puzzle-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-sitemap-default.svg b/fonts/icons/svg/fontawesome-sitemap-default.svg new file mode 100644 index 0000000..7a1a625 --- /dev/null +++ b/fonts/icons/svg/fontawesome-sitemap-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-sitemap-hover.svg b/fonts/icons/svg/fontawesome-sitemap-hover.svg new file mode 100644 index 0000000..0a35849 --- /dev/null +++ b/fonts/icons/svg/fontawesome-sitemap-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-smile-default.svg b/fonts/icons/svg/fontawesome-smile-default.svg new file mode 100644 index 0000000..3628c1e --- /dev/null +++ b/fonts/icons/svg/fontawesome-smile-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontawesome-smile-hover.svg b/fonts/icons/svg/fontawesome-smile-hover.svg new file mode 100644 index 0000000..de3856c --- /dev/null +++ b/fonts/icons/svg/fontawesome-smile-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontelico-emo-angry-default.svg b/fonts/icons/svg/fontelico-emo-angry-default.svg new file mode 100644 index 0000000..9baae08 --- /dev/null +++ b/fonts/icons/svg/fontelico-emo-angry-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontelico-emo-angry-hover.svg b/fonts/icons/svg/fontelico-emo-angry-hover.svg new file mode 100644 index 0000000..1bcbdc7 --- /dev/null +++ b/fonts/icons/svg/fontelico-emo-angry-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontelico-emo-cry-default.svg b/fonts/icons/svg/fontelico-emo-cry-default.svg new file mode 100644 index 0000000..9111720 --- /dev/null +++ b/fonts/icons/svg/fontelico-emo-cry-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontelico-emo-cry-hover.svg b/fonts/icons/svg/fontelico-emo-cry-hover.svg new file mode 100644 index 0000000..78d0f8a --- /dev/null +++ b/fonts/icons/svg/fontelico-emo-cry-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontelico-emo-grin-default.svg b/fonts/icons/svg/fontelico-emo-grin-default.svg new file mode 100644 index 0000000..e7bfab4 --- /dev/null +++ b/fonts/icons/svg/fontelico-emo-grin-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontelico-emo-grin-hover.svg b/fonts/icons/svg/fontelico-emo-grin-hover.svg new file mode 100644 index 0000000..1e4e5ca --- /dev/null +++ b/fonts/icons/svg/fontelico-emo-grin-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontelico-emo-happy-default.svg b/fonts/icons/svg/fontelico-emo-happy-default.svg new file mode 100644 index 0000000..b14f546 --- /dev/null +++ b/fonts/icons/svg/fontelico-emo-happy-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontelico-emo-happy-hover.svg b/fonts/icons/svg/fontelico-emo-happy-hover.svg new file mode 100644 index 0000000..1bc88de --- /dev/null +++ b/fonts/icons/svg/fontelico-emo-happy-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontelico-emo-laugh-default.svg b/fonts/icons/svg/fontelico-emo-laugh-default.svg new file mode 100644 index 0000000..9f79b1c --- /dev/null +++ b/fonts/icons/svg/fontelico-emo-laugh-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontelico-emo-laugh-hover.svg b/fonts/icons/svg/fontelico-emo-laugh-hover.svg new file mode 100644 index 0000000..9e2c385 --- /dev/null +++ b/fonts/icons/svg/fontelico-emo-laugh-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontelico-emo-sleep-default.svg b/fonts/icons/svg/fontelico-emo-sleep-default.svg new file mode 100644 index 0000000..039718d --- /dev/null +++ b/fonts/icons/svg/fontelico-emo-sleep-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontelico-emo-sleep-hover.svg b/fonts/icons/svg/fontelico-emo-sleep-hover.svg new file mode 100644 index 0000000..ea37bfa --- /dev/null +++ b/fonts/icons/svg/fontelico-emo-sleep-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontelico-emo-squint-default.svg b/fonts/icons/svg/fontelico-emo-squint-default.svg new file mode 100644 index 0000000..90a330f --- /dev/null +++ b/fonts/icons/svg/fontelico-emo-squint-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontelico-emo-squint-hover.svg b/fonts/icons/svg/fontelico-emo-squint-hover.svg new file mode 100644 index 0000000..0b05362 --- /dev/null +++ b/fonts/icons/svg/fontelico-emo-squint-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontelico-emo-thumbsup-default.svg b/fonts/icons/svg/fontelico-emo-thumbsup-default.svg new file mode 100644 index 0000000..5b57bb1 --- /dev/null +++ b/fonts/icons/svg/fontelico-emo-thumbsup-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontelico-emo-thumbsup-hover.svg b/fonts/icons/svg/fontelico-emo-thumbsup-hover.svg new file mode 100644 index 0000000..7545168 --- /dev/null +++ b/fonts/icons/svg/fontelico-emo-thumbsup-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontelico-emo-unhappy-default.svg b/fonts/icons/svg/fontelico-emo-unhappy-default.svg new file mode 100644 index 0000000..50a5eb4 --- /dev/null +++ b/fonts/icons/svg/fontelico-emo-unhappy-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontelico-emo-unhappy-hover.svg b/fonts/icons/svg/fontelico-emo-unhappy-hover.svg new file mode 100644 index 0000000..8eb3bed --- /dev/null +++ b/fonts/icons/svg/fontelico-emo-unhappy-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontelico-emo-wink-default.svg b/fonts/icons/svg/fontelico-emo-wink-default.svg new file mode 100644 index 0000000..9ef1ef9 --- /dev/null +++ b/fonts/icons/svg/fontelico-emo-wink-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontelico-emo-wink-hover.svg b/fonts/icons/svg/fontelico-emo-wink-hover.svg new file mode 100644 index 0000000..d47c86b --- /dev/null +++ b/fonts/icons/svg/fontelico-emo-wink-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontelico-emo-wink2-default.svg b/fonts/icons/svg/fontelico-emo-wink2-default.svg new file mode 100644 index 0000000..1d8d6aa --- /dev/null +++ b/fonts/icons/svg/fontelico-emo-wink2-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/fontelico-emo-wink2-hover.svg b/fonts/icons/svg/fontelico-emo-wink2-hover.svg new file mode 100644 index 0000000..7d3e7ce --- /dev/null +++ b/fonts/icons/svg/fontelico-emo-wink2-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/iconic-book-open-default.svg b/fonts/icons/svg/iconic-book-open-default.svg new file mode 100644 index 0000000..748c76b --- /dev/null +++ b/fonts/icons/svg/iconic-book-open-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/iconic-book-open-hover.svg b/fonts/icons/svg/iconic-book-open-hover.svg new file mode 100644 index 0000000..1f885a2 --- /dev/null +++ b/fonts/icons/svg/iconic-book-open-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/linecons-cloud-default.svg b/fonts/icons/svg/linecons-cloud-default.svg new file mode 100644 index 0000000..1fd039c --- /dev/null +++ b/fonts/icons/svg/linecons-cloud-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/linecons-cloud-hover.svg b/fonts/icons/svg/linecons-cloud-hover.svg new file mode 100644 index 0000000..bcd685e --- /dev/null +++ b/fonts/icons/svg/linecons-cloud-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/linecons-pencil-default.svg b/fonts/icons/svg/linecons-pencil-default.svg new file mode 100644 index 0000000..546d025 --- /dev/null +++ b/fonts/icons/svg/linecons-pencil-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/linecons-pencil-hover.svg b/fonts/icons/svg/linecons-pencil-hover.svg new file mode 100644 index 0000000..de80de2 --- /dev/null +++ b/fonts/icons/svg/linecons-pencil-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/modernpics-pencil-default.svg b/fonts/icons/svg/modernpics-pencil-default.svg new file mode 100644 index 0000000..b7f719d --- /dev/null +++ b/fonts/icons/svg/modernpics-pencil-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/modernpics-pencil-hover.svg b/fonts/icons/svg/modernpics-pencil-hover.svg new file mode 100644 index 0000000..4e4c491 --- /dev/null +++ b/fonts/icons/svg/modernpics-pencil-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/typicons-cloud-default.svg b/fonts/icons/svg/typicons-cloud-default.svg new file mode 100644 index 0000000..0d97915 --- /dev/null +++ b/fonts/icons/svg/typicons-cloud-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/typicons-cloud-hover.svg b/fonts/icons/svg/typicons-cloud-hover.svg new file mode 100644 index 0000000..c40f659 --- /dev/null +++ b/fonts/icons/svg/typicons-cloud-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/typicons-down-outline-default.svg b/fonts/icons/svg/typicons-down-outline-default.svg new file mode 100644 index 0000000..964930b --- /dev/null +++ b/fonts/icons/svg/typicons-down-outline-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/typicons-down-outline-hover.svg b/fonts/icons/svg/typicons-down-outline-hover.svg new file mode 100644 index 0000000..994ad8a --- /dev/null +++ b/fonts/icons/svg/typicons-down-outline-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/typicons-down-small-default.svg b/fonts/icons/svg/typicons-down-small-default.svg new file mode 100644 index 0000000..7f5dd2a --- /dev/null +++ b/fonts/icons/svg/typicons-down-small-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/typicons-down-small-hover.svg b/fonts/icons/svg/typicons-down-small-hover.svg new file mode 100644 index 0000000..4ca7de9 --- /dev/null +++ b/fonts/icons/svg/typicons-down-small-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/typicons-home-outline-default.svg b/fonts/icons/svg/typicons-home-outline-default.svg new file mode 100644 index 0000000..3ea8792 --- /dev/null +++ b/fonts/icons/svg/typicons-home-outline-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/typicons-home-outline-hover.svg b/fonts/icons/svg/typicons-home-outline-hover.svg new file mode 100644 index 0000000..453c8a9 --- /dev/null +++ b/fonts/icons/svg/typicons-home-outline-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/typicons-left-outline-default.svg b/fonts/icons/svg/typicons-left-outline-default.svg new file mode 100644 index 0000000..851db60 --- /dev/null +++ b/fonts/icons/svg/typicons-left-outline-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/typicons-left-outline-hover.svg b/fonts/icons/svg/typicons-left-outline-hover.svg new file mode 100644 index 0000000..3a8f2a4 --- /dev/null +++ b/fonts/icons/svg/typicons-left-outline-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/typicons-left-small-default.svg b/fonts/icons/svg/typicons-left-small-default.svg new file mode 100644 index 0000000..8ac2e2e --- /dev/null +++ b/fonts/icons/svg/typicons-left-small-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/typicons-left-small-hover.svg b/fonts/icons/svg/typicons-left-small-hover.svg new file mode 100644 index 0000000..b03684a --- /dev/null +++ b/fonts/icons/svg/typicons-left-small-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/typicons-puzzle-default.svg b/fonts/icons/svg/typicons-puzzle-default.svg new file mode 100644 index 0000000..cb48ea7 --- /dev/null +++ b/fonts/icons/svg/typicons-puzzle-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/typicons-puzzle-hover.svg b/fonts/icons/svg/typicons-puzzle-hover.svg new file mode 100644 index 0000000..c9f211e --- /dev/null +++ b/fonts/icons/svg/typicons-puzzle-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/typicons-right-outline-default.svg b/fonts/icons/svg/typicons-right-outline-default.svg new file mode 100644 index 0000000..a03130c --- /dev/null +++ b/fonts/icons/svg/typicons-right-outline-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/typicons-right-outline-hover.svg b/fonts/icons/svg/typicons-right-outline-hover.svg new file mode 100644 index 0000000..a85a22b --- /dev/null +++ b/fonts/icons/svg/typicons-right-outline-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/typicons-right-small-default.svg b/fonts/icons/svg/typicons-right-small-default.svg new file mode 100644 index 0000000..803d8c4 --- /dev/null +++ b/fonts/icons/svg/typicons-right-small-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/typicons-right-small-hover.svg b/fonts/icons/svg/typicons-right-small-hover.svg new file mode 100644 index 0000000..8721aab --- /dev/null +++ b/fonts/icons/svg/typicons-right-small-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/typicons-up-outline-default.svg b/fonts/icons/svg/typicons-up-outline-default.svg new file mode 100644 index 0000000..c162481 --- /dev/null +++ b/fonts/icons/svg/typicons-up-outline-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/typicons-up-outline-hover.svg b/fonts/icons/svg/typicons-up-outline-hover.svg new file mode 100644 index 0000000..7db6a8b --- /dev/null +++ b/fonts/icons/svg/typicons-up-outline-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/typicons-up-small-default.svg b/fonts/icons/svg/typicons-up-small-default.svg new file mode 100644 index 0000000..b7c4fd1 --- /dev/null +++ b/fonts/icons/svg/typicons-up-small-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/icons/svg/typicons-up-small-hover.svg b/fonts/icons/svg/typicons-up-small-hover.svg new file mode 100644 index 0000000..1314eeb --- /dev/null +++ b/fonts/icons/svg/typicons-up-small-hover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/apple-touch-icon.png b/images/apple-touch-icon.png deleted file mode 100755 index 45fa4e7..0000000 Binary files a/images/apple-touch-icon.png and /dev/null differ diff --git a/images/fav/android-chrome-192x192.png b/images/fav/android-chrome-192x192.png new file mode 100755 index 0000000..e5c312a Binary files /dev/null and b/images/fav/android-chrome-192x192.png differ diff --git a/images/fav/apple-touch-icon-114x114.png b/images/fav/apple-touch-icon-114x114.png new file mode 100755 index 0000000..742ee2b Binary files /dev/null and b/images/fav/apple-touch-icon-114x114.png differ diff --git a/images/fav/apple-touch-icon-120x120.png b/images/fav/apple-touch-icon-120x120.png new file mode 100755 index 0000000..ac8a742 Binary files /dev/null and b/images/fav/apple-touch-icon-120x120.png differ diff --git a/images/fav/apple-touch-icon-144x144.png b/images/fav/apple-touch-icon-144x144.png new file mode 100755 index 0000000..bda42ec Binary files /dev/null and b/images/fav/apple-touch-icon-144x144.png differ diff --git a/images/fav/apple-touch-icon-152x152.png b/images/fav/apple-touch-icon-152x152.png new file mode 100755 index 0000000..2c83c4a Binary files /dev/null and b/images/fav/apple-touch-icon-152x152.png differ diff --git a/images/fav/apple-touch-icon-180x180.png b/images/fav/apple-touch-icon-180x180.png new file mode 100755 index 0000000..c650add Binary files /dev/null and b/images/fav/apple-touch-icon-180x180.png differ diff --git a/images/fav/apple-touch-icon-57x57.png b/images/fav/apple-touch-icon-57x57.png new file mode 100755 index 0000000..b241977 Binary files /dev/null and b/images/fav/apple-touch-icon-57x57.png differ diff --git a/images/fav/apple-touch-icon-60x60.png b/images/fav/apple-touch-icon-60x60.png new file mode 100755 index 0000000..36ab339 Binary files /dev/null and b/images/fav/apple-touch-icon-60x60.png differ diff --git a/images/fav/apple-touch-icon-72x72.png b/images/fav/apple-touch-icon-72x72.png new file mode 100755 index 0000000..031994b Binary files /dev/null and b/images/fav/apple-touch-icon-72x72.png differ diff --git a/images/fav/apple-touch-icon-76x76.png b/images/fav/apple-touch-icon-76x76.png new file mode 100755 index 0000000..697f8a0 Binary files /dev/null and b/images/fav/apple-touch-icon-76x76.png differ diff --git a/images/fav/favicon-32x32.png b/images/fav/favicon-32x32.png new file mode 100755 index 0000000..5799ce8 Binary files /dev/null and b/images/fav/favicon-32x32.png differ diff --git a/images/fav/favicon-96x96.png b/images/fav/favicon-96x96.png new file mode 100755 index 0000000..12cdec1 Binary files /dev/null and b/images/fav/favicon-96x96.png differ diff --git a/images/fav/largetile.png b/images/fav/largetile.png new file mode 100755 index 0000000..736b2d3 Binary files /dev/null and b/images/fav/largetile.png differ diff --git a/images/fav/mediumtile.png b/images/fav/mediumtile.png new file mode 100755 index 0000000..a15ab65 Binary files /dev/null and b/images/fav/mediumtile.png differ diff --git a/images/fav/smalltile.png b/images/fav/smalltile.png new file mode 100755 index 0000000..1862472 Binary files /dev/null and b/images/fav/smalltile.png differ diff --git a/images/fav/widetile.png b/images/fav/widetile.png new file mode 100755 index 0000000..065f597 Binary files /dev/null and b/images/fav/widetile.png differ diff --git a/images/favicon.ico b/images/favicon.ico index 8b9616a..1d51774 100755 Binary files a/images/favicon.ico and b/images/favicon.ico differ diff --git a/images/pagetools-sprite.png b/images/pagetools-sprite.png new file mode 100755 index 0000000..8e7f7f8 Binary files /dev/null and b/images/pagetools-sprite.png differ diff --git a/images/tools/00-default_checkbox-blank-circle-outline.svg b/images/tools/00-default_checkbox-blank-circle-outline.svg new file mode 100644 index 0000000..22f76f2 --- /dev/null +++ b/images/tools/00-default_checkbox-blank-circle-outline.svg @@ -0,0 +1 @@ + diff --git a/images/tools/01-edit_pencil.svg b/images/tools/01-edit_pencil.svg new file mode 100644 index 0000000..31cb7be --- /dev/null +++ b/images/tools/01-edit_pencil.svg @@ -0,0 +1 @@ + diff --git a/images/tools/02-create_pencil.svg b/images/tools/02-create_pencil.svg new file mode 100644 index 0000000..eddb11a --- /dev/null +++ b/images/tools/02-create_pencil.svg @@ -0,0 +1 @@ + diff --git a/images/tools/03-draft_android-studio.svg b/images/tools/03-draft_android-studio.svg new file mode 100644 index 0000000..c270f1a --- /dev/null +++ b/images/tools/03-draft_android-studio.svg @@ -0,0 +1 @@ + diff --git a/images/tools/04-show_file-document.svg b/images/tools/04-show_file-document.svg new file mode 100644 index 0000000..b6de9db --- /dev/null +++ b/images/tools/04-show_file-document.svg @@ -0,0 +1 @@ + diff --git a/images/tools/05-source_file-xml.svg b/images/tools/05-source_file-xml.svg new file mode 100644 index 0000000..f6e5848 --- /dev/null +++ b/images/tools/05-source_file-xml.svg @@ -0,0 +1 @@ + diff --git a/images/tools/06-revert_replay.svg b/images/tools/06-revert_replay.svg new file mode 100644 index 0000000..21c93de --- /dev/null +++ b/images/tools/06-revert_replay.svg @@ -0,0 +1 @@ + diff --git a/images/tools/07-revisions_history.svg b/images/tools/07-revisions_history.svg new file mode 100644 index 0000000..75b8d13 --- /dev/null +++ b/images/tools/07-revisions_history.svg @@ -0,0 +1 @@ + diff --git a/images/tools/08-backlink_link-variant.svg b/images/tools/08-backlink_link-variant.svg new file mode 100644 index 0000000..4b665bd --- /dev/null +++ b/images/tools/08-backlink_link-variant.svg @@ -0,0 +1 @@ + diff --git a/images/tools/09-subscribe_email-outline.svg b/images/tools/09-subscribe_email-outline.svg new file mode 100644 index 0000000..27d9515 --- /dev/null +++ b/images/tools/09-subscribe_email-outline.svg @@ -0,0 +1 @@ + diff --git a/images/tools/10-top_arrow-up.svg b/images/tools/10-top_arrow-up.svg new file mode 100644 index 0000000..50967f7 --- /dev/null +++ b/images/tools/10-top_arrow-up.svg @@ -0,0 +1 @@ + diff --git a/images/tools/11-mediamanager_folder-image.svg b/images/tools/11-mediamanager_folder-image.svg new file mode 100644 index 0000000..8602b4c --- /dev/null +++ b/images/tools/11-mediamanager_folder-image.svg @@ -0,0 +1 @@ + diff --git a/images/tools/12-back_arrow-left.svg b/images/tools/12-back_arrow-left.svg new file mode 100644 index 0000000..c0cf75b --- /dev/null +++ b/images/tools/12-back_arrow-left.svg @@ -0,0 +1 @@ + diff --git a/images/tools/40-pdf-file.svg b/images/tools/40-pdf-file.svg new file mode 100644 index 0000000..0c0b1d5 --- /dev/null +++ b/images/tools/40-pdf-file.svg @@ -0,0 +1,3 @@ + + + diff --git a/images/tools/41-format-paint.svg b/images/tools/41-format-paint.svg new file mode 100644 index 0000000..a87f0b2 --- /dev/null +++ b/images/tools/41-format-paint.svg @@ -0,0 +1,3 @@ + + + diff --git a/images/tools/43-file-delimeted.svg b/images/tools/43-file-delimeted.svg new file mode 100644 index 0000000..f4a984a --- /dev/null +++ b/images/tools/43-file-delimeted.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/LICENSE b/img/LICENSE new file mode 100644 index 0000000..7d4f96c --- /dev/null +++ b/img/LICENSE @@ -0,0 +1,427 @@ +Attribution-ShareAlike 4.0 International + +======================================================================= + +Creative Commons Corporation ("Creative Commons") is not a law firm and +does not provide legal services or legal advice. Distribution of +Creative Commons public licenses does not create a lawyer-client or +other relationship. Creative Commons makes its licenses and related +information available on an "as-is" basis. Creative Commons gives no +warranties regarding its licenses, any material licensed under their +terms and conditions, or any related information. Creative Commons +disclaims all liability for damages resulting from their use to the +fullest extent possible. + +Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and +conditions that creators and other rights holders may use to share +original works of authorship and other material subject to copyright +and certain other rights specified in the public license below. The +following considerations are for informational purposes only, are not +exhaustive, and do not form part of our licenses. + + Considerations for licensors: Our public licenses are + intended for use by those authorized to give the public + permission to use material in ways otherwise restricted by + copyright and certain other rights. Our licenses are + irrevocable. Licensors should read and understand the terms + and conditions of the license they choose before applying it. + Licensors should also secure all rights necessary before + applying our licenses so that the public can reuse the + material as expected. Licensors should clearly mark any + material not subject to the license. This includes other CC- + licensed material, or material used under an exception or + limitation to copyright. More considerations for licensors: + wiki.creativecommons.org/Considerations_for_licensors + + Considerations for the public: By using one of our public + licenses, a licensor grants the public permission to use the + licensed material under specified terms and conditions. If + the licensor's permission is not necessary for any reason--for + example, because of any applicable exception or limitation to + copyright--then that use is not regulated by the license. Our + licenses grant only permissions under copyright and certain + other rights that a licensor has authority to grant. Use of + the licensed material may still be restricted for other + reasons, including because others have copyright or other + rights in the material. A licensor may make special requests, + such as asking that all changes be marked or described. + Although not required by our licenses, you are encouraged to + respect those requests where reasonable. More considerations + for the public: + wiki.creativecommons.org/Considerations_for_licensees + +======================================================================= + +Creative Commons Attribution-ShareAlike 4.0 International Public +License + +By exercising the Licensed Rights (defined below), You accept and agree +to be bound by the terms and conditions of this Creative Commons +Attribution-ShareAlike 4.0 International Public License ("Public +License"). To the extent this Public License may be interpreted as a +contract, You are granted the Licensed Rights in consideration of Your +acceptance of these terms and conditions, and the Licensor grants You +such rights in consideration of benefits the Licensor receives from +making the Licensed Material available under these terms and +conditions. + + +Section 1 -- Definitions. + + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. + + b. Adapter's License means the license You apply to Your Copyright + and Similar Rights in Your contributions to Adapted Material in + accordance with the terms and conditions of this Public License. + + c. BY-SA Compatible License means a license listed at + creativecommons.org/compatiblelicenses, approved by Creative + Commons as essentially the equivalent of this Public License. + + d. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, + performance, broadcast, sound recording, and Sui Generis Database + Rights, without regard to how the rights are labeled or + categorized. For purposes of this Public License, the rights + specified in Section 2(b)(1)-(2) are not Copyright and Similar + Rights. + + e. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright + Treaty adopted on December 20, 1996, and/or similar international + agreements. + + f. Exceptions and Limitations means fair use, fair dealing, and/or + any other exception or limitation to Copyright and Similar Rights + that applies to Your use of the Licensed Material. + + g. License Elements means the license attributes listed in the name + of a Creative Commons Public License. The License Elements of this + Public License are Attribution and ShareAlike. + + h. Licensed Material means the artistic or literary work, database, + or other material to which the Licensor applied this Public + License. + + i. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which are limited to + all Copyright and Similar Rights that apply to Your use of the + Licensed Material and that the Licensor has authority to license. + + j. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + + k. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such + as reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the + public may access the material from a place and at a time + individually chosen by them. + + l. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of + the Council of 11 March 1996 on the legal protection of databases, + as amended and/or succeeded, as well as other essentially + equivalent rights anywhere in the world. + + m. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning. + + +Section 2 -- Scope. + + a. License grant. + + 1. Subject to the terms and conditions of this Public License, + the Licensor hereby grants You a worldwide, royalty-free, + non-sublicensable, non-exclusive, irrevocable license to + exercise the Licensed Rights in the Licensed Material to: + + a. reproduce and Share the Licensed Material, in whole or + in part; and + + b. produce, reproduce, and Share Adapted Material. + + 2. Exceptions and Limitations. For the avoidance of doubt, where + Exceptions and Limitations apply to Your use, this Public + License does not apply, and You do not need to comply with + its terms and conditions. + + 3. Term. The term of this Public License is specified in Section + 6(a). + + 4. Media and formats; technical modifications allowed. The + Licensor authorizes You to exercise the Licensed Rights in + all media and formats whether now known or hereafter created, + and to make technical modifications necessary to do so. The + Licensor waives and/or agrees not to assert any right or + authority to forbid You from making technical modifications + necessary to exercise the Licensed Rights, including + technical modifications necessary to circumvent Effective + Technological Measures. For purposes of this Public License, + simply making modifications authorized by this Section 2(a) + (4) never produces Adapted Material. + + 5. Downstream recipients. + + a. Offer from the Licensor -- Licensed Material. Every + recipient of the Licensed Material automatically + receives an offer from the Licensor to exercise the + Licensed Rights under the terms and conditions of this + Public License. + + b. Additional offer from the Licensor -- Adapted Material. + Every recipient of Adapted Material from You + automatically receives an offer from the Licensor to + exercise the Licensed Rights in the Adapted Material + under the conditions of the Adapter's License You apply. + + c. No downstream restrictions. You may not offer or impose + any additional or different terms or conditions on, or + apply any Effective Technological Measures to, the + Licensed Material if doing so restricts exercise of the + Licensed Rights by any recipient of the Licensed + Material. + + 6. No endorsement. Nothing in this Public License constitutes or + may be construed as permission to assert or imply that You + are, or that Your use of the Licensed Material is, connected + with, or sponsored, endorsed, or granted official status by, + the Licensor or others designated to receive attribution as + provided in Section 3(a)(1)(A)(i). + + b. Other rights. + + 1. Moral rights, such as the right of integrity, are not + licensed under this Public License, nor are publicity, + privacy, and/or other similar personality rights; however, to + the extent possible, the Licensor waives and/or agrees not to + assert any such rights held by the Licensor to the limited + extent necessary to allow You to exercise the Licensed + Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this + Public License. + + 3. To the extent possible, the Licensor waives any right to + collect royalties from You for the exercise of the Licensed + Rights, whether directly or through a collecting society + under any voluntary or waivable statutory or compulsory + licensing scheme. In all other cases the Licensor expressly + reserves any right to collect such royalties. + + +Section 3 -- License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the +following conditions. + + a. Attribution. + + 1. If You Share the Licensed Material (including in modified + form), You must: + + a. retain the following if it is supplied by the Licensor + with the Licensed Material: + + i. identification of the creator(s) of the Licensed + Material and any others designated to receive + attribution, in any reasonable manner requested by + the Licensor (including by pseudonym if + designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of + warranties; + + v. a URI or hyperlink to the Licensed Material to the + extent reasonably practicable; + + b. indicate if You modified the Licensed Material and + retain an indication of any previous modifications; and + + c. indicate the Licensed Material is licensed under this + Public License, and include the text of, or the URI or + hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any + reasonable manner based on the medium, means, and context in + which You Share the Licensed Material. For example, it may be + reasonable to satisfy the conditions by providing a URI or + hyperlink to a resource that includes the required + information. + + 3. If requested by the Licensor, You must remove any of the + information required by Section 3(a)(1)(A) to the extent + reasonably practicable. + + b. ShareAlike. + + In addition to the conditions in Section 3(a), if You Share + Adapted Material You produce, the following conditions also apply. + + 1. The Adapter's License You apply must be a Creative Commons + license with the same License Elements, this version or + later, or a BY-SA Compatible License. + + 2. You must include the text of, or the URI or hyperlink to, the + Adapter's License You apply. You may satisfy this condition + in any reasonable manner based on the medium, means, and + context in which You Share Adapted Material. + + 3. You may not offer or impose any additional or different terms + or conditions on, or apply any Effective Technological + Measures to, Adapted Material that restrict exercise of the + rights granted under the Adapter's License You apply. + + +Section 4 -- Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that +apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right + to extract, reuse, reproduce, and Share all or a substantial + portion of the contents of the database; + + b. if You include all or a substantial portion of the database + contents in a database in which You have Sui Generis Database + Rights, then the database in which You have Sui Generis Database + Rights (but not its individual contents) is Adapted Material, + including for purposes of Section 3(b); and + + c. You must comply with the conditions in Section 3(a) if You Share + all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not +replace Your obligations under this Public License where the Licensed +Rights include other Copyright and Similar Rights. + + +Section 5 -- Disclaimer of Warranties and Limitation of Liability. + + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. + + b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. + + c. The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. + + +Section 6 -- Term and Termination. + + a. This Public License applies for the term of the Copyright and + Similar Rights licensed here. However, if You fail to comply with + this Public License, then Your rights under this Public License + terminate automatically. + + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided + it is cured within 30 days of Your discovery of the + violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any + right the Licensor may have to seek remedies for Your violations + of this Public License. + + c. For the avoidance of doubt, the Licensor may also offer the + Licensed Material under separate terms or conditions or stop + distributing the Licensed Material at any time; however, doing so + will not terminate this Public License. + + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public + License. + + +Section 7 -- Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different + terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the + Licensed Material not stated herein are separate from and + independent of the terms and conditions of this Public License. + + +Section 8 -- Interpretation. + + a. For the avoidance of doubt, this Public License does not, and + shall not be interpreted to, reduce, limit, restrict, or impose + conditions on any use of the Licensed Material that could lawfully + be made without permission under this Public License. + + b. To the extent possible, if any provision of this Public License is + deemed unenforceable, it shall be automatically reformed to the + minimum extent necessary to make it enforceable. If the provision + cannot be reformed, it shall be severed from this Public License + without affecting the enforceability of the remaining terms and + conditions. + + c. No term or condition of this Public License will be waived and no + failure to comply consented to unless expressly agreed to by the + Licensor. + + d. Nothing in this Public License constitutes or may be interpreted + as a limitation upon, or waiver of, any privileges and immunities + that apply to the Licensor or You, including from the legal + processes of any jurisdiction or authority. + + +======================================================================= + +Creative Commons is not a party to its public +licenses. Notwithstanding, Creative Commons may elect to apply one of +its public licenses to material it publishes and in those instances +will be considered the “Licensor.” The text of the Creative Commons +public licenses is dedicated to the public domain under the CC0 Public +Domain Dedication. Except for the limited purpose of indicating that +material is shared under a Creative Commons public license or as +otherwise permitted by the Creative Commons policies published at +creativecommons.org/policies, Creative Commons does not authorize the +use of the trademark "Creative Commons" or any other trademark or logo +of Creative Commons without its prior written consent including, +without limitation, in connection with any unauthorized modifications +to any of its public licenses or any other arrangements, +understandings, or agreements concerning use of licensed material. For +the avoidance of doubt, this paragraph does not form part of the +public licenses. + +Creative Commons may be contacted at creativecommons.org. diff --git a/img/account-settings.svg b/img/account-settings.svg new file mode 100644 index 0000000..a7223e9 --- /dev/null +++ b/img/account-settings.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/apple-safari.svg b/img/apple-safari.svg new file mode 100644 index 0000000..5edc4f4 --- /dev/null +++ b/img/apple-safari.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/arrow_down.svg b/img/arrow_down.svg new file mode 100644 index 0000000..56b4a9b --- /dev/null +++ b/img/arrow_down.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/arrow_down_left.svg b/img/arrow_down_left.svg new file mode 100644 index 0000000..e1b3007 --- /dev/null +++ b/img/arrow_down_left.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/arrow_down_right.svg b/img/arrow_down_right.svg new file mode 100644 index 0000000..56f308a --- /dev/null +++ b/img/arrow_down_right.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/arrow_left.svg b/img/arrow_left.svg new file mode 100644 index 0000000..1a35060 --- /dev/null +++ b/img/arrow_left.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/arrow_right.svg b/img/arrow_right.svg new file mode 100644 index 0000000..23fba2c --- /dev/null +++ b/img/arrow_right.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/arrow_up.svg b/img/arrow_up.svg new file mode 100644 index 0000000..34ec6cd --- /dev/null +++ b/img/arrow_up.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/arrow_up_left.svg b/img/arrow_up_left.svg new file mode 100644 index 0000000..923c5dd --- /dev/null +++ b/img/arrow_up_left.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/arrow_up_right.svg b/img/arrow_up_right.svg new file mode 100644 index 0000000..ab82e8b --- /dev/null +++ b/img/arrow_up_right.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/basket.svg b/img/basket.svg new file mode 100644 index 0000000..5dfc4a1 --- /dev/null +++ b/img/basket.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/bed.svg b/img/bed.svg new file mode 100644 index 0000000..bd22140 --- /dev/null +++ b/img/bed.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/clock.svg b/img/clock.svg new file mode 100644 index 0000000..9050282 --- /dev/null +++ b/img/clock.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/code.svg b/img/code.svg new file mode 100644 index 0000000..c283678 --- /dev/null +++ b/img/code.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/creature.svg b/img/creature.svg new file mode 100644 index 0000000..1ab0d45 --- /dev/null +++ b/img/creature.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/cross.svg b/img/cross.svg new file mode 100644 index 0000000..d0e63ad --- /dev/null +++ b/img/cross.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/cross_small.svg b/img/cross_small.svg new file mode 100644 index 0000000..d890ea0 --- /dev/null +++ b/img/cross_small.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/cup_1.svg b/img/cup_1.svg new file mode 100644 index 0000000..9020279 --- /dev/null +++ b/img/cup_1.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/cup_2.svg b/img/cup_2.svg new file mode 100644 index 0000000..0db73f7 --- /dev/null +++ b/img/cup_2.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/dect.svg b/img/dect.svg new file mode 100644 index 0000000..b061df2 --- /dev/null +++ b/img/dect.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/down.svg b/img/down.svg new file mode 100644 index 0000000..50b8625 --- /dev/null +++ b/img/down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/export.sh b/img/export.sh new file mode 100755 index 0000000..ba6d47d --- /dev/null +++ b/img/export.sh @@ -0,0 +1,31 @@ +#!/bin/sh + +# This script can be used to automatically export all project files +# to ensure, they are a single path without any modifiers or other +# inkscape-dependent things. It will also remove unnecessary things +# from the SVGs. For this the script requires both inkscape and svgo +# to be installed. + +for infile in ./project_files/*.svg +do + outfile="./$(basename "$infile")" + + inkscape --actions="select-by-element: svg; + object-set-attribute: id, svg; + select-clear; + select-all: layers; + selection-ungroup; + select-clear; + select-all: no-groups; + object-stroke-to-path; + path-union; + object-set-attribute: id,path; + object-set-attribute: style,; + selection-group; + selection-ungroup; + export-plain-svg;" \ + --export-filename "$outfile" \ + --vacuum-defs "$infile" + + svgo --pretty "$outfile" +done diff --git a/img/external.svg b/img/external.svg new file mode 100644 index 0000000..92a7419 --- /dev/null +++ b/img/external.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/fairydust.svg b/img/fairydust.svg new file mode 100644 index 0000000..e847437 --- /dev/null +++ b/img/fairydust.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/file-export.svg b/img/file-export.svg new file mode 100644 index 0000000..727df65 --- /dev/null +++ b/img/file-export.svg @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/img/flag.svg b/img/flag.svg new file mode 100644 index 0000000..539a20e --- /dev/null +++ b/img/flag.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/gluten.svg b/img/gluten.svg new file mode 100644 index 0000000..715037b --- /dev/null +++ b/img/gluten.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/hackertours.svg b/img/hackertours.svg new file mode 100644 index 0000000..ca88cc6 --- /dev/null +++ b/img/hackertours.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/hare_head.svg b/img/hare_head.svg new file mode 100644 index 0000000..e20029e --- /dev/null +++ b/img/hare_head.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/history.svg b/img/history.svg new file mode 100644 index 0000000..4b66dd4 --- /dev/null +++ b/img/history.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/home.svg b/img/home.svg new file mode 100644 index 0000000..6c4e2f1 --- /dev/null +++ b/img/home.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/hygene.svg b/img/hygene.svg new file mode 100644 index 0000000..a7db265 --- /dev/null +++ b/img/hygene.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/info.svg b/img/info.svg new file mode 100644 index 0000000..2c6c17d --- /dev/null +++ b/img/info.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/lightbulb.svg b/img/lightbulb.svg new file mode 100644 index 0000000..ee9e8df --- /dev/null +++ b/img/lightbulb.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/link.svg b/img/link.svg new file mode 100644 index 0000000..a88ab81 --- /dev/null +++ b/img/link.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/location.svg b/img/location.svg new file mode 100644 index 0000000..e299d03 --- /dev/null +++ b/img/location.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/lock.svg b/img/lock.svg new file mode 100644 index 0000000..6f32cac --- /dev/null +++ b/img/lock.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/login.svg b/img/login.svg new file mode 100644 index 0000000..efa6a28 --- /dev/null +++ b/img/login.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/logout.svg b/img/logout.svg new file mode 100644 index 0000000..18c84d2 --- /dev/null +++ b/img/logout.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/menu.svg b/img/menu.svg new file mode 100644 index 0000000..dda9be4 --- /dev/null +++ b/img/menu.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/menu_small.svg b/img/menu_small.svg new file mode 100644 index 0000000..e5258de --- /dev/null +++ b/img/menu_small.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/merch.svg b/img/merch.svg new file mode 100644 index 0000000..f1e4512 --- /dev/null +++ b/img/merch.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/message.svg b/img/message.svg new file mode 100644 index 0000000..d89f9e4 --- /dev/null +++ b/img/message.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/microphone.svg b/img/microphone.svg new file mode 100644 index 0000000..041242d --- /dev/null +++ b/img/microphone.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/network.svg b/img/network.svg new file mode 100644 index 0000000..d746fb9 --- /dev/null +++ b/img/network.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/pen.svg b/img/pen.svg new file mode 100644 index 0000000..7586346 --- /dev/null +++ b/img/pen.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/pencil.svg b/img/pencil.svg new file mode 100644 index 0000000..7fae82b --- /dev/null +++ b/img/pencil.svg @@ -0,0 +1,18 @@ + + + + + + + diff --git a/img/pin.svg b/img/pin.svg new file mode 100644 index 0000000..2b07c7a --- /dev/null +++ b/img/pin.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/plate_and_cutlery.svg b/img/plate_and_cutlery.svg new file mode 100644 index 0000000..e759c5a --- /dev/null +++ b/img/plate_and_cutlery.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/power.svg b/img/power.svg new file mode 100644 index 0000000..1e003d3 --- /dev/null +++ b/img/power.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/question.svg b/img/question.svg new file mode 100644 index 0000000..f904106 --- /dev/null +++ b/img/question.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/schedule.svg b/img/schedule.svg new file mode 100644 index 0000000..48c0c0e --- /dev/null +++ b/img/schedule.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/search.svg b/img/search.svg new file mode 100644 index 0000000..0e81215 --- /dev/null +++ b/img/search.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/settings.svg b/img/settings.svg new file mode 100644 index 0000000..410588b --- /dev/null +++ b/img/settings.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/signup.svg b/img/signup.svg new file mode 100644 index 0000000..6c20d48 --- /dev/null +++ b/img/signup.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/sitemap.svg b/img/sitemap.svg new file mode 100644 index 0000000..1afc9f7 --- /dev/null +++ b/img/sitemap.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/soldering_iron.svg b/img/soldering_iron.svg new file mode 100644 index 0000000..6c36a6e --- /dev/null +++ b/img/soldering_iron.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/star-circle.svg b/img/star-circle.svg new file mode 100644 index 0000000..b71b998 --- /dev/null +++ b/img/star-circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/tick.svg b/img/tick.svg new file mode 100644 index 0000000..6d5e5aa --- /dev/null +++ b/img/tick.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/tick_small.svg b/img/tick_small.svg new file mode 100644 index 0000000..cf7760e --- /dev/null +++ b/img/tick_small.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/ticket.svg b/img/ticket.svg new file mode 100644 index 0000000..d836a02 --- /dev/null +++ b/img/ticket.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/toast.svg b/img/toast.svg new file mode 100644 index 0000000..287b801 --- /dev/null +++ b/img/toast.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/train.svg b/img/train.svg new file mode 100644 index 0000000..6791f66 --- /dev/null +++ b/img/train.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/up.svg b/img/up.svg new file mode 100644 index 0000000..5fb8642 --- /dev/null +++ b/img/up.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/vegan.svg b/img/vegan.svg new file mode 100644 index 0000000..c65c83e --- /dev/null +++ b/img/vegan.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/warning.svg b/img/warning.svg new file mode 100644 index 0000000..84bdef2 --- /dev/null +++ b/img/warning.svg @@ -0,0 +1,3 @@ + + + diff --git a/js/anchor.js b/js/anchor.js new file mode 100644 index 0000000..6bbd854 --- /dev/null +++ b/js/anchor.js @@ -0,0 +1,13 @@ +jQuery(function () { + jQuery('#dokuwiki__content.main-content').find('h1,h2,h3,h4,h5').append(function () { + if (this.id) { + return '' + + '' + + '' + + '' + + ''; + } else { + return ''; + } + }) +}); diff --git a/js/direct.js b/js/direct.js new file mode 100644 index 0000000..b2e9710 --- /dev/null +++ b/js/direct.js @@ -0,0 +1,128 @@ + +/** + * Sets up the behaviour of direct menu links + * + * @author Jana Deutschlaender + */ +(function($) { + + + var $body, + + /** + * Register the click handler for the direct links + * should scroll to the page area whether there is a fixed magic matcher bar or not + * + * @param $directMenu + */ + scrollingForDirectNav = function($directMenu) { + $body = $('body'); + checkAnchorsOnLoad($directMenu); + registerClickForDirectLinks($directMenu); + + }, + + /** + * register click event listener for direct links + * @param $menu + */ + registerClickForDirectLinks = function($menu) { + $menu.find('a').on('click', function (e) { + e.stopPropagation(); + var target = $(this).attr('href'); + tasksBeforeScrolling(target); + scrollToTarget(target); + }); + }, + + /** + * scroll to / set focus to target of direct link if value of location hash equals direct link + * @param $menu + */ + checkAnchorsOnLoad = function($menu) { + var hash = window.location.hash; + if (hash) { + $menu.find('a').each(function() { + var target = $(this).attr('href'); + if(hash === target) { + tasksBeforeScrolling(target); + scrollToTarget(target); + setFocusOnLoad(target); + } + }); + } + }, + + /** + * todos that needs to be done before the scrolling can start + * @param target + */ + tasksBeforeScrolling = function(target) { + switch (target) { + case '#qsearch__in': + showSearchField(target); + break; + + case '#dokuwiki__usertools': + $(target).find('li:first-child').find('a').focus(); + break; + + } + }, + + /** + * set focus on target or first link found in target + * @param target + */ + setFocusOnLoad = function(target) { + var $target = $(target); + switch (target) { + + case '#qsearch__in': + case '#spr__toggle-content': + $target.focus(); + break; + + case '#dokuwiki__usertools': + break; + + default: + $target.attr('tabindex',0); + $target.focus(); + + } + }, + + /** + * trigger content toggle link to make the search field visible otherwise it neither be used for scrolling nor + * for focus setting + * @param target + */ + showSearchField = function(target) { + if($body.hasClass('wide-content')) { + $('#spr__toggle-content').trigger('click'); + } + }, + + /** + * scrolls to the target with an offset of 60px + * @param target + */ + scrollToTarget = function(target) { + // scroll to each target + $('html, body').animate({ + scrollTop: (target.offset().top - 60) + }, 400); + }; + + + $(function(){ + + var $directMenu = $('#spr__direct'); + if (!$directMenu.length) return; + + scrollingForDirectNav($directMenu); + }); + + +})(jQuery); diff --git a/js/meta-box.js b/js/meta-box.js new file mode 100755 index 0000000..5cd4cb1 --- /dev/null +++ b/js/meta-box.js @@ -0,0 +1,91 @@ + +/** + * Sets up the behaviour of the meta box + * + * @author Andreas Gohr + * @author Jana Deutschlaender + */ +(function($) { + + + /** + * Register the click handler for the tabs + * + * Tabs can be added dynamically later on and this handler will still + * provide the open/close functionality + */ + var registerClickForTabsInMetaBox = function($metaBox) { + + $metaBox.on('click', '.meta-tabs a', function (e) { + e.preventDefault(); + var $tab = $(this), + isopen = $tab.attr('aria-expanded') === 'true'; + + // disable all existing tabs + disableExistingTabs($metaBox); + + + if (isopen) return; // tab was open, we closed it. we're done + + // enable current tab + $tab + .attr('aria-expanded', 'true') + .closest('li') + .addClass('active'); + $metaBox.find($tab.attr('href')) + .addClass('active') + .attr('aria-hidden', 'false'); + + }).find('.meta-content').on('click', 'a[href*="#"]', function (e) { + disableExistingTabs($metaBox); + /* uses custome event handler hide see spc.js */ + }).find('#tagging__edit').on('hide', function(e){ + disableExistingTabs($metaBox); + }); + + /** + * in admin templates show toc tab, if available + */ + if($('body').hasClass('do-admin')) { + var $tocLink = $metaBox.find('a[href="#spr__tab-toc"]'); + if($tocLink.length === 1) { + $tocLink.trigger('click'); + } + } + }, + disableExistingTabs = function($metaBox) { + $metaBox.find('.meta-tabs li') + .removeClass('active') + .find('a') + .attr('aria-expanded', 'false'); + $metaBox.find('.meta-content .tab-pane') + .removeClass('active') + .attr('aria-hidden', 'false'); + }; + + + var stickyBox = function ($metaBox, topOffset, leftOffset) { + if (window.pageYOffset >= topOffset) { + $metaBox.addClass("sticky").attr("style", "left: " + leftOffset + "px"); + } else { + $metaBox.removeClass("sticky").removeAttr("style"); + } + }; + + + $(function(){ + var $metaBox = $('#spr__meta-box'); + if (!$metaBox.length) return; + + registerClickForTabsInMetaBox($metaBox); + + var topOffset = $metaBox.offset().top; + window.onscroll = function () { + // check while scrolling, or window resizing will break horizontal positioning + var leftOffset = $metaBox.offset().left; + stickyBox($metaBox, topOffset, leftOffset) + }; + }); + + +})(jQuery); diff --git a/js/plugins/bookcreator.js b/js/plugins/bookcreator.js new file mode 100644 index 0000000..10ca372 --- /dev/null +++ b/js/plugins/bookcreator.js @@ -0,0 +1,26 @@ +/** + * prevents Uncaught TypeError in detail template if bookcreator plug-in is installed + * + * @author Jana Deutschlaender + * + */ +(function($) { + + + var debugBookCreatorOnDetailTemplate = function(){ + + var $detail = $('#dokuwiki__detail'); + if (!$detail.length) return; + + if(JSINFO.bookcreator === undefined) { + JSINFO.bookcreator = {}; + JSINFO.bookcreator.areToolsVisible = false; + } + }; + + $(function(){ + debugBookCreatorOnDetailTemplate(); + }); + + +})(jQuery); diff --git a/js/plugins/do_tasks.js b/js/plugins/do_tasks.js new file mode 100755 index 0000000..1ff8717 --- /dev/null +++ b/js/plugins/do_tasks.js @@ -0,0 +1,49 @@ +// FIXME figure out what this did and why + +// ( function( $, spc ) { +// +// var togglePageAnalysis = function(){ +// var $this = $('.page-attributes').find('.plugin__qc'); +// try{ +// var $link = $this.find('#plugin__qc__link'), +// $container = $this.find('#plugin__qc__wrapper'); +// +// if($container.length < 1){ +// $this.remove(); +// }else{ +// $container.attr('aria-hidden','true'); +// var $icon = $container.find('#plugin__qc__icon'); +// $container.find('#plugin__qc__out').removeAttr('style'); +// $link.on( 'click', function(e){ +// e.preventDefault(); +// $icon.trigger('click'); +// var oldState = ($link.attr('aria-expanded')=== "true" ); +// $container.attr('aria-hidden',oldState); +// $(this).attr('aria-expanded',!oldState); +// +// }); +// +// if($container.length > 0){ +// var num = $container.attr('data-errors'); +// if(num){ +// $link.find('.num').empty().append(num); +// $link.closest('li').removeClass('do_none'); +// } +// } +// +// } +// +// }catch(err){ +// $this.remove(); +// } +// }; +// +// $(function(){ +// togglePageAnalysis(); +// }); +// +// } )( jQuery, spc ); +// +// +// +// diff --git a/js/plugins/folded.js b/js/plugins/folded.js new file mode 100644 index 0000000..9540842 --- /dev/null +++ b/js/plugins/folded.js @@ -0,0 +1,27 @@ +/** + * prevents Uncaught TypeError in detail template if folded plug-in is installed + * + * @author Jana Deutschlaender + * + */ +(function($) { + + + var debugFoldedOnDetailTemplate = function(){ + + var $detail = $('#dokuwiki__detail'); + if (!$detail.length) return; + + if(JSINFO.plugin_folded === undefined) { + JSINFO.plugin_folded = {}; + JSINFO.plugin_folded.reveal = ''; + JSINFO.plugin_folded.hide = ''; + } + }; + + $(function(){ + debugFoldedOnDetailTemplate(); + }); + + +})(jQuery); diff --git a/js/plugins/qc.js b/js/plugins/qc.js new file mode 100644 index 0000000..4d768f1 --- /dev/null +++ b/js/plugins/qc.js @@ -0,0 +1,40 @@ +/** + * Add custom QC functionality instead of using the plugin's mechanism + * + * @author Andreas Gohr + * @author Jana Deutschlaender + */ +jQuery(function () { + var $panel = jQuery('div.qc-output').hide(); + + // load summary + jQuery('.page-attributes .plugin_qc a').load( + DOKU_BASE + 'lib/exe/ajax.php', + { + call: 'plugin_qc_short', + id: JSINFO['id'] + }, + function () { + jQuery(this).find('span span').addClass('num'); + } + ).click(function (e) { + e.preventDefault(); + + if ($panel.html() == '') { + // load output + $panel.load( + DOKU_BASE + 'lib/exe/ajax.php', + { + call: 'plugin_qc_long', + id: JSINFO['id'] + }, + function () { + $panel.dw_show(); + } + ); + } else { + $panel.dw_toggle(); + } + }); + +}); diff --git a/js/sidebar.js b/js/sidebar.js new file mode 100644 index 0000000..86036f6 --- /dev/null +++ b/js/sidebar.js @@ -0,0 +1,335 @@ +/** + * Sets up the sidebar behaviour + * + * @author Andreas Gohr + * @author Michael Große + * @author Jana Deutschlaender + */ +jQuery(function () { + var $nav = jQuery('#dokuwiki__aside'); + if (!$nav.length) return; + + // id of the current sidebar, used to differentiate states + var sidebarId = ''; + var divId = jQuery('#sidebarId'); + if (typeof divId !== 'undefined') { + sidebarId = divId.attr('class').split(' ')[0]; + } + + /** + * closes sidebar + */ + var setWideContent = function () { + $nav.find('div.nav-panel').hide(); // close all panels + jQuery('body').addClass('wide-content'); + removeToggleStorage(); + window.sessionStorage.setItem('wide-content', true); + }, + + /** + * removes information about the toggle-state + */ + removeToggleStorage = function () { + for (var index=0; index <= window.sessionStorage.length; index += 1) { + var item = window.sessionStorage.getItem('sidebar-section-' + sidebarId + '-' + index + '-open'); + if (!item) { + continue; + } + window.sessionStorage.setItem('sidebar-section-' + sidebarId + '-' + index + '-open', 'false'); + } + }, + + /** + * opens the sidebar + */ + setDefaultContent = function () { + jQuery('body').removeClass('wide-content'); + window.sessionStorage.setItem('wide-content', false); + }, + + /** + * Accessibility helper, focuses the first link witih the given element + * + * @param {jQuery} $elem + */ + focusFirstSubLink = function ($elem) { + $elem.find('a').first().focus(); + }, + + removeOpenStates = function() { + $nav.find('.is-open').removeClass('is-open'); + }, + + /** + * Toggle a navigation panel + * + * @param {jQuery} $toggler The a toggler + */ + toggleNav = function ($toggler) { + var $panel = $toggler.parent().next('div.nav-panel'); + var isOpen = $panel.is(':visible'); + // open sidebar on interaction + setDefaultContent(); + // toggle the panel, focus first link after opening + $panel.dw_toggle(!isOpen, function () { + if (!isOpen) { + focusFirstSubLink($panel); + $toggler.addClass('is-open'); + } else { + $toggler.removeClass('is-open'); + } + }); + window.sessionStorage.setItem('sidebar-section-' + sidebarId + '-' + $toggler.data('index') + '-open', !isOpen); + }, + + /** + * Initialize the content navigation + * + * It mangles the sidebar content and handles inline Icon configuration + */ + initContentNav = function () { + var $main = $nav.find('nav.nav-main'); + if (!$main.length) return; + + if(jQuery('body').hasClass('wide-content')) { + removeToggleStorage(); + } + + var ELEMENT = JSINFO.template.sprintdoc.sidebar_toggle_elements; + var $elements = $main.find(ELEMENT); + $elements.each(function (index) { + var $me = jQuery(this), + + // prepare text and the optional icon + data = $me.text().split('@', 2), + text = data[0].trim(); + + var $icon = jQuery('') + .text(text.substr(0, 1).toUpperCase() + text.substr(1, 1).toLowerCase()) + .wrapInner(''); + if (data[1]) { + var src = data[1].trim(); + $icon.load(DOKU_BASE + 'lib/tpl/sprintdoc/svg.php?svg=' + src + '&e=1'); // directly embed + } + + // make the new toggler + var $toggler = jQuery('') + .attr('href', '#') + .attr('role', 'heading') + .attr('aria-level', '2') + .text(text) + .wrapInner('') + .prepend($icon) + .data('index', index) + ; + $toggler = jQuery('