summaryrefslogtreecommitdiff
path: root/doc/bugs/html5_support.mdwn
blob: 41f955e51bd217de2f4503512766894534d767bb (plain)

Some elements of HTML5 can be safely supported by ikiwiki. There are several differences between HTML4 and HTMl5. Unsupported new elements should degrade gracefully.

In the origin/html branch, there is an old work in progress to make ikiwiki use html 4 instead of xhtml. If that could be brought forward and finished then the plan has been to switch ikiwiki over to doing html 4. I don't think it makes sense to try to make it support both xhtml and html, it would complicate the code for no benefit.

I think that is the best route toward supporting html 5 as well. Get ikiwiki doing html 4 first and the changes needed to get to 5 from there should be small. Probably just changing some doctypes and a few other small changes which could be kept in a branch, or even shipped in ikiwiki mainline as an alternate set of templates. Some of the changes, like supporting new html 5 tags in the htmlscrubber, can be done in mainline. (Like was already done for the html 5 video and audio tags.)

This approach seems much more maintainable going foward than rolling a html 5 branch immediatly and trying to keep that continually up-to-date with mainline ikiwiki that is still using xhtml. --[[Joey]]

However as an early adopter I would like to start using HTML5 as much as possible. The more pragmatic solution would be to use elements supported by the browsers of your readership I guess. I'm following other early adopters like Anne for clues on how to proceed.

I can't figure out how to pull from this repository.

Sorry! I have fixed the cloneurl file to read git clone git://webconverger.org/git/ikiwiki

I'm unsure how to turn off the test validation by the very old wdg-html-validator. So I have been unable to test my initial patches as I can't build ikiwiki. I would like to know how to edit the rules/Makefile to temporarily disable this.

Don't run ¨make test" ... --[[Joey]]

I don't quite grok debhelper7 rules.

Well, ok :-) rm t/html.t or, add an empty override_dh_auto_test rule. --[[Joey]]

validator.nu incidentally is the HTML5 validator, however it is almost impossible to sanely introduce as a build dependency because of its insane Java requirements. :( I test locally via cURL, though Debian packages cannot be built with a network dependency.

Notes

  • the time element ideally needs the datatime= attribute set with iso8601 time

  • I suspect the migration to the new semantic elements of HTML5 like article, header & footer to take some time, due to browser support. Though they sure make the template code look much nicer.

  • <br> and too many <div>s usually indicates poor semantics.

    YMMV, but I tend to find that kind of concern counterproductive. --[[Joey]]

  • Many of the header <span>s should be proper header elements

    See [[todo/Option_to_make_title_an_h1__63__]] for why not. --[[Joey]]