Braxton - Personal Portfolio and Resume HTML Template Documentation

Purchase Now Live Preview

Braxton - Personal Portfolio and Resume HTML Template Documentation

by: mix_design
version: 1.0.0
created: 12.03.2024
last update: 12.03.2024

01

Introduction

Thank you for choosing Braxton - personal portfolio and resume HTML template. We have prepared detailed documentation to make Braxton customization an easy task for you. If you have any questions that are beyond the scope of this help file, you can email us on support@mixdesign.club.

We would be very happy if you could rate this item here with 5 stars. Your feedback is very important so write us a line 😀!

02

Installation

Follow the steps below to setup your site template:

  1. In order to start working with Braxton unzip the downloaded package and open HTML folder to find all ready-to-use template files. Choose one of the demo *.html files (any ready-to-use demo you like) and rename it to index.html.

  2. Next you'll need to prepare a project for customization. Below is a list of files and folders that are required in the root directory of your project:

    • index.html - your chosen *.html file (renamed already);
    • css folder - stylesheet files;
    • js folder - JavaScript files;
    • fonts folder - icon fonts files;
    • img folder for project images and favicon;
    • mail.php file for sending e-mails;
    • .htaccess - this file contain rules for files caching on web server;
  3. The other files can be used according to your preferences.

  4. Your project is ready to go! Now you can start adding your texts, images and video to your new awesome website.

  5. After the customization is over, you'll need to upload the project files to your hosting web server using FTP client or cPanel interface in order to use it on your website.

03

Files Structure

After downloading and extracting template package you will find 3 folders:

  • HTML: ready to use HTML template;
  • BraxtonGULP: if you want to totally customize Braxton, you can use this template;
  • Documentation: this help file.

This section describes HTML folder structure. More about BraxtonGULP folder structure you can find out in BraxtonGULP section.

Braxton is one page HTML template. So, mostly you will need one *.html file and supporting *.css, *.js, *.php files with some images. All the directories and files are well organized as it shown on the image bellow.

Files Structure Image
  • all HTML files are located in the root directory;
  • separate folders are created for CSS files, JavaScript files, fonts, images and video;
  • source-files folder contains all expanded CSS files, expanded JavaScript files, plugins and components files;
  • mail.php file for sending e-mails is located in the root directory;
  • .htaccess file is located in the root directory. This file contain rules for files caching on web server.

Demo Pages

Braxton is one page HTML template and comes with dark and light color themes and 4 ready-to-use demo pages:

HTML structure

Braxton has a simple and easy to customize structure based on Bootstrap 5.3.2 Grid. Here is a sample page structure:

    
      <!DOCTYPE html>
      <html lang="en" dir="ltr">

        <head>
          Meta tags, Title, Favicon and Icons, Facebook Metadata, CSS, Custom Browser Color
        </head>

        <body>

          <!-- Loader Start -->
          <div id="loader" class="loader">
            ...
          </div>
          <!-- Loader End -->

          <!-- Header Start -->
          <header id="header" class="header d-flex justify-content-between">
            ...
          </header>
          <!-- Header End -->

          <!-- Avatar Side Block Start -->
          <div id="avatar" class="avatar">
            ...
          </div>
          <!-- Avatar Side Block End -->

          <!-- Page Content Start -->
          <div id="content" class="content">
            <div class="content__wrapper">

              <!-- Intro Section Start -->
              <section id="home" class="main intro">
                ...
              </section>
              <!-- Intro Section End -->

              <!-- Portfolio Section Start -->
              <section id="portfolio" class="inner inner-first portfolio">
                ...
              </section>
              <!-- Portfolio Section End -->

              <!-- About Section Start -->
              <section id="about" class="inner about">
                ...
              </section>
              <!-- About Section End -->

              <!-- Resume Section Start -->
              <section id="resume" class="inner resume">
                ...
              </section>
              <!-- Resume Section End -->

              <!-- Contact Section Start -->
              <section id="contact" class="inner contact">
                ...
              </section>
              <!-- Contact Section End -->

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

          <!-- Root element of PhotoSwipe. Must have class pswp. -->
          <div class="pswp" tabindex="-1" role="dialog" aria-hidden="true">
            ...
          </div>

          <!-- Load Scripts Start -->
          <script src="js/libs.min.js"></script>
          <script src="js/app.js"></script>
          <script src="js/gallery-init.js"></script>
          <!-- Load Scripts End -->
          
        </body>

      </html>
    
  

CSS Files

Braxton template CSS files have a well-organized structure and a table of contents, as you can see on image below:

CSS Structure Image

All CSS files are placed in css folder and have to be included in the <head> tag. Braxton uses uncompressed CSS files. If you want to improve Google PageSpeed Insights performance, you can use minificated files from source-files → braxton-css-min-files.

    
      <!-- Template Styles Start-->
      <link rel="stylesheet" type="text/css" href="css/loaders/loader.css">
      <link rel="stylesheet" type="text/css" href="css/plugins.css">
      <link rel="stylesheet" type="text/css" href="css/main.css">
      <!-- Template Styles End-->
    
  

CSS files that have to be included in chosen .html file:

  • loader.css
  • plugins.css
  • main.css

If you want to customize CSS styles, We recommend to create your own custom.css file and include it to Template Styles section of the HTML file. This solution will help you in future updates.

JavaScript Libraries

All JavaScript files are placed in js folder and have to be included before the </body> tag.

  • libs.min.js - all JavaScript libraries that are necessary for Braxton proper work, are compiled in this file;
  • gallery-init.js - for photoswipe gallery initialization;
  • app.js - includes other scripts calls and settings;
    
      <!-- Load Scripts Start-->
      <script src="js/libs.min.js"></script>
      <script src="js/gallery-init.js"></script>
      <script src="js/app.js"></script>
      <!-- Load Scripts End-->
    
  

We used minificated libs.min.js file to add all necessary JavaScript libraries to this template. The file contains:

All this uncompressed files you can find in the source-files folder.

04

Fonts

In the Braxton template we used Syne Font, Fontawesome Iconic Font and Phosphor Iconic Font.

Google Fonts

Braxton uses

  • Syne font for titles, controls, basic text content and additional text.

The font is embedded in the main.css file:

@import url("https://fonts.googleapis.com/css2?family=Syne:wght@400..800&display=swap");

You can customize this font or embed another fonts for your project with Google Fonts. In this case, you'll also need to change the fonts in the css files per your fonts used.

Phosphor Icons

Braxton uses Phosphor iconic font. You can use phosphoricons.com page to easily find the icon you want to use. All icons are already compiled in the plugins.css file and ready for use.

To insert icon in your project, just choose Web tab and copy the code: <i class="ph ph-heart"></i>, <i class="ph ph-arrow-up"></i>, <i class="ph ph-instagram-logo"></i>.

<li>
    <a href="https://www.instagram.com/" target="_blank">
        <i class="ph ph-instagram-logo"></i>
    </a>
</li>

More information about Phosphor icons you can find on official documentation website - Phosphor Docs.

Fontawesome free

Braxton uses free version of FontAwesome 6.5.1 iconic font. You can use fontawesome.com/icons page to easily find the icon you want to use. Solid, regular and brands icons are already compiled in the plugins.css file and ready for use.

To change icons, just change the class names: fa-solid fa-heart, fa-brands fa-instagram, fa-regular fa-address-book.

<li>
    <a href="https://www.facebook.com/" target="_blank">
        <i class="fa-brands fa-facebook"></i>
    </a>
</li>

More information about FontAwesome you can find on official documentation website - FontAwesome Docs.

05

Favicon and Apple touch icons

Braxton covers almost all platforms design requirements for favicon and icons:

Classic favicon:

      
        <link rel="icon" href="img/favicon/favicon.ico" sizes="any">
      
    

Android Web App Manifest & Apple Touch Icon:

      
        <link rel="apple-touch-icon" href="img/favicon/apple-touch-icon.png">
        <link rel="manifest" href="img/favicon/manifest.webmanifest">
      
    

Universal SVG Icon for All Sizes ang Dark & Light Browser Color Themes:

      
        <link rel="icon" href="img/favicon/icon.svg" type="image/svg+xml">
      
    

Facebook Metadata:

      
        <!-- Facebook Metadata Start -->
        <meta property="og:image:height" content="1200">
        <meta property="og:image:width" content="1200">
        <meta property="og:title" content="Braxton - Personal Portfolio & Resume HTML Template">
        <meta property="og:description" content="Show yourself brightly with Braxton - unique and creative portfolio and resume template!">
        <meta property="og:url" content="http://mixdesign.club/themeforest/braxton/">
        <meta property="og:image" content="http://mixdesign.club/themeforest/braxton/img/og-image.jpg">
        <!-- Facebook Metadata End -->
      
    

You can use Braxton favicon as an example or generate new one with Favicon Generator or any other favicon generator by your needs.

06

Customization

Braxton template comes with easy-to-customize page elements. You can choose from 4 ready-to-use demo files, 2 color themes, various backgrounds and much more.

Preloader

Loader will hide contents of your site until it's fully loaded. If you want to customize or remove loader, find this code in *.html file:

<!-- Loader Start -->
<div id="loader" class="loader">
  <div id="loaderContent" class="loader__content">
    <div class="loader__shadow"></div>
    <div class="loader__box"></div>
  </div>
</div>
<!-- Loader End -->

Loader styles are included in the <head> tag:

<!-- Template Styles Start-->
<link rel="stylesheet" type="text/css" href="css/loaders/loader.css">
...
<!-- Template Styles End-->

Colors

Braxton template provides 2 color themes and 4 ready-to-use demo pages. The template automatically detects the device's color theme and applies the same one - dark or light. You can change the color theme by clicking color theme switcher.

It's easy to change the dark and light color themes by changing default variables in the main.css file:

:root {
  ...
  /* light color scheme */
  --base--light: #e6ebf4;
  ...
  /* dark color scheme */
  --base--dark: #111111;
  ...
  /* permanent colors */
  --per-base: #111111;
  ...
}
  1. Dark Color SkinColor Skin Image
  2. Light Color SkinColor Skin Image

Feel free to experiment!

Images

All images used in the Braxton template live demo are just for preview purpose only and they are not included in main download files. You easily can find all images on freepik.com or pexels.com. We are using placeholders from dummyimage.com instead of real images. You can easily replace placeholder URL with a path to your image like img/yourimage.jpg.

All tmplate background images you can replace in the main.css file:

/* ------------------------------------------------*/
/* Template Backgrounds Start */
/* ------------------------------------------------*/
.image-background {
  background-image: url("https://dummyimage.com/2560x1440/4d4d4d/636363");
}
...
/* ------------------------------------------------*/
/* Template Backgrounds End */
/* ------------------------------------------------*/

Headline

Braxton template comes with functional layout with various animated backgrounds. Backgrouds settings you can find in the Animated Backgrounds sections of this file.

Layout Image

Replace this headline demo text with your own:

<!-- Headline Start -->
   <div id="headline" class="headline d-flex align-items-start flex-column" data-speed="1">
     <p class="headline__subtitle animate-headline">
       <svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="13px" height="13px" viewBox="0 0 13 13" fill="currentColor">
         <path fill="currentColor" d="M5.6,12.6c-0.5-0.8-0.7-2.4-1.7-3.5c-1-1-2.7-1.2-3.5-1.7C-0.1,7-0.1,6,0.4,5.6c0.8-0.5,2.3-0.6,3.5-1.8
           C5,2.8,5.1,1.2,5.6,0.4C6-0.1,7-0.1,7.4,0.4c0.5,0.8,0.7,2.4,1.8,3.5c1.2,1.2,2.6,1.2,3.5,1.7c0.6,0.4,0.6,1.4,0,1.7
           C11.8,7.9,10.2,8,9.1,9.1c-1,1-1.2,2.7-1.7,3.5C7,13.1,6,13.1,5.6,12.6z"/>
       </svg>
       <span>Let's meet!</span>
     </p>
     <h1 class="headline__title animate-headline">I'm Alex Walker<br>Digital designer and illustrator.</h1>
     <div class="headline__btnholder d-flex flex-column flex-sm-row">
       <a class="btn mobile-vertical btn-default btn-hover btn-hover-accent-mobile animate-headline" href="#portfolio">
         <span class="btn-caption">My Works</span>
         <i class="ph-bold ph-squares-four"></i>
       </a>
       <a class="btn mobile-vertical btn-default btn-hover btn-hover-outline-mobile animate-headline" href="#0">
         <span class="btn-caption">Download CV</span>
         <i class="ph-bold ph-download-simple"></i>
       </a>
     </div>
   </div>
<!-- Headline End -->

07

Plugins

Swiper Slider

Braxton uses Swiper Slider Plugin for the testimonials slider. It's a simple slider with navigation buttons and slide effect:

Swiper Slider Image
    
      <!-- Testimonials Slider Start -->
      <div class="testimonials-slider">
        <!-- slider main container -->
        <div class="swiper-testimonials">
          <!-- additional required wrapper -->
          <div class="swiper-wrapper">
            <!-- slides -->
            <div class="swiper-slide">
              ...
            </div>
            <div class="swiper-slide">
              ...
            </div>
          </div>
          <!-- navigation buttons -->
          <div class="swiper-button-prev mxd-slider-btn-square mxd-slider-btn-square-prev animate-in-up">
            ...
          </div>
          <div class="swiper-button-next mxd-slider-btn-square mxd-slider-btn-square-next animate-in-up">
            ...
          </div>
        </div>
      </div>
      <!-- Testimonials Slider End -->
    
  

Find the Load Scripts section at the end of <body> and make sure that all the necessary js files are added in the following order:

  • libs.min.js
  • app.js
    
      <!-- Load Scripts Start -->
      <script src="js/libs.min.js"></script>
      ...
      <script src="js/app.js"></script>
      <!-- Load Scripts End -->
    
  

If you want to change this slider settings, find the app.js file in js folder and make the necessary changes to the swiper init lines:

    
      const swiper = new Swiper('.swiper-testimonials', {
        slidesPerView: 1,
        spaceBetween: 20,
        autoplay: true,
        speed: 1000,
        loop: true,
        loopFillGroupWithBlank: true,
        navigation: {
          nextEl: '.swiper-button-next',
          prevEl: '.swiper-button-prev',
        },
      });
    
  

More information about Swiper settings you can find in the official documentation - swiperjs.com/get-started

08

Animated Backgrounds

All backgrounds CSS styles are compiled in plugins.css file so you don't need to add any CSS files.

SVG Objects

Animated Background Image

This background effect is created using 2 inline SVG objects:

  • background__svg01
  • background__svg02
<div id="svgBackground" class="svg-background">
  <!-- top svg item -->
  <div class="background__svg01" data-speed="0.8">
    ...
  </div>
  <!-- bottom svg item -->
  <div class="background__svg02" data-speed="0.4">
    ...
  </div>
</div>

The loading animation for this objects is provided by simple CSS animation on loading:

<script>
  const content = document.querySelector('body');
  const imgLoad = imagesLoaded(content);
  imgLoad.on('done', instance => {
    setTimeout(() => {
      document.getElementById("svgBackground").classList.add("loaded");
    }, "1000");
  });
</script>

Parallax scroll animation is provided by GSAP and scrollTrigger. If you want to change the scroll speed for any object, just add data-speed property:

<div class="background__svg01" data-speed="0.8">
  ...
</div>
gsap.to("[data-speed]", {
  y: (i, el) => (1 - parseFloat(el.getAttribute("data-speed"))) * ScrollTrigger.maxScroll(window) ,
  ease: "none",
  scrollTrigger: {
    start: 0,
    end: "max",
    invalidateOnRefresh: true,
    scrub: 0
  }
});

Also you can change the objects color fill directly in the HTML file:

<radialGradient id="color-gradient" cx="418.5665" cy="225.9685" r="499.9326" fx="866.8251" fy="4.6162" gradientTransform="matrix(-0.6935 0.7207 -0.7207 -0.6935 953.1126 355.0528)" gradientUnits="userSpaceOnUse">
  <stop  offset="0" style="stop-color:#CEC4EF"/>
  <stop  offset="1" style="stop-color:#CEC4EF;stop-opacity:0"/>
</radialGradient>

Or replace it with any other object you like - the containers are animated separately from inline SVGs!

Parallax Image

Animated Background Image

This background effect is created using a *.webp image with transparent background:

<!-- Image Background Layer Start -->
  <div id="imageBackground" class="image-background" data-speed="0.4"></div>
<!-- Image Background Layer End -->

Replace the placeholder with your image in the main.css file. You can use *.webp or *.png images.

.image-background {
  background-image: url("../img/yourimage.webp");
}

Parallax scroll animation is provided by GSAP and scrollTrigger. If you want to change the scroll speed for any object, just add data-speed property:

<div id="imageBackground" class="image-background" data-speed="0.4"></div>
gsap.to("[data-speed]", {
  y: (i, el) => (1 - parseFloat(el.getAttribute("data-speed"))) * ScrollTrigger.maxScroll(window) ,
  ease: "none",
  scrollTrigger: {
    start: 0,
    end: "max",
    invalidateOnRefresh: true,
    scrub: 0
  }
});

Animated Gradients

Animated Background Image

This background effect is created using 3 blured objects, animated with GSAP:

<!-- Gradient Background Start -->
<div class="gradient-background">
  <div class="blur"></div>
  <div class="blur"></div>
  <div class="blur"></div>
</div>
<!-- Gradient Background End -->

You can adjust the speed and angle by changing this variables in the html file:

<!-- Load Scripts Start -->
...
<script>
  ...
  const randomDelay = random(0, 50);
  const randomTime = random(20, 40);
  const randomTime2 = random(5, 12);
  const randomAngle = random(-30, 150);
  ...
</script>
...
<!-- Load Scripts End -->

Also you can change the gradients colors in the main.css file:

:root {
  ...
  /* light color scheme */
  ...
  --gradient-one--light: #CEC4EF;
  --gradient-two--light: #f5c5cd;
  --gradient-three--light: #ac8fe3;
  /* dark color scheme */
  ...
  --gradient-one--dark: #a287d5;
  --gradient-two--dark: #E4B8BF;
  --gradient-three--dark: #8b6bc5;
  ...
}

09

Forms

Braxton template is provided with 1 working form type:

Contact Form

Braxton template has integrated ajax contact form.

Braxton Contact Form Image

It's very easy to set up this forms to receive feedback on your e-mail:

  1. First of all you need to make sure that mail.php file is added to the root directory of your project.
  2. Then find <form> tag with id="contact-form" in the *.html file.
  3. This form contains 3 hidden required inputs. Replace data in the value parameter of these hidden fields:
    <!-- Contact Form Start -->
    <form class="form contact-form" id="contact-form">
      <!-- Hidden Required Fields -->
      <input type="hidden" name="project_name" value="Braxton Template">
      <input type="hidden" name="admin_email" value="support@mixdesign.club">
      <input type="hidden" name="form_subject" value="Contact Form Message">
      <!-- END Hidden Required Fields-->
      ...
    </form>
    <!-- Contact Form End -->
  4. Check JavaScript files connection.

JavaScript files that have to be included:

  • libs.min.js
  • app.js
<!-- Load Scripts Start-->
<script src="js/libs.min.js"></script>
...
<script src="js/app.js"></script>
<!-- Load Scripts End-->

Done! Now you can receive messages on your e-mail.

10

BraxtonGULP

If you want to totally customize Braxton, you can use our all-inclusive BraxtonGULP template. BraxtonGULP includes Bootstrap 5 Grid, Gulp, Sass, Bourbon, Autoprefixer, Browsersync, Clean-CSS, CSS Beautify, Uglify, and other packages for efficient and comfortable work.

BraxtonGULP requires node, npm and git.

Getting started

Install Node Modules: npm i
Run BraxtonGULP: gulp

Project structure

  • The source code is located in the app directory;
  • SASS files are located in the sass directory;
  • The dist folder is a production folder. It contains ready project with optimized HTML, CSS, JS and images.

Gulp tasks

gulp: run default gulp task for web development;
build: build project to dist folder;
clearcache: clear all gulp cache.

If you have any questions about BraxtonGULP, you can email us on support@mixdesign.club.

11

Changelog

Version 1.0.0 12.03.2024

  • Initial release

12

Credits

CSS and JavaScript files

Icons and images