Installation
Follow the steps below to get started with your Site Template:
- Open the
Package/HTMLFolder to find all the Templates Files - You will need to Upload these files to your Web Server using FTP in order to use it on your Website.
- Make sure you upload the required files/folders listed below:
HTML/css- Extra Stylesheets Folder plus Main Stylesheet FileHTML/images- Images FolderHTML/js- Javacripts FolderHTML/index.html- Index File/Homepage
- You're now good to go..! Start adding your Content and show off your Brand New Beautiful Website in style.
HTML Structure
Bistro follows a simple coding structure. here is the sample:
<!DOCTYPE html> <html dir="ltr" lang="en"> <head> <!-- Your Stylesheets, Title ============================================= --> ... </head> <body> <!-- The Loader Before Site Load ============================================= --> <div class="loader"> .... </div> <!-- Header ============================================= --> <header id="main-navigation"> <div id="navigation" class="affix"> ... </div> </header> <!-- Site Content ============================================= --> <section> <div class="container"> ... </div> </section> <!-- Footer ============================================= --> <footer> <div class="container"> ... <!-- Copyrights ============================================= --> <div class="copyright"> ..... </div> </div> </footer> <!-- Your All Scripts will be here ============================================= --> ... </body> </html>
Favicons & Apple Touch Icons
You can add a Favicon to your Website using the following code just bottom to the Stylesheet files links:
<link rel="icon" href="favicon.png" type="image/png" sizes="16x16">
You can add Apple Touch Icons to your Website using the following code:
<link rel="apple-touch-icon" href="touch-icon-iphone.png"> <link rel="apple-touch-icon" sizes="76x76" href="touch-icon-ipad.png"> <link rel="apple-touch-icon" sizes="120x120" href="touch-icon-iphone-retina.png"> <link rel="apple-touch-icon" sizes="152x152" href="touch-icon-ipad-retina.png">
Page Loading Transitions
You can show Interactive loaders to your Visitors while the Pages of your Website loads in the background & then Reveal show Interactive loaders to your Visitors while your Pages with CSS3 Transitions. Page Loading Transitions are enabled by default. To disable the Transition, you can simply remove .loader Class just after the <body> Tag.
You can also add transition effects on any section or any contantent used in the web site for the purpose of smooth loading effects and scrolling.
TO use it you have to need just add the .wow and .fedeIn(transition name class which you want to use)
<div class="wow fadeIn" data-wow-delay="500ms" data-wow-duration="300ms">
Logo Settings
The Logo Container can be found in the Header Container - #main-navigation
<div class="navbar-header"> <a href="index.html" class="navbar-brand"><img src="images/logo.png" alt="logo" class="img-responsive"></a> </div>
Changing Fonts
Change your Fonts from Google Fonts Library directly if you plan to use a Google Font You can find the Linking to the Font
Files in the head tag of all the .html files.
<link href="http://fonts.googleapis.com/css?family=Lato:300,400,400italic,600,700|Raleway:300,400,500,600,700|Crete+Round:400italic" rel="stylesheet" type="text/css" />
In order to change the Fonts, you will need to Edit the Above Links with your Custom Font if you plan to use a Google Font or Remove it complete if you plan to use a Self Hosted font. Here is an Example for using Self Hosted Fonts.
By default, Bistro uses 2 Fonts namely: Bebas, Opensans from the Google Fonts Library.
Website Optimization Tips
A Fast & Optimized Website has several factors which needs to be implemented in order to achieve the desired results. There are several Optimization Techniques available which will definitely affect your Website's Performance in a Positive Way & we want to share a few of them with you:
-
gZip Compression & Browser Caching
This is probably one of the Most Important Techniques you should definitely implement in order to bump up your Website's Loading Speed. gZip Compression is used to compress the Files that are delivered when loading a Website. It covers HTML, CSS, Javascript & Font Files along with other miscellaneous text files. Where as Browser Caching also covers Images & Videos apart from including the above files. This is used to saves the Static Data in your Browser itself so that when you open the Next Pages on the Same Website, the content does not gets Downloaded again, loading the Website fast.
gZip Compression & Browser Caching can be enabled using the
.htaccessFile on an Apache Web Server. You can use the Codes from here: https://github.com/h5bp/html5-boilerplate/blob/master/dist/.htaccess to enable these modules on your server. -
Image Compression & Optimization
We tend to use Lots of Images on our Websites but we often do not make efforts to Compress & Optimize them. Remember, the Larger the Image, the more time it takes to download and therefore this slows your website loading times affecting User Experience. Your customer will leave your website if it does not load within 3-5 Seconds which adversely affects your Sales. Therefore, it is important to Resize, Optimize & Compress your Images before using it on your Website. Here are some Tips which might come handy in optimizing images:
- Resize your Images: Resize your Images before using it on your Website. Do not just Download an Image & place it as it is in your Website's
<img>Tag without resizing it. The size/resolution of the Image matters since it is not recommended to use an Image size of1200pxx800pxin a Content Size of300pxx200pxas this is unnecessary. Resize it to300pxx200px - Image Formats: There are three common file types that are used for web images which are JPEG, GIF, & PNG. For images with a Flat Background use JPEG images, for images with a Transparent background use PNG images and for images with Animations use GIF images.
- Compressing Images: Images Compression is important as it considerably reduces the size without losing the quality. There are several FREE Image Optimization Tools available to Download.
For MAC use ImageOptim
For Windows use Riot for compressing JPEG Images & PNG Gauntlet for PNG Images.
- Resize your Images: Resize your Images before using it on your Website. Do not just Download an Image & place it as it is in your Website's
-
CSS & jQuery Minifications
It is also recommended that you Combine & Minify all your CSS Files to a single CSS File & all Javascript Files to a single JS File since Minification reduces the size of the File and Combining the files helps in reducing the number of HTTP requests made to the server. This is also an Important Factor in increasing the speed of your website. There are several tools available online to Minify your CSS & JS Files. Our recommendations are:
For CSS use CSS Minifier and For Javascript use Javascript Minifier. -
Content Delivery Network
You can use a CDN to further speed up your website. You can use the CDN to deliver static files of your website like CSS, JS, Images & Font Files. There are several CDN Hosting Providers available on the Internet but we would recommend MaxCDN or CloudFlare. Note: CDN setup requires Extra monthly Fees to setup, so it is completely optional & according to your needs.
-
Fast Web Hosting Servers
A lot depends on your Web Hosting Servers, so it is recommended that you choose a Hosting Company/Server that provides a Reliable & a Fast Hosting Service. You can check out some recommended Hosting Services here: http://themeforest.net/get_hosting.
Header
You can choose the headers while creating your Pages. Default Header with a white Background while turns Stickey after a little scrolling &,you can make header without stickey effect
for this just remove the #navigation Id and .affix Class.Simply follow the structure below:
<header id="main-navigation"> ... </header>
Page Titles
Default Page Title style with Text aligned Left & and a caption line.
<!--Page header & Title-->
<section id="page_header">
<div class="page_title">
<div class="container">
<div class="row">
<div class="col-md-12">
<h2 class="title">Blog</h2>
<p>some captions here ...</p>
</div>
</div>
</div>
</div>
</section>
Columns & Grid
Bootstrap Grid
Side Panel
You can add a revealable Side Panel on your Website with Additional Information about your Website. Simply use the Code below:
<aside class="sidebar">
<div class="widget">
<ul class="tabs">
<li class="active" rel="tab1">Popular </li>
<li rel="tab2">Latest</li>
<li rel="tab3">Comments</li>
</ul>
<div class="tab_container bg_grey">
<h3 class="d_active tab_drawer_heading" rel="tab1">Popular</h3>
<div id="tab1" class="tab_content">
<div class="single_comments">
<img alt="" src="images/Popular.jpg">
<p><a href="#">description of post</a></p>
<span>Date of publishing</span>
</div>
<div class="clearfix"></div>
....
</div>
....
</div>
</div>
<div class="widget">
<h3>Categories</h3>
<ul class="widget_links">
<li><a href="#">category name</a></li>
...
</ul>
</div>
<div class="widget">
<h3>Tags</h3>
<ul class="tags">
<li><a href="#">some tag</a></li>
...
</ul>
</div>
</aside>
Note: Make sure that you add the Side Panel's Code just after the #blog Starts.
Side Panel Position
A Side Panel can be revealed from either Left or Right. The Side Panel is revealed from the Right by default. If you would like to change the Reveal Position of the Side Panel to Left, then you can simply add the .pull-left Class to the <aside> Tag.
<aside class="pull-left">
Helper Classes
We have created some really useful helper classes for you. Here are a few of them:
.padding-top- pagdding of 100px on top of sections..padding- pagdding of 100px on the top and bottom of sections..padding-bottom- pagdding of 100px on the bottom of sections..padding-half- pagdding of 50px on the top and bottom of sections..no-margin- to remove padding or margin on any element..heading_space- margin of 50px on the bottom of sections..padding-half- pagdding of 50px on the top and bottom of sections..half_space- margin of 25px on the bottom of headings.heading_top- margin of 25px on the top of headings.heading- creating the border for headings in the sections..bg_grey- Grey background color used in web site..bg_blue- Blue background color used in web site..color-default red color used in website..red-btn- button with red background..btn-common- For commonly used links / buttons styling with rounded corners..button3- For create the hover effects on buttons and links.btn-submit- submit button used in forms..overlay- to craete overlay effects..tags- used tags in web site.
Slider Types & their Options
Bistro includes 2 Unique Sliders for you to be used on any Page with 100s of Options. The List of all the Sliders included are mentioned as follows:
- Revolution Slider
- Owl Slider
Revolution Slider
You can find the Revolution Slider related Documentation here.
Read Revolution Slider Docs
You can find the Owl Slider related Documentation here.
Read Owl Slider Docs
Blog Setup
Posts use Simple Markup. Use the Code Sample below in the .container Class:
<!-- Blogs --> <section id="blog" class="padding"> <div class="blog_item padding-bottom"> <h2>Blog Post title</h2> <ul class="comments"> <li><a href="#">May 10, 2016</a></li> <li><a href="#"><i class="icon-chat-2"></i>5</a></li> </ul> <!--Featured blog post image--> <div class="image_container"> <img src="images/blog1.jpg" class="img-responsive" alt="blog post"> </div> <p>That also the leap into electronic typesetting, remaining essentially unchanged. Etharums ser quidem rerum facilis dolores nemis omnis fugats vitaes nemo minima rerums unsers sadips amets. Sed ut perspiciatis unde omnis iste natus error sit voluptatem...</p> <a class="btn-common button3" data-text="Read more" href="blog_detail.html">Read more</a> </div> </section>
you can also make blog image slider in blog item, for this just follow the structure below:
<section id="blog" class="padding">
<div class="blog_item padding-bottom">
<h2>Blog Post title</h2>
<ul class="comments">
<li><a href="#">May 10, 2016</a></li>
<li><a href="#"><i class="icon-chat-2"></i>5</a></li>
</ul>
<!--Featured blog post slider -->
<div class="image_container">
<div id="blog-slider" class="owl-carousel">
<div class="item">
<img src="images/blog2.jpg" class="img-responsive" alt="blog post">
</div>
<div class="item">
<img src="images/blog3.jpg" class="img-responsive" alt="blog post">
</div>
<div class="item">
<img src="images/blog4.jpg" class="img-responsive" alt="blog post">
</div>
</div>
</div>
<p>That also the leap into electronic typesetting, remaining essentially unchanged. Etharums ser quidem rerum facilis dolores nemis omnis
fugats vitaes nemo minima rerums unsers sadips amets. Sed ut perspiciatis unde omnis iste natus error sit voluptatem...</p>
<a class="btn-common button3" data-text="Read more" href="blog_detail.html">Read more</a>
</div>
</section>
Post Types
You can use different types of Post Types:
- Image
- Sliders
- Blockquotes
Comment Types
You can different types of Comments System on Post Single Pages:
- Default
- Wrapped in box
Wrapped in box
Code Sample for Wrapped in box Comments:
<div class="media blog-reply">
<div class="pull-left">
<a href="#">
<img alt="Bianca Reid" src="images/blog-commenter1.jpg">
</a>
</div>
<div class="media-body">
<h4>John Smith</h4>
<span>September 30, 2016 at 3:21 pm</span>
<p>It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.
The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters.</p>
<a class="reply" href="#">Reply</a>
</div>
</div>
Portfolio Setup
Bistro provides a very elegant way to showcase your work. Setting up Portfolio is simple. Please use the following codes:
Setting up Portfolio Filter:
<section id="gallery">
<div class="work-filter">
<ul class="text-center">
<li><a href="javascript:;" data-filter="all" class="active filter">All</a></li>
<li><a href="javascript:;" data-filter=".brand" class="filter">Brand</a></li>
<li><a href="javascript:;" data-filter=".design" class="filter">Design</a></li>
<li><a href="javascript:;" data-filter=".graphic" class="filter">Graphic</a></li>
<li><a href="javascript:;" data-filter=".video" class="filter">Video</a></li>
</ul>
</div>
<div class="zerogrid">
<div class="wrap-col">
<div class="item-container">
....
</div>
</div>
</div>;
</section>
Setting up Portfolio Items:
<div class="zerogrid">
<div class="wrap-col">
<div class="wrap-content">
<div class="item-container">
<div class="image">
<img src="images/workimg1.jpg" alt="work"/>
<a class="overlay" href="#">
<div class="overlay-inner">
.....
</div>
</a>
</div>
<!-- Text description of gallery item--!>
<div class="gallery_content">
.....
</div>
</div>
</div>
</div>
</div>
Setting up Portfolio Scripts for Filter Functions:
<script type="text/javascript">
// portfolio filtering
$(".zerogrid").mixItUp();
</script>
Introduction
Bistro boasts of a huge number of handy Shortcodes which are quite powerful, flexible, functional & easy to use. Setting up shortcodes is very easy & Self Explanatory. Here is the List of Shortcodes included with Bistro:
AnimationsButtonsCarouselsChartsClientsColumnsCountersDividersIcon BoxesGalleriesHeading StylesIcon ListsLabelsLightboxsLists & PanelsMapsMedia EmbedsModal BoxesNavigationsPaginationsPies & SkillsPricing BoxesProcess StepsPromo BoxesBlockquotesResponsiveSectionsSocial IconsAlert BoxesStyled IconsTablesTabsTestimonialsThumbnailsToggles
Each of the above mentioned Shortcodes are easily extendable, flexible & easy to use. You can find the sample codes in their respective files. We are explaining a few of them for your Reference.
Animations
Scroll to reveal Animations are latest in the Trends. You can do them too with Bistro. You can use animations on any element you want. Here is the Sample Code:
<div class="wow fadeInDown" ></div>
You can also use delays for your Animations:
<div data-wow-duration="500ms" data-wow-delay="300ms"></div>
Note: Delay Duration is in milliseconds.
Here is the list of the Animation Types you can use:
bounceflashpulserubberBandshakeswingtadawobblebounceInbounceInDownbounceInLeftbounceInRightbounceInUpbounceOutbounceOutDownbounceOutLeftbounceOutRightbounceOutUpfadeInfadeInDownfadeInDownBigfadeInLeftfadeInLeftBigfadeInRightfadeInRightBigfadeInUpfadeInUpBigfadeOutfadeOutDownfadeOutDownBigfadeOutLeftfadeOutLeftBigfadeOutRightfadeOutRightBigfadeOutUpfadeOutUpBigflipflipInXflipInYflipOutXflipOutYlightSpeedInlightSpeedOutrotateInrotateInDownLeftrotateInDownRightrotateInUpLeftrotateInUpRightrotateOutrotateOutDownLeftrotateOutDownRightrotateOutUpLeftrotateOutUpRighthingerollInrollOutzoomInzoomInDownzoomInLeftzoomInRightzoomInUpzoomOutzoomOutDownzoomOutLeftzoomOutRightzoomOutUp
Sections & Parallax
Setup content you want to stand out. You can use Light & Dark Sections or Parallax Images.
Setting up Sections:
Setup your Sections outside the .container element.
Light Section:
<section> <div class="container"> ... </div> </section>
Dark Section:
<section class="section dark"> <div class="container"> ... </div> </section>
Setting up Parallax Sections:
Make sure your Parallax Images are of enough Width & Height, preferably 1920x1280 or above.
<section class="paralax" > <div class="container"> ... </div> </section>
Tabs, & Accordions
You can use Tabs, & Accordions in Various Styles and with Different Options to display Below the Fold content.
Tabs
Use the below code to display Tabs:
<div class="widget">
<ul class="tabs">
<li class="active" rel="tab1">Tab 1 </li>
<li rel="tab2">Tab 2</li>
<li rel="tab3">Tab 3</li>
</ul>
<div class="tab_container">
<!--Its optional just used whemn you want these tabs truns into accordions on small screens-->
<h3 class="d_active tab_drawer_heading" rel="tab1">Tab 1</h3>
<div id="tab1" class="tab_content">
<!--Tab content any thing you want to fold-->
</div>
<div class="clearfix"></div>
<h3 class="tab_drawer_heading" rel="tab2">Tab 2</h3>
<div id="tab2" class="tab_content">
.....
</div>
<h3 class="tab_drawer_heading" rel="tab3">Tab 2</h3>
<div id="tab3" class="tab_content">
....
</div>
</div>
</div>
Note: Make sure you add unique IDs for each Tab Container Items.
Initializing Tabs using Javascript
Tabs are initialized using the Standard Minimal Functionality by default, but there might instances you would have to Create the Tabs using the most simple & lightweight jQuery script function
.
<script>
jQuery(document).ready( function($){
// Tabs truns into Accordions
$(".tab_content").hide();
$(".tab_content:first").show();
/* if in tab mode */
$("ul.tabs li").on('click', function() {
$(".tab_content").hide();
var activeTab = $(this).attr("rel");
$("#"+activeTab).fadeIn();
$("ul.tabs li").removeClass("active");
$(this).addClass("active");
$(".tab_drawer_heading").removeClass("d_active");
$(".tab_drawer_heading[rel^='"+activeTab+"']").addClass("d_active");
});
/* if in drawer mode on Mobile Version*/
$(".tab_drawer_heading").on('click', function() {
$(".tab_content").hide();
var d_activeTab = $(this).attr("rel");
$("#"+d_activeTab).fadeIn(1200);
$(".tab_drawer_heading").removeClass("d_active");
$(this).addClass("d_active");
$("ul.tabs li").removeClass("active");
$("ul.tabs li[rel^='"+d_activeTab+"']").addClass("active");
});
});
</script>
Accordions
You can add a Accordion using the Code below:
<div id="faq">
<div class='faq_wrapper'>
<ul class='items'>
<li>
<a href='#'> Lorem ipsum dolor sit amet, an eripuit laboramus sententiae duo lorem sio?</a>
<ul class='sub-items'>
<li>
<p class="half_space">Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look
like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search
for 'lorem ipsum' will uncover many web sites still in their infancy.</p>
</li>
</ul>
</li>
.........
</ul>
</div>
</div>
Initializing Accordions using Javascript
You would have to Create the Accordions using the most simple & lightweight jQuery script function
.
<script>
jQuery(document).ready( function($){
// Accordions
$(".items > li > a").on('click', function(e) {
e.preventDefault();
var $this = $(this);
if ($this.hasClass("expanded")) {
$this.removeClass("expanded");
}
else {
$(".items a.expanded").removeClass("expanded");
$this.addClass("expanded");
$(".sub-items").filter(":visible").slideUp("normal");
}
$this.parent().children("ul").stop(true, true).slideToggle("normal");
});
});
</script>
Lightbox & Notifications
Setting up Lightboxes:
Adding a data-fancybox attribute and class .fancyboxto any Link or Button will turn it into a Lightbox Element.
You can use different Types of Lightbox with an Easy Setup:
Single Image:
<a class="fancybox" href="link-to-lightbox-image.jpg" data-fancybox="image"><img src="link-to-small-thumb.jpg" alt="Lightbox Image"></a>
Iframe:
<a class="fancybox fancybox.iframe" href="iframe.html">ifram</a>
Video:
<a fancybox-media href="http://www.youtube.com/watch?v=kuceVNBTJio" data-lightbox="iframe">Lightbox Video</a>
Note: It is recommended that you use only this Format
http://www.youtube.com/watch?v=kuceVNBTJio for Youtube Videos.
AJAX:
<a class="fancybox fancybox.ajax" href="ajax.txt">AJAX Content in a Lightbox</a>
Note: It is recommended that you use the
.fancybox.ajax Class to wrap your AJAX Content to get it displayed properly. You can also design your AJAX Content in any
way using your own Custom CSS.
Gallery:
<a class="fancybox" href="link-to-lightbox-image.jpg" data-fancybox-group="gallery"><img src="link-to-small-thumb.jpg" alt="Lightbox Image"></a> <a class="fancybox" href="link-to-lightbox-image.jpg" data-fancybox-group="gallery"><img src="link-to-small-thumb.jpg" alt="Lightbox Image"></a> <a class="fancybox" href="link-to-lightbox-image.jpg" data-fancybox-group="gallery"><img src="link-to-small-thumb.jpg" alt="Lightbox Image"></a> <a class="fancybox" href="link-to-lightbox-image.jpg" data-fancybox-group="gallery"><img src="link-to-small-thumb.jpg" alt="Lightbox Image"></a>
Showing Lightbox Captions:
To show Captions for your Lightbox/Fancybox Images you will need to add the data-title Attribute for your Lightbox Links:
<a class="fancybox" href="link-to-lightbox-image.jpg" data-lightbox="image" data-title="Lightbox Image"><img src="link-to-small-thumb.jpg" alt="Lightbox Image"></a>
Google Maps
You can add Embedded Google Maps to any Page using the following setup:
-
Step 1:
Add the Google Maps Specific Scripts before end the
<body>Tag<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script> <script type="text/javascript" src="js/jquery.geocomplete.min.js"></script>
-
Step 2:
Add a
divby giving an IDmapwhich will contain your Google Map:<div id="map" </div>
-
Step 3:
Add the Google Maps
scriptwith your Specific Options to initialize your Google Maps:<script type="text/javascript"> // Initialize Map var options = { map: "#map", location: "Cape Town" }; // For Search Form ON Click $("#geocomplete").geocomplete(options).bind("geocode:result", function(event, result){ $.log("Result: " + result.formatted_address); }) .bind("geocode:error", function(event, status){ $.log("ERROR: " + status); }) .bind("geocode:multiple", function(event, results){ $.log("Multiple: " + results.length + " results found"); }); $("#find").click(function(){ $("#geocomplete").trigger("geocode"); }); </script>
Icons
Widgets Setup
Widgets are simple & easy to setup, completely flexible & can be used anywhere on a page. Here's a sample code:
<!--Setting up links categories and tags also by follow this widget structure--<
<div class="widget">
<h4>Widget Title</h4>
<ul class="widget_links">
<li><a href="">some content</a></li>
</ul<
</div>
Info: Most widgets are easy to use & understand and can be checked on the Sidebar Pages.
Images
- The Stocks
- Unsplash
- RaumRot
- Picjumbo
- Stockphotos.io
- Imcreator FREE
- Flickr CC-Search
- Mazwai (Stock Footage)
jQuery
CSS & Fonts
- Bootstrap
- Animation
- Font-Awesome (Font Icons)
- Icomoon (Font Icons)
- Google Fonts
- Bebas
- Opensans
