Desk.com CSS Overrides

Contrary to what you’ll probably experience if you try it, Desk.com (formerly Assistly) CSS overrides do, in fact, work. You’ll end up with hideously ugly and redundant markup strewn across your support portal, and some browsers may be confused by all the ridiculousness, but it is possible to style your portal.

The trick? The default templates use !important damn near everywhere in the default CSS.

This will not work because the stock CSS is a horrible mutant:

#company-header {
background: #123;
}

This horrible abomination will:

#company-header {
background: #123 !important;
}

It’s bad form, and you’ll want to smash your head repeatedly into your desk after littering your own CSS with !important for the bazillionth time, but there you have it. If a CSS override isn’t applying and you’re sure you have the right element, add !important and cross your fingers. Maybe it’ll work. Maybe your code being the fifteenth instance of !important-flagged attributes for that element will cause your browser’s CSS engine to do weird and unpredictable things. It’s CSS roulette!

Try it, find out, and hope your users’ browsers behave the same way yours do.

Or you can always pay $19 a month to add custom templates that don’t have completely broken CSS! Wink wink nudge nudge.

Dynamically Configuring RSpec for JUnit

Using continuous integration? Using RSpec? Selectively configuring RSpec to output JUnit with RspecJunitFormatter but finding your output file to be empty?

You need to configure your output file before you set your formatter(s).

Allons-y:

RSpec.configure do |config|

  # ...

  # Use JUnit output for CI
  if ENV["BAMBOO_INSTALL"]
    config.output_stream = 'rspec.xml'
    config.formatter = RspecJunitFormatter
  end
end