Thursday, February 11, 2016

Portraits by B&O PLAY

Portraits by B&O PLAY is a photographic exploration of the synergies between consumer wearables and fashion.
by via Awwwards - Sites of the day

Top 10 Social Media Blogs: The 2016 Winners!

ldj-top-10-winners-2016-560

Are you looking for some great social media blogs to add to your daily reading? Look no further! Our seventh-annual social media blog contest generated over 300 nominations. A panel of experts carefully reviewed the 20 finalists based on their content quality, post frequency and reader involvement. Here are the top 10 social media blogs [...]

This post Top 10 Social Media Blogs: The 2016 Winners! first appeared on .
- Your Guide to the Social Media Jungle


by Lisa D. Jenkins via

Wednesday, February 10, 2016

Justified-Gallery : jQuery Justified Grid Plugin

This is a jQuery plugin which allows you to create responsive, infinite, and high quality justified gallery of images.

A common problem, for people who create sites, is to create an elegant image gallery that manages the various sizes and aspect ratio of images. Flickr and Google+ manage this situation in an excellent way, the purpose of this plugin is to give you the power of these solutions, with a new fast algorithm.

The post Justified-Gallery : jQuery Justified Grid Plugin appeared first on jQuery Rain.


by Admin via jQuery Rain

Nifty scroll events for jQuery

Adds slick new scroll events to jQuery (like enter and leave) so you can drop scrolling effects like a boss. Requires jQuery 1.11+.

The post Nifty scroll events for jQuery appeared first on jQuery Rain.


by Admin via jQuery Rain

7 YouTube Marketing Tips for Reaching More Millennial Consumers

Social media strategy: 7 YouTube Marketing Tips for Reaching More Millennial Consumers

As many of you probably know, YouTube is the largest video content hosting and sharing platform where billions of users (almost 1/3 of internet users) watch millions of hours of videos a day. But did you know that it is now the video content platform of choice for younger audiences? In fact, a study done by The Intelligence Group found that 74% of 14- to 18-year-olds and 68% of 19- to 24-year-olds regularly visit YouTube to view video content.

As such, millennials have become increasingly attractive to online businesses not only because of their willingness to embrace information, but also because their spending power will continue to rise in the future. With that in mind, here are seven YouTube marketing tips for reaching more millennial consumers:

by Irfan Ahmad via Digital Information World

Upgrade Your Website and Marketing with 400 Free Stock Photos!

Upgrade your website and marketing with 400 free stock photos!

When it comes to finding photos for blog posts or marketing materials, professional quality is a must. But professional quality—aka stock images—can also be expensive. Which is why you suggest you snag the ApertureVintage collection of 400 completely free stock photos at SitePoint Shop.

You're sure to find the perfect shot among ApertureVintage's selection. They're giving you 400 professional JPGs that you can use on your website, blog, posters, and brochures. Have your pick of landscapes, black and white pictures, nature shots, macro photos, and more, and take your posts and marketing to the next level.

At the low, low price of free, this photo package is a can't miss. Grab it now at SitePoint Shop!

Continue reading %Upgrade Your Website and Marketing with 400 Free Stock Photos!%


by SitePoint Offers via SitePoint

How To Write a Syntax Highlighting Package for Atom

Atom is a fantastic editor and comes by default with all you need to develop your project … except maybe for one thing – that one detail that you’d love to see in Atom. That one thing could be anything: a keyboard shortcut to write faster; an important feature; or even syntax highlighting for a language you use but that isn’t supported by default.

The good news is that Atom is ready to welcome a lot of packages. You can extend its default features with these packages, written by the community. But what if you don’t find the package you’re searching for?

Writing your own package is not so complicated, so why not? In this tutorial we’ll see how to create our own package for Atom, by taking the example of a syntax highlighting package.

What We’ll Build

Recently I wanted to develop some programs in the Scilab language. As it’s a language used in maths, it’s not really the type of language we find by default in Atom, and there was no package for its syntax. That’s why I decided to write my own package: language-scilab.

Here we’ll write a similar package, for the language you want. We’ll see first how to initialize a brand new package with a valid package.json file. Then we’ll write some rules to highlight our language. Finally, we’ll see how to publish our package – so that any user of Atom will be able to use it.

Initializing a New Atom Package

Atom uses a configuration folder to store all your personal options, but also the packages you installed. This folder is named .atom, and is located in your personal folder (/home/user/.atom for instance).

Viewing the packages folder

The packages you install are all located in the packages subfolder of this folder. Every package has its own folder. So the first step to create your package is to create the your folder, named after your package. In our example, I create the folder language-mylanguage: it’s a sort of naming convention when we want to add the support for a language.

For now, your package is invalid. To be recognized by Atom, it needs a package.json file at the root of the folder you just created.

The package.json file

This file contains some information, like the name of your package or the repository where we can find it. Below is the package.json file of our language-mylanguage package (explanations follow):

{
  "name": "language-mylanguage",
  "version": "0.0.0",
  "description": "Mylanguage language support in Atom",
  "engines": {
    "atom": "*"
  },
  "dependencies": {},
  "repository": {
    "type": "git",
    "url": "http://ift.tt/1ShtaYz;
  },
  "bugs": {
    "url": "http://ift.tt/1mtsJw7;
  },
  "license": "MIT"
}

We find several entries in this file. First, the name one: as you can guess, it contains the name of your package. You can (and you should) add a description with the description entry, basically to let the other users know about what your package does.

The version entry is filled with a version number, which must respect the following convention: major.minor.bug. Here we indicate 0.0.0. Even if you know that you’re developing the version 1.0.0 or 0.1.0 or your package, indicate 0.0.0. We’ll see why when we publish our package.

The engines entry can be used to indicate the minimal required version of Atom for your package to work. In the same vein, we find the dependencies entry to indicate other packages needed by your package. It must be used if you create a plugin for another package.

Then we find the repository entry. It’s the URL indicating where the public repository of your package is located. If you want to publish your package, you need this entry. You can leave it empty for now if you don’t want to create your public repository right now, but think about filling it before publishing.

The bugs entry is the URL where we can report issues affecting your package. Here we use the default page GitHub offers for every repository. Finally, a license name can be indicated with the license entry.

Other entries can be filled if you need them. They’re not mandatory. All available entries can be found on Atom documentation.

Now that your package has a valid package.json file, Atom can recognize it and load it. However, it’s totally useless right now, so it’s time to make it useful by giving it some features.

Note that Atom won’t load your package now: it loads all the installed packages at start. You can, however, force Atom to reload the packages with View/Reload. It’s useful for seeing the changes you just did on your package.

Continue reading %How To Write a Syntax Highlighting Package for Atom%


by Jérémy Heleine via SitePoint