]> git.wincent.com - wikitext.git/commit
Add "base_heading_level" option
authorWincent Colaiuta <win@wincent.com>
Mon, 23 Feb 2009 11:28:52 +0000 (12:28 +0100)
committerWincent Colaiuta <win@wincent.com>
Mon, 23 Feb 2009 11:28:52 +0000 (12:28 +0100)
commit437c40727c36077ecacbffc9fbf58e8366347ded
treed2c6a85e8e56caa5ce4ac4cfe6b4146ca2168c6d
parente12b25324675a01cb50ae1d72ed3ba42dac98e14
Add "base_heading_level" option

An integer between 0 and 6 denoting the current "heading level".
This can be used to inform the parser of the "context" in which
it is translating markup.

For example, the parser might be translating blog post excerpts
on a page where there is an "h1" title element for the page itself
and an "h2" title element for each excerpt. In this context it is
useful to set base_heading_level to 2, so that any "top level"
headings in the markup (that is "h1" elements) can be automatically
transformed into "h3" elements so that they appear to be
appropriately "nested" inside the containing page elements.

In this way, markup authors can be freed from thinking about
which header size they should use and just always start from "h1"
for their most general content and work their way down.

An additional benefit is that markup can be used in different
contexts at different levels of nesting and the headings will be
adjusted to suit automatically with no intervention from the
markup author.

Finally, it's worth noting that in contexts where the user input
is not necessarily trusted, this setting can be used to prevent
users from inappropriately employing "h1" tags in deeply-nested
contexts where they would otherwise disturb the visual harmony of
the page.

Signed-off-by: Wincent Colaiuta <win@wincent.com>
doc/RELEASE-NOTES
doc/rdoc.rb
ext/parser.c
ext/token.c
ext/token.h
ext/wikitext.c
spec/base_heading_level_spec.rb [new file with mode: 0644]