This article is being rewritten. If you want the latest, contact johnk at this domain.
The original was written: 2004-11-18 03:16:46 -0700.
Here's a bit of the article:
Dang, but it took me forever to learn CSS. Maybe I should have used a book. Here, I'm going to share with you the hard-found knowledge, presented using technical programmer jargon. (Revised in 2014.)
What is Cascading Style Sheets (CSS)? The typical answer is that it's a way to separate the way a page looks from the the underlying HTML, which describes the structure of the document.
I've been working on this email layout hack, and started to build it from content, and came to the inevitable conclusion that email and web are two different media.
This snippet of code can be modified and used to change the stylesheet on your page. I set it up to work against a layout extracted from Salsa, but it should work on generic pages. It's good for demos, discussions about a layout, trying different colors, etc.
HTML 5 is a marketing term (kind of like "cloud computing") that has a somewhat imprecise technical meaning, but was created so that products and people could easily sum up their compatibility or know
I created a PNG that was bright red, but in Firefox, it is a duller red. The fix was to remove the color profile from the PNG by using the tool TweakPNG.
This is an example template file that will export articles from your bespoke CMS to and XML file that WordPress version 3.5 will import.
I was on the Ralphs website, and found some image URLs that looked like this:
This script below will accept a URL parameter, download the HTML, convert it to a .mobi file with kindlegen, and copy the file onto your Kindle.
I was having lots of problems with HTML email layouts. After doing some research, I came up with a method to get almost pixel-perfect positioning and sizing. It's not that hard.
I've never put a ID onto the BODY tag, but here's a situation where it's useful.
Normally, an article has an H1 tag that contains the title for the page. You do this for SEO reasons, as well as semantics.
How many times has this wheel been reinvented? According to Google searches, not enough - because I couldn't find a good one. Over the years, I've built this wheel a few times, so, here goes again. This is a lot better than the stock nl2br() function.
The attached code and test files show it off, and only a description follows.