Aug 26, 2016 - Notes    Comments Off on Grayscale via CSS

Grayscale via CSS


	-webkit-filter: grayscale(1);
	-webkit-filter: grayscale(100%);
	filter: gray;
	filter: grayscale(100%);
	filter: url(desaturate.svg#greyscale);

And the SVG File:

<svg version="1.1" xmlns="">
	<filter id="greyscale">
	<feColorMatrix type="matrix" values="0.3333 0.3333 0.3333 0 0
		0.3333 0.3333 0.3333 0 0
		0.3333 0.3333 0.3333 0 0
		0 0 0 1 0" />

Or, inline the SVG and do it all in one place:

img.desaturate {
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
	filter: gray;
	filter: url("data:image/svg+xml;utf8,<svg version='1.1' xmlns='' height='0'><filter id='greyscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0' /></filter></svg>#greyscale");
May 18, 2016 - CSS, WordPress    Comments Off on Style test page

Style test page

This is a block of body copy. This block of body copy is here to give an idea of what body copy might look like with regards to texture and style. This is the primary style for the website copy, and all other copy is a variable from this style. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.

Just so that we have a baseline, this is what some italic text would look like inline. This is how we will style bold text. And there are rare instances where we may include both bold and italic on one element. We will also want to link some pages to other pages. I don’t know why, but some people still have a fondness for underlining content. I find this odd.

This is a content H1 tag

H1 tags are useful for SEO maintenance, but should be used very sparingly. The primary H1 tag on any page should be the title, generated by WordPress.

This is a content H2 tag

Likewise, H2 tags should be used sparingly in copy. The primary H2 tag for any page should be the subtitle and/or the site title. However, there are times when content copy hold a major import and should be drawn out both visually and for SEO.

This is a content H3 tag

This is a content H4 tag

The H3 & H4 tags are your primary ways to differentiate body copy as important without overriding the SEO goodness built by your page title and subtitle. Use with gusto and good judgement.

This is a content H5 tag
This is a content H6 tag

The last two heading types, H5 & H6 are good fall-back differentiators. Often, H5 resembles bolded content and H6 resembles plain content. Keep in mind that both are block elements (they will go on their own line) and that they are informative to SEO.

Preformatted content is rarely used except in situations of documentation. It is primarily for setting
aside things like code to be executed and/or commands to be typed. Unlike standard content, it will not
automatically "break" at a certain line length and <strong>must</strong> have explicit line breaks inserted.

Blockquotes are a great way to set very specific content out as either a “pull” from the primary content or as a quote from a specific individual. These can be useful for both hierarchical and design reasons.

– Catherine OBrien

Sometimes it is useful to create a bullet list:

  • For brief information
    • And the sub-items of that information
  • For a visual break
  • To outline basics before going more in-depth
  • For an actual list of items

Sometimes, an ordered list is more appropriate:

  1. To outline specific steps to take in process
  2. Defining items in order of importance
  3. To create an old-school content outline
    1. In which case you may have subitems
  4. As a table of contents

As you can see, there are many options to consider when styling body content in WordPress, and many options to use.

Here is an export file to use to import this page into a WordPress install so that you don’t have to write all this up. It includes some fields that are specific to my code, but otherwise, you might find it useful.

Aug 27, 2015 - Hosting Headaches, WordPress    Comments Off on Goddamn hackers

Goddamn hackers

find . -name '*.php' -print > badfile.txt
vi badfile.txt
:s%/.\//rm -f .\/

grep -H -r -l '\$sF\=' /path/to/dir/to/check/ > badfile.txt

Aug 14, 2015 - Meteor, Node.js    Comments Off on Meteor Deploy Notes

Meteor Deploy Notes

First need an Ubuntu server

Setup with Ubuntu:

curl --silent --location | sudo bash -

Then install with Ubuntu:

sudo apt-get install --yes nodejs

Optional: install build tools

To compile and install native addons from npm you may also need to install build tools:

apt-get install --yes build-essential

1. Installing Meteor-Up.

Meteor-Up can be easily installed with NPM. Don’t forget the -g to make the package global.

npm install mup

You should now be able to display every MUP command with:

mup —help

If that’s all ok, then we can init a project:

mup init
Aug 4, 2015 - Hosting Headaches, Notes    Comments Off on Local ini on Storm/CentOS

Local ini on Storm/CentOS


<IfModule mod_suphp.c>
suPHP_ConfigPath /home/USERNAME/public_html
<Files php.ini>
order allow,deny 
deny from all 


in .htaccess

and ini must have chown for USERNAME

Jul 1, 2015 - git, PlugIns    Comments Off on Gitting around git issues

Gitting around git issues

Sometimes I have a plugin in version control, for reasons of naming or maintenance, or whatever, and I forget that and use WP to update the plugin. Here’s how to fix it quickly on the remote site:

git fetch --all
git reset --hard origin/master
Feb 6, 2015 - CSS, LESS    Comments Off on Vertical lines in the background

Vertical lines in the background

adam. urg.

/* Centered Vertical Line - using CSS3 gradients */
.centered-vert-line(@midColor: #ccc, @width: 1px, @startColor: transparent, @endColor: transparent, @deg: 90deg) {
  background-image: -moz-linear-gradient(@deg, @startColor, @midColor, @endColor); // FF 3.6+
  background-image: -webkit-linear-gradient(@deg, @startColor, @midColor, @endColor); // Safari 5.1+, Chrome 10+
  background-image: -o-linear-gradient(@deg, @startColor, @midColor, @endColor); // Opera 11.10
  background-image: linear-gradient(@deg, @startColor, @midColor, @endColor); // Standard, IE10
  background-position: 50%;
  background-repeat: repeat-y;
  background-size: @width 100px;
Feb 2, 2015 - CSS    Comments Off on reverse arrows

reverse arrows

<div id="lead-box" class="wrappers">
			<div class="bar"></div>
			<div class="holder">
				<div class="row">
					<div class="large-12 medium-12 small-12 columns">
							<h1>Enterprise<br>Healthcare<br>is not going to<br>fix itself</h1>
							<h4>The Enterprise Healthcare Cloud</h4>
							<a class="button main-cta" target="_blank" href="">See a Demo</a>
				<div id="promo-box" class="row" style="opacity: 1;">
						<div class="large-6 medium-6 small-12 columns promo video">
							<a target="_blank" class="promoCTA" href="">
								<h4>Managing the transition to a new benefits design</h4>
								<span>Watch Now</span>
						<div class="large-6 medium-6 small-12 columns promo map">
							<a target="_blank" class="promoCTA" href="/distinctive-searches/">
								<h6><span></span>Interactive Map</h6>
								<h4>New analysis:  A Snapshot of US Workers’ Health Search Patterns</h4>
								<span>Learn more</span>
.bar {
    bottom: 5%;
    height: 30px;
    margin: 0 auto;
    position: absolute;
    width: 100%;
.bar > p:before, .bar > p:after {
    border-top: 30px solid transparent;
    content: "";
    height: 30px;
    position: absolute;
    top: 0;
    width: 0;
    z-index: -1;
.bar:before, .bar:after {
    border-bottom: 30px solid white;
    box-sizing: border-box;
    content: "";
    height: 0;
    position: absolute;
    top: 0;
.bar:before {
    border-right: 30px solid transparent;
    left: 0;
    width: 50%;
.bar:after {
    border-left: 30px solid transparent;
    right: 0;
    width: 50%;
Feb 2, 2015 - Notes    Comments Off on Fix greensock clash with layerslider

Fix greensock clash with layerslider

Dec 18, 2014 - Genesis, Notes, PlugIns, WordPress    Comments Off on MSDLAB Toolkit

MSDLAB Toolkit

This is what I use for most of my WordPress Sites. The GitHub repository has most of the custom stuff that I use over and over. Generally speaking, I simply customize as needed per client. Not the “properest” way to do it, but faster and more cost effective for the client. Sometimes I do a major update when I find myself doing very similar customizations over and over.


Genesis Framework

Mad Science themes are built as child themes for the Genesis framework by StudioPress. Genesis themes work differently from other WordPress themes, because they rely strongly on hooks and actions. These two important keywords can take a bit of fiddling with to wrap your head around, but they are built into every part of WordPress, and once you understand them, they make it very simple to customize layout, activity, and even functionality of a WordPress site.

There are some nice reference sites for Genesis. I find myself going back to the visual hook guide frequently, as well as other areas of Genesis Tutorials.

You will need to install the Genesis theme on any site that you will be installing a genesis child theme.

MSDLAB Starter Theme

A Genesis starter theme with Twitter Bootstrap & Font Awesome support using LESS. On GitHub. Copy and rename to use.


Premium Plugins

Custom Plugins

The GitHub repository has a number of customized plugins. The one that is used on almost every site I do is MSD Site Settings. The others are mostly customizations of existing plugins. As I have time I am making them into “child plugins” so that they don’t need to be updated every time a source plugin is updated.

Plugin Directory Plugins

Can be found as favorites under my username, Foxydot. I don’t use all of these on every site, obviously, but these are ones I use often and trust.


The one tool I rely on quite a bit is WPAlchemy. There is a copy in the GitHub repository, at the WP_CONTENT_DIR level, because that’s where my plugins and themes call it from. You can place it anywhere you like, and there are probably old copies in my plugins too. Yes, you can do all of this the Tadlock Way (and the Tadlock Way is usually the right way), but I find WPAlchemy to be a small overhead price to pay for ease of use and function.