Skip to content
Browse files

MDL-26047 - added new theme called Nimble

  • Loading branch information...
1 parent 5a7f931 commit ee3b46d8bf62c32a634e964a75c9aca0c7ec9efa @ptrkmkl ptrkmkl committed Jan 18, 2011
View
268 theme/nimble/config.php
@@ -0,0 +1,268 @@
+<?php
+
+// This file is part of Moodle - http://moodle.org/
+//
+// Moodle is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Moodle is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
+
+/**
+ * Configuration for Moodle's fusion theme.
+ *
+ * DO NOT MODIFY THIS THEME!
+ * COPY IT FIRST, THEN RENAME THE COPY AND MODIFY IT INSTEAD.
+ *
+ * For full information about creating Moodle themes, see:
+ * http://docs.moodle.org/en/Development:Themes_2.0
+ *
+ * @package moodlecore
+ * @copyright 2010 Patrick Malley (http://newschoollearning.com/)
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+$THEME->name = 'nimble';
+
+////////////////////////////////////////////////////
+// Name of the theme. Most likely the name of
+// the directory in which this file resides.
+////////////////////////////////////////////////////
+
+
+$THEME->parents = array(
+ 'canvas',
+ 'base',
+);
+
+/////////////////////////////////////////////////////
+// Which existing theme(s) in the /theme/ directory
+// do you want this theme to extend. A theme can
+// extend any number of themes. Rather than
+// creating an entirely new theme and copying all
+// of the CSS, you can simply create a new theme,
+// extend the theme you like and just add the
+// changes you want to your theme.
+////////////////////////////////////////////////////
+
+
+$THEME->sheets = array(
+ 'core',
+ 'pagelayout',
+ 'colors',
+ 'menu',
+);
+
+////////////////////////////////////////////////////
+// Name of the stylesheet(s) you've including in
+// this theme's /styles/ directory.
+////////////////////////////////////////////////////
+
+$THEME->parents_exclude_sheets = array(
+ 'base'=>array(
+ 'pagelayout',
+ ),
+ 'canvas'=>array(
+ 'pagelayout',
+ ),
+);
+
+
+$THEME->enable_dock = true;
+
+////////////////////////////////////////////////////
+// Do you want to use the new navigation dock?
+////////////////////////////////////////////////////
+
+
+$THEME->editor_sheets = array('editor');
+
+////////////////////////////////////////////////////
+// An array of stylesheets to include within the
+// body of the editor.
+////////////////////////////////////////////////////
+
+$THEME->layouts = array(
+ 'base' => array(
+ 'file' => 'general.php',
+ 'regions' => array(),
+ ),
+ 'standard' => array(
+ 'file' => 'general.php',
+ 'regions' => array('side-post'),
+ 'defaultregion' => 'side-post',
+ ),
+ 'course' => array(
+ 'file' => 'general.php',
+ 'regions' => array('side-post'),
+ 'defaultregion' => 'side-post'
+ ),
+ 'coursecategory' => array(
+ 'file' => 'general.php',
+ 'regions' => array('side-post'),
+ 'defaultregion' => 'side-post',
+ ),
+ 'incourse' => array(
+ 'file' => 'general.php',
+ 'regions' => array('side-post'),
+ 'defaultregion' => 'side-post',
+ ),
+ 'frontpage' => array(
+ 'file' => 'frontpage.php',
+ 'regions' => array('side-post'),
+ 'defaultregion' => 'side-post',
+ ),
+ 'admin' => array(
+ 'file' => 'general.php',
+ 'regions' => array('side-post'),
+ 'defaultregion' => 'side-post',
+ ),
+ 'mydashboard' => array(
+ 'file' => 'general.php',
+ 'regions' => array('side-post'),
+ 'defaultregion' => 'side-post',
+ 'options' => array('langmenu'=>true),
+ ),
+ 'mypublic' => array(
+ 'file' => 'general.php',
+ 'regions' => array('side-post'),
+ 'defaultregion' => 'side-post',
+ ),
+ 'login' => array(
+ 'file' => 'general.php',
+ 'regions' => array(),
+ 'options' => array('langmenu'=>true),
+ ),
+ 'popup' => array(
+ 'file' => 'general.php',
+ 'regions' => array(),
+ 'options' => array('nofooter'=>true, 'noblocks'=>true, 'nonavbar'=>true),
+ ),
+ 'frametop' => array(
+ 'file' => 'general.php',
+ 'regions' => array(),
+ 'options' => array('nofooter'=>true),
+ ),
+ 'maintenance' => array(
+ 'file' => 'general.php',
+ 'regions' => array(),
+ 'options' => array('nofooter'=>true, 'nonavbar'=>true),
+ ),
+ 'embedded' => array(
+ 'theme' => 'canvas',
+ 'file' => 'embedded.php',
+ 'regions' => array(),
+ 'options' => array('nofooter'=>true, 'nonavbar'=>true),
+ ),
+ // Should display the content and basic headers only.
+ 'print' => array(
+ 'file' => 'general.php',
+ 'regions' => array(),
+ 'options' => array('nofooter'=>true, 'nonavbar'=>false, 'noblocks'=>true),
+ ),
+ 'report' => array(
+ 'file' => 'general.php',
+ 'regions' => array('side-post'),
+ 'defaultregion' => 'side-post',
+ ),
+);
+
+///////////////////////////////////////////////////////////////
+// These are all of the possible layouts in Moodle. The
+// simplest way to do this is to keep the theme and file
+// variables the same for every layout. Including them
+// all in this way allows some flexibility down the road
+// if you want to add a different layout template to a
+// specific page.
+///////////////////////////////////////////////////////////////
+
+// $THEME->csspostprocess = 'fusion_process_css';
+
+////////////////////////////////////////////////////
+// Allows the user to provide the name of a function
+// that all CSS should be passed to before being
+// delivered.
+////////////////////////////////////////////////////
+
+// $THEME->filter_mediaplugin_colors
+
+////////////////////////////////////////////////////
+// Used to control the colours used in the small
+// media player for the filters
+////////////////////////////////////////////////////
+
+// $THEME->javascripts
+
+////////////////////////////////////////////////////
+// An array containing the names of JavaScript files
+// located in /javascript/ to include in the theme.
+// (gets included in the head)
+////////////////////////////////////////////////////
+
+// $THEME->javascripts_footer
+
+////////////////////////////////////////////////////
+// As above but will be included in the page footer.
+////////////////////////////////////////////////////
+
+$THEME->larrow = '&lang;';
+
+////////////////////////////////////////////////////
+// Overrides the left arrow image used throughout
+// Moodle
+////////////////////////////////////////////////////
+
+$THEME->rarrow = '&rang;';
+
+////////////////////////////////////////////////////
+// Overrides the right arrow image used throughout Moodle
+////////////////////////////////////////////////////
+
+// $THEME->layouts
+
+////////////////////////////////////////////////////
+// An array setting the layouts for the theme
+////////////////////////////////////////////////////
+
+// $THEME->parents_exclude_javascripts
+
+////////////////////////////////////////////////////
+// An array of JavaScript files NOT to inherit from
+// the themes parents
+////////////////////////////////////////////////////
+
+// $THEME->parents_exclude_sheets
+
+////////////////////////////////////////////////////
+// An array of stylesheets not to inherit from the
+// themes parents
+////////////////////////////////////////////////////
+
+// $THEME->plugins_exclude_sheets
+
+////////////////////////////////////////////////////
+// An array of plugin sheets to ignore and not
+// include.
+////////////////////////////////////////////////////
+
+// $THEME->renderfactory
+
+////////////////////////////////////////////////////
+// Sets a custom render factory to use with the
+// theme, used when working with custom renderers.
+////////////////////////////////////////////////////
+
+// $THEME->resource_mp3player_colors
+
+////////////////////////////////////////////////////
+// Controls the colours for the MP3 player
+////////////////////////////////////////////////////
+
+$THEME->csspostprocess = 'nimble_process_css';
View
75 theme/nimble/lang/en/theme_nimble.php
@@ -0,0 +1,75 @@
+<?php
+
+// This file is part of Moodle - http://moodle.org/
+//
+// Moodle is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Moodle is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
+
+/**
+ * Strings for component 'theme_nimble', language 'en', branch 'MOODLE_20_STABLE'
+ *
+ * @package moodlecore
+ * @copyright 2010 Patrick Malley
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+$string['pluginname'] = 'Nimble';
+$string['region-side-post'] = 'Right';
+$string['region-side-pre'] = 'Left';
+$string['choosereadme'] = '
+<div class="clearfix">
+ <div class="theme_screenshot">
+
+ <h2>Nimble</h2>
+ <img src="nimble/pix/screenshot.png" />
+
+ <h3>Theme Discussion Forum:</h3>
+ <p><a href="http://moodle.org/mod/forum/view.php?id=46">http://moodle.org/mod/forum/view.php?id=46</a></p>
+
+ <h3>Theme Credits</h3>
+ <p><a href="http://docs.moodle.org/en/Theme_credits">http://docs.moodle.org/en/Theme_credits</a></p>
+
+ <h3>Theme Documentation:</h3>
+ <p><a href="http://docs.moodle.org/en/Themes">http://docs.moodle.org/en/Themes</a></p><h3>Report a bug:</h3><p><a href="http://tracker.moodle.org">http://tracker.moodle.org</a></p>
+ </div>
+
+ <div class="theme_description">
+
+ <h2>About</h2>
+ <p>Nimble is a two-column, fluid-width theme coded for Moodle 2.0. It makes use of custom menus that appear above the site title on every page. It also includes a basic settings page allowing you to change link color, add a tagline next the site name on the front page, and add text to the footer.</p>
+
+ <h2>Parents</h2>
+ <p>This theme is built upon both Base and Canvas, two parent themes included in the Moodle core. If you wish to modify aspects of this theme beyond the settings offered, we advise creating a new theme using this theme, Base and Canvas all as parents so updates to any of those themes in the core will find their way into your new theme.</p>
+
+ <h2>Credits</h2>
+ <p>This design was created for Moodle by Patrick Malley (patrick@newschoollearning.com) with help from John Stabinger (john@newschoollearning.com).
+ <h2>License</h2>
+ <p>This, and all other themes included in the Moodle core, are licensed under the <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>.
+ </div>
+</div>';
+
+$string['tagline'] = 'Tagline';
+$string['taglinedesc'] = 'Set a tagline to appear under the site name on the front page.';
+
+$string['footerline'] = 'footerline';
+$string['footerlinedesc'] = 'Add some text (copyright info, etc.) to the footer.';
+
+$string['backgroundcolor'] = 'Header Background';
+$string['backgroundcolordesc'] = 'Change the background color of the header.';
+
+$string['linkcolor'] = 'Link Color';
+$string['linkcolordesc'] = 'Set the color of links in the theme, use html hex code.';
+
+$string['linkhover'] = 'Menu Hover Color';
+$string['linkhoverdesc'] = 'Set the color of the menu on hover in the theme, use html hex code.';
+
View
146 theme/nimble/layout/frontpage.php
@@ -0,0 +1,146 @@
+<?php
+
+$hasheading = ($PAGE->heading);
+$hasnavbar = (empty($PAGE->layout_options['nonavbar']) && $PAGE->has_navbar());
+$hasfooter = (empty($PAGE->layout_options['nofooter']));
+$hassidepost = $PAGE->blocks->region_has_content('side-post', $OUTPUT);
+$showsidepost = ($hassidepost && !$PAGE->blocks->region_completely_docked('side-post', $OUTPUT));
+
+$custommenu = $OUTPUT->custom_menu();
+$hascustommenu = (empty($PAGE->layout_options['nocustommenu']) && !empty($custommenu));
+
+$bodyclasses = array();
+if ($showsidepost) {
+ $bodyclasses[] = 'side-post-only';
+} else if (!$showsidepost) {
+ $bodyclasses[] = 'content-only';
+}
+if ($hascustommenu) {
+ $bodyclasses[] = 'has_custom_menu';
+}
+
+
+if (!empty($PAGE->theme->settings->tagline)) {
+ $tagline = $PAGE->theme->settings->tagline;
+} else {
+ $tagline = "Another Moodle Theme";
+}
+
+if (!empty($PAGE->theme->settings->footerline)) {
+ $footnote = $PAGE->theme->settings->footerline;
+} else {
+ $footnote = '<!-- There was no custom footnote set -->';
+}
+
+echo $OUTPUT->doctype() ?>
+<html <?php echo $OUTPUT->htmlattributes() ?>>
+<head>
+ <title><?php echo $PAGE->title ?></title>
+ <link rel="shortcut icon" href="<?php echo $OUTPUT->pix_url('favicon', 'theme')?>" />
+ <meta name="description" content="<?php echo strip_tags(format_text($SITE->summary, FORMAT_HTML)) ?>" />
+ <?php echo $OUTPUT->standard_head_html() ?>
+</head>
+
+<body id="<?php echo $PAGE->bodyid ?>" class="<?php echo $PAGE->bodyclasses.' '.join(' ', $bodyclasses) ?>">
+<?php echo $OUTPUT->standard_top_of_body_html() ?>
+
+<div id="page">
+
+ <div id="page-wrap1">
+ <div id="page-wrap2">
+
+ <div id="wrapper" class="clearfix">
+
+<!-- START OF HEADER -->
+
+ <div id="page-header">
+ <div id="page-header-wrapper" class="wrapper clearfix">
+
+ <div id="headermenus" class="shrinkwrapper clearfix">
+
+ <?php if ($hascustommenu) { ?>
+ <div id="custommenu"><?php echo $custommenu; ?></div>
+ <?php } else { ?>
+ <div id="custommenu" style="line-height:1em;">&nbsp;</div> <!-- temporary until I find a better fix -->
+ <?php } ?>
+
+ <div class="headermenu">
+ <?php
+ echo $OUTPUT->login_info();
+ echo $PAGE->headingmenu;
+ echo $OUTPUT->lang_menu();
+ ?>
+ </div>
+
+ </div>
+
+ </div>
+ </div>
+
+<!-- END OF HEADER -->
+
+<!-- START OF CONTENT -->
+
+ <div id="page-content-wrapper" class="shrinkwrapper clearfix">
+ <div id="page-content">
+ <div id="region-main-box">
+ <div id="region-post-box">
+
+ <div id="region-main-wrap">
+ <div id="region-main">
+ <div class="region-content">
+
+ <div id="region-header" class="clearfix">
+ <h1 class="headermain"><?php echo $PAGE->heading ?></h1>
+ <p class="tagline"><?php echo $tagline ?></p>
+ </div>
+
+ <?php echo core_renderer::MAIN_CONTENT_TOKEN ?>
+
+ </div>
+ </div>
+ </div>
+
+ <?php if ($hassidepost) { ?>
+ <div id="region-post" class="block-region">
+ <div id="region-post-wrap-1">
+ <div id="region-post-wrap-2">
+ <div class="region-content">
+ <?php echo $OUTPUT->blocks_for_region('side-post') ?>
+ </div>
+ </div>
+ </div>
+ </div>
+ <?php } ?>
+
+ </div>
+ </div>
+ </div>
+ </div>
+
+<!-- END OF CONTENT -->
+
+ </div> <!-- END #wrapper -->
+
+ </div>
+ </div>
+
+<!-- START OF FOOTER -->
+ <div id="page-footer" class="wrapper clearfix">
+ <?php echo $footnote ?>
+ <p class="helplink"><?php echo page_doc_link(get_string('moodledocslink')) ?></p>
+ <?php
+ echo $OUTPUT->login_info();
+ echo $OUTPUT->home_link();
+ echo $OUTPUT->standard_footer_html();
+ ?>
+ </div>
+
+<!-- END OF FOOTER -->
+
+
+</div> <!-- END #page -->
+
+<?php echo $OUTPUT->standard_end_of_body_html() ?>
+</body>
+</html>
View
160 theme/nimble/layout/general.php
@@ -0,0 +1,160 @@
+<?php
+
+$hasheading = ($PAGE->heading);
+$hasnavbar = (empty($PAGE->layout_options['nonavbar']) && $PAGE->has_navbar());
+$hasfooter = (empty($PAGE->layout_options['nofooter']));
+$hassidepost = (empty($PAGE->layout_options['noblocks']) && $PAGE->blocks->region_has_content('side-post', $OUTPUT));
+
+$showsidepost = ($hassidepost && !$PAGE->blocks->region_completely_docked('side-post', $OUTPUT));
+
+$custommenu = $OUTPUT->custom_menu();
+$hascustommenu = (empty($PAGE->layout_options['nocustommenu']) && !empty($custommenu));
+
+$bodyclasses = array();
+ if ($showsidepost) {
+ $bodyclasses[] = 'side-post-only';
+} else if (!$showsidepost) {
+ $bodyclasses[] = 'content-only';
+}
+if ($hascustommenu) {
+ $bodyclasses[] = 'has_custom_menu';
+}
+
+if (!empty($PAGE->theme->settings->footertext)) {
+ $footnote = $PAGE->theme->settings->footertext;
+} else {
+ $footnote = '<!-- There was no custom footnote set -->';
+}
+
+
+echo $OUTPUT->doctype() ?>
+<html <?php echo $OUTPUT->htmlattributes() ?>>
+<head>
+ <title><?php echo $PAGE->title ?></title>
+ <link rel="shortcut icon" href="<?php echo $OUTPUT->pix_url('favicon', 'theme')?>" />
+ <?php echo $OUTPUT->standard_head_html() ?>
+</head>
+
+<body id="<?php echo $PAGE->bodyid ?>" class="<?php echo $PAGE->bodyclasses.' '.join(' ', $bodyclasses) ?>">
+<?php echo $OUTPUT->standard_top_of_body_html() ?>
+
+<div id="page">
+
+ <?php if ($hasheading || $hasnavbar) { ?>
+
+ <div id="page-wrap1">
+ <div id="page-wrap2">
+
+ <div id="wrapper" class="clearfix">
+
+<!-- START OF HEADER -->
+
+ <div id="page-header" class="inside">
+ <div id="page-header-wrapper" class="wrapper clearfix">
+
+ <?php if ($hasheading) { ?>
+ <div id="headermenus" class="shrinkwrapper clearfix">
+ <?php if ($hascustommenu) { ?>
+ <div id="custommenu"><?php echo $custommenu; ?></div>
+ <?php } else { ?>
+ <div id="custommenu" style="line-height:1em;">&nbsp;</div> <!-- temporary until I find a better fix -->
+ <?php } ?>
+
+ <div class="headermenu">
+ <?php if (!empty($PAGE->layout_options['langmenu'])) {
+ echo $OUTPUT->lang_menu();
+ }
+ echo $OUTPUT->login_info();
+ echo $PAGE->headingmenu
+ ?>
+ </div>
+ </div>
+ <?php } ?>
+
+ </div>
+ </div>
+
+<!-- END OF HEADER -->
+
+ <?php } ?>
+
+
+<!-- START OF CONTENT -->
+
+ <div id="page-content-wrapper" class="shrinkwrapper clearfix">
+ <div id="page-content">
+ <div id="region-main-box">
+ <div id="region-post-box">
+
+ <div id="region-main-wrap">
+ <div id="region-main">
+ <div class="region-content">
+
+ <div id="region-header" class="inside clearfix">
+ <h1 class="headermain"><?php echo $PAGE->heading ?></h1>
+ </div>
+
+ <?php if ($hasnavbar) { ?>
+ <div class="navbar">
+ <div class="wrapper clearfix">
+ <div class="breadcrumb">
+ <?php echo $OUTPUT->navbar(); ?>
+ </div>
+ <div class="navbutton">
+ <?php echo $PAGE->button; ?>
+ </div>
+ </div>
+ </div>
+ <?php } ?>
+
+ <?php echo core_renderer::MAIN_CONTENT_TOKEN ?>
+ </div>
+ </div>
+ </div>
+
+ <?php if ($hassidepost) { ?>
+ <div id="region-post" class="block-region">
+ <div id="region-post-wrap-1">
+ <div id="region-post-wrap-2">
+ <div class="region-content">
+ <?php echo $OUTPUT->blocks_for_region('side-post') ?>
+ </div>
+ </div>
+ </div>
+ </div>
+ <?php } ?>
+
+ </div>
+ </div>
+ </div>
+ </div>
+
+<!-- END OF CONTENT -->
+
+ <?php if ($hasheading || $hasnavbar) { ?>
+ </div>
+
+ </div>
+ </div>
+
+
+ <?php } ?>
+
+<!-- START OF FOOTER -->
+
+ <?php if ($hasfooter) { ?>
+ <div id="page-footer" class="wrapper">
+ <?php echo $footnote ?>
+ <p class="helplink"><?php echo page_doc_link(get_string('moodledocslink')) ?></p>
+ <?php
+ echo $OUTPUT->login_info();
+ echo $OUTPUT->home_link();
+ echo $OUTPUT->standard_footer_html();
+ ?>
+ </div>
+ <?php } ?>
+
+</div>
+<?php echo $OUTPUT->standard_end_of_body_html() ?>
+</body>
+</html>
View
78 theme/nimble/lib.php
@@ -0,0 +1,78 @@
+<?php
+
+/**
+ * Makes our changes to the CSS
+ *
+ * @param string $css
+ * @param theme_config $theme
+ * @return string
+ */
+function nimble_process_css($css, $theme) {
+
+ // Set the link color
+ if (!empty($theme->settings->linkcolor)) {
+ $linkcolor = $theme->settings->linkcolor;
+ } else {
+ $linkcolor = null;
+ }
+ $css = nimble_set_linkcolor($css, $linkcolor);
+
+ // Set the link hover color
+ if (!empty($theme->settings->linkhover)) {
+ $linkhover = $theme->settings->linkhover;
+ } else {
+ $linkhover = null;
+ }
+ $css = nimble_set_linkhover($css, $linkhover);
+
+
+ // Set the background color
+ if (!empty($theme->settings->backgroundcolor)) {
+ $backgroundcolor = $theme->settings->backgroundcolor;
+ } else {
+ $backgroundcolor = null;
+ }
+ $css = nimble_set_backgroundcolor($css, $backgroundcolor);
+
+
+
+
+ // Return the CSS
+ return $css;
+}
+
+/**
+ * Sets the link color variable in CSS
+ *
+ */
+function nimble_set_linkcolor($css, $linkcolor) {
+ $tag = '[[setting:linkcolor]]';
+ $replacement = $linkcolor;
+ if (is_null($replacement)) {
+ $replacement = '#2a65b1';
+ }
+ $css = str_replace($tag, $replacement, $css);
+ return $css;
+}
+
+function nimble_set_linkhover($css, $linkhover) {
+ $tag = '[[setting:linkhover]]';
+ $replacement = $linkhover;
+ if (is_null($replacement)) {
+ $replacement = '#222222';
+ }
+ $css = str_replace($tag, $replacement, $css);
+ return $css;
+}
+
+
+function nimble_set_backgroundcolor($css, $backgroundcolor) {
+ $tag = '[[setting:backgroundcolor]]';
+ $replacement = $backgroundcolor;
+ if (is_null($replacement)) {
+ $replacement = '#454545';
+ }
+ $css = str_replace($tag, $replacement, $css);
+ return $css;
+}
+
View
BIN theme/nimble/pix/screenshot.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
52 theme/nimble/settings.php
@@ -0,0 +1,52 @@
+<?php
+
+defined('MOODLE_INTERNAL') || die;
+
+if ($ADMIN->fulltree) {
+
+
+// Tagline setting
+ $name = 'theme_nimble/tagline';
+ $title = get_string('tagline','theme_nimble');
+ $description = get_string('taglinedesc', 'theme_nimble');
+ $setting = new admin_setting_configtext($name, $title, $description, '');
+ $settings->add($setting);
+
+ // footerline setting
+ $name = 'theme_nimble/footerline';
+ $title = get_string('footerline','theme_nimble');
+ $description = get_string('footerlinedesc', 'theme_nimble');
+ $setting = new admin_setting_configtext($name, $title, $description, '');
+ $settings->add($setting);
+
+
+ // Background color setting
+ $name = 'theme_nimble/backgroundcolor';
+ $title = get_string('backgroundcolor','theme_nimble');
+ $description = get_string('backgroundcolordesc', 'theme_nimble');
+ $default = '#454545';
+ $previewconfig = NULL;
+ $setting = new admin_setting_configcolourpicker($name, $title, $description, $default, $previewconfig);
+ $settings->add($setting);
+
+ // link color setting
+ $name = 'theme_nimble/linkcolor';
+ $title = get_string('linkcolor','theme_nimble');
+ $description = get_string('linkcolordesc', 'theme_nimble');
+ $default = '#2a65b1';
+ $previewconfig = NULL;
+ $setting = new admin_setting_configcolourpicker($name, $title, $description, $default, $previewconfig);
+ $settings->add($setting);
+
+ // link hover color setting
+ $name = 'theme_nimble/linkhover';
+ $title = get_string('linkhover','theme_nimble');
+ $description = get_string('linkhoverdesc', 'theme_nimble');
+ $default = '#222222';
+ $previewconfig = NULL;
+ $setting = new admin_setting_configcolourpicker($name, $title, $description, $default, $previewconfig);
+ $settings->add($setting);
+
+
+
+}
View
40 theme/nimble/style/colors.css
@@ -0,0 +1,40 @@
+#page-header-wrapper {
+ background: [[setting:backgroundcolor]];
+}
+
+a {
+ color: [[setting:linkcolor]];
+}
+
+a:hover {
+ color: #000;
+}
+
+.yui3-skin-sam .yui3-menu-label-active,
+.yui3-skin-sam .yui3-menu-label-menuvisible {
+ color: #fff;
+ background: [[setting:linkhover]] !important;
+}
+
+.yui3-skin-sam .yui3-menu .yui3-menu {
+ padding-top: 5px;
+ background: [[setting:linkhover]];
+
+}
+
+
+
+.yui3-skin-sam .yui3-menu .yui3-menu .yui3-menu .yui3-menu-label-active,
+.yui3-skin-sam .yui3-menu .yui3-menu .yui3-menu .yui3-menu-label-menuvisible {
+ color: #fff;
+ background-color: [[setting:linkhover]] !important;
+}
+
+
+.yui3-skin-sam .yui3-menu .yui3-menu .yui3-menu-content {
+ background: [[setting:linkhover]];
+}
+
+.yui3-skin-sam .yui3-menu .yui3-menu .yui3-menu .yui3-menu-content {
+ background: [[setting:linkhover]];
+}
View
226 theme/nimble/style/core.css
@@ -0,0 +1,226 @@
+/* Core */
+
+html,body {
+ background: #f7f7f7;
+}
+html,body {
+ font-family: Tahoma,Arial,Helvetica,sans-serif;
+}
+
+h1,h2,h3,h4,h5,h6 {
+ font-family: Georgia, Times, "Times New Roman", serif;
+ color: #333;
+}
+
+.shrinkwrapper {
+ width: 90%;
+ margin: 0 auto;
+}
+
+
+/* Header */
+
+
+
+.headermenu {
+ float: right;
+ color: #ddd;
+}
+
+.headermenu a {
+ color: #aaa;
+}
+
+.headermenu a:hover {
+ color: #fff;
+}
+
+#custommenu {
+ float: left;
+ margin-top: 40px;
+}
+
+h1.headermain {
+ margin: 0 20px 25px 0;
+ font-size: 2.5em;
+ text-shadow: 0.03em 0.03em 0.05em #333;
+ color: #222;
+}
+
+.inside h1.headermain {
+ font-size: 2.25em;
+ margin-bottom: 15px;
+}
+
+.tagline {
+ float: left;
+ margin:13px 0 0 0;
+ font-size: 1em;
+ color: #333;
+ font-family: Georgia, Times, "Times New Roman", serif;
+ text-shadow: 0.1em 0.1em 0 #fff;
+}
+
+.navbar {
+ margin-bottom: 15px;
+ border: 1px solid #e3e3e3;
+ border-radius: 10px;
+ -moz-border-radius: 10px;
+ -webkit-border-radius: 10px;
+}
+
+.navbar .wrapper {
+ border: 1px solid #fff;
+ padding: 5px;
+ border-radius: 10px;
+ -moz-border-radius: 10px;
+ -webkit-border-radius: 10px;
+}
+
+/* Content */
+
+h2.headingblock {
+ text-shadow: 1px 1px 3px #aaa;
+ color: #445566;
+}
+
+/* Region Post */
+
+#region-post-wrap-1 {
+ border: 1px solid #ccc;
+ border-radius: 10px;
+ -moz-border-radius: 10px;
+ -webkit-border-radius: 10px;
+ margin-top: 25px;
+}
+#region-post-wrap-2 {
+ border: 1px solid #fff;
+ border-radius: 10px;
+ -moz-border-radius: 10px;
+ -webkit-border-radius: 10px;
+ padding: 10px;
+}
+
+/* Blocks */
+
+.block {
+ border: none;
+}
+
+.block .title {
+ border-bottom: 1px solid #eee;
+}
+.block .title h2 {
+ text-shadow: 1px 1px 3px #aaa;
+ color: #333;
+ font-size: 1.25em;
+ border-bottom: 1px solid #fff;
+ margin: 0;
+}
+
+/* Calendar */
+
+.minicalendar td,
+.minicalendar th {
+ font-size: 0.85em;
+ padding: 0 2px;
+ border-width: 2px 0;
+ border-color: #f7f7f7;
+}
+
+.minicalendar .calendar_event_user,
+.minicalendar .duration_user {
+ border-color: #dce7ec;
+}
+
+.minicalendar .calendar_event_course,
+.minicalendar .duration_course {
+ border-color: #ffd3bd;
+}
+
+.minicalendar .calendar_event_global,
+.minicalendar .duration_global {
+ border-color: #d6f8cd;
+}
+
+.minicalendar .calendar_event_group,
+.minicalendar .duration_group {
+ border-color: #fee7ae;
+}
+
+/* Forums */
+
+.forumpost .topic {
+ border: 1px solid #ddd;
+ border-radius: 10px 10px 0 0;
+ -moz-border-radius: 10px 10px 0 0;
+ -webkit-border-radius: 10px 10px 0 0;
+ border-bottom: 0;
+ padding: 5px 10px;
+ background: #eee;
+}
+
+.forumpost .topic .subject {
+ font-weight: bold;
+ font-size: 1.2em;
+ color: #444;
+}
+
+.forumpost .content {
+ border-width: 0 1px 0;
+ border-color: #ddd;
+ border-style: solid;
+ padding: 5px 10px;
+}
+
+.forumpost .options {
+ border-width: 0 1px 1px;
+ border-color: #ddd;
+ border-style: solid;
+ border-radius: 0 0 10px 10px;
+ -moz-border-radius: 0 0 10px 10px;
+ -webkit-border-radius: 0 0 10px 10px;
+ font-size: 0.9em;
+ color: #333;
+ padding: 5px 10px;
+ background: #eee;
+}
+
+/* Course */
+
+.path-course-view .course-content li.section {
+ border-bottom: 1px solid #ddd;
+ border-top: 1px solid #fff;
+ margin-top: 0 !important;
+}
+
+.path-course-view .course-content #section-0 {
+ border-top: 0;
+}
+
+#page-course-view-weeks .course-content .section .content {
+ margin-left: 0;
+}
+
+#page-course-view-weeks .course-content .left {
+ display: none;
+}
+
+.path-course-view .course-content .current {
+ background: #fcfde0;
+}
+
+#page-course-view-topics .course-content .section .left {
+ font-family: Georgia, Times, "Times New Roman", serif;
+ font-size: 1.5em;
+ text-shadow: 2px 2px 5px #fff;
+ font-weight: bold;
+ color: #445566;
+}
+
+
+/* Footer */
+
+#page-footer {
+ margin-bottom: 25px;
+}
View
208 theme/nimble/style/menu.css
@@ -0,0 +1,208 @@
+#custommenu {
+ font-size: 1.2em;
+ line-height: 1.2;
+ float: left;
+ width:60%;
+}
+
+.yui3-skin-sam .yui3-menu-content,
+.yui3-skin-sam .yui3-menu .yui3-menu .yui3-menu-content {
+ border: none;
+ padding: 0 !important;
+}
+
+.yui3-skin-sam .yui3-menu .yui3-menu .yui3-menu-content {
+
+ padding: 5px 0;
+ color: #fff;
+}
+
+
+/* Horizontal menus */
+
+.yui3-skin-sam .yui3-menu-horizontal .yui3-menu-content {
+
+
+}
+
+
+.yui3-skin-sam .yui3-menu ul,
+.yui3-skin-sam .yui3-menu ul ul {
+
+}
+
+.yui3-skin-sam .yui3-menu ul.first-of-type {
+}
+
+.yui3-skin-sam .yui3-menu-horizontal ul {
+}
+
+
+.yui3-skin-sam .yui3-menu li,
+.yui3-skin-sam .yui3-menu .yui3-menu li {
+
+}
+
+.yui3-skin-sam .yui3-menu-horizontal li {
+
+}
+
+.yui3-skin-sam .yui3-menubuttonnav li {
+
+}
+
+.yui3-skin-sam .yui3-splitbuttonnav li {
+
+}
+
+.yui3-skin-sam .yui3-menubuttonnav li li,
+.yui3-skin-sam .yui3-splitbuttonnav li li {
+
+}
+
+
+/* Menuitems and menu labels */
+
+
+.yui3-skin-sam .yui3-menu .yui3-menu .yui3-menu {
+ background: #333 !important;
+}
+.custom_menu_submenu .custom_menu_submenu {
+
+}
+
+
+.yui3-skin-sam .yui3-menu .yui3-menu .yui3-menu {
+ padding-top: 0;
+ background: none;
+}
+
+.yui3-skin-sam .yui3-menuitem-content,
+.yui3-skin-sam .yui3-menu-label {
+ color: #fff !important;
+}
+
+.yui3-skin-sam .yui3-menuitem-content,
+.yui3-skin-sam .yui3-menu .yui3-menu .yui3-menuitem-content {
+ padding-top: 3px;
+ padding-bottom: 4px;
+ color: #fff !important;
+
+}
+
+.yui3-skin-sam .yui3-menu-horizontal .yui3-menu-label,
+.yui3-skin-sam .yui3-menu-horizontal .yui3-menuitem-content {
+ color: #fff !important;
+}
+
+.yui3-skin-sam .yui3-menu .yui3-menu .yui3-menu .yui3-menuitem-active .yui3-menuitem-content {
+ color: #fff;
+ background-color: #333;
+
+}
+
+.yui3-skin-sam .yui3-menu-label,
+.yui3-skin-sam .yui3-menu .yui3-menu .yui3-menu-label {
+ padding-top: 3px;
+ padding-bottom: 4px;
+ border-radius:0;
+ -moz-border-radius: 0;
+ -webkit-border-radius: 0;
+ color: #fff !important;
+
+}
+
+.yui3-skin-sam .yui3-menu-horizontal .yui3-menu-label {
+ border: solid #555;
+ border-width: 1px 1px 0 1px;
+ padding: 0 20px 0 20px;
+ margin: 0 10px 0 0;
+ background: #333;
+ border-radius: 10px 10px 0 0;
+ -moz-border-radius: 10px 10px 0 0;
+ -webkit-border-radius: 10px 10px 0 0;
+
+}
+
+.yui3-skin-sam .yui3-menubuttonnav .yui3-menu-label,
+.yui3-skin-sam .yui3-splitbuttonnav .yui3-menu-label {
+
+
+}
+
+.yui3-skin-sam .yui3-menubuttonnav .yui3-menu-label {
+
+
+}
+
+.yui3-skin-sam .yui3-menubuttonnav .yui3-menu-label em {
+
+
+}
+
+
+.yui3-skin-sam .yui3-splitbuttonnav .yui3-menu-label {
+
+
+}
+
+.yui3-skin-sam .yui3-splitbuttonnav .yui3-menu-label a {
+
+
+}
+
+.yui3-skin-sam .yui3-splitbuttonnav .yui3-menu-label .yui3-menu-toggle {
+
+
+}
+
+
+/* Selected menuitem */
+
+
+
+.yui3-skin-sam .yui3-menu .yui3-menu .yui3-menu-label-active,
+.yui3-skin-sam .yui3-menu .yui3-menu .yui3-menu-label-menuvisible {
+ color: #fff;
+ background-color: #333 !important;
+}
+
+.yui3-skin-sam .yui3-menuitem-active .yui3-menuitem-content,
+.yui3-skin-sam .yui3-menu .yui3-menu .yui3-menuitem-active .yui3-menuitem-content {
+ color: #fff;
+ background-color: #333;
+
+}
+
+
+
+
+
+.yui3-skin-sam .yui3-menu-horizontal .yui3-menu-label-active,
+.yui3-skin-sam .yui3-menu-horizontal .yui3-menuitem-active .yui3-menuitem-content,
+.yui3-skin-sam .yui3-menu-horizontal .yui3-menu-label-menuvisible {
+}
+
+.yui3-skin-sam .yui3-menubuttonnav .yui3-menu-label-active,
+.yui3-skin-sam .yui3-menubuttonnav .yui3-menuitem-active .yui3-menuitem-content,
+.yui3-skin-sam .yui3-menubuttonnav .yui3-menu-label-menuvisible,
+.yui3-skin-sam .yui3-splitbuttonnav .yui3-menu-label-active,
+.yui3-skin-sam .yui3-splitbuttonnav .yui3-menuitem-active .yui3-menuitem-content,
+.yui3-skin-sam .yui3-splitbuttonnav .yui3-menu-label-menuvisible {
+
+
+}
+
+.yui3-skin-sam .yui3-splitbuttonnav .yui3-menu-label-menuvisible {
+
+
+}
+
+.yui3-skin-sam .yui3-splitbuttonnav .yui3-menu-label-menuvisible .yui3-menu-toggle {
+
+
+}
+
+#custommenu .yui3-menu-horizontal.javascript-disabled .yui3-menu-content,
+#custommenu .yui3-menu-horizontal.javascript-disabled .yui3-menu-content .ul {border:none !important;}
+#custommenu .yui3-menu-horizontal.javascript-disabled li a {padding:0 20px 0 0;}
View
105 theme/nimble/style/pagelayout.css
@@ -0,0 +1,105 @@
+/** Path: theme pagelayout **/
+
+/*********************************************************************************************
+
+ right column: 28%
+ padding left/right column: 10px
+ padding center column: 20px
+
+**********************************************************************************************/
+
+body {
+ margin: auto 0px;
+ width: auto;
+}
+
+#page {
+ width: 100%;
+ overflow: hidden;
+}
+
+#page-header {
+ float: left;
+ width: 100%;
+}
+
+#page-content {
+ clear: both;
+ float: left;
+ overflow: hidden;
+ position: relative;
+ width: 100%;
+}
+
+#page-content #region-main-box {
+ float: left;
+ right: 28%;
+ position: relative;
+ width: 100%;
+}
+
+#page-content #region-post-box {
+ float: left;
+ right: 72%;
+ position: relative;
+ width: 100%;
+}
+
+#page-content #region-main {
+ float: left;
+ overflow: hidden;
+ position: relative;
+ margin-right: 0px;
+ left: 100%;
+ width: 72%;
+}
+
+#page-content #region-post {
+ float: left;
+ overflow: hidden;
+ position: relative;
+ left: 100%;
+ width: 28%;
+}
+
+#page-content #region-main .region-content {
+ overflow: hidden;
+ padding: 20px 25px 20px 0;
+}
+
+#page-content #region-post .region-content {
+ overflow: hidden;
+ padding: 0 0 0 0;
+}
+
+#page-footer {
+ clear: both;
+ float: left;
+ width: 100%;
+}
+
+/** No blocks whatsoever **/
+
+.content-only #page-content #region-main-box {
+ right: 0%;
+}
+
+.content-only #page-content #region-post-box {
+ right: 100%;
+}
+
+.content-only #page-content #region-main {
+ left: 100%;
+ width: 100%;
+}
+
+.content-only #page-content #region-pre {
+ width: 0%;
+}
+
+.content-only #page-content #region-post {
+ width: 0%;
+}
+
+.pagelayout-report #page-content #region-main {overflow:auto;}
+.pagelayout-report #page-content #region-main .region-content {overflow:visible;}

0 comments on commit ee3b46d

Please sign in to comment.
Something went wrong with that request. Please try again.