├── .gitignore
├── Makefile
├── README.md
├── about.html
├── canvas.html
├── detect.html
├── 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
├── team.html
├── util
├── buildtoc.py
├── compiler.jar
├── htmlminimizer.py
├── lesscss.py
├── roman.py
├── validate.py
└── yuicompressor-2.4.2.jar
├── video.html
└── workers.html
/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | .DS_Store
3 |
--------------------------------------------------------------------------------
/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/diveintohtml5-common-${REVISION}.min.js
46 | cat build/j/legal.js build/j/gears_init.min.js build/j/geo.min.js > build/j/diveintohtml5-common-${REVISION}-maps.min.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|
52 |