Excerpt content here..
Continue Reading →Post Title
Excerpt content here.
Continue Reading →| Template: | Agility HTML |
| Template by: | Chris Mavricos, SevenSpark |
| Website: | sevenspark.com |
| Created: | December 3, 2011 |
| Guide Last Updated: | June 11, 2013 |
Welcome to Agility! Thank you for purchasing this template, I appreciate it!
This guide should answer all your questions about how to use this template. You can browse the document using the navigation sidebar on the left, or search the entire document by using CTRL+F in your browser.
Agility is based on a high quality responsive Grid Framework called Skeleton, which makes creating responsive layouts simple. You may want to start off by checking out the Full Skeleton Documentation →
The latest version of this support guide can always be found here: Agility Support Guide.
The first thing you'll want to do (and probably already have done) is unzip the file you downloaded from ThemeForest. The .zip contains two directories:
The documentation folder contains your own copy of this help file.
The agility-html folder contains the template itself - all the HTML templates, CSS, JS, images, contact form, etc. If you were to place this folder in a public directory on a web server, you would have a "website".
There's nothing too complicated going on here -
your server works much like a file system in this case. When you access the public folder by visiting your domain name,
the appropriate file is retrieved and rendered. For example, if you visit http://yoursite.com/about.html, the file about.html
will be displayed if it exists in the public html folder (simple example).
Use a modern, high quality browser for developing and testing your site. I highly recommend Google Chrome. Firefox is also a good choice. You should avoid using Internet Explorer except for cross browser testing.
The downside to working with the site without a running webserver is that you won't be able to make use of PHP scripting, which is required for the contact form.
You don't necessarily need a server to start building your site. Just place your agility-html folder in any directory. Open it up, and open one of the files (normally it'll open up in your default browser, but if not, go to Open With > {Browser})
You'll see the site in front of you, all linked up and ready to go. Now you can just edit the HTML files to make your site look like you want (see below).
Internet Explorer may complain about running javascripts on an HTML file when not using a server (for example, the slideshow might be blocked). You can either allow these scripts, use a different browser, or install a server to avoid this issue.
Running a local server is a great way to develop your site locally. There are a variety of LAMP-emulators out there that will help you get a local server running without too much hassle. Setting them up is beyond the scope of this guide, but you can click the links below for more info:
Once you have your server set up, create a new folder (yoursite) for your site in your server's HTML directory (location to be configured during installation), and then drop the contents of agility-html in it. If everything was installed correctly, you should be able to access your site at http://localhost/yoursite
At some point you're going to want to put your site online, which generally means placing your files on a remote server (that is, the server on which you have hosting). The best way to do this is to FTP your files onto the remote server - your host will provide you with FTP details and credentials for connecting to the appropriate server.
You'll need an FTP client in order to upload your site. I recommend FileZilla (it's free!)
Once you connect to your server via FTP, using the credentials provided to you by your hosting company (e.g. GoDaddy, BlueHost, MediaTemple),
all you need to do is place your files in the root folder for your domain (usually in a directory
called public_html or www. The process varies by host, so each hosting provider has documentation on how to set a site
up in their system, which you should refer to.
To edit your HTML files, you'll want a good text editor - not a word processor like Word or OpenOffice. You can use a simple editor like Notepad or gedit, a more advanced editor like Notepad++ (free), or a full-fledged IDE like Aptana (free), Coda (paid), or DreamWeaver (paid).
Try copying and pasting different chunks of code into different files to create new layouts!
Of course, you should be familiar with editing HTML in order to modify your templates. If you want to adjust styles or scripting functionality, you'll need to be familiar with CSS and jQuery.
To add a new page to your site, you'll want to copy the template you'd like to use for your new page and rename it (or you can just edit the template directly - but keep a backup!). Then edit the new file and link up your navigation using the new file name.
The index.html file is your home page. It will automatically be displayed for your primary domain/URL, when no
path is given. If you want to use an alternative home page, you should rename that file to index.html.
Have fun! :)
Please be polite when requesting support, and I'll be sure to respond as soon as possible. I'll do my best to answer your questions, but unfortunately I generally can't offer customizations beyond a few lines of code - there just aren't enought hours in the day! Of course, I will always provide fixes for any bugs that crop up as soon as can be :)
Here's a list of the templates included with Agility.
| Home Templates | ||
| Home | index.html | Home page with slider, tagline, featured columns, blog list, feature list, latest Tweet |
| Home - Alternate | home-alternate.html | 2/3rds width slider, 1/3rd tagline, featured columns, blog list, feature list, latest Tweet |
| Home - No Slider | home-no-slider.html | Header image, tagline, featured columns, blog list, feature list, latest Tweet |
| Home + Blog | home-blog.html | Slider, tagline, grid-style blog |
| Blog Templates | ||
| Standard Blog Layout | blog.html | The standard blog loop, in list format |
| Grid Blog Layout | blog-grid.html | The blog loop, in 3-column grid/mosaic format |
| Single Blog Post | blog-post.html | A single blog post with featured image, lightbox, About the Author, Related Posts, and Comments |
| Single Blog Post - Video | blog-post-video.html | A single blog post with featured video, video lightbox, About the Author, Related Posts, and Comments |
| Portfolio Templates | ||
| 4 Column Grid Layout | portfolio-4col.html | Four column grid layout portfolio with image and video lightboxes. |
| 3 Columns Grid Layout | portfolio-3col.html | Three column grid layout portfolio with image and video lightboxes. |
| 2 Column Layout | portfolio-2col.html | Two column grid layout portfolio with image and video lightboxes. |
| 1 Column Layout | portfolio-1col.html | One column grid layout portfolio with image and video lightboxes. |
| Single Portfolio Item | portfolio-single.html | A single portfolio item with image feature. |
| Single Portfolio Item + Video | portfolio-single-video.html | A single portfolio item with video feature. |
| Page Templates | ||
| About (typography / single page) | about.html | Template demonstrating all the typographical and HTML elements Agility has to offer, as well as a single page layout. |
| Responsive Grid / Full Width | grid.html | Template demonstrating the column options from the responsive grid in a full-width page. |
| Responsive Slider Samples | slider.html | Template showing various slider styles - images, captions, sizes. |
| Video Slider | slider-video.html | Template for video-specific slider. |
| Contact | contact.html | Includes the contact form, address, and Google Maps |
| 404 (Page Not Found) | 404.html | A sample template for your 404 page. |
The grid system makes it easy to create well-proportioned layouts. The Skeleton framework, based on the 960.gs framework, splits the grid into sixteen columns. Columns are created by adding simple, intuitive classes to your HTML elements.
The grid elements must be wrapped in a .container element, so you end up with something like this:
Nine ColumnsSeven Columns
Half WidthHalf Width
Quarter WidthQuarter WidthQuarter WidthQuarter Width
Quarter Width3/4 Width
Thirds use a special syntax for full-width
1/3 Width2/3 Width
If you nest columns (use columns within columns), you'll need to use the
.alpha and .omega classes
on your first and last columns, respectively, to account for the margins.
FirstLast
To leave a column gap between columns, use the .offset-by-X class. Valid values for X are
'one' through 'fifteen'
.clear-grid class to the first item in each row.row div<br class="clear" /> after the last item in each rowThe navigation is built with nested unordered lists and links. The full size menu is CSS-driven.
Current Menu Item: Add the .current class to the list item (LI)
Responsive: The mobile button is displayed when the viewport is less than 480px wide, to save screen real estate on mobile devices.
Flyout menus: Nested unordered lists automatically create flyout menus.
The home page featured columns are a combination of the column mosaic layout and featured images. The key pieces
are to wrap your columns in a .mosaic div, and each column has the class .feature-column.
You could easily change the number of columns by using the Skeleton grid classes.
The standard blog layout wraps the articles in the .blog-layout class. The latest post is larger to make it
stand out, but that as not required - it is just an alternative style.
The Blog
LatestPost Title
Excerpt content here.
Continue Reading →.... Excerpt content here..
Continue Reading →
The grid layout is built by wrapping the articles in a .mosaic div with a .col-X class,
where X is the number of posts per row.
Each article is given the appropriate Skeleton grid class.
![]()
Post Title
Excerpt content here.
Continue Reading →![]()
Post Title
Excerpt content here.
Continue Reading →.... ![]()
The Count of Monte Cristo
At the same moment, and in the midst of the terrifying silence which usual...
Continue Reading →
Portfolios can be created with any number of columns using this structure. Adding [folio] to the data-rel
attribute will make all the items appear as a gallery in the lightbox.
![]()
Super Troopers!
by JD Hancock![]()
Career-Limiting Move
by JD Hancock![]()
Facing the Storm
by JD Hancock![]()
Darth Jawa
by JD Hancock
Agility includes several types of horizontal rules.
Blockquotes are normally full width. Use the cite element to provide attribution.
This is a normal block quote. After silence, that which comes nearest to expressing the inexpressible is music. Aldous Huxley
To use a pullquote in a paragraph, use the .pullquote class before the start of a paragraph:
Yes, it is a dull beginning. I say, let us pretend that it is the end. Peter Pan, by J.M BarrieParagraph text...
Taglines can be used for extreme emphasis, generally on your home page.
This is a tagline, you can use it for extreme emphasis.
Agility offers several lists styles that employ different bullet types. Just add the appropriate class.
It's easy to insert buttons. You can style anchors, button elements, or submit buttons as buttons.
Click me!
To change the color, just add the appropriate class:
Click me!
To make the text light instead of dark, add the .button-lighttext class.
Click me!
To make the button full-width with centered text, add the .full-width class.
Click me!
To create larger buttons, add the .button-large class.
Click me!
Tabs are created by creating two adjacent unordered lists. The first contains the navigational
tabs, and the second contains the content. The list items are linked together by href
→ id
Agility comes with 3 styles of alert boxes: notification (green), warning (yellow), and error (red).
This is a notificaiton alert.
Congratulations on your wonderful decision to purchase Agility!
This is a warning alert.
Caution! Do not push the red button!
This is an error alert.
You just had to push that button, didn't you? Well, that's it, it's all over...
To make an image automatically scale as the grid responds, add the class .scale-with-grid
to the img tag. This will ensure that the image is never larger than the width of
its container - though it will not automatically expand if it is narrower than the container.
You can embed Vimeo and YouTube videos just by copying the latest iFrame embed code from those sites. Set the size (width/height) you'd like the video to appear at on mobile devices. For devices > 480px wide, videos wrapped in the responsive containers will automatically scale to the size of their container.
To make your embedded videos responsive, wrap them in this code:
This will make the video automatically size to its parent container. However, this resizing is not active for mobile sizes; otherwise it interferes with the built-in browser player on devices like the iPhone. Therefore, the recommended width to set in your embed code is about 400px - which ensures the best sizing for landscape oriented mobile phones when not resized.
To create an image lightbox, wrap your image in an anchor which links to the image, and set the data-rel attribute to prettyPhoto
and the class to img-link. Add the scale-with-grid class to the img tag in make the whole thing responsive.
The lightbox will automatically be initiated.
You can create a lightbox gallery by adding the gallery name to the data-rel attribute for each of the images that should appear in the gallery:
To create a video lightbox, use the same lightbox structure, with two adjustments:
.inline-video-lightbox-content div with an ID after the lightbox link.href of the lightbox link to the ID of the inline video.You can easily add Google Maps just by setting location data in the markup. Just add the class
.map_canvas to a div and set the following data:
| data-lat | The latitude of the coordinates to show on the map. This will load immediately. | 40.4166909 |
| data-lng | The longitude of the coordinates to show on the map. This will load immediately. | -3.7003454 |
| data-address | This address is optional and will be geocoded and displayed - it sends an extra request to do this, so if the geocache fails the original lat and long coordinates will be displayed. | 5 Calle de Sevilla, Madrid, Spain |
| data-zoom | The level to which the map should be zoomed to begin with. | 15 |
| data-mapTitle | The text to display when hovering over the map marker. | Agility, Inc |
FlexSlider is used as the basis for the Agility slider. View the Full FlexSlider Documentation →
The slider is automatically initialized in agility.js. Just place the HTML markup anywhere in the
site and it'll be activated.
Here's some sample markup for the slider:
You can add the class .flex-caption-top to move the caption div to the top of the image
(by default it is at the bottom).
And here is a list of all options, which can be set in the agility.js file:
animation: "fade", //String: Select your animation type, "fade" or "slide"
slideDirection: "horizontal", //String: Select the sliding direction, "horizontal" or "vertical"
slideshow: true, //Boolean: Animate slider automatically
slideshowSpeed: 7000, //Integer: Set the speed of the slideshow cycling, in milliseconds
animationDuration: 600, //Integer: Set the speed of animations, in milliseconds
directionNav: true, //Boolean: Create navigation for previous/next navigation? (true/false)
controlNav: true, //Boolean: Create navigation for paging control of each clide? Note: Leave true for manualControls usage
keyboardNav: true, //Boolean: Allow slider navigating via keyboard left/right keys
mousewheel: false, //Boolean: Allow slider navigating via mousewheel
prevText: "Previous", //String: Set the text for the "previous" directionNav item
nextText: "Next", //String: Set the text for the "next" directionNav item
pausePlay: false, //Boolean: Create pause/play dynamic element
pauseText: 'Pause', //String: Set the text for the "pause" pausePlay item
playText: 'Play', //String: Set the text for the "play" pausePlay item
randomize: false, //Boolean: Randomize slide order
slideToStart: 0, //Integer: The slide that the slider should start on. Array notation (0 = first slide)
animationLoop: true, //Boolean: Should the animation loop? If false, directionNav will received "disable" classes at either end
pauseOnAction: true, //Boolean: Pause the slideshow when interacting with control elements, highly recommended.
pauseOnHover: false, //Boolean: Pause the slideshow when hovering over slider, then resume when no longer hovering
controlsContainer: "", //Selector: Declare which container the navigation elements should be appended too. Default container is the flexSlider element. Example use would be ".flexslider-container", "#container", etc. If the given element is not found, the default action will be taken.
manualControls: "", //Selector: Declare custom control navigation. Example would be ".flex-control-nav li" or "#tabs-nav li img", etc. The number of elements in your controlNav should match the number of slides/tabs.
start: function(){}, //Callback: function(slider) - Fires when the slider loads the first slide
before: function(){}, //Callback: function(slider) - Fires asynchronously with each slider animation
after: function(){}, //Callback: function(slider) - Fires after each slider animation completes
end: function(){} //Callback: function(slider) - Fires when the slider reaches the last slide (asynchronous)
Agility includes a copy of the excellent AJAX Contact Form from Jigowatt.
The contact form code is already included in your package, so all you need to do is configure some values and add the PHP file to your server.
ajaxcontact/contact.php, and find the CONFIGURATION section
near the top$address value to your own email address.See Media Lightbox
PrettyPhoto Documentation →You can adjust the prettyPhoto lightbox options in the agility.js javascript file. You can see a list of all the options in the
prettyPhoto documentation.
Twitter API 1.0 is now deprecated, please see Twitter API v1.1
The "Latest Tweet" functionality is controlled through javascript - this allows the page to continue loading, even if Twitter isn't responding. To use the Twitter plugin, add this code in your HTML:
From the Twittersphere
Loading Tweets...
You can change the heading to anything you like, it won't affect functionality.
Make sure the div's ID is set to tweet. Change the content of the div to whatever you want to be
displayed while the Tweets are loading. This text will be replaced once the data is retrieved from Twitter.
To set the account from which to pull the latest Tweet:
javascripts/agility.js//Twitterid value to your Twitter handle, for example:id: 'mycoolhandle',
You can also edit the other values in the getTwitters function if you wish.
For full details on customization options, see twitter.js by Remy Sharp
As of June, 2013, Twitter has discontinued version 1 of its API, replacing it with version 1.1. Twitter API 1.1 makes it much more complicated to retrieve the latest tweet, so there is a more significant setup process of creating OAuth tokens.
Moreover, since Twitter now requires authentication to access the API, accessing the API can't be done via javascript as it was previously. Instead, you'll need to use PHP. That means that:
In the next version of Agility, these files will be included. For now, download this zip and extract it into your root folder. You will then have the structure agility-html/twitter/twitter_feed.php.
Agility Twitter Files
In order to access the API, you'll need to set up a very simple "Twitter App" and generate access keys. These keys authenticate your site to Twitter during the twitter feed request.
//Change this to your timezone - http://www.php.net/manual/en/timezones.php date_default_timezone_set( 'America/New_York' ); $twitter_gmt_offset = '+5'; //YOUR TWITTER SCREENNAME $twitter_handle = 'your-twitter-username'; //YOUR APP'S UNIQUE KEYS $twitter_consumer_key = 'your-consumer-key'; $twitter_consumer_key_secret = 'your-consumer-key-secret'; $twitter_access_token = 'your-access-token'; $twitter_access_token_secret = 'your-access-token-secret';
We'll now replace this with the new PHP Twitter functionLoading Tweets...
//Twitter
if($('#tweet').size() > 0){
getTwitters('tweet', {
id: 'sevenspark',
count: 1,
enableLinks: true,
ignoreReplies: true,
clearContents: true,
template: '%text% %time%'+
'
'
});
}
Changing the background skin is as easy as adding a class to the body tag.
Leave blank (no class) to default to the white background.
<body class="bkg-fiber">
Changing the highlight skin is also as easy as adding a class to the body tag.
Leave blank (no class) to default to the charcoal scheme.
<body class="skin-red">
Alternatively, just copy the styles from your desired skin to the Default style selectors and do not use a class. The style can be edited in layout.css by navigating to the #Skins section.
For example, copy the red skin:
/* Red */
.skin-red #sub-title,
.skin-red #main p a,
.skin-red nav#main-nav > ul > li.current > a,
.skin-red a.excerpt-link,
.skin-red .post-meta a.post-category,
.skin-red #tweet a{
color:#d83f28;
}
.skin-red .contact-form label{
border-bottom-color: #d83f28;
}
.skin-red #colophon .footer-upper{
border-top-color: #d83f28;
}
To the default style:
/* Default - copy your values here */
#sub-title,
#main p a,
nav#main-nav > ul > li.current > a,
a.excerpt-link,
.post-meta a.post-category,
#tweet a{
color:#d83f28;
}
.contact-form label{
border-bottom-color: #d83f28;
}
#colophon .footer-upper{
border-top-color: #d83f28;
}
This is a Skeleton Core file. Keep all your customizations in other files so that if there is a future Skeleton release you can just overwrite this file easily.
This file contains the basic styles for skeleton.
This is a Skeleton Core file. Keep all your customizations in other files so that if there is a future Skeleton release you can just overwrite this file easily.
This file contains the skeleton grid.
This file contains all the styles for the site. Here are the contents of the file. It is easy to
search as each section has a # in front of the section header.
/* * TABLE OF CONTENTS * ========================================================= * * #General Site Styles * #Fonts & Typography * #Dropdown Panel Container * * #Site Header * #Navigation * * #Slider * #Lightbox * #Videos * * #Page Headings * #Post Content * - Mosiac - Grid Layout * - Blog Layout - Standard Layout * - Bloglist - Widget Style * #Portfolio * #Single Posts * #Comments * * #Sidebar * * #HTML Elements * #Blockquotes * #Lists * #Forms * #Buttons * #Tabs * #Tables * #Alert Boxes * #Icons * #Tooltips * * #Contact Form * * #Footer * #Miscellaneous Headers * * #Twitter Plugin * * #Utility Classes * #Skins * #Transitions * #IE Stupidity * #Font-Face (sample code) * * #Media Queries * */
A simple file with some basic IE7 CSS fixes. IE7 is not officially supported, but this will make the site more usable for IE7 users anyway. It is only loaded for IE7 users.
This is the main jQuery functionality for the site. It handles:
It also contains the imgSize script and a preloader script.
jQuery 1.6.2 javascript library. Loaded from Google CDN.
Contains code for activating tabs.
A flexible jQuery lightbox.
Fully responsive jQuery slider.
AJAX Contact Form script loaded from ajaxcontact/js/jquery.jigowatt.js
Helps make Internet Explorer act like a modern browser. (Loaded remotely)
Embed Google Maps in your own web pages. (Loaded remotely)
Loads latest Tweets. (Loaded remotely)
Part of the purpose of the responsive site is to not have to zoom. In order to best display the capabilities of
the template, zooming is disabled by default. To enable it, just change the maximum-scale value
of the viewport meta in the site header.
A Beautiful Boilerplate for Responsive, Mobile-Friendly Development by Dave Gamache
An awesome, fully responsive jQuery slider plugin by Tyler Smith
A flexible jQuery lightbox by Stéphane Caron
An open-source JavaScript library that helps you build the next generation of HTML5 and CSS3-powered websites.
The Google Maps Javascript API lets you embed Google Maps in your own web pages.
Image resizer for IE by Ethan Marcotte.
Latest Tweets loader by Remy Sharp
AJAX/PHP premium contact form by Jigowatt (extended license)
Modern Dance by Yuri Arcurs (demo only)
Child Playing at Snowballs by yarruta (demo only)
Fresh and beautiful young fashion model posing by Yuri Arcurs (demo only)
In Love by h.koppdelaney
Next Dimension by h.koppdelaney
the lone cypress by Eric Bryan
Jeff Finley Wallpaper by Jeff Finley
Sea Dreams by Playingwithbrushes
loneliness by alicepopkorn
Storm Trooper photos by JD Hancock
To be or not to be (a clone) by Stefan
Pictorgram Movie Posters by Viktor Hertz
High Technology Device Pack by StockDesignMan (demo only)