diff --git a/css/area_nav-metabox.less b/css/area_nav-metabox.less index f3fe6b5..684fce5 100755 --- a/css/area_nav-metabox.less +++ b/css/area_nav-metabox.less @@ -306,8 +306,14 @@ li { &.noissue { + font-size: @font-size-small; list-style-type: none; margin-left: 0; + + .li { + font-size: @font-size-small; + margin-left: .5rem; + } } a { diff --git a/css/area_nav-pagetools.less b/css/area_nav-pagetools.less index 7cd1529..49c2dff 100755 --- a/css/area_nav-pagetools.less +++ b/css/area_nav-pagetools.less @@ -31,7 +31,15 @@ nav#dokuwiki__pagetools { @toolbox-size: 30px; + @page-tools_svg-size: 25px; + @page-tools_svg-space: (@toolbox-size - @page-tools_svg-size) / 2; + @item-width: (@page-tools_svg-size + @page-tools_svg-space + @page-tools_svg-space); + @item-height: (@page-tools_svg-size + @page-tools_svg-space); + top: 3.05rem; + position: absolute; + + width: @item-width; @media @screen_min-md { right: -2.5rem; @@ -44,25 +52,37 @@ nav#dokuwiki__pagetools { @media @screen_max-xxs { display: none; } + div.tools { + position: fixed; + width: @item-width; + } ul { - li { - @page-tools_svg-size: 25px; - @page-tools_svg-space: (@toolbox-size - @page-tools_svg-size) / 2; + position: absolute; + right: 0; + text-align: right; + margin: 0; + padding: 0; + /* add transparent border to prevent jumping when proper border is added on hover */ + border: 1px solid transparent; - * { - font-size: @font-size-default; - } + li { + padding: 0; + margin: 0; + list-style: none; a { - .fontello-double(); + display: inline-table; + /* add transparent border to prevent jumping when proper border is added on focus */ + border: 1px solid transparent; + white-space: nowrap; + vertical-align: middle; + height: @item-height; position: relative; - height: auto; - min-height: @toolbox-size; // for nav:hover - width: @toolbox-size; // for nav:hover + line-height: 20px; font-size: @font-size-default; - padding: 2px @toolbox-size 2px 2px; + padding: 2px 0 2px 2px; @media @screen_min-md { color: @ini_nav_menu_color; @@ -72,10 +92,6 @@ nav#dokuwiki__pagetools { color: @ini_existing; } - * { - color: inherit; - } - &::before { display: none; } @@ -91,9 +107,6 @@ nav#dokuwiki__pagetools { background-image: none; background-color: @ini_background; color: @ini_existing; - padding-top: 2px; - padding-bottom: 2px; - padding-right: 0; span { position: relative; @@ -152,7 +165,6 @@ nav#dokuwiki__pagetools { background-image: none; border-color: transparent; color: inherit; - padding: 2px 0 2px 2px; svg { border: solid 1px transparent; diff --git a/css/area_nav-usertools.less b/css/area_nav-usertools.less index 2710719..46aa165 100755 --- a/css/area_nav-usertools.less +++ b/css/area_nav-usertools.less @@ -221,11 +221,35 @@ } } } // user + } // li /* + + + icons + + + */ - a { + .menuitem, button { + padding: 2px 0 0 2px; + min-height: @toggle-size; // overrides button[type="submit"] styles + border: solid 1px @wikiicons-border; // overrides button[type="submit"] styles + .btn-hover(); + + &:hover svg, &:focus svg { + transition: @transition fill; + fill: @ini_nav_menu_hover_bg; + } + + svg { + fill: @ini_nav_menu_hover_color; + height: @font-size-default + (@font-scale-factor * 4); + } + + span { + display: none; + } + + } + + + a { // Pre-Greebo backwards compatibility, remove after transitioning to Greebo .fontello(); .hide-text-show-before(); .btn-hover(); diff --git a/css/base_design.less b/css/base_design.less index 2cbe4df..97c8f84 100755 --- a/css/base_design.less +++ b/css/base_design.less @@ -477,6 +477,10 @@ th { background-color: @ini_background_alt; color: @ini_text_alt; text-align: left; + + a { + color: @ini_link_alt; + } } [dir=rtl] th { diff --git a/css/base_mixins.less b/css/base_mixins.less index e17ee37..1e9af0a 100755 --- a/css/base_mixins.less +++ b/css/base_mixins.less @@ -332,19 +332,40 @@ .make-grid(@class) { .float-grid-columns(@class); - .loop-grid-columns(@grid-columns, @class, width); + .grid-columns(1, @class, width); + .grid-columns(2, @class, width); + .grid-columns(3, @class, width); + .grid-columns(4, @class, width); + .grid-columns(5, @class, width); + .grid-columns(6, @class, width); + .grid-columns(7, @class, width); + .grid-columns(8, @class, width); + .grid-columns(9, @class, width); + .grid-columns(10, @class, width); + .grid-columns(11, @class, width); + .grid-columns(12, @class, width); } .float-grid-columns(@class) { - .col-@{class}-1, .col-@{class}-2, .col-@{class}-3, .col-@{class}-4, .col-@{class}-5, .col-@{class}-6, .col-@{class}-7, .col-@{class}-8, .col-@{class}-9, .col-@{class}-10, .col-@{class}-11, .col-@{class}-12 { + .col-@{class}-1, + .col-@{class}-2, + .col-@{class}-3, + .col-@{class}-4, + .col-@{class}-5, + .col-@{class}-6, + .col-@{class}-7, + .col-@{class}-8, + .col-@{class}-9, + .col-@{class}-10, + .col-@{class}-11, + .col-@{class}-12 { float: left; } } -.loop-grid-columns(@index, @class, @type) when (@index >= 0) { +// todo: no recusion - fix it !!! +.grid-columns(@index, @class, @type) { .calc-grid-column(@index, @class, @type); - // next iteration - .loop-grid-columns((@index - 1), @class, @type); } .calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) { diff --git a/css/base_structure.less b/css/base_structure.less index 2b0cfe9..0048ad4 100755 --- a/css/base_structure.less +++ b/css/base_structure.less @@ -83,7 +83,7 @@ } #spr__meta-box { - z-index: 1; // put meta-box above positioned content-elements such as aggregations, edit-buttons + z-index: 10; // put meta-box above positioned content-elements such as aggregations, edit-buttons ul.meta-tabs > li.active { z-index: 1; // put the active tab above the meta-content in .tab-pane.active } diff --git a/css/plugins/struct.less b/css/plugins/struct.less index c4aaca7..5c07d5c 100755 --- a/css/plugins/struct.less +++ b/css/plugins/struct.less @@ -18,11 +18,17 @@ line-height: @line-height-default; a { - color: @ini_existing; + //color: @ini_existing; line-height: @line-height-default; } } + th { + a { + color: @ini_link_alt; + } + } + // search button in table (f.i. "All products") table th input { &:not(:focus) { @@ -65,15 +71,19 @@ background-color: @ini_existing; background-image: url("svg.php?svg=file-export.svg&f=background"); border-color: @ini_existing; - color: @ini_background; + //color: @ini_background; text-decoration: none; } } } } - #plugin__struct_output{ + #plugin__struct_output { margin-right: 0; + + th { + background-color: @ini_background_alt; + } } .struct_entry_form { @@ -163,6 +173,6 @@ form { padding-top: 1rem; } } - } + } // fieldset } -} +} // form diff --git a/css/toollist.less b/css/toollist.less new file mode 100644 index 0000000..1cd2459 --- /dev/null +++ b/css/toollist.less @@ -0,0 +1,30 @@ +/** + * Styles for site tools and user tools in sidebar + * + * Using BEM methodology as far as possible + */ + +.toollist { +} + +.toollist__listitem { + list-style: none; + + a { + display: inline-flex; + flex-direction: row-reverse; + flex-wrap: nowrap; + align-items: center; + } + + span { + font-size: @font-size-default; + } + + svg { + width: @font-size-default; + vertical-align: middle; + fill: @ini_nav_menu_color; + margin-right: .2em; + } +} diff --git a/lang/de/lang.php b/lang/de/lang.php index bbfb5ab..b86959c 100755 --- a/lang/de/lang.php +++ b/lang/de/lang.php @@ -11,55 +11,56 @@ $lang['direct_content_main'] = 'Hauptinhalt dieser Seite'; $lang['direct_quick_search'] = 'Schnellsuche'; $lang['direct_content_toggle'] = 'Breite des Contents ändern'; -$lang['adjunct_start_logo_text'] = 'Logo: '; -$lang['adjunct_linked_logo_text'] = '. Link zur Startseite'; -$lang['a11y_sidebartoggle'] = 'Sidebar öffnen/schliessen'; +$lang['adjunct_linked_logo_text'] = ' - Link zur Startseite'; +$lang['a11y_sidebartoggle'] = 'Navigation anzeigen/verbergen'; $lang['nav-area-head'] = 'Navigationsmenüs und Suche'; $lang['head_magic_matcher'] = 'MagicMatcher'; -$lang['head_quick_search'] = 'wikiübergreifende Schnellsuche'; -$lang['head_menu_main'] = 'Hauptmenü'; +$lang['head_quick_search'] = 'Wikiübergreifende Schnellsuche'; $lang['head_menu_status'] = 'Seitenstatus'; $lang['head_breadcrumb_youarehere'] = 'Standortanzeiger'; $lang['head_menu_trace'] = 'Zuletzt Angesehen'; $lang['head_meta_box'] = 'Metainformationen zur Seite'; -$lang['head_menu_starred'] = 'gemerkte Seite'; +$lang['head_menu_starred'] = 'Gemerkte Seiten'; $lang['head_menu_tool-select'] = 'Werkzeuge'; $lang['jump_to_quicksearch'] = 'Springe zur Schnellsuche'; +/** it will be shown from plugin lang.php: $lang['meta_box_jira_tickets_none'] = 'Keine Jira-Tickets verknüpft'; $lang['meta_box_tags_none'] = 'Keine Tags verknüpft'; $lang['js']['meta_box_toc_none'] = 'kein Inhaltsverzeichnis vorhanden'; +$lang['prefix_tasks_user'] = 'Ihre offenen Aufgaben: '; +*/ $lang['tab_tags'] = 'Tags'; $lang['tab_issues'] = 'Issues'; -$lang['quality_trigger'] = 'Seitenanalyse ein- bzw. ausblenden'; +$lang['quality_trigger'] = 'Seitenanalyse anzeigen/verbergen'; -$lang['prefix_tasks'] = 'offene Aufgaben: '; $lang['prefix_tasks_page'] = 'offene Aufgaben auf dieser Seite: '; -$lang['prefix_tasks_user'] = 'Ihre offenen Aufgaben: '; $lang['tasks_page_none'] = 'keine offenen Aufgaben für diese Seite'; -$lang['tasks_page_intime'] = 'Es gibt %1$d offenen Aufgaben für diese Seite.'; -$lang['tasks_page_late'] = 'Es gibt %1$d offenen Aufgaben für diese Seite, %2$d sind zu spät.'; +$lang['tasks_page_intime'] = 'offenen Aufgaben für diese Seite: %1$d'; +$lang['tasks_page_late'] = 'offenen Aufgaben für diese Seite: %1$d, zu spät: %2$d'; -$lang['discussion'] = 'Diskussion'; -$lang['back_to_article'] = 'Zurück zum Artikel'; -$lang['userpage'] = 'Benutzer-Seite'; +/** is not used +$lang['discussion'] = 'xxx Diskussion'; +$lang['back_to_article'] = 'xxx Zurück zum Artikel'; +$lang['userpage'] = 'xxx Benutzer-Seite'; + */ -$lang['meta_data'] = 'Meta Daten des Bildes'; +$lang['meta_data'] = 'Meta Daten des Bildes'; /** wird aufgerufen aber nicht ausgegeben - Fehler? */ $lang['osm_zoom_link_text'] = 'größere Karte anzeigen'; -$lang['osm_zoom_link_title'] = 'externer Link - öffnet in neuem Fenster'; +$lang['osm_zoom_link_title'] = 'externer Link - öffnet in neuem Fenster'; /** in streetmaps - konnte ich nicht finden */ + $lang['image_detail'] = 'Detailinformationen zum Bild'; - $lang['mode_edit'] = 'Seite bearbeiten'; -$lang['mode_detail'] = 'Details zum Bild'; + /** - * colors + * preferences colors */ $lang['__site_width__'] = 'Content - Breite (in %)'; @@ -93,7 +94,8 @@ $lang['__button_color__'] = 'Buttons - Schriftfarbe'; $lang['__button_background__'] = 'Buttons - Hintergrundfarbe'; $lang['__background_alt__'] = 'Tabellenkopf, Tabellenzeile (hover), struct Label (hover) - Hintergrundfarbe (alternativ)'; -$lang['__text_alt__'] = 'Tabellenkopf (unverlinkt), Tabellenzeile (hover), struct Label (hover) - Schriftfarbe (alternativ)'; +$lang['__text_alt__'] = 'Tabellenkopf: unverlinkt, Tabellenzeile (hover), struct Label (hover) - Schriftfarbe (alternativ)'; +$lang['__link_alt__'] = 'Tabellenkopf: verlinkt - Schriftfarbe (alternativ)'; $lang['__border__'] = 'Tabellen, Formularfelder, Zitate - Rahmenfarbe'; $lang['__default_border_radius__'] = 'Wiki Icons, Content (oben rechts) - Borderradius'; diff --git a/lang/en/lang.php b/lang/en/lang.php index 7474e88..48d6210 100755 --- a/lang/en/lang.php +++ b/lang/en/lang.php @@ -9,16 +9,14 @@ $lang['direct_prefix'] = 'jump to'; $lang['direct_content_main'] = 'Main Content'; $lang['direct_quick_search'] = 'Search'; -$lang['direct_content_toggle'] = 'Toggle Content Width'; +$lang['direct_content_toggle'] = 'Change Content Width'; -$lang['adjunct_start_logo_text'] = 'Logo: '; -$lang['adjunct_linked_logo_text'] = '. homepage link'; -$lang['a11y_sidebartoggle'] = 'Open/Close Sidebar'; +$lang['adjunct_linked_logo_text'] = ' - homepage link'; +$lang['a11y_sidebartoggle'] = 'Show/Hide Navigation'; $lang['nav-area-head'] = 'menus and quick search'; $lang['head_magic_matcher'] = 'MagicMatcher'; $lang['head_quick_search'] = 'quick search'; -$lang['head_menu_main'] = 'main menu'; $lang['head_menu_status'] = 'site status'; $lang['head_breadcrumb_youarehere'] = 'location indicator'; $lang['head_menu_trace'] = 'Last Visited Pages'; @@ -28,37 +26,41 @@ $lang['head_menu_tool-select'] = 'Tools'; $lang['jump_to_quicksearch'] = 'Jump to quick search'; +/** it will be shown from plugin lang.php: $lang['meta_box_jira_tickets_none'] = 'jira associated tickets found: none'; $lang['meta_box_tags_none'] = 'tags found: none'; $lang['js']['meta_box_toc_none'] = 'no Table of Contents available'; +$lang['prefix_tasks_user'] = 'Your open tasks: '; +*/ $lang['tab_tags'] = 'Tags'; $lang['tab_issues'] = 'Issues'; -$lang['quality_trigger'] = 'toggle page analysis'; +$lang['quality_trigger'] = 'Show/Hide page analysis'; -$lang['prefix_tasks'] = 'open tasks: '; $lang['prefix_tasks_page'] = 'open tasks for this page: '; -$lang['prefix_tasks_user'] = 'Your open tasks: '; -$lang['tasks_page_none'] = 'There are no open tasks for this page.'; -$lang['tasks_page_intime'] = 'There are %1$d open tasks on this page.'; -$lang['tasks_page_late'] = 'There are %1$d open tasks on this page, %2$d are late.'; +$lang['tasks_page_none'] = 'no open tasks on this page'; +$lang['tasks_page_intime'] = 'open tasks on this page: %1$d'; +$lang['tasks_page_late'] = 'open tasks on this page: %1$d, to late: %2$d'; +/** is not used $lang['discussion'] = 'Discussion'; $lang['back_to_article'] = 'Back to article'; $lang['userpage'] = 'User page'; +*/ $lang['meta_data'] = 'Meta Data'; $lang['osm_zoom_link_text'] = 'view larger map'; $lang['osm_zoom_link_title'] = 'external link opens new window'; + $lang['image_detail'] = 'image details'; $lang['mode_edit'] = 'Editing Page'; -$lang['mode_detail'] = 'Image Details'; + /** - * colors + * preferences colors */ $lang['__site_width__'] = 'content - width (in %)'; @@ -92,7 +94,8 @@ $lang['__button_color__'] = 'buttons - font color'; $lang['__button_background__'] = 'buttons - background color'; $lang['__background_alt__'] = 'table head, table cell (hover), struct Label (hover) - background color (alternative)'; -$lang['__text_alt__'] = 'table head (unlinked), table cell (hover), struct Label (hover) - font color (alternative)'; +$lang['__text_alt__'] = 'table head: unlinked, table cell (hover), struct Label (hover) - font color (alternative)'; +$lang['__link_alt__'] = 'table head: linked - font color (alternative)'; $lang['__border__'] = 'tables, form fields, blockquotes - border color'; $lang['__default_border_radius__'] = 'wiki icons, content (top right) - border radius'; diff --git a/main.php b/main.php index 7374d5f..ca30f2e 100755 --- a/main.php +++ b/main.php @@ -140,7 +140,14 @@ $classWideContent = ($ACT === "show") ? "": "wide-content "; diff --git a/style.ini b/style.ini index ec7082a..abb7b83 100755 --- a/style.ini +++ b/style.ini @@ -39,7 +39,6 @@ ../dokuwiki/css/_modal.css = screen ../dokuwiki/css/_forms.css = screen ../dokuwiki/css/_admin.less = screen -../dokuwiki/css/pagetools.less = screen ../dokuwiki/css/content.less = screen @@ -85,6 +84,9 @@ css/area_recent.less = all css/template_admin.less = all css/template_detail.less = all +; ____________ block styles ________________ +css/toollist.less = all + ; _____________ plugin styles _____________ @@ -172,6 +174,7 @@ __button_background__ = "#286DA8" ; @ini_button_background __background_alt__ = "#F6F6F6" ; @ini_background_alt (guaranteed for every plugin) __text_alt__ = "#454545" ; @ini_text_alt (guaranteed for every plugin) +__link_alt__ = "#286DA8" ; @ini_link_alt ; border color diff --git a/svg.php b/svg.php index f0bad62..dc5eb8f 100644 --- a/svg.php +++ b/svg.php @@ -111,7 +111,9 @@ class SVG { } else { // get it from material design icons $file = getCacheName($svg, '.svg'); - io_download(self::CDNBASE . $svg, $file); + if (!file_exists($file)) { + io_download(self::CDNBASE . $svg, $file); + } } } @@ -316,9 +318,18 @@ class SVG { */ protected function initReplacements() { global $conf; - define('SIMPLE_TEST', 1); // hacky shit - include DOKU_INC . 'lib/exe/css.php'; - $ini = css_styleini($conf['template']); + if (!class_exists('\dokuwiki\StyleUtils')) { + // Pre-Greebo Compatibility + + define('SIMPLE_TEST', 1); // hacky shit + include DOKU_INC . 'lib/exe/css.php'; + $ini = css_styleini($conf['template']); + $this->replacements = $ini['replacements']; + return; + } + + $stuleUtils = new \dokuwiki\StyleUtils(); + $ini = $stuleUtils->cssStyleini('sprintdoc'); $this->replacements = $ini['replacements']; } } diff --git a/tpl/main-sidebar-nav.php b/tpl/main-sidebar-nav.php index a084504..3079428 100644 --- a/tpl/main-sidebar-nav.php +++ b/tpl/main-sidebar-nav.php @@ -10,16 +10,21 @@ @@ -32,17 +37,22 @@ diff --git a/tpl/nav-page-attributes.php b/tpl/nav-page-attributes.php index 370c321..0d6b2ac 100755 --- a/tpl/nav-page-attributes.php +++ b/tpl/nav-page-attributes.php @@ -14,7 +14,8 @@ if($doPlugin !== null || $qcPlugin !== null || $starredPlugin !== null) { if($qcPlugin && $qcPlugin->shouldShow()) { - echo '
  • '; // filled by javascript + $qcPrefix = tpl_getLang('quality_trigger'); + echo '
  • '.$qcPrefix.':
  • '; // filled by javascript } diff --git a/tpl/nav-page-tools.php b/tpl/nav-page-tools.php index c261be0..bf4e352 100755 --- a/tpl/nav-page-tools.php +++ b/tpl/nav-page-tools.php @@ -11,12 +11,16 @@ if (!defined('DOKU_INC')) { diff --git a/tpl/nav-usertools-buttons.php b/tpl/nav-usertools-buttons.php index c321a85..f93cbb4 100755 --- a/tpl/nav-usertools-buttons.php +++ b/tpl/nav-usertools-buttons.php @@ -6,7 +6,19 @@