Skip to content

Latest commit

 

History

History
88 lines (52 loc) · 2.35 KB

README.markdown

File metadata and controls

88 lines (52 loc) · 2.35 KB

##Duplicity 0.1

Duplicity is a javascript library to kickstart responsive web design

Duplicity is built on top of jquery and requires it to run.

###Devices

Duplicity examines the browser width and makes a guess at which device is being used; if the screen width is:

  • (0, 640): 'phone'
  • [640, 1024]: 'tablet'
  • (1024, ∞): 'desktop'

Also, if the browser is resized, or the phone is rotated, causing a significant change in screen size (which leads duplicity to classify it as a different device) it will update all the following methods!

###HTML

Once duplicity has determined the device, it provides very simple methods to change your webpage to be responsive. The first being its HTML protocol

<div data-display='phone'>
    This div will only be shown if the device is a phone,
</div>

<div data-display="tablet desktop">
    while this div will appear if the device is a tablet or a desktop!
</div>

<a href="http://example.com?mobile=false" data-display="phone tablet">
    Oh yeah! and you can apply this to any tag (not just divs)!
</a>

###CSS

Additionally duplicity will add an aptly named class ('phone', 'tablet', 'desktop') to the body element; thus allowing you to code device specific styles

#myContent{
    /* What occurs normally */ 
    padding:20px;
}

.phone #myContent{
    /* What occurs on a phone */ 
    padding:5px;
}

###Javascript

Ultimately, duplicity is a JS library and so it provides you with some nice JS features:

The first being three booleans by which you can read the detected device:

duplicity.phone, duplicity.tablet, duplicity.desktop

if (duplicity.phone){

    // do something 
    
}

Additionally, duplicity provides you with the ability to do some additional set up when the device is detected to be changed (i.e. if the user resizes the browser to a size similar to a phone); simply define a function called screenSizeChanged(oldDevice, newDevice), and if you don't define the function that is fine as the error will be caught.

function screenSizeChanged(oldDevice, newDevice){

    // oldDevice and newDevice are strings: 'phone', 'tablet', 'desktop' 

}

###FAQ

Why did you call it duplicity?

Because it is a framework to allow your website to have many faces (one for phones, another for tablets, and yet another for desktops).