It is a blank directory to make a copy of and start a new project with. It includes the required JS and CSS files from TheDocs as well as icon fonts, PHP files and some images.
The expert starter has several features which is not included in the basic starter. Those features give you more freedom in customizing your template and writing extra codes. It includes a gulpfile with necessary tasks to start a web server, watch files for changes and compile SCSS and JS files. Finally, you can run a command to have all the required files for production copied to a directory.
How to get started?
Follow the below steps to create a project directory with all the required plugins and tools installed.
Make a copy of
expert/ directory to your desire workspace.
- Download and install Node.js if it's not installed on your machine
- Install the Gulp command line tools, gulp-cli, with
npm install gulp-cli -g
- Navigate to the root directory of your project and run
npm installto install dependencies
With the above command, a static web server starts in your browser which points to /src directory. It watch your files to reload the browser upon change to the HTML files, or JS and CSS files. Also, it watch your SCSS and JS files to compile them to page.min.css and page.min.js upon each change.
Now it's time to configure your website.
- Script: Open
/assets/js/src/config.jsand change the desire values.
- Style: Open
/assets/scss/_theme.scssand change the SCSS variables.
Time for development. Now you're ready to create your HTML files and writing your custom CSS and JS codes.
Since most of the websites have a global layout for whole of the application, you might want to start modifying one of the layout templates and create a global layout for your website.
Write your additional styles inside
/assets/scss/_style.scss. Feel free to create more scss files and even subdirectories inside /scss folder to split your code to smaller chunks and import them inside
/scss/page.scss file. Our Gulp task is watching all of the scss files inside /scss directory and recompile the page.min.css upon each change.
/assets/js/src/script.js. Again, if you need to split your code to several JS files, simply create them inside /js/src directory and require them inside the
/js/src/page.js. Our Gulp task is watching all of the JS files inside /js/src directory and recompile page.min.js after each change using Webpack.
Done with development? Run
gulp dist to deploy your code inside /dist directory. This task simply remove unnecessary files (scss files, scss folder, unminified css and js files, etc.) in the /dist folder. Now you can use the /dist folder in your server side coding or upload to your web server.
What is the available gulp tasks?
Our Gulpfile includes the following commands and tasks:
||Running a server and start watching for change on html, scss and js files to compile and reload the browser|
||Create a /dist folder, compile scss and js files, and copy all the project's files inside the /dist directory except unnecessary ones|
||Uses the imagemin plugin to minify the images inside /assets/img directory|
How to update to a new version?
Usually, you only need to update the following files and directories in
assets/ folder for minor updates. If any extra changes were required, we'll write it in the changelog. For major releases (i.e. from 2.x to 3.x), you probably need to update your HTML code as well.
Sometimes, you might need to update some parts of the following files if we state it in the changelog description. We do our best to reduce these changes.
Please note that after updating the above files and directories, you need to run
gulp dist to recompile the page.min.css and page.min.js once again and upload them to your server.
How to add a 3rd-party plugin?
If the plugin has CDN and you're willing to use it, simply include the plugin into your HTML pages by adding css and js files of the plugin from CDN. If you want to host the plugin on your own server, put the plugin inside
/assets/plugin and import it into your HTML pages.
To configure and initialize the plugin, write the required JS code inside
/assets/js/src/script.js file with the help of the plugin's documentation.
How to remove some vendors to decrease CSS and JS files size?
Please take a look at
/assets/scss/page.scss files. Both of them have a Vendors section which is responsible for importing vendors' assets. Simply comment the import line that you'd like to remove the vendor from final CSS or JS file.