Pushing for full HTML5 support

Tidy Project <[email protected]> Fri, 5 Sep 2014 15:47:08 +0200
Newsgroups gmane.comp.web.html-tidy.devel
Message-ID <CAPuVx4NQry8W+aFRkfX5SceUKQrpwTBkpdpfCENUW_mv83ZUyw@mail.gmail.com>
--===============1717242294640590331==
Content-Type: multipart/alternative; boundary=001a113330549001ec050251b49f

--001a113330549001ec050251b49f
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Cross posted from https://github.com/w3c/tidy-html5/issues/122

Hi Ionel,

What a pleasure to get your email ;=3D)) It seemed no one was interested in
furthering tidy so I reverted back to other things...

> what=E2=80=99s new in your version

First I swung over the a cmake build which supports cross platform building
using a wide variety of 'native' tools all through a single, easy to
maintain
CMakeLists.txt. And currently build a WIN32 and WIN64 in Windows, and an
Ubuntu
linux 14.04 64-bit versions of tidy. At present it is quite a basic form,
but
lots of other cmake 'features' could be added... if needed... One obvious
one
on my TODO list is to supply the RELEASE_DATE and PLATFORM_NAME from within
CMakeLists.txt (removing version.h)...

I now have quite a LOT of experience with cmake, and even have a
'cmake-test'
repo - https://gitorious.org/fgtools/cmake-test - where I experiment with
lots
of different 'features'...

Second, I gathered as much information from the W3C site, particularly, but
not
restricted to, http://www.w3schools.com/html/html5_new_elements.asp... and
added about 30 test files in test/html5 to try to test each of the 'new'
elements in HTML5, making fixes to the code where it failed... some
elements
were 'missing' in the w3c/tidy-html5 source, perhaps deliberately...

Then added about a dozen pairs of html to test elements removed in 5 - the
pair
consists of the element in HTML4, and then the element in HTML5, again
adding/fixing code where necessary to get through these tests. The idea
here is
that if the document is found to be HTML4 then there should be no warning,
however is found to be HTML5 then there should be a warning (or error), and
if
tidy is configured to clean, then it should try to remove/fix what it can.
As
you may know tidy has always replaced <dir> with <ul> so some of this was
already there... but more to do...

Then back to the original nearly 250 'test/input' files, to try to check
that
the HTML5 additions/changes had NOT badly broken HTML4 and earlier...

Here I started to run out of steam ;=3D(( With no one to discuss with, boun=
ce
ideas off, no feedback! There were things that I could not decide one way
or
another, so as stated drifted back to other things...

> Is is possible to merge these changes back here?

That was always intended, but I do not have commit rights to
w3c/tidy-html5,
nor to the original cvs repo, although as you may know have been involved
with
tidy for quite a long LONG time... but no one was responding, testing...

My main concern is how to keep HTML4 and earlier support, while still being
able to handle HTML5, since they do have some contradictory elements?

Of course one course of action would be to separate the library into to 2
separate libraries, with one specifically for HTML5, and build a tidy5 app,
but
that seems 'ugly'...

In testing I have been using doctype: html5 to tell tidy to go HTML5
'mode',
and trigger extra HTML5 checks and fixes, but I think ideally tidy should
'detect' this, maybe because the document -

(a) has the HTML5 doctype <!DOCTYPE html>
(b) has a <meta charset=3D"UTF-8"> without a content attribute
(c) contains new element only in HTML5
or a combination of these, or other things... but I never got this right...

And maybe such a determination that this IS html5 could trigger some
dynamic
changes in the main element/attributes tables, but this seems a little
difficult with the caching of these table element...

So here we are... I would be willing to put in some more time on tidy, but
only
if there is a solid feedback channel, and others doing some testing,
reporting...

Regards,
Geoff.

On 25/08/14 17:35, Ionel Roiban wrote:
>
> Hello Geoff =E2=80=93
>
> Just came across your tidy-fork repo and saw that yours is more
> frequently updated than w3c/tidy-html5.
>
> Can you please tell us what=E2=80=99s new in your version and if you plan
> to document your changes. Is is possible to merge these changes back
> here?
>
> Thank you.
>
> IR
>

--001a113330549001ec050251b49f
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Cross posted from <a href=3D"https://github.com/w3c/tidy-h=
tml5/issues/122">https://github.com/w3c/tidy-html5/issues/122</a><br><br>Hi=
 Ionel,<br><br>What a pleasure to get your email ;=3D)) It seemed no one wa=
s interested in <br>furthering tidy so I reverted back to other things...<b=
r><br>&gt; what=E2=80=99s new in your version<br><br>First I swung over the=
 a cmake build which supports cross platform building <br>using a wide vari=
ety of &#39;native&#39; tools all through a single, easy to maintain <br>CM=
akeLists.txt. And currently build a WIN32 and WIN64 in Windows, and an Ubun=
tu <br>linux 14.04 64-bit versions of tidy. At present it is quite a basic =
form, but <br>lots of other cmake &#39;features&#39; could be added... if n=
eeded... One obvious one <br>on my TODO list is to supply the RELEASE_DATE =
and PLATFORM_NAME from within <br>CMakeLists.txt (removing version.h)...<br=
><br>I now have quite a LOT of experience with cmake, and even have a &#39;=
cmake-test&#39; <br>repo - <a href=3D"https://gitorious.org/fgtools/cmake-t=
est">https://gitorious.org/fgtools/cmake-test</a> - where I experiment with=
 lots <br>of different &#39;features&#39;...<br><br>Second, I gathered as m=
uch information from the W3C site, particularly, but not <br>restricted to,=
 <a href=3D"http://www.w3schools.com/html/html5_new_elements.asp.">http://w=
ww.w3schools.com/html/html5_new_elements.asp.</a>.. and <br>added about 30 =
test files in test/html5 to try to test each of the &#39;new&#39; <br>eleme=
nts in HTML5, making fixes to the code where it failed... some elements <br=
>were &#39;missing&#39; in the w3c/tidy-html5 source, perhaps deliberately.=
..<br><br>Then added about a dozen pairs of html to test elements removed i=
n 5 - the pair <br>consists of the element in HTML4, and then the element i=
n HTML5, again <br>adding/fixing code where necessary to get through these =
tests. The idea here is <br>that if the document is found to be HTML4 then =
there should be no warning, <br>however is found to be HTML5 then there sho=
uld be a warning (or error), and if <br>tidy is configured to clean, then i=
t should try to remove/fix what it can. As <br>you may know tidy has always=
 replaced &lt;dir&gt; with &lt;ul&gt; so some of this was <br>already there=
... but more to do...<br><br>Then back to the original nearly 250 &#39;test=
/input&#39; files, to try to check that <br>the HTML5 additions/changes had=
 NOT badly broken HTML4 and earlier...<br><br>Here I started to run out of =
steam ;=3D(( With no one to discuss with, bounce <br>ideas off, no feedback=
! There were things that I could not decide one way or <br>another, so as s=
tated drifted back to other things...<br><br>&gt; Is is possible to merge t=
hese changes back here?<br><br>That was always intended, but I do not have =
commit rights to w3c/tidy-html5, <br>nor to the original cvs repo, although=
 as you may know have been involved with <br>tidy for quite a long LONG tim=
e... but no one was responding, testing...<br><br>My main concern is how to=
 keep HTML4 and earlier support, while still being <br>able to handle HTML5=
, since they do have some contradictory elements?<br><br>Of course one cour=
se of action would be to separate the library into to 2 <br>separate librar=
ies, with one specifically for HTML5, and build a tidy5 app, but <br>that s=
eems &#39;ugly&#39;...<br><br>In testing I have been using doctype: html5 t=
o tell tidy to go HTML5 &#39;mode&#39;, <br>and trigger extra HTML5 checks =
and fixes, but I think ideally tidy should <br>&#39;detect&#39; this, maybe=
 because the document -<br><br>(a) has the HTML5 doctype &lt;!DOCTYPE html&=
gt;<br>(b) has a &lt;meta charset=3D&quot;UTF-8&quot;&gt; without a content=
 attribute<br>(c) contains new element only in HTML5<br>or a combination of=
 these, or other things... but I never got this right...<br><br>And maybe s=
uch a determination that this IS html5 could trigger some dynamic <br>chang=
es in the main element/attributes tables, but this seems a little <br>diffi=
cult with the caching of these table element...<br><br>So here we are... I =
would be willing to put in some more time on tidy, but only <br>if there is=
 a solid feedback channel, and others doing some testing, <br>reporting...<=
br><br>Regards,<br>Geoff.<br><br>On 25/08/14 17:35, Ionel Roiban wrote:<br>=
&gt;<br>&gt; Hello Geoff =E2=80=93<br>&gt;<br>&gt; Just came across your ti=
dy-fork repo and saw that yours is more <br>&gt; frequently updated than w3=
c/tidy-html5.<br>&gt;<br>&gt; Can you please tell us what=E2=80=99s new in =
your version and if you plan <br>&gt; to document your changes. Is is possi=
ble to merge these changes back <br>&gt; here?<br>&gt;<br>&gt; Thank you.<b=
r>&gt;<br>&gt; IR<br>&gt;<br><br></div>

--001a113330549001ec050251b49f--


--===============1717242294640590331==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
--===============1717242294640590331==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Tidy-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tidy-develop

--===============1717242294640590331==--