Monday, January 30, 2017

9 WordPress Plugins to Help Get More Social Shares

If you run a blog or publish any kind of content regularly, you know that you have to create awesome content to get noticed.

But creating the content is only half the battle. You’ve got to get people to share it. That’s where the real power of content marketing lies.

However, getting your content shared can be downright tough. Even if you’ve successfully driven traffic to your site, how do you get those people to share your content?

Thankfully, there are several WordPress plugins that are about to make your life a whole lot easier. These 9 plugins will help you leverage the power of social media to get your content shared over and over again.

Whether you post information packed blog posts or lighthearted videos, we’ve got a plugin for you. Let’s get started!

Continue reading %9 WordPress Plugins to Help Get More Social Shares%


by Ian Chandler via SitePoint

Multi.js – Replacement for Select Boxes with Multiple Attribute

multi.js is a user-friendly replacement for select boxes with the multiple attribute. It is mobile-friendly, easy to use, and provides search functionality. multi.js is also easy to customize and style with CSS.


by via jQuery-Plugins.net RSS Feed

Take Opportunities to Beat Imposter Syndrome

For the last 6+ years, I've been managing the SitePoint Ruby channel. I was given the job by desperate, over-tasked folks trying to save a fledgling Ruby resource. I swallowed my Imposter Syndrome and took up the cause. It was an opportunity and decision that changed my life and career. The people at SitePoint are wonderfully intelligent and a joy with which to work. It is my sincerest belief that SitePoint wants to create content that makes people in software better.

With that being said, allow me to shift the focus of this post from "Hey, look what I did for 6 years!" to "Take opportunities that make you uncomfortable."

In 2011, I was a competent .NET resource. I had ridden the wave of ASP to ASP.NET and could ably write C#. However, I was frustrated. I found .NET and the software around it (like IIS) to be limiting and frustrating. At the time, there were projects like Castle Windsor that included excellent Dependency Injection Frameworks, a .NET port of Rails called Monorail, and some other frameworks that felt good to use. In fact, Monorail predated ASP.NET MVC and was, unfortunately, killed by Microsoft inventing it's own MVC platform instead of using the existing (and superior, IMO) framework. While ASP.NET MVC was a step in the right direction and a fine framework in its own right, I wanted to make Ruby my everyday.

Continue reading %Take Opportunities to Beat Imposter Syndrome%


by Glenn Goodrich via SitePoint

Lorem Ipsum Generator

Lorem Ipsum Generator

Single Serving One Pager hosting a useful Lorem Ipsum Generator. We've recently featured another but this one includes additional functionality for words, bytes, lists and even HTML output.

by Rob Hope via One Page Love

Testing Frenzy – Can We BDD Test the Units?

I'll be honest, I don't do much testing. When it's really necessary and I'm working on big enterprise projects, I do, but in general, my personal projects are usually one-man-army proofs of concept, or fixes on already tested apps.

[author_more]

We've done our share of testing posts here at SitePoint, with more coming soon, but I wanted to show you a relatively new testing tool I found that caught my attention because of how unconventional it seemed.

Peridot Logo

Peridot

Peridot is a BDD testing framework (so behavior driven testing) but for your units of code - not your business logic.

Wait, what?

Yes.

If you're familiar with Behat, you'll recognize this syntax (it should be fairly readable even if you're not familiar with it):

Feature: adding a todo

As a user
I want my todos to be persisted
So I don't have to retype them

Scenario: adding a todo
  Given I am on "/"
  When I fill in "todo" with "Get groceries"
  And I press "add"
  And I reload the page
  Then I should see "Get groceries"

Scenario: adding a duplicate todo
  Given I have a done todo "Pick up dinner"
  And I am on "/"
  When I fill in "todo" with "Pick up dinner"
  And I press "add"
  Then I should see "Todo already exists" after waiting
  And I should see 1 "#todos li" elements

The individual phrases are defined in FeatureContext classes like so:

    /**
     * @Then I should see :arg1 after waiting
     */
    public function iShouldSeeAfterWaiting($text)
    {
        $this->getSession()->wait(10000, "document.documentElement.innerHTML.indexOf('$text') > -1");
        $this->assertPageContainsText($text);
    }
    /**
     * @Given I have a todo :arg1
     */
    public function iHaveATodo($todoText)
    {
        $collection = self::getTodoCollection();
        $collection->insert(['label' => $todoText, 'done' => false]);
    }

The framework recognizes them, substitutes the arguments for their values, and tests the conditions.

Continue reading %Testing Frenzy – Can We BDD Test the Units?%


by Bruno Skvorc via SitePoint

Proto.io 2016 Year in Review

Proto.io 2016 - A Year of Prototyping in Review

Annual Report One Pager set in outer space for Protio.io. The long scrolling Single Page website shares insight from the 2016 activity on their prototype service.

by Rob Hope via One Page Love

Authentication in Rails Using Clearance

Clearance is a simple authentication system with email and password built by the team at Thoughtbot. It has opinionated defaults but is intended to be easy to override. The system is actively maintained, and you can follow up on GitHub.

In this tutorial, you will see how to integrate Clearance into a Rails application. We will make use of a miniature application. Let's begin!

Getting Started

You'll start by generating your Rails application. For the purpose of this tutorial, I'll name mine tutsplus-clearance.

That will do the magic.

You'll need bootstrap to make your application look good. Add the Bootstrap gem to your Gemfile.

Install the gem by running bundle install.

Now modify application.scss  to look like this:

Clearance Setup

Open your Gemfile to add the Clearance gem.

Now install the gem.

bundle install

At this point, run the generator command to install clearance.

rails generate clearance:install

This will generate some outputs on your terminal, which look like what I have below:

When you ran the command, a couple of files were generated in your application. One such file is clearance.rb, which you can find in the config/initializers directory. A User model was also generated, and along with that you also have a migration file that looks like this:

According to the output, the first thing you want to do is edit your config environment. To do that, navigate to config/environments/development.rb and add the line below, just above the end delimiter.

Next, navigate to config/initializers/clearance.rb to edit it, and when you're there, change the sender email address from the default to any of your choosing. This is what you will see when you open the file.

You can override the default configuration by pasting in the following code snippet and configuring it to your requirements.

Run the command to migrate your database.

rake db:migrate

Open your PagesController and add an index action.

Next, create a view for the index action you just created.

Add the code snippet below:

Edit your routes to:

Create a partial named _navigation.html.erb inside the layouts directory. This will be used to handle everything that has to do with navigation on your application.

Paste the following code and save.

Restricted Access 

With Clearance, you can be able to create restricted access to specific pages of your choice in your application. Let's see how it is done.

Create a view for a new action in app/views/pages, the name of the file should be new.html.erb. Paste in the code below.

Now you need to add the line below to config/routes.rb.

Finally, go to your PagesController make it like what I have below.

In the above code, we are making use of the Clearance helper, require_login, to restrict access to the new action. To see how it works, start up your rails server by running rails server from your terminal. Point your browser to http://locahost:3000/pages/new and it should redirect you to the sign in page.

Clearance also provides routing constraints that can be used to control access.

In the code above, a different route has been created for authenticated users.

Overriding Clearance Defaults

A lot of things happen behind the scenes when you start using Clearance, things you cannot see. There might come a time when you want to customize things differently, depending on the specification of your application. Clearance allows you to override the default configuration it comes with.

To override (or generate) Clearance routes, run this command from your terminal.

rails generate clearance:routes

Your routes file should now look like this:

The command will also set the config.routes setting to false in your config/initializers/clearance.rb file. This means that the custom file which has just been generated will be used.

To generate views for modification, run:

rails generate clearance:views

Some of the files that will be generated include:

You will see a prompt in your terminal asking to overwrite your app/views/layouts/application.html.erb file. Choose the option you want.

Layouts

By default, Clearance uses your application's default layout. If you would like to change the layout that Clearance uses when rendering its views, simply specify the layout in an initializer.

Helper Methods

Clearance provides you with helper methods that can be used in your controllers, views, and helpers. These methods include signed_in?, signed_out?, and current_user. For example:

Conclusion

Clearance has a lot to offer you when it comes to authentication, so be sure to try it out in your next project. You can learn more by checking out the GitHub page.


by Kingsley Silas Chijioke via Envato Tuts+ Code