“Google Design” Documentation by “Sean Ngu” v5.4.2
Updated on: 27/November/2024
By: Sean Ngu
If you have any inquiries or require further assistance beyond what is covered in this help file,
please do not hesitate to send us a message
through Wrapbootstrap. We are more than happy to help.
Thank you very much!
This template can be used as an fluid layout with a max of 12 columns next to each other. The general template structure is the same throughout the template. Here is the general structure.
<!-- BEGIN #loader --> <div id="loader" class="app-loader"> <span class="spinner"></span> </div> <!-- END #loader --> <!-- BEGIN #app --> <div id="app" class="app app-header-fixed app-sidebar-fixed app-with-wide-sidebar"> <!-- BEGIN #header --> <div id="header" class="app-header"></div> <!-- END #header --> <!-- BEGIN #sidebar --> <div id="sidebar" class="app-sidebar"> <!-- BEGIN scrollbar --> <div class="app-sidebar-content" data-scrollbar="true" data-height="100%"></div> <!-- END scrollbar --> </div> <div class="app-sidebar-bg"></div> <div class="app-sidebar-mobile-backdrop"> <a href="#" data-dismiss="app-sidebar-mobile" class="stretched-link"></a> </div> <!-- END #sidebar --> <!-- BEGIN #content --> <div id="content" class="app-content"></div> <!-- END #content --> <!-- BEGIN theme-panel --> <div class="theme-panel"></div> <!-- END theme-panel --> <!-- BEGIN scroll-top-btn --> <a href="javascript:;" class="btn btn-icon btn-circle btn-success btn-scroll-to-top" data-toggle="scroll-to-top"> <i class="fa fa-angle-up"></i> </a> <!-- END scroll-top-btn --> </div> <!-- END #app -->
Page head contains metadata, javascript and css files:
<html lang="en"> <head> <meta charset="utf-8" /> <title>Color Admin | Google Design</title> <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport" /> <meta content="" name="description" /> <meta content="" name="author" /> <!-- ================== BEGIN core-css ================== --> <link href="../assets/css/vendor.min.css" rel="stylesheet" /> <link href="../assets/css/google/app.min.css" rel="stylesheet" /> <!-- ================== END core-css ================== --> <!-- OR without vendor.min.css --> <!-- ================== BEGIN core-css ================== --> <link href="../assets/plugins/animate.css/animate.min.css" rel="stylesheet" /> <link href="../assets/plugins/@fortawesome/fontawesome-free/css/all.min.css" rel="stylesheet" /> <link href="../assets/plugins/jquery-ui-dist/jquery-ui.min.css" rel="stylesheet" /> <link href="../assets/plugins/pace-js/themes/black/pace-theme-flash.css" rel="stylesheet" /> <link href="../assets/plugins/perfect-scrollbar/css/perfect-scrollbar.css" rel="stylesheet" /> <link href="../assets/css/google/app.min.css" rel="stylesheet" /> <!-- ================== END core-css ================== --> </head> <body>
<!-- BEGIN #header --> <div id="header" class="app-header"> <!-- BEGIN navbar-header --> <div class="navbar-header"> <button type="button" class="navbar-desktop-toggler" data-toggle="app-sidebar-minify"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a href="index.html" class="navbar-brand"> <b class="me-1">Color</b> Admin <span class="navbar-logo"> <span class="text-blue">G</span> <span class="text-red">o</span> <span class="text-orange">o</span> <span class="text-blue">g</span> <span class="text-green">l</span> <span class="text-red">e</span> </span> </a> <button type="button" class="navbar-mobile-toggler" data-toggle="app-sidebar-mobile"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> </div> <!-- END navbar-header --> <!-- BEGIN header-nav --> <div class="navbar-nav"> <div class="navbar-item navbar-form"> <form action="" method="POST" name="search"> <div class="form-group"> <input type="text" class="form-control" placeholder='Try searching "Users Today"' /> <button type="submit" class="btn btn-search"><i class="fa fa-search"></i></button> </div> </form> </div> <div class="navbar-item navbar-user dropdown"> <a href="#" class="navbar-link dropdown-toggle d-flex align-items-center" data-bs-toggle="dropdown"> <img src="../assets/img/user/user-13.jpg" alt="" /> <span class="d-none d-md-inline">Adam Schwartz</span> <b class="caret ms-lg-2"></b> </a> <div class="dropdown-menu dropdown-menu-end me-1"> ... </div> </div> </div> <!-- END header-nav --> </div> <!-- END #header -->
<!-- BEGIN #sidebar --> <div id="sidebar" class="app-sidebar"> <!-- BEGIN scrollbar --> <div class="app-sidebar-content" data-scrollbar="true" data-height="100%"> <!-- BEGIN menu --> <div class="menu"> <div class="menu-header">Navigation</div> <div class="menu-item has-sub"> <a href="javascript:;" class="menu-link"> <div class="menu-icon"> <i class="material-icons">home</i> </div> <div class="menu-text">Dashboard</div> <div class="menu-caret"></div> </a> <div class="menu-submenu"> <div class="menu-item"> <a href="index.html" class="menu-link"><div class="menu-text">Dashboard v1</div></a> </div> </div> </div> </div> <!-- END menu --> </div> <!-- END scrollbar --> </div> <div class="app-sidebar-bg"></div> <div class="app-sidebar-mobile-backdrop"> <a href="#" data-dismiss="app-sidebar-mobile" class="stretched-link"></a> </div> <!-- END #sidebar -->
Page content consists of page title, breadcrumbs and page's main body. HTML code of Content container as shown below:
<!-- BEGIN #content --> <div id="content" class="app-content"> <!-- BEGIN breadcrumb --> <ol class="breadcrumb float-xl-end"> <li class="breadcrumb-item"><a href="javascript:;">Home</a></li> <li class="breadcrumb-item"><a href="javascript:;">Page Options</a></li> <li class="breadcrumb-item active">Blank Page</li> </ol> <!-- END breadcrumb --> <!-- BEGIN page-header --> <h1 class="page-header">Blank Page <small>header small text goes here...</small></h1> <!-- END page-header --> </div> <!-- END #content -->
Javascript files loaded in the end of page. This will reduce page load time.
<!-- ================== BEGIN core-js ================== --> <script src="../assets/js/vendor.min.js"></script> <script src="../assets/js/app.min.js"></script> <!-- ================== END core-js ================== --> <!-- OR without vendor.min.js --> <!-- ================== BEGIN core-js ================== --> <script src="../assets/plugins/pace-js/pace.min.js"></script> <script src="../assets/plugins/jquery/dist/jquery.min.js"></script> <script src="../assets/plugins/jquery-ui-dist/jquery-ui.min.js"></script> <script src="../assets/plugins/bootstrap/dist/js/bootstrap.bundle.min.js"></script> <script src="../assets/plugins/perfect-scrollbar/dist/perfect-scrollbar.min.js"></script> <script src="../assets/plugins/js-cookie/dist/js.cookie.js"></script> <script src="../assets/js/app.min.js"></script> <!-- ================== END core-js ================== --> </body> </html>
Add the theme to the <body>
tag in order to change the theme color.
<body class="theme-red">...</body> <body class="theme-pink">...</body> <body class="theme-orange">...</body> <body class="theme-yellow">...</body> <body class="theme-lime">...</body> <body class="theme-green">...</body> <body class="theme-teal">...</body> <body class="theme-cyan">...</body> <body class="theme-blue">...</body> <body class="theme-purple">...</body> <body class="theme-indigo">...</body> <body class="theme-black">...</body> <body class="theme-gray-100">...</body> <body class="theme-gray-200">...</body> <body class="theme-gray-300">...</body> <body class="theme-gray-400">...</body> <body class="theme-gray-500">...</body> <body class="theme-gray-600">...</body> <body class="theme-gray-700">...</body> <body class="theme-gray-800">...</body> <body class="theme-gray-900">...</body>
Add the data-bs-theme="dark"
attribute to <html>
in order to enable the dark mode.
<html data-bs-theme="dark">
Here is the general structure for the each case of page options.
<!-- BEGIN #app --> <div id="app" class="app app-without-sidebar"> <!-- BEGIN #sidebar --> <div id="sidebar" class="app-sidebar"> <!-- END #sidebar -->
<!-- BEGIN #app --> <div id="app" class="app app-sidebar-two"> <!-- BEGIN #sidebar --> <div id="sidebar" class="app-sidebar"></div> <div class="app-sidebar-bg"></div> <div class="app-sidebar-mobile-backdrop"> <a href="#" data-dismiss="app-sidebar-mobile" class="stretched-link"> </a> </div> <!-- END #sidebar --> <!-- BEGIN #sidebar-right --> <div id="sidebar-right" class="app-sidebar app-sidebar-end"></div> <div class="app-sidebar-bg sidebar-end"></div> <div class="app-sidebar-mobile-backdrop app-sidebar-end"> <a href="#" data-dismiss="app-sidebar-end-mobile" class="stretched-link"> </a> </div> <!-- END #sidebar-right -->
<!-- BEGIN #app --> <div id="app" class="app app-without-header"> ...
<!-- BEGIN #app --> <div id="app" class="app"> <!-- BEGIN #header --> <div id="header" class="app-header">
<!-- BEGIN #app --> <div id="app" class="app app-header-fixed"> <!-- BEGIN #header --> <div id="header" class="app-header">
<!-- BEGIN #app --> <div id="app" class="app"> <!-- BEGIN #header --> <div id="header" class="app-header" data-bs-theme="dark">
<!-- BEGIN #app --> <div id="app" class="app"> <!-- BEGIN #sidebar --> <div id="sidebar" class="app-sidebar"> ... </div> <div class="sidebar-bg"></div> <!-- END #sidebar -->
<!-- BEGIN #app --> <div id="app" class="app app-sidebar-fixed"> <!-- BEGIN #sidebar --> <div id="sidebar" class="app-sidebar">
<!-- BEGIN #app --> <div id="app" class="app app-sidebar-minified"> <!-- BEGIN #sidebar --> <div id="sidebar" class="app-sidebar">
<!-- BEGIN #app --> <div id="app" class="app app-with-end-sidebar"> <!-- BEGIN #sidebar --> <div id="sidebar" class="app-sidebar">
<!-- BEGIN #app --> <div id="app" class="app app-content-full-height"> <!-- BEGIN #content --> <div id="content" class="app-content p-0"> <div class="overflow-hidden h-100"> <div data-scrollbar="true" data-height="100%" data-skip-mobile="true" class="app-content-padding"> ... </div> </div> </div> <!-- END #content --> </div> <!-- END #app -->
If you wish to remove the page loading animation, you just need to remove the #loader
from #app
from
<!-- BEGIN #loader --> <div id="loader" class="app-loader"> <span class="spinner"></span> </div> <!-- END #loader -->
Below is the command that required to run / compile the scss with gulpjs. If you are new to the gulpjs, you may refer to their official website for installation guide.
<!-- run the following command --> cd /your-path-url/admin/src/ npm install gulp google <!-- available command --> gulp plugins // generate plugins <!-- available theme command --> gulp // default theme gulp material // material theme gulp apple // apple theme gulp transparent // transparent theme gulp facebook // facebook theme gulp google // google theme
Verify that you are running at least node 22.x.x
or later and npm 10.x.x
by running node -v and npm -v in a terminal/console window. Older versions produce errors, but newer versions are fine.
To enable the RTL Support, you might need to change the following variable from admin/src/scss/google/_variables.scss
.
<!-- LINE 235 --> $enable-rtl: true; <!-- run the command to regenerate the /css/google/app.min.css --> gulp google
We are using gulp to compile & combine few plugins js & css into one single file for js & css. This may help to improve the speed for page load if compare to multiple files loading in one page.
If you wish to edit the included plugins files, you may refer to the /admin/src/gulpfile.js
.
Below is the list of plugins that compile into vendor.min.css
.
return gulp.src([ 'node_modules/animate.css/animate.min.css', 'node_modules/@fortawesome/fontawesome-free/css/all.min.css', 'node_modules/jquery-ui-dist/jquery-ui.min.css', 'node_modules/pace-js/themes/black/pace-theme-flash.css', 'node_modules/perfect-scrollbar/css/perfect-scrollbar.css' ]) .pipe(sass()) .pipe(concat('vendor.min.css')) .pipe(minifyCSS()) .pipe(gulp.dest(distPath + '/assets/css/')) .pipe(livereload());
Below is the code that compile Color Admin scss with Bootstrap scss into app.min.css
.
return gulp.src([ 'scss/google/styles.scss' ]) .pipe(sass()) .pipe(concat('app.min.css')) .pipe(minifyCSS()) .pipe(gulp.dest(distPath + '/assets/css/google/')) .pipe(livereload());
Below is the list of plugins that compile into vendor.min.js
.
return gulp.src([ 'node_modules/pace-js/pace.min.js', 'node_modules/jquery/dist/jquery.min.js', 'node_modules/jquery-ui-dist/jquery-ui.min.js', 'node_modules/bootstrap/dist/js/bootstrap.bundle.min.js', 'node_modules/perfect-scrollbar/dist/perfect-scrollbar.min.js', 'node_modules/js-cookie/dist/js.cookie.js' ]) .pipe(sourcemaps.init()) .pipe(concat('vendor.min.js')) .pipe(sourcemaps.write()) .pipe(uglify()) .pipe(gulp.dest(distPath + '/assets/js/')) .pipe(livereload());
Below is the code that compile Color Admin js file into app.min.js
.
return gulp.src([ 'js/app.js', ]) .pipe(sourcemaps.init()) .pipe(concat('app.min.js')) .pipe(sourcemaps.write()) .pipe(uglify()) .pipe(gulp.dest(distPath + '/assets/js/')) .pipe(livereload());
To change the color theme / primary color, you may refer to the _variables.scss
and set the variable. Npm can be used to update the plugins version as well.
admin/src/ ├── gulpfile.js ├── package.json ├── js/ └── scss/ ├── google/ │ ├── _app.scss │ ├── _functions.scss │ ├── _helper.scss │ ├── _layout.scss │ ├── _mixins.scss │ ├── _pages.scss │ ├── _plugins.scss │ ├── _root.scss │ ├── _reboot.scss │ ├── _rtl.scss │ ├── _ui.scss │ ├── _variables-dark.scss │ ├── _variables.scss │ ├── styles.scss │ ├── app/ │ ├── images/ │ ├── layout/ │ ├── mixins/ │ ├── pages/ │ ├── plugins/ │ └── ui/ ├── apple/ ├── facebook/ ├── material/ ├── transparent/ └── default/