2

Documentation

This page includes all designed elements which you may use while creating sites based on this template.

Start Exploring Go to chooser

Getting Started

Soup is a HTML/CSS template based on Bootstrap 4 framework. It allows to built modern, fast and mobile friendly websites for restaurants. What's more it includes componentes for online ordering system.

HTML Structure

This is the base of each HTML file:

<!-- Header -->
<header id="header">
    ...
</header>
<!-- Header / End -->

<!-- Content -->
<div id="content">
		
	<!-- Section -->
	<section>
		...
	</section>

    <!-- Footer -->
    <footer>
        ...
    </footer>

</div>
<!-- Content / End -->

Grid System

Soup Template supporst all features of Bootstrap Grid System - go to Bootrstrap's page and check how does it work.

Content

It will be pleasure to build content with this stuff!. More at Bootstrap's 4 page.

Typography

Useful elements to create nice texts.

Headings

Example

h1. Bootstrap heading

h2. Bootstrap heading

h3. Bootstrap heading

h4. Bootstrap heading

h5. Bootstrap heading
h6. Bootstrap heading
<h1>h1. Bootstrap heading</h1>
<h2>h2. Bootstrap heading</h2>
<h3>h3. Bootstrap heading</h3>
<h4>h4. Bootstrap heading</h4>
<h5>h5. Bootstrap heading</h5>
<h6>h6. Bootstrap heading</h6>

Paragraph

Example

Maecenas a risus quis ipsum convallis fringilla in ut magna. Phasellus et sagittis odio. Sed in enim condimentum, lacinia metus id, sollicitudin libero. In ac ultricies justo.

Curabitur sit amet turpis eu diam luctus viverra. Sed viverra ornare ex, quis lobortis diam vehicula a. In imperdiet est tristique, malesuada odio quis, volutpat ante. Nulla ullamcorper, nisl sed faucibus posuere, dui turpis mattis turpis, in porttitor massa odio nec sapien.

<p class="lead">...</p>
<p>...</p>

Blockquote

Blocquote with alternative .light version.

Example

Great food and great atmosphere!

Kate Hudson, LinkedIn
<!-- Blockquote -->
<blockquote class="blockquote">
    <div class="blockquote-content dark">
        <div class="rate rate-sm mb-3"><i class="fa fa-star active"></i><i class="fa fa-star active"></i><i class="fa fa-star active"></i><i class="fa fa-star active"></i><i class="fa fa-star"></i></div>
        <p>Great food and great atmosphere!</p>
    </div>
    <footer>
        <img src="assets/img/avatars/avatar01.jpg" alt="">
        <span class="name">Kate Hudson<span class="text-muted">, LinkedIn</span></span>
    </footer>
</blockquote>

Code

Easy & effectife way to resent code. More at Bootstrap's 4 page.

Inline code

Example
For example, <section> should be wrapped as inline.
For example, <code>&lt;section&gt;</code> should be wrapped as inline.

Code block

Example
<p>Sample text here...</p>
<p>And another line of sample text here...</p>
<pre><code>&lt;p&gt;Sample text here...&lt;/p&gt;
&lt;p&gt;And another line of sample text here...&lt;/p&gt;
</code></pre>

Images

Example
... ...
<img src="..." alt="..." class="rounded">
<img src="..." alt="..." class="img-thumbnail">

Icons

Soup template includes two fantastic sets of icons - Themify Icons and Line Icons

Basic Icons

Example



Circle Icons

Example



Colors

Each icon may be used in any color from Available Colors section. Please use .icon-[color-name] - for example:

Example


Social Icons

This product supports lots of social icon types.

Example











Example











Components

Thanks to the prepared components you will be able to create really cool and effective, easy to use websites. Let's start exploring them!

Alerts

Example
<div class="alert alert-success" role="alert">
    ...
</div>
<div class="alert alert-info" role="alert">
    ...
</div>
<div class="alert alert-warning" role="alert">
    ...
</div>
<div class="alert alert-danger" role="alert">
    ...
</div>

Buttons

Button Types

Example - available colors







Outline Buttons

Example - available colors






Button Sizes

Want to create bigger or smaller buttons? Just use .btn-lg, .btn-sm, .btn-xs classes.

Example



Button Groups

Arrange awesome button groups!

Example
<div class="btn-group">
    <button type="button" class="btn btn-dark"><span>Button Dark</span></button>
    <button type="button" class="btn btn-primary"><span>Button Primary</span></button>
</div>

Forms

To validate the form please add data-validate attribute and required atribute to input / textarea.

Example
<form action="#" class="validate-form">
    <div class="form-group">
        <label>Your e-mail</label>
        <input name="email" type="email" class="form-control" required>
    </div>
    <div class="form-group">
        <label>Your message</label>
        <textarea name="message" id="message" cols="30" rows="5" class="form-control" required></textarea>
    </div>
    <div class="form-group form-submit">
        <button type="submit" class="btn btn-primary btn-block"><span>Send message!</span></button>
    </div>
</form>

Tabs

Feel free to use the tabs for dynamic content.

Example
Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.
Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit.
Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.
<!-- Nav Pills -->
<ul class="nav nav-pills nav-fill mb-3" role="tablist">
    <li class="nav-item"><a class="nav-link active" href="#home" aria-controls="home" role="tab" data-toggle="tab">Home</a></li>
        <li class="nav-item"><a class="nav-link" href="#profile" aria-controls="profile" role="tab" data-toggle="tab">Profile</a></li>
    <li class="nav-item"><a class="nav-link" href="#messages" aria-controls="messages" role="tab" data-toggle="tab">Messages</a></li>
</ul>
<!-- Tab Panes -->
<div class="tab-content">
    <div role="tabpanel" class="tab-pane fade in active" id="home">...</div>
    <div role="tabpanel" class="tab-pane fade" id="profile">...</div>
    <div role="tabpanel" class="tab-pane fade" id="messages">...</div>
</div>

Video Modal

Video Modal was created to place video in popup window. Use data-video attribute to place url to your video.

Example
<!-- Button trigger modal -->
<a href="#" class="btn-play-2" data-toggle="video-modal" data-target="#modalVideo" data-video="https://www.youtube.com/embed/uVju5--RqtY"><span></span>Check it now!</a>

<!-- Video Modal / Demo -->
<div class="modal modal-video fade" id="modalVideo" role="dialog">
    <button class="close" data-dismiss="modal"><i class="ti-close"></i></button>
    <div class="modal-dialog modal-lg" role="document">
        <div class="modal-content">
            <iframe height="500"></iframe>
        </div>
    </div>
</div>

Badges

Example
Default Primary Success Info Warning Danger
Default
Primary
Success
Info
Warning
Danger

Tooltips

Hover the buttons to see the tooltips.

Example




Utilities

Below are listed important configuration options for whole template.

Available Colors

Colour scheme:

primary
secondary

Other:

info
success
warning
danger
light
white
dark
black

Helper Classes

Text Colors

It is possible to add any color form Available Colors section by .text-[color-name] class

Example
Fusce dapibus, tellus ac cursus commodo, tortor mauris nibh.
Fusce dapibus, tellus ac cursus commodo, tortor mauris nibh.

Backgrounds

Similar to text colors it is possible to add backgorund color from Available Colors section by .bg-[color-name] class.

For dark background colors it is necessary to add dark class to adjust font colors and other styles. Sometimes, if inside dark element is placed element with light background you should add light class to such element.

Example

Fusce dapibus, tellus ac cursus commodo, tortor mauris nibh.

<p class="bg-success dark p-2">Fusce dapibus, tellus ac cursus commodo, tortor mauris nibh.</p>

Border

It is possible to add border to any of html elements by adding proper class:

  • .border - adds border to element
  • .border-top - adds top border to element
  • .border-bottom - adds bottom border to element
Example
Element with border-bottom.
<div class="pb-10 border-bottom">Element with border-bottom.</div>

Heights & vertical center position

The template allows to set minimial height of block html element. It is possible by using .h-[value] class.
[value] is a number from 100 to 900 with 100 gap or sm (40% of viewport), md (60% of viewport) and lg (80% of viewport).

By .fullheight class you set elements height equal to the browser viewport height.

Using .v-center class makes element positioned vertically center in relation to the parent.

Example

H2 inside 200px container.

<div class="bg-light h-200">
    <h2 class="text-center mb-0 v-center">H2 inside 200px container.</h2>
</div>

More useful helper classes are listed on Bootstrap's 4 website!

Configuration

The template includes some configurable elements - here you will find informations how to use them!

Google Map

To configure Google Map it is necessary to set latitude and longitude parameters by data-latitude and data-longitude attributes of #google-map element. To get it please visit site like this.

Example
<div id="google-map" class="h-400" data-latitude="40.758895" data-longitude="-73.985131" data-style="dream"></div>

Map supports few color themes - to set it please use data-style attribute.

Available Themes
  • wy
  • apple
  • dark

Booking Form

To configure booing form please open booking-form.php file from /assets/php directory and go the line with an e-mail address to change it to your own - like this.

$emailTo = 'your@email.com';

After that you will recieve the messages from your websites to this e-mail address.

SentMail function must be enabled on your hositng. Otherway I recommend use and configure plugin like "PHPMailer".

SignUp Form

SignUp form is made with Mailchimp API.

How to create the form?

To create Sign Up form you have to have an account on Mailchimp site.
  1. Log into the Mailchimp site.
  2. Create subscribers list.
  3. Get into the list and go to "Signup forms" tab.
  4. Pick "Embedded forms".
  5. Pick "Classic version" and copy / paste somewhere generated code (don't change anything).
  6. Find form selector and copy action atribute valuse into your form. Remember to add method="POST" attribute.
  7. Modify action URI by changing .../post?... to .../post-json?.... It should look like this action="//suelo.us12.list-manage.com/subscribe/post-json?u=ed47dbfe167d906f2bc46a01b&id=24ac8a22ad"
  8. Find email input and copy type, name and id to your input - it should look like this: <input type="email" value="" name="EMAIL" class="form-control input-lg" id="mce-EMAIL">
  9. Find input which prevents bot signups and paste it somewhere in the form - it should be hidden!
  10. Add submit button and enjoy your working Sign Up form!

Local Scroll

If you want to use local scroll somewhere in the content please add data-local-scroll attribute in the parent selector of a link to local selector.

Aniamtions

The template allows to add really cool animations for each of html elements. Let's check how to use it!

Entrance animation

This animation fires when element appears in the browser viewport. To add such animation you need to place .animated class in the animted element and preciese which animation do you want to use by data-animationattribute. It is also possible to add some delay to the animation (in ms) by data-animation-delay attribute.

Example

Developer Tools

The template was made with NPM package manager and Grunt.js task manager.

NPM

The template includes two package.json files:

package.json

This file includes necessary grunt tasks to make developemnt process nice and easy. Run npm install task to install them.

assets/plusings/package.json

This file includes all plugins used in this theme. To install those plugins you need to run npm install as previously but after that you have to run grunt copy and grunt removetasks to move them into right directory

.

Grunt.js

The package includes some grunt tasks to make development process easier:

  • grunt - runs grunt sass tasks after each .scss file change
  • grunt sass - compiles all .scss files
  • grunt validation - makes HTML5 validation of each .html file

Files & Credits

CSS Files

The template uses couple of CSS files:

<!-- CSS Plugins -->
<link rel="stylesheet" href="assets/plugins/bootstrap/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="assets/plugins/slick-carousel/slick/slick.css" />
<link rel="stylesheet" href="assets/plugins/animate.css/animate.min.css" />
<link rel="stylesheet" href="assets/plugins/animsition/dist/css/animsition.min.css" />

<!-- CSS Icons -->
<link rel="stylesheet" href="assets/css/themify-icons.css" />
<link rel="stylesheet" href="assets/plugins/font-awesome/css/font-awesome.min.css" />

<!-- CSS Theme -->
<link id="theme" rel="stylesheet" href="assets/css/themes/theme-[color].min.css" />

CSS Theme has - was divided into some important sections:

1. Setup
2. Basic
3. Header 
-- 4.1 Header Mobile
-- 4.2 Navigation Desktop
4. Content 
-- 4.1 Blog
-- 4.2 Features
-- 4.3 Menu
-- 4.4 Other
-- 4.5 Page Title
-- 4.6 Sections
5. Footer
6. Elements 
-- 6.1 Alerts
-- 6.2 Backgrounds
-- 6.3 Badges
-- 6.4 Buttons
-- 6.5 Carousel
-- 6.6 Forms 
-- 6.7 Icons
-- 6.8 Loader
-- 6.9 Modals
-- 6.10 Navigations
-- 6.11 Notification Bar
-- 6.12 Other
-- 6.13 Pagination
-- 6.14 Testimonials
-- 6.15 Typography
7. Widgets 
8. Animations 

CSS Theme is also available in couple of diffrent color versions:

theme-beige.css
theme-blue.css
theme-green.css
theme-mint.css
theme-orange.css
theme-red.css
theme-teal.css

Documentation uses one addiotional prettify.css stylesheet for code highlighter.

SASS Files

CSS files are generated thanks to well organized SCSS files.

├── _animations.scss
├── _base.scss
├── _basics.scss
├── _config.scss
├── _content
│   ├── _blog.scss
│   ├── _features.scss
│   ├── _menu.scss
│   ├── _other.scss
│   ├── _page-title.scss
│   └── _sections.scss
├── _content.scss
├── _elements
│   ├── _alerts.scss
│   ├── _backgrounds.scss
│   ├── _badges.scss
│   ├── _buttons.scss
│   ├── _carousel.scss
│   ├── _forms.scss
│   ├── _icons.scss
│   ├── _loader.scss
│   ├── _modals.scss
│   ├── _navs.scss
│   ├── _notification-bar.scss
│   ├── _other.scss
│   ├── _pagination.scss
│   ├── _panel-cart.scss
│   └── _typography.scss
├── _elements.scss
├── _footer.scss
├── _header
│   ├── _header-mobile.scss
│   └── _navigation-desktop.scss
├── _header.scss
├── _setup.scss
├── _widgets.scss
├── package.json
├── theme-beige.scss
├── theme-blue.scss
├── theme-green.scss
├── theme-mint.scss
├── theme-orange.scss
├── theme-red.scss
└── theme-teal.scss
  • theme-[color-scheme].scss is a main SCSS file where main colors have been set.
  • _base.css file is a base for each theme which imports other partials.
  • _config.css file with SASS variables which configure colors, fonts and more.
Go to Developer Tools to check how to compile SASS in the easiest way.

JavaScript Files

On the end of the body of each html file there are placed 4 JavaScrpt files:

  • plugins-bundle.js - compressed file with all necessary plugins sources (more at credicts)
  • core.js - main JavaScript file
  • https://maps.googleapis.com/maps/api/js Google Map API

Instead of plugins-bundle.js it is also possible to use full plugins list:

<script src="assets/plugins/jquery/dist/jquery.min.js"></script>
<script src="assets/plugins/tether/dist/js/tether.min.js"></script>
<script src="assets/plugins/bootstrap/dist/js/bootstrap.min.js"></script>
<script src="assets/plugins/slick-carousel/slick/slick.min.js"></script>
<script src="assets/plugins/jquery.appear/jquery.appear.js"></script>
<script src="assets/plugins/jquery.scrollto/jquery.scrollTo.min.js"></script>
<script src="assets/plugins/jquery.localscroll/jquery.localScroll.min.js"></script>
<script src="assets/plugins/jquery-validation/dist/jquery.validate.min.js"></script>
<script src="assets/plugins/jquery.mb.ytplayer/dist/jquery.mb.YTPlayer.min.js"></script>
<script src="assets/plugins/twitter-fetcher/js/twitterFetcher_min.js"></script>
<script src="assets/plugins/skrollr/dist/skrollr.min.js"></script>
<script src="assets/plugins/animsition/dist/js/animsition.min.js"></script>

Elements page uses one addiotional assets/js/prettify.js plugin for code highlighter.

PHP Files

The template includes few PHP scripts:

  • /php/booking-form.php - configuration file for contact form

Credits

Fonts:

  1. Oswald - https://fonts.google.com/specimen/Oswald
  2. Raleway - https://fonts.google.com/specimen/Raleway

Icons:

  1. Themify Icons - http://themify.me/themify-icons
  2. Font Awesome - fontawesome.io/

Libraries:

  1. jQuery - http://jquery.com/
  2. Bootstrap 4 - http://v4-alpha.getbootstrap.com/

Plugins:

  1. Tether - http://tether.io/
  2. Moment - http://momentjs.com/
  3. Appear - http://morr.github.io/appear.html
  4. LocalScroll - http://flesler.blogspot.com/2007/10/jquerylocalscroll-10.html
  5. ScrollTo - https://github.com/flesler/jquery.scrollTo
  6. Validate - https://jqueryvalidation.org/
  7. Twitter Post Fetcher - https://github.com/jasonmayes/Twitter-Post-Fetcher
  8. Slick - http://kenwheeler.github.io/slick/
  9. jquery.mb.YTPlayer - http://pupunzi.open-lab.com/mb-jquery-components/jquery-mb-ytplayer/
  10. Prettify - https://github.com/google/code-prettify
  11. Skrollr - https://github.com/Prinzhorn/skrollr
  12. Animsition - http://git.blivesta.com/animsition/
All plugins my be installed by npm install; grunt copy; grunt remove tasks in /assets/plugins/.

Images:

Some images used in the template was free and have been included in a package. Rest of them was blurred becouse of licensing reasons.

Included images:

Changelog

What has changed since first version?

Updates are cooming soon!