How To Make a Web Site the Modern Way. Part 1: The Anatomy of an HTML Page

HTML + CSS + JavaScript = Content + Style + Behavior

This the one of the guiding principles of the way I make sites. We want to keep our content/data, in the form of HTML (HyperText Markup Language) code, neatly separated from the rules that tell the browser what it’s supposed to look like, in the form of one or more CSS (Cascading Style Sheets) and rules that tell the browsers what it’s supposed to do, for our purposes, written in JavaScript.

Why?

Well, there are many reasons. I’ll give you two big ones and then it’s onto the next section. We’ve got a lot to cover.

Continue reading “How To Make a Web Site the Modern Way. Part 1: The Anatomy of an HTML Page”

How To Make a Web Site the Modern Way. Part 0: Introduction

Well, I leaked it earlier this week, so I might as well get started.

Welcome to How to Make a Web Site the Modern Way, a blog series outlining, to the best of my ability. how to build an HTML page using today’s best practices. The focus won’t be on specific coding techniques, although there will be some of that, it will be on how the pieces fit together. Without experience, it’s tough to know how the pieces of a web page fit together in the best way. I’ve got some of that experience and I’d like to share it with people. So at the end of all of this, I’m hoping this series will serve as a one stop shop for people looking to understand the big picture.

First up: The Anatomy of an HTML Page .

Some basic principles:

  • Fast: I want pages to be as fast as possible by default.
  • Findable: This isn’t really the same as SEO, but it’s kind of like a cousin to it. I want to make pages spiderable, human scannable, computer readable and generally information rich.
  • Standards compliant: I’m not a standards zealot, but I try my best to follow web standards wherever possible.
  • Accessible: I try to make pages as accessible as possible.
  • Usable: Usability is a deep topic, but there are things you can do, by default that will enhance the usability of your site.
  • Intuitive: I want developers to look at the stuff I do and say “hey, that makes sense.” I also want it to make sense to me when I return to it in six months 🙂
  • Breakable: Which is a funny way of saying “graceful degradation,” a concept that colors a lot of what I try to do. The idea being- if something’s going to break, or not work as expected, make sure that it’s not totally screwed up

The Rest of the Series

Starter Assets

I just wanted to point folks to the small project I started on Google code- Starter Assets.

It’s based on some work I did at Cramer to standardize the development process there. The idea was to provide a standard set of files and a standard file/folder structure for people to start with whenever they were initiating a new project. I’ve expanded on it in this case to (eventually) include several doctypes (right now it’s just xHTML strict- HTML5 will follow soon) and links to popular JavaScript libraries on the Google Ajax Library CDN (just jQuery for now.)*

To use, you’d just download or SVN export the folder that corresponds to the doctype/library combination that strikes your fancy and you’re good to go.

I’ve released it in advance of a blog series I mentioned during my JavaScript presentation this past Thursday. It’s a step-by-step tutorial on how I build web sites called, “Building a Modern Web Site.”
Continue reading “Starter Assets”

My Presentation From Last Night’s JavaScript Meetup

Here’s the link I promised:

JavaScript 101: Adding Interactivity to Your Site Using the World’s Most Popular Programming Language

*A note on the title- I’m just repeating what Douglas Crockford said. To remix the quote about IBM, no JavaScript developer ever got fired for quoting Douglas Crockford**

**Don’t quote me on that

Again, I want to thank everyone that came out. It’s always fun to attend the Boston JS Meetups and presenting there is even cooler.

Video of My HTML5 + WordPress Presentation From WordCamp Boston

And here it is:

Slides.

Just in time for me to do it all over again tonight at the Boston JavaScript Meetup. Well, not completely all over again as it’s a new presentation tonight, but it’ll still be two times at NERD this week.