Pratik Borsadiya's blog

Vali Admin

Vali is a responsive and free admin theme built with Bootstrap 4, SASS and PUG.js.

DemoDownloadReport IssueGitHub


Vali is a responsive and free admin theme built with Bootstrap 4, SASS and PUG.js. It's fully customizable and modular. You don't need to add the code, you will not use.

Vali is, a light weight yet expendable and good looking theme. The theme has all the features required in a dashboard theme but this features are built like plug and play module.

Directory Structure

├── dist - compiled files
│   ├── css
│   ├── images
│   └── js
└── src - Layout and style source files
    ├── pug - Layout source
    └── sass - Style source

Compilation of source files

The theme is built using SASS and PugJs which are in turn compiled into HTML and CSS by Grunt. If you are not familiar with Grunt, here is an article to get started. If you are familiar with Grunt follow the instruction mentioned bellow to edit or customize the source.

If you don't want to edit theme you can use the compiled files directly inside docs folder.

Run npm install command in project root directory to install and build dependencies.

Use npm run dev task to edit and compile source files on the go or use npm run build task to compile all source files at once.

Layout Customization

The layout is built using PugJs. All the layout source files are located in src/pug directory. There are two sub directories inside this directory:

  1. layout - Includes common HTML skeleton layout which is extended by all the pages
  2. includes - Includes layout partials like sidebar and navbar and footer

Style Customization

The styles are written in SASS. All the style files are located in src/sass directory. There is a file in this directory main.sass which imports all the files and exported as main.css There are four sub directories inside this directory:

  1. 1-tools - It includes styles of all the external libraries and a file _var.scss which contains the variables required for the application
  2. 2-basics - It contains the basic style like overall structure css and theming options
  3. 3-component - It contains the styles for the components like card, widgets, sidebar, navbar etc
  4. 4-pages - It contains the styles for the specific pages like login page, lock-screen page

To customize the primary color of the theme and sidebar you need to change the variables in the 1-tools/_var.scss. The detailed documentation about changing the colors is mentioned in this file itself.

If you don't want to use particular component or plug-in just comment the import statement for that particular component in src/sass/main.scss and compile the SASS by running npm run build command.

Compatibility with other frameworks

This theme is not built for a specific framework or technology like Angular or React etc. But due to it's modular nature it's very easy to incorporate it into any front-end or back-end framework like Angular, React or VueJs or Node JS. The CSS is modular enough to be incorporated in any framework. While the Javascript used to make the components interactive can be used from any of the following framework.

If you are using Angular you can use ui-bootstrap, for React use React-Bootstrap and for VueJs you can use VueStrap.

If you are using Node JS as your web server you can use pug as your layout engine to render html templates. More details are available here.

RTL Support

To enable RTL support

  • Uncomment this line @import '3-component/rtl'; in src/sass/main.scss.
  • Add dir="rtl" attribute to <html> tag in src/pug/layouts/_layout.pug.
  • Build the source files using npm run build command.


If you liked the theme do star and fork it on GitHub. If you find anything missing or want to contribute to this documentation, the source is available here. If you have an issue or feature request regarding theme please report it here.