This is about adding a new HTML tag.
Tidy tries to support all tags supported by the W3C. To add a new supported tag, the defintion begins in
tidyenum.h, to give it a value. Then it is added to the
tag_defs table in
tags.c, where it is given a unique string, supported html versions, attributes support, and a bit
Note, there are a group of configuration options to add tags not yet approved by the W3C. These are new-blocklevel-tags, new-empty-tags, new-inline-tags. and new-pre-tags. This provides a way to extend the
tag_defs table just for that tidy session.
So, adding a new HTML tag consists of the following simple steps:
tidyenum.h - Give the element an internal name, like
TidyTag_XXXX, and thus a value. Please keep this list in alphabetical order.
tags.c - Add a line to the
tag_defs table. This assigns the unique string value of the element. Then the html versions that support the element, a pointer to the attributes supported by that elelment, and a bit field of the elements characteristics, inline, block, etc.
So, just changing 2 files,
tags.c, and libTidy will now support that element, tag, as W3C approved. Simple... And at times, there is some case for adding tags that are still in the
Working Draft stage, especially when there has been wide spread support in the community, even before it reaches
Now, one could argue that this is not the best way to verify every attribute and value, for every tag, but that is a moot point - that is how tidy does it!
; eof 20170205