First Release: Tuesday, August 25, 2015
Latest Update: Monday, September 07, 2015
Author: Dorin Grigoras [www.stepofweb.com]
Seller: stepofweb [wrapbootstrap.com/user/stepofweb]
Email: stepofweb@gmail.com
Thank you for purchasing Smarty.
If you have any questions that are beyond the scope of this help file, please feel free to email me via the email address above.
Smarty – is unique design and a fully responsive layout.
Smarty comes with 50+ customized jquery plugins to fit your needs & over 550 HTML files.
Smarty is built with the latest version of Bootstrap Framework.
You can find more about bootstrap and its documentation in the following languages below:
Bootstrap English (US)
Bootstrap (Russian)
Bootstrap en Français (French)
Bootstrap auf Deutsch (German)
Bootstrap ua (Ukrainian)
Bootstrap en Español (Spanish)
Bootstrap (Chinese)
To resend download links by email: https://wrapbootstrap.com/support/download-resender
<!DOCTYPE html> <html lang="en-us"> <head> [HEAD_META] </head> <body class="smoothscroll enable-animation"> <div id="slidetop"> [SLIDE_TOP] </div> <div id="wrapper"> <div id="topBar"> [TO_BAR] </div> <div id="header"> [BUTTONS] [LOGO] [NAV_MAIN] </div> <section> [SECTION_1] </section> .... <section> [SECTION_N] </section> </div> <footer id="footer"> [FOOTER_CONTENT] </footer> [PAGE_JAVASCRIPTS] </body> </html>
.nomargin
, .nopadding
, etc Some javascript plugins are loaded asynchronously ONLY where a plugin is needed.
Example: if a specific page needs twitter widget plugin, the twitter javascript is loaded ONLY where the .widget-twitter
class is detected.
This is achived using loadScript() function from assets/js/scripts.js
You can use this feature on your custom.js like this:
// Load single script and do something (alert in this example) loadScript(plugin_path + 'plugin.js', function() { alert("plugin loaded"); }); // Load multiple scripts and call a final function (alert in this example) loadScript(plugin_path + "script1.js", function(){ loadScript(plugin_path + "script2.js", function(){ loadScript(plugin_path + "script3.js", function(){ loadScript(plugin_path + "script4.js", function() { alert('do something'); }); }); }); });
The plugins above - you don't need to add them in a classic way: <script src="plugin.js"></script>
All of them are loaded by assets/js/scripts.js automaticaly ONLY when a specific class or ID is detected on HTML code.
This is the reason why var plugin_path = 'assets/plugins/';
is used on the bottom of each html template.
Please note: using this technique, the page loads faster because the scripts are not included if not needed. Few Mb in size are not loaded if not used!!!
.smoothscroll
class#topMain.nav-onepage
ID is detected.owl-carousel
class is detected.flexslider
is detected on HTML code, the plugin is loaded. Example: feature-slider-flexslider-fullwidth.html.lightbox
class is detected, the plugin is loaded.#YTPlayer
ID is detected, the plugin is loaded.mix-grid
is detected. Example: portfolio-grid-3-columns.html.word-rotator
class is detected. Example: shortcode-headings.html#wrotator.lazy
class is detected. Example: start.html.custom-file-upload
class is detected. Example: page-contact-1.html.countTo
class is detected. Example: shortcode-counters.html.toastr-notify
is detected OR if _toastr() used on javascript. Example: shortcode-notifications.html.piechart
class is detected.select2
is detected. shortcode-forms.html.validate
class detected on a form. Example: shortcode-forms.html.masked
is detected on an input field. Example: shortcode-forms-masked.html.datepicker
class is detected. shortcode-forms-pickers.html.timepicker
class is detected. shortcode-forms-pickers.html.colorpicker
class is detected. shortcode-forms-pickers.html.summernote
class is detected. shortcode-forms-editors.html.markdown
class is detected. shortcode-forms-editors.html.pajinate
class is detected. portfolio-loading-jpagination.html.infinite-scroll
class is detected. portfolio-loading-infinite-scroll.htmlfigure.zoom
is detected. shortcode-thumbnails.html#figzoom.autosuggest
class is detected. shortcode-forms-autosuggest.htmlinput.stepper
class is detected..slimscroll
class is detected.data-background="image.jpg"
detected on <body>.widget-flickr
class is detected. shortcode-widgets.html.widget-twitter
class is detected. shortcode-widgets.html.widget-dribbble
class is detected. shortcode-widgets.html.widget-media
class is detected. Also, you can find it used on index-thematics-music.html loaded via an external file: assets/js/view/demo.music.js
Styleswitcher is a plugin created from scratch for demo purposes only.
At the bottom of each page, find and remove:
<!-- STYLESWITCHER - REMOVE --> <script async type="text/javascript" src="assets/plugins/styleswitcher/styleswitcher.js"></script>Also, you can delete the plugin from: assets/plugins/styleswitcher/ on your production site.
3 Fonts used:
CSS Classes:
.font-open-sans
Force Open Sans Font
.font-lato
Force Lato Font
.font-raleway
Force Raleway Font
assets/css/_layout-font-rewrite.css
and modify it according to your needs.
Essential classes (assets/css/essentials.css) that helps you to quick position elements without writing new css rules.
You are encouraged to use these classes
Class | Description | Class | Description | |
---|---|---|---|---|
.size-11 |
Force font size to 11px (text, icons) | .weight-300 |
Force font weight to 300 (text) | |
.size-12 |
Force font size to 12px (text, icons) | .weight-400 |
Force font weight to 400 (text) | |
.size-13 |
Force font size to 13px (text, icons) | .weight-500 |
Force font weight to 500 (text) | |
.size-14 |
Force font size to 14px (text, icons) | .weight-600 |
Force font weight to 600 (text) | |
.size-15 |
Force font size to 15px (text, icons) | .weight-700 |
Force font weight to 700 (text) | |
.size-16 |
Force font size to 16px (text, icons) | .font-lato |
Force font family: 'Lato', Arial, sans-serif | |
.size-17 |
Force font size to 17px (text, icons) | .padding-0 |
Force padding to 0px | |
.size-18 |
Force font size to 18px (text, icons) | .padding-3 |
Force padding to 3px | |
.size-19 |
Force font size to 19px (text, icons) | .padding-6 |
Force padding to 6px | |
.size-20 |
Force font size to 20px (text, icons) | .padding-8 |
Force padding to 8px | |
.size-26 |
Force font size to 26px (text, icons) | .padding-10 |
Force padding to 10px | |
.size-30 |
Force font size to 30px (text, icons) | .padding-0 |
Force padding to 0px | |
.size-40 |
Force font size to 40px (text, icons) | .padding-15 |
Force padding to 15px | |
.size-50 |
Force font size to 50px (text, icons) | .padding-20 |
Force padding to 20px | |
.size-60 |
Force font size to 60px (text, icons) | .padding-30 |
Force padding to 30px | |
.size-70 |
Force font size to 70px (text, icons) | .padding-40 |
Force padding to 40px | |
.size-80 |
Force font size to 80px (text, icons) | .padding-50 |
Force padding to 50px | |
.size-90 |
Force font size to 90px (text, icons) | .padding-60 |
Force padding to 60px | |
.size-100 |
Force font size to 100px (text, icons) | .padding-70 |
Force padding to 70px | |
.margin-top-0 |
Force margin top to 0px | .margin-bottom-0 |
Force margin bottom to 0px | |
.margin-top-3 |
Force margin top to 3px | .margin-bottom-3 |
Force margin bottom to 3px | |
.margin-top-6 |
Force margin top to 6px | .margin-bottom-6 |
Force margin bottom to 6px | |
.margin-top-8 |
Force margin top to 8px | .margin-bottom-8 |
Force margin bottom to 8px | |
.margin-top-10 |
Force margin top to 10px | .margin-bottom-10 |
Force margin bottom to 10px | |
.margin-top-20 |
Force margin top to 20px | .margin-bottom-20 |
Force margin bottom to 20px | |
.margin-top-30 |
Force margin top to 30px | .margin-bottom-30 |
Force margin bottom to 30px | |
.margin-top-40 |
Force margin top to 40px | .margin-bottom-40 |
Force margin bottom to 40px | |
.margin-top-50 |
Force margin top to 50px | .margin-bottom-50 |
Force margin bottom to 50px | |
.margin-top-60 |
Force margin top to 60px | .margin-bottom-60 |
Force margin bottom to 60px | |
.margin-top-80 |
Force margin top to 80px | .margin-bottom-80 |
Force margin bottom to 80px | |
.margin-top-100 |
Force margin top to 100px | .margin-bottom-100 |
Force margin bottom to 100px | |
.margin-top-130 |
Force margin top to 130px | .margin-bottom-130 |
Force margin bottom to 130px | |
.margin-top-150 |
Force margin top to 150px | .margin-bottom-150 |
Force margin bottom to 150px | |
.margin-top-180 |
Force margin top to 180px | .margin-bottom-180 |
Force margin bottom to 180px | |
.margin-top-200 |
Force margin top to 200px | .margin-bottom-200 |
Force margin bottom to 200px | |
.margin-left-0 |
Force margin left to 0px | .margin-right-0 |
Force margin right to 0px | |
.margin-left-3 |
Force margin left to 3px | .margin-right-3 |
Force margin right to 3px | |
.margin-left-6 |
Force margin left to 6px | .margin-right-6 |
Force margin right to 6px | |
.margin-left-8 |
Force margin left to 8px | .margin-right-8 |
Force margin right to 8px | |
.margin-left-10 |
Force margin left to 10px | .margin-right-10 |
Force margin right to 10px | |
.margin-left-20 |
Force margin left to 20px | .margin-right-20 |
Force margin right to 20px | |
.margin-left-30 |
Force margin left to 30px | .margin-right-30 |
Force margin right to 30px | |
.margin-left-40 |
Force margin left to 40px | .margin-right-40 |
Force margin right to 40px | |
.margin-left-50 |
Force margin left to 50px | .margin-right-50 |
Force margin right to 50px | |
.margin-left-60 |
Force margin left to 60px | .margin-right-60 |
Force margin right to 60px | |
.margin-left-80 |
Force margin left to 80px | .margin-right-80 |
Force margin right to 80px | |
.margin-left-100 |
Force margin left to 100px | .margin-right-100 |
Force margin right to 100px | |
.margin-left-130 |
Force margin left to 130px | .margin-right-130 |
Force margin right to 130px | |
.margin-left-150 |
Force margin left to 150px | .margin-right-150 |
Force margin right to 150px | |
.margin-left-180 |
Force margin left to 180px | .margin-right-180 |
Force margin right to 180px | |
.margin-left-200 |
Force margin left to 200px | .margin-right-200 |
Force margin right to 200px |
Class | Description | Class | Description |
---|---|---|---|
.height-10 |
Force height to 10px | .width-10 |
Force width to 10px |
.height-20 |
Force height to 20px | .width-20 |
Force width to 20px |
.height-30 |
Force height to 30px | .width-30 |
Force width to 30px |
.height-50 |
Force height to 50px | .width-50 |
Force width to 50px |
.height-100 |
Force height to 100px | .width-100 |
Force width to 100px |
.height-150 |
Force height to 150px | .width-150 |
Force width to 150px |
.height-200 |
Force height to 200px | .width-200 |
Force width to 200px |
.height-250 |
Force height to 250px | .width-250 |
Force width to 250px |
.height-250 |
Force height to 250px | .width-250 |
Force width to 250px |
.height-300 |
Force height to 300px | .width-300 |
Force width to 300px |
.height-350 |
Force height to 350px | .width-350 |
Force width to 350px |
.height-400 |
Force height to 400px | .width-400 |
Force width to 400px |
.height-450 |
Force height to 450px | .width-450 |
Force width to 450px |
.height-500 |
Force height to 500px | .width-500 |
Force width to 500px |
.height-550 |
Force height to 550px | .width-550 |
Force width to 550px |
.height-600 |
Force height to 600px | .width-600 |
Force width to 600px |
.height-650 |
Force height to 650px | .width-650 |
Force width to 650px |
.height-700 |
Force height to 700px | .width-700 |
Force width to 700px |
.height-750 |
Force height to 750px | .width-750 |
Force width to 750px |
.height-800 |
Force height to 800px | .width-800 |
Force width to 800px |
You might also need to use .block together with one of above classes.
|
Class | Description | Class | Description |
---|---|---|---|
.nopadding |
Force no paddings | .nomargin |
Force no margins |
.nopadding-left |
Force no padding left | .nomargin-left |
Force no nomargin left |
.nopadding-right |
Force no padding right | .nomargin-left |
Force no nomargin left |
.nopadding-top |
Force no padding top | .nomargin-left |
Force no nomargin left |
.nopadding-bottom |
Force no padding bottom | .nomargin-left |
Force no nomargin left |
.noborder |
Force no border | .lowercase |
Force text to lowercase |
.noradius |
Force to radius 0 | .uppercase |
Force text to uppercase |
.italic |
Force text to italic | .pointer |
Force cursor pointer (link) |
.block |
Force display to block | .bold |
Force text bold |
.fullwidth |
Force width 100% | .justify |
Force text to justify |
.halfwidth |
Force width 50% | .nofloat |
Force float:none |
.softhide |
diplay:none , without !important | .no-text-underline |
No underline (link) |
.border-bottom-dashed |
dotted bottom border | .border-bottom-dotted |
dashed bottom border |
Class | Description | Class | Description |
---|---|---|---|
.letter-spacing-0 |
Letter spacing 0px | .overlay.dark-0 |
0% opactity - used for parallax or slider |
.letter-spacing-1 |
Letter spacing 0.1em | .overlay.dark-1 |
10% opactity - used for parallax or slider |
.letter-spacing-2 |
Letter spacing 0.2em | .overlay.dark-2 |
20% opactity - used for parallax or slider |
.letter-spacing-3 |
Letter spacing 0.3em | .overlay.dark-3 |
30% opactity - used for parallax or slider |
.letter-spacing-4 |
Letter spacing 0.4em | .overlay.dark-4 |
40% opactity - used for parallax or slider |
.letter-spacing-5 |
Letter spacing 0.5em | .overlay.dark-5 |
50% opactity - used for parallax or slider |
.letter-spacing-6 |
Letter spacing 0.6em | .overlay.dark-6 |
60% opactity - used for parallax or slider |
.letter-spacing-7 |
Letter spacing 0.7em | .overlay.dark-7 |
70% opactity - used for parallax or slider |
.letter-spacing-8 |
Letter spacing 0.8em | .overlay.dark-8 |
80% opactity - used for parallax or slider |
.letter-spacing-9 |
Letter spacing 0.9em | .overlay.dark-9 |
90% opactity - used for parallax or slider |
.letter-spacing-10 |
Letter spacing 1em | .overlay.dark-10 |
100% opactity - used for parallax or slider |
Overlay usage example: <span class="overlay dark-5"><span>
|
Class | Description |
---|---|
section.alternate |
<section class="alternate"> means a slightly darker section. |
section.dark |
<section class="dark"> means the section will be dark: #212121 |
section.nopadding |
<section class="nopadding"> means no section padding top and no section padding bottom |
section.nopadding-bottom |
<section class="nopadding-bottom"> means no section padding bottom |
section.nopadding-top |
<section class="nopadding-top"> means no section padding top |
.txt-success |
Lorem ipsum dolor sit amet. |
.txt-danger |
Lorem ipsum dolor sit amet. |
.txt-warning |
Lorem ipsum dolor sit amet. |
.txt-info |
Lorem ipsum dolor sit amet. |
To enable Dark Layout, add to <head>, AFTER layout.css
<link href="assets/css/layout-dark.css" rel="stylesheet" type="text/css" />
To enable Boxed Layout, add .boxed
class to <body>
<body class="boxed">
Smarty contains 11 image background patterns you can use on boxed layout:
<!-- pattern1 ... patern11 --> <body class="boxed pattern1">
Smarty support fixed background image on boxed layout:
<body class="boxed" data-background="assets/images/boxed_background/1.jpg">
To enable RTL, add to <head>, AFTER layout.css
<link href="assets/plugins/bootstrap/RTL/bootstrap-rtl.min.css" rel="stylesheet" type="text/css" /> <link href="assets/plugins/bootstrap/RTL/bootstrap-flipped.min.css" rel="stylesheet" type="text/css" /> <link href="assets/css/layout-RTL.css" rel="stylesheet" type="text/css" />
To remove the page preloader, remove the lines from the bottom of each HTML:
<!-- PRELOADER --> <div id="preloader"> <div class="inner"> <span class="loader"></span> </div> </div><!-- /PRELOADER -->
When you start a new project, you may want to remove all demo files.
Remove assets/images/demo/ folder - this will remove all demo images.
All demo images are free to use, if you want to.
php/config.inc.php params:
1. ATTACHMENTS When a visitor send you an attachment email, the files are uploaded on php/_upload/ folder. define('UPLOAD_FOLDER', '_upload/'); // upload folder path - slash at the end! define('UPLOAD_FOLDER_URL', 'http://localhost/PRJ/Smarty/HTML/php/_upload/'); // Full url path to upload folder (used for contact files) - slash at the end! define('UPLOAD_MAX_SIZE', 10000000); // 1000000 = 10Mb 2. CACHE The cache is used by twitter plugin to load faster define('CACHE_ENABLED', true); // cache (example usage: twitter widget) define('CACHE_LIFETIME', 3600); // in seconds 3. TWITTER WIDGET SETTINGS Like facebook, yahoo or google, twitter needs the api key to work. Get the consumer key from http://dev.twitter.com/apps define('CONSUMER_KEY', ''); define('CONSUMER_SECRET', ''); // User Access Token define('ACCESS_TOKEN', ''); define('ACCESS_SECRET', '');
// USE SMTP OR mail() // SMTP is recommended, mail() is disabled on most shared hosting servers. // IF false : SMTP host/port/user/pass/ssl not used, leave empty or as it is! $config['use_smtp'] = true; // true|false // SMTP Server Settings $config['smtp_host'] = 'smtp.gmail.com'; // eg.: smtp.gmail.com $config['smtp_port'] = 587; // eg.: 587 $config['smtp_user'] = ''; // you@gmail.com $config['smtp_pass'] = ''; // password $config['smtp_ssl'] = false; // should remain false // Who receive all emails? $config['send_to'] = 'youremail@gmail.com'; // destination of all emails sent throught contact form // Email Subject $config['subject'] = 'Smarty Contact Form'; // subject of emails you receive
You can combine the header classes to get the header style you want.
NOTE: Never remove .clearfix
class.
Type Class | Features | Code Example |
---|---|---|
Default Header | Default Header with a White Background & Dark text. |
<div id="header" class="clearfix"> ... </div> |
.dark |
Dark Header with a Dark Background & White text. |
<div id="header" class="dark clearfix"> ... </div> |
.sticky |
Sticky Header with a White Background & Dark text. |
<div id="header" class="sticky clearfix"> ... </div> |
.sticky .dark |
Sticky Dark Header with a Dark Background & White text. |
<div id="header" class="sticky dark clearfix"> ... </div> |
.static |
Static Header with a White Background & Dark text. |
<div id="header" class="static clearfix"> ... </div> |
.static .dark |
Static Dark Header with a Dark Background & White text. |
<div id="header" class="static dark clearfix"> ... </div> |
.sticky .bottom |
Bottom Header with a White Background & Dark text. With or without sticky! |
<div id="header" class="sticky bottom clearfix"> ... </div> |
.sticky .bottom .dark |
Bottom Dark Header with a Dark Background & White text. With or without sticky! |
<div id="header" class="sticky bottom dark clearfix"> ... </div> |
.transparent |
Transparent Header |
<div id="header" class="sticky transparent clearfix"> ... </div> |
.translucent |
Translucent Header |
<div id="header" class="sticky translucent clearfix"> ... </div> |
Type Class | Features | Code Example |
---|---|---|
Default | Default (white) dropdown header menu |
<div class="navbar-collapse pull-right nav-main-collapse collapse"> ... </div> |
.submenu-dark |
Dark dropdown header menu |
<div class="navbar-collapse pull-right nav-main-collapse collapse submenu-dark"> ... </div> |
.submenu-color |
Theme color dropdown header menu |
<div class="navbar-collapse pull-right nav-main-collapse collapse submenu-color"> ... </div> |
This example is for 5 columns mega menu. Replace .col-md-5th
width any bootstrap grid class:
.col-md-6
- 2 columns
.col-md-4
- 3 columns
.col-md-3
- 4 columns
.col-md-5th
- 5 columns (used on this example)
With more than 200 shortcodes (including variations), the limit is the sky.
Shortcodes are reusable elements - can be used anywhere on any page by simply copy/paste.
Each shortcode is self explained on Shortcodes section. Just click the "show code" link and you can see the code and available classes you can use for that specific shortcode.
Flickr, Twitter, Dribble and Facebook - are the widgets that help you to build fast website, no extra coding needed from your side.
How to use the widgets? Just copy/paste the code on any page of the website and change the params to fit your needs. That's all!
<!-- data-id="37304598@N02" - your flickr id data-limit="16" - maximum images to load --> <div class="widget-flickr clearfix lightbox margin-bottom-60" data-id="37304598@N02" data-limit="16" data-plugin-options='{"delegate": "a", "gallery": {"enabled": true}}'></div>
<!-- data-php="php/twitter/tweet.php" - widget php path data-username="stepofweb" - twitter username data-limit="3" - maximum twwts to load PLEASE NOTE! php/_cache/ - folder should be writable by the webserver! - it's used to cache tweets --> <ul class="widget-twitter margin-bottom-60" data-php="php/twitter/tweet.php" data-username="stepofweb" data-limit="3"> <li></li> </ul>
<!-- data-token - your dribble token! Create your app token: https://dribbble.com/account/applications/new data-shots="2046896" - dribbble shots id data-col="4" - columns (1 to 6 - recommended 3 to 6 and 1,2 only on sidebars) data-target - optional (_blank|_self) - open the image in a new windows or on the same window (default: _blank) --> <ul class="widget-dribbble clearfix" data-col="4" data-shots="2046896" data-token="f688ac519289f19ce5cebc1383c15ad5c02bd58205cd83c86cbb0ce09170c1b4"></ul>
<!-- Replace stepofweb with your facebook id .hidden-xs = hide on mobile --> <iframe class="hidden-xs noborder" src="//www.facebook.com/plugins/likebox.php?href=https%3A%2F%2Fwww.facebook.com%2Fstepofweb&width=263&height=258&colorscheme=light&show_faces=true&header=false&stream=false&show_border=false" width:263px; height:258px;"> </iframe>
<!-- Replace http://www.stepofweb.com with your webiste or page URL. Button Layouts: data-layout="standard|box_count|button_count|button" Button Types data-action="like|recommend" data-show-faces="true|false" data-share="true|false" --> <div class="fb-like" data-href="http://www.stepofweb.com" data-layout="button_count" data-action="like" data-show-faces="false" data-share="false"></div>
<!-- Replace http://www.stepofweb.com with your webiste or page URL. Button Layouts: data-layout="box_count|button_count|button|icon_link|icon|link" --> <div class="fb-share-button" data-href="http://www.stepofweb.com" data-layout="box_count"></div>