Cookbook /
HTML5Extensions
Summary: resources to use new HTML5 elements
Version:
Prerequisites: PmWiki 2.2.58 or newer
Status: new
Maintainer:
Discussion: HTML5Extensions-Talk
Questions answered by this recipe
How can I use new HTML5 elements?
Description
Various HTML5 extension recipes.
List of Recipes
- Cookbook /
- Audio5 HTML5 Audio Support for PmWiki (Stable)
- FormsPlus Form extensions adding new HTML5 input types (new updated)
- HTML5Audio Play HTML5 Audio (obsolete - use APE - Automagical PmWiki Embed instead)
- HTML5Video Show HTML5 Video (obsolete - use APE - Automagical PmWiki Embed instead)
- Video5 HTML5 Video Support for PmWiki (Stable)
HTML5 Markup extensions
Note: Semantic HTML5 tags (article, section, nav, header, footer, aside, address
) are included in PmWiki distribution from version 2.2.75 (2015-04-26).
For a start some code snippets to add new markup rules to older version.
Add to config.php:
Some new semantic block-level elements
(:article:), (:section:), (:header:), (:footer:), (:nav:), (:aside:), (:canvas:), (:address:) All closing with (:<tagname>end:)
(:article:)
and (:section:)
can be nested using numerals prepended, same as used in div markup
Attributes are passed on. First name without a key= is used as id=<name>.
Markup_e('html5', '>table', '/^\\(:((article\\d*|section\\d*|header|footer|nav|aside|canvas|address)(?:end)?)(\\s.*?)?:\\)/i', "HTML5Block(\$m[1], \$m[3])"); function HTML5Block($name,$attr) { global $MarkupFrame; $attr = preg_replace("/^\\s*([\\w]+)\\s?/","id='$1'",$attr); $attr = PQA($attr); $name = strtolower($name); $key = preg_replace('/end$/', '', $name); $out = '<:block>'.MarkupClose($key); if (substr($name, -3) == 'end') return $out; $cf = & $MarkupFrame[0]['closeall']; $el = preg_replace("/\\d+/",'',$key); $out .= "\n<$el $attr>"; $cf[$key] = ' </'.$el.'><!-- '.$key.' end -->'; return $out; }
Usage
Notes
Change log / Release notes
See also
Contributors
Comments
See discussion at HTML5Extensions-Talk