├── .hgignore
├── .htaccess
├── Makefile
├── about.html
├── canvas.html
├── detect.html
├── diveintohtml5.org
├── everything.html
├── examples
├── .htaccess
├── 2000_05_mark.jpg
├── blog-html5.html
├── blog-original.html
├── canvas-halma.html
├── disable_video_autoplay.user.js
├── event-plus-microdata.html
├── event.html
├── freedo_Glossy_Globe.png
├── gdd-2009-prague-pilgrim.jpg
├── halma-localstorage.js
├── halma.js
├── history
│ ├── adagio.html
│ ├── angie.html
│ ├── brandy.html
│ ├── casey.html
│ ├── fer.html
│ ├── gallery.js
│ ├── gallery
│ │ ├── 1972-fer-500.jpg
│ │ ├── 1984-brandy-500.jpg
│ │ ├── 1984-casey-500.jpg
│ │ ├── 1989-willie-500.jpg
│ │ ├── 1992-pepper-500.jpg
│ │ ├── 1995-adagio-500.jpg
│ │ ├── 2000-angie-500.jpg
│ │ ├── adagio.html
│ │ ├── angie.html
│ │ ├── brandy.html
│ │ ├── casey.html
│ │ ├── fer.html
│ │ ├── pepper.html
│ │ └── willie.html
│ ├── history.css
│ ├── pepper.html
│ └── willie.html
├── html5-fist.png
├── input-autofocus-with-fallback-custom-event.html
├── input-autofocus-with-fallback-document-ready.html
├── input-autofocus-with-fallback.html
├── input-autofocus.html
├── input-placeholder.html
├── input-required.html
├── input-type-color.html
├── input-type-date.html
├── input-type-datetime-local.html
├── input-type-datetime.html
├── input-type-email.html
├── input-type-month.html
├── input-type-number-min-max-step.html
├── input-type-number.html
├── input-type-range.html
├── input-type-search.html
├── input-type-tel.html
├── input-type-time.html
├── input-type-url.html
├── input-type-week.html
├── localstorage-halma.html
├── offline
│ ├── .htaccess
│ ├── clock.css
│ ├── clock.html
│ ├── clock.js
│ ├── clock.manifest
│ ├── halma.html
│ └── halma.manifest
├── organization-plus-microdata.html
├── organization.html
├── person-plus-microdata.html
├── person.html
├── placeholder
├── review-plus-microdata.html
├── review.html
├── style-html5.css
└── style-original.css
├── extensibility.html
├── f
├── .htaccess
├── chunk-webfont.eot
├── chunk-webfont.svg
├── chunk-webfont.ttf
├── chunk-webfont.woff
├── essays1743-italic-webfont.eot
├── essays1743-italic-webfont.svg
├── essays1743-italic-webfont.ttf
├── essays1743-italic-webfont.woff
├── essays1743-webfont.eot
├── essays1743-webfont.svg
├── essays1743-webfont.ttf
├── essays1743-webfont.woff
├── linlibertine_bd-4.1.5-webfont.eot
├── linlibertine_bd-4.1.5-webfont.svg
├── linlibertine_bd-4.1.5-webfont.ttf
├── linlibertine_bd-4.1.5-webfont.woff
├── linlibertine_it-4.2.6-webfont.eot
├── linlibertine_it-4.2.6-webfont.svg
├── linlibertine_it-4.2.6-webfont.ttf
├── linlibertine_it-4.2.6-webfont.woff
├── linlibertine_re-4.7.5-webfont.eot
├── linlibertine_re-4.7.5-webfont.svg
├── linlibertine_re-4.7.5-webfont.ttf
├── linlibertine_re-4.7.5-webfont.woff
├── lmmono10-regular-webfont.eot
├── lmmono10-regular-webfont.svg
├── lmmono10-regular-webfont.ttf
├── lmmono10-regular-webfont.woff
├── lmmonoslant10-regular-webfont.eot
├── lmmonoslant10-regular-webfont.svg
├── lmmonoslant10-regular-webfont.ttf
├── lmmonoslant10-regular-webfont.woff
├── lmroman10-bold-webfont.eot
├── lmroman10-bold-webfont.svg
├── lmroman10-bold-webfont.ttf
├── lmroman10-bold-webfont.woff
├── lmroman10-bolditalic-webfont.eot
├── lmroman10-bolditalic-webfont.svg
├── lmroman10-bolditalic-webfont.ttf
├── lmroman10-bolditalic-webfont.woff
├── lmroman10-regular-webfont.eot
├── lmroman10-regular-webfont.svg
├── lmroman10-regular-webfont.ttf
├── lmroman10-regular-webfont.woff
├── lmromanslant10-bold-webfont.eot
├── lmromanslant10-bold-webfont.svg
├── lmromanslant10-bold-webfont.ttf
├── lmromanslant10-bold-webfont.woff
├── lmromanslant10-regular-webfont.eot
├── lmromanslant10-regular-webfont.svg
├── lmromanslant10-regular-webfont.ttf
└── lmromanslant10-regular-webfont.woff
├── favicon.ico
├── fonts-original
├── LinLibertineFont-4.7.5-2.tgz
├── chars
├── chunk.zip
├── essays1743-1.203-1-ttf.tar.gz
└── lm1.106otf.zip
├── forms.html
├── geolocation.html
├── history.html
├── i
├── .htaccess
├── aoc-a.png
├── aoc-b.png
├── aoc-c.png
├── aoc-d.png
├── aoc-e.png
├── aoc-f.png
├── aoc-g.png
├── aoc-h.png
├── aoc-i.png
├── aoc-k.png
├── aoc-l.png
├── aoc-m.png
├── aoc-n.png
├── aoc-o.png
├── aoc-p.png
├── aoc-q.png
├── aoc-r.png
├── aoc-s.png
├── aoc-t.png
├── aoc-v.png
├── aoc-w.png
├── aoc-x.png
├── aoc-y.png
├── aoc-z.png
├── baselines.png
├── canvas-half-pixels-1.jpg
├── canvas-half-pixels-2.jpg
├── dot-tan.png
├── dot.png
├── drawImage.png
├── firefogg-01.png
├── firefogg-02.png
├── firefogg-03.png
├── firefogg-04.png
├── firefogg-05.png
├── firefogg-06.png
├── firefogg-07.png
├── firefogg-08.png
├── firefogg-09.png
├── firefogg-10.png
├── firefogg-11.png
├── firefogg-12.png
├── firefogg-13.png
├── forms.png
├── gears.png
├── geolocation-opt-in.png
├── handbrake-01.png
├── handbrake-02.png
├── handbrake-03.png
├── handbrake-04.png
├── handbrake-05.png
├── handbrake-06.png
├── handbrake-07.png
├── handbrake-08.png
├── handbrake-09.png
├── handbrake-10.png
├── handbrake-11.png
├── input-required.png
├── input-type-color.png
├── input-type-date.png
├── input-type-datetime.png
├── input-type-email-validation.png
├── input-type-email.png
├── input-type-month.png
├── input-type-number-at-max-opera.png
├── input-type-number-opera.png
├── input-type-number-validation.png
├── input-type-number.png
├── input-type-range.png
├── input-type-search-safari-typing.png
├── input-type-search-safari.png
├── input-type-search.png
├── input-type-tel.png
├── input-type-time.png
├── input-type-url-validation.png
├── input-type-url.png
├── input-type-week.png
├── johnny_automatic_gerbil_in_a_chair.png
├── johnny_automatic_man_using_binoculars_2.png
├── johnny_automatic_planet_with_spyglass.png
├── location-bar-empty-focused.png
├── location-bar-empty-unfocused.png
├── markup-with-arrow.png
├── miro-01.png
├── miro-02.png
├── miro-03.png
├── miro-04.png
├── miro-05.png
├── miro-06.png
├── miro-07.png
├── miro-08.png
├── miro-09.png
├── openclipart.org_johnny_automatic_3_birds.png
├── openclipart.org_johnny_automatic_8_from_behind.png
├── openclipart.org_johnny_automatic_Corsican_Pine.png
├── openclipart.org_johnny_automatic_a_dog_and_a_cat_with_an_umbrella.png
├── openclipart.org_johnny_automatic_a_pink.png
├── openclipart.org_johnny_automatic_angry_guy.png
├── openclipart.org_johnny_automatic_animals_on_see_saw.png
├── openclipart.org_johnny_automatic_at_the_theater.png
├── openclipart.org_johnny_automatic_bag_of_money.png
├── openclipart.org_johnny_automatic_baseball_at_bat.png
├── openclipart.org_johnny_automatic_big_sandwich.png
├── openclipart.org_johnny_automatic_blowfish.png
├── openclipart.org_johnny_automatic_cabin_along_stream.png
├── openclipart.org_johnny_automatic_card_trick.png
├── openclipart.org_johnny_automatic_clock_tower.png
├── openclipart.org_johnny_automatic_demon_reading_Stewart_Orr.png
├── openclipart.org_johnny_automatic_divider_cards.png
├── openclipart.org_johnny_automatic_dog_on_chair.png
├── openclipart.org_johnny_automatic_fishing_boat.png
├── openclipart.org_johnny_automatic_girl_feeding_birds.png
├── openclipart.org_johnny_automatic_globe_man.png
├── openclipart.org_johnny_automatic_half_stack_of_horizontal_sections.png
├── openclipart.org_johnny_automatic_little_professor.png
├── openclipart.org_johnny_automatic_man_reading_newspaper.png
├── openclipart.org_johnny_automatic_monkey_reading.png
├── openclipart.org_johnny_automatic_newsboy.png
├── openclipart.org_johnny_automatic_peeking_out_the_window.png
├── openclipart.org_johnny_automatic_riding_a_bike.png
├── openclipart.org_johnny_automatic_tree_on_top_of_hill.png
├── openclipart.org_johnny_automatic_typewriter.png
├── openclipart.org_johnny_automatic_young_girl_pointing.png
├── openclipart.org_maven_Galileo_Galilei.png
├── openclipart.org_media_files_Selanit_8331.png
├── openclipart.org_media_files_johnny_automatic_1360.png
├── openclipart.org_media_files_johnny_automatic_4145.png
├── openclipart.org_media_files_johnny_automatic_4794.png
├── openclipart.org_media_files_johnny_automatic_7563.png
├── pr6.mp4
├── pr6.ogv
├── pr6.webm
├── rel-email.png
└── video.png
├── index.html
├── introduction.html
├── j
├── .htaccess
├── canvastext-fx3.js
├── dih5.js
├── excanvas.js
├── excanvas.min.js
├── ga.js
├── gears_init.js
├── gears_init.min.js
├── geo.js
├── geo.min.js
├── html5-video.js
├── html5.js
├── jquery.js
├── jquery.min.js
├── legal.js
├── modernizr.js
└── modernizr.min.js
├── legal.html
├── mobile.css
├── mockups
├── forms.bmml
├── gears.bmml
├── markup-with-arrow.bmml
├── rel-email.bmml
└── video.bmml
├── offline.html
├── past.html
├── peeks-pokes-and-pointers.html
├── robots.txt
├── s
├── click.mp3
└── click.ogg
├── screen.css
├── semantics.html
├── sounds-original
└── click.wav
├── storage.html
├── table-of-contents.html
├── util
├── buildtoc.py
├── compiler.jar
├── htmlminimizer.py
├── lesscss.py
├── roman.py
├── validate.py
└── yuicompressor-2.4.2.jar
├── video.html
└── workers.html
/.hgignore:
--------------------------------------------------------------------------------
1 | syntax: glob
2 | *.pyc
3 | build
4 | private
5 |
--------------------------------------------------------------------------------
/.htaccess:
--------------------------------------------------------------------------------
1 | FileETag MTime Size
2 |
3 | SetEnv dont-vary
4 |
5 | AddType text/cache-manifest .manifest
6 | AddType application/x-font-ttf .ttf
7 | AddType application/vnd.ms-fontobject .eot
8 | AddType application/x-woff .woff
9 |
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | PYTHON3 = python3
2 | PYTHON2 = python2.6
3 | JAVA = java
4 |
5 | REVISION := $(shell git rev-parse --short HEAD)
6 |
7 | all: validate-html buildtoc clean init minimize-html minimize-js minimize-css combine-js build-sitemap substitute-minimized-scripts-and-css remove-unused-css-selectors add-revision-number-to-manifests set-file-permissions
8 |
9 | validate-html:
10 | { for f in *.html; do python3 util/validate.py "$$f" > /dev/null || exit 1; done }
11 |
12 | buildtoc:
13 | ${PYTHON3} util/buildtoc.py
14 |
15 | clean:
16 | rm -rf build
17 |
18 | init: clean
19 | mkdir build
20 | mkdir build/fonts-original
21 | cp robots.txt .htaccess *.css *.ico build/
22 | cp -R j build/
23 | cp -R i build/
24 | cp -R f build/
25 | cp -R s build/
26 | cp -R examples build/
27 | cp fonts-original/*.tar.gz build/fonts-original/
28 |
29 | minimize-html: init
30 | { for f in *.html; do python3 util/htmlminimizer.py "$$f" build/"$$f" || exit 1; done }
31 | sed -i -e "s|;||g" build/*.html
32 |
33 | minimize-js: init
34 | ${JAVA} -jar util/compiler.jar -js build/j/dih5.js > build/j/dih5.min.js
35 | ${JAVA} -jar util/compiler.jar -js build/j/canvastext-fx3.js > build/j/canvastext-fx3.min.js
36 |
37 | minimize-css: init
38 | sed -i -e "s|url(i/|url(//d.wearehugh.com/dih5/|g" build/screen.css
39 | java -jar util/yuicompressor-2.4.2.jar build/screen.css > build/${REVISION}.css
40 | java -jar util/yuicompressor-2.4.2.jar build/mobile.css > build/m-${REVISION}.css
41 | sed -i -e "s|;}|}|g" -e "s|\"|'|g" build/${REVISION}.css
42 | sed -i -e "s|;}|}|g" -e "s|\"|'|g" build/m-${REVISION}.css
43 |
44 | combine-js: minimize-js
45 | cat build/j/legal.js build/j/jquery.min.js build/j/modernizr.min.js build/j/canvastext-fx3.min.js build/j/dih5.min.js > build/j/${REVISION}.js
46 | cat build/j/legal.js build/j/gears_init.min.js build/j/geo.min.js > build/j/${REVISION}-maps.js
47 |
48 | build-sitemap: minimize-html
49 | ls build/*.html | sed -e "s|build/|http://diveintohtml5.org/|g" -e "s|/index.html|/|g" > build/sitemap.txt
50 |
51 | substitute-minimized-scripts-and-css: minimize-html minimize-js minimize-css combine-js
52 | sed -i -e "s|||g" \
53 | -e "s|||g" \
54 | -e "s|||g" \
55 | -e "s|||g" \
57 | -e "s|
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | My Weblog
21 | A lot of effort went into making this effortless.
22 |
23 |
24 |
25 |
31 |
32 |
33 |
34 |
35 |
36 |
37 | October 22, 2009
38 |
41 |
42 |
43 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec hendrerit felis accumsan turpis pretium tempor. Duis eu turpis nunc, ut euismod nisl. Aliquam erat volutpat. Proin eu eros mollis dui fringilla sodales. Curabitur venenatis tincidunt felis ac congue. Maecenas at odio dui, sit amet congue sapien. Proin placerat feugiat eros, non mollis quam pharetra at. Duis gravida eleifend ligula nec auctor. Fusce nulla diam, fringilla non ultrices in, iaculis eu tellus. Sed mollis consequat turpis sit amet facilisis. Donec pretium luctus aliquet. Curabitur placerat varius purus vel congue. Aliquam erat volutpat. Curabitur vitae eros sed turpis sollicitudin mattis. Morbi venenatis pulvinar nunc, at vulputate massa placerat a. Nam et tortor id nisi consequat tempor eget sit amet risus. Praesent bibendum, velit eu hendrerit porttitor, elit mauris posuere nisl, non pellentesque est leo a quam.
44 |
45 |
46 |
47 |
48 |
49 | October 17, 2009
50 |
53 |
54 |
55 | Sed ante mi, sagittis sed euismod sit amet, convallis et nibh. Etiam sit amet odio dui, id semper turpis. Mauris risus mauris, imperdiet pulvinar vehicula et, hendrerit vitae dui. Phasellus ultrices lacus rhoncus purus posuere rutrum. Maecenas mattis eleifend scelerisque. Nulla quam sem, facilisis ac ultrices et, tincidunt eu dolor. Mauris arcu est, porttitor eu blandit nec, pulvinar sed enim. Praesent diam felis, cursus at facilisis eu, mollis ut elit. Praesent rutrum porta euismod. Nulla facilisi. Suspendisse potenti. In auctor ultricies eleifend. Proin erat dolor, malesuada non tempus nec, tincidunt in mi.
56 |
57 |
58 |
59 | §
60 |
61 |
80 |
81 |
88 |
89 |
90 |