Logo v4.3.1
Getting Started Introduction
Getting Started Gulp
Getting Started Customization
Getting Started Credits
Getting Started Changelog
Design & Graphics Bootstrap Icons
Design & Graphics Duotone Icons
Design & Graphics Illustrations
Components Accordion
Components Alerts
Components Avatars
Components Badge
Components Breadcrumb
Components Buttons
Components Cards
Components Collapse
Components Column divider
Components Devices
Components Divider
Components Dropdowns
Components Icons
Components List Group
Components Lists
Components Legend Indicator
Components Modal
Components Offcanvas
Components Page Header
Components Pagination
Components Popovers
Components Progress
Components Profile
Components Shapes
Components Spinners
Components Steps
Components Tab
Components Tables
Components Text Highlight
Components Toasts
Components Tooltips
Components Typography
Navbars Navbar
Navbars Navs
Navbars Mega Menu
Navbars Scrollspy
Basic forms Basic forms
Basic forms Checks and switches
Basic forms Input group
Utilities Backgrounds
Utilities Borders
Utilities Colors
Utilities Links
Utilities Position
Utilities Rotations
Utilities Shadows
Utilities Sizing
Utilities Spacing
Utilities Z-index
Advanced forms Advanced select
Advanced forms File attachments
Advanced forms Drag’ n’ drop file uploads
Advanced forms WYSIWYG Editor
Advanced forms Quantity counter
Advanced forms Input mask
Advanced forms Step forms (Wizards)
Advanced forms Wizards
Advanced forms Range slider (noUiSlider)
Advanced forms Add field
Advanced forms Toggle password
Advanced forms Count characters
Advanced forms Toggle switch
Advanced forms Toggle state
Advanced forms Switch
Media Fullscreen Lightbox
Media Video Background
Media Video Player
Media Swiper
Others Maps (Leaflet)
Others Chart.js
Others Circles.js (Pie Chart).js
Others Sticky block
Others Countdown
Others Sorting (Shuffle.js)
Others Go To
Others Show Animation
Others Typed.js
Image Description

No Results

  • Get Support
  • Preview Demo
Logo v4.3.1
  • Docs
  • Snippets
  • Documentation
  • Introduction
  • Getting started
  • Getting Started
  • Gulp
  • Customization
  • Credits
  • Changelog
  • Design & Graphics
  • Bootstrap Icons
  • Duotone Icons
  • Illustrations
  • Components
  • Accordion
  • Alerts
  • Avatars
  • Badge
  • Breadcrumb
  • Buttons
  • Cards
  • Collapse
  • Column Divider
  • Devices
  • Divider
  • Dropdowns
  • Icons
  • List Group
  • Lists
  • Legend Indicator
  • Modal
  • Offcanvas
  • Page Header
  • Pagination
  • Popovers
  • Progress
  • Profile
  • Shapes
  • Spinners
  • Steps
  • Tab
  • Tables
  • Text Highlight
  • Toasts
  • Tooltips
  • Typography
  • Navbars
  • Navbar
  • Navs
  • Mega Menu
  • Scrollspy
  • Basic forms
  • Basic Forms
  • Checks & Switches
  • Input Group
  • Advanced Forms
  • Advanced Select
  • File Attachments
  • Drag’ n’ Drop File Uploads
  • WYSIWYG Editor
  • Quantity Counter
  • Input Mask
  • Step Forms (Wizards)
  • Range Slider (noUiSlider)
  • Add Field
  • Toggle Password
  • Count Characters
  • Toggle Switch
  • Toggle State
  • Switch
  • Media
  • Fullscreen Lightbox
  • Video Background
  • Video Player
  • Swiper
  • Others
  • Maps (Leaflet)
  • Chart.js
  • Circles.js (Pie Chart)
  • Sticky Block
  • Countdown
  • Sorting (Shuffle.js)
  • Go To
  • Show Animation
  • Typed.js
  • Utilities
  • Backgrounds
  • Borders
  • Colors
  • Links
  • Position
  • Rotations
  • Shadows
  • Sizing
  • Spacing
  • Z-index

Getting Started

Front - Multipurpose Template + UI KIT for building responsive, mobile-first sites, with Bootstrap Framework.

Image Description

Front is a Static HTML Template

For the time being, we do NOT offer any tutorials or any other materials on how to integrate Front with any CMS, Web Application Frameworks (including Angular, Vue, React, etc.) or any other similar technology. However, since Front is a static HTML/CSS and JS template, then it should be compatible with any backend technology and frameworks.
We highly recommend to check out The Guide an official Bootstrap Theme guidelines by Bootstrap core team.

File Structure

Front
  • src
    • assets
      • css - Compiled CSS files
      • img - Image files
      • json - JSON files
      • js - Core Javascript and library wrapper files
      • scss - SASS (SCSS) source files
      • svg - SVG files
      • svg-src - SVG source files where variables can be passed (files will be generated into svg folder)
      • vendor - Third pary libraries (plugins)
    • partials - HTML partials, learn more details on Front's Gulp Documentation page
    • snippets - Snippet pages
    • documentation - Documentation pages
    • favicon.ico
    • index.html
    • ...
  • dist - Generated distribution files
  • gulpfiles - Gulp Toolkit files
  • build - Generated performance ready fully production files (by default the folder is not included)
  • node_modules - NPM dependencies (by default the folder is not included)
  • config.js
  • gulpfile.js
  • package-lock.json
  • package.json
  • README.md

Starter template

Starter template is a snippet code for blank HTML page. Use the below snippet as a way to quickly start any new blank page. If you are using Front's Gulp Toolkit, you may use HTML (Gulp) snippet code (read more about it on Gulp page).

  • HTML
  • HTML (Gulp)
<!DOCTYPE html>
<html lang="en">
  <head>
    <!-- Required Meta Tags Always Come First -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Title -->
    <title>Hello, world!</title>

    <!-- Favicon -->
    <link rel="shortcut icon" href="./favicon.ico">

    <!-- Font -->
    <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap" rel="stylesheet">

    <!-- CSS Front Template -->
    <link rel="stylesheet" href="./assets/css/theme.min.css">
  </head>

  <body>
    <h1>Hello, world!</h1>

    <!-- JS Global Compulsory -->
    <script src="./assets/vendor/bootstrap/dist/js/bootstrap.bundle.min.js"></script>

    <!-- JS Front -->
  </body>
</html>
Copy
<!DOCTYPE html>
<html lang="en">
  <head>
    <!-- Required Meta Tags Always Come First -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Title -->
    <title>Hello, world!</title>

    <!-- Favicon -->
    <link rel="shortcut icon" href="@@autopath/favicon.ico">

    <!-- Font -->
    <link href="@@vars.themeFont" rel="stylesheet">

    <!-- CSS Front Template -->
    <!-- bundlecss:theme [@@autopath] -->
    <link rel="stylesheet" href="@@autopath/assets/css/theme.css">
  </head>

  <body>
    <h1>Hello, world!</h1>

    <!-- JS Global Compulsory  -->
    <script src="@@autopath/assets/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>

    <!-- JS Implementing Plugins -->
    <!-- bundlejs:vendor [@@autopath] -->

    <!-- JS Front -->
    <!-- bundlejs:theme [@@autopath] -->
    <script src="@@autopath/assets/js/hs.core.js"></script>
  </body>
</html>
Copy

JavaScript structure

Core JavaScript

The foundation of the JavaScript structure in Front is based on one main object which does not change the root when the new functionalities are added, but instead, it only extends without affecting the behavior of the core object. The name of the object is HSCore and the content of this object looks like this:

/*
* HSCore
* @version: 2.0.0 (01 Apr 2021)
* @author: HtmlStream
* @event-namespace: .HSCore
* @license: Htmlstream Libraries (https://htmlstream.com/licenses)
* Copyright 2021 Htmlstream
*/
'use strict';

const HSCore = {
  init: () => {
    // Botostrap Tootltips
    var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
    var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
      return new bootstrap.Tooltip(tooltipTriggerEl)
    })

    // Bootstrap Popovers
    var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'))
    var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {
      return new bootstrap.Popover(popoverTriggerEl)
    })
  }
}

HSCore.init()
Copy

Essentials of HS data-attributes

data-hs-*-options - Using the date-attribute, you can completely specify the settings for all plug-in parameters (except for functions) that are in the official documentation. Special cases will be described in the documentation of the corresponding wrappers/plugins. *- name of the wrapper/plugin.

Parameter names must be enclosed in double quotation marks "". "param": ...

For strings, quotation marks are required. "stringParam": "Test string", "hexParam": "#ff0000"

For numbers, quotation marks are optional. "intParam": 10

For boolean values, quotation marks can lead to not obvious consequences (due to implicit type conversion). It is recommended that you specify Boolean values without quotation marks. "boolParam": true

For arrays and objects - quotation marks can lead to errors, this does not apply to elements of arrays and objects, which can be simple types (see the description for simple types above).

"arrayParam": [1, "Test string", "#ff0000", false, 5],
"objectParam": {
  "intParam": 1,
  "stringParam": "Test string",
  "hexParam": "#ff0000",
  "boolParam": false,
  "intParam2": 5
}
Copy

Advantages

  • Avoiding the probabilities of conflicts between Space codes and third party plugins (libraries).
  • Intuitive clear architecture.
  • Everything is structured, each component in its own file and in its component in the main object.
  • The ability of extending functionality without affecting the behavior of the core object and not changing the existing functionality.
  • Creation of wrapper components simply solves complicated initializations structures for the users.
  • Very easy access to any starters components and core settings from anywhere in the template.