From 2e2af9677815a3888d9ebdd72cd5fbda24e85421 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Schplurtz=20le=20D=C3=A9boulonn=C3=A9?= Date: Mon, 1 Nov 2021 02:55:34 +0100 Subject: [PATCH 01/61] translation update --- lang/fr/settings.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lang/fr/settings.php b/lang/fr/settings.php index b5ad785..3359cac 100644 --- a/lang/fr/settings.php +++ b/lang/fr/settings.php @@ -3,7 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * - * @author Schplurtz le Déboulonné + * @author Schplurtz le Déboulonné */ $lang['sidebar_sections'] = 'Convertir automatique les en sections ces éléments :'; $lang['sidebar_sections_o_h1'] = 'titres de premier rang'; @@ -13,3 +13,4 @@ $lang['sidebar_sections_o_li.level1 > .li'] = 'items de premier niveau des liste $lang['header_layout'] = 'Ajuster la disposition de l\'entête :'; $lang['header_layout_o_default'] = 'Disposition d\'entête généreuse pour un titre long et un descriptif'; $lang['header_layout_o_compact'] = 'Disposition compacte de l\'entête pour un titre court sans descriptif'; +$lang['autocollapse'] = 'Replier automatiquement la barre latérale quand on n\'est pas sur une page de wiki pour donner plus de place aux outils.'; From 63c9c461519deba4590f8452fe85b802977355d8 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Tue, 9 Nov 2021 12:16:26 +0100 Subject: [PATCH 02/61] ignore JS only links when simplifying the sidebar --- js/sidebar.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/sidebar.js b/js/sidebar.js index 21cedfa..86036f6 100644 --- a/js/sidebar.js +++ b/js/sidebar.js @@ -141,7 +141,7 @@ jQuery(function () { * and use a direct link. */ var $links = jQuery($wrap[0]).find('a'); - if ($links.length == 1) { + if ($links.length === 1 && $links.first().attr('href') !== '#') { $toggler.children().first().attr('href', jQuery($links[0]).attr('href')); } else { $wrap.insertAfter($me); From efb850db8fe5fd17608f365e528d5f2e12482c03 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Tue, 9 Nov 2021 23:51:35 +0100 Subject: [PATCH 03/61] Version upped --- template.info.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template.info.txt b/template.info.txt index a67e47d..eaed436 100755 --- a/template.info.txt +++ b/template.info.txt @@ -1,7 +1,7 @@ base sprintdoc author Jana Deutschlaender email dokuwiki@cosmocode.de -date 2021-10-21 +date 2021-11-09 name sprintDoc Template desc modern, responsive template that integrates multiple plugins url https://www.dokuwiki.org/template:sprintdoc From ac4848912ded5e857e459186f668e2db23b263ed Mon Sep 17 00:00:00 2001 From: fiwswe <53953985+fiwswe@users.noreply.github.com> Date: Wed, 7 Sep 2022 11:20:34 +0200 Subject: [PATCH 04/61] Fix deprecation warnings --- svg.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/svg.php b/svg.php index f1025f4..abcf427 100644 --- a/svg.php +++ b/svg.php @@ -133,8 +133,8 @@ class SVG { header('Content-Type: image/svg+xml'); $cachekey = md5($file . serialize($params) . $conf['template'] . filemtime(__FILE__)); - $cache = new \cache($cachekey, '.svg'); - $cache->_event = 'SVG_CACHE'; + $cache = new \dokuwiki\Cache\Cache($cachekey, '.svg'); + $cache->setEvent('SVG_CACHE'); http_cached($cache->cache, $cache->useCache(array('files' => array($file, __FILE__)))); if($params['e']) { From f6194cf4db6eb0ba279b250e42990d39eef23d4a Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Thu, 8 Sep 2022 23:51:48 +0200 Subject: [PATCH 05/61] Version upped --- template.info.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template.info.txt b/template.info.txt index eaed436..02dde2d 100755 --- a/template.info.txt +++ b/template.info.txt @@ -1,7 +1,7 @@ base sprintdoc author Jana Deutschlaender email dokuwiki@cosmocode.de -date 2021-11-09 +date 2022-09-07 name sprintDoc Template desc modern, responsive template that integrates multiple plugins url https://www.dokuwiki.org/template:sprintdoc From 2e98afbd63bb01a078506b85a70a372b7f5fd216 Mon Sep 17 00:00:00 2001 From: fiwswe <53953985+fiwswe@users.noreply.github.com> Date: Sun, 9 Oct 2022 16:30:41 +0200 Subject: [PATCH 06/61] =?UTF-8?q?Correctly=20interpret=20result=20of=20str?= =?UTF-8?q?pos(=E2=80=A6)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit if `%s` happens to be at the start of the string then `strpos(…, '%s')` returns `0`. That evaluates to false in an `if` statement. Thus the replacement will not be applied in that case. See https://github.com/splitbrain/dokuwiki/pull/3790 for a probable similar issue. --- tpl.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tpl.php b/tpl.php index 23f284b..1334488 100644 --- a/tpl.php +++ b/tpl.php @@ -45,7 +45,7 @@ class tpl { $linktarget = wl($data['id'], $data['params'], false, '&'); } $caption = $lang['btn_' . $data['type']]; - if(strpos($caption, '%s')) { + if(strpos($caption, '%s') !== false) { $caption = sprintf($caption, $data['replacement']); } From 9d4244583fc6daa5b1b14866e886005ba717acfc Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Tue, 11 Oct 2022 23:51:55 +0200 Subject: [PATCH 07/61] Version upped --- template.info.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template.info.txt b/template.info.txt index 02dde2d..e2d5ef1 100755 --- a/template.info.txt +++ b/template.info.txt @@ -1,7 +1,7 @@ base sprintdoc author Jana Deutschlaender email dokuwiki@cosmocode.de -date 2022-09-07 +date 2022-10-09 name sprintDoc Template desc modern, responsive template that integrates multiple plugins url https://www.dokuwiki.org/template:sprintdoc From 9510c08045a0ee042769c1203a7389a980833d07 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Tue, 3 Jan 2023 14:20:46 +0100 Subject: [PATCH 08/61] Added additional include hooks to easily extend the navigation --- Template.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Template.php b/Template.php index 14878a3..03f4bb7 100644 --- a/Template.php +++ b/Template.php @@ -69,6 +69,8 @@ class Template { $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'; } /** @@ -141,7 +143,10 @@ class Template { $nav .= ''; + + $nav .= $this->getInclude('navtop'); $nav .= tpl_include_page($conf['sidebar'], false, true); + $nav .= $this->getInclude('navbottom'); $nav .= ''; } From f86e6b99fa9803cb53f52a5bada6b8ac473caa8e Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Tue, 3 Jan 2023 23:51:44 +0100 Subject: [PATCH 09/61] Version upped --- template.info.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template.info.txt b/template.info.txt index e2d5ef1..0d1573c 100755 --- a/template.info.txt +++ b/template.info.txt @@ -1,7 +1,7 @@ base sprintdoc author Jana Deutschlaender email dokuwiki@cosmocode.de -date 2022-10-09 +date 2023-01-03 name sprintDoc Template desc modern, responsive template that integrates multiple plugins url https://www.dokuwiki.org/template:sprintdoc From e4a08effd6aa33bda45ea3178142991f7aa97371 Mon Sep 17 00:00:00 2001 From: Anna Dabrowska Date: Thu, 2 Mar 2023 13:31:26 +0100 Subject: [PATCH 10/61] If SVG width and height are not define, set them to 100% --- svg.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/svg.php b/svg.php index abcf427..3fb2655 100644 --- a/svg.php +++ b/svg.php @@ -175,8 +175,8 @@ class SVG { $xml = simplexml_load_file($file, SvgNode::class); $def = hsc((string) $xml->path['d']); - $w = hsc($xml['width']); - $h = hsc($xml['height']); + $w = hsc($xml['width'] ?? '100%'); + $h = hsc($xml['height'] ?? '100%'); $v = hsc($xml['viewBox']); return ""; From 32cb5749b36ee85781ebbad564879cd97b5ed3a1 Mon Sep 17 00:00:00 2001 From: Anna Dabrowska Date: Thu, 2 Mar 2023 16:14:23 +0100 Subject: [PATCH 11/61] Do not use SVG width and height directly when embedding images --- svg.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/svg.php b/svg.php index 3fb2655..6688fc8 100644 --- a/svg.php +++ b/svg.php @@ -179,7 +179,12 @@ class SVG { $h = hsc($xml['height'] ?? '100%'); $v = hsc($xml['viewBox']); - return ""; + // if viewbox is not defined, construct it from width and height, if available + if (empty($v) && !empty($w) && !empty($h)) { + $v = hsc("0 0 $w $h"); + } + + return ""; } /** From c6a055e7969605a7351bedd531891ffe9cc39b89 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Thu, 2 Mar 2023 23:51:52 +0100 Subject: [PATCH 12/61] Version upped --- template.info.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template.info.txt b/template.info.txt index 0d1573c..bc54b14 100755 --- a/template.info.txt +++ b/template.info.txt @@ -1,7 +1,7 @@ base sprintdoc author Jana Deutschlaender email dokuwiki@cosmocode.de -date 2023-01-03 +date 2023-03-02 name sprintDoc Template desc modern, responsive template that integrates multiple plugins url https://www.dokuwiki.org/template:sprintdoc From 02b0cec69f119ff20c7c3fe1c2b2c00b3752bdc1 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 10 Jul 2023 13:02:58 +0200 Subject: [PATCH 13/61] housekeeping --- .gitattributes | 2 + LICENSE | 339 +++++++++++++++++++++++++++++++++++++++++++++++++ README | 27 ++++ README.md | 8 -- deleted.files | 97 ++++++++++++++ 5 files changed, 465 insertions(+), 8 deletions(-) create mode 100644 .gitattributes create mode 100644 LICENSE create mode 100644 README delete mode 100755 README.md create mode 100644 deleted.files 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/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 new file mode 100644 index 0000000..6cadc0c --- /dev/null +++ b/README @@ -0,0 +1,27 @@ +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/README.md b/README.md deleted file mode 100755 index 1c0e75e..0000000 --- a/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# sprintDoc Template for dokuwiki -by Jana Deutschlaender - -Documentation: [https://www.dokuwiki.org/template:sprintdoc](https://www.dokuwiki.org/template:sprintdoc) - -Version: see template.info.txt - -License: GPL2, see COPYING diff --git a/deleted.files b/deleted.files new file mode 100644 index 0000000..2f33ca0 --- /dev/null +++ b/deleted.files @@ -0,0 +1,97 @@ +# 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/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 From 80e39be0482233f6b0a1861fc90918c0d2f67b41 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 10 Jul 2023 13:10:43 +0200 Subject: [PATCH 14/61] Adjust sidebar panel margin Since navigation panels now always close when the sidebar is minimized, it's not longer necessare to move their contents out of the visible margin under the icons. This gives a bit more space for contents. --- css/area_main-sidebar-nav.less | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/css/area_main-sidebar-nav.less b/css/area_main-sidebar-nav.less index 37e1602..499dd49 100755 --- a/css/area_main-sidebar-nav.less +++ b/css/area_main-sidebar-nav.less @@ -257,7 +257,7 @@ div.nav-panel { display: none; margin-top: .5rem; - margin-left: @menu-margin; + margin-left: @margin-small; ul { margin-bottom: 1rem; From 621124b3251978057eb33a5ff12e318c79a16d68 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 10 Jul 2023 13:40:06 +0200 Subject: [PATCH 15/61] some cleanup in the usertool handling do not display unavailable actions --- tpl/nav-usertools-buttons.php | 91 ++++++++++++++++++----------------- 1 file changed, 48 insertions(+), 43 deletions(-) diff --git a/tpl/nav-usertools-buttons.php b/tpl/nav-usertools-buttons.php index c4adcd5..49c1d8a 100755 --- a/tpl/nav-usertools-buttons.php +++ b/tpl/nav-usertools-buttons.php @@ -1,54 +1,59 @@ +use dokuwiki\Menu\Item\AbstractItem; +use dokuwiki\Menu\Item\Admin; +use dokuwiki\Menu\Item\Login; +use dokuwiki\Menu\Item\Register; - + From da9591f0b601acedbe46c220368e3eed2c251e89 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 10 Jul 2023 13:57:09 +0200 Subject: [PATCH 16/61] added closedwiki option This hides most of the wiki tools including the sidebar and search until the user has logged in. --- conf/default.php | 1 + conf/metadata.php | 1 + lang/en/settings.php | 1 + main.php | 23 +++++++++++++++-------- tpl/nav-usertools-buttons.php | 2 +- 5 files changed, 19 insertions(+), 9 deletions(-) diff --git a/conf/default.php b/conf/default.php index 0617fd4..70bcae8 100755 --- a/conf/default.php +++ b/conf/default.php @@ -7,3 +7,4 @@ $conf['sidebar_sections'] = 'h1,h2,h3,h4,h5'; $conf['header_layout'] = 'header-default'; $conf['autocollapse'] = 1; +$conf['closedwiki'] = 0; diff --git a/conf/metadata.php b/conf/metadata.php index ed77775..f804194 100755 --- a/conf/metadata.php +++ b/conf/metadata.php @@ -19,3 +19,4 @@ $meta['header_layout'] = array( ); $meta['autocollapse'] = array('onoff'); +$meta['closedwiki'] = array('onoff'); diff --git a/lang/en/settings.php b/lang/en/settings.php index 6b09179..757d39b 100755 --- a/lang/en/settings.php +++ b/lang/en/settings.php @@ -16,3 +16,4 @@ $lang['header_layout_o_default'] = 'generous header layout for long wiki titel $lang['header_layout_o_compact'] = 'compact header layout for short wiki title and hidden tagline'; $lang['autocollapse'] = 'Automatically collapse the sidebar when viewing non-content pages for more screen estate.'; +$lang['closedwiki'] = 'This is a closed wiki. Hide most wiki functionality before user has logged in.'; diff --git a/main.php b/main.php index b540656..2a10c1d 100755 --- a/main.php +++ b/main.php @@ -113,11 +113,13 @@ $classWideContent = (Template::getInstance())->fullWidthClass();
- + server->has('REMOTE_USER')) { ?> + + fullWidthClass();
-
+ server->has('REMOTE_USER')) { ?> +
@@ -248,7 +251,7 @@ $classWideContent = (Template::getInstance())->fullWidthClass();
- +
@@ -292,9 +295,11 @@ $classWideContent = (Template::getInstance())->fullWidthClass(); diff --git a/tpl/nav-usertools-buttons.php b/tpl/nav-usertools-buttons.php index 49c1d8a..5952401 100755 --- a/tpl/nav-usertools-buttons.php +++ b/tpl/nav-usertools-buttons.php @@ -16,7 +16,7 @@ if ($conf['useacl']): ?> try { $item = new Login(); if ($item->visibleInContext(AbstractItem::CTX_DESKTOP)) - echo '
  • ' . $item->asHtmlButton() . '
  • '; + echo '
  • ' . $item->asHtmlLink() . '
  • '; } catch (RuntimeException $ignored) { // item not available } From b2c99f05c4ed82e62abef4a35ff27965265ae148 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 10 Jul 2023 23:51:54 +0200 Subject: [PATCH 17/61] Version upped --- template.info.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template.info.txt b/template.info.txt index bc54b14..83cf3da 100755 --- a/template.info.txt +++ b/template.info.txt @@ -1,7 +1,7 @@ base sprintdoc author Jana Deutschlaender email dokuwiki@cosmocode.de -date 2023-03-02 +date 2023-07-10 name sprintDoc Template desc modern, responsive template that integrates multiple plugins url https://www.dokuwiki.org/template:sprintdoc From 844596f7217080a24fb72acc6cc0df2eb66b0022 Mon Sep 17 00:00:00 2001 From: Anna Dabrowska Date: Mon, 4 Sep 2023 13:23:46 +0200 Subject: [PATCH 18/61] Plugin starred: fix button height --- css/plugins/starred.less | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/css/plugins/starred.less b/css/plugins/starred.less index b417bd4..74003b5 100644 --- a/css/plugins/starred.less +++ b/css/plugins/starred.less @@ -16,6 +16,10 @@ } } + a { + max-height: @toggle-size; + } + a:hover, a:focus, a:active { From 1e03e2a55f68a80781ead05a5c46f274523f689e Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 4 Sep 2023 23:51:51 +0200 Subject: [PATCH 19/61] Version upped --- template.info.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template.info.txt b/template.info.txt index 83cf3da..51164b2 100755 --- a/template.info.txt +++ b/template.info.txt @@ -1,7 +1,7 @@ base sprintdoc author Jana Deutschlaender email dokuwiki@cosmocode.de -date 2023-07-10 +date 2023-09-04 name sprintDoc Template desc modern, responsive template that integrates multiple plugins url https://www.dokuwiki.org/template:sprintdoc From b8adbb9e24dc48aeb7fdee7e778c6c5c6a244b1e Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Tue, 12 Sep 2023 11:06:19 +0200 Subject: [PATCH 20/61] streamline page attributes Page attribute icons should now align better and all look the same. --- css/area_nav-page-attributes.less | 86 +++++++++++-------------------- css/plugins/do_tasks.less | 21 -------- css/plugins/qc.less | 24 --------- css/plugins/quicksubscribe.less | 24 --------- css/plugins/starred.less | 33 ------------ style.ini | 1 - tpl/nav-page-attributes.php | 8 ++- 7 files changed, 37 insertions(+), 160 deletions(-) delete mode 100644 css/plugins/quicksubscribe.less diff --git a/css/area_nav-page-attributes.less b/css/area_nav-page-attributes.less index 4484f4f..2d24c75 100644 --- a/css/area_nav-page-attributes.less +++ b/css/area_nav-page-attributes.less @@ -1,78 +1,54 @@ /** * Page Attribute Icons in the breadcrumb bar */ - -/* + + + + + icons in breadcrumb area + + + + + */ .page-attributes { list-style: none; float: right; - display: inline-block; - max-width: 30%; - margin: -.45em 0 0; + margin: -.45em 0 0; // FIXME sourrounding CSS should be fixed so negative margin is not needed padding: 0; - - @media @screen_max-xs { - max-width: 90%; - } + display: flex; + gap: 0.5rem; > li { - .btn-usertools-wrapper(); // uniform li - .btn-usertools-num(); - + margin: 0; + padding: 0; + border: 1px solid @wikiicons-border; + border-radius: @ini_default_border_radius; position: relative; - float: left; - display: block; - width: auto; - min-height: @toggle-size; - text-align: center; - margin: 0 .25rem; + display: flex; + align-items: center; + justify-content: center; + transition: @transition background-color, @transition border-color, @transition color; - strong { + // override any plugin element styles + * { + margin: 0; + padding: 0; + line-height: normal; display: block; - min-height: 1.64rem; - border: 1px solid @wikiicons-border; - border-radius: @ini_default_border_radius; } - a { - display: block; - width: auto; - min-height: 1.64rem; - background-color: @ini_nav_menu_hover_bg; - border: 1px solid @wikiicons-border; - border-radius: @ini_default_border_radius; - transition: @transition background-color, @transition border-color, @transition color; + // number badge + .btn-usertools-num(); - &:hover, - &:focus, - &:active { - background-color: @ini_nav_menu_hover_color; - border-color: @ini_nav_menu_hover_color; - color: @ini_nav_menu_hover_bg; + // icon + svg { + height: 1.5em; + width: 1.5em; - span { - fill: @ini_nav_menu_hover_bg; - color: @ini_nav_menu_hover_bg; - } + path { + fill: @ini_nav_menu_color; } } - .prefix { - .btn-prefix(.26rem); - .icon-clipboard(); + // adjust colors on hover + &:hover { + background-color: @ini_nav_menu_hover_color; + border-color: @ini_nav_menu_hover_color; - display: block; - font-size: 1.2rem; - line-height: 1; - } - - .num { - top: -.6em; - font-size: @font-size-very-small; - } - - &:empty { - display: none; + svg path { + fill: @ini_nav_menu_hover_bg; + } } } } diff --git a/css/plugins/do_tasks.less b/css/plugins/do_tasks.less index 8a43015..b09d449 100755 --- a/css/plugins/do_tasks.less +++ b/css/plugins/do_tasks.less @@ -2,27 +2,6 @@ * This file provides styles for do-task plugin */ -/* + + + + + global + + + + + */ -ul.page-attributes { - .plugin_do_pagetasks { - position: relative; - border-radius: @ini_default_border_radius; // @ini_default_border_radius vs. @fix_border-radius - - strong { - overflow: hidden; - background-color: @ini_background_site; - border-color: @noopentasks-border; - color: @ini_text_webframe; - } - - &.do_none { - .num { - background-color: @noopentasks-border; // fix - color: @noopentasks-color; // fix - } - } - } -} /* + + + + + usertool icon in header + + + + + */ #dokuwiki__usertools.nav-usertools { diff --git a/css/plugins/qc.less b/css/plugins/qc.less index b08d756..c26c734 100644 --- a/css/plugins/qc.less +++ b/css/plugins/qc.less @@ -2,30 +2,6 @@ * Styles for the QC plugin */ -/* + + + + + icon in breadcrumb + + + + + */ -.page-attributes .plugin_qc { - .qc_icon { - margin: 0; - - svg { - margin-top: .1em; - width: 1.6em; - height: 1.6em; - font-size: (@font-size-small - .06); - } - } - - a { - &:hover, - &:focus, - &:active { - svg path { - fill: @ini_nav_menu_hover_bg; - } - } - } -} - /* + + + + + slideout output + + + + + */ .qc-output { position: relative; diff --git a/css/plugins/quicksubscribe.less b/css/plugins/quicksubscribe.less deleted file mode 100644 index afc1b60..0000000 --- a/css/plugins/quicksubscribe.less +++ /dev/null @@ -1,24 +0,0 @@ -/** - * This file provides styles for the quicksubscribe plugin - */ - -.page-attributes { - li.plugin_quicksubscribe { - a.plugin_qsub_subscribe { - svg { - width: 1.6em; - height: 1.6em; - font-size: 0.82rem; - fill: @ini_nav_menu_hover_color; - } - } - - a:hover, - a:focus, - a:active { - svg { - fill: @ini_nav_menu_hover_bg; - } - } - } -} diff --git a/css/plugins/starred.less b/css/plugins/starred.less index 74003b5..26426d6 100644 --- a/css/plugins/starred.less +++ b/css/plugins/starred.less @@ -1,43 +1,10 @@ /** * This file provides styles for starred plugin */ - -.page-attributes { - li.plugin_starred { - .starred { - display: block; - padding-top: .05rem; - - svg { - width: 1.6em; - height: 1.6em; - font-size: 0.82rem; - fill: @ini_nav_menu_hover_color; - } - } - - a { - max-height: @toggle-size; - } - - a:hover, - a:focus, - a:active { - .starred svg { - fill: @ini_nav_menu_hover_bg; - } - } - } -} - nav.nav-starred { ul { list-style: none; - &#sidebar-menu-starred { - margin-left: 0; - } - li { margin-left: 0; diff --git a/style.ini b/style.ini index 66ea444..48dda70 100755 --- a/style.ini +++ b/style.ini @@ -113,7 +113,6 @@ css/plugins/extension__manager.less = all css/plugins/folded.less = all css/plugins/configmanager.less = all css/plugins/starred.less = all -css/plugins/quicksubscribe.less = all css/plugins/sitemapnavi.less = all css/plugins/data.less = all css/plugins/fastwiki.less = all diff --git a/tpl/nav-page-attributes.php b/tpl/nav-page-attributes.php index f79d40c..58d220e 100755 --- a/tpl/nav-page-attributes.php +++ b/tpl/nav-page-attributes.php @@ -39,9 +39,13 @@ if($doPlugin !== null) { $class = 'do_late'; $title = sprintf(tpl_getLang('tasks_page_late'), $count['undone'], $count['late']); } - $markup = "
  • {$count['undone']}" . tpl_getLang('prefix_tasks_page') . "
  • "; - echo $markup; + echo '
  • '; + echo ''; + echo inlineSVG(DOKU_PLUGIN . 'do/pix/clipboard-text.svg'); + echo ''; + echo '' . $count['undone'] . ''; + echo '
  • '; } if($starredPlugin !== null) { From ee2fe713b4098b034839ca6aab114df2b69291a2 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Tue, 12 Sep 2023 11:16:10 +0200 Subject: [PATCH 21/61] align toollists to the left in sidebar --- css/area_main-sidebar-nav.less | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/css/area_main-sidebar-nav.less b/css/area_main-sidebar-nav.less index 499dd49..2006df4 100755 --- a/css/area_main-sidebar-nav.less +++ b/css/area_main-sidebar-nav.less @@ -267,6 +267,10 @@ margin-left: 16px; } } + + ul.toollist li { + margin-left: 0; + } } } From 5c11b3464d92d2f784f87b5409760f8045dc23fd Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Tue, 12 Sep 2023 23:51:56 +0200 Subject: [PATCH 22/61] Version upped --- template.info.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template.info.txt b/template.info.txt index 51164b2..c76614c 100755 --- a/template.info.txt +++ b/template.info.txt @@ -1,7 +1,7 @@ base sprintdoc author Jana Deutschlaender email dokuwiki@cosmocode.de -date 2023-09-04 +date 2023-09-12 name sprintDoc Template desc modern, responsive template that integrates multiple plugins url https://www.dokuwiki.org/template:sprintdoc From 36f7f6d907ba5a1791f122991b6596251990a0ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Schplurtz=20le=20D=C3=A9boulonn=C3=A9?= Date: Sun, 5 Nov 2023 07:40:31 +0100 Subject: [PATCH 23/61] translation update --- lang/fr/lang.php | 6 +++--- lang/fr/settings.php | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/lang/fr/lang.php b/lang/fr/lang.php index 525aeb2..7c83a66 100644 --- a/lang/fr/lang.php +++ b/lang/fr/lang.php @@ -44,13 +44,13 @@ $lang['__nav_menu_hover_color__'] = 'navigation (survol) - couleur de police, de $lang['__nav_menu_hover_bg__'] = 'navigation (survol) - couleur de fond ; icônes du wiki - couleur de fond ; icônes du wiki (survol) - couleur de police'; $lang['__background__'] = 'contenu, miettes, outils de page (survol) - couleur de fond'; $lang['__text__'] = 'contenu : texte - couleur de police'; -$lang['__background_neu__'] = 'Conteur neutre (pas trop différent du fond du contenu) - couleur de fond'; +$lang['__background_neu__'] = 'Contenu neutre (pas trop différent du fond du contenu) - couleur de fond'; $lang['__text_neu__'] = 'contenu neutre : texte - couleur de police'; $lang['__background_page_header__'] = 'Contenu : entête, pied de page, contrôle d\'onglet tabinclude inactifs - couleur de fond'; $lang['__background_page_footer__'] = 'contenu : pied de page, contrôle d\'onglet tabinclude inactifs - couleur de police'; $lang['__border_light__'] = 'contenu : entête, pied de page - couleur de bordure'; -$lang['__highlight__'] = 'texe emphatique (e.g. résultats de recherche) - couleur de fond'; -$lang['__highlight_text__'] = 'texe emphatique (e.g. résultats de recherche) - couleur de police'; +$lang['__highlight__'] = 'texte emphatique (e.g. résultats de recherche) - couleur de fond'; +$lang['__highlight_text__'] = 'texte emphatique (e.g. résultats de recherche) - couleur de police'; $lang['__existing__'] = 'liens vers des pages, crayon, outils de page (survol) - couleur de police ; boîte d\'onglets (survol) - couleur de bordure, couleur de police'; $lang['__link__'] = 'liens vers des pages non wiki (sites externes) - couleur de police'; $lang['__missing__'] = 'liens vers des pages inexistantes - couleur de police'; diff --git a/lang/fr/settings.php b/lang/fr/settings.php index 3359cac..7d11b76 100644 --- a/lang/fr/settings.php +++ b/lang/fr/settings.php @@ -5,7 +5,7 @@ * * @author Schplurtz le Déboulonné */ -$lang['sidebar_sections'] = 'Convertir automatique les en sections ces éléments :'; +$lang['sidebar_sections'] = 'Convertir automatiquement en section ces éléments :'; $lang['sidebar_sections_o_h1'] = 'titres de premier rang'; $lang['sidebar_sections_o_h1,h2'] = 'titres de premier et second rang'; $lang['sidebar_sections_o_h1,h2,h3,h4,h5'] = 'tous les titres'; @@ -14,3 +14,4 @@ $lang['header_layout'] = 'Ajuster la disposition de l\'entête :'; $lang['header_layout_o_default'] = 'Disposition d\'entête généreuse pour un titre long et un descriptif'; $lang['header_layout_o_compact'] = 'Disposition compacte de l\'entête pour un titre court sans descriptif'; $lang['autocollapse'] = 'Replier automatiquement la barre latérale quand on n\'est pas sur une page de wiki pour donner plus de place aux outils.'; +$lang['closedwiki'] = 'Ceci est un wiki fermé. Cacher la plupart des fonctionnalités avant que l\'utilisateur ne se connecte.'; From 9603fc81cf9963bd5e1c71804fc993200048a066 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Thu, 8 Feb 2024 09:24:23 +0100 Subject: [PATCH 24/61] added config for optional copyright notice --- conf/default.php | 1 + conf/metadata.php | 1 + css/area_footer.less | 1 + detail.php | 11 +---------- lang/en/settings.php | 1 + main.php | 11 +---------- tpl/main-footer.php | 25 +++++++++++++++++++++++++ 7 files changed, 31 insertions(+), 20 deletions(-) create mode 100644 tpl/main-footer.php diff --git a/conf/default.php b/conf/default.php index 70bcae8..f666d04 100755 --- a/conf/default.php +++ b/conf/default.php @@ -8,3 +8,4 @@ $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 f804194..ff5023f 100755 --- a/conf/metadata.php +++ b/conf/metadata.php @@ -20,3 +20,4 @@ $meta['header_layout'] = array( $meta['autocollapse'] = array('onoff'); $meta['closedwiki'] = array('onoff'); +$meta['copyright'] = []; diff --git a/css/area_footer.less b/css/area_footer.less index 62dafe5..bc11b5a 100755 --- a/css/area_footer.less +++ b/css/area_footer.less @@ -37,6 +37,7 @@ box-sizing: border-box; background-color: @ini_background_site; margin-top: 5px; // for box-shadow of content + text-align: center; } p { diff --git a/detail.php b/detail.php index 6fc84f0..49de8c8 100755 --- a/detail.php +++ b/detail.php @@ -387,16 +387,7 @@ include('tpl/favicon_tiles.php');
    diff --git a/lang/en/settings.php b/lang/en/settings.php index 757d39b..e71229c 100755 --- a/lang/en/settings.php +++ b/lang/en/settings.php @@ -17,3 +17,4 @@ $lang['header_layout_o_compact'] = 'compact header layout for short wiki title $lang['autocollapse'] = 'Automatically collapse the sidebar when viewing non-content pages for more screen estate.'; $lang['closedwiki'] = 'This is a closed wiki. Hide most wiki functionality before user has logged in.'; +$lang['copyright'] = 'Copyright notice. Use %year%, %title%, and %TITLE% as placeholders. May contain HTML. You probably want to disable the default license notice.'; diff --git a/main.php b/main.php index 2a10c1d..7d00e4b 100755 --- a/main.php +++ b/main.php @@ -426,16 +426,7 @@ $classWideContent = (Template::getInstance())->fullWidthClass();
    diff --git a/tpl/main-footer.php b/tpl/main-footer.php new file mode 100644 index 0000000..7e12ae8 --- /dev/null +++ b/tpl/main-footer.php @@ -0,0 +1,25 @@ +'; + tpl_license($img = false, $imgonly = false, $return = false, $wrap = false); + echo '

    '; +} + +if (tpl_getConf('copyright')) { + $copy = str_replace( + [ + '%year%', + '%title%', + '%TITLE%', + ], + [ + date('Y'), + $conf['title'], + dokuwiki\Utf8\PhpString::strtoupper($conf['title']), + ], + tpl_getConf('copyright') + ); + echo '

    ' . $copy . '

    '; +} From 79e34f4e05581b9710199970980f742bb323c0af Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Thu, 8 Feb 2024 23:51:46 +0100 Subject: [PATCH 25/61] Version upped --- template.info.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template.info.txt b/template.info.txt index c76614c..e54d6a1 100755 --- a/template.info.txt +++ b/template.info.txt @@ -1,7 +1,7 @@ base sprintdoc author Jana Deutschlaender email dokuwiki@cosmocode.de -date 2023-09-12 +date 2024-02-08 name sprintDoc Template desc modern, responsive template that integrates multiple plugins url https://www.dokuwiki.org/template:sprintdoc From 5e6b9183115db6cc228d215430370cc86a8043ec Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Tue, 12 Mar 2024 09:45:30 +0100 Subject: [PATCH 26/61] adjust section highlighting for Kaos This should fix flickering when hovering edit buttons. It will probably break compatibility with earlier releases --- css/area_main-content.less | 1 - css/base_design.less | 50 -------------------------------------- css/plugins/edit.less | 1 - css/plugins/include.less | 31 ----------------------- 4 files changed, 83 deletions(-) delete mode 100644 css/plugins/include.less diff --git a/css/area_main-content.less b/css/area_main-content.less index 738ff65..ccd1ccc 100755 --- a/css/area_main-content.less +++ b/css/area_main-content.less @@ -20,7 +20,6 @@ } > div, - .section_highlight > div, div[class^="level"] { > ul, > ol { diff --git a/css/base_design.less b/css/base_design.less index a04049a..cb9792f 100755 --- a/css/base_design.less +++ b/css/base_design.less @@ -153,64 +153,24 @@ h2 { font-size: @font-size-head2; margin: 0 0 @font-size-head2; padding-top: (@font-size-head2 / 2); - - .secedit + &, - div[class^="level"] + &, - .section_highlight &:first-child { - padding-top: 0; - } - - .section_highlight + & { - padding-top: (@font-size-head2 / 2); - } } h3 { font-size: @font-size-head3; margin: 0 0 @font-size-head3; padding-top: (@font-size-head3 / 2); - - .secedit + &, - div[class^="level"] + &, - .section_highlight &:first-child { - padding-top: 0; - } - - .section_highlight + & { - padding-top: (@font-size-head3 / 2); - } } h4 { font-size: @font-size-head4; margin: 0 0 @font-size-head4; padding-top: (@font-size-head4 / 2); - - .secedit + &, - div[class^="level"] + &, - .section_highlight &:first-child { - padding-top: 0; - } - - .section_highlight + & { - padding-top: (@font-size-head4 / 2); - } } h5 { font-size: @font-size-head5; margin: 0 0 @font-size-head5; padding-top: (@font-size-head5 / 2); - - .secedit + &, - div[class^="level"] + &, - .section_highlight &:first-child { - padding-top: 0; - } - - .section_highlight + & { - padding-top: (@font-size-head5 / 2); - } } h6 { @@ -218,16 +178,6 @@ h6 { font-weight: @font-weight-bold; margin: 0 0 @font-size-head6; padding-top: (@font-size-head6 / 2); - - .secedit + &, - div[class^="level"] + &, - .section_highlight &:first-child { - padding-top: 0; - } - - .section_highlight + & { - padding-top: (@font-size-head6 / 2); - } } p { diff --git a/css/plugins/edit.less b/css/plugins/edit.less index 2ed6f52..88a62a5 100644 --- a/css/plugins/edit.less +++ b/css/plugins/edit.less @@ -15,7 +15,6 @@ @highlight-even-ini_text 20px, ); border-color: @ini_background_page_header; - padding-top: 0 !important; // heredity } // "section edit button" and "editbutton_table edit button" diff --git a/css/plugins/include.less b/css/plugins/include.less deleted file mode 100644 index d9381ab..0000000 --- a/css/plugins/include.less +++ /dev/null @@ -1,31 +0,0 @@ -/** - * This file provides the main design styles - * across all template elements (typo, colors etc.) - */ - -#dokuwiki__content .plugin_include_content { - > h1, - > .section_highlight h1 { - padding-top: @font-size-head1; - } - > h2, - > .section_highlight h2 { - padding-top: @font-size-head2; - } - > h3, - > .section_highlight h3 { - padding-top: @font-size-head3; - } - > h4, - > .section_highlight h4 { - padding-top: @font-size-head4; - } - > h5, - > .section_highlight h5 { - padding-top: @font-size-head5; - } - > h6, - > .section_highlight h6 { - padding-top: @font-size-head6; - } -} From 43e0f654c175d9b036987d92b16256aeda9aa737 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Tue, 12 Mar 2024 14:09:16 +0100 Subject: [PATCH 27/61] removed deleted file from style.ini --- style.ini | 1 - 1 file changed, 1 deletion(-) diff --git a/style.ini b/style.ini index 48dda70..7a33bb4 100755 --- a/style.ini +++ b/style.ini @@ -106,7 +106,6 @@ css/plugins/edit.less = all css/plugins/mediamanager.less = all css/plugins/tabinclude.less = all css/plugins/tagging.less = all -css/plugins/include.less = all css/plugins/edittable.less = all css/plugins/tablelayout.less = all css/plugins/extension__manager.less = all From af3ae25ffe32fdd34b7b044d1017ecfa85a0a4e3 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Tue, 12 Mar 2024 23:51:48 +0100 Subject: [PATCH 28/61] Version upped --- template.info.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template.info.txt b/template.info.txt index e54d6a1..3746eea 100755 --- a/template.info.txt +++ b/template.info.txt @@ -1,7 +1,7 @@ base sprintdoc author Jana Deutschlaender email dokuwiki@cosmocode.de -date 2024-02-08 +date 2024-03-12 name sprintDoc Template desc modern, responsive template that integrates multiple plugins url https://www.dokuwiki.org/template:sprintdoc From f18e150d1fcd0b1657bc0fcf1fb0e5a7450fdfa8 Mon Sep 17 00:00:00 2001 From: Zweihorn <4863737+Zweihorn@users.noreply.github.com> Date: Sat, 30 Mar 2024 17:32:45 +0100 Subject: [PATCH 29/61] Update metadata.php syntax to avoid warning ref https://github.com/cosmocode/dokuwiki-template-sprintdoc/issues/110 --- conf/metadata.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/metadata.php b/conf/metadata.php index ff5023f..863b778 100755 --- a/conf/metadata.php +++ b/conf/metadata.php @@ -20,4 +20,4 @@ $meta['header_layout'] = array( $meta['autocollapse'] = array('onoff'); $meta['closedwiki'] = array('onoff'); -$meta['copyright'] = []; +$meta['copyright'] = array(''); From b2ca706ba56649530c2d857da8f942090ee16beb Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sat, 30 Mar 2024 23:51:48 +0100 Subject: [PATCH 30/61] Version upped --- template.info.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template.info.txt b/template.info.txt index 3746eea..f355651 100755 --- a/template.info.txt +++ b/template.info.txt @@ -1,7 +1,7 @@ base sprintdoc author Jana Deutschlaender email dokuwiki@cosmocode.de -date 2024-03-12 +date 2024-03-30 name sprintDoc Template desc modern, responsive template that integrates multiple plugins url https://www.dokuwiki.org/template:sprintdoc From ebd48bc286bc29710185e3f6d27205650bf43e3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Schplurtz=20le=20D=C3=A9boulonn=C3=A9?= Date: Fri, 7 Jun 2024 04:45:42 +0200 Subject: [PATCH 31/61] translation update --- lang/fr/settings.php | 1 + 1 file changed, 1 insertion(+) diff --git a/lang/fr/settings.php b/lang/fr/settings.php index 7d11b76..4350307 100644 --- a/lang/fr/settings.php +++ b/lang/fr/settings.php @@ -15,3 +15,4 @@ $lang['header_layout_o_default'] = 'Disposition d\'entête généreuse pour un t $lang['header_layout_o_compact'] = 'Disposition compacte de l\'entête pour un titre court sans descriptif'; $lang['autocollapse'] = 'Replier automatiquement la barre latérale quand on n\'est pas sur une page de wiki pour donner plus de place aux outils.'; $lang['closedwiki'] = 'Ceci est un wiki fermé. Cacher la plupart des fonctionnalités avant que l\'utilisateur ne se connecte.'; +$lang['copyright'] = 'Notice de Copyright. Utilisez les expressions %year% pour l\'année, %title% et %TITLE% pour le titre. Peut contenir de l\'HTML. Vous voudrez probablement désactiver la notice de licence par défaut.'; From 38a9339b8ceee09313b38c378cb3f27e54279ebf Mon Sep 17 00:00:00 2001 From: Anna Dabrowska Date: Mon, 14 Oct 2024 14:37:40 +0200 Subject: [PATCH 32/61] Remove obsolete JavaScript replaces pr #38 --- deleted.files | 5 + js/base/rem.min.js | 7 -- js/base/spc.js | 259 --------------------------------------- js/base/velocity.min.js | 4 - js/direct.js | 8 +- js/legacy/html5shiv.js | 8 -- js/legacy/respond.min.js | 5 - script.js | 4 - 8 files changed, 8 insertions(+), 292 deletions(-) delete mode 100755 js/base/rem.min.js delete mode 100755 js/base/spc.js delete mode 100644 js/base/velocity.min.js delete mode 100755 js/legacy/html5shiv.js delete mode 100755 js/legacy/respond.min.js diff --git a/deleted.files b/deleted.files index 2f33ca0..3a43b3d 100644 --- a/deleted.files +++ b/deleted.files @@ -86,6 +86,11 @@ 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 diff --git a/js/base/rem.min.js b/js/base/rem.min.js deleted file mode 100755 index 7a96d75..0000000 --- a/js/base/rem.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * Module: rem - v1.3.2 - * Description: A polyfill to parse CSS links and rewrite pixel equivalents into head for non supporting browsers - * Date Built: 2014-07-02 - * Copyright (c) 2014 | Chuck Carpenter ,Lucas Serven ; -**/ -!function(e){"use strict";var t=function(){var e=document.createElement("div");return e.style.cssText="font-size: 1rem;",/rem/.test(e.style.fontSize)},n=function(){for(var e=document.getElementsByTagName("link"),t=[],n=0;n0?(v=[],p=[],m=[],r()):i()}},a=function(e,t){for(var n,r=d(e).replace(/\/\*[\s\S]*?\*\//g,""),o=/[\w\d\s\-\/\\\[\]:,.'"*()<>+~%#^$_=|@]+\{[\w\d\s\-\/\\%#:!;,.'"*()]+\d*\.?\d+rem[\w\d\s\-\/\\%#:!;,.'"*()]*\}/g,a=r.match(o),i=/\d*\.?\d+rem/g,s=r.match(i),c=/(.*\/)/,l=c.exec(t)[0],u=/@import (?:url\()?['"]?([^'\)"]*)['"]?\)?[^;]*/gm;null!==(n=u.exec(e));)m.push(0===n[1].indexOf("/")?n[1]:l+n[1]);null!==a&&0!==a.length&&(f=f.concat(a),g=g.concat(s))},i=function(){for(var e=/[\w\d\s\-\/\\%#:,.'"*()]+\d*\.?\d+rem[\w\d\s\-\/\\%#:!,.'"*()]*[;}]/g,t=0;t").text(s).html(); - }, - decode_entities: function(s){ - return $("").html(s).text(); - }, - /* add func to load event */ - add_loadEvent: function(func_name){ - var lastonload = window.onload; - if (typeof window.onload != 'function') { window.onload = func_name; } - else { window.onload = function() { lastonload(); func_name(); }; } - }, - /* logging for debug */ - _debug: function(msg){ - if(this.config.debug) { - try{ - if(console){ - console.log(msg); - } else{ - alert(msg); - } - }catch(err){ - alert(msg); - } - } - }, - /* return obj values for debug */ - _get_objVs: function(objl){ - try{ - var p = typeof JSON != "undefined" ? JSON.stringify : function(objl){ - var arr = []; - $.each(objl,function(key,val){ - var next = key + ": "; - next += $.isPlainObject(val) ? printObj(val) : val; - arr.push( next ); - }); - return "{ " + arr.join(", ") + " }"; - }; - return p(objl); - }catch(err){ - this._debug(err); - return ''; - } - }, - aria_live: function(setobj){ - if(typeof(setobj)=='object'){ - setobj.attr('aria-live',"polite"); - } - }, - aria_role: function(setobj, role){ - if(typeof(setobj)=='object'){ - setobj.attr('role',role); - } - }, - change_tabindex: function(remobj,setobj,i){ - if(typeof(remobj)=='object'){ - remobj.removeAttr('tabindex'); - } - if(typeof(setobj)=='object'){ - setobj.attr('tabindex',i); - } - }, - /* set focus to dom object: param obj */ - set_newfocusObj: function(focusobj){ - try{ - if(focusobj) focusobj.focus(); - }catch(err){ - this._debug('exception: '+err); - } - }, - /* set focus to dom object: param id */ - set_newfocusId: function(fid){ - try{ - var focusobj = document.getElementById(fid); - if(focusobj) focusobj.focus(); - }catch(err){ - this._debug('exception: '+err); - } - }, - /* set focus to nonfocussable dom object: */ - set_newfocusBox: function(remobj,setobj){ - this.change_tabindex(remobj,setobj,0); - try{ - if(setobj) setobj.focus(); - }catch(err){ - this._debug('exception: '+err); - } - }, - /* set title(s) and remove other title(s) if set */ - set_title: function(remobj,setobj,ctitle){ - if(typeof(remobj)=='object'){ - remobj.removeAttr('title'); - } - if(typeof(setobj)=='object'){ - setobj.attr('title',ctitle); - } - }, - /* count appearances of dom elems with certain markup */ - count: function(jqdom){ - var num = 0; - $(jqdom).each(function() { - num++; - }); - return num; - }, - countOV: function(objlit){ - var i = 0; - for (var elem in objlit){ - i++; - } - return i; - }, - /*merge object literals (do not overwrite default, not recursively) */ - merge: function(objl1,objl2,objl3,objl4){ - return $.extend({},objl1,objl2,objl3,objl4); - }, - /*merge object literals (do not overwrite default, recursively) */ - mergeR: function(objl1,objl2,objl3,objl4){ - return $.extend(true,{},objl1,objl2,objl3,objl4); - }, - loadImage: function(isrc, func, errfunc){ - try{ - var img = new Image(); - img.onload = func; - img.onerror = errfunc; - img.src = isrc; - }catch(err){ - errfunc(); - } - }, - tb_getPageSize: function(){ - var de=document.documentElement; - var w=window.innerWidth||self.innerWidth||(de&&de.clientWidth)||document.body.clientWidth; - var h=window.innerHeight||self.innerHeight||(de&&de.clientHeight)||document.body.clientHeight; - arrayPageSize=[w,h]; - return arrayPageSize; - }, - useLocStorage: function(){ - return ('localStorage' in window && window.localStorage !== null); - }, - saveLSI: function(key, data){ - if (this.useLocStorage) { - localStorage.setItem(key, data); - } - }, - removeLSI: function(key){ - if (this.useLocStorage) { - localStorage.removeItem(key); - } - }, - getLSI: function(key){ - if (this.useLocStorage) { - return localStorage.getItem(key); - } - return ''; - - }, - showAllLSI: function() { - if (this.useLocStorage) { - var key = ""; - for (var i=0; i<=localStorage.length-1; i++) { - key = localStorage.key(i); - //console.log(key+': '+localStorage.getItem(key)); - } - } - } -}; - - -// + + + + + + + + + + + + + + + + + + + + + + + + + + + + -// shuffle func for random values -// + + + + + + + + + + + + + + + + + + + + + + + + + + + + -Array.prototype.shuffle = function(){ - var tmp, rand; - for(var i =0; i < this.length; i++){ - rand = Math.floor(Math.random() * this.length); - tmp = this[i]; - this[i] = this[rand]; - this[rand] =tmp; - } -}; - -// + + + + + + + + + + + + + + + + + + + + + + + + + + + + -// js trim func for ie -// + + + + + + + + + + + + + + + + + + + + + + + + + + + + -if(typeof String.prototype.trim !== 'function') { - String.prototype.trim = function() { - return this.replace(/^\s\s*/, '').replace(/\s\s*$/, ''); - }; -} - -/** - * simplify setting and getting state out of a node - * $("#my_id").data("my_data_attr") equals $$("#my_id").my_data_attr and - * $("#my_id").data("my_data_attr", "my_data_val") equals $$("#my_id").my_data_attr = my_data_val - * you can also do - * $$("#my_id").my_data_val = $$("#my_id").my_data_val + 1. - */ -var $$ = function(param) { - var node = $(param)[0]; - var id = $.data(node); - $.cache[id] = $.cache[id] || {}; - $.cache[id].node = node; - return $.cache[id]; -}; -var alertFB = false; -if (typeof console === "undefined" || typeof console.log === "undefined") { - console = {}; - if (alertFB) { - console.log = function(msg) { - alert(msg); - }; - } else { - console.log = function() {}; - } -} - -/** - * custom event handler ‘show’/’hide’ events for using .on() - */ -(function ($) { - $.each(['show', 'hide'], function (i, e) { - var el = $.fn[e]; - $.fn[e] = function () { - this.trigger(e); - return el.apply(this, arguments); - }; - }); -})(jQuery); diff --git a/js/base/velocity.min.js b/js/base/velocity.min.js deleted file mode 100644 index de91ade..0000000 --- a/js/base/velocity.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! VelocityJS.org (1.5.0). (C) 2014 Julian Shapiro. MIT @license: en.wikipedia.org/wiki/MIT_License */ -/*! VelocityJS.org jQuery Shim (1.0.1). (C) 2014 The jQuery Foundation. MIT @license: en.wikipedia.org/wiki/MIT_License. */ -!function(a){"use strict";function b(a){var b=a.length,d=c.type(a);return"function"!==d&&!c.isWindow(a)&&(!(1!==a.nodeType||!b)||("array"===d||0===b||"number"==typeof b&&b>0&&b-1 in a))}if(!a.jQuery){var c=function(a,b){return new c.fn.init(a,b)};c.isWindow=function(a){return a&&a===a.window},c.type=function(a){return a?"object"==typeof a||"function"==typeof a?e[g.call(a)]||"object":typeof a:a+""},c.isArray=Array.isArray||function(a){return"array"===c.type(a)},c.isPlainObject=function(a){var b;if(!a||"object"!==c.type(a)||a.nodeType||c.isWindow(a))return!1;try{if(a.constructor&&!f.call(a,"constructor")&&!f.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(d){return!1}for(b in a);return b===undefined||f.call(a,b)},c.each=function(a,c,d){var e=0,f=a.length,g=b(a);if(d){if(g)for(;e0?e=g:c=g}while(Math.abs(f)>r&&++h=q?k(b,h):0===i?h:m(b,c,c+u)}function o(){y=!0,a===c&&d===e||l()}var p=4,q=.001,r=1e-7,s=10,t=11,u=1/(t-1),v="Float32Array"in b;if(4!==arguments.length)return!1;for(var w=0;w<4;++w)if("number"!=typeof arguments[w]||isNaN(arguments[w])||!isFinite(arguments[w]))return!1;a=Math.min(a,1),d=Math.min(d,1),a=Math.max(a,0),d=Math.max(d,0);var x=v?new Float32Array(t):new Array(t),y=!1,z=function(b){return y||o(),a===c&&d===e?b:0===b?0:1===b?1:i(n(b),c,e)};z.getControlPoints=function(){return[{x:a,y:c},{x:d,y:e}]};var A="generateBezier("+[a,c,d,e]+")";return z.toString=function(){return A},z}function l(a,b){var c=a;return u.isString(a)?y.Easings[a]||(c=!1):c=u.isArray(a)&&1===a.length?j.apply(null,a):u.isArray(a)&&2===a.length?z.apply(null,a.concat([b])):!(!u.isArray(a)||4!==a.length)&&k.apply(null,a),c===!1&&(c=y.Easings[y.defaults.easing]?y.defaults.easing:x),c}function m(a){if(a){var b=y.timestamp&&a!==!0?a:r.now(),c=y.State.calls.length;c>1e4&&(y.State.calls=e(y.State.calls),c=y.State.calls.length);for(var f=0;f4;a--){var b=c.createElement("div");if(b.innerHTML="",b.getElementsByTagName("span").length)return b=null,a}return d}(),q=function(){var a=0;return b.webkitRequestAnimationFrame||b.mozRequestAnimationFrame||function(b){var c,d=(new Date).getTime();return c=Math.max(0,16-(d-a)),a=d+c,setTimeout(function(){b(d+c)},c)}}(),r=function(){var a=b.performance||{};if("function"!=typeof a.now){var c=a.timing&&a.timing.navigationStart?a.timing.navigationStart:(new Date).getTime();a.now=function(){return(new Date).getTime()-c}}return a}(),s=function(){var a=Array.prototype.slice;try{return a.call(c.documentElement),a}catch(b){return function(b,c){var d=this.length;if("number"!=typeof b&&(b=0),"number"!=typeof c&&(c=d),this.slice)return a.call(this,b,c);var e,f=[],g=b>=0?b:Math.max(0,d+b),h=c<0?d+c:Math.min(c,d),i=h-g;if(i>0)if(f=new Array(i),this.charAt)for(e=0;e=0}:function(a,b){for(var c=0;c1e-4&&Math.abs(h.v)>1e-4))break;return f?function(a){return j[a*(j.length-1)|0]}:k}}();y.Easings={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},spring:function(a){return 1-Math.cos(4.5*a*Math.PI)*Math.exp(6*-a)}},o.each([["ease",[.25,.1,.25,1]],["ease-in",[.42,0,1,1]],["ease-out",[0,0,.58,1]],["ease-in-out",[.42,0,.58,1]],["easeInSine",[.47,0,.745,.715]],["easeOutSine",[.39,.575,.565,1]],["easeInOutSine",[.445,.05,.55,.95]],["easeInQuad",[.55,.085,.68,.53]],["easeOutQuad",[.25,.46,.45,.94]],["easeInOutQuad",[.455,.03,.515,.955]],["easeInCubic",[.55,.055,.675,.19]],["easeOutCubic",[.215,.61,.355,1]],["easeInOutCubic",[.645,.045,.355,1]],["easeInQuart",[.895,.03,.685,.22]],["easeOutQuart",[.165,.84,.44,1]],["easeInOutQuart",[.77,0,.175,1]],["easeInQuint",[.755,.05,.855,.06]],["easeOutQuint",[.23,1,.32,1]],["easeInOutQuint",[.86,0,.07,1]],["easeInExpo",[.95,.05,.795,.035]],["easeOutExpo",[.19,1,.22,1]],["easeInOutExpo",[1,0,0,1]],["easeInCirc",[.6,.04,.98,.335]],["easeOutCirc",[.075,.82,.165,1]],["easeInOutCirc",[.785,.135,.15,.86]]],function(a,b){y.Easings[b[0]]=k.apply(null,b[1])});var A=y.CSS={RegEx:{isHex:/^#([A-f\d]{3}){1,2}$/i,valueUnwrap:/^[A-z]+\((.*)\)$/i,wrappedValueAlreadyExtracted:/[0-9.]+ [0-9.]+ [0-9.]+( [0-9.]+)?/,valueSplit:/([A-z]+\(.+\))|(([A-z0-9#-.]+?)(?=\s|$))/gi},Lists:{colors:["fill","stroke","stopColor","color","backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","outlineColor"],transformsBase:["translateX","translateY","scale","scaleX","scaleY","skewX","skewY","rotateZ"],transforms3D:["transformPerspective","translateZ","scaleZ","rotateX","rotateY"],units:["%","em","ex","ch","rem","vw","vh","vmin","vmax","cm","mm","Q","in","pc","pt","px","deg","grad","rad","turn","s","ms"],colorNames:{aliceblue:"240,248,255",antiquewhite:"250,235,215",aquamarine:"127,255,212",aqua:"0,255,255",azure:"240,255,255",beige:"245,245,220",bisque:"255,228,196",black:"0,0,0",blanchedalmond:"255,235,205",blueviolet:"138,43,226",blue:"0,0,255",brown:"165,42,42",burlywood:"222,184,135",cadetblue:"95,158,160",chartreuse:"127,255,0",chocolate:"210,105,30",coral:"255,127,80",cornflowerblue:"100,149,237",cornsilk:"255,248,220",crimson:"220,20,60",cyan:"0,255,255",darkblue:"0,0,139",darkcyan:"0,139,139",darkgoldenrod:"184,134,11",darkgray:"169,169,169",darkgrey:"169,169,169",darkgreen:"0,100,0",darkkhaki:"189,183,107",darkmagenta:"139,0,139",darkolivegreen:"85,107,47",darkorange:"255,140,0",darkorchid:"153,50,204",darkred:"139,0,0",darksalmon:"233,150,122",darkseagreen:"143,188,143",darkslateblue:"72,61,139",darkslategray:"47,79,79",darkturquoise:"0,206,209",darkviolet:"148,0,211",deeppink:"255,20,147",deepskyblue:"0,191,255",dimgray:"105,105,105",dimgrey:"105,105,105",dodgerblue:"30,144,255",firebrick:"178,34,34",floralwhite:"255,250,240",forestgreen:"34,139,34",fuchsia:"255,0,255",gainsboro:"220,220,220",ghostwhite:"248,248,255",gold:"255,215,0",goldenrod:"218,165,32",gray:"128,128,128",grey:"128,128,128",greenyellow:"173,255,47",green:"0,128,0",honeydew:"240,255,240",hotpink:"255,105,180",indianred:"205,92,92",indigo:"75,0,130",ivory:"255,255,240",khaki:"240,230,140",lavenderblush:"255,240,245",lavender:"230,230,250",lawngreen:"124,252,0",lemonchiffon:"255,250,205",lightblue:"173,216,230",lightcoral:"240,128,128",lightcyan:"224,255,255",lightgoldenrodyellow:"250,250,210",lightgray:"211,211,211",lightgrey:"211,211,211",lightgreen:"144,238,144",lightpink:"255,182,193",lightsalmon:"255,160,122",lightseagreen:"32,178,170",lightskyblue:"135,206,250",lightslategray:"119,136,153",lightsteelblue:"176,196,222",lightyellow:"255,255,224",limegreen:"50,205,50",lime:"0,255,0",linen:"250,240,230",magenta:"255,0,255",maroon:"128,0,0",mediumaquamarine:"102,205,170",mediumblue:"0,0,205",mediumorchid:"186,85,211",mediumpurple:"147,112,219",mediumseagreen:"60,179,113",mediumslateblue:"123,104,238",mediumspringgreen:"0,250,154",mediumturquoise:"72,209,204",mediumvioletred:"199,21,133",midnightblue:"25,25,112",mintcream:"245,255,250",mistyrose:"255,228,225",moccasin:"255,228,181",navajowhite:"255,222,173",navy:"0,0,128",oldlace:"253,245,230",olivedrab:"107,142,35",olive:"128,128,0",orangered:"255,69,0",orange:"255,165,0",orchid:"218,112,214",palegoldenrod:"238,232,170",palegreen:"152,251,152",paleturquoise:"175,238,238",palevioletred:"219,112,147",papayawhip:"255,239,213",peachpuff:"255,218,185",peru:"205,133,63",pink:"255,192,203",plum:"221,160,221",powderblue:"176,224,230",purple:"128,0,128",red:"255,0,0",rosybrown:"188,143,143",royalblue:"65,105,225",saddlebrown:"139,69,19",salmon:"250,128,114",sandybrown:"244,164,96",seagreen:"46,139,87",seashell:"255,245,238",sienna:"160,82,45",silver:"192,192,192",skyblue:"135,206,235",slateblue:"106,90,205",slategray:"112,128,144",snow:"255,250,250",springgreen:"0,255,127",steelblue:"70,130,180",tan:"210,180,140",teal:"0,128,128",thistle:"216,191,216",tomato:"255,99,71",turquoise:"64,224,208",violet:"238,130,238",wheat:"245,222,179",whitesmoke:"245,245,245",white:"255,255,255",yellowgreen:"154,205,50",yellow:"255,255,0"}},Hooks:{templates:{textShadow:["Color X Y Blur","black 0px 0px 0px"],boxShadow:["Color X Y Blur Spread","black 0px 0px 0px 0px"],clip:["Top Right Bottom Left","0px 0px 0px 0px"],backgroundPosition:["X Y","0% 0%"],transformOrigin:["X Y Z","50% 50% 0px"],perspectiveOrigin:["X Y","50% 50%"]},registered:{},register:function(){for(var a=0;a=1?"":"alpha(opacity="+parseInt(100*parseFloat(c),10)+")"}else switch(a){case"name":return"opacity";case"extract":return c;case"inject":return c}}},register:function(){function a(a,b,c){if("border-box"===A.getPropertyValue(b,"boxSizing").toString().toLowerCase()===(c||!1)){var d,e,f=0,g="width"===a?["Left","Right"]:["Top","Bottom"],h=["padding"+g[0],"padding"+g[1],"border"+g[0]+"Width","border"+g[1]+"Width"];for(d=0;d9)||y.State.isGingerbread||(A.Lists.transformsBase=A.Lists.transformsBase.concat(A.Lists.transforms3D));for(var c=0;c8)&&3===f.split(" ").length&&(f+=" 1"),f;case"inject":return/^rgb/.test(e)?e:(p<=8?4===e.split(" ").length&&(e=e.split(/\s+/).slice(0,3).join(" ")):3===e.split(" ").length&&(e+=" 1"),(p<=8?"rgb":"rgba")+"("+e.replace(/\s+/g,",").replace(/\.(\d)+(?=,)/g,"")+")")}}}();A.Normalizations.registered.innerWidth=b("width",!0),A.Normalizations.registered.innerHeight=b("height",!0),A.Normalizations.registered.outerWidth=b("width"),A.Normalizations.registered.outerHeight=b("height")}},Names:{camelCase:function(a){return a.replace(/-(\w)/g,function(a,b){return b.toUpperCase()})},SVGAttribute:function(a){var b="width|height|x|y|cx|cy|r|rx|ry|x1|x2|y1|y2";return(p||y.State.isAndroid&&!y.State.isChrome)&&(b+="|transform"),new RegExp("^("+b+")$","i").test(a)},prefixCheck:function(a){if(y.State.prefixMatches[a])return[y.State.prefixMatches[a],!0];for(var b=["","Webkit","Moz","ms","O"],c=0,d=b.length;c=2&&console.log("Get "+c+": "+i),i},setPropertyValue:function(a,c,d,e,f){var h=c;if("scroll"===c)f.container?f.container["scroll"+f.direction]=d:"Left"===f.direction?b.scrollTo(d,f.alternateValue):b.scrollTo(f.alternateValue,d);else if(A.Normalizations.registered[c]&&"transform"===A.Normalizations.registered[c]("name",a))A.Normalizations.registered[c]("inject",a,d),h="transform",d=g(a).transformCache[c];else{if(A.Hooks.registered[c]){var i=c,j=A.Hooks.getRoot(c);e=e||A.getPropertyValue(a,j),d=A.Hooks.injectValue(i,d,e),c=j}if(A.Normalizations.registered[c]&&(d=A.Normalizations.registered[c]("inject",a,d),c=A.Normalizations.registered[c]("name",a)),h=A.Names.prefixCheck(c)[0],p<=8)try{a.style[h]=d}catch(l){y.debug&&console.log("Browser does not support ["+d+"] for ["+h+"]")}else{var k=g(a);k&&k.isSVG&&A.Names.SVGAttribute(c)?a.setAttribute(c,d):a.style[h]=d}y.debug>=2&&console.log("Set "+c+" ("+h+"): "+d)}return[h,d]},flushTransformCache:function(a){var b="",c=g(a);if((p||y.State.isAndroid&&!y.State.isChrome)&&c&&c.isSVG){var d=function(b){return parseFloat(A.getPropertyValue(a,b))},e={translate:[d("translateX"),d("translateY")],skewX:[d("skewX")],skewY:[d("skewY")],scale:1!==d("scale")?[d("scale"),d("scale")]:[d("scaleX"),d("scaleY")],rotate:[d("rotateZ"),0,0]};o.each(g(a).transformCache,function(a){/^translate/i.test(a)?a="translate":/^scale/i.test(a)?a="scale":/^rotate/i.test(a)&&(a="rotate"),e[a]&&(b+=a+"("+e[a].join(" ")+") ",delete e[a])})}else{var f,h;o.each(g(a).transformCache,function(c){if(f=g(a).transformCache[c],"transformPerspective"===c)return h=f,!0;9===p&&"rotateZ"===c&&(c="rotate"),b+=c+f+" "}),h&&(b="perspective"+h+" "+b)}A.setPropertyValue(a,"transform",b)}};A.Hooks.register(),A.Normalizations.register(),y.hook=function(a,b,c){var e;return a=f(a),o.each(a,function(a,f){if(g(f)===d&&y.init(f),c===d)e===d&&(e=A.getPropertyValue(f,b));else{var h=A.setPropertyValue(f,b,c);"transform"===h[0]&&y.CSS.flushTransformCache(f),e=h}}),e};var B=function(){function a(){return k?z.promise||null:p}function e(a,e){function f(f){var k,n;if(i.begin&&0===D)try{i.begin.call(r,r)}catch(V){setTimeout(function(){throw V},1)}if("scroll"===G){var p,q,w,x=/^x$/i.test(i.axis)?"Left":"Top",B=parseFloat(i.offset)||0;i.container?u.isWrapped(i.container)||u.isNode(i.container)?(i.container=i.container[0]||i.container,p=i.container["scroll"+x],w=p+o(a).position()[x.toLowerCase()]+B):i.container=null:(p=y.State.scrollAnchor[y.State["scrollProperty"+x]],q=y.State.scrollAnchor[y.State["scrollProperty"+("Left"===x?"Top":"Left")]],w=o(a).offset()[x.toLowerCase()]+B),j={scroll:{rootPropertyValue:!1,startValue:p,currentValue:p,endValue:w,unitType:"",easing:i.easing,scrollData:{container:i.container,direction:x,alternateValue:q}},element:a},y.debug&&console.log("tweensContainer (scroll): ",j.scroll,a)}else if("reverse"===G){if(!(k=g(a)))return;if(!k.tweensContainer)return void o.dequeue(a,i.queue);"none"===k.opts.display&&(k.opts.display="auto"),"hidden"===k.opts.visibility&&(k.opts.visibility="visible"),k.opts.loop=!1,k.opts.begin=null,k.opts.complete=null,v.easing||delete i.easing,v.duration||delete i.duration,i=o.extend({},k.opts,i),n=o.extend(!0,{},k?k.tweensContainer:null);for(var E in n)if(n.hasOwnProperty(E)&&"element"!==E){var F=n[E].startValue;n[E].startValue=n[E].currentValue=n[E].endValue,n[E].endValue=F,u.isEmptyObject(v)||(n[E].easing=i.easing),y.debug&&console.log("reverse tweensContainer ("+E+"): "+JSON.stringify(n[E]),a)}j=n}else if("start"===G){k=g(a),k&&k.tweensContainer&&k.isAnimating===!0&&(n=k.tweensContainer);var H=function(e,f){var g,l=A.Hooks.getRoot(e),m=!1,p=f[0],q=f[1],r=f[2] -;if(!(k&&k.isSVG||"tween"===l||A.Names.prefixCheck(l)[1]!==!1||A.Normalizations.registered[l]!==d))return void(y.debug&&console.log("Skipping ["+l+"] due to a lack of browser support."));(i.display!==d&&null!==i.display&&"none"!==i.display||i.visibility!==d&&"hidden"!==i.visibility)&&/opacity|filter/.test(e)&&!r&&0!==p&&(r=0),i._cacheValues&&n&&n[e]?(r===d&&(r=n[e].endValue+n[e].unitType),m=k.rootPropertyValueCache[l]):A.Hooks.registered[e]?r===d?(m=A.getPropertyValue(a,l),r=A.getPropertyValue(a,e,m)):m=A.Hooks.templates[l][1]:r===d&&(r=A.getPropertyValue(a,e));var s,t,v,w=!1,x=function(a,b){var c,d;return d=(b||"0").toString().toLowerCase().replace(/[%A-z]+$/,function(a){return c=a,""}),c||(c=A.Values.getUnitType(a)),[d,c]};if(r!==p&&u.isString(r)&&u.isString(p)){g="";var z=0,B=0,C=[],D=[],E=0,F=0,G=0;for(r=A.Hooks.fixColors(r),p=A.Hooks.fixColors(p);z=4&&"("===H?E++:(E&&E<5||E>=4&&")"===H&&--E<5)&&(E=0),0===F&&"r"===H||1===F&&"g"===H||2===F&&"b"===H||3===F&&"a"===H||F>=3&&"("===H?(3===F&&"a"===H&&(G=1),F++):G&&","===H?++G>3&&(F=G=0):(G&&F<(G?5:4)||F>=(G?4:3)&&")"===H&&--F<(G?5:4))&&(F=G=0)}}z===r.length&&B===p.length||(y.debug&&console.error('Trying to pattern match mis-matched strings ["'+p+'", "'+r+'"]'),g=d),g&&(C.length?(y.debug&&console.log('Pattern found "'+g+'" -> ',C,D,"["+r+","+p+"]"),r=C,p=D,t=v=""):g=d)}g||(s=x(e,r),r=s[0],v=s[1],s=x(e,p),p=s[0].replace(/^([+-\/*])=/,function(a,b){return w=b,""}),t=s[1],r=parseFloat(r)||0,p=parseFloat(p)||0,"%"===t&&(/^(fontSize|lineHeight)$/.test(e)?(p/=100,t="em"):/^scale/.test(e)?(p/=100,t=""):/(Red|Green|Blue)$/i.test(e)&&(p=p/100*255,t="")));if(/[\/*]/.test(w))t=v;else if(v!==t&&0!==r)if(0===p)t=v;else{h=h||function(){var d={myParent:a.parentNode||c.body,position:A.getPropertyValue(a,"position"),fontSize:A.getPropertyValue(a,"fontSize")},e=d.position===M.lastPosition&&d.myParent===M.lastParent,f=d.fontSize===M.lastFontSize;M.lastParent=d.myParent,M.lastPosition=d.position,M.lastFontSize=d.fontSize;var g={};if(f&&e)g.emToPx=M.lastEmToPx,g.percentToPxWidth=M.lastPercentToPxWidth,g.percentToPxHeight=M.lastPercentToPxHeight;else{var h=k&&k.isSVG?c.createElementNS("http://www.w3.org/2000/svg","rect"):c.createElement("div");y.init(h),d.myParent.appendChild(h),o.each(["overflow","overflowX","overflowY"],function(a,b){y.CSS.setPropertyValue(h,b,"hidden")}),y.CSS.setPropertyValue(h,"position",d.position),y.CSS.setPropertyValue(h,"fontSize",d.fontSize),y.CSS.setPropertyValue(h,"boxSizing","content-box"),o.each(["minWidth","maxWidth","width","minHeight","maxHeight","height"],function(a,b){y.CSS.setPropertyValue(h,b,"100%")}),y.CSS.setPropertyValue(h,"paddingLeft","100em"),g.percentToPxWidth=M.lastPercentToPxWidth=(parseFloat(A.getPropertyValue(h,"width",null,!0))||1)/100,g.percentToPxHeight=M.lastPercentToPxHeight=(parseFloat(A.getPropertyValue(h,"height",null,!0))||1)/100,g.emToPx=M.lastEmToPx=(parseFloat(A.getPropertyValue(h,"paddingLeft"))||1)/100,d.myParent.removeChild(h)}return null===M.remToPx&&(M.remToPx=parseFloat(A.getPropertyValue(c.body,"fontSize"))||16),null===M.vwToPx&&(M.vwToPx=parseFloat(b.innerWidth)/100,M.vhToPx=parseFloat(b.innerHeight)/100),g.remToPx=M.remToPx,g.vwToPx=M.vwToPx,g.vhToPx=M.vhToPx,y.debug>=1&&console.log("Unit ratios: "+JSON.stringify(g),a),g}();var S=/margin|padding|left|right|width|text|word|letter/i.test(e)||/X$/.test(e)||"x"===e?"x":"y";switch(v){case"%":r*="x"===S?h.percentToPxWidth:h.percentToPxHeight;break;case"px":break;default:r*=h[v+"ToPx"]}switch(t){case"%":r*=1/("x"===S?h.percentToPxWidth:h.percentToPxHeight);break;case"px":break;default:r*=1/h[t+"ToPx"]}}switch(w){case"+":p=r+p;break;case"-":p=r-p;break;case"*":p*=r;break;case"/":p=r/p}j[e]={rootPropertyValue:m,startValue:r,currentValue:r,endValue:p,unitType:t,easing:q},g&&(j[e].pattern=g),y.debug&&console.log("tweensContainer ("+e+"): "+JSON.stringify(j[e]),a)};for(var I in s)if(s.hasOwnProperty(I)){var J=A.Names.camelCase(I),K=function(b,c){var d,f,g;return u.isFunction(b)&&(b=b.call(a,e,C)),u.isArray(b)?(d=b[0],!u.isArray(b[1])&&/^[\d-]/.test(b[1])||u.isFunction(b[1])||A.RegEx.isHex.test(b[1])?g=b[1]:u.isString(b[1])&&!A.RegEx.isHex.test(b[1])&&y.Easings[b[1]]||u.isArray(b[1])?(f=c?b[1]:l(b[1],i.duration),g=b[2]):g=b[1]||b[2]):d=b,c||(f=f||i.easing),u.isFunction(d)&&(d=d.call(a,e,C)),u.isFunction(g)&&(g=g.call(a,e,C)),[d||0,f,g]}(s[I]);if(t(A.Lists.colors,J)){var L=K[0],O=K[1],P=K[2];if(A.RegEx.isHex.test(L)){for(var Q=["Red","Green","Blue"],R=A.Values.hexToRgb(L),S=P?A.Values.hexToRgb(P):d,T=0;Tarticle,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}"; -c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode|| -"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:"3.7.0",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f); -if(g)return a.createDocumentFragment();for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d #mq-test-1 { width: 42px; }',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){u(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))};if(c.ajax=f,c.queue=d,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\([\s]*min\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/,maxw:/\([\s]*max\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var g,h,i,j=a.document,k=j.documentElement,l=[],m=[],n=[],o={},p=30,q=j.getElementsByTagName("head")[0]||k,r=j.getElementsByTagName("base")[0],s=q.getElementsByTagName("link"),t=function(){var a,b=j.createElement("div"),c=j.body,d=k.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=j.createElement("body"),c.style.background="none"),k.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&k.insertBefore(c,k.firstChild),a=b.offsetWidth,f?k.removeChild(c):c.removeChild(b),k.style.fontSize=d,e&&(c.style.fontSize=e),a=i=parseFloat(a)},u=function(b){var c="clientWidth",d=k[c],e="CSS1Compat"===j.compatMode&&d||j.body[c]||d,f={},o=s[s.length-1],r=(new Date).getTime();if(b&&g&&p>r-g)return a.clearTimeout(h),h=a.setTimeout(u,p),void 0;g=r;for(var v in l)if(l.hasOwnProperty(v)){var w=l[v],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?i||t():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?i||t():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(m[w.rules]))}for(var C in n)n.hasOwnProperty(C)&&n[C]&&n[C].parentNode===q&&q.removeChild(n[C]);n.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=j.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,q.insertBefore(E,o.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(j.createTextNode(F)),n.push(E)}},v=function(a,b,d){var e=a.replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var g=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},h=!f&&d;b.length&&(b+="/"),h&&(f=1);for(var i=0;f>i;i++){var j,k,n,o;h?(j=d,m.push(g(a))):(j=e[i].match(c.regex.findStyles)&&RegExp.$1,m.push(RegExp.$2&&g(RegExp.$2))),n=j.split(","),o=n.length;for(var p=0;o>p;p++)k=n[p],l.push({media:k.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:m.length-1,hasquery:k.indexOf("(")>-1,minw:k.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:k.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},w=function(){if(d.length){var b=d.shift();f(b.href,function(c){v(c,b.href,b.media),o[b.href]=!0,a.setTimeout(function(){w()},0)})}},x=function(){for(var b=0;b Date: Mon, 14 Oct 2024 23:52:26 +0200 Subject: [PATCH 33/61] Version upped --- template.info.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template.info.txt b/template.info.txt index f355651..fd40cd9 100755 --- a/template.info.txt +++ b/template.info.txt @@ -1,7 +1,7 @@ base sprintdoc author Jana Deutschlaender email dokuwiki@cosmocode.de -date 2024-03-30 +date 2024-10-14 name sprintDoc Template desc modern, responsive template that integrates multiple plugins url https://www.dokuwiki.org/template:sprintdoc From 9402a254c6f423ee8c25709ed36bf5322ee855e7 Mon Sep 17 00:00:00 2001 From: kritzl Date: Sat, 15 Feb 2025 03:32:26 +0100 Subject: [PATCH 34/61] WIP style adjustments to match eh22 styleguide --- css/area_content.less | 21 +- css/area_footer.less | 14 +- css/area_forms.less | 9 +- css/area_header.less | 19 +- css/area_main-content.less | 2 +- css/area_main-sidebar-nav.less | 143 +++++---- css/area_main-sidebar-tabs.less | 2 +- css/area_nav-breadcrumb.less | 12 +- css/area_nav-metabox.less | 22 +- css/area_nav-pagetools.less | 6 +- css/area_nav-usertools.less | 6 +- css/area_recent.less | 8 +- css/area_tabs.less | 12 +- css/base.less | 283 +++++++++++++++++- css/base_design.less | 39 ++- css/plugins/configmanager.less | 22 +- css/plugins/data.less | 4 +- css/plugins/do_tasks.less | 4 +- css/plugins/edit.less | 16 +- css/plugins/edittable.less | 4 +- css/plugins/magic-matcher.less | 2 +- css/plugins/mediamanager.less | 26 ++ css/plugins/struct.less | 2 +- css/plugins/tabinclude.less | 4 +- css/plugins/tablelayout.less | 2 +- css/plugins/translation.less | 5 + css/template_admin.less | 6 +- css/template_detail.less | 2 +- fonts/argonglow/ArgonGlow-Bold.woff2 | Bin 0 -> 12524 bytes fonts/argonglow/ArgonGlow-ExtraLight.woff2 | Bin 0 -> 10912 bytes fonts/argonglow/ArgonGlow-Light.woff2 | Bin 0 -> 11144 bytes fonts/argonglow/ArgonGlow-Medium.woff2 | Bin 0 -> 11868 bytes fonts/argonglow/ArgonGlow-Regular.woff2 | Bin 0 -> 11260 bytes fonts/argonglow/ArgonGlow-SemiBold.woff2 | Bin 0 -> 12636 bytes fonts/argonglow/ArgonGlow-Thin.woff2 | Bin 0 -> 10524 bytes fonts/argonglow/ArgonGlow-VariableVF.woff2 | Bin 0 -> 16592 bytes fonts/argonglow/OFL | 96 ++++++ fonts/athiti/Athiti-Bold.woff2 | Bin 0 -> 11356 bytes fonts/athiti/Athiti-ExtraLight.woff2 | Bin 0 -> 11376 bytes fonts/athiti/Athiti-Light.woff2 | Bin 0 -> 11748 bytes fonts/athiti/Athiti-Medium.woff2 | Bin 0 -> 11288 bytes fonts/athiti/Athiti-Regular.woff2 | Bin 0 -> 11812 bytes fonts/athiti/Athiti-SemiBold.woff2 | Bin 0 -> 11788 bytes fonts/athiti/OFL | 93 ++++++ .../departuremono/DepartureMono-Regular.woff2 | Bin 0 -> 17428 bytes fonts/departuremono/LICENSE | 93 ++++++ img/hackertours.svg | 18 ++ img/hare_head.svg | 15 + img/location.svg | 18 ++ img/lock.svg | 18 ++ img/network.svg | 18 ++ img/pencil.svg | 19 +- img/plate_and_cutlery.svg | 18 ++ img/schedule.svg | 18 ++ img/train.svg | 41 +++ main.php | 36 +-- 56 files changed, 966 insertions(+), 232 deletions(-) create mode 100644 fonts/argonglow/ArgonGlow-Bold.woff2 create mode 100644 fonts/argonglow/ArgonGlow-ExtraLight.woff2 create mode 100644 fonts/argonglow/ArgonGlow-Light.woff2 create mode 100644 fonts/argonglow/ArgonGlow-Medium.woff2 create mode 100644 fonts/argonglow/ArgonGlow-Regular.woff2 create mode 100644 fonts/argonglow/ArgonGlow-SemiBold.woff2 create mode 100644 fonts/argonglow/ArgonGlow-Thin.woff2 create mode 100644 fonts/argonglow/ArgonGlow-VariableVF.woff2 create mode 100644 fonts/argonglow/OFL create mode 100644 fonts/athiti/Athiti-Bold.woff2 create mode 100644 fonts/athiti/Athiti-ExtraLight.woff2 create mode 100644 fonts/athiti/Athiti-Light.woff2 create mode 100644 fonts/athiti/Athiti-Medium.woff2 create mode 100644 fonts/athiti/Athiti-Regular.woff2 create mode 100644 fonts/athiti/Athiti-SemiBold.woff2 create mode 100644 fonts/athiti/OFL create mode 100644 fonts/departuremono/DepartureMono-Regular.woff2 create mode 100644 fonts/departuremono/LICENSE create mode 100644 img/hackertours.svg create mode 100644 img/hare_head.svg create mode 100644 img/location.svg create mode 100644 img/lock.svg create mode 100644 img/network.svg create mode 100644 img/plate_and_cutlery.svg create mode 100644 img/schedule.svg create mode 100644 img/train.svg diff --git a/css/area_content.less b/css/area_content.less index 0390921..155b657 100755 --- a/css/area_content.less +++ b/css/area_content.less @@ -4,23 +4,13 @@ .content .row { > .col-xs-12 { - box-shadow: @box-shadow; + + background-color: var(--color-background); + #dokuwiki__content { position: relative; - &::before { - content: ''; - position: absolute; - top: 0; - left: 0; - height: @page-header_height; - box-sizing: border-box; - width: 100%; - background-color: @ini_background_page_header; - border-bottom: 1px solid @ini_border_light; - } - .page-content { padding-top: @page-header_height; @@ -31,6 +21,11 @@ } } } + @media @screen_min-md { + > .col-xs-12 { + border-left: dashed 0.25em var(--color-shade-4); + } + } } .main-content > .level2, diff --git a/css/area_footer.less b/css/area_footer.less index bc11b5a..7e103bd 100755 --- a/css/area_footer.less +++ b/css/area_footer.less @@ -7,10 +7,10 @@ @media screen { .page-footer { min-height: @page-header_height; - background-color: @ini_background_page_header; - border-top: 1px solid @ini_border_light; + 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: @ini_background_page_footer; + color: var(--color-shade-4); font-size: @font-size-default; text-align: right; padding: @margin-small @margin-default; @@ -35,20 +35,16 @@ .main-footer { position: relative; box-sizing: border-box; - background-color: @ini_background_site; + background-color: var(--color-background); margin-top: 5px; // for box-shadow of content text-align: center; } p { - color: @ini_text_webframe; + color: var(--color-shade-4); font-size: @font-size-default; margin: 0; } - - a { - color: @ini_nav_menu_color; - } } } diff --git a/css/area_forms.less b/css/area_forms.less index 9efaee0..5322d9e 100644 --- a/css/area_forms.less +++ b/css/area_forms.less @@ -59,8 +59,8 @@ meter, progress { font: inherit; font-weight: normal; - color: #333; - background-color: #fff; + color: var(--color-foreground); + background-color: var(--color-background); line-height: normal; margin: 0; vertical-align: middle; @@ -90,8 +90,7 @@ textarea, select, keygen { min-height: @formfield_min-height; - border: 1px solid @ini_border; - box-shadow: inset 0 0 1px #eee; + border: 1px solid var(--color-shade-4); border-radius: @fix_border-radius; padding-left: .3rem; padding-right: .3rem; @@ -118,7 +117,7 @@ select:active, select:focus, keygen:active, keygen:focus { - border-color: #999; + border-color: var(--color-shade-4); } input[type="file"] { diff --git a/css/area_header.less b/css/area_header.less index 50588a8..b041641 100755 --- a/css/area_header.less +++ b/css/area_header.less @@ -13,20 +13,19 @@ @media @screen_min-md { .logo { padding: 1rem 0 .3rem; + text-align: center; img { - height: 4.6rem; + height: 200px; width: auto; - border-style: solid; - border-color: transparent; - border-width: 2px 0; + transition: transform 200ms ease-in-out; } a:hover, a:focus, a:active { img { - border-width: 0; + transform: scale(1.05); } } } @@ -34,7 +33,13 @@ @media @screen_max-md { .logo { - display: table-cell; + //display: table-cell; + text-align: center; + width: 100%; + + img { + max-height: 200px; + } .mobile-only { margin: .8rem 1rem .6rem 0; @@ -85,7 +90,7 @@ /* + + + wiki title + + + */ p.title { - background-color: @ini_background_site; + background-color: var(--color-background); opacity: @header-font-opacity; color: @ini_text_webframe; line-height: @line-height-default; diff --git a/css/area_main-content.less b/css/area_main-content.less index ccd1ccc..6058c8c 100755 --- a/css/area_main-content.less +++ b/css/area_main-content.less @@ -6,7 +6,7 @@ div[class^="level"] { p a.media { img { - border: 1px dotted @ini_background_site; + border: 1px dotted var(--color-background); } &:hover, diff --git a/css/area_main-sidebar-nav.less b/css/area_main-sidebar-nav.less index 2006df4..1cf4b8d 100755 --- a/css/area_main-sidebar-nav.less +++ b/css/area_main-sidebar-nav.less @@ -19,6 +19,10 @@ } nav { + display: flex; + flex-direction: column; + gap: 0.75rem; + &.nav-main { margin-bottom: @nav-margin; } @@ -59,6 +63,7 @@ /* + + + + + active + + + + + */ + span.curid { font-weight: bold; } @@ -78,26 +83,32 @@ } /* + + + the wrapper around the toggle to reserve space + + + */ + div.nav { min-height: @icon-size + @margin-small; - border: 1px solid transparent; + background-color: var(--color-background); + border-radius: 0.5rem; // the toggle element a { + 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: table; width: 100%; - min-height: @icon-size + @margin-small; opacity: 1; - border: 1px solid transparent; - border-radius: @fix_border-radius; - color: @ini_nav_menu_color; - font-size: @font-size-head6; font-weight: normal; margin: -1px 0 @very-small-spacing; - padding-bottom: .4rem; - padding-top: .4rem; - transition: @transition color, @transition background-color, @transition border-color; + padding: 0.4rem 0.1rem; span { display: inline-block; @@ -105,19 +116,51 @@ color: inherit; } - &:hover, - &:focus, - &:active { - position: relative; // always show label, even with collapsed sidebar - width: 100%; - background-color: @ini_nav_menu_hover_bg; - border-color: @ini_nav_menu_hover_color; - color: @ini_nav_menu_hover_color; - text-decoration: none; + /* + + + 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: @ini_nav_menu_hover_color; + 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 { + + width: 100%; + background-color: transparent; + border: solid 0.1em var(--color-white); + text-decoration: none; + color: var(--color-white); + --local-primary: var(--color-primary); + filter: @dropshadow; + transition: @neonflicker; + + + span.ico { + &:after { + background-color: currentColor; } strong { @@ -126,63 +169,12 @@ svg { path { - fill: @ini_nav_menu_hover_color; + fill: currentColor; } } } } - /* + + + submenu entry is active + + + */ - &.is-active { - font-weight: bold; - } - - /* + + + toggle: open + + + */ - &.is-open { - background-color: @ini_nav_menu_hover_color; - border-color: @ini_nav_menu_hover_color; - color: @ini_nav_menu_hover_bg; - - span.ico { - &:after { - background-color: @ini_nav_menu_hover_bg; - } - - strong { - border-color: @ini_nav_menu_hover_bg; - } - - svg { - path { - fill: @ini_nav_menu_hover_bg; - } - } - } - - &:hover, - &:focus, - &:active { - background-color: @ini_nav_menu_hover_bg; - border-color: @ini_nav_menu_hover_color; - color: @ini_nav_menu_hover_color; - - span.ico { - &:after { - background-color: @ini_nav_menu_hover_color; - } - - strong { - border-color: inherit; - } - - svg { - path { - fill: @ini_nav_menu_hover_color; - } - } - } - } - } } span.ico { @@ -205,7 +197,7 @@ bottom: auto; height: @border-height; width: 1px; - background-color: @ini_nav_menu_color; + background-color: currentColor; margin-top: -(@border-height / 2); // wordbreak too late in IE 10 @@ -222,7 +214,7 @@ display: inline-block; width: @icon-size * 0.98; height: @icon-size * 0.98; - border: 2px solid fade(@ini_nav_menu_color, 80%); + border: 2px solid currentColor; border-top-right-radius: 50%; border-bottom-left-radius: 50%; color: inherit; @@ -240,7 +232,7 @@ height: @icon-size; path { - fill: @ini_nav_menu_color; + fill: currentColor; transition: @transition all; } } @@ -254,6 +246,7 @@ } /* + + + + + the panel (hidden by default) + + + + + */ + div.nav-panel { display: none; margin-top: .5rem; @@ -328,7 +321,7 @@ min-width: 45%; max-width: 90%; height: auto; - background: @ini_background_site; + background: var(--color-background); > nav { position: relative; diff --git a/css/area_main-sidebar-tabs.less b/css/area_main-sidebar-tabs.less index 399e601..f2fdefd 100644 --- a/css/area_main-sidebar-tabs.less +++ b/css/area_main-sidebar-tabs.less @@ -21,7 +21,7 @@ border-top-left-radius: @fix_border-radius; &.active { - border-bottom: 1px solid @ini_background_site; + border-bottom: 1px solid var(--color-background); font-weight: bold; } } diff --git a/css/area_nav-breadcrumb.less b/css/area_nav-breadcrumb.less index 7c7ac0c..2e53a15 100755 --- a/css/area_nav-breadcrumb.less +++ b/css/area_nav-breadcrumb.less @@ -6,23 +6,15 @@ position: relative; min-height: @page-header_height; box-sizing: border-box; - background-color: @ini_background; - border-bottom: 1px solid @ini_border_light; + background-color: var(--color-background); + border-bottom: 1px solid var(--color-shade-4); padding: 1rem 1.8rem .2rem; - @media @screen_max-md { - background-color: @ini_background_page_header; - } - @media @screen_max-xs { padding-left: @margin-small; padding-right: .75rem; } - @media @screen_xs-lg { - background-color: @ini_background; - } - > p { font-size: @font-size-small; margin: 0; diff --git a/css/area_nav-metabox.less b/css/area_nav-metabox.less index fbc1c48..ae9c45d 100755 --- a/css/area_nav-metabox.less +++ b/css/area_nav-metabox.less @@ -36,7 +36,7 @@ top: 0; ul.meta-tabs > li > a { - border-top-color: @ini_background_site; + border-top-color: var(--color-background); border-bottom-color: @noopentasks-border; border-radius: 0 0 @ini_default_border_radius @ini_default_border_radius; @@ -118,9 +118,9 @@ transition: @transition background-color, @transition border-color, @transition color; @media @screen_min-md { - background-color: @ini_background_site; + background-color: var(--color-background); border: 1px solid @noopentasks-border; - border-bottom-color: @ini_background_site; + border-bottom-color: var(--color-background); border-radius: @ini_default_border_radius @ini_default_border_radius 0 0; // @ini_default_border_radius vs. @fix_border-radius color: @ini_nav_menu_color; margin-left: 4px; @@ -128,7 +128,7 @@ } @media @screen_max-md { - background-color: @ini_background; + background-color: var(--color-background); top: 0; border: 1px solid @ini_existing; color: @ini_existing; @@ -155,15 +155,15 @@ text-decoration: none; @media @screen_min-md { - background-color: @ini_background; + background-color: var(--color-background); border-color: @ini_existing; color: @ini_existing; } @media @screen_max-md { background-color: @ini_existing; - border-color: @ini_background; - color: @ini_background; + border-color: var(--color-background); + color: var(--color-background); } } } @@ -171,16 +171,16 @@ &.active { > a { cursor: default; - background-color: @ini_background; + background-color: var(--color-background); border-color: @ini_existing; - border-bottom-color: @ini_background; + border-bottom-color: var(--color-background); color: @ini_existing; @media @screen_max-md { background-color: @ini_existing; border-bottom-color: @ini_existing; border-radius: 0; - color: @ini_background; + color: var(--color-background); } } } @@ -202,7 +202,7 @@ right: 0; display: none; width: 100%; - background-color: @ini_background; + background-color: var(--color-background); border: 1px solid @ini_existing; @media @screen_min-xs { diff --git a/css/area_nav-pagetools.less b/css/area_nav-pagetools.less index 58df991..e108fa9 100755 --- a/css/area_nav-pagetools.less +++ b/css/area_nav-pagetools.less @@ -102,7 +102,7 @@ nav#dokuwiki__pagetools { &:focus { box-shadow: @box-shadow; background-image: none; - background-color: @ini_background; + background-color: var(--color-background); color: @ini_existing; span { @@ -151,7 +151,7 @@ nav#dokuwiki__pagetools { &:hover { ul { box-shadow: @box-shadow; // @box-shadow-offset; - background-color: @ini_background; + background-color: var(--color-background); border-color: @wikiicons-border; li { @@ -176,7 +176,7 @@ nav#dokuwiki__pagetools { svg { background-color: @ini_existing; border-color: @ini_existing; - fill: @ini_background; + fill: var(--color-background); } } diff --git a/css/area_nav-usertools.less b/css/area_nav-usertools.less index fdba9c3..981be58 100755 --- a/css/area_nav-usertools.less +++ b/css/area_nav-usertools.less @@ -76,7 +76,7 @@ &.user { position: relative; display: table-cell; - background-color: @ini_background_site; + background-color: var(--color-background); border: solid 1px @wikiicons-border; border-radius: @ini_default_border_radius; // @ini_default_border_radius vs. @fix_border-radius color: @ini_text_webframe; @@ -301,7 +301,7 @@ overflow: hidden; li.user { - color: @ini_background_site; + color: var(--color-background); bdi { position: absolute; @@ -311,7 +311,7 @@ &:before { transition: @transition background-color; - background-color: @ini_background_site; + background-color: var(--color-background); color: @ini_nav_menu_color; text-indent: 0; } diff --git a/css/area_recent.less b/css/area_recent.less index 78e97dd..174ef31 100644 --- a/css/area_recent.less +++ b/css/area_recent.less @@ -67,8 +67,8 @@ .diffnav { a { - background-color: @ini_background_site; - border: solid 1px @ini_background_site; + background-color: var(--color-background); + border: solid 1px var(--color-background); border-radius: @ini_default_border_radius; color: @ini_nav_menu_color; transition: @transition background-color, @transition color, @transition border-color; @@ -84,7 +84,7 @@ &:active { background-color: @ini_nav_menu_color; border: solid 1px @ini_nav_menu_color; - color: @ini_background_site; + color: var(--color-background); &::before { background-color: inherit; @@ -110,7 +110,7 @@ } th { - background-color: @ini_background; + background-color: var(--color-background); color: @ini_text; padding-top: 10px; padding-bottom: 10px; diff --git a/css/area_tabs.less b/css/area_tabs.less index 0912399..8b98f02 100644 --- a/css/area_tabs.less +++ b/css/area_tabs.less @@ -8,14 +8,22 @@ li:not([class~="active"]) { strong, a { - color: @ini_text_neu; 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: @ini_text; + color: var(--color-accent-3); } } } diff --git a/css/base.less b/css/base.less index 752d451..7d86b7f 100755 --- a/css/base.less +++ b/css/base.less @@ -5,10 +5,10 @@ /* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ /* global vars */ /* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ -@font_family_screen: arial, sans-serif; -@font_family_print: "Times New Roman", serif; +@font_family_screen: "Athiti", ui-sans, sans-serif; +@font_family_print: "Athiti", ui-sans, sans-serif; -@nav_direct_background: @ini_background; +@nav_direct_background: var(--color-background); @nav_direct_color: @ini_existing; @background_darker: rgba(230,230,230, .2); @@ -36,7 +36,7 @@ @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 +@fix_border-radius: 0.5rem; // inputs, editbox (textarea), buttons, content, code, quicksearch, msg @toggle-showsidebar_width: 3.47rem; // shown sidebar after toggle @@ -66,7 +66,7 @@ /* 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 +@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%); @@ -170,6 +170,100 @@ +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* 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 */ /* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ @@ -288,11 +382,186 @@ nav > ul { } } +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* variables */ +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ + +@dropshadow: drop-shadow(0 0 0.0625em var(--color-white)) drop-shadow(0 0 0.125em var(--local-primary)) drop-shadow(0 0 0.25em var(--local-primary)); +@neonflicker: filter 150ms cubic-bezier(0,1.7,1,-0.3) 50ms, +border-color 150ms cubic-bezier(0,1.7,1,-0.3) 50ms; + +: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-primary: var(--color-argon-400); + --color-dark-secondary: var(--color-krypton-300); + --color-dark-error: var(--color-red-500); + --color-dark-success: var(--color-green-500); + --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-primary: var(--color-argon-600); + --color-light-secondary: var(--color-krypton-500); + --color-light-error: var(--color-red-600); + --color-light-success: var(--color-green-600); + --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; +} + + /* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ /* 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-primary: var(--color-dark-primary); + --color-secondary: var(--color-dark-secondary); + --color-error: var(--color-dark-error); + --color-success: var(--color-dark-success); + --color-accent-1: var(--color-dark-accent-1); + --color-accent-2: var(--color-dark-accent-2); + --color-accent-3: var(--color-dark-accent-3); + } + + .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-primary: var(--color-light-primary); + --color-secondary: var(--color-light-secondary); + --color-error: var(--color-light-error); + --color-success: var(--color-light-success); + --color-accent-1: var(--color-light-accent-1); + --color-accent-2: var(--color-light-accent-2); + --color-accent-3: var(--color-light-accent-3); + } + + html, + html.light { + .light(); + } + + html.dark { + .dark(); + } + + @media (prefers-color-scheme: dark) { + html { + .dark(); + } + } + + + html { -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; @@ -351,7 +620,7 @@ nav > ul { kbd, pre, samp { - font-family: monospace, monospace; + font-family: "Departure Mono", ui-monospace, monospace; font-size: 1em; } @@ -420,7 +689,7 @@ nav > ul { html, body { font-family: @font_family_screen; - color: @ini_text; + color: var(--color-foreground); } } diff --git a/css/base_design.less b/css/base_design.less index cb9792f..b1ced9b 100755 --- a/css/base_design.less +++ b/css/base_design.less @@ -5,7 +5,7 @@ html, body { - background-color: @ini_background_site; + background-color: var(--color-background); } /* highlight selected tool */ @@ -26,7 +26,11 @@ html, body { .page ol li, .page ul li, .aside ul li { - color: @ini_text; + color: var(--color-foreground); + + .li { + color: var(--color-foreground); + } } .pageId { @@ -41,7 +45,7 @@ html, body { font-size: @font-size-small; border: solid @ini_background_alt; border-width: 1px 1px 0; - background-color: @ini_background_site; + background-color: var(--color-background); color: @ini_text_alt; padding: .1em .35em; border-top-left-radius: 2px; @@ -55,7 +59,7 @@ html, body { clear: both; overflow: hidden; word-wrap: break-word; - background: @ini_background; + background: var(--color-background); color: inherit; padding: @page_padding-top @margin-default @margin-default; @@ -374,16 +378,11 @@ ol ol ol ol ol { .dokuwiki { table.inline tr:hover { th { - background-color: fade(@ini_background_alt, 50%); + background-color: var(--color-shade-3); } td { - background-color: fade(@ini_background_alt, 80%); - color: @ini_text_alt; - - *:not(button,a) { - color: @ini_text_alt; - } + background-color: var(--color-shade-2); } } } @@ -392,7 +391,7 @@ table { border-collapse: collapse; empty-cells: show; border-spacing: 0; - border: 1px solid @ini_border; + border: 1px solid var(--color-shade-4); font-size: @font-size-default; line-height: 140%; } @@ -411,13 +410,13 @@ td { padding: .3em .5em; margin: 0; vertical-align: top; - border: 1px solid @ini_border; + border: 1px solid var(--color-shade-4); } th { font-weight: bold; - background-color: @ini_background_alt; - color: @ini_text_alt; + background-color: var(--color-shade-1); + color: var(--color-foreground); text-align: left; a { @@ -470,7 +469,7 @@ button img { hr { border-top: solid @ini_border; - border-bottom: solid @ini_background_site; + border-bottom: solid var(--color-background); border-width: 1px 0; height: 0; text-align: center; @@ -498,14 +497,13 @@ pre, code, samp, kbd { - font-family: Consolas, "Andale Mono WT", "Andale Mono", "Bitstream Vera Sans Mono", "Nimbus Mono L", Monaco, "Courier New", monospace; + 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: @code-background; - color: @noopentasks-color; - box-shadow: inset 0 0 .3em @noopentasks-border; + background-color: var(--color-shade-1); + color: var(--color-foreground); border-radius: @fix_border-radius; padding-left: @small-spacing; padding-right: @small-spacing; @@ -537,7 +535,6 @@ kbd { pre { overflow: auto; word-wrap: normal; - border: 1px solid @noopentasks-border; font-size: @font-size-default; line-height: 140%; padding: .7em 1em; diff --git a/css/plugins/configmanager.less b/css/plugins/configmanager.less index 903e7ca..972744d 100644 --- a/css/plugins/configmanager.less +++ b/css/plugins/configmanager.less @@ -9,9 +9,10 @@ min-width: 100%; overflow-x: auto; box-sizing: border-box; - background-color: @background_darker; + background-color: var(--color-background); margin-left: 0; margin-right: 0; + color: var(--color-foreground) } .selectiondefault { @@ -20,11 +21,24 @@ } 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; @@ -36,13 +50,17 @@ .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: @ini_background; + background-color: var(--color-background); color: inherit; font-size: (@font-size-small - .06); font-weight: bold; diff --git a/css/plugins/data.less b/css/plugins/data.less index 28d238c..561c488 100644 --- a/css/plugins/data.less +++ b/css/plugins/data.less @@ -23,7 +23,7 @@ button { min-height: 1rem; height: 1.8em; - background-color: @ini_background; + 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; @@ -40,7 +40,7 @@ &:active { background-color: @ini_existing; border-color: @ini_existing; - color: @ini_background; + color: var(--color-background); } } } diff --git a/css/plugins/do_tasks.less b/css/plugins/do_tasks.less index b09d449..2fa828b 100755 --- a/css/plugins/do_tasks.less +++ b/css/plugins/do_tasks.less @@ -53,7 +53,7 @@ .noopentasks { span { - background-color: @ini_background_site; + background-color: var(--color-background); border-color: @noopentasks-border; color: @ini_text_webframe; } @@ -86,7 +86,7 @@ } table.inline { - background-color: #FFF; + background-color: var(--color-background); margin-top: .5rem; @media @screen_max-sm { diff --git a/css/plugins/edit.less b/css/plugins/edit.less index 88a62a5..2ec9e9f 100644 --- a/css/plugins/edit.less +++ b/css/plugins/edit.less @@ -9,12 +9,12 @@ clear: right; background: repeating-linear-gradient( -45deg, - @highlight-odd-ini_text, - @highlight-odd-ini_text 10px, - @highlight-even-ini_text 10px, - @highlight-even-ini_text 20px, + var(--color-shade-1), + var(--color-shade-1) 10px, + var(--color-background) 10px, + var(--color-background) 20px, ); - border-color: @ini_background_page_header; + border-color: var(--color-background); } // "section edit button" and "editbutton_table edit button" @@ -26,8 +26,10 @@ } div.editBox { - background-color: #FFF; - border: solid 2px #FFF; + background-color: var(--color-background); + border: solid 2px var(--color-shade-4); + border-radius: @fix_border-radius; + padding: 0.5rem; .editButtons { display: inline-block; diff --git a/css/plugins/edittable.less b/css/plugins/edittable.less index f67dfe6..ba833d5 100644 --- a/css/plugins/edittable.less +++ b/css/plugins/edittable.less @@ -13,7 +13,7 @@ button, input.button { min-height: 1rem; - background-color: @ini_background; + 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; @@ -28,7 +28,7 @@ &:active { background-color: @ini_existing; border-color: @ini_existing; - color: @ini_background; + color: var(--color-background); } } } diff --git a/css/plugins/magic-matcher.less b/css/plugins/magic-matcher.less index fee9b2e..865897f 100755 --- a/css/plugins/magic-matcher.less +++ b/css/plugins/magic-matcher.less @@ -50,7 +50,7 @@ min-height: @height-context-bar; box-sizing: border-box; box-shadow: @box-shadow; - background-color: @ini_background; + 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; diff --git a/css/plugins/mediamanager.less b/css/plugins/mediamanager.less index d7384d6..4c3269c 100644 --- a/css/plugins/mediamanager.less +++ b/css/plugins/mediamanager.less @@ -23,6 +23,32 @@ 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; + } + } } /* + + + + + + + + + + + + + + + + + + + + + + + + + + */ diff --git a/css/plugins/struct.less b/css/plugins/struct.less index f6b62ad..6742bf3 100755 --- a/css/plugins/struct.less +++ b/css/plugins/struct.less @@ -69,7 +69,7 @@ background-color: @ini_existing; background-image: url("svg.php?svg=file-export.svg&f=background"); border-color: @ini_existing; - //color: @ini_background; + //color: var(--color-background); text-decoration: none; } } diff --git a/css/plugins/tabinclude.less b/css/plugins/tabinclude.less index 42994f5..b8ef834 100644 --- a/css/plugins/tabinclude.less +++ b/css/plugins/tabinclude.less @@ -32,7 +32,7 @@ div#dwpl-ti-container { &.selected { position: relative; - background-color: @ini_background; + background-color: var(--color-background); color: @ini_text; } } @@ -43,7 +43,7 @@ div#dwpl-ti-container { position: relative; overflow: auto; box-shadow: @box-shadow; - background-color: @ini_background; + background-color: var(--color-background); border: solid 1px @ini_border; border-radius: 0; margin-top: -1px; diff --git a/css/plugins/tablelayout.less b/css/plugins/tablelayout.less index 9aa6149..9e69a36 100644 --- a/css/plugins/tablelayout.less +++ b/css/plugins/tablelayout.less @@ -8,7 +8,7 @@ #dokuwiki__content.main-content .secedit.editbutton_table{ a.button.print { min-height: 1rem; - background-color: @ini_background; + background-color: var(--color-background); border-radius: 0 @ini_default_border_radius; border-top: solid 1px; border-color: @ini_border; diff --git a/css/plugins/translation.less b/css/plugins/translation.less index f777b93..1a430e0 100644 --- a/css/plugins/translation.less +++ b/css/plugins/translation.less @@ -9,6 +9,11 @@ position: relative; float: none; + box-sizing: border-box; + width: 100%; + border-bottom: 1px solid var(--color-shade-4); + padding-bottom: 0.5rem; + + * { clear: both; padding-top: 1em; // as h1 diff --git a/css/template_admin.less b/css/template_admin.less index b912bc2..f085a35 100644 --- a/css/template_admin.less +++ b/css/template_admin.less @@ -49,7 +49,7 @@ svg { width: 26px; height: 26px; - border: solid 1px @ini_background; + border: solid 1px var(--color-background); border-radius: @ini_default_border_radius; fill: @ini_existing; transition: @transition background-color, @transition border-color, @transition fill; @@ -68,10 +68,10 @@ svg { background-color: @ini_existing; border-color: @ini_existing; - fill: @ini_background; + fill: var(--color-background); path { - fill: @ini_background; + fill: var(--color-background); } } } diff --git a/css/template_detail.less b/css/template_detail.less index f425221..30e7607 100644 --- a/css/template_detail.less +++ b/css/template_detail.less @@ -33,7 +33,7 @@ img { margin: 0; display: block; - border: 1px dotted @ini_background_site; + border: 1px dotted var(--color-background); position: relative; } diff --git a/fonts/argonglow/ArgonGlow-Bold.woff2 b/fonts/argonglow/ArgonGlow-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..559dcee18fec839137581fc17d9fc28e7a609b7f GIT binary patch literal 12524 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 literal 0 HcmV?d00001 diff --git a/fonts/argonglow/ArgonGlow-ExtraLight.woff2 b/fonts/argonglow/ArgonGlow-ExtraLight.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..5180aefc3b453eca61ba3ac43bf8524c00877b5b GIT binary patch literal 10912 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 literal 0 HcmV?d00001 diff --git a/fonts/argonglow/ArgonGlow-Light.woff2 b/fonts/argonglow/ArgonGlow-Light.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b5c4350671bdbe1e8c078b8690c7a6772509435c GIT binary patch literal 11144 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

    ;^!CPhuI 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 HEP@dLsvE=D literal 0 HcmV?d00001 diff --git a/fonts/argonglow/ArgonGlow-SemiBold.woff2 b/fonts/argonglow/ArgonGlow-SemiBold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..a01727460839d1bd58d502a61d8e2c5004805fdf GIT binary patch literal 12636 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 literal 0 HcmV?d00001 diff --git a/fonts/argonglow/ArgonGlow-VariableVF.woff2 b/fonts/argonglow/ArgonGlow-VariableVF.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..e884e2c4b11cb261c9b0e7f11857ca1187bf574a GIT binary patch literal 16592 zcmXT-cQayOWME)maJaz0527bJFfcgeLc~CPR4mnGB;Co!mS7(o;uz8>!_a1+pT+f% zwf1Swc6)X6V&C_qGZ%}ElFs;hUiOc21>i?z>UurGeiz-O=0Qv3>R3 zcWDn}LSEdBiu^mnxca3nW7M|h%P-HdANVYK;*;P1zb7s{-84HTX_AY734itG-}+oS zjR#H%^#}1791`fS|Fu8i``Le2{S;Css0p&o2ux`_=E&)iyl~x}%WHThIog?AP;OtL zr+#JYmG*8m=e%d(uE+c4zHv>7>@$t@@3=B?MbmT9IFTU3+qW2g#NXAjd8ZsH=Jv)kxd4txJ&pT0dkxSYfJc7nk4BY*iHye}-!(>av;?&f}j zNlRo832yOqzA@!Ng~5ww-xqSR2u%_Qe6e_udeZBfnD)e<_m>M_yk7jHe#g(XFXw!` zS}xVZShwidvi*#kQ_j8%xjge!tC2-Q{;E#76B!QfexFn8|D|w0D%w@^d80s6rWr5O zgalKj`Z=%9vO6sNcj9bh(6ps9=S=X~TiwXEVWHgr`&-gJfBt+whJXI8<3Dob&NmlG z%$z+})!JIRXld%^Dc3@$&0BmjOy*t7Qj^|C3s-H-SmVNRdg{v5UA%nqzvr>s7uaMI z>2U7o1>L1*g1MBEm46<6)6jf(t}PRHLyN7@5lM#U4g${|KF#O;w6AZ^0i%`-(jr~Xz65z_1wJrXoQqr>>%{`YZ5f1bM4goGl(>>~?c@?(es&zVFy8@TTtG??{W^F3+}Ff7m9!!0gog7mB%aCe#ZZ zP=3~$uzu&$MZfb@ZhsfJacmotwDOxx)(;yFIBqe#6t^b2^JeuKIn_J=#kU(IFdRA1 z&bIB+^_ z4zg)Uf`0DmdPhrdG)2GhQ<{(%%GkiQ>>!iu0%;zLQYM-6b6O8DdVHQJ;%&J0#i5cz zj4#tW{ck;KYj?LS|aD(}8!PI$S6;+x& znp(^*IR#3Qhtt;H76?0h{UPsXvvYb&SO4#8E~1 zrXFSOna(%i?hm``hK)b=OTOY;xwF#a+v=NYK}{EVzh7k&UcOgU&C|3(Akg6Gl1Dmf zKGV5;^!6PR`C)FLkjfX>vB+eZ(B0IPoQ|7xE=cX^W;l6P!nJ z?d^@vkACOxFspvf7q{!L<*(1?Q(18Im*?jve|NX}xAWxDZ0DsjKBoNj)KA}W zC|B0>zevdz^ya`9UjV^nG^iZ9i5AMd)bdHwANFQ11d zdxzN7{hs;x|8}px9UtcX-)A?E;X$FSh0mTfy=nf}0{<7yn{D%?-crb+a7x=0`K1hw zO0M0a`hlB5tR#7s74W3JKA`FK=TW`asnAt?4;DJKcIGnW3mGvst!%y6HA%yBlZoV) zO*5Zp2c*n0@+&?Yy!e`uw@GC7-riZIHxie}ezSV8K)?2>_5I(XoHi~A3MV)ec2rCe zsrlI{q93(}rLc#`$k$}%-4a!q9Iw#X>z$TPowhP~{av%U+iv8oR_3!@bDBTn%#))z zJjEAgwzjV4a<`nwdPHnel+V(}{Y#%nu|_IiVS5T!i`+LpUS`#HfX8lH_r}PMQZ|VrXAS;-S-8=2UjEEl-RtHpFmb~-G$rVrS7`8(DKN%ERV}3TNbT7=x8sN<1MJJ zW{@f!zs(>0`tmCIr-{!OL(>k-kTpW_5G7b<2J?+<_W86mM>phe0n8^(;Qcg z2N&hLgFh>OKAh3GPBCzIFvmh6U1x{OPk-&0kUqiDPa${0))yCebe~4*>J%+EIOL_n zKeM_2R^*~6nUCg^xPNzU;hQ|YsDa6ubEf7(eWwdwxsJ#vJ)R-oUbg(teDNte_iQ&} zXikoktaG`pseQb0-mWWh@3JMIzn&7sk(ihNq2o{Vf2MVmw?KxsIEc=)K*!p9~G~Pw*7Th=1O7Jo#X0vJfDeO_2-V&0Z{O#z8(2qhdpF4is z^vSiWdX7eb>y-*+bsiDh=Gr_Dl(T%2?>cXY3G;(RWDdWl3A*iAo0-8h&q?aH3E#(w=E`w`4ZQt65Q2>|3j=&0Dl>l6G6o*Dx-!pTdwn z&s1+Z*L&tQ?2hkp%BxM2%V+$G3!3A(dj5(TlXe&eNO`4{);`)dHK9|#vhlR`S^+I5 zozG|Y7%0Bn_gJdt?IMY-j3q(Z@CQH;d-?mffX1YexrtIyi4-#9> zzif_`>48;wAte(!Rqpa`SzL*ySG}v7?!d(sB6W4C zH@6{Ey=O`auU>h^t;PcJ(;dFM+Ov#C?J)Y$(JKB3)v z`@GKy#v>Osq9qQnYx-9C$D}y37GAP;i<$W%t-$7;LxAsBsmxmAf6)qJwx6FpG+kM; z-oGnbb@{gmOF4=xkMF6BUZ}Bi^WC)}I}h+0&Aa3u&oyzGy6eZu8zq0dDPHJ#bE;LN z+$C#8R&ex_0J-O-gahK}SqY(uTFP^zJ?0K!yI5UBDf|z?y>Gx?u^Lcg{*2}JM zaXz~$#e1!UkFfuWmA=upzm!eR^PPS)!Z!R?c)HW$4Tqar+mGM8B&=Ih7$tc7OsCK8 z{Y52fF6h=zSgfHQ`5`f2{Rj35A<8aR^}qGo6GOVzF@9=_Qea3j`Eh72&trR@$+9A; zZ|=`~)}z{{@Fq6>eYYn2ocY{N4nlWQa+vm+9dd~3Uh5XNbWZi1Wv_mHouOS~xqQ={ z7ltP}PcrT0HVbxh*m*FmLS*lrPGRvECF*&Z>H>?Is;}+7Gg&~0wVz?1Ysjw!)27ST z&*%DH@S{~eec9qkkA*%OdWxLvO4)nZT!^Fh$6c0C`voR z$9unXwf$L6dg>Ng+Z+z8|&0cj-y)#ijog7asm;*Z)(4G-~)?$%^u~2#*9in zLJYF8$!6r@XebTT~@X8`{ji7HP z8Jar1l{z|%bBoG3sx;W%?YOh|%$CjkyNfyA*)+^O&?9!jNoL2blM8+AmvjAHv_??y znnra<%T*~s(WGy`-}SHmA@oVX%st^<-+xgUQ2rUS7erbK4{1wbyHg?d;6Ue>Z!bdv|cmY)ikcy3fjoyn}2MD*x^gI=OQF zVYiS{m)=7z-_*95Ey+{1{UpLN_f>JCY^>hhq_}Rw(%3G^_gT0VS6jt3C%gRt?wYXNd*> z6!I_2nQUFgR_HTl{eycu1U8?3Xja#=YF}=qg2I9`0(>(Rw7ME(&s;M3CS#>;z2oJJ z=aLngZTD}5$tRymG^@AjtJT*DxK>{tFeUzEk)Pkntv9m--F1&AZf3U0;tTArk+8|i zo_PC2UF>?nUZ#z;!fP{1G6U0h8}Ho}b=W^jz2V{?fh!a4U3-_lqv%@v#y&L>gUR#$ zR@wr|{%q!TI6a$9)r&AUl13&;K(_+gU2BPp+DFt!iG8e$N!4&ZQ^vl5}=1 zO^tse7c{SnIZylZw?nJyUtDhK+X?$qli zzNnTo>)dj?(D5jIiu;^%H-!8+!$Te(4ziX$mKMGyKqTvAj-Rrjj?Y7bfE>9Q6Q5{_ zU)QkOtLCeTQn#yK&DX9<^i6v1wN>rX&J>e97nho@ z;Zf%d<43oe((J2XT;gfRjx6RsMB(gp0 z{I4Llm-kj*e6wlOlUaLTpUq9yoHFsKf?&pzS$stiTWZcZO}SgrdniaYH1_cIS7q0q z{@&%-EwyFc!Gf<}B2M-Na%2`QzB*+~*rvy2%cY)VFLUE73S-!nFwxpR_lLr&+=5JA zwRqo-=dI`V)b+XT{+}}G!1SHve!sU&xh2t9y4$}uU{ATeVZ+TWmKtY2icSumeR22X zgEyqpPl@!aX}+9TwL`C8qS`3hZjrt}U?$%(<*z=b5oo z;`CZ|){pI+6@@p#*g7pa*Dp@{&z0xn^YmoLHTJFZ4xh4#&U#a;^|ENM3g=2iffx>J zmYAlD@9ICx7{z6Tp2)5BRQ`G`SF>ZTgO2N!+iywNJ|EWhzM$O*gu_Z@>|vMRpsW&qo&7_)#REl zCY^j=u}x{S-i+tlHTf<-u#pdXb6NP2&Xq9JCz30Q&VP!sDV}iN$2BD5d%Vx5y=nZ< z@A(V$O+BQe8Kb(}aarER$m|^k@9p{iJo@3>R;{3VQb5ROd%R_^yw;Mn!9VW5KC6?l z#?N>Gt76pFlks!KCfGKmdlbCBx=QHCu9No<V1^TLs9w(h_nDHl_NA9V~$KU^X97E*md;)!oe0*dXe=_s# zb39d=#;5d0mtn&HKAVg;E|!lpG$YThj8rYYk;At{?1--Wy33nFP3K(oT%T;f-lXag zS#zx~P_4LxefCtvb<09b&h6;fukmE@N?(S>2Ttd5|Kwg?Ja-2Fo3fq!HJ1aY1s+IP zVt@VN#HGDIGHMF+o6pFL`fADheb;<>cyYp zn(gNW_#Wt)oT$5W(Rt1Fit-)oW()Ms&Tss7%*OX_kwvt>tM1B)zt+t8B3*15^6%KX zvgW@B1Gr%T{$CvF~p?UFa>9>ui z*k7z?EqU)8^3AWF0Gnag`SzJb8 z&hnF=6RY$6_>9_}MK1X6`E~WL&FrGM8Pgl=s=o*_v2$E7_`6T+SJdoX9WN6zV^__& z9pELih5hdZ+A4& zW=*{-cXp}D9E$jsJ>&8|WwBKEn})AFCcc?2d#hD_UIiQTEpEe*JZ0G}7ehX-={xvl z^J$p`CV%1Ahs(m_A8wt_a#tozey4gw`@Zd&#;kWaZltUGcT8w2UijZs>FN59*T0_n zacJN4@`zta4YmE!=|8p~sr~ppu2$x!z54!JcDiS-+r>uc?7zOeUUOwN`%K2Yu|e(? zho(AO_3zD?xAaa?lBYw(A;l?s!nQ8g;Y^xYkSb82(!2Ng(kPjXxt1OcH`?#_|E@c* zs5|8@L$qGaQH$tpuhzA{(c@{}?-R^hqL!|4dF?UjH`CuN4-1wl-f9)U-nPc4)8lDH z;1$iwuD^GN?wT!k-tmpnw9^Wqr^jxowyY5KskaE5u^ zBu%-;a%RPoN>W@}U*>IDP|uEq&06Kx zj}Ck&on1LS#^(54*{}C+q+F`aKbY`i;nx$IT_+|eugr3PWBG9MoOGW#-Jzjk{Rtne zLz7OdRb<`Q7G$G(cURNy4Q5a|aCpFedNuD!RxL0<|c-i^t5^O%YIjM)gz@ZrF~{s>Zx_{izFv6z!q+cMyL#gs%#`vuKjD4idG=1;Gv(9YVd@AyE#OsLYi1rBk z4SpNiZu)F%kv$W4D(PG)c^ewHFk)%&GY$tK;p6sOP`CLFqxNCV( zRcX+*FEP>ggVH6%SoQX8Z@FG%dTRddl%w}1~ zp1Xd<+-y%9)yDy+4K;)JPj%*7oquWJ51EViqIzz&M5+rvF#5>0gU9Mke_hg)wajCJd zYVfShR&CC|vDWSu568~OzJ7vpqqb;Xbt`7n`v0pcKP*&HW66W4P!oa3k2Uu+7;W>+ zeSa@!uo5}&gf;xXXN`rDlvMwPho7ZSy{fKQlB@dRBSWTZ%QY1VM#db*km%H$n@851 zIg+z_&()+ApI80=xw798NeW(S4hea(mW=vg9)w?#>6xm%Pn=tnAyS zYPWFLigQ&>8~6geBny^&v35Tk(97d&-*f+-W9me!nVail7q$L=zJash5M$f%9k=%% zmi@6;x`Aowq3cJ^D2dMPsM_{(>apcBOP^_f{ORd6|IM4*w!eS>Eff%cxZYnnbMlkA z(=6#q)4NrsYd(uDf4!sb$L1-kKUlBRQ}z3D=S=U>nfvBA-I<@^TxRs#CM4sK(Z094 z&viDOyVRXldZ~D#kXD@M^QH5CI9-%8{c}5qW7(Vd{NOJ(@sD?0eZ0s0iSFvvd!|nK z_d7W!ugB-(`ads?IE+ND-Mz84&@o1&F38>gcKPKn!4+?rL(ESJ3fDC2HL-3ymvwOI zW@D*Xy*-=}kD^MqI+!{=oIF82%hGnG*_A9dzu?AAGg=O^eOdop&mPKL zli=CCb3%$O7}DkHzwX{++I)M_EGQ{~Pf z2LoJn+70G*e^UOV>!?@ba8_G}T`f9uu8F$7r{T`Ir@po6UgWaY_p$h4q!RGknwh&< z{kc?=bo$Y}t?qaD%U9*iTfX||W*4ssQ~oILI4HBJd{g6=kRT(zLX}6Qj2HT?y2PiX z?cM6KVe8~GtvCPr?drLAJg8)gy3*^UJ(@{QZQKCeCro7 zuU|QddG}^@$x?>iqM9^>zOMhiY}WbD+h^a7cpcSgF|i2 zhhOntH2tvZS8L(-=-wc=d;b3Jn@-QsjRsm|*n+FO=n8&29C@X_gQ z)9sF)xWnszZTOP7?~2{@cLGM13NcSFm>%QeztJCR<8AoSow0g9CBr#4y^gP}{=D+io5(<>5QeXRmj|!3li4kD z^;}w;ny{ss@v7h5$=XsBdQ-8O%tEH z>b|WWH>$7STI#*#q*R1|T`$+lS{`*)x2|RWJ}$+_ zvnG~&e7bi@y~BN#NoPHI<5j!92ShJ7aC2DtjA7ZYl?TsD%~`jxwA3@nr-E}ue3AZ{ zA2Cz;U4J}Tp)0!j$qq{~=SQpRqWnFiJ*UanO0x;a#a=tJyG+N@;DC)Px3iRbhGjh0 zzAZA>HdQ~!4s-A+I}vkmmDKxEf$#TToG|^mINrFbO`l_L3EGe4eZlz;H(Z1|f^!YpEW68U~77%cq{h6w~&dL=)s?fY;blKn}nmi$xUiLYAg z3LRc$mL%LyZ+)z-tdi5!l}?lJAVEOtS;;&w$fsq#H9yQHmOMMyXz3I$)vdKMv?N&XNIrEY*sU! zTKGri_4;ce?E?HOW^eM!SY)*EUgc9!<@K$X?<(HfU%n;aLY3*UKTlUokjcEYCFI|y zoNLz}CQJ!1uo6%`G5f90Ob?-H`#;UU$)nv}=&E_-nDo3yN5X2)U5wW9Qj;;LS6BPj z93EKuBYASgKFI{dBpvtb3AKm2E-dSwzM|_(-eQ?+hi*kZFTds?+{rtw=e4ood9S%s zl$3TApW3}%x9tvxPT6t?r;KHaDwmx^J(d>vY97dZW7Zr$ig{q?|UMURllH;ucFl3uAZ zq<{W=(Br4Ax}?ZXsD8H6`dvGkk|*DBJyFQyEWJ2ZdAIiUe-#gI?U#O@DV_aa~*5{Yd}Z?~_!N?TRgwUrp1Tt~PDW&Un%Pe=Gt7 zwf;=qKV_LiPsJ^U2$qCr(n38!^^1-Fzxr}2&PAE~Xwc3cf5-N(l~$9ycR0<<{uNvI zM16r(LRF!symeuzheV8O!?cG)@DC~AucMma8R?i45lvI>^ z^x0 zwm&wp3jP26?dF>JeWG5{N516>+&Sj4C$NvNsr*HEQ@mS$tX!k$n*Y7wfRS^3#t-K*?@qR`XuVW{5!WQm2Z*}zjlpiOA zbX-)#ZoOp{`J^=^PO^0Mf)hplUJ3g?pYn3jY!&J$aM#|d!*FMA=d^m=oUglMmb18T zuxZY>JYIcC-G6^;x1@NGlFG&()h8I5O&DC?9e(K%xI*`}w&)i>!E-_LoT9aq7ft)7 z<$dnB#OW}T#eQ?%%zNf;)uSb}`qtZnYNlcN=R?lcrmA<>pV)d*v3_>vg*E)1$`Tj0 zY_U@K)O!5#wP}Z%-mNM8>TUhV>i-$R7T0b1%z@&p`%X8-d|lTE3!`a{~WQ z{+2(YbGH7IWmYpQI~ftad$M+^*X0{VO)Nbxx#sShuf4#`_ow#CsqVXee=GL5_%5sS zx|6=SZ6*851#2E{x3f5Wv;0ETGul?fbp_ zU31CS)%LGlH*J}`aq%?sSQ~e{v?p_GHw4X^(be+!=hx;{k9;R*e0%xYFf}UE?_Axv zD-X4_rZg`&a$!ZYRMC$c#^2l-X8f7-;FDA1b7@_PlpEh0IC-zmNOI`jTaqUH{=AXK zxgG1z@2|aDmpkEuaB`$hX}$Ms@lzI78A-iG2G@#%%O&3Zo^ShFUiqL%#8cjGv!iwQ zt0!D7GnyQIbdH;>se#^>t+GPvHqNh&-91@9DD_s~hg(ORHO;1T*DXGFugp%#!a4RJ zTNH<1;B8lC_9DGdF)!tl&KOHucA?DKjqq&a}!C3_r%Y^=P!K@Z#-lF$o`|n|4=)s2$s~ zN@ha;k)=HaM`KjwqB`rH#adU4&cmERh z1s{Spp73;=@qlT@k1RpPwiUWATMlt3rBCK>lgT@lR;hjL{afJ;K^2=`RZLIs$_uy7 z>hfN+tmjDe_Za)gH7KUdj44SjvAo%g(Jk z?Y{A7ICArHM)^8V{_7EZSZIFsk(5>&hFRG^JX4<=u;#C~p;^^{XH}~O}H`AvZ2)$>D5IS^Q;r3<5c^~>!cJI9(5H8phl(?;N zcI1v_DRIU-op(y@u1GNav)!oYlF~m%PZvSaf=7M27r} zw>Pg?-t^2rSMqqbh=GPK-}~q7U!&zNEn}bfvHMz|Y1IC{mocV)zt8el|B|`vlC#dw zUz>$Fr>ov!|Jyv_wX%T6c^+UvJM^5&3A1 z+tNTDz4Xs4t8MMsMEjnFh3>RJhMrpT`uOFj z)Psv>&oHtR33Yy}#s7e_s-k1Xw_DwpDsCmLvRSNTv+?PHaI20ji|&Qoed*GvdD=Jp z{bII>=6}ySJ(1~LK83?{M!r(jvgKBX>Zd&4#cQ*6gKAk0$D|$!G5J%$YsHIF1zZoTgLa{_H(e{V99r)uZYw&WP>gc2Y~x3on^Cp}@rH(V-c7Mg2Fj zt!xjiyH-%0FfYnbS-WNSUguw{?z!~!u5owjS6Nl^+wb=7fLepOUk?8Nac5_6m#u*+2X^4Bd6qJMb}K9G~GDx@9)nSTPFYKe%qR9FD`$20q^OB z*XDSXwsmNSzuZ#D`nY#N?F+`hX^je(p1Zb%cBOsDn`X1M{{IrzdO_3O$4@2;pZ1kL zu4Z=QRezP;$&UroI?wyO=kZ?K>C@N4{gU(g#Z+!lqpaxiwzXm{E0#Vj%9PzPX^&0Y zwmqL0EY;w2y8XQ2$BO?7d}${-Ba$p6%>o$CG0ok&{h74zsT;A|zvfggH9r~rz02r~ z--=sVtL9#kOekA)v!UR*2cd)p?=zoM>s;q(cpJ_tM^I9L~|MWCjN7+ zlU66*Oekl1`%6h~-@^*`Msbsh-@OO#ubf-VxwvnszRx?cH4_~U6~8xRlaFZ?kPY`; ztg=fep=Cz0ujRd;3)e)X-n}3-Yt7}-m!>TeP1EOQ8>&s2SYbI^cIAmvR~`Sw zTy>Rt&=YWh-Hh?Z;*Cw2@%I(HH@T~}9t^n^lN@k8z{GKj`IGH09H*>&#gxV9e~$Ol zqBExV*M2`!y1b=1%3Hcv$Td(H+&*Zmh3`*~`| zPsB<96-gd3kKAwXBdu%H}Ya`VE`UoLitW zKO$pk%87rI=jH9l^q5(cTQG0(QH3`iUKipvDxGDQh;7xgd31H(luKHZU({787aZC6scPWj_0IY)yH5$WFdK898OKD@xg^IN3c z)u|%e%z{n0msvDD4AfpVB}pz^XnOTbzt?lp<;^ay{>tQT$9AOupHOSn2Uf+*+*Ya8 zLQb#UR&48f=5i@_Vg$paYn{tanCnR8B{kJ{Zk<`nb3DcC)D*j(_%xNk;{P81JyzU~ zoyWE#DyXlQLv-=ZiBtBJ_3qUDylz40vkPBOAG!Oc?!l`l`=!5SEd5^3+ZFHmMPlwd z57!NoV>G9&5_z?n*Hd*F&x0sasrA#hPLG_hDr@OyuV<6u=3e>oV591!n3WO6%xAU~ zd`{?SRWaC+RgoZ=_Sv*>`;UWLtLz*LeV0G4DOn$1?zdxM@B?=!e)s(DknGk$h# zs&t(HFRv#F_da+r1_vkCZxLCLxiV|if1tT(yETDUi%FunHh{F(D^oBmrR zmNWa~%>%oxz0f=JD{$Ys4c5kN4?gDDhfRKvJH>S6*N>NvCGY8de7Csaq{oTGm3N*> zxUFTH#^=-PQS@rg!POhukF7SmCuP2DXAzI)tw@DwM;Jc;Vmqz4u1JviT}i^0@L5is z#f=BTz6AaYk$SwVqH|NmoyAj>HE%3X>B!iqHY;jX<1(%-Px7@^iw2!mIKAVP@@du3 zPn@hyu~iS)uezL5usQzf?J}`|+$quDq~1DbY!{rn$b2H3me#BlQ<6WMTyKqev|_>G z%|~{4Jadn1H=Qrkt@rHrx{~7$_!ldy&okPk_I}>&^ABrs@9p2Y?Of%wU+Y)S;df5<&B|D!EGcs0iuGzeUDGzjjoaq^J|D@}XDMEgYj)Kwb9uM?EzgiQR$XCIKg+MPCi~|lJvsW#W`2fe+}gGKde3W43;&t; zTwA~A5L+<2;3?jUqMK>m3;r)`H1z+U5wmdi$+HZJ##?89wBs=>YuYLG_+IfIxu#k1 z3}UU%HakpvV#uK7*YacgT;|lD9}SEXx^CHDds(7pIZ z_S=?{##IHvCL4{?ShCknouw=}{lgrV^O{z98b2q@HCF3b|0aLUA*s(>&bRE5$Xgx7 zu{5u?M8)OFtn0GuPH%6#y0A)ueeu*qi;W)Mofvi@>{&=<+@kGlwJXNFCnI<9;w>SYt>#k_dE6F>55EUlabCVaKZby_4Kv(Pz0e8Xc6 zue3EkbtcRW5SlS_lHRAMY#$HvU6P$srYtLaq(XM}J>J>%?5g$d1~FT$jxO5$RBVFy z-KEkGx+QgUy5{C(Bx)V~Rd$%`g!%5f_paa5&N-mB<^MJtGkY%GLebCr!m545pE6jj zIrHrymq)>YIsXFhiaN5*oc*zV{gY4e>)Y;_uDTQb*C1{AR_;i-W0%;NT^@<+CoOog z?wip4DVuJJ=Dj*m`f=CtqA3k3->e?&(KJmfY7G~txg7G=dTdrI_%BT@1e{1S* zwu76VZFleN;f~O?ob2@Tp(Wd=cM~@)tP>30E}FOOS#H7X!cT76cYpNEf7js2^x`7N z7rSLLie+a)O%?99DzH!I-8nmEo#vEzTp?w zb@d;|CsL`8X3q^-kgxi~=TlnjmWr6W+_R5NUUJHye)dZZpPd)@Cf5|Ewai>6)INzh z>*w9Ag?W>6;~yVfmngqF> zO4}0xKR)AT`>3nX{N{__?=Jznw{LWuW~n;=ntIc>@HY#HBYBDPsOt3y*#f*9DZ{`k;&Wtm6lCpTrD zGqqkF4!TdXnrco;SY5g=Wl<)v&}@T^`NP=hA&Ft9WUW@OIbQfw*`n>f`pujVedP;o z>Filhw?yFVQHf3Yi~j%lIrZV&Y5eU0&!lyQ-8#rG?-!O3#mFxJuTB4gY0 zQ*SpaowRxw)%Wj9tySDKZ|4&N9y7vIS?4ZM@19c0@%g~}{qiSmZ-2b}^ugIx%gUF1 z$U9pf_=%hSQS58&#r$gTZ6Y)3b}q>I)E<8S|FQqY3mVJ(Y&P9(<}!4&+0&%&d(m~0 z6W_!MHQSbS*vy`GF7=oGGP}w0zIkegf2_K)N2KA)w6givMV40>iXUURm0rnl?c_zS zw=p&mJMYvUno#4m(cFq<^V$1e&zZ6-dr3NVQ;a! zQu1&0`I%O?v?2~CUwgh;E9b`&4$oF+`#F=Q{)+p~c2a%$+K`BMb0%*#ym5QqG;TKK zr6!D@=dLbZ>wIC^s>iAKyguhg9kh{aw>hf*TOt03*pfLb&Gm~U+23wDyYFi8(L46D zo|R9%WU+R3y=CyKUqO$K85&&Ll@N4R*u~|Z#&SKkD~A%6r!G8I81(sM(6u+d{(D#K zn!0Y2d$?5h=S@xqOk0Bv<}b?Ht!=tXJM!Iyn_3sXyY|hT#@JTp=2-CRrtD|Q2~SP+ zqvX!YaowMM`M-_r#z_X%8$Hzy&pWOi`*W#`E@$bB&quFcd@jp-b)HytbnC~IKX=2v ztbgtBcG;=o>H`t0T<5gE>|bC1=lPyp?>wr#?#(+{s5`r{hO6;yq2sq&i?+6j{uM8E zmW8l+M6Eft`wCZbiRM)9x#W?|q$LvURx}|IejX ze-cxf86IhPKJFyB42W z{pfq^jOXoTMN(Q(w^Rf!H@{P8aDG-HZo1w3U%~BbA9gfuzcJ19=*iv9rlJ$~A8gtY ztolauc)4f>L&`owF3oLH_Q!U5e_C&JpL=TNA8}TP-X!KJOd1y^c6p0!I{&-RbXSC1 z@4k(XJR2Abrt(;b9cX6kmSEvvcyNHxBi7Txz|q7ZlS!OYg-vDS5vOp*&cgwpdMoy- zOt_Kd>2i7hq@FE?o~qeDCM{D-o?fD~ex9^sg}G7eI?)O7|K}?@tWj`OW!3ahmUTSt zUo~N}HuIu>=e7d}izFRSyfm8Vay?aK;q!GpZH1dtcn;<7?BUeRQA!pp5kGw+;IL%8 zIJ?E1_*p+s>4s!3GxEE-#N^+)Ka)a@QqE;hIHMq4xlCpDO!b1w|AtminT!q0q_>{7 zyMIaTLfrAV`_KN{r-mGniQ8mpyjVrL?YHBpx@G(K>Mr_#j+|z1#pS0DE&ZwU; z<>-m^Lh-(50|hUicXsbdw+U@Oe1xo%w<{b{Pn=otU`s^tzUrBx0r_#!&dZe72Q)ku*Kx~Ynm(mN zYYoq`i3jS0^Hp3#gO%JOCi#ZFw7sdgJ}l^7a^ZB@(5nfvHXeK!7Bj!r_}FGQ+e=T5 zd30~8yA%B;Yg$GAylISw&h~ib1#Uiaf<@f;|m9SSgTH8d# z*v;8{6F*ux&nzyv%q1>3e}Tt$RUNM_pJNWZT%`6v&n-tON$Ap}Bh_k=$0r3(nc&a= zboRM3e`e+OMLwIU9oy#5=o5D83(u+G(3Ptiw77IGA8BGq*IA-7eT83a?=7cdQMb!W zwj6Su5}UGYk&$?;pJCF`tq$v2k8Zyq)U7jBJ>HR1X!e`NNluYE!OQP`nzS_JMARx1 ztCylPAMG@H<$3Jv{e#fD9F?H9*8B2{#E<=-xLTs|b=>jyf3@M*YK6%kf|qjUyzgSqWO~wK`j|;Z zl(AwD``k8(pS%AY6I@(SXw0=e_?@Hq-PIRoukfsYR3##&CI5y+Zt;hT;N7uCYY%^( zcjI#Q+v9(QRT>12IdBE9*z!+8lTmfSwLewWcB`KHXw7*3n9GF!(}HEIZyycPEr>IX zxxaw%*&R&*l_8#4!K|c!(#Bm_4a04^A}v#i<|3O?YA@9f0X8Y65f`lB>(e- zd!4_+ls{(jzpn3H;aA|T8UNlb`yylae>GO=xm~-~t(=_XzWAc!luehI7#J7;W%SCN literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..4cc5810d7f8bbb1414933fd7c17b3ed231e5e7a0 GIT binary patch literal 11356 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

    Za|7qx@=lLnvrG}|ek zdDiIpEn_HqUa*8~X7k_WtO>&3vsVT@Dy&@7HT|vb<=s)78$N87jB2^fv(|+-f3bzl KOdc0Y1_l7dRaH_J2-(ql&=O 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 literal 0 HcmV?d00001 diff --git a/fonts/athiti/Athiti-Medium.woff2 b/fonts/athiti/Athiti-Medium.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..bc8b50ac14de425fcae35acd61c4eefad240cde0 GIT binary patch literal 11288 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 literal 0 HcmV?d00001 diff --git a/fonts/athiti/Athiti-Regular.woff2 b/fonts/athiti/Athiti-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..c69c1287e1b5674b4652471a20ba131daf2601f7 GIT binary patch literal 11812 zcmXT-cQayOWME)m&{JXH1JMN)3=F!bAYvdsDwfiao@XM{9K@Eu&{8AF!PU6P;x`j_ za~K1o8IuZgy9SE_Ycm&ntEu#t$WZpA8x|Z56W5fAm^x0@N^;rc8MW%i|Ky_Lj&%%Y z|H+?8v0k~&`E!WnnS&v%jfv__dF`v*^+n=JUOkO^_~qHHif#W5R%moc9&F)Rq9|Cu z#6|B?p8RIv-v@cq8>~%>4k?}gzx)1kJM&6|5T@_pt!~{ZELtJk+^$<}SsSp}Yu=R< zj%U|&Zya+wu|jHZ5@&XVYPQ&gKB=Ik3Qa${BsG4uEc%qx(E70{@Ned^?fjf~x4nJ5 zK;=r1rNXcO74vrF*WYvNWuL-&=Urf;!bi8>eC~k9H`PzS$S*HC$2EsBv*Hq~=nglr zlz&%`O>$hxF69>9r)6>D&0ZEyfvC1b9#)6u*){9U%}p9s%O{rv*Pp5VUu+eY=5+I= zWTfRWCbqa=yW%V$y8eml!GDeAX4<#+?v~u`9To3y_rKL`t}felD)L31w{hNP zr=VHN9xXHP{J%G8@@(&ylTQY(SZM!i`4&BuLrT$scNeaXa}8j6EO6-4ceArv#`UQ` zlQ>R@J7}z8UUNA$Xv)lguiw^HI&QkYyJ*uSKej0~D{LqAh5uqZS?zGAHK1Sv<1)P% z*)qiy4a@g0TG8}WGG*Qi|Ie&*g6m#})+i|{IlhUAFVEM# z7Ncr8Iii+1PG{50Z->wRV7np`^oV=F-a3<iwgazOnVM7FbPE;Fu}sXv+}z>*m7!EL)y=pV;G| z%gkO=F2KblVO-AWeRZ+R3#LOwQaQ|rcFy2^e&o<`!|6O9c8j%?6dka2(_r=bIU{YB z0U zq1E{b=kbHlHoI0|cW=6vJ=;ex&+T3G>!%0S@yw~U_I|R{NM}dsf+>6UKXzT$>a9If zDsZ0iN52DKVywmY#Oel_b_@2+pZg5y3*`=aMf44HfJMS@d>sRMY-jd{d z{+|@C%v@>2_+#s@4H37d26*ldn7CeG&xPXBZ-Mj6ElSsf|Mj|g(pdEH%7u6HI3%`q zKfbcn=x)87)P`)XB?^vvT)H3XGM*F(;W=o*a>%i@@$iR7XW3mgBm@L5YVmMjb9Q~& z+^5IG%q+vsE+sylT~02)rs-AYx1~#rT7QM^KhzPSwxVA0D8tha2eoPzX!T!tU??RT zD*You?Hc|!v?ezIA9dHN~|;n$m|E8IBu z{nsbqC(bQ)no@piEI23eXPo8nk@0aUkbSwBY2l80_R}iAE?c*7b$UWZN>bF98#aF* z+`Y&;eFyvPFH6H%KR;&CZ)bFs@#s6bdQ0Ao1nEYTfM=%{oR%?5ni;v?tt`0j+L`NL zSXdgf;k+qXHW;^4PD_0E@E0j(sF5%-o+fc@`=FoYGqYIs4s(-U8tbXx=FF<}< z*V|>b&+eV~6xM&SsNZhJN6tc<(+`*?O>xOg?~3%$I;9>oGcJOm*J#;$M(brkmfi37bto~`27XB`jUlXYg(l>VKX(^+m>E#0f2*tGCV>tU89!MFdgb-&vu+GwymN;?0)<^`X_HT~+kKFuzBO-Cbg=tB*#cv;4 z#w~X1rJS|Em)*~2a5HLrypYh~8(?xkd&JI%kmwGcda?XBfL!zZ#1cA-oe0UIs|e`1o0+xH+f zTX)Wd^|zdlUVZn!)_j^((DK)Hws-FAFo+S+6Pw*CM&{bnRc|lmujXx= zQ+i91Ij?cQ`29%xi1c>%Z9o6k?tEesyCtUb{kiYow(U;5;ptxce#T?9IR%$%_wUSJ zX862k*Yla}>mpLO&W|l{?~h+|C2##vv4|vrE_N0Z6@Ljkro^Az0-8QMID(HTdrWCz zd9S3jO=M*Ri-wjbN9TzS&yy=9UZh+oK9Q2VeByeKg)6;w%n4c(*BezDwZqpvENgo# zpHw*mi^~7`40X&;n4j>@sb$*mlbONnz#5|&pINM}{EdWts+Jk}y%qMqrD9X5`kk}$ z$rX*5E>Aw?gZ`(I%`SP`F5Id1t>?#{C%1#2J+OF}+n2sDF%Ev9y?JauSB ze$P4KOg7F`@8eq=f`b)0LMBF^F!ri~d#6XPi)2z#+Ov84jngreM{Hgx8H$U3pIzs;aEijC$SH}| z$0AZ<+?3}<6qjw7+vd2`;ENhm%R&c(W^ZhnO;ey4+`l6*Q*4$k( zhAe7a!MpQzs&F}mFZ?XCYD%w_o>S8N{K&DRO~(-HeGf6 zzelIDZq2X2muuZ(R&W0#-1p>FOX$(L`&BQmN?kD7b>?%9r)m4FvtR8kv{XyYo+6)= z^LxAdO=`GqDY2Fz9sD16l+j)nk@ZV_q*q+z4*oep!HbV`!AhV-yAhBG_7(t?!gneQsStg+2a(LWVZH@_abk#b`F#CVX zi8TBFY8scGA6b8st#jhnP{I51yYaGg%tz~ZKykWzuh{9;KceD~N&d7vvU=LiZvCme&Rez4wrNZF2b^B^2 zFAEKphzzY+ZE$K+=8_5D-OkpOIz7l`_A4_A`_Z-gV25zZIh9If*PFe8(Y=lV&t|cA zh^Du*gq2*o@cV*={-g%$R*!>H4|FrwH8Kx0SN6^Rkkc96YVqvhv<1f=H+=YdXWNyi^V+MFjHO-GIaJgR-hFsFfKxXhan||n8|Uxo>HNw2V>zKusp7}8 zAH6GV-zD{kiMaQsUFElL`yR1t%^k_R*EZSTzY=hEp8IL*Q=wOKWF4WDUmRLU6%cI73+}ovA zZKsL)0rf_g2IaZTTY`4pOrPi8x9Et{fd$8woVEXQsru%$y17%EouBl~oTVxIWpbtk zyWrCLvS<7{X<2qFRi{XDEVU4w@GdM*!})S)#kJJcheg^B*LF)d6)sUrWBPUc=KcF^ z*$R7l;uLtJ8nzi!?OIova9T6+WQ9$Gdt0)=x1{CG;x~+!*RbE&_cBqKJNJvr=AM|1 zypQtME;rt6v0JO-ZvVR1+v3$)Pk+>sEXbOEs<^kSZ3@?pm6=vD!f_woCH%}YbY|*1 zI@4w1)BmfkGX~xLaaKJs?)=t2tSdOGR|%TN#rvzjOT90gcwt|#$IF#>CDPKjox5$3 zc>RytQHgt+2`#Mm>Z2xQzuA4}$N`^nt=O$E-Z(3W>ldHvT9MZzWMV1$E^RANi+ODtoYNw$G&+{>oMtA zKZdfj&^P;vrHV67ulKkiZ`-(i-PR))nr<65?R|XoLhzxxMpk;hbrZCYy{b-(R4WR- z6;p26#@}<)8s@dmcFQ(jqbZm%eMaZSGaH%8{I?#t5U9Q= z{Hx3jyGi-WEuXAs`uUOfn)9L1DcA0+&ieALwQTZ~|9wY$@6Nw^n=?S}SBSNd_+|x{ ziYH-;D{LjEJ)e_#i}9LBXWN?Nep?RT{pxbndGf|uo4B&jsZyzV&o;e$&1YH@yW@6T zCm*-QWHveJWRaySH|;K(yV`J@GKWf((3;jFQzK0WZ8yj3k9u_2bY>jn*(~$wF0bAC zeOH?kzqVMVBu1!St)=WsbFTTv-1yEF{uuxAt1Fpe!TLt&?}Vm;FNHE%Lc- z9ik;CDjv8=#FyI^TRBvxr%5OL%ZO1`ocy`A>w>8lmmig}@0 z7gYXxd3(0sncMaEUurtyy{a+HcwIc#SxAH0rEM% z(K{=(nZ>l--H$%MHu(zoCwbEyesVXJtNujQ{?OTT+;?YtQfH{>9Pxdc|s*mWk{AOfw32sJ!eu)5i7!4vy8)4E$vu0yc^&2}w79n=A1DkX7L6 zH~YGNhEHDf_1`8${>(N~Vz3k0V7cZobm@XwCbjC(cj&}y-t z0ulZ}G3udfr`?IU`o(X@bL(4c7w#6?eZsRs^){pOrCZuoY!j!vn^DiAJAXl*UT)DH zi#vhZuOqL%nk}-2)p6dEJeBVf7TOn29|(3@H#xm~#?%N70m(NJ#i=X*X9>5rmArhV zVRN-=$%cn*oiZ0TS#K6@nz*M_VoLGsjfehkPYmx~$K{`WEMrA%+0S?T6mCDcW0&*a z_fBo!=>s+yVb$q(*h+FgX1U2fnV|h< z?RGw9#$SjjR$o_V(PO8B&3--%S!Lnfml1gLnRtk6-gP{}g^S@3Z;2 zQ%TN8LY~a3R80NlbW`eihGK&LWQiR!*Bn3Vq8)DG)ciTK_@bikBi<`}KV3Pn^PH~r z{xfqg=;gBewtPJ*6m{IEiPdc1Zq<$jb7oY9IBlPABze@jdGlmpuL$HAiQba!2@oo7u7tH}DJGJNHsK$bJn=cWT1l88=#W%l_ZI_C9%&boIYQW{b{v z`|ZEy{rT>nGMm{mzF2q9^Y;05W|sB!UfxPc&kdrjZ2LR@yuSB5ca81ihao@TU1%*f z@F|gNZ@SHL4~^mMU!muHO0s2!kq8s-WrqTr6TE@a&G#S9 zENaa87<|Du?)JX*%`?SsxF6&fw(t!}~hs$~!aXugl`{7M`gu zcIiIWx&B`JB~(qt{mSo$KiL1z*!;v}r*?z* z@w47NE0(!_n;fyQa1I;}&-c!cIdpTGbn5jJ zn;KR|NceV&P2PBm=N+4tD}Q^f87t@qCR--~ml_CD|Qmshhd}Z-^{ymcXTsHC&6&eN^)dCt?)AGud zx9?0%)D67%a>K?$r7>a`xfUi*Q;_No<+9BRbQe7&6dBPGqhe5F>ax}BwyjCaf;nKusXXfYUmNqZwTri{dOW~p=dlhE>ZS?dC zHg`(jj!tIgyGZjJMms!i zF#l}aezY#leePzN^OLKm{(tk(%kPSS^{!lFdk?kfu#RU(pLVUfG;`hQLvk#iPsi@M zn-LsQdHCaj2(38}%bwlV*~YZ{@Lo5I3QxOug$P~kIzFDeW%}%yU0F7lsu!%RPt5*1 zYu>+K|0)@DFWp)>>u{~HY~t~hxLK_ec_-c3kyX6PC~l^e#hSQZ{)~Bw>&iKw#cRp< ztoWr?GNak|>eIeCR^q~;{~jy;{Pp0+)`zn%Pg!WPa#nWYpRcK!r#!dio;zZ6uj#0mJ`A_j5%RQYY zG)h@3-B}r2Y#e*{;i3FJV$-A@)E||p+50A`iPR@NS z5!N2PJaf{%=?4nCyN~{;iEm;x+wjxQ@5R~+g|~_vRb8E?D|x=}Iq7kg@$2ny(f#f^ z7aE?h&fAsosy=8*&r=17E!$TdmiQ@q(@eBt;>Hbie=j~dsIv8p`%a7cz>1?$C*S(>3(-@-6;&E)pu_0pS`u5*9kAo*B6=u*R$7Zb%@Pu6&Q*|1~ei!i&RROww@EP3-&36TRr>e%+QUo$T9RCYy*)Gv477 z?H9fGOlyYK>Q$*OCnJ>I=C$O`*xwcR>(#ik!zVVL{;WT| z=BUT-Mbsil!BbxiKja>2_!8+;0;Ptz%WVl-DTv#QER(tP8}c`Y-PBh-|)Cf9TM z%;Y>dZJk}A>~*pF|EJzxe6oxG&3!jJlk)4w)302a`t|d{m&s!PJ6CvX-M9GEI&-sz z$HZG1m(LfNN~b@+t;xm`bM(tJaj!Lx>~E}U&*=@DH7WeXlN&4tE@)e@nJO3=eQG`a zGqmZe{z;zfKa-gl4bF%@<7(`!Z|3*8K3gtZZPE%`n5i_8LC2{kes;{N=Z2O2Kcs(p2hX%g z$vXXN$})acmzHB(-np6wQ`s8LJYptvuAkEs{L?1tn_*Rh&!0;QU(>&mAue?GIt_4~3LK_UyUJO&OU1IEQ7z~OgHxUqiz+Jn9^zOU7Wt;%Ice|U%oT>n7Sv>{mfUFAE`I4 z&AxUtTz+dqnt6WLyt|9@yF}M8eYKlc(^H-`U2)FZwXXkUD#Q+W(VJ* z#a2I$E&p=*?RK@>6GPJ56_>vF8B)69uj*{!$vd~_?L2K+6D)O5>S5;PvjW-%cRX4> z0}5}sbe*->TRAJ$Pb^UWGY99@T=9gsqR++4H@z{MWL5cX^IWxrH{$<#|9Gcen)dwJ zi`6}!j87CiOgC~~8*)ih>EAnb|69op%1q0g{7wkHC_C+Q{miX(T03n^`V_wJ)mf;l zI4AAmQ@_oh-zp{SaBH`=T|RSW$dY-Xt_iCq{eQ&mVCyB+EbRU|Xp8$JrTwLAjeoq{ zX|vAq@T#k=ZtstUAO3i!|A&F%BfI~XLT&u>H#FA=aEA+j2rTXJyZK00F6LzNxh-OL zH)rr&60;>6&wUFZ?_yQ?y+7KBHb0&q<*hLB(^IHDA9Ny}e7+?0o{uw^SjP zsbVb87WRG4V%fXLrOmQXDZXGbXYisaY&Bdvd>J=LYTeqRdu7wb5RP>#eGTSLHTJP8 ze}2SLduz#>`qis~tG;N8y6iX@Y_#G>cK18`bvCFK-t74@(bfEr(T)w zzwlbEnEHc*Z%gJoN7pYl*?P*k_{C4-u=QKTrgd9|Im#TEc==LdPtXsj^69;`S8>SR``EV=Nr}>@P`~NW8^x9|Jf-Y!Z z`C@)AL~z3EyQh9$o%!|77Cz5g`aic^Klx+!&Biw|voEgMR8|tY>&OZP)xUm58|BwH zTQzUbV*Y%@Mtpv`_wy$fs!C;A@BOUepCm8d>(_PMYQq|t-J$2LzOe?ni){RQbLQ2A zsA4CVLjlM5q>o=yx>3uwQSPUrI>#L6D1-cG&)cPhz0X@*db(Pr^RT4f{{+4F_2qHJ zcGo86o+}a+F>RQudRaR5ad5x=!X5-{6gWXLRoE!kSJG#mm{98UJ%y zEtzH9j(!RMmz?9^ax3%vj5WSm$IIW@FAi(i+Yz+8^YS*~nJmgucg_VZznr+tMP4Nel0t<&o9%dHY9g@0~w?P7|px@4M2&{m9)Kk)W6c=)&v*OVlj(W-YcOCk6ewJERDLB`j+a|FncDk|5 zN0Hhi9Z6dVbCPoh++pWa*5#8)lYzHnfI!?0#J#7ds(fGyC5UFRV^& z(8Jl~Yz?}j%Brb=HK2Y@OzS=N6AW^5~mHK z*{ohuyt*T;IoF@zR`%XLeb!Ie);fuM;Zm-m7ncfN_hr^*D&QAZlA7J*tn_H{ui2}e zAJbJ;}!u|V13j2q(J_f*9)yapIpkA5S~AN8c}{Xa{~FZjfdj}!jZE_^&$-e+HZXye59 z#Z^BYFKi3HZ+<%1{fOjM$tkxzFA86F+7WEr>$b{z$0dun-lt2PMUuKD{_sAJN?fwG zh9i~D$n(%6g;&oeXcPpBHspBoBu!+riW1mxeC?ujv5b7#%iYf#eKEcG;^F=$2kKcT z2|nUzFqQi1w?_R;&z!q{+3sZrpUjI`9yp)(afd>svQGYtlZ&Iz$ z?rBVw;P;uicXLzg`&7&VQ3QS+iEZ|_XcOt_unfN0xlS6 zXN#>`tI;u^EyG>KaPuk4i}zSv-bDN}Tgr5z@leNPCGjfxEQ?Kx@1(c2OzAu1!sThS z|K?fWT$8QybDF9eGwQ@1uJ`=y@JorK!l|m^)TxWlgX|9KX$LQBQuk2TT6`}w_tmC_ zVN2HhxN5Fb*wQe?>ZH=+rJAg3d{*i@zqP547BMsEXMGat#L3y$-8R`(Xr;>ukq1Zq zCM|Tm^R%N;xRP`JF7eYx4GkYX6?z!G*h}|;_SVeIHBI^z_sSp0DoJM@x&18S&x}Pf z{#iBIsV-p!3*AFepc&-+YLvarWcH~&xlZYOBH z{_jO*j{NH%mc^XiwKZ}o>s_hJ_KVB%%-rTbQwUihAr*dTk^61e94^_%AM-kXyx^M| zP_${mqP?q4)2D^qNR7L-Ibo%ReoFnNFVi?WpC9f{w7tHbb;3+B$49y{7R~E6M?OiK zY$8&ckv-?kI(QrP9aRoCMoZS4Gb4jHf0na-+V`xd$bn%`^zwP{3pO0yU219Bh%+bN7q7#yaYqP(874!xjAm<2couT}=<;r29UWtEg=WR*sE*5VV_PuY`NfvCaB# z`npY))#Y=Z@pvpKcE+_t_aJ96uixLr4^}WgQT?5C`Pqa;+jGv=E$&*QKG}Vq;);0_ z7x@I2mH&8sf@5*a;@aY;>@k1lC+(l}KxBi?Rujp2GVQ5Gd%?@OpHbb{ z$VsUGLc`@#j?6tPc-4067QcP_gI8S6VDi`NA6hOaHb~Vw9O!P>u4Wdv&1JOT(fd+B z>61e{ZlC@hZa4K%M9#@|LOcu?r{{kX-ym`3*Q??U0o$i({YopowPX2x9zCuCo4+<; z>9<+=7%Gc1>1y6r- z{S#R8m*t1m>u{T%{MF6>_wCPo$~~7k!eOOhZMg&Ei(K~D#*H8KF2BFDa>aRvS8cnd zuUPiMGGC2Tlit}SrKlhcNrSjm{iaB-FMY`(BCe?v*es6m!7VT z-*px7cdus(_V{}E8jE~;;bYtJQE_urO#P!X%@-e+Jqk{HuN5?@F{+Za=ugz1Wv9E< zTJ3KiHR7xL__z7(KYlK~ok?+NZ;Y2IE(uf1%ND4e_$8F{ef@{f@9%BzHr-aK@jvn{ zrl$O#bC9@h-pzhR@v7d8)r(e1mX~z>6zGdij6anqAn9q-*JCPt`QMyS#!G&U1(qjU zdxU4WOh4dLUF?0bul@1L6Db^q4=-`P+t}0AS(J5F<1o8g{>f$2AKLGnXPm$1B=gCt4}9RUwC8cEkd$lrbkUmQaDW|$ zxTF0GMW0hgJ3@c`QGIZfuYM;R|JU4g&x4MyZQCgK^x9pmfRN^;*EaKrl;m_>ReW`I z)q@N9bK5!{Wxh`<%?d-WpZ&%L0lSw7)wmb&fZ zV?W=@(B9alCo0(&vQX)3)@GlLUTZIFl*CVa!{5DQ!|EfZ2}H=b&KyLNBpdw z{Wf0fo@Kg^>7mr+sX{7Rlb*2dNlKqv&d4apdDC@zOqr_@S60B=`Qc3uS7m$M-Ec>5 zx8dHKqEB3NWX$gdJ^L1??#{JmlH0Mp-JGY-@7Df0F?hwYFO$4{BPK7OHmhygIa%IW zCfQRQ&kOWS^yJ?BGHUD0h4+1`Ble_DJ(*@_-CibZb@rC+)6+$J$~@L_PBy!BB);K* zY}Bc{zI9&(=W|!6#n3*0baugVqx0LBR)p=> zxz|z^JM+5Rc|-GnSBBQk@0BZa3w-+;?|3Zs+|mA%r|+tN^6~?QCbJ@zU3l<+8pHP) rN}jCj&5qN#?>~DrTRPi@aa&oL^0u30%HL+Ol_>WrPHfO%WncgRc5`vT literal 0 HcmV?d00001 diff --git a/fonts/athiti/Athiti-SemiBold.woff2 b/fonts/athiti/Athiti-SemiBold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..726a075aa50af254d111dfa0a72886f0a4c63748 GIT binary patch literal 11788 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 literal 0 HcmV?d00001 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/img/hackertours.svg b/img/hackertours.svg new file mode 100644 index 0000000..f940c3e --- /dev/null +++ b/img/hackertours.svg @@ -0,0 +1,18 @@ + + + + + + + diff --git a/img/hare_head.svg b/img/hare_head.svg new file mode 100644 index 0000000..3437de1 --- /dev/null +++ b/img/hare_head.svg @@ -0,0 +1,15 @@ + + + + + + diff --git a/img/location.svg b/img/location.svg new file mode 100644 index 0000000..66726e1 --- /dev/null +++ b/img/location.svg @@ -0,0 +1,18 @@ + + + + + + + diff --git a/img/lock.svg b/img/lock.svg new file mode 100644 index 0000000..cafd013 --- /dev/null +++ b/img/lock.svg @@ -0,0 +1,18 @@ + + + + + + + diff --git a/img/network.svg b/img/network.svg new file mode 100644 index 0000000..dd220ce --- /dev/null +++ b/img/network.svg @@ -0,0 +1,18 @@ + + + + + + + diff --git a/img/pencil.svg b/img/pencil.svg index e3a4faa..7fae82b 100644 --- a/img/pencil.svg +++ b/img/pencil.svg @@ -1 +1,18 @@ - \ No newline at end of file + + + + + + + diff --git a/img/plate_and_cutlery.svg b/img/plate_and_cutlery.svg new file mode 100644 index 0000000..b05c58a --- /dev/null +++ b/img/plate_and_cutlery.svg @@ -0,0 +1,18 @@ + + + + + + + diff --git a/img/schedule.svg b/img/schedule.svg new file mode 100644 index 0000000..3cee483 --- /dev/null +++ b/img/schedule.svg @@ -0,0 +1,18 @@ + + + + + + + diff --git a/img/train.svg b/img/train.svg new file mode 100644 index 0000000..d70c875 --- /dev/null +++ b/img/train.svg @@ -0,0 +1,41 @@ + + + + + + + + id="path49-2-7" /> + diff --git a/main.php b/main.php index 7d00e4b..1545c06 100755 --- a/main.php +++ b/main.php @@ -111,8 +111,7 @@ $classWideContent = (Template::getInstance())->fullWidthClass();

    -
    - From a4e83ec21ab2009f7fdd0d2e449bc6d81080a6f6 Mon Sep 17 00:00:00 2001 From: kritzl Date: Sat, 15 Feb 2025 13:00:05 +0100 Subject: [PATCH 35/61] WIP 02: style adjustments to match eh22 styleguide --- css/area_togglelink.less | 84 ++++++++++------------------- css/base_design.less | 10 ++++ css/plugins/extension__manager.less | 41 +++++++++++--- css/plugins/mediamanager.less | 16 ++++-- js/anchor.js | 4 +- 5 files changed, 86 insertions(+), 69 deletions(-) diff --git a/css/area_togglelink.less b/css/area_togglelink.less index 10a47bc..4c06ad5 100755 --- a/css/area_togglelink.less +++ b/css/area_togglelink.less @@ -8,52 +8,44 @@ top: 0; bottom: -1px; width: 2rem; - left: -(@margin-default); + left: -(@margin-default + 0.25rem); @media @screen_max-md { display: none; } a { - .fontello-double(); - .icon-right-bold(); - .icon-left-bold(); - - .display-flex(); - .flex-direction(); - .justify-content(); + position: absolute; + inset: 0; width: @margin-default; height: 100%; - background-color: @ini_button_background; - border: solid 1px @ini_button_background; - border-radius: @ini_default_border_radius 0 0 @ini_default_border_radius; // @ini_default_border_radius vs. @fix_border-radius - color: @ini_button_color; + 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, - &::after { - width: 100%; - opacity: .6; - font-size: 1rem; - line-height: 1; - text-align: center; - margin: 0; - transition: @transition opacity; - } - &::before { - opacity: 1; - font-size: 1.25rem; + 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 { - background-color: @ini_button_color; - border-color: @ini_button_background; - color: @ini_button_background; + border-color: var(--color-white); + color: var(--color-white); text-decoration: none; * { @@ -61,43 +53,25 @@ text-decoration: none; } - &::after { - opacity: 0; - } + --local-primary: var(--color-primary); + filter: @dropshadow; + transition: @neonflicker; + } } /* + + + toggle out + + + */ + .wide-content & { left: 0; a { - background-color: @ini_button_background; - border-color: @ini_button_background; - border-radius: 0 @ini_default_border_radius @ini_default_border_radius 0; // @ini_default_border_radius vs. @fix_border-radius + border-radius: 0 0.5rem 0.5rem 0; + border-style: solid; + border-left-style: none; &::before { - opacity: .6; - font-size: 1rem; - } - - &::after { - opacity: 1; - font-size: 1.25rem; - } - - &:hover, - &:focus, - &:active { - background-color: @ini_button_color; - - &::before { - opacity: 0; - } - - &::after { - opacity: 1; - } + mask-image: url('img/arrow_right.svg'); } } } diff --git a/css/base_design.less b/css/base_design.less index b1ced9b..f4d73bf 100755 --- a/css/base_design.less +++ b/css/base_design.less @@ -23,6 +23,15 @@ html, body { } .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 { @@ -88,6 +97,7 @@ html, body { } /* license note under edit window */ + div.license { font-size: @font-size-small; line-height: @line-height-default; diff --git a/css/plugins/extension__manager.less b/css/plugins/extension__manager.less index eae01b4..8ccd7b4 100644 --- a/css/plugins/extension__manager.less +++ b/css/plugins/extension__manager.less @@ -3,15 +3,40 @@ */ /* + + + + + global + + + + + */ -.dokuwiki #extension__manager { - .actions { - font-size: 0; +.dokuwiki { + #extension__manager { + .actions { + font-size: 0; - > button { - font-size: .92rem; - margin-left: .3rem; - padding-left: .3rem; - padding-right: .3rem; + > button { + font-size: .92rem; + margin-left: .3rem; + padding-left: .3rem; + padding-right: .3rem; + } + } + + 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/mediamanager.less b/css/plugins/mediamanager.less index 4c3269c..e591949 100644 --- a/css/plugins/mediamanager.less +++ b/css/plugins/mediamanager.less @@ -4,10 +4,18 @@ /* + + + + + global + + + + + */ #mediamanager__page { - .namespaces h2 { - bottom: 0; - line-height: 100%; - margin-bottom: -1px; + .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 { diff --git a/js/anchor.js b/js/anchor.js index 76907ba..6bbd854 100644 --- a/js/anchor.js +++ b/js/anchor.js @@ -2,8 +2,8 @@ jQuery(function () { jQuery('#dokuwiki__content.main-content').find('h1,h2,h3,h4,h5').append(function () { if (this.id) { return '' + - '' + - '' + + '' + + '' + '' + ''; } else { From 0501598d41a61179c8c9ac9d5202216b0382887b Mon Sep 17 00:00:00 2001 From: kritzl Date: Thu, 20 Feb 2025 22:03:16 +0100 Subject: [PATCH 36/61] WIP 02: style adjustments to match eh22 styleguide --- Template.php | 31 +-- css/area_main-content-anchor.less | 16 +- css/area_main-content-secedit.less | 24 +- css/area_main-sidebar-nav.less | 32 ++- css/area_main-sidebar-search.less | 43 ++- css/area_nav-metabox.less | 44 +-- css/area_togglelink.less | 9 +- css/base.less | 99 ++++++- css/base_design.less | 30 -- css/icons.less | 60 ++++ css/plugins/edit.less | 26 +- css/plugins/translation.less | 30 +- css/toollist.less | 2 +- img/LICENSE | 427 +++++++++++++++++++++++++++++ img/arrow_down.svg | 3 + img/arrow_down_left.svg | 3 + img/arrow_down_right.svg | 3 + img/arrow_left.svg | 3 + img/arrow_right.svg | 3 + img/arrow_up.svg | 3 + img/arrow_up_left.svg | 3 + img/arrow_up_right.svg | 3 + img/basket.svg | 3 + img/bed.svg | 3 + img/clock.svg | 3 + img/code.svg | 3 + img/creature.svg | 3 + img/cross.svg | 3 + img/cross_small.svg | 3 + img/cup_1.svg | 3 + img/cup_2.svg | 3 + img/dect.svg | 3 + img/export.sh | 31 +++ img/external.svg | 3 + img/fairydust.svg | 3 + img/file-export.svg | 7 +- img/flag.svg | 3 + img/gluten.svg | 3 + img/hackertours.svg | 19 +- img/hare_head.svg | 16 +- img/history.svg | 3 + img/home.svg | 3 + img/hygene.svg | 3 + img/info.svg | 3 + img/lightbulb.svg | 3 + img/link.svg | 3 + img/location.svg | 19 +- img/lock.svg | 19 +- img/login.svg | 3 + img/logout.svg | 3 + img/menu.svg | 4 +- img/menu_small.svg | 3 + img/merch.svg | 3 + img/message.svg | 3 + img/microphone.svg | 3 + img/network.svg | 19 +- img/pen.svg | 3 + img/plate_and_cutlery.svg | 19 +- img/power.svg | 3 + img/question.svg | 3 + img/schedule.svg | 19 +- img/search.svg | 3 + img/settings.svg | 3 + img/signup.svg | 3 + img/soldering_iron.svg | 3 + img/tick.svg | 3 + img/tick_small.svg | 3 + img/ticket.svg | 3 + img/toast.svg | 3 + img/train.svg | 44 +-- img/vegan.svg | 3 + img/warning.svg | 3 + main.php | 1 + style.ini | 1 + tpl/main-sidebar-nav.php | 42 ++- 75 files changed, 957 insertions(+), 317 deletions(-) create mode 100644 css/icons.less create mode 100644 img/LICENSE create mode 100644 img/arrow_down.svg create mode 100644 img/arrow_down_left.svg create mode 100644 img/arrow_down_right.svg create mode 100644 img/arrow_left.svg create mode 100644 img/arrow_right.svg create mode 100644 img/arrow_up.svg create mode 100644 img/arrow_up_left.svg create mode 100644 img/arrow_up_right.svg create mode 100644 img/basket.svg create mode 100644 img/bed.svg create mode 100644 img/clock.svg create mode 100644 img/code.svg create mode 100644 img/creature.svg create mode 100644 img/cross.svg create mode 100644 img/cross_small.svg create mode 100644 img/cup_1.svg create mode 100644 img/cup_2.svg create mode 100644 img/dect.svg create mode 100755 img/export.sh create mode 100644 img/external.svg create mode 100644 img/fairydust.svg create mode 100644 img/flag.svg create mode 100644 img/gluten.svg create mode 100644 img/history.svg create mode 100644 img/home.svg create mode 100644 img/hygene.svg create mode 100644 img/info.svg create mode 100644 img/lightbulb.svg create mode 100644 img/link.svg create mode 100644 img/login.svg create mode 100644 img/logout.svg create mode 100644 img/menu_small.svg create mode 100644 img/merch.svg create mode 100644 img/message.svg create mode 100644 img/microphone.svg create mode 100644 img/pen.svg create mode 100644 img/power.svg create mode 100644 img/question.svg create mode 100644 img/search.svg create mode 100644 img/settings.svg create mode 100644 img/signup.svg create mode 100644 img/soldering_iron.svg create mode 100644 img/tick.svg create mode 100644 img/tick_small.svg create mode 100644 img/ticket.svg create mode 100644 img/toast.svg create mode 100644 img/vegan.svg create mode 100644 img/warning.svg diff --git a/Template.php b/Template.php index 03f4bb7..1cd2739 100644 --- a/Template.php +++ b/Template.php @@ -264,35 +264,16 @@ class Template { $title = tpl_getLang('adjunct_start_logo_text') . $conf['title']; } - $desktop = self::getResizedImgTag( - 'img', - array( - 'class' => 'mobile-hide', - 'src' => array('wiki:logo-wide.svg', 'wiki:logo.svg', 'wiki:logo-wide.png', 'wiki:logo.png'), - 'alt' => $title, - ), - 0, 250, false - ); - $mobile = self::getResizedImgTag( - 'img', - array( - 'class' => 'mobile-only', - 'src' => array( - 'wiki:logo-32x32.svg', 'wiki:favicon.svg', 'wiki:logo-square.svg', 'wiki:logo.svg', - 'wiki:logo-32x32.png', 'wiki:favicon.png', 'wiki:logo-square.png', 'wiki:logo.png' - ), - 'alt' => $title, - ), - 32, 32 - ); + $logo = << +EH22 DEMO +HTML; // homepage logo should not link to itself (BITV accessibility requirement) if($linkit) { - tpl_link(wl(), $desktop, 'accesskey="h" title="[H]"'); - tpl_link(wl(), $mobile, 'accesskey="h" title="[H]"'); + tpl_link(wl(), $logo, 'accesskey="h" title="[H]"'); } else { - echo $desktop; - echo $mobile; + echo $logo; } } diff --git a/css/area_main-content-anchor.less b/css/area_main-content-anchor.less index 0644f4a..c5e55dc 100644 --- a/css/area_main-content-anchor.less +++ b/css/area_main-content-anchor.less @@ -9,13 +9,27 @@ svg { width: 1em; height: 1em; - fill: @ini_link; + 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 index f341f80..1d26e34 100644 --- a/css/area_main-content-secedit.less +++ b/css/area_main-content-secedit.less @@ -12,19 +12,21 @@ form div.no { button { margin-top: -.4rem; - padding-right: 0; + 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: ''; - float: right; display: inline-block; background: transparent url("svg.php?svg=pencil.svg&f=existing") center center no-repeat; height: 1em; @@ -34,20 +36,20 @@ 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 { - //background-color: @ini_existing; - color: @ini_existing; - //border-color: @ini_existing; - - &::after { - background-color: @ini_existing; - background-image: url("svg.php?svg=pencil.svg&f=background"); - border-color: @ini_existing; - } + .fnActiveButton(); } } } diff --git a/css/area_main-sidebar-nav.less b/css/area_main-sidebar-nav.less index 1cf4b8d..4525e98 100755 --- a/css/area_main-sidebar-nav.less +++ b/css/area_main-sidebar-nav.less @@ -28,7 +28,7 @@ } > p { - color: @ini_nav_menu_color; + color: var(--color-foreground); &.noissue { color: @ini_text_webframe; @@ -45,7 +45,7 @@ } li { - color: @ini_nav_menu_color; + color: var(--color-foreground); > div { color: @ini_text_webframe; @@ -74,11 +74,11 @@ &:link, &:visited { opacity: .9; - color: @ini_nav_menu_color; + color: var(--color-foreground); } * { - color: inherit; + color: var(--color-foreground); } } @@ -103,12 +103,14 @@ cursor: pointer; - display: table; + display: flex; + align-items: center; width: 100%; opacity: 1; font-weight: normal; margin: -1px 0 @very-small-spacing; padding: 0.4rem 0.1rem; + text-decoration: none; span { display: inline-block; @@ -116,6 +118,16 @@ 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 + + + */ @@ -146,16 +158,16 @@ &:focus-within { position: relative; // always show label, even with collapsed sidebar z-index: 100; + a { width: 100%; background-color: transparent; - border: solid 0.1em var(--color-white); + border: solid 0.1em var(--color-glow-primary); text-decoration: none; - color: var(--color-white); - --local-primary: var(--color-primary); - filter: @dropshadow; - transition: @neonflicker; + color: var(--color-glow-primary); + filter: var(--filter-glow-primary); + transition: var(--transition-glow); span.ico { diff --git a/css/area_main-sidebar-search.less b/css/area_main-sidebar-search.less index f2a4c03..343641d 100644 --- a/css/area_main-sidebar-search.less +++ b/css/area_main-sidebar-search.less @@ -13,9 +13,7 @@ p.toggleSearch a, button[type="submit"] { - .fontello(); .hide-text-show-before(); - .icon-search(); position: relative; width: @icon-size; @@ -26,25 +24,35 @@ border: solid 1px transparent; padding: 0; transition: @transition color, @transition background-color, @transition border-color; + display: flex; + align-items: center; &:hover, &:focus, &:active { - min-height: @icon-size; - background-color: @ini_button_color; - border: solid 1px @ini_button_background; + .fnActiveButton(); - &::after { - background-color: @ini_button_background; + &::after{ + background-color: var(--color-glow-primary); } } &::before { - width: 100%; - color: inherit; + 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'); } } @@ -78,7 +86,7 @@ &:focus, &:active { background-color: @ini_nav_menu_hover_bg; - border-color: @ini_nav_menu_hover_color; + border-color: var(--color-shade-4); color: @ini_nav_menu_hover_color; } } @@ -92,17 +100,6 @@ height: auto; min-height: (@icon-size - .2); color: @quicksearch-button-color; - - &:hover, - &:focus, - &:active { - top: 0; - bottom: 0; - min-height: @icon-size; - background-color: @ini_button_color; - border: solid 1px @ini_button_background; - color: @ini_button_background; - } } /* + + + form + + + */ @@ -128,7 +125,7 @@ button[type="submit"] { border: solid 1px transparent; - border-right-color: @ini_border; + border-right-color: var(--color-shade-4); margin-left: -(@icon-size); &::after { @@ -138,7 +135,7 @@ bottom: 15%; width: 1px; left: -1px; - background-color: @ini_border; + background-color: var(--color-shade-4); transition: @transition background-color; } } diff --git a/css/area_nav-metabox.less b/css/area_nav-metabox.less index ae9c45d..ad17187 100755 --- a/css/area_nav-metabox.less +++ b/css/area_nav-metabox.less @@ -7,11 +7,17 @@ .flex-direction(); .justify-content(flex-end); + clear: none; + display: block; position: relative; float: right; + + box-sizing: border-box; max-width: 40%; - margin-top: -(@page_padding-top); // reverse padding-top of .page container - margin-right: -1px; + padding-bottom: 0.5rem; + height: 4rem !important; + + color: var(--color-foreground); // >= 1024 @media @screen_min-md { @@ -37,7 +43,7 @@ ul.meta-tabs > li > a { border-top-color: var(--color-background); - border-bottom-color: @noopentasks-border; + border-bottom-color: var(--color-shade-4); border-radius: 0 0 @ini_default_border_radius @ini_default_border_radius; } @@ -119,10 +125,10 @@ @media @screen_min-md { background-color: var(--color-background); - border: 1px solid @noopentasks-border; + border: 1px solid var(--color-shade-4); border-bottom-color: var(--color-background); border-radius: @ini_default_border_radius @ini_default_border_radius 0 0; // @ini_default_border_radius vs. @fix_border-radius - color: @ini_nav_menu_color; + color: var(--color-foreground); margin-left: 4px; padding: .3em 1rem .1em; } @@ -130,8 +136,8 @@ @media @screen_max-md { background-color: var(--color-background); top: 0; - border: 1px solid @ini_existing; - color: @ini_existing; + border: 1px solid var(--color-shade-4); + color: var(--color-foreground); margin-top: .2rem; margin-left: 0; padding: .2em .3rem; @@ -156,14 +162,14 @@ @media @screen_min-md { background-color: var(--color-background); - border-color: @ini_existing; - color: @ini_existing; + border-color: var(--color-shade-4); + color: var(--color-foreground); } @media @screen_max-md { - background-color: @ini_existing; + background-color: var(--color-shade-4); border-color: var(--color-background); - color: var(--color-background); + color: var(--color-foreground); } } } @@ -172,15 +178,15 @@ > a { cursor: default; background-color: var(--color-background); - border-color: @ini_existing; + border-color: var(--color-shade-4); border-bottom-color: var(--color-background); - color: @ini_existing; + color: var(--color-foreground); @media @screen_max-md { - background-color: @ini_existing; - border-bottom-color: @ini_existing; + background-color: var(--color-shade-4); + border-bottom-color: var(--color-shade-4); border-radius: 0; - color: var(--color-background); + color: var(--color-foreground); } } } @@ -203,7 +209,7 @@ display: none; width: 100%; background-color: var(--color-background); - border: 1px solid @ini_existing; + border: 1px solid var(--color-shade-4); @media @screen_min-xs { min-width: 20em; @@ -218,7 +224,7 @@ } a { - color: @ini_existing; + color: var(--color-foreground); } > div { @@ -295,7 +301,7 @@ width: 4px; height: 4px; overflow: hidden; - background-color: @ini_existing; + background-color: var(--color-shade-4); } } } diff --git a/css/area_togglelink.less b/css/area_togglelink.less index 4c06ad5..9a12b47 100755 --- a/css/area_togglelink.less +++ b/css/area_togglelink.less @@ -44,8 +44,8 @@ &:hover, &:focus, &:active { - border-color: var(--color-white); - color: var(--color-white); + border-color: var(--color-glow-primary); + color: var(--color-glow-primary); text-decoration: none; * { @@ -53,9 +53,8 @@ text-decoration: none; } - --local-primary: var(--color-primary); - filter: @dropshadow; - transition: @neonflicker; + filter: var(--filter-glow-primary); + transition: var(--transition-glow); } } diff --git a/css/base.less b/css/base.less index 7d86b7f..a05abe0 100755 --- a/css/base.less +++ b/css/base.less @@ -386,10 +386,6 @@ nav > ul { /* variables */ /* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ -@dropshadow: drop-shadow(0 0 0.0625em var(--color-white)) drop-shadow(0 0 0.125em var(--local-primary)) drop-shadow(0 0 0.25em var(--local-primary)); -@neonflicker: filter 150ms cubic-bezier(0,1.7,1,-0.3) 50ms, -border-color 150ms cubic-bezier(0,1.7,1,-0.3) 50ms; - :root { --color-neutral-50: #F2F0F5; --color-neutral-100: #D1C6E0; @@ -505,6 +501,46 @@ border-color 150ms cubic-bezier(0,1.7,1,-0.3) 50ms; --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 */ @@ -527,6 +563,21 @@ border-color 150ms cubic-bezier(0,1.7,1,-0.3) 50ms; --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; + + .light-only { + display: none; + } + + .dark-only { + display: initial; + } } .light { @@ -543,6 +594,21 @@ border-color 150ms cubic-bezier(0,1.7,1,-0.3) 50ms; --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; + + .light-only { + display: initial; + } + + .dark-only { + display: none; + } } html, @@ -590,9 +656,28 @@ border-color 150ms cubic-bezier(0,1.7,1,-0.3) 50ms; display: none; } - a:active, - a:hover { - outline: 0; + 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] { diff --git a/css/base_design.less b/css/base_design.less index f4d73bf..2dfc1f1 100755 --- a/css/base_design.less +++ b/css/base_design.less @@ -438,22 +438,6 @@ th { text-align: right; } -a { - outline: none; - - &:link, - &:visited { - text-decoration: none; - color: @ini_link; // links to non wikipages (external links) - } - - &:hover, - &:focus, - &:active { - text-decoration: underline; - } -} - img { display: inline-block; border-width: 0; @@ -526,20 +510,6 @@ kbd { span { color: inherit; } - - a { - &:link, - &:visited { - color: inherit; - text-decoration: underline; - } - - &:hover, - &:focus, - &:active { - text-decoration: none; - } - } } pre { 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/plugins/edit.less b/css/plugins/edit.less index 2ec9e9f..b3092d7 100644 --- a/css/plugins/edit.less +++ b/css/plugins/edit.less @@ -7,13 +7,11 @@ #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, - ); + 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); } @@ -23,6 +21,16 @@ font-size: 100%; margin-top: .5rem; margin-bottom: .5rem; + + &::after { + + } + + &:hover { + &::after { + border: none; + } + } } div.editBox { @@ -42,11 +50,13 @@ white-space: normal; display: block; width: 100%; + span { display: inline-block; padding-bottom: .4rem; } - input#edit__summary{ + + input#edit__summary { max-width: 100%; box-sizing: border-box; } diff --git a/css/plugins/translation.less b/css/plugins/translation.less index 1a430e0..66b36aa 100644 --- a/css/plugins/translation.less +++ b/css/plugins/translation.less @@ -1,6 +1,7 @@ /** * This file provides styles for the translation plugin */ +@import "../base"; .dokuwiki div.plugin_translation { @@ -11,8 +12,8 @@ box-sizing: border-box; width: 100%; - border-bottom: 1px solid var(--color-shade-4); padding-bottom: 0.5rem; + height: 4rem; + * { clear: both; @@ -20,11 +21,28 @@ } ul li { - a.wikilink1:link, - a.wikilink1:hover, - a.wikilink1:active, - a.wikilink1:visited { - background-color: @ini_link; + // 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); } } } diff --git a/css/toollist.less b/css/toollist.less index c2f69d5..e9d5b14 100644 --- a/css/toollist.less +++ b/css/toollist.less @@ -23,7 +23,7 @@ svg { width: @font-size-default; vertical-align: middle; - fill: @ini_nav_menu_color; + fill: var(--color-foreground); margin-right: .2em; } } 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/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/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 index d1a3f2d..727df65 100644 --- a/img/file-export.svg +++ b/img/file-export.svg @@ -1 +1,6 @@ - \ No newline at end of file + + + + \ 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 index f940c3e..ca88cc6 100644 --- a/img/hackertours.svg +++ b/img/hackertours.svg @@ -1,18 +1,3 @@ - - - - - - + + diff --git a/img/hare_head.svg b/img/hare_head.svg index 3437de1..e20029e 100644 --- a/img/hare_head.svg +++ b/img/hare_head.svg @@ -1,15 +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 index 66726e1..e299d03 100644 --- a/img/location.svg +++ b/img/location.svg @@ -1,18 +1,3 @@ - - - - - - + + diff --git a/img/lock.svg b/img/lock.svg index cafd013..6f32cac 100644 --- a/img/lock.svg +++ b/img/lock.svg @@ -1,18 +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 index db5d4df..dda9be4 100644 --- a/img/menu.svg +++ b/img/menu.svg @@ -1 +1,3 @@ - \ No newline at end of file + + + 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 index dd220ce..d746fb9 100644 --- a/img/network.svg +++ b/img/network.svg @@ -1,18 +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/plate_and_cutlery.svg b/img/plate_and_cutlery.svg index b05c58a..e759c5a 100644 --- a/img/plate_and_cutlery.svg +++ b/img/plate_and_cutlery.svg @@ -1,18 +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 index 3cee483..fcd4f79 100644 --- a/img/schedule.svg +++ b/img/schedule.svg @@ -1,18 +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/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/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 index d70c875..6791f66 100644 --- a/img/train.svg +++ b/img/train.svg @@ -1,41 +1,3 @@ - - - - - - - - id="path49-2-7" /> - + + + 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/main.php b/main.php index 1545c06..32a1d52 100755 --- a/main.php +++ b/main.php @@ -406,5 +406,6 @@ $classWideContent = (Template::getInstance())->fullWidthClass();
    + diff --git a/style.ini b/style.ini index 7a33bb4..dfa5e9e 100755 --- a/style.ini +++ b/style.ini @@ -52,6 +52,7 @@ css/base_vars.less = all css/base.less = all +css/icons.less = all css/base_mixins.less = all css/base_fontello-icons.less = all css/base_structure.less = all diff --git a/tpl/main-sidebar-nav.php b/tpl/main-sidebar-nav.php index b0cfc33..72c5282 100644 --- a/tpl/main-sidebar-nav.php +++ b/tpl/main-sidebar-nav.php @@ -3,10 +3,27 @@ echo \dokuwiki\template\sprintdoc\Template::getInstance()->getNavigation(); ?>