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
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:
|
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:
|
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:
|
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 DocumentationDate countdown#
A simple and html agnostic date countdown plugin for jQuery
Full DocumentationFancyBox #
JavaScript lightbox library for presenting various types of media. Responsive, touch-enabled and customizable.
Full DocumentationFontAwesome #
Get vector icons and social logos on your website with Font Awesome, the web's most popular icon set and toolkit.
Full DocumentationPlyr#
A simple, accessible and customisable media player for Video, Audio, YouTube and Vimeo.
Full Documentation