Tunis - Tailwind CSS Personal Portfolio HTML Template

Documentation version 1.0


Introduction


First of all, Thank you so much for purchasing this template and for being my loyal customer. You are awesome!
You are entitled to get free lifetime updates to this product + exceptional support from the author directly.

This documentation is to help you regarding each step of customization. Please go through the documentation carefully to understand how this template is made and how to edit this properly. Basic HTML and CSS knowledge is required to customize this template. You may learn basics here, here and here.

Requirements

You will need the following sofwares to customize this template.

  1. Code Editing Software (eg: Dreamweaver, Sublime Text or Notepad)
  2. Web Browser for testing (eg: Google Chrome or Mozilla Firefox)
  3. FTP Tool to upload files to Server (eg: FileZilla)

Tunis is a creative Tailwind CSS personal portfolio template. You can use it for your personal resume, CV or your portfolio.
Tunis is written in valid and clean HTML & CSS3 code. It’s easy to customize with its generated Tailwind CSS classes and also well documented so it’ll suit your needs.

Features

  • Responsive Layout
  • 10 Color Skins
  • Tailwind v3.3.3
  • Light/Dark
  • Smooth transitions
  • 8 Directions of Transition
  • Live Style Switcher
  • Clean Code
  • W3C Validated
  • HTML5 & CSS3
  • Cross Browser Compatible
  • 100% Customizable
  • Creative Preloader
  • Creative Portfolio
  • Project Image Format
  • Project Youtube Format
  • Project Local Video Format
  • Font Awesome Icons
  • Well-commented code
  • Google Fonts
  • Working Ajax Contact Form
  • Blog Pages

Getting Started #back to top

The template is based on Bootstrap 4 https://getbootstrap.com/
Bootstrap includes a responsive, mobile first fluid grid system that appropriately scales up to 12 columns as the device or viewport size increases.

General Structure

									
                                    
                                            
                                            
....
....
....
....
....
....
....

Customization #back to top


Color Skin

This template comes with 10 files for predefined color skins, all are located under css/skins
In the example below, you need only to change the yellow.css file with your new color.

                            
                            
                            
                            
                            
                            
                            
                            
                            
                        

Transition Direction

8 different transitions were implemented in this template.
In order to change the direction of the transition you have to add one of the following classes to 'body'

  • animation-top
  • animation-right
  • animation-bottom
  • animation-left
  • animation-cornertopleft
  • animation-cornertopright
  • animation-cornerbottomleft
  • animation-cornerbottomright

PS : 'animation-top' is the default one

                           
25%
html

Skills Values

In order to change the values of the skills in ABOUT ME page, take a look at the following example : you only need to change the class p25 in the second line with p and the value of your skills, p80 for example.
Don't forget to change the text in the below span !

                           
25%
html

Portfolio #back to top

Image Format

                            
                            Portolio Image
                            
                        

Youtube Format

                            
                            

Local Video Format

                            
                            
                            
                        

Contact #back to top

In order to receive emails in your inbox, open assets/php/process-form.php and go to Line 10 : and replace youremail@mail.com with your email, that's it !

Javascript Initilization #back to top

All scripts are initialized in custom.js file that is located under js directory

								(function($) {

	"use strict";

	/* ----------------------------------------------------------- */
	/*  FUNCTION TO STOP LOCAL AND YOUTUBE VIDEOS IN SLIDESHOW
    /* ----------------------------------------------------------- */

	function stop_videos() {
		var video = document.getElementById("video");
		if (video.paused !== true && video.ended !== true) {
			video.pause();
		}
		$('.youtube-video')[0].contentWindow.postMessage('{"event":"command","func":"' + 'pauseVideo' + '","args":""}', '*');
	}

	$(window).on("load", function() {

		/* ----------------------------------------------------------- */
		/*  PAGE PRELOADER
        /* ----------------------------------------------------------- */
		
		var preloader = $('#preloader');
		setTimeout(function() {
			preloader.addClass('preloaded');
		}, 800);

	});

	$(document).ready(function() {

		/* ----------------------------------------------------------- */
		/*  STOP VIDEOS
        /* ----------------------------------------------------------- */

		$('.slideshow nav span').on('click', function () {
			stop_videos();
		});

		/* ----------------------------------------------------------- */
		/*  MOBILE MENU
		/* ----------------------------------------------------------- */

		$('#mobile-nav li').on('click', function () {
			$('#mobile-nav li').removeClass('active');
			$(this).addClass('active');
			$('#desktop-nav li').removeClass('active');
			var index = $(this).index() + 1;
			$('#desktop-nav li:nth-child(' + index + ')').addClass('active');
		});

		/* ----------------------------------------------------------- */
		/*  DESKTPOP MENU
        /* ----------------------------------------------------------- */

		$('#desktop-nav li').on('click', function () {
			$('#desktop-nav li').removeClass('active');
			$(this).addClass('active');
			$('#mobile-nav li').removeClass('active');
			var index = $(this).index() + 1;
			$('#mobile-nav li:nth-child(' + index + ')').addClass('active');
		});

		/* ----------------------------------------------------------- */
		/*  PORTFOLIO GALLERY
        /* ----------------------------------------------------------- */

		if ($('.gridlist').length) {
			new CBPGridGallery( document.getElementById( 'grid-gallery' ) );
		}

		/* ----------------------------------------------------------- */
		/*  HIDE HEADER WHEN PORTFOLIO SLIDESHOW OPENED
        /* ----------------------------------------------------------- */

		$(".gridlist figure").on('click', function() {
			$("#navbar-collapse-toggle").addClass('hide-header');
			if ($(window).width() < 992) {
				$('#menuToggle').addClass('hideMenuToggle');
			}
		});

		/* ----------------------------------------------------------- */
		/*  SHOW HEADER WHEN PORTFOLIO SLIDESHOW CLOSED
        /* ----------------------------------------------------------- */

		$(".nav-close").on('click', function() {
			$("#navbar-collapse-toggle").removeClass('hide-header');
			$('#menuToggle').removeClass('hideMenuToggle');
		});
		$(".nav-prev").on('click', function() {
			if ($('.slideshow ul li:first-child').hasClass('current')) {
				$("#navbar-collapse-toggle").removeClass('hide-header');
				$('#menuToggle').removeClass('hideMenuToggle');
			}
		});
		$(".nav-next").on('click', function() {
			if ($('.slideshow ul li:last-child').hasClass('current')) {
				$("#navbar-collapse-toggle").removeClass('hide-header');
				$('#menuToggle').removeClass('hideMenuToggle');
			}
		});

		/* ----------------------------------------------------------- */
		/*  PORTFOLIO DIRECTION AWARE HOVER EFFECT
        /* ----------------------------------------------------------- */

		var item = $(".gridlist li figure");
		var elementsLength = item.length;
		for (var i = 0; i < elementsLength; i++) {
			if ($(window).width() > 991) {
				$(item[i]).hoverdir();
			}
		}

		/* ----------------------------------------------------------- */
		/*  AJAX CONTACT FORM
        /* ----------------------------------------------------------- */

		$("#contactform").on("submit", function() {
			$("#message").text("Sending...");
			var form = $(this);
			$.ajax({
				url: form.attr("action"),
				method: form.attr("method"),
				data: form.serialize(),
				success: function(result) {
					if (result === "success") {
						$("#contactform").find(".output_message").addClass("success");
						$("#message").text("Message Sent!");
					} else {
						$("#contactform").find(".output_message").addClass("error");
						$("#message").text("Error Sending!");
					}
				}
			});
			return false;
		});

	});

	$(document).keyup(function(e) {

		/* ----------------------------------------------------------- */
		/*  KEYBOARD NAVIGATION IN PORTFOLIO SLIDESHOW
        /* ----------------------------------------------------------- */
		if (e.keyCode === 27) {
			stop_videos();
			$('.close-content').click();
			$("#navbar-collapse-toggle").removeClass('hide-header');
		}
		if ((e.keyCode === 37) || (e.keyCode === 39)) {
			stop_videos();
		}
	});


})(jQuery);


                        

Sources and Credits #back to top

Javascript Files

CSS Files

Images

Videos

Google Fonts




Thank you for stop and buy. I'd be glad to help you if you have any questions relating to this template. I will try to do my best to assist.