diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..907c2a1 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,8 @@ +sprintdoc-farm: + environment: sprintdoc-farm + tags: + - locally + only: + - live + script: + - fab deploy \ No newline at end of file diff --git a/Template.php b/Template.php new file mode 100644 index 0000000..f1f71f4 --- /dev/null +++ b/Template.php @@ -0,0 +1,166 @@ + null, + 'tagging' => null, + ); + + /** + * Get the singleton instance + * + * @return Template + */ + public static function getInstance() { + static $instance = null; + if($instance === null) $instance = new Template(); + return $instance; + } + + /** + * Template constructor. + */ + protected function __construct() { + $this->initializePlugins(); + } + + /** + * Load all the plugins we support directly + */ + protected function initializePlugins() { + $this->plugins['sqlite'] = plugin_load('helper', 'sqlite'); + if($this->plugins['sqlite']) { + $this->plugins['tagging'] = plugin_load('helper', 'tagging'); + } + } + + /** + * Get all the tabs to display + * + * @return array + */ + public function getMetaBoxTabs() { + global $lang; + $tabs = array(); + + $toc = tpl_toc(true); + if($toc) { + $tabs[] = array( + 'id' => 'spr__tab-toc', + 'label' => $lang['toc'], + 'tab' => $toc, + 'count' => null, + ); + } + + if($this->plugins['tagging']) { + $tabs[] = array( + 'id' => 'spr__tab-tags', + 'label' => tpl_getLang('tab_tags'), + 'tab' => $this->plugins['tagging']->tpl_tags(false), + 'count' => null, // FIXME + ); + } + + // fixme add magicmatcher info + + return $tabs; + } + + /** + * Creates an image tag and includes the first found image correctly resized + * + * @param string $tag + * @param array $attributes + * @param int $w + * @param int $h + * @return string + */ + public static function getResizedImgTag($tag, $attributes, $w, $h) { + $attr = ''; + $medias = array(); + + // the attribute having an array defines where the image goes + foreach($attributes as $attribute => $data) { + if(is_array($data)) { + $medias = $data; + $attr = $attribute; + } + } + // if the image attribute could not be found return + if(!$attr || !$medias) return ''; + + // try all medias until an existing one is found + $media = ''; + foreach($medias as $media) { + if(file_exists(mediaFN($media))) break; + $media = ''; + } + if($media === '') return ''; + + // replace the array + $media = ml($media, array('w' => $w, 'h' => $h, 'crop' => 1), true, '&'); + $attributes[$attr] = $media; + + // return the full tag + return '<' . $tag . ' ' . buildAttributes($attributes) . ' />' . "\n"; + } + + /** + * Embed the main logo + * + * Tries a few different locations + */ + public function mainLogo() { + global $conf; + + // homepage logo should not link to itself (BITV accessibility requirement) + $linkit = (strcmp(wl(), $_SERVER['REQUEST_URI']) !== 0); + if($linkit) { + $title = $conf['title'] . tpl_getLang('adjunct_linked_logo_text'); + } else { + $title = tpl_getLang('adjunct_start_logo_text') . $conf['title']; + } + + $desktop = self::getResizedImgTag( + 'img', + array( + 'class' => 'mobile-hide', + 'src' => array(tpl_getConf('logo'), 'wiki:logo-wide.png', 'wiki:logo.png'), + 'alt' => $title, + ), + 0, 0 + ); + $mobile = self::getResizedImgTag( + 'img', + array( + 'class' => 'mobile-only', + 'src' => array('wiki:logo-32x32.png', 'wiki:favicon.png', 'wiki:logo-square.png', 'wiki:logo.png', tpl_getConf('logo')), + 'alt' => $title, + ), + 32, 32 + ); + + // 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]"'); + } else { + echo $desktop; + echo $mobile; + } + } +} diff --git a/conf/default.php b/conf/default.php index be2b208..108f53a 100755 --- a/conf/default.php +++ b/conf/default.php @@ -14,4 +14,3 @@ $conf['userPage'] = 'user:@USER@:'; $conf['user_ns'] = 'user'; $conf['hideTools'] = 0; $conf['tasks_page'] = 'dashboard'; -$conf['copyright'] = 'CosmoCode 2017'; diff --git a/conf/metadata.php b/conf/metadata.php index b8aba0a..f0f0808 100755 --- a/conf/metadata.php +++ b/conf/metadata.php @@ -12,4 +12,3 @@ $meta['userPage'] = array('string'); $conf['user_ns'] = array('string'); $meta['hideTools'] = array('onoff'); $meta['tasks_page'] = array('string'); -$meta['copyright'] = array('string'); diff --git a/css/area_content.less b/css/area_content.less index 60fc95b..8ddbc7a 100755 --- a/css/area_content.less +++ b/css/area_content.less @@ -19,6 +19,7 @@ left: 0; z-index: -1; height: @page-header_height; + box-sizing: border-box; width: 100%; background-color: @background_page-header; border-bottom: 1px solid @color-border-light; diff --git a/css/area_main-content-secedit.less b/css/area_main-content-secedit.less new file mode 100644 index 0000000..1b2cacb --- /dev/null +++ b/css/area_main-content-secedit.less @@ -0,0 +1,56 @@ +/** + * This styles the section editing buttons and highlighting + */ +#dokuwiki__content.main-content { + @button-margin: .5rem; // FIXME shouldn't we have something in our base.less for this? + + div.section_highlight { + clear: right; // FIXME why? + background: repeating-linear-gradient( + -45deg, + transparent, + transparent 10px, + @ini_background_alt 10px, + @ini_background_alt 20px, + ); + } + + .secedit button { + clear: both; + font-size: 100%; + margin-top: @button-margin; + margin-bottom: @button-margin; + } + + .editbutton_section { + float: right; + margin-top: 0; + position: relative; + z-index: 2; + top: 0; + + button { + background-color: transparent; + color: transparent; + border-color: transparent; + + &::after { + content: ''; + display: inline-block; + background: transparent url("svg.php?svg=pencil.svg&f=link") center center no-repeat; + height: 1em; + width: 1em; + background-size: contain; + margin-left: @button-margin; + } + + &:hover, + &:active, + &:focus { + background-color: @button_color; + color: @button_background; + border-color: @button_background; + } + } + } +} diff --git a/css/area_main-content.less b/css/area_main-content.less index 65e0012..6db9048 100755 --- a/css/area_main-content.less +++ b/css/area_main-content.less @@ -4,51 +4,39 @@ * @author Jana Deutschlaender */ - #dokuwiki__content.main-content { .level2 { p a.media { - img{ - border:1px dotted @color-site-bg; + img { + border: 1px dotted @color-site-bg; } - &:hover,&:focus,&:active{ - img{ - border:1px solid @color-link; - } - } + &:hover, &:focus, &:active { + img { + border: 1px solid @color-link; + } + } } } - div.section_highlight{ - margin: 0; - padding: 0 0 1rem 0; - border: 1px solid #abced4; - background-color: #fff; - background-image: - linear-gradient(90deg, transparent 79px, #abced4 79px, #abced4 81px, transparent 81px), - linear-gradient(#eee .1em, transparent .1em); - background-size: 100% 1.2em; - opacity: .7; - } - .secedit { - float: right; - margin-top: 0; - position: relative; - z-index:2; - top: 0; + + .wikipagefooter { + > hr { + margin-top: 3em; + margin-bottom: 0.5em; + border-top: dashed @color-border-light 2px; + border-bottom: none; + } } } - /* + + + + + + + + + + + + + + + + + + + + + + + + + + */ /* min-width: 1440px */ @media @screen_min-xlg { } - /* + + + + + + + + + + + + + + + + + + + + + + + + + + */ /* max-width: 1199px */ diff --git a/css/area_main-sidebar-content.less b/css/area_main-sidebar-content.less new file mode 100644 index 0000000..862c0fc --- /dev/null +++ b/css/area_main-sidebar-content.less @@ -0,0 +1,19 @@ +/** + * This file provides the design styles the non-navigational elements in the sidebar + */ +#dokuwiki__aside { + + // do not indent the first level of lists + // and use less indention in deeper levels + ul, ol { + padding-left: 0; + + ul, ol { + padding-left: @margin-small; + + li { + margin-left: 0; + } + } + } +} diff --git a/css/area_main-sidebar-nav.less b/css/area_main-sidebar-nav.less new file mode 100755 index 0000000..43e1c53 --- /dev/null +++ b/css/area_main-sidebar-nav.less @@ -0,0 +1,155 @@ +/** + * This file provides the design styles the navigational elements in the sidebar + * + * @author Jana Deutschlaender + * @author Andreas Gohr + */ +#dokuwiki__aside { + @icon-size: @font-size-big; + @menu-margin: @icon-size + @margin-small*2; // FIXME this is still wrong + + margin-left: @menu-margin; // moves *all* sidebar content to the right + + // the toggle element + a.nav { + font-size: @font-size-head6; + margin: 0 0 @font-size-head6; + + cursor: pointer; + font-weight: normal; + margin-left: (@menu-margin * -1); // moves the toggles back to the left + color: @color-nav; + border: 1px solid transparent; + border-radius: @fix_border-radius; + transition: @transition color, @transition background-color, @transition border-color; + + height: @icon-size + @margin-small; + display: flex; + flex-direction: row; + align-items: center; + + span { + display: inline-block; + vertical-align: middle; + } + + span.lbl { + flex-grow: 1; + } + + span.ico { + width: @menu-margin; + height: @icon-size; + flex-grow: 0; + border-right: 1px solid @color-border; + text-align: center; + margin-right: @margin-small; + color: @color-nav; + + // simple fake icon + strong { + display: inline-block; + font-size: @icon-size * 0.5; + width: @icon-size * 0.9; + height: @icon-size * 0.9; + line-height: @icon-size * 0.9; + margin: @icon-size * 0.05; + vertical-align: baseline; + text-align: center; + color: @color-nav; + border: 2px solid @color-nav; + border-top-right-radius: 50%; + border-bottom-left-radius: 50%; + + } + + // real icon + svg { + width: @icon-size; + height: @icon-size; + path { + fill: @color-nav; + } + } + } + + &:hover, + &:focus, + &:active { + background-color: @button_color; + border-color: @button_background; + color: @button_background; + text-decoration: none; + + span.ico strong { + color: @button_background; + border-color: @button_background; + } + + span.ico svg path { + fill: @button_background; + } + } + } + + // the panel (hidden by default) + div.nav-panel { + display: none; + } +} + +// FIXME check if the stuff below is still relevant + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* min-width: 1440px */ + +@media @screen_min-xlg { + #dokuwiki__aside.main-sidebar { + .nav-main { + .li { + font-size: @font-size-default; + padding: .1em 0; + + * { + font-size: inherit; + font-weight: inherit; + } + } + + > ul > li > .li { + font-size: @font-size-default; + + * { + font-size: inherit; + } + } + } + } +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ +/* max-width: 1199px */ + +@media @screen_max-xlg { + #dokuwiki__aside.main-sidebar { + .nav-main { + .li { + font-size: @font-size-default; + padding: .15em 0 .15em .25rem; + + * { + font-size: inherit; + font-weight: inherit; + } + } + + > ul > li > .li { + font-size: @font-size-default; + + > * { + font-size: inherit; + } + } + } + } +} diff --git a/css/area_main-sidebar.less b/css/area_main-sidebar.less deleted file mode 100755 index d801f34..0000000 --- a/css/area_main-sidebar.less +++ /dev/null @@ -1,288 +0,0 @@ -/** - * This file provides the design styles for the sidebar (navmain). - * - * @author Jana Deutschlaender - */ - - -#dokuwiki__aside.main-sidebar { - counter-reset: nav-counter; - - -/* + + + + + nav main + + + + + */ - .nav-main { - > ul { - @icon-size: @margin-default; - - margin: 0 0 @margin-default; - padding: 0; - - ul { - margin-left: (@icon-size + .5); - } - - li { - list-style-type: none; - color: @color-nav; - - &:first-of-type { - padding-top: .3em; - } - } - - .li { - a { - display: list-item; - list-style-type: square; - color: @color-nav; - font-weight: normal; - padding-top: .1em; - padding-bottom: .1em; - transition: @transition color; - - &:hover, - &:focus, - &:active { - color: @button_background; - } - } - } - - -/* + + + first level + + + */ - > li { - counter-increment: nav-counter; - position: relative; - list-style-type: none; - margin: 0; - padding: 0 0 .3em; - - &:not(:last-of-type)::after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - display: block; - width: 100%; - height: 1px; - background-color: @color-border; - } - - > .li { - position: relative; - z-index: 1; - margin-top: -1px; - padding: .5em 0 .5em (@margin-big + 1.1); - - &[class="li"] { - border-bottom: solid 1px @color-border; - } - - &::before { - .display-flex(); - .flex-direction(); - .justify-content(); - - content: counter(nav-counter); - position: absolute; - top: 0; - left: 0; - height: 100%; - width: @margin-big; - overflow: hidden; - color: @color-nav; - text-align: center; - margin-top: auto; - margin-bottom: auto; - } - - &::after { - content: ''; - position: absolute; - top: 15%; - bottom: 15%; - width: 1px; - left: (@margin-big + .5); - background-color: @color-border; - } - - &.opened, - &.closed { - padding: 0; - - &::before, - &::after { - display: none; - } - - a { - position: relative; - display: block; - border: 1px solid transparent; - border-radius: @fix_border-radius; - margin-bottom: -.3rem; - padding: .7em 0 .7em (@margin-big + 1); - transition: @transition color, @transition background-color, @transition border-color; - - &::before { - .display-flex(); - .flex-direction(); - .justify-content(); - - content: counter(nav-counter); - position: absolute; - top: 1px; - bottom: 1px; - left: 0; - height: 100%; - width: @margin-big; - overflow: hidden; - color: @color-nav; - text-align: center; - margin-top: auto; - margin-bottom: auto; - transition: @transition color, @transition background-color; - } - - &::after { - content: ''; - position: absolute; - top: 15%; - bottom: 15%; - width: 1px; - left: @margin-big; - background-color: @color-border; - transition: @transition background-color; - } - - &:hover, - &:focus, - &:active { - background-color: @button_color; - border-color: @button_background; - color: @button_background; - text-decoration: none; - - &::before { - color: @button_background; - } - - &::after { - background-color: @button_background; - } - } - } - } - - &.opened { - a { - background-color: @button_background; - color: @button_color; - - &::before { - background-color: @color-site-bg; - border-radius: @fix_border-radius 0 0 @fix_border-radius; - } - - &::after { - display: none; - } - - &:hover, - &:focus, - &:active { - background-color: @button_color; - border-color: @button_background; - color: @button_background; - text-decoration: none; - - &::before { - background-color: @button_color; - color: @button_background; - } - - &::after { - display: block; - background-color: @button_background; - } - } - } - - + ul { - margin-top: .5em; - margin-bottom: .25em; - } - } - - + ul { - height: auto; - overflow: hidden; - } - - &.closed + ul { - height: 0; - li a{ - display: none; - } - } - } - } - } - } -} - - -/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ -/* min-width: 1440px */ - -@media @screen_min-xlg { - #dokuwiki__aside.main-sidebar { - .nav-main { - .li { - font-size: @font-size-default; - padding: .1em 0; - - * { - font-size: inherit; - font-weight: inherit; - } - } - - > ul > li > .li { - font-size: @font-size-default; - - * { - font-size: inherit; - } - } - } - } -} - - -/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ -/* max-width: 1199px */ - -@media @screen_max-xlg { - #dokuwiki__aside.main-sidebar { - .nav-main { - .li { - font-size: @font-size-default; - padding: .15em 0 .15em .25rem; - - * { - font-size: inherit; - font-weight: inherit; - } - } - - > ul > li > .li { - font-size: @font-size-default; - - > * { - font-size: inherit; - } - } - } - } -} diff --git a/css/area_nav-breadcrumb.less b/css/area_nav-breadcrumb.less index bd7226d..32835e0 100755 --- a/css/area_nav-breadcrumb.less +++ b/css/area_nav-breadcrumb.less @@ -6,8 +6,10 @@ .breadcrumbs { position: relative; - border-bottom: 1px solid @color-border; - padding: 1rem 1.8rem .35rem; + border-bottom: 1px solid @color-border-light; + padding: 1rem 1.8rem .2rem; + min-height: @page-header_height; + box-sizing: border-box; > p { font-size: @font-size-small; @@ -28,6 +30,10 @@ } span.home { + margin-left: -.2rem; // reverse spacing in home icon --> content text and home icon aligned + .wide-content &{ + margin-left: .4rem; //toggle link has position absolute, hover on home icon needs more space than left padding of breadcrumb + } a { .fontello(); .hide-text-show-before(); diff --git a/css/area_nav-metabox.less b/css/area_nav-metabox.less index a86d15c..e3b8616 100755 --- a/css/area_nav-metabox.less +++ b/css/area_nav-metabox.less @@ -4,7 +4,10 @@ float: right; display: inline-block; max-width: 40%; - margin-top: 2px; + min-height: @page-header_height; + border: 1px solid transparent; + margin-top: @page_padding-top * -1; // reverse padding-top of .page container + padding-top: 1rem; @media @screen_max-md { position: relative; @@ -15,7 +18,6 @@ max-width: 100%; } - .tab-container { @media @screen_max-md{ width: 100%; @@ -63,7 +65,8 @@ position: relative; display: block; background-color: @color-site-bg; - border: 1px solid @color-border; + border: 1px solid @color-border-light; + border-bottom-color: @color-site-bg; border-radius: @fix_border-radius @fix_border-radius 0 0; color: @color-nav; font-size: @font-size-small; @@ -111,7 +114,6 @@ > a { cursor: default; - tab-index: -1; background-color: @color-content-bg; border-color: @color-link; border-bottom-color: @color-content-bg; @@ -126,10 +128,16 @@ } .meta-content { + margin-right: 1px; + margin-top: -1px; + .tab-pane { position: absolute; + top: 0; + right: 0; display: none; width: 100%; + min-width: 20em; background-color: @color-content-bg; border: 1px solid @color-link; border-radius: 0 0 @fix_border-radius @fix_border-radius; @@ -254,4 +262,3 @@ } } } - diff --git a/css/area_sidebar-search.less b/css/area_sidebar-search.less index 48742e8..4b7dd14 100755 --- a/css/area_sidebar-search.less +++ b/css/area_sidebar-search.less @@ -5,8 +5,11 @@ */ .search.main-sidebar { +; + @main-ico-dummy: @font-size-big + @margin-small*2; //FIXME copied from area_main-sidebar-nav + @icon-size: @page-header_height; - @icon-search_font-size: 25px; + @icon-search_font-size: @font-size-big; p.toggleSearch a, button[type="submit"] { .fontello(); @@ -41,14 +44,16 @@ } p.toggleSearch { display: none; - margin: -1px 0 0; + margin: -2px 0 0; // reverse transparent border and box-sizing of a child padding: 0; a { - width: @toggle-showsidebar_width; + min-width: (@toggle-showsidebar_width + 0.1); /* must be a bit a wider than @toggle-showsidebar_width to hide right border */ + width: @main-ico-dummy; border: solid 1px transparent; border-bottom: solid 1px @color-border; border-radius: @fix_border-radius 0 0 0; text-decoration: none; + box-sizing: border-box; &:hover, &:focus, &:active { @@ -57,8 +62,8 @@ &::before { position: absolute; top: 50%; - left: .8rem; - text-align: left; + left: 0; + text-align: center; margin-top: -(@icon-search_font-size / 2); } } @@ -94,6 +99,12 @@ } } } + + #qsearch__out { + left: auto; + top: auto; + width: 100%; + } } .wide-content { .search.main-sidebar { diff --git a/css/area_sidetools.less b/css/area_sidetools.less deleted file mode 100755 index 7d005da..0000000 --- a/css/area_sidetools.less +++ /dev/null @@ -1,342 +0,0 @@ -/** - * This file provides the design styles for the sitetools (nav). - * - * @author Jana Deutschlaender - */ - - -.side-tools.main-sidebar { - @icon-size: @margin-default; - - counter-increment: bar-counter; - - ul, - .trace { - padding-left: (@margin-big + .5); - } - - ul { - border-bottom: 1px solid @color-border; - } - - li { - list-style-type: none; - - a { - display: list-item; - list-style-type: square; - color: @color-nav; - padding-top: .1em; - padding-bottom: .1em; - transition: @transition color; - - &:hover, - &:focus, - &:active { - color: @button_background; - } - } - - &:first-of-type { - padding-top: .3em; - } - } - - > nav { - > ul { - margin: 0; - padding: 0 0 0 (@margin-big + .5); - - li { - list-style-type: none; - color: @color-nav; - - &:first-of-type { - padding-top: .3em; - } - } - } - } - - -/* + + + + + headlines for linklists + + + + + */ - h6 { - position: relative; - width: auto; - height: auto; - color: @color-nav; - font-weight: normal; - padding: .7em 0 .7em (@margin-big + 1.1); - - &[class="sr-only"] { - border-bottom: solid 1px @color-border; - } - - * { - color: inherit; - } - - -/* + + + icon + + + */ - &::before { - .display-flex(); - .flex-direction(); - .justify-content(); - - content: counter(bar-counter, lower-alpha); - position: absolute; - top: 0; - left: 0; - height: 100%; - width: @margin-big; - overflow: hidden; - text-align: center; - margin-top: auto; - margin-bottom: auto; - } - - -/* + + + line bottom + + + */ - &::after { - content: ''; - position: absolute; - top: 15%; - bottom: 15%; - width: 1px; - left: (@margin-big + .6); - background-color: @color-border; - transition: @transition background-color; - } - - + ul, - + div { - height: auto; - overflow: hidden; - } - - -/* + + + toggle + + + */ - &.opened, - &.closed { - padding: 0; - - &::before, - &::after { - display: none; - } - - a { - position: relative; - display: block; - border: 1px solid transparent; - border-radius: @fix_border-radius; - padding: .6em 0 .6em (@margin-big + 1); - transition: @transition color, @transition background-color, @transition border-color; - - &::before { - .display-flex(); - .flex-direction(); - .justify-content(); - - content: counter(bar-counter, lower-alpha); - position: absolute; - top: 1px; - bottom: 1px; - left: 0; - height: 100%; - width: @margin-big; - overflow: hidden; - color: @color-nav; - text-align: center; - margin-top: auto; - margin-bottom: auto; - transition: @transition color; - } - - &::after { - content: ''; - position: absolute; - top: 15%; - bottom: 15%; - width: 1px; - left: @margin-big; - background-color: @color-border; - transition: @transition background-color; - } - - &:hover, - &:focus, - &:active { - background-color: @button_color; - border-color: @button_background; - color: @button_background; - text-decoration: none; - - &::before { - color: @button_background; - } - - &::after { - background-color: @button_background; - } - } - } - } - - &.opened { - a { - background-color: @button_background; - color: @button_color; - - &::before { - background-color: @color-site-bg; - border-radius: @fix_border-radius 0 0 @fix_border-radius; - } - - &::after { - display: none; - } - - &:hover, - &:focus, - &:active { - background-color: @button_color; - border-color: @button_background; - color: @button_background; - text-decoration: none; - - &::before { - background-color: @button_color; - color: @button_background; - } - - &::after { - display: block; - background-color: @button_background; - } - } - } - - + ul, - + div { - height: auto; - overflow: hidden; - } - - + ul { - margin-top: .5em; - padding-bottom: .4rem; - } - } - - &.closed { - + ul, - + div { - height: 0; - a{ - display: none; - } - } - } - } - - -/* + + + + + f.i. trace + + + + + */ - p { - max-height: 6rem; - overflow-y: auto; - background-color: @color-content-bg; - border: 1px solid @button_background; - border-radius: @fix_border-radius; - font-size: @font-size-small; - margin-top: .1rem; - padding: .3rem .6em; - - * { - font-size: inherit; - } - - .bchead { - display: none; - } - - .bcsep { - float: left; - clear: both; - display: block; - width: 3%; - vertical-align: top; - color: @color-link; - padding-top: .3em; - } - - .breadcrumbs { - border: 0 none; - padding: 0; - margin: 0; - } - - bdi { - display: block; - float: left; - width: 94%; - line-height: 125%; - padding: .1rem 0; - margin-left: 2%; - } - - a { - cursor: pointer; - } - } -} - - -/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ -/* min-width: 1440px */ - -@media @screen_min-xlg { - .side-tools.main-sidebar { - h6 { - font-size: @font-size-default; - - * { - font-size: inherit; - } - } - - li { - font-size: @font-size-small; - padding: .1em 0 .1em .1rem; - - > * { - font-size: inherit; - } - } - } -} - - -/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ -/* max-width: 1439px */ - -@media @screen_max-xlg { - .side-tools.main-sidebar { - h6 { - font-size: @font-size-default; - } - - li { - font-size: @font-size-small; - padding: .15em 0 .15em .23rem; - - > * { - font-size: inherit; - } - } - - p { - font-size: @font-size-small; - } - } -} diff --git a/css/area_togglelink.less b/css/area_togglelink.less index 26f5a46..a8ce7c6 100755 --- a/css/area_togglelink.less +++ b/css/area_togglelink.less @@ -8,8 +8,9 @@ .togglelink { &.page_main-content { position: absolute; - top: -1px; + top: 0px; bottom: -1px; + width: 2rem; left: -(@margin-default); z-index: 1; @media @screen_max-md{ diff --git a/css/base_design.less b/css/base_design.less index eec8d7d..2b7f88e 100755 --- a/css/base_design.less +++ b/css/base_design.less @@ -131,9 +131,6 @@ h1 { font-size: @font-size-head1; margin: 0 0 @font-size-head1; padding-top: 1em; - #dokuwiki__content > & { - padding-top: 1.5em; - } } h2 { diff --git a/css/base_fonts.less b/css/base_fonts.less index 8d867af..505c5b7 100755 --- a/css/base_fonts.less +++ b/css/base_fonts.less @@ -4,15 +4,6 @@ * @author Jana Deutschlaender */ -/* web font */ -//.setLocalFontFace('roboto',300,'Roboto Light','Roboto-Light','roboto-light'); /* roboto light */ -//.setLocalFontFace('roboto',400,'Roboto','Roboto-Regular','roboto-regular'); /* roboto regular */ -//.setLocalFontFace('roboto',500,'Roboto Medium','Roboto-Medium','roboto-medium'); /* roboto medium */ -//.setLocalFontFace('roboto',700,'Roboto Bold','Roboto-Bold','roboto-bold'); /* roboto bold */ - -//.setLocalFontFace('roboto',400,'Roboto Condensed','RobotoCondensed-Regular','roboto-condensed'); /* roboto condensed */ -//.setLocalFontFace('roboto',700,'Roboto Condensed Bold','RobotoCondensed-Bold','roboto-boldcondensed'); /* roboto condensed */ - /* icon font */ .setIconFontFace('fontello','fontello'); diff --git a/css/plugins/edit.less b/css/plugins/edit.less index fe69345..321cb38 100644 --- a/css/plugins/edit.less +++ b/css/plugins/edit.less @@ -2,7 +2,10 @@ * This file provides styles for the edit view (?do=edit), preview * and section edit buttons. */ + + /* + + + + + edit view + + + + + */ + .dokuwiki { div.section_highlight { clear: right; diff --git a/css/plugins/edittable.less b/css/plugins/edittable.less new file mode 100644 index 0000000..74cfc77 --- /dev/null +++ b/css/plugins/edittable.less @@ -0,0 +1,12 @@ +/** + * Style Adjustments for the edittable plugin + */ +#dokuwiki__content.main-content { + div.editbutton_table form div.no { + button, + input.button { + margin-top: 0; + font-size: @font-size-very-small; + } + } +} diff --git a/detail.php b/detail.php index 53239a1..21dda38 100755 --- a/detail.php +++ b/detail.php @@ -9,7 +9,6 @@ // must be run from within DokuWiki if (!defined('DOKU_INC')) die(); -@require_once(dirname(__FILE__).'/tpl_functions.php'); /* include hook for template functions */ header('X-UA-Compatible: IE=edge,chrome=1'); ?> diff --git a/fabfile.py b/fabfile.py new file mode 100644 index 0000000..b1e5fa0 --- /dev/null +++ b/fabfile.py @@ -0,0 +1,61 @@ +import os +import sys +import json +from fabric.api import run, env, cd + +config = { + 'TARGET_PORT': 6589, + 'TARGET_USER': 'www-data', +} + +try: + TARGET_CONF = json.loads(os.getenv('TARGET_CONF')) +except (SyntaxError, ValueError) as e: + print 'Could not parse configuration: %s' % e + sys.exit(1) + +BUILD_JOB_NAME = os.getenv('CI_BUILD_NAME') + +if BUILD_JOB_NAME not in TARGET_CONF: + print 'Could not find job configuration for %s' % BUILD_JOB_NAME + sys.exit(1) +else: + config.update(TARGET_CONF[BUILD_JOB_NAME]) + +BRANCH = os.getenv('CI_BUILD_REF_NAME') + +if not BRANCH: + print 'Could not get branch name from configuration: Please specify CI_BUILD_REF_NAME env var' + sys.exit(1) + +for option in ['TARGET_HOST', 'TARGET_PATH']: + if not config.get(option): + print 'Could not get %s from configuration!' % option + sys.exit(1) + +env.hosts = [config.get('TARGET_HOST')] +env.port = config.get('TARGET_PORT') +env.user = config.get('TARGET_USER') + + +def pre(): + if config.get('PRE_CMDS'): + [run(cmd) for cmd in config.get('PRE_CMDS')] + + +def git_pull(): + run('git fetch --all') + run('git checkout --force %s' % BRANCH) + run('git reset --hard origin/%s' % BRANCH) + + +def post(): + if config.get('POST_CMDS'): + [run(cmd) for cmd in config.get('POST_CMDS')] + + +def deploy(): + with cd(config.get('TARGET_PATH')): + pre() + git_pull() + post() \ No newline at end of file diff --git a/fonts/Google Android License.txt b/fonts/Google Android License.txt deleted file mode 100755 index 1a96dfd..0000000 --- a/fonts/Google Android License.txt +++ /dev/null @@ -1,18 +0,0 @@ -Copyright (C) 2008 The Android Open Source Project - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - -########## - -This directory contains the fonts for the platform. They are licensed -under the Apache 2 license. diff --git a/fonts/roboto-black.eot b/fonts/roboto-black.eot deleted file mode 100755 index 1e11f7c..0000000 Binary files a/fonts/roboto-black.eot and /dev/null differ diff --git a/fonts/roboto-black.svg b/fonts/roboto-black.svg deleted file mode 100755 index c105487..0000000 --- a/fonts/roboto-black.svg +++ /dev/null @@ -1,256 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Font data copyright Google 2011 -Designer : Google -Foundry URL : Googlecom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/fonts/roboto-black.ttf b/fonts/roboto-black.ttf deleted file mode 100755 index a53bb35..0000000 Binary files a/fonts/roboto-black.ttf and /dev/null differ diff --git a/fonts/roboto-black.woff b/fonts/roboto-black.woff deleted file mode 100755 index e4564e1..0000000 Binary files a/fonts/roboto-black.woff and /dev/null differ diff --git a/fonts/roboto-blackItalic.eot b/fonts/roboto-blackItalic.eot deleted file mode 100755 index f568391..0000000 Binary files a/fonts/roboto-blackItalic.eot and /dev/null differ diff --git a/fonts/roboto-blackItalic.svg b/fonts/roboto-blackItalic.svg deleted file mode 100755 index 10b42de..0000000 --- a/fonts/roboto-blackItalic.svg +++ /dev/null @@ -1,256 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Font data copyright Google 2011 -Designer : Google -Foundry URL : Googlecom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/fonts/roboto-blackItalic.ttf b/fonts/roboto-blackItalic.ttf deleted file mode 100755 index 7bab132..0000000 Binary files a/fonts/roboto-blackItalic.ttf and /dev/null differ diff --git a/fonts/roboto-blackItalic.woff b/fonts/roboto-blackItalic.woff deleted file mode 100755 index 1a59cb7..0000000 Binary files a/fonts/roboto-blackItalic.woff and /dev/null differ diff --git a/fonts/roboto-bold.eot b/fonts/roboto-bold.eot deleted file mode 100755 index 09ad044..0000000 Binary files a/fonts/roboto-bold.eot and /dev/null differ diff --git a/fonts/roboto-bold.svg b/fonts/roboto-bold.svg deleted file mode 100755 index edbed86..0000000 --- a/fonts/roboto-bold.svg +++ /dev/null @@ -1,256 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Font data copyright Google 2011 -Designer : Google -Foundry URL : Googlecom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/fonts/roboto-bold.ttf b/fonts/roboto-bold.ttf deleted file mode 100755 index 20f2c40..0000000 Binary files a/fonts/roboto-bold.ttf and /dev/null differ diff --git a/fonts/roboto-bold.woff b/fonts/roboto-bold.woff deleted file mode 100755 index 32339df..0000000 Binary files a/fonts/roboto-bold.woff and /dev/null differ diff --git a/fonts/roboto-boldcondensed.eot b/fonts/roboto-boldcondensed.eot deleted file mode 100755 index e0f64c1..0000000 Binary files a/fonts/roboto-boldcondensed.eot and /dev/null differ diff --git a/fonts/roboto-boldcondensed.svg b/fonts/roboto-boldcondensed.svg deleted file mode 100755 index 37f1548..0000000 --- a/fonts/roboto-boldcondensed.svg +++ /dev/null @@ -1,256 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Font data copyright Google 2011 -Designer : Google -Foundry URL : Googlecom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/fonts/roboto-boldcondensed.ttf b/fonts/roboto-boldcondensed.ttf deleted file mode 100755 index 7fad74e..0000000 Binary files a/fonts/roboto-boldcondensed.ttf and /dev/null differ diff --git a/fonts/roboto-boldcondensed.woff b/fonts/roboto-boldcondensed.woff deleted file mode 100755 index d2481fe..0000000 Binary files a/fonts/roboto-boldcondensed.woff and /dev/null differ diff --git a/fonts/roboto-boldcondenseditalic.eot b/fonts/roboto-boldcondenseditalic.eot deleted file mode 100755 index 0810aba..0000000 Binary files a/fonts/roboto-boldcondenseditalic.eot and /dev/null differ diff --git a/fonts/roboto-boldcondenseditalic.svg b/fonts/roboto-boldcondenseditalic.svg deleted file mode 100755 index d4d9143..0000000 --- a/fonts/roboto-boldcondenseditalic.svg +++ /dev/null @@ -1,256 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Font data copyright Google 2011 -Designer : Google -Foundry URL : Googlecom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/fonts/roboto-boldcondenseditalic.ttf b/fonts/roboto-boldcondenseditalic.ttf deleted file mode 100755 index 661bf7b..0000000 Binary files a/fonts/roboto-boldcondenseditalic.ttf and /dev/null differ diff --git a/fonts/roboto-boldcondenseditalic.woff b/fonts/roboto-boldcondenseditalic.woff deleted file mode 100755 index f16585c..0000000 Binary files a/fonts/roboto-boldcondenseditalic.woff and /dev/null differ diff --git a/fonts/roboto-bolditalic.eot b/fonts/roboto-bolditalic.eot deleted file mode 100755 index d6f8950..0000000 Binary files a/fonts/roboto-bolditalic.eot and /dev/null differ diff --git a/fonts/roboto-bolditalic.svg b/fonts/roboto-bolditalic.svg deleted file mode 100755 index 27118d5..0000000 --- a/fonts/roboto-bolditalic.svg +++ /dev/null @@ -1,256 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Font data copyright Google 2011 -Designer : Google -Foundry URL : Googlecom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/fonts/roboto-bolditalic.ttf b/fonts/roboto-bolditalic.ttf deleted file mode 100755 index abe6d34..0000000 Binary files a/fonts/roboto-bolditalic.ttf and /dev/null differ diff --git a/fonts/roboto-bolditalic.woff b/fonts/roboto-bolditalic.woff deleted file mode 100755 index ba9e2c4..0000000 Binary files a/fonts/roboto-bolditalic.woff and /dev/null differ diff --git a/fonts/roboto-condensed.eot b/fonts/roboto-condensed.eot deleted file mode 100755 index b091c6e..0000000 Binary files a/fonts/roboto-condensed.eot and /dev/null differ diff --git a/fonts/roboto-condensed.svg b/fonts/roboto-condensed.svg deleted file mode 100755 index b341a75..0000000 --- a/fonts/roboto-condensed.svg +++ /dev/null @@ -1,256 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Font data copyright Google 2011 -Designer : Google -Foundry URL : Googlecom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/fonts/roboto-condensed.ttf b/fonts/roboto-condensed.ttf deleted file mode 100755 index 0617758..0000000 Binary files a/fonts/roboto-condensed.ttf and /dev/null differ diff --git a/fonts/roboto-condensed.woff b/fonts/roboto-condensed.woff deleted file mode 100755 index c7b6fdd..0000000 Binary files a/fonts/roboto-condensed.woff and /dev/null differ diff --git a/fonts/roboto-condenseditalic.eot b/fonts/roboto-condenseditalic.eot deleted file mode 100755 index 9a5ac01..0000000 Binary files a/fonts/roboto-condenseditalic.eot and /dev/null differ diff --git a/fonts/roboto-condenseditalic.svg b/fonts/roboto-condenseditalic.svg deleted file mode 100755 index b151f10..0000000 --- a/fonts/roboto-condenseditalic.svg +++ /dev/null @@ -1,256 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Font data copyright Google 2011 -Designer : Google -Foundry URL : Googlecom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/fonts/roboto-condenseditalic.ttf b/fonts/roboto-condenseditalic.ttf deleted file mode 100755 index 44405d9..0000000 Binary files a/fonts/roboto-condenseditalic.ttf and /dev/null differ diff --git a/fonts/roboto-condenseditalic.woff b/fonts/roboto-condenseditalic.woff deleted file mode 100755 index 65f5f07..0000000 Binary files a/fonts/roboto-condenseditalic.woff and /dev/null differ diff --git a/fonts/roboto-italic.eot b/fonts/roboto-italic.eot deleted file mode 100755 index ae76c30..0000000 Binary files a/fonts/roboto-italic.eot and /dev/null differ diff --git a/fonts/roboto-italic.svg b/fonts/roboto-italic.svg deleted file mode 100755 index d2177f9..0000000 --- a/fonts/roboto-italic.svg +++ /dev/null @@ -1,256 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Font data copyright Google 2011 -Designer : Google -Foundry URL : Googlecom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/fonts/roboto-italic.ttf b/fonts/roboto-italic.ttf deleted file mode 100755 index 5805eee..0000000 Binary files a/fonts/roboto-italic.ttf and /dev/null differ diff --git a/fonts/roboto-italic.woff.textClipping b/fonts/roboto-italic.woff.textClipping deleted file mode 100755 index e69de29..0000000 diff --git a/fonts/roboto-italic2.woff b/fonts/roboto-italic2.woff deleted file mode 100755 index a47b237..0000000 Binary files a/fonts/roboto-italic2.woff and /dev/null differ diff --git a/fonts/roboto-light.eot b/fonts/roboto-light.eot deleted file mode 100755 index 50a0f9a..0000000 Binary files a/fonts/roboto-light.eot and /dev/null differ diff --git a/fonts/roboto-light.svg b/fonts/roboto-light.svg deleted file mode 100755 index e315ac4..0000000 --- a/fonts/roboto-light.svg +++ /dev/null @@ -1,256 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Font data copyright Google 2011 -Designer : Google -Foundry URL : Googlecom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/fonts/roboto-light.ttf b/fonts/roboto-light.ttf deleted file mode 100755 index 70476da..0000000 Binary files a/fonts/roboto-light.ttf and /dev/null differ diff --git a/fonts/roboto-light.woff b/fonts/roboto-light.woff deleted file mode 100755 index 876ae73..0000000 Binary files a/fonts/roboto-light.woff and /dev/null differ diff --git a/fonts/roboto-lightItalic.eot b/fonts/roboto-lightItalic.eot deleted file mode 100755 index 86d5aaa..0000000 Binary files a/fonts/roboto-lightItalic.eot and /dev/null differ diff --git a/fonts/roboto-lightItalic.svg b/fonts/roboto-lightItalic.svg deleted file mode 100755 index 9921eda..0000000 --- a/fonts/roboto-lightItalic.svg +++ /dev/null @@ -1,256 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Font data copyright Google 2011 -Designer : Google -Foundry URL : Googlecom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/fonts/roboto-lightItalic.ttf b/fonts/roboto-lightItalic.ttf deleted file mode 100755 index 0ec43ae..0000000 Binary files a/fonts/roboto-lightItalic.ttf and /dev/null differ diff --git a/fonts/roboto-lightItalic.woff b/fonts/roboto-lightItalic.woff deleted file mode 100755 index 3afe0cf..0000000 Binary files a/fonts/roboto-lightItalic.woff and /dev/null differ diff --git a/fonts/roboto-medium.eot b/fonts/roboto-medium.eot deleted file mode 100755 index ee68d7b..0000000 Binary files a/fonts/roboto-medium.eot and /dev/null differ diff --git a/fonts/roboto-medium.svg b/fonts/roboto-medium.svg deleted file mode 100755 index 5b689ef..0000000 --- a/fonts/roboto-medium.svg +++ /dev/null @@ -1,256 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Font data copyright Google 2011 -Designer : Google -Foundry URL : Googlecom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/fonts/roboto-medium.ttf b/fonts/roboto-medium.ttf deleted file mode 100755 index 24a0730..0000000 Binary files a/fonts/roboto-medium.ttf and /dev/null differ diff --git a/fonts/roboto-medium.woff b/fonts/roboto-medium.woff deleted file mode 100755 index 63c805c..0000000 Binary files a/fonts/roboto-medium.woff and /dev/null differ diff --git a/fonts/roboto-mediumItalic.eot b/fonts/roboto-mediumItalic.eot deleted file mode 100755 index 1ba70b8..0000000 Binary files a/fonts/roboto-mediumItalic.eot and /dev/null differ diff --git a/fonts/roboto-mediumItalic.svg b/fonts/roboto-mediumItalic.svg deleted file mode 100755 index 03d0f1a..0000000 --- a/fonts/roboto-mediumItalic.svg +++ /dev/null @@ -1,256 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Font data copyright Google 2011 -Designer : Google -Foundry URL : Googlecom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/fonts/roboto-mediumItalic.ttf b/fonts/roboto-mediumItalic.ttf deleted file mode 100755 index 319e0a9..0000000 Binary files a/fonts/roboto-mediumItalic.ttf and /dev/null differ diff --git a/fonts/roboto-mediumItalic.woff b/fonts/roboto-mediumItalic.woff deleted file mode 100755 index 7e9e87a..0000000 Binary files a/fonts/roboto-mediumItalic.woff and /dev/null differ diff --git a/fonts/roboto-regular.eot b/fonts/roboto-regular.eot deleted file mode 100755 index 9792dc6..0000000 Binary files a/fonts/roboto-regular.eot and /dev/null differ diff --git a/fonts/roboto-regular.svg b/fonts/roboto-regular.svg deleted file mode 100755 index a208bfa..0000000 --- a/fonts/roboto-regular.svg +++ /dev/null @@ -1,256 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Font data copyright Google 2011 -Designer : Google -Foundry URL : Googlecom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/fonts/roboto-regular.ttf b/fonts/roboto-regular.ttf deleted file mode 100755 index 32634bd..0000000 Binary files a/fonts/roboto-regular.ttf and /dev/null differ diff --git a/fonts/roboto-regular.woff b/fonts/roboto-regular.woff deleted file mode 100755 index 70519ff..0000000 Binary files a/fonts/roboto-regular.woff and /dev/null differ diff --git a/fonts/roboto-thin.eot b/fonts/roboto-thin.eot deleted file mode 100755 index 4c4911b..0000000 Binary files a/fonts/roboto-thin.eot and /dev/null differ diff --git a/fonts/roboto-thin.svg b/fonts/roboto-thin.svg deleted file mode 100755 index 282ca33..0000000 --- a/fonts/roboto-thin.svg +++ /dev/null @@ -1,256 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Font data copyright Google 2011 -Designer : Google -Foundry URL : Googlecom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/fonts/roboto-thin.ttf b/fonts/roboto-thin.ttf deleted file mode 100755 index 766bc49..0000000 Binary files a/fonts/roboto-thin.ttf and /dev/null differ diff --git a/fonts/roboto-thin.woff b/fonts/roboto-thin.woff deleted file mode 100755 index 8358e63..0000000 Binary files a/fonts/roboto-thin.woff and /dev/null differ diff --git a/fonts/roboto-thinItalic.eot b/fonts/roboto-thinItalic.eot deleted file mode 100755 index b3e92a0..0000000 Binary files a/fonts/roboto-thinItalic.eot and /dev/null differ diff --git a/fonts/roboto-thinItalic.svg b/fonts/roboto-thinItalic.svg deleted file mode 100755 index e64f86e..0000000 --- a/fonts/roboto-thinItalic.svg +++ /dev/null @@ -1,256 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Font data copyright Google 2011 -Designer : Google -Foundry URL : Googlecom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/fonts/roboto-thinItalic.ttf b/fonts/roboto-thinItalic.ttf deleted file mode 100755 index 74be398..0000000 Binary files a/fonts/roboto-thinItalic.ttf and /dev/null differ diff --git a/fonts/roboto-thinItalic.woff b/fonts/roboto-thinItalic.woff deleted file mode 100755 index 8329ac8..0000000 Binary files a/fonts/roboto-thinItalic.woff and /dev/null differ diff --git a/img/account-settings.svg b/img/account-settings.svg new file mode 100644 index 0000000..a7223e9 --- /dev/null +++ b/img/account-settings.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/apple-safari.svg b/img/apple-safari.svg new file mode 100644 index 0000000..5edc4f4 --- /dev/null +++ b/img/apple-safari.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/pencil.svg b/img/pencil.svg new file mode 100644 index 0000000..e3a4faa --- /dev/null +++ b/img/pencil.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/sitemap.svg b/img/sitemap.svg new file mode 100644 index 0000000..1afc9f7 --- /dev/null +++ b/img/sitemap.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/js/breadcrumb.js b/js/breadcrumb.js new file mode 100644 index 0000000..4041fab --- /dev/null +++ b/js/breadcrumb.js @@ -0,0 +1,18 @@ +/** + * Sets up the breadcrumb behaviour (adds do / ACT status information) + */ +jQuery(function () { + const $breadcrumb = jQuery('.breadcrumbs'); + if (!$breadcrumb.length) return; + + /** + * add ACT status to breadcrumb (if not show) + * + */ + const mode = $breadcrumb.attr('data-do'); + if(mode && mode.indexOf('show') !== 0){ + var markup = ' : ' + mode + ''; + $breadcrumb.find('p').append(markup); + } + +}); diff --git a/js/meta-box.js b/js/meta-box.js index 3374d33..432146e 100755 --- a/js/meta-box.js +++ b/js/meta-box.js @@ -1,81 +1,39 @@ -(function ($, spc, $lang) { +jQuery(function () { + const $metaBox = jQuery('#spr__meta-box'); + if (!$metaBox.length) return; - var toggleTabs = function () { + /** + * Register the click handler for the tabs + * + * Tabs can be added dynamically later on and this handler will still + * provide the open/close functionality + */ + $metaBox.on('click', '.meta-tabs a', function (e) { + e.preventDefault(); + const $tab = jQuery(this); + const isopen = $tab.attr('aria-expanded') === 'true'; - var $metaBox = $('#meta-box'), - $tabLinks = $metaBox.find('.meta-tabs').find('a'), - $tabPanels = $metaBox.find('.meta-content').find('.tab-pane'); + // disable all existing tabs + $metaBox.find('.meta-tabs li') + .removeClass('active') + .find('a') + .attr('aria-expanded', 'false'); + $metaBox.find('.meta-content .tab-pane') + .removeClass('active') + .attr('aria-hidden', 'false'); - try { - $tabLinks.each(function () { - $(this).on("click", function (e) { - e.preventDefault(); - var $link = $(this), - $li = $link.closest('li'), - $panel = $($link.attr('href')); + if (isopen) return; // tab was open, we closed it. we're done - /* close panel */ - if($li.hasClass('active')){ - //reset - resetTabs($tabLinks,$tabPanels); + // enable current tab + $tab + .attr('aria-expanded', 'true') + .closest('li') + .addClass('active'); + $metaBox.find($tab.attr('href')) + .addClass('active') + .attr('aria-hidden', 'false'); - /* close panel */ - }else{ - //reset - resetTabs($tabLinks,$tabPanels); - //current state - $li.addClass('active'); - $link.attr('aria-expanded','true'); - $panel.addClass('active').attr('aria-hidden','false'); - } - - }); - }); - - - } catch (err) { - //alert('err'); - } - }, - resetTabs = function($tabLinks,$tabPanels){ - $tabLinks.closest('li').removeClass('active'); - $tabLinks.attr('aria-expanded','false'); - $tabPanels.removeClass('active').attr('aria-hidden','true'); - }, - findJiraTickets = function(){ - var $tickets = $('#dokuwiki__content').find('a.jiralink'); - if($tickets.length >0){ - var $panel = $('#tab-jira'), - $num = $('a[href="#tab-jira"]').find('.num'); - - if($panel.length > 0 && $num.length > 0){ - $num.empty().append($tickets.length); - $panel.find('> div').empty().append('
    '); - var $ul = $panel.find('ul'); - $tickets.each(function (){ - var $ticket = $(this).clone(); - $ul.prepend('
  • '); - $ul.find('li:first-child').append($ticket); - }); - } - } - }, - findSitemap = function(){ - var $panel = $('#tab-toc'), - $toc = $panel.find('ul'), - $num = $('a[href="#tab-toc"]').find('.num'); - if($toc.length == 0){ - $panel.append('

    '+$_LANG['meta_box_sitemap_none']+'

    '); - }else{ - $num.empty().append('1'); - } - }; - - $(function () { - toggleTabs(); - findJiraTickets(); - findSitemap(); }); -})(jQuery, spc, $_LANG); +}); diff --git a/js/sidebar-menu.js b/js/sidebar-menu.js deleted file mode 100755 index 471bc47..0000000 --- a/js/sidebar-menu.js +++ /dev/null @@ -1,153 +0,0 @@ -( function( $, spc ) { - - var addToggleLink = function($elem){ - $elem.wrapInner(''); - }, - - setContentMinHeight = function(){ - var $sidebar = $('.page-wrapper').find('> .tools').find('.col-xs-12'); - - if($sidebar.length == 1){ - var h = $sidebar.height(), - num = parseFloat(h); - if(!isNaN(num)){ - $('#dokuwiki__content').css('minHeight',num + 100); - } - - } - - }, - setWideContent = function(){ - var $openTogglers = $('.main-sidebar').find('.opened').find('.toggler'); - $openTogglers.trigger( "click" ); - $('body').addClass('wide-content'); - }, - setDefaultContent= function(){ - $('body').removeClass('wide-content'); - - }, - toggleState = function($toggler){ - $toggler.toggleClass('closed'); - $toggler.toggleClass('opened'); - }, - focusFirstSubLink = function($elem, is2nd){ - - var $foc = (is2nd) ? $elem.find('a')[1] : $elem.find('a')[0]; - - if($foc){ - $foc.focus(); - } - return $foc; - }, - focusLastSubLink = function($elem){ - - var $foc = $elem.find('a:last-child'), - height = $elem.find('p').scrollHeight; - - if($foc){ - $foc.focus(); - } - $elem.scrollTop(height); - return $foc; - }, - - mainMenu = function(){ - var $menu = $('.nav-main').find('> ul'); - - try{ - if($menu.length > 0){ - var $toggler = $menu.find('> li.level1 > .li'), - $submenu = $menu.find('> li.level1 > ul'); - - if($toggler.length > 0 && $submenu.length > 0){ - - $toggler.addClass('closed'); - addToggleLink($toggler); - $toggler.each(function( index ) { - $(this).on( "click", function(e) { - e.preventDefault(); - var $this = $(this); - toggleState($this); - if($this.hasClass('opened')){ - var $foc = focusFirstSubLink($this.closest('li.level1'), true); - } - if($('body').hasClass('wide-content')){ - setDefaultContent(); - } - - }); - }); - - - //FIXME: store current nav state with local storage - } - - - } - - }catch(err){ - - } - }, - toggleMainContent = function(){ - var $toggler = $('.togglelink.page_main-content').find('a'); - $toggler.on("click", function (e) { - e.preventDefault(); - var $link = $(this); - - if($('body').hasClass('wide-content')){ - setDefaultContent(); - }else{ - setWideContent(); - } - - }); - }, - sideMenu = function(){ - var $menus = $('.tools').find('.toggle-menu'); - - - try{ - $menus.each(function( ) { - var $menu = $(this); - if($menu.length > 0){ - var $toggler = $menu.find('h6'), - $submenu = $menu.find('nav > ul, nav > div'); - if($toggler.length > 0 && $submenu.length > 0) { - - $toggler.addClass('closed'); - addToggleLink($toggler); - $toggler.each(function (index) { - $(this).on("click", function (e) { - e.preventDefault(); - var $this = $(this); - toggleState($this); - if ($this.hasClass('opened')) { - var $elem = ($submenu.is('div')) ? focusLastSubLink($submenu): focusFirstSubLink($submenu,false); - } - if($('body').hasClass('wide-content')){ - setDefaultContent(); - } - }); - }); - - //FIXME: store current nav state with local storage - } - } - }); - - - }catch(err){ - //console.log('err'); - } - }; - - $(function(){ - mainMenu(); - sideMenu(); - toggleMainContent(); - setContentMinHeight(); - }); - -} )( jQuery, spc ); - diff --git a/js/sidebar.js b/js/sidebar.js new file mode 100644 index 0000000..62e4d7e --- /dev/null +++ b/js/sidebar.js @@ -0,0 +1,160 @@ +/** + * Sets up the sidebar behaviour + */ +jQuery(function () { + const $nav = jQuery('#dokuwiki__aside'); + if (!$nav.length) return; + + /** + * closes sidebar + */ + const setWideContent = function () { + $nav.find('div.nav-panel').hide(); // close all panels + jQuery('body').addClass('wide-content'); + }; + + /** + * opens the sidebar + */ + const setDefaultContent = function () { + jQuery('body').removeClass('wide-content'); + + }; + + /** + * Accessibility helper, focuses the first link witih the given element + * + * @param {jQuery} $elem + */ + const focusFirstSubLink = function ($elem) { + $elem.find('a').first().focus(); + }; + + /** + * Toggle a navigation panel + * + * @param {jQuery} $toggler The h6 toggler + */ + const toggleNav = function ($toggler) { + const $panel = $toggler.next('div.nav-panel'); + const isOpen = $panel.is(':visible'); + // open sidebar on interaction + setDefaultContent(); + // toggle the panel, focus first link after opening + $panel.dw_toggle(!isOpen, function () { + if (!isOpen) { + focusFirstSubLink($panel); + } + }); + }; + + /** + * Initialize the content navigation + * + * It mangles the sidebar content and handles inline Icon configuration + */ + const initContentNav = function () { + const $main = $nav.find('nav.nav-main'); + if (!$main.length) return; + + const ELEMENT = 'h1,h2,h3,h4,h5'; // FIXME move to config + const $elements = $main.find(ELEMENT); + $elements.each(function () { + const $me = jQuery(this); + + // prepare text and the optional icon + const data = $me.text().split('@', 2); + const text = data[0].trim(); + const $icon = jQuery('') + .text(text.substr(0, 1).toUpperCase() + text.substr(1, 1).toLowerCase()) + .wrapInner(''); + if (data[1]) { + const src = data[1].trim(); + $icon.load(DOKU_BASE + 'lib/tpl/sprintdoc/svg.php?svg=' + src + '&e=1'); // directly embed + } + + // make the new toggler + const $toggler = jQuery('') + .addClass('nav') + .attr('href', '#') + .attr('role', 'heading') + .attr('aria-level', '2') + .text(text) + .wrapInner('') + .prepend($icon) + ; + + // wrap all following siblings til the next element in a wrapper + const $wrap = jQuery('
    ') + .addClass('nav-panel'); + const $sibs = $me.nextAll(); + for (let i = 0; i < $sibs.length; i++) { + const $sib = jQuery($sibs[i]); + if ($sib.is(ELEMENT)) break; + $sib.detach().appendTo($wrap); + } + $wrap.insertAfter($me); + + // replace element with toggler + $me.replaceWith($toggler); + }); + }; + + /** + * Initialize the open/close toggling of menu entries + */ + const initMenuHandling = function () { + $nav.on('click', 'a.nav', function (e) { + toggleNav(jQuery(this)); + e.preventDefault(); + }); + }; + + /** + * Make sure the content area is always as high as the sidebar + */ + const initContentMinHeight = function () { + const $sidebar = jQuery('.page-wrapper').find('> .tools').find('.col-xs-12'); + if ($sidebar.length == 1) { + const num = parseFloat($sidebar.height()); + if (!isNaN(num)) { + jQuery('#dokuwiki__content').css('minHeight', num + 100); + } + } + }; + + /** + * Initialize the sidebar handle behaviour + */ + const initSidebarToggling = function () { + const $toggler = jQuery('.togglelink.page_main-content').find('a'); + $toggler.click(function (e) { + e.preventDefault(); + if (jQuery('body').hasClass('wide-content')) { + setDefaultContent(); + } else { + setWideContent(); + } + }); + }; + + /** + * Show sidebar when accessing the search + */ + const initSearchToggling = function () { + jQuery('.toggleSearch').find('a').click(function (e) { + setDefaultContent(); + e.preventDefault(); + jQuery('#qsearch__in').focus(); + }); + + }; + + // main + initContentNav(); + initSidebarToggling(); + initMenuHandling(); + initContentMinHeight(); + initSearchToggling(); +}); + diff --git a/lang/de/lang.js b/lang/de/lang.js deleted file mode 100755 index 3fb9372..0000000 --- a/lang/de/lang.js +++ /dev/null @@ -1,40 +0,0 @@ - -var $lang = {}; - -$lang['direct_prefix'] = 'Direkt'; -$lang['direct_content_main'] = 'Hauptinhalt dieser Seite'; -$lang['direct_menu_main'] = 'Hauptmenü'; - -$lang['adjunct_start_logo_text'] = 'Logo: '; -$lang['adjunct_linked_logo_text'] = '. Link zur Startseite'; - -$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_menu_status'] = 'Seitenstatus'; -$lang['head_breadcrumb'] = 'Standortanzeiger'; -$lang['head_menu_trace'] = 'zuletzt angesehen'; - -$lang['meta_box_jira_tickets_none'] = 'Keine Jira-Tickets verknüpft'; -$lang['meta_box_tags_none'] = 'Keine Tags verknüpft'; -$lang['meta_box_sitemap_none'] = 'keine Sitemap vorhanden'; - -$lang['quality_trigger'] = 'Seitenanalyse ein- bzw. ausblenden'; - -$lang['prefix_tasks'] = 'offene Aufgaben: '; -$lang['prefix_tasks_user'] = 'Ihre offenen Aufgaben: '; -$lang['prefix_tasks_page'] = 'offene Aufgaben auf dieser Seite: '; -$lang['tasks_page_none'] = 'keine offenen Aufgaben für diese Seite'; - -$lang['discussion'] = 'Diskussion'; -$lang['back_to_article'] = 'Zurück zum Artikel'; -$lang['userpage'] = 'Benutzer-Seite'; -$lang['__existing__'] = 'Schriftfarbe für Links zu vorhandenen Webseiten'; -$lang['__missing__'] = 'Schriftfarbe für Links zu nicht vorhandenen Webseiten'; -$lang['__site_width__'] = 'The width of the full site (can be any length unit: %, px, em, ...)'; -$lang['__sidebar_width__'] = 'The width of the sidebar, if any (can be any length unit: %, px, em, ...)'; - -$lang['__button_color__'] = 'Schriftfarbe für Buttons'; -$lang['__button_background__'] = 'Hintergrundfarbe für Buttons'; - diff --git a/lang/de/lang.php b/lang/de/lang.php index 9a52d43..a45586b 100755 --- a/lang/de/lang.php +++ b/lang/de/lang.php @@ -18,14 +18,14 @@ $lang['head_quick_search'] = 'wikiübergreifende Schnellsuche'; $lang['head_menu_main'] = 'Hauptmenü'; $lang['head_menu_status'] = 'Seitenstatus'; $lang['head_breadcrumb'] = 'Standortanzeiger'; -$lang['head_menu_trace'] = 'zuletzt angesehen'; +$lang['head_menu_trace'] = 'Zuletzt Angesehen'; $lang['head_meta_box'] = 'Metainformationen zur Seite'; $lang['jump_to_quicksearch'] = 'Springe zur Schnellsuche'; $lang['meta_box_jira_tickets_none'] = 'Keine Jira-Tickets verknüpft'; $lang['meta_box_tags_none'] = 'Keine Tags verknüpft'; -$lang['meta_box_sitemap_none'] = 'keine Sitemap vorhanden'; +$lang['js']['meta_box_toc_none'] = 'kein Inhaltsverzeichnis vorhanden'; $lang['quality_trigger'] = 'Seitenanalyse ein- bzw. ausblenden'; diff --git a/lang/en/lang.js b/lang/en/lang.js deleted file mode 100755 index 16ff3b8..0000000 --- a/lang/en/lang.js +++ /dev/null @@ -1,38 +0,0 @@ -var $lang = {}; - -$lang['direct_prefix'] = 'jump to'; -$lang['direct_content_main'] = 'main content'; -$lang['direct_menu_main'] = 'main menu'; - -$lang['adjunct_start_logo_text'] = 'Logo: '; -$lang['adjunct_linked_logo_text'] = '. homepage link'; - -$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'] = 'location indicator'; -$lang['head_menu_trace'] = 'trace / visited last'; - -$lang['meta_box_jira_tickets_none'] = 'jira associated tickets found: none'; -$lang['meta_box_tags_none'] = 'jira associated tickets found: none'; -$lang['meta_box_sitemap_none'] = 'no sitemap available'; - -$lang['quality_trigger'] = 'toggle page analysis'; - -$lang['prefix_tasks'] = 'open tasks: '; -$lang['prefix_tasks_user'] = 'your open tasks: '; -$lang['prefix_tasks_page'] = 'open tasks for this page: '; -$lang['tasks_page_none'] = 'no open tasks for this page'; - -$lang['discussion'] = 'Discussion'; -$lang['back_to_article'] = 'Back to article'; -$lang['userpage'] = 'User page'; -$lang['__existing__'] = 'The color for links to existing pages'; -$lang['__missing__'] = 'The color for links to non-existing pages'; -$lang['__site_width__'] = 'The width of the full site (can be any length unit: %, px, em, ...)'; -$lang['__sidebar_width__'] = 'The width of the sidebar, if any (can be any length unit: %, px, em, ...)'; - -$lang['__button_color__'] = 'Color for buttons'; -$lang['__button_background__'] = 'Backgroundcolor for buttons'; diff --git a/lang/en/lang.php b/lang/en/lang.php index 1990447..b12f687 100755 --- a/lang/en/lang.php +++ b/lang/en/lang.php @@ -11,6 +11,8 @@ $lang['direct_menu_main'] = 'main menu'; $lang['adjunct_start_logo_text'] = 'Logo: '; $lang['adjunct_linked_logo_text'] = '. homepage link'; +$lang['a11y_search'] = 'Jump to the search'; +$lang['a11y_sidebartoggle'] = 'Open/Close Sidebar'; $lang['nav-area-head'] = 'menus and quick search'; $lang['head_magic_matcher'] = 'MagicMatcher'; @@ -18,14 +20,16 @@ $lang['head_quick_search'] = 'quick search'; $lang['head_menu_main'] = 'main menu'; $lang['head_menu_status'] = 'site status'; $lang['head_breadcrumb'] = 'location indicator'; -$lang['head_menu_trace'] = 'trace / visited last'; +$lang['head_menu_trace'] = 'Last Visited Pages'; $lang['head_meta_box'] = 'meta data for this page'; $lang['jump_to_quicksearch'] = 'Jump to quick search'; $lang['meta_box_jira_tickets_none'] = 'jira associated tickets found: none'; $lang['meta_box_tags_none'] = 'tags found: none'; -$lang['meta_box_sitemap_none'] = 'no sitemap available'; +$lang['js']['meta_box_toc_none'] = 'no Table of Contents available'; + +$lang['tab_tags'] = 'Tags'; $lang['quality_trigger'] = 'toggle page analysis'; diff --git a/main.php b/main.php index 8eadf28..8a15db7 100755 --- a/main.php +++ b/main.php @@ -10,11 +10,12 @@ */ if (!defined('DOKU_INC')) die(); /* must be run from within DokuWiki */ -@require_once(dirname(__FILE__).'/tpl_functions.php'); /* include hook for template functions */ header('X-UA-Compatible: IE=edge,chrome=1'); $showTools = !tpl_getConf('hideTools') || ( tpl_getConf('hideTools') && !empty($_SERVER['REMOTE_USER']) ); $showSidebar = true; /* */ +$hasFooter = page_findnearest('pagefooter'); +$showFooter = $hasFooter && ($ACT === 'show'); /* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ @@ -67,7 +68,6 @@ $showSidebar = true; /* */ /* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ ?>
    - @@ -239,6 +194,7 @@ $classWideContent = ($ACT === "show") ? "": "wide-content "; /* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ /* User Tools and MagicMatcher Bar */ /* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ + /** @var \helper_plugin_magicmatcher_context $mm */ $mm = plugin_load('helper', 'magicmatcher_context'); $navClass = ""; if($mm){ @@ -282,10 +238,10 @@ $classWideContent = ($ACT === "show") ? "": "wide-content "; -
    diff --git a/tpl/nav-page-quality-tasks.php b/tpl/nav-page-quality-tasks.php index 377087e..2a1977c 100755 --- a/tpl/nav-page-quality-tasks.php +++ b/tpl/nav-page-quality-tasks.php @@ -3,9 +3,9 @@ ?> - - - diff --git a/tpl/nav-trace.php b/tpl/nav-trace.php deleted file mode 100755 index 52ade4f..0000000 --- a/tpl/nav-trace.php +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/tpl/nav-usermenu.php b/tpl/nav-usermenu.php deleted file mode 100755 index f6fe3fe..0000000 --- a/tpl/nav-usermenu.php +++ /dev/null @@ -1,23 +0,0 @@ - - - - - diff --git a/tpl/nav-usertools-buttons.php b/tpl/nav-usertools-buttons.php index 05400a7..54fdfb7 100755 --- a/tpl/nav-usertools-buttons.php +++ b/tpl/nav-usertools-buttons.php @@ -13,6 +13,7 @@ }?> loadTasks(array('status' => array('undone'),'user' => $_SERVER['REMOTE_USER'])); diff --git a/tpl_functions.php b/tpl_functions.php deleted file mode 100755 index c0e605d..0000000 --- a/tpl_functions.php +++ /dev/null @@ -1,142 +0,0 @@ - - */ -function _tpl_discussion($discussionPage, $title, $backTitle, $link=0, $wrapper=0, $return=0) { - global $ID; - $output = ''; - - $discussPage = str_replace('@ID@', $ID, $discussionPage); - $discussPageRaw = str_replace('@ID@', '', $discussionPage); - $isDiscussPage = strpos($ID, $discussPageRaw) !== false; - $backID = ':'.str_replace($discussPageRaw, '', $ID); - - if ($wrapper) $output .= "<$wrapper>"; - - if ($isDiscussPage) { - if ($link) { - ob_start(); - tpl_pagelink($backID, $backTitle); - $output .= ob_get_contents(); - ob_end_clean(); - } else { - $output .= html_btn('back2article', $backID, '', array(), 'get', 0, $backTitle); - } - } else { - if ($link) { - ob_start(); - tpl_pagelink($discussPage, $title); - $output .= ob_get_contents(); - ob_end_clean(); - } else { - $output .= html_btn('discussion', $discussPage, '', array(), 'get', 0, $title); - } - } - - if ($wrapper) $output .= ""; - if ($return) return $output; - echo $output; -} - -/** - * Create link/button to user page - * - * @author Anika Henke - */ -function _tpl_userpage($userPage, $title, $link=0, $wrapper=0, $return=0) { - if (empty($_SERVER['REMOTE_USER'])) return; - - global $conf; - $output = ''; - $userPage = str_replace('@USER@', $_SERVER['REMOTE_USER'], $userPage); - - if ($wrapper) $output .= "<$wrapper>"; - - if ($link) { - ob_start(); - tpl_pagelink($userPage, $title); - $output .= ob_get_contents(); - ob_end_clean(); - } else { - $output .= html_btn('userpage', $userPage, '', array(), 'get', 0, $title); - } - - if ($wrapper) $output .= ""; - if ($return) return $output; - echo $output; -} - -/** - * Wrapper around custom template actions - * - * @author Anika Henke - */ -function _tpl_action($type, $link=0, $wrapper=0, $return=0) { - switch ($type) { - case 'discussion': - if (tpl_getConf('discussionPage')) { - $output = _tpl_discussion(tpl_getConf('discussionPage'), tpl_getLang('discussion'), tpl_getLang('back_to_article'), $link, $wrapper, 1); - if ($return) return $output; - echo $output; - } - break; - case 'userpage': - if (tpl_getConf('userPage')) { - $output = _tpl_userpage(tpl_getConf('userPage'), tpl_getLang('userpage'), $link, $wrapper, 1); - if ($return) return $output; - echo $output; - } - break; - } -} - -/** - * copied to core (available since Detritus) - */ -if (!function_exists('tpl_toolsevent')) { - function tpl_toolsevent($toolsname, $items, $view='main') { - $data = array( - 'view' => $view, - 'items' => $items - ); - - $hook = 'TEMPLATE_'.strtoupper($toolsname).'_DISPLAY'; - $evt = new Doku_Event($hook, $data); - if($evt->advise_before()){ - foreach($evt->data['items'] as $k => $html) echo $html; - } - $evt->advise_after(); - } -} - -/** - * copied from core (available since Binky) - */ -if (!function_exists('tpl_classes')) { - function tpl_classes() { - global $ACT, $conf, $ID, $INFO; - $classes = array( - 'dokuwiki', - 'mode_'.$ACT, - 'tpl_'.$conf['template'], - !empty($_SERVER['REMOTE_USER']) ? 'loggedIn' : '', - $INFO['exists'] ? '' : 'notFound', - ($ID == $conf['start']) ? 'home' : '', - ); - return join(' ', $classes); - } -}