Cohesion

Coverage Status

Intro

Cohesion is a group of tasks that allow you to check link cohesion in a site.

Installation

Add to your Gemfile

gem 'cohesion'

or you can just install without bundler with

gem install cohesion

Usage

Executable

Running from the command line has the following syntax

cohesion --url http://your-site-to-check.com/

Options

Cohesion allows you to control the crawl through various command line options. These are available through help (see below) and are listed here.

  • —url Url to start crawl from
  • —internal_urls <url1,url2 or filename> List of url patterns to include (comma seperated list or filename with url per line)
  • —external_urls <exclude_url1, exclude_url2 or filename> List of url patterns to exclude (comma seperated list or filename with url per line)
  • —seed_urls <seed_url1,seed_url2 or filename> Seed urls (comma seperated list or filename with url per line)
  • —crawl_limit Limit the crawl to a number of urls
  • —thread_count Set the number of threads used
  • —cache Sets the timeout for the cache, leave blank for no cache
  • —timeout Sets the timeout for http requests
  • —output Path to output data to
  • —output_format Output format, csv or json
  • —authentication Authentication to use, currently only basic
  • —username Username to use with authentication specified
  • —password Password to use with authentication specified
  • -v, —verbose Display crawl information
  • -d, —debug Display debug information
  • -w, —web_statistics Start web stats server (http://localhost:4567)

Help

Help with available options is available with —help

cohesion --help

Checking an external site

You can check an external site with the rake task below. This will crawl the site and check each link within the site, and will also check the links to external sites. It will also check image, stylesheet and javascript references from link tags.

rake cohesion:check["http://your-site-to-check.com"]

Checking your local development environment

Currently you can check your local development environment the same way as you do an external, but point to your local server:

rake cohesion:check["http://localhost:3000/"]

Future

I intend to add the ability to check the rails app without starting the server though, which would allow you to add it to your specs.

Contribute

If you want to contribute, you can fork the github repository and submit pull requests, or you can donate me some development fuel… ie coffee/beer use this link

DONATE!