Loading

Documentation

Quick started#

Looking to start your project quickly? Just unzip the Conference-v2.0.0.zip. We have precompiled and packaged everything in the pages directory for you. Start editing the pages/page-starter.html with a text or code editor, save it, and open the file in your favourite browser to see the changes.

Setting up Build system#

Unzip the Conference-v2.0.0.zip to any folder and open a command line or terminal at that location. theme's dev tools require Node and Git . If you do not have them in your machine, please install their latest stable version from their corresponding website. As you have Node and Git installed and accessible from your terminal or command line, install Gulp CLI package globally with the following command:

npm i gulp-cli -g

When you’re done, install the rest of the theme’s dependencies with:

npm i

Now run:

gulp

Running gulp will compile the SCSS, transpile the javascript, copy all required libraries form node_modules to the corresponding pages/assets/ directory and will open a browser window to pages/index.html

All of the following folders are monitored for changes, which will tell the browser to reload automatically after any changes are made:

pages/*.html
pages/assets/fonts/
pages/assets/video/
pages/assets/img/
scss/ 
js/

Now you can edit any html file from pages, change SCSS variable with _user-variables.scss, or write your own SCSS code in scss/_user.scss

Running the gulp command will discard and regenerate all the files in following directories:
js/bootstrap/
scss/bootstrap/
pages/assets/css/
pages/assets/js/
pages/assets/lib/

Hit Ctrl+C or just close the command line window to stop the server.

Happy editing!

File Structure

Within your theme, you’ll find the following directories and files, common grouping resources and providing both compiled, transpired and minified distribution files, as well as raw source files.

Conference-v2.0.0/
    ├── js/
    |   ├── bootstrap/
    |   ├── theme/
    |   └── plugins/
    ├── pages/
    |   ├── assets/
    |   ├── authentication/
    |   ├── components/
    |   ├── documentation/
    |   ├── e-commerce/
    |   ├── email/
    |   ├── home/
    |   ├── layouts/
    |   ├── pages/
    |   ├── plugins/
    |   ├── utilities/
    |   ├── index.html
    |   └── *.html
    ├── scss/
    |   ├── bootstrap/
    |   ├── theme/
    |   ├── _user.scss
    |   ├── _user-variables.scss
    |   └── theme.scss
    ├── .eslintrc.json
    ├── .gitignore
    ├── gulpfile.js
    └── package.json

Customaization

We recommend you customize your theme styles using SCSS. You can customize the theme's styles with the two following approaches:

_user.scss

You can add your own SCSS and override the theme style in the scss/_user.scss file.

_user-variables.scss

To make broader changes to the design of the theme, such as changing the color scheme or font sizes, use scss/_user-variables.scss. Any variable from scss/bootstrap/_variables.scss or scss/custom/_variables.scss can be overridden with your own value.

Gulp

To start your project run:#
gulp

The gulp command will build, serve and watch the project with the following gulp tasks:

Task Action
clean Delete the following directories:
js/bootstrap
scss/bootstrap
pages/assets/css
pages/assets/js
pages/assets/lib
scss Compiles scss/theme.scss and generates theme.css and theme.map to the pages/assets/css/ directory.
scss:min Compiles scss/theme.scss and generates theme.min.css, and theme.min.map to the pages/assets/css/ directory.
scss:rtl Compiles scss/theme.scss and generates theme-rtl.css, and theme-rtl.map to the pages/assets/css/ directory.
scss:rtl:min Compiles scss/theme.scss and generates theme-rtl.min.css, and theme-rtl.min.map to the pages/assets/css/ directory.
js:bootstrap Concat the js files from js/bootstrap/ and transpiles with babel to bootstrap.js, bootstrap.min.js to the pages/assets/js/ directory.
js:theme Concat the js files from js/theme/ and transpiles with babel to theme.js, theme.min.js to the pages/assets/js/ directory.
js:plugins Concat the js files according to the Paths.JS.PLUGINS array declared in gulpfile.js and transpiles with babel to plugins.js and plugins.min.js to the pages/assets/js/ directory.
js Run the following tasks parallelly:
  • js:bootstrap
  • js:theme
  • js:plugins
copy:dependency Copies the dependencies from node_modules/ directory to pages/assets/ directory according to the Paths.DEPENDENCIES object declared in gulpfile.js.
watch All of the following folders are monitored for changes, which will tell the browser to reload automatically after any changes are made:
pages/*.html
pages/assets/fonts/
pages/assets/video/
pages/assets/img/
scss/ 
js/
serve Starts a Browsersync instance on port 3000 served from pages, defaults to index.html.

RTL

Setting up HTML#

Your theme comes with a built-in automated rlt feature. Here is the example. To use rtl, set the dir='rtl' in your html like:

<html dir='rtl'>...</html>

And use the rtl stylesheet instead of theme.css:

<link href="assets/css/theme-rtl.css" rel="stylesheet">
Setting up build tools#

To compile theme-rtl.css directly with the built tools run:

product scss:rtl

To set your build tool in rtl mode, change the following code located at the last line of your gulpfile.js

From:
gulp.task('default', product.series('copy:dependency', 'scss', 'js', product.parallel('watch', 'serve')));
to:
gulp.task('default', product.series('copy:dependency', 'scss:rtl', 'js', product.parallel('watch', 'serve')));

And Also update the gulp watch to call the scss:rtl task by updating the following code at line 401 in your gulpfile.js:

From:
gulp.watch(Paths.SCSS.ALL, product.series('scss'));
to:
gulp.watch(Paths.SCSS.ALL, product.series('scss:rtl'));

Plugins

Adding new plugins#

Adding a new plugin to your theme is simple.Here are two ways you can do that.

Simple approach

Place your new plugin in pages/assets/lib folder. Eg: to add the typed.js plugin, we will download it from here, unzip it and place the typed.js-master folder in pages/assets/lib folder.

Using NPM

Suppose we are installing the typed.js plugin. Here are the steps:

Step 1:

Paths = {
	... 
	DEPENDENCIES: {
		...
		'typed.js': {
			FROM: 'node_modules/typed.js/lib/*.*',
			TO: lib,
		},
	},
	...
},

Here, lib refers to pages/assets/lib, where gulp will copy files from the typed.js plugin. We actually use the lib folder to store neccassary plugins

Step 3:

Run the following command:

gulp copy:dependency

Built-in plugins

Semantic UI (Accordion)#

An accordion allows users to toggle the display of sections of content.

Full Documentation
Date countdown#

A simple and html agnostic date countdown plugin for jQuery

Full Documentation
FancyBox #

JavaScript lightbox library for presenting various types of media. Responsive, touch-enabled and customizable.

Full Documentation
FontAwesome #

Get vector icons and social logos on your website with Font Awesome, the web's most popular icon set and toolkit.

Full Documentation
Plyr#

A simple, accessible and customisable media player for Video, Audio, YouTube and Vimeo.

Full Documentation