Documentation
Getting Started
This guide will help you get started with Dashkit! All the important stuff – compiling the source, file structure, build tools, file includes – is documented here, but should you have any questions, always feel free to reach out to support@goodthemes.co.
New & Extended Components
Dashkit extends Bootstrap by not only building on top of its existing components, but also introducing
entirely new components and plugins. The best way to get an overview of this is to run through the components.html
page.
Dev Setup
To get started, you need to do the following:
- Make sure you have Node installed since Dashkit uses npm to manage dependencies. If you don't, installing is quite easy, just visit the Node Downloads page and install it.
- Unzip your theme and open your command line, making sure your command line prompt is at the root of the unzipped theme directory.
-
npm install
: Open your command line to the root directory of your unzipped theme and run to install all of Dashkit's dependencies.
It's that simple! If you're not used to using terminal, don't worry, this is as advanced as it gets. If you
want to kill the server, just hit Control + C
.
Compiling
Webpack and npm-scripts are used to manage Dashkit development. Open your command line to the root directory of the theme to use the following commands:
-
npm start
: Compile and watch the SCSS/JS/HTML, use Live Reload to update browsers instantly, start a server, and pop a tab in your default browser. Any changes made to the source files will be compiled as soon as you save the file. -
npm run build
: Generates a/dist
directory with all the production files.
File Structure
- 📁 dist - Generated production files
-
📁 node_modules - Directory where
npm
installs dependencies -
📁 src
- 📁 favicon - Favicon files
- 📁 fonts - Cerebri font and Feather Icon font
- 📁 html - HTML source
- 📁 img - Image assets
- 📁 js - Javascript source
- 📁 partials - HTML partials
- 📁 scss - SCSS source for theme
- 📁 vendor - Third party plugins
- 📄 .browserslistrc - Config to share target browsers and Node.js versions between different front-end tools
- 📄 .gitignore - Hide all unnecessary files from Git
- 📄 config.json - Theme config file
- 📄 LICENSE.md - Theme license
- 📄 package.json - List of dependencies and npm information
- 📄 package-lock.json - Describes the exact dependency tree that was generated
- 📄 README.md - Theme info
- 📄 webpack.config.js - Webpack config file
Handlebars Webpack Plugin
The handlebars-webpack-plugin package is used to make partials easier to use for initial development. For Dashkit, we only use it for a handful of components that are found on most pages. The following partials are available:
-
head.html
-
title (string)
- Parameter for the page title
-
-
modals.html
-
navs.html
-
category (string)
- Parameter for which category of the navigation should be open. -
subcategory (string)
- Parameter for which subcategory of the navigation should be open. -
page (string)
- Parameter for which page of the navigation should be given an active state.
-
-
script.html
Easily create new .html
partials inside the /partials
folder and point to them
from any file by specifying the path to the partial file inside {{> }}
curly brackets.
Please read the official package documentation for more info.
Customizing SCSS
There are 2 basic ways to customize your theme...
-
Customizing SCSS. This is more versatile and sustainable way to customize Dashkit, but
requires the
webpack
compilation steps outlined above. The 2 major benefits of this strategy are using variable overrides to easily customize theme styles, plus you never have to touch Bootstrap or Dashkit's source, meaning future updates will be much, much, simpler. There are 2 provided files that make this strategy simple to implement:-
user-variables.scss
: This file can be used override Bootstrap core and Dashkit variables for customizing elements that have been tied to variables. -
user.scss
: This file can be used for writing custom SCSS that will be compiled alongside Bootstrap and Dashkit's core files.
-
-
Compiled CSS. If you plan on using Dashkit "as is", or only need limited customization,
feel free to simply attach the compiled
theme.bundle.css
file in thedist/assets/css
directory.
Configuration
You can easily customize the layout and color scheme of your theme by modifying the content of the
config.json
file located in the root folder. The config is only used by Webpack to decide what to
include during compilation. The config object properties accept the following values:
Title | Type | Options | Description |
---|---|---|---|
demoMode
|
Boolean | true | false | Whether you want to enable users toggle layout options. This will also enable the config modal and its toggler button. |
colorScheme
|
String | "light" | "dark" |
The default color scheme. Works with demoMode set to false .
|
navPosition
|
String | "sidenav" | "topnav" | "combo" |
The default navigation positioning. Works with demoMode set to false .
|
navColor
|
String | "default" | "vibrant" |
The default navigation styling. Works with demoMode set to false .
|
sidebarSize
|
String | "base" | "small" |
The default sidebar size. Works with demoMode set to false .
|
Heads up! Modifying config.json
requires you to
restart any of the currently active Webpack tasks.
Ab Hadley
Looking good Dianna! I like the image grid on the left, but it feels like a lot to process and doesn't really show me what the product does? I think using a short looping video or something similar demo'ing the product might be better?