- From: Erik Rossen <rossen@freesurf.ch>
- Date: Wed, 2 Aug 2000 09:16:44 +0200 (MEST)
- To: html-tidy@w3.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I've been using the "-slides" option in tidy8jul00 the last few days and I've come across two bugs. The first bug is that Tidy will segfault if there is no <BODY> level content before the first <H2> marker. Try it yourself and see. I use the following tidy.conf file: wrap: 80 wrap-attibutes: no markup: yes quote-ampersand: no break-before-br: yes uppercase-tags: yes uppercase-attributes: yes char-encoding: latin1 tidy-mark: no doctype: strict enclose-text: yes new-inline-tags: blink on the following test.html file: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <TITLE>tidy -slides test page</TITLE> </HEAD> <BODY> <H2>Subtitle A</H2> <P>Some text about "A".</P> <H2>Subtitle B</H2> <P>Some text about "B".</P> </BODY> </HTML> "tidy -slides test.html" segfaults. If you put some content between <BODY> and <H2>, Tidy will work just fine. I am running SuSE6.4 Linux 2.2.14 - i586. The second bug (actually a buglet) is that slides are not numbered in zero-padded format. This is not a problem if you have less than 9 slides or you are not using scripts to extract information out of the resulting slide files, but if you have 85 slides and you want to construct a table of contents, it is annoying that "39" comes before "4" in file listings. I ran the following two lines on pprint.c: perl -i -p -e 's/slide1.html/slide001.html/' pprint.c perl -i -p -e 's/slide%d.html/slide%03d.html/' pprint.c and now I won't have any problems unless I have more than one thousand slides (heaven forbid!). Running diff -u1 gives the following patch: diff -u1 tidy8jul00/pprint.c tidy/pprint.c - --- tidy8jul00/pprint.c Sat Jul 8 20:24:07 2000 +++ tidy/pprint.c Mon Jul 31 13:14:35 2000 @@ -1566,3 +1566,3 @@ { - - sprintf(buf, "<a href=\"slide%d.html\">previous</a> | ", slide-1); + sprintf(buf, "<a href=\"slide%03d.html\">previous</a> | ", slide-1); PPrintString(fout, indent , buf); @@ -1571,5 +1571,5 @@ if (slide < count) - - PPrintString(fout, indent , "<a href=\"slide1.html\">start</a> | "); + PPrintString(fout, indent , "<a href=\"slide001.html\">start</a> | "); else - - PPrintString(fout, indent , "<a href=\"slide1.html\">start</a>"); + PPrintString(fout, indent , "<a href=\"slide001.html\">start</a>"); @@ -1580,3 +1580,3 @@ { - - sprintf(buf, "<a href=\"slide%d.html\">next</a>", slide+1); + sprintf(buf, "<a href=\"slide%03d.html\">next</a>", slide+1); PPrintString(fout, indent , buf); @@ -1600,3 +1600,3 @@ /* insert div for onclick handler */ - - sprintf(buf, "<div onclick=\"document.location='slide%d.html'\">", + sprintf(buf, "<div onclick=\"document.location='slide%03d.html'\">", (slide < count ? slide + 1 : 1)); @@ -1730,3 +1730,3 @@ { - - sprintf(buf, "slide%d.html", slide); + sprintf(buf, "slide%03d.html", slide); out.state = FSM_ASCII; @@ -1751,3 +1751,3 @@ { - - sprintf(buf, "slide%d.html", slide); + sprintf(buf, "slide%03d.html", slide); If you are curious to see what one of these slide shows looks like, check out http://www.multimania.com/rossen/australia/slide001.html. Note that the table of contents was constructed and inserted into the first slide using a script, not Tidy. A philosophical question for Dave: Wouldn't it be better to have the "-slides" function in it's own little program (like the tab2space utility)? It doesn't have much to do with making HTML tidy... Cheers, Erik Rossen ^ rossen@freesurf.ch /e\ http://www.multimania.com/rossen --- GPG key ID: 2935D0B9 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.0 (GNU/Linux) Comment: Made with pgp4pine 1.75 iD8DBQE5h8rhY88aPik10LkRArDgAJ9UjyWOP34M0eAvUjvLGEDagMATPwCeIVzF eTtbLifwS5gpQGfb0BVElqI= =N3Mk -----END PGP SIGNATURE-----
Received on Wednesday, 2 August 2000 03:47:32 UTC