oew
nei

            edit-under.html
 
            edit-under.html
 
 a 2013 test suite
 a 2013 test suite
 
 for project gutenberg
 for project gutenberg
 
 
 
 a document which contains the
 a document which contains the
 
 full range of features found
 full range of features found
 
 in project gutenberg e-texts
 in project gutenberg e-texts
 
 
 
 by bowerbird intelligentleman
 by bowerbird intelligentleman
 
 
 
 greetings,
 greetings,
 
earthling...
earthling...
 
 
 
 this is a test suite created for
 this is a test suite created for
 
 e-texts from project gutenberg,
 e-texts from project gutenberg,
 
 a 40-year-old volunteer effort to
 a 40-year-old volunteer effort to
 
 put public-domain literature online.
 put public-domain literature online.
 
save
 
 please go visit their web-site for
 please go visit their web-site for
 
 the latest news and information on
 the latest news and information on
 
 usage conditions for their e-texts,
 usage conditions for their e-texts,
 
 volunteering for them,
 volunteering for them,
 
and more...
and more...
 
save
 
 http://gutenberg.org
 http://gutenberg.org
 
 
 
 you can "view source" for this document here:
 you can "view source" for this document here:
 
save
 
 http://zenmagiclove.com/zml/analyze.zml
 http://zenmagiclove.com/zml/analyze.zml
 
 
 
 
 
 table of contents
 table of contents
 
 
 
 a 2013 test suite for project gutenberg
 a 2013 test suite for project gutenberg
 
 table of contents
 table of contents
 
 dedication
 dedication
 
 chapter 1
 chapter 1
 
-- welcome aboard
-- welcome aboard
 
 chapter 2
 chapter 2
 
-- the sections of the book
-- the sections of the book
 
 chapter 3
 chapter 3
 
-- text "styling"
-- text "styling"
 
 chapter 4
 chapter 4
 
-- plain ascii versus unicode
-- plain ascii versus unicode
 
 chapter 5
 chapter 5
 
-- poetry and other silly things
-- poetry and other silly things
 
 chapter 6
 chapter 6
 
-- tables in your e-texts
-- tables in your e-texts
 
 chapter 7
 chapter 7
 
-- centered text
-- centered text
 
 chapter 8
 chapter 8
 
-- pictures in your book
-- pictures in your book
 
 chapter 9
 chapter 9
 
-- footnotes and endnotes
-- footnotes and endnotes
 
 chapter 10
 chapter 10
 
-- hotlinks in your e-texts
-- hotlinks in your e-texts
 
 chapter 11
 chapter 11
 
-- hyphens and dashes
-- hyphens and dashes
 
 chapter 12
 chapter 12
 
-- hyphenation stinks
-- hyphenation stinks
 
 chapter 13
 chapter 13
 
-- unlucky number 13
-- unlucky number 13
 
 chapter 14
 chapter 14
 
-- two spaces after a sentence
-- two spaces after a sentence
 
 chapter 15
 chapter 15
 
-- multi-purpose block-quotes
-- multi-purpose block-quotes
 
 chapter 16
 chapter 16
 
-- the play is the thing
-- the play is the thing
 
 chapter 17
 chapter 17
 
-- epigraphs and epitaphs
-- epigraphs and epitaphs
 
 chapter 18
 chapter 18
 
-- lists in your book
-- lists in your book
 
 a subsection of chapter 18
 a subsection of chapter 18
 
 another subsection of chapter 18
 another subsection of chapter 18
 
 chapter 19
 chapter 19
 
-- the meta-data chapter
-- the meta-data chapter
 
 chapter 20
 chapter 20
 
-- zen markup language
-- zen markup language
 
 chapter 21
 chapter 21
 
-- the end
-- the end
 
 the notes section
 the notes section
 
 meta-data for this book
 meta-data for this book
 
 
 
 
 
 dedication
 dedication
 
 
 
 to michael hart
 to michael hart
 
 for his bold vision
 for his bold vision
 
 and his persistence
 and his persistence
 
 
 
 
 
 chapter 1
 chapter 1
 
 welcome aboard
 welcome aboard
 
 
 
welcome!
welcome!
 
 
this is a document intended to demonstrate the range of features
this is a document intended to demonstrate the range of features
 
common throughout the e-texts in the project gutenberg library,
common throughout the e-texts in the project gutenberg library,
 
and indeed to the majority of printed books.
and indeed to the majority of printed books.
 
 
project gutenberg is a volunteer effort for
project gutenberg is a volunteer effort for
 
digitizing the text of public-domain books,
digitizing the text of public-domain books,
 
for viewing and distribution in cyberspace.
for viewing and distribution in cyberspace.
 
save
 
 http://gutenberg.org
 http://gutenberg.org
 
 
it was begun by michael hart back in 1971,
it was begun by michael hart back in 1971,
 
with the goal of creating 10,000 e-texts,
with the goal of creating 10,000 e-texts,
 
a milestone achieved in 2003,
a milestone achieved in 2003,
 
thanks to a big boost from distributed proofreaders,
thanks to a big boost from distributed proofreaders,
 
which allows people to proofread online
which allows people to proofread online
 
-- thousands of them doing a page at a time,
-- thousands of them doing a page at a time,
 
volunteering bits and pieces of their time.
volunteering bits and pieces of their time.
 
save
 
 http://pgdp.net
 http://pgdp.net
 
 
if you want to support the p.g.
if you want to support the p.g.
 
library with software,
library with software,
 
a markup system,
a markup system,
 
or so on,
or so on,
 
you should be able to handle its features,
you should be able to handle its features,
 
and you can use this file as a "test suite" to
and you can use this file as a "test suite" to
 
verify that your system is fully capable.
verify that your system is fully capable.
 
 
this document should be self-explanatory.
this document should be self-explanatory.
 
tabs have been substituted with "~tab~",
tabs have been substituted with "~tab~",
 
so that they will become visible to you,
so that they will become visible to you,
 
so they could be changed back for your testing.
so they could be changed back for your testing.
 
other than that,
other than that,
 
no changes should be needed.
no changes should be needed.
 
 
this is the test of a link in the
this is the test of a link in the
 
middle of a normal paragraph,
middle of a normal paragraph,
 
to http://pgdp.net,
to http://pgdp.net,
 
to see if it works correctly...
to see if it works correctly...
 
 
if you find inconsistencies in this test suite,
if you find inconsistencies in this test suite,
 
do please let me know immediately.
do please let me know immediately.
 
thank you.
thank you.
 
 
 
 
 
 chapter 2
 chapter 2
 
 the sections of the book
 the sections of the book
 
 
 
first,
first,
 
you should be able to handle headings of different levels,
you should be able to handle headings of different levels,
 
such as the book,
such as the book,
 
chapters,
chapters,
 
and subsections.
and subsections.
 
 
you may label the levels as you like.
you may label the levels as you like.
 
 
html can support 6 different levels,
html can support 6 different levels,
 
so that's a good number to shoot for.
so that's a good number to shoot for.
 
 
one of the things that users find handy is
one of the things that users find handy is
 
a _table_ _of_ _contents_ for the e-book,
a _table_ _of_ _contents_ for the e-book,
 
so you must be capable of generating one,
so you must be capable of generating one,
 
in cases where an e-text doesn't have one.
in cases where an e-text doesn't have one.
 
 
because of their experience with the web,
because of their experience with the web,
 
people often expect this table of contents to
people often expect this table of contents to
 
be hotlinked to the appropriate sections,
be hotlinked to the appropriate sections,
 
so your markup system should facilitate that.
so your markup system should facilitate that.
 
a nice touch is then to have chapter headings
a nice touch is then to have chapter headings
 
then link _back_ to the table of contents...
then link _back_ to the table of contents...
 
 
 
 
 
 chapter 3
 chapter 3
 
 text "styling"
 text "styling"
 
 
 
project gutenberg was born a very long time ago,
project gutenberg was born a very long time ago,
 
before word-processors and personal computers...
before word-processors and personal computers...
 
a rumor is that michael used a keypunch machine
a rumor is that michael used a keypunch machine
 
(it's ok if you're too young to know what that is)
(it's ok if you're too young to know what that is)
 
to enter a good number of the original e-texts...
to enter a good number of the original e-texts...
 
 
computers didn't even have lowercase
computers didn't even have lowercase
 
characters in the early days,
characters in the early days,
 
so the whole book was capitalized!
so the whole book was capitalized!
 
luckily,
luckily,
 
before long we got lowercase characters.
before long we got lowercase characters.
 
 
but still,
but still,
 
"luxuries" like _italicized_ and
"luxuries" like _italicized_ and
 
*bold* text were not possible,
*bold* text were not possible,
 
so michael developed a convention where a word that was *bold*
so michael developed a convention where a word that was *bold*
 
or _italics_ in the original was entered in all-uppercase,
or _italics_ in the original was entered in all-uppercase,
 
to show that emphasis.
to show that emphasis.
 
 
because the e-texts are stored as raw ascii text,
because the e-texts are stored as raw ascii text,
 
that convention lives on,
that convention lives on,
 
to this day,
to this day,
 
in some files.
in some files.
 
by this time,
by this time,
 
however,
however,
 
we need to be able to handle styled text,
we need to be able to handle styled text,
 
so your systems must be able to do so.
so your systems must be able to do so.
 
 
ho-hum,
ho-hum,
 
i guess i'm going to have to finally put it the capacity
i guess i'm going to have to finally put it the capacity
 
to mark `code,` or someone will raise a stink about it,
to mark `code,` or someone will raise a stink about it,
 
and act like the absence of it is something
and act like the absence of it is something
 
that `negates` everything else.
that `negates` everything else.
 
save
 
 `
 `
 
 `this is a line of code.`
 `this is a line of code.`
 
 `here is another.`
 `here is another.`
 
 `var varx = "x" ;`
 `var varx = "x" ;`
 
 `if
 `if
 
( varx == "x" ) :
( varx == "x" ) :
 
varx = "y" ;`
varx = "y" ;`
 
 `i hope you're happy now.`
 `i hope you're happy now.`
 
 
 
 
 
 chapter 4
 chapter 4
 
 plain ascii versus unicode
 plain ascii versus unicode
 
 
 
most english e-texts in the library can be
most english e-texts in the library can be
 
represented in the lower-ascii characters,
represented in the lower-ascii characters,
 
but future e-texts are likely to
but future e-texts are likely to
 
require some unicode characters,
require some unicode characters,
 
so you should without question be able to handle unicode.
so you should without question be able to handle unicode.
 
save
 
 one space at the start of a line.
 one space at the start of a line.
 
(centered)
(centered)
 
  two spaces at the start of a line.
  two spaces at the start of a line.
 
(left)
(left)
 
   three spaces at the start of a line.
   three spaces at the start of a line.
 
(centered)
(centered)
 
    four spaces at the start of a line.
    four spaces at the start of a line.
 
(right)
(right)
 
     five spaces at the start of a line.
     five spaces at the start of a line.
 
(25%)
(25%)
 
      six spaces at the start of a line.
      six spaces at the start of a line.
 
(30%)
(30%)
 
       seven spaces at the start of a line.
       seven spaces at the start of a line.
 
(35%)
(35%)
 
        eight spaces at the start of a line.
        eight spaces at the start of a line.
 
(40%)
(40%)
 
         nine spaces at the start of a line.
         nine spaces at the start of a line.
 
(45%)
(45%)
 
          ten spaces at the start of a line.
          ten spaces at the start of a line.
 
(50%)
(50%)
 
 
 
 
 
 chapter 5
 chapter 5
 
 poetry and other silly things
 poetry and other silly things
 
 
 
many of the e-texts contain *poetry,*
many of the e-texts contain *poetry,*
 
or verse of some type,
or verse of some type,
 
so your system must be able to handle silliness like that.
so your system must be able to handle silliness like that.
 
 
some poems want to be left-justified,
some poems want to be left-justified,
 
so you should be able to handle that:
so you should be able to handle that:
 
save
 
               a haiku for you
               a haiku for you
 
             
             
 
(by bowerbird intelligentleman)
(by bowerbird intelligentleman)
 
               haiku have three lines
               haiku have three lines
 
               and seventeen syllables
               and seventeen syllables
 
               five,
               five,
 
seven,
seven,
 
and five
and five
 
 
other poems want to be centered instead:
other poems want to be centered instead:
 
save
 
 t.v.
 t.v.
 
will eat you
will eat you
 
 
(by bowerbird intelligentleman)
(by bowerbird intelligentleman)
 
 t.v.
 t.v.
 
will eat you
will eat you
 
 out of a satellite dish
 out of a satellite dish
 
 with a tuning fork
 with a tuning fork
 
 
and some poems want to alternate...
and some poems want to alternate...
 
save
 
      six spaces at the start of this line
      six spaces at the start of this line
 
            12 spaces at the start of this line
            12 spaces at the start of this line
 
      six spaces at the start of this line
      six spaces at the start of this line
 
            12 spaces at the start of this line
            12 spaces at the start of this line
 
      six spaces at the start of this line
      six spaces at the start of this line
 
            12 spaces at the start of this line
            12 spaces at the start of this line
 
      six spaces at the start of this line
      six spaces at the start of this line
 
            12 spaces at the start of this line
            12 spaces at the start of this line
 
 
and some poems want to get fweaky!
and some poems want to get fweaky!
 
save
 
      six spaces at the start of this line
      six spaces at the start of this line
 
          ten spaces at the start of this line
          ten spaces at the start of this line
 
              14 spaces at the start of this line
              14 spaces at the start of this line
 
                  18 spaces at the start of this line
                  18 spaces at the start of this line
 
                      22 spaces at the start of this line
                      22 spaces at the start of this line
 
                          26 spaces at the start of this line
                          26 spaces at the start of this line
 
                      22 spaces at the start of this line
                      22 spaces at the start of this line
 
                  18 spaces at the start of this line
                  18 spaces at the start of this line
 
              14 spaces at the start of this line
              14 spaces at the start of this line
 
          ten spaces at the start of this line
          ten spaces at the start of this line
 
      six spaces at the start of this line
      six spaces at the start of this line
 
 
 
in general,
in general,
 
lines of a poem prefer to stay together,
lines of a poem prefer to stay together,
 
that is,
that is,
 
to be kept all on a page whenever possible,
to be kept all on a page whenever possible,
 
so your system should attempt to accomplish that...
so your system should attempt to accomplish that...
 
 
if it's not possible to keep the whole poem on a page,
if it's not possible to keep the whole poem on a page,
 
try to make the page-break occur between the verses...
try to make the page-break occur between the verses...
 
 
 
 
 
 chapter 6
 chapter 6
 
 tables in your e-texts
 tables in your e-texts
 
 
 
there aren't a whole lot of tables in the e-texts
there aren't a whole lot of tables in the e-texts
 
-- we're talking literature,
-- we're talking literature,
 
not spreadsheets
not spreadsheets
 
-- but your system should handle tables anyway;
-- but your system should handle tables anyway;
 
not really big and hairy ones,
not really big and hairy ones,
 
just simple ones.
just simple ones.
 
save
 
 |  table 1           column 1         column 2
 |  table 1           column 1         column 2
 
 |  plain-text          yes              yes
 |  plain-text          yes              yes
 
 |  x.m.l.
 |  x.m.l.
 
            no               yes
            no               yes
 
 |  html                yes              no
 |  html                yes              no
 
 |  .rtf                no               yes
 |  .rtf                no               yes
 
 |  .pdf                no               no
 |  .pdf                no               no
 
 
 
 
 
 chapter 7
 chapter 7
 
 centered text
 centered text
 
 
 
 ~tab~~tab~    center me please!
 ~tab~~tab~    center me please!
 
  ~tab~~tab~
  ~tab~~tab~
 
 
sometimes,
sometimes,
 
for one reason or another,
for one reason or another,
 
some of an e-text's lines are centered.
some of an e-text's lines are centered.
 
so your system should be able to do that.
so your system should be able to do that.
 
save
 
 ~tab~~tab~    center me as well,
 ~tab~~tab~    center me as well,
 
please!
please!
 
  ~tab~~tab~
  ~tab~~tab~
 
 
 
 
 
 chapter 8
 chapter 8
 
 pictures in your book
 pictures in your book
 
 
 
most of the p.g.
most of the p.g.
 
e-texts are text-only.
e-texts are text-only.
 
but some of them do have pictures,
but some of them do have pictures,
 
so your system must be able to show 'em.
so your system must be able to show 'em.
 
save
 
 http://z-m-l.com/go/alice/checking_watch.png
 http://z-m-l.com/go/alice/checking_watch.png
 
 
put a picture here,
put a picture here,
 
or maybe a button that someone could click
or maybe a button that someone could click
 
in order to view that picture...
in order to view that picture...
 
save
 
 http://z-m-l.com/go/alice/cat_fades.png
 http://z-m-l.com/go/alice/cat_fades.png
 
 
"what is the use of a book," thought alice,
"what is the use of a book," thought alice,
 
"without pictures or conversation?"
"without pictures or conversation?"
 
 http://z-m-l.com/go/alice/alice_cramped.png
 http://z-m-l.com/go/alice/alice_cramped.png
 
 
 
 
 
 chapter 9
 chapter 9
 
 footnotes and endnotes
 footnotes and endnotes
 
 
 
some of the e-texts have footnotes.[1]
some of the e-texts have footnotes.[1]
 
 
your system must be able to handle them.
your system must be able to handle them.
 
how it might do that is up to you,
how it might do that is up to you,
 
captain.
captain.
 
save
 
 http://z-m-l.com/go/alice/alice_holding.png
 http://z-m-l.com/go/alice/alice_holding.png
 
 
 
 
 
 chapter 10
 chapter 10
 
 hotlinks in your e-texts
 hotlinks in your e-texts
 
 
 
remember how,
remember how,
 
in chapter 2,
in chapter 2,
 
we said that the table of contents should
we said that the table of contents should
 
be hot-linked to the appropriate spots?
be hot-linked to the appropriate spots?
 
 
that is one type of link you'll need.
that is one type of link you'll need.
 
there are several other types as well.
there are several other types as well.
 
 
your system should also be able to
your system should also be able to
 
make the jump to an internet site.
make the jump to an internet site.
 
most of the e-texts are quite old,
most of the e-texts are quite old,
 
so of course it's not like they have
so of course it's not like they have
 
a bunch of internet url's in them;
a bunch of internet url's in them;
 
but every e-text will indeed contain a
but every e-text will indeed contain a
 
link to project gutenberg's website,
link to project gutenberg's website,
 
so you must be able to execute links...
so you must be able to execute links...
 
 
quite often there are places in an e-text
quite often there are places in an e-text
 
that reference other parts of the e-text.
that reference other parts of the e-text.
 
in these cases,
in these cases,
 
it's nice to have a hotlink close to
it's nice to have a hotlink close to
 
(or on) that reference point that transports the reader
(or on) that reference point that transports the reader
 
directly to the place that is being referenced;
directly to the place that is being referenced;
 
it is convenient.
it is convenient.
 
your system should facilitate such linking,
your system should facilitate such linking,
 
preferably making it happen automatically.
preferably making it happen automatically.
 
 
for instance,
for instance,
 
the beginning of this chapter has a reference to chapter 2.
the beginning of this chapter has a reference to chapter 2.
 
if a reader clicked on those words
if a reader clicked on those words
 
-- "chapter 2"
-- "chapter 2"
 
-- they should automatically go to chapter 2.
-- they should automatically go to chapter 2.
 
 
save
 
(and likewise with each of the references to
(and likewise with each of the references to
 
"chapter 2" here in this paragraph too.)
"chapter 2" here in this paragraph too.)
 
 
 
 
 
 chapter 11
 chapter 11
 
 hyphens and dashes
 hyphens and dashes
 
 
 
i use a hyphen between "e" and "text" in "e-text".
i use a hyphen between "e" and "text" in "e-text".
 
not everyone does,
not everyone does,
 
but i think that it looks nicer.
but i think that it looks nicer.
 
 
a hyphen
a hyphen
 
-- as you know
-- as you know
 
-- differs from a dash.
-- differs from a dash.
 
and you probably know that there are even two
and you probably know that there are even two
 
(and some people say more!) types of dashes...
(and some people say more!) types of dashes...
 
 
the first - called an "en-dash" - is a narrow one.
the first - called an "en-dash" - is a narrow one.
 
you will see these in a fair number of the e-texts.
you will see these in a fair number of the e-texts.
 
it's called an "en" dash because it was traditionally
it's called an "en" dash because it was traditionally
 
defined as being exactly as wide as the letter "n".
defined as being exactly as wide as the letter "n".
 
(or,
(or,
 
some say,
some say,
 
as _wide_ as a letter "n" is _high,_ so you
as _wide_ as a letter "n" is _high,_ so you
 
can take your pick between those choices.)
can take your pick between those choices.)
 
 
the second
the second
 
-- called an "em-dash"
-- called an "em-dash"
 
-- is wider,
-- is wider,
 
and yes,
and yes,
 
it's called that because it's as wide as an "m",
it's called that because it's as wide as an "m",
 
or so the story goes,
or so the story goes,
 
according to some people...
according to some people...
 
 
generally,
generally,
 
try to use an em-dash,
try to use an em-dash,
 
not an en-dash...
not an en-dash...
 
the en-dash looks too much like a hyphen,
the en-dash looks too much like a hyphen,
 
especially when it is run into the
especially when it is run into the
 
words that are surrounding it.
words that are surrounding it.
 
 
now,
now,
 
the convention says that you should _not_
the convention says that you should _not_
 
have spaces on the sides of a dash.
have spaces on the sides of a dash.
 
the convention is wrong.
the convention is wrong.
 
it looks _much_ nicer if you put spaces around a dash.
it looks _much_ nicer if you put spaces around a dash.
 
 
perhaps even more importantly,
perhaps even more importantly,
 
the search capability of many programs
the search capability of many programs
 
is thrown off if you don't use spaces.
is thrown off if you don't use spaces.
 
 
so are the re-margination routines in many programs,
so are the re-margination routines in many programs,
 
so
so
 
-- to avoid these problems
-- to avoid these problems
 
-- put spaces around dashes.
-- put spaces around dashes.
 
 
a problem arises,
a problem arises,
 
though,
though,
 
because there is no em-dash in the lower-ascii codes.
because there is no em-dash in the lower-ascii codes.
 
so you have to use a double-dash
so you have to use a double-dash
 
-- like these here
-- like these here
 
-- for an em-dash.
-- for an em-dash.
 
ok,
ok,
 
problem solved.
problem solved.
 
your system should be able to convert the
your system should be able to convert the
 
double-dash into a proper em-dash,
double-dash into a proper em-dash,
 
if the user chooses that option.
if the user chooses that option.
 
 
 
 
 
 chapter 12
 chapter 12
 
 hyphenation stinks
 hyphenation stinks
 
 
 
hyphenation is another thing that messes
hyphenation is another thing that messes
 
up e-book search capabilities.
up e-book search capabilities.
 
e-books don't need hyphenation.
e-books don't need hyphenation.
 
so _turn_ _hyphenation_ _off_ when you make an e-book.
so _turn_ _hyphenation_ _off_ when you make an e-book.
 
 
 
 
 
 chapter 13
 chapter 13
 
 unlucky number 13
 unlucky number 13
 
 
 
there is no 13th floor in most buildings.
there is no 13th floor in most buildings.
 
 
 
 
 
 chapter 14
 chapter 14
 
 two spaces after a sentence
 two spaces after a sentence
 
 
 
back in the old typewriter days,
back in the old typewriter days,
 
students were instructed to put
students were instructed to put
 
two spaces after each sentence.
two spaces after each sentence.
 
 
ever since wordprocessing,
ever since wordprocessing,
 
though,
though,
 
some people have said two spaces are no longer required,
some people have said two spaces are no longer required,
 
that it is an unnecessary leftover from earlier times.
that it is an unnecessary leftover from earlier times.
 
 
those people were wrong.
those people were wrong.
 
if you have one space after a period,
if you have one space after a period,
 
sentences run together too much.
sentences run together too much.
 
 
but...
but...
 
 
the thing is,
the thing is,
 
it's actually a lot easier to edit text if
it's actually a lot easier to edit text if
 
you only have one space after a period...
you only have one space after a period...
 
that way,
that way,
 
you can do a search for two spaces,
you can do a search for two spaces,
 
and that search should come up _totally_ empty.
and that search should come up _totally_ empty.
 
 
thus,
thus,
 
to make life easier on the writers out there,
to make life easier on the writers out there,
 
your software should create the smidgen of space necessary
your software should create the smidgen of space necessary
 
to separate two sentences sufficiently.
to separate two sentences sufficiently.
 
 
so,
so,
 
if you're _making_ an e-book,
if you're _making_ an e-book,
 
use just one space.
use just one space.
 
 
 
 
 
 chapter 15
 chapter 15
 
 multi-purpose block-quotes
 multi-purpose block-quotes
 
 
 
sometimes you want to quote a whole
sometimes you want to quote a whole
 
block of stuff from someone.
block of stuff from someone.
 
this is often called a "block-quote".
this is often called a "block-quote".
 
clever,
clever,
 
the guy who came up with that name...
the guy who came up with that name...
 
 
many of the project gutenberg e-texts contain
many of the project gutenberg e-texts contain
 
block-quotes of one various type or another.
block-quotes of one various type or another.
 
 
here's an example of a block-quote,
here's an example of a block-quote,
 
a letter.
a letter.
 
 
 
 ~tab~dear leslie,
 ~tab~dear leslie,
 
 ~tab~
 ~tab~
 
 ~tab~how are you?
 ~tab~how are you?
 
i am fine.
i am fine.
 
 ~tab~the weather is nice here.
 ~tab~the weather is nice here.
 
 ~tab~but i wish it was half
 ~tab~but i wish it was half
 
 ~tab~as beautiful as you are.
 ~tab~as beautiful as you are.
 
 ~tab~
 ~tab~
 
 ~tab~and i wish you were here.
 ~tab~and i wish you were here.
 
 ~tab~
 ~tab~
 
 ~tab~love,
 ~tab~love,
 
 ~tab~bowerbird
 ~tab~bowerbird
 
 
typically,
typically,
 
block-quotes are indented on both the left and right sides.
block-quotes are indented on both the left and right sides.
 
 
here's another block-quote,
here's another block-quote,
 
from a speech.
from a speech.
 
save
 
 > four score and seven years ago,
 > four score and seven years ago,
 
our
our
 
 > forefathers set forth upon this continent
 > forefathers set forth upon this continent
 
 > a new nation,
 > a new nation,
 
conceived in liberty and
conceived in liberty and
 
 > dedicated to the proposition that
 > dedicated to the proposition that
 
 > all men[2] are created equal.
 > all men[2] are created equal.
 
 
there are a number of different situations throughout the
there are a number of different situations throughout the
 
e-texts that might call for this type of indentation.
e-texts that might call for this type of indentation.
 
for now,
for now,
 
we will just subsume them all under "block-quote";
we will just subsume them all under "block-quote";
 
perhaps later we will see fit to break
perhaps later we will see fit to break
 
out a more finely-grained analysis,
out a more finely-grained analysis,
 
if we find any special cases merit their own class.
if we find any special cases merit their own class.
 
 
 
 
 
 chapter 16
 chapter 16
 
 the play is the thing
 the play is the thing
 
 
 
there are plays in the library.
there are plays in the library.
 
gotta be able to handle plays.
gotta be able to handle plays.
 
 
dale:~tab~ that's not what p.g.
dale:~tab~ that's not what p.g.
 
is all about.
is all about.
 
 
bowerbird:~tab~ i think it's important to
bowerbird:~tab~ i think it's important to
 
give people a good e-book experience.
give people a good e-book experience.
 
 
dale:~tab~ that's your opinion.
dale:~tab~ that's your opinion.
 
 
bowerbird:~tab~ yes it is.
bowerbird:~tab~ yes it is.
 
 
steve:~tab~
steve:~tab~
 
(weakly) i can't...
(weakly) i can't...
 
 
dale:~tab~ no it isn't.
dale:~tab~ no it isn't.
 
 
steve:~tab~
steve:~tab~
 
(weakly) get a...
(weakly) get a...
 
 
bowerbird:~tab~ is too.
bowerbird:~tab~ is too.
 
 
steve:~tab~
steve:~tab~
 
(weakly) word in edgewise...
(weakly) word in edgewise...
 
 
dale:~tab~ is not.
dale:~tab~ is not.
 
 
lurkers:~tab~ will you two cut it out?
lurkers:~tab~ will you two cut it out?
 
 
bowerbird:~tab~ is so.
bowerbird:~tab~ is so.
 
 
dale:~tab~ is not...
dale:~tab~ is not...
 
 
fade to black.[3]
fade to black.[3]
 
 
gotta be able to handle plays.
gotta be able to handle plays.
 
dialog,
dialog,
 
instructions to actors,
instructions to actors,
 
stage directions,
stage directions,
 
that kind of stuff...
that kind of stuff...
 
 
 
 
 
 chapter 17
 chapter 17
 
 epigraphs and epitaphs
 epigraphs and epitaphs
 
 
 
 ~tab~~tab~~tab~ _there's_ _an_ _old_ _proverb_ ~tab~
 ~tab~~tab~~tab~ _there's_ _an_ _old_ _proverb_ ~tab~
 
 ~tab~~tab~~tab~ _that_ _says_ _just_ _about_ ~tab~
 ~tab~~tab~~tab~ _that_ _says_ _just_ _about_ ~tab~
 
 ~tab~~tab~~tab~ _whatever_ _you_ _want_ _it_ _to..._ ~tab~
 ~tab~~tab~~tab~ _whatever_ _you_ _want_ _it_ _to..._ ~tab~
 
 ~tab~~tab~~tab~ _--_ _slashdot_ ~tab~
 ~tab~~tab~~tab~ _--_ _slashdot_ ~tab~
 
 
sometimes a chapter starts with a nice pithy quote,
sometimes a chapter starts with a nice pithy quote,
 
which is usually _italicized,_ and often right-justified.
which is usually _italicized,_ and often right-justified.
 
 
so you wanna be able to handle that kind of thing.[4]
so you wanna be able to handle that kind of thing.[4]
 
 
 
 
 
 chapter 18
 chapter 18
 
 lists in your book
 lists in your book
 
 
 
i like lists.
i like lists.
 
here's a list:
here's a list:
 
save
 
 * one
 * one
 
 * two
 * two
 
(kalamazoo)
(kalamazoo)
 
 * three
 * three
 
 * four
 * four
 
(jersey shore)
(jersey shore)
 
 * five
 * five
 
 * six
 * six
 
 * seven
 * seven
 
 * i forget what 8 was for.
 * i forget what 8 was for.
 
 * number 9,
 * number 9,
 
number 9...
number 9...
 
 
gotta be able to handle lists...
gotta be able to handle lists...
 
 
 
 
 
 a subsection of chapter 18
 a subsection of chapter 18
 
 
 
sometimes you want a numbered list...
sometimes you want a numbered list...
 
 
here's an example of a numbered list,
here's an example of a numbered list,
 
with the number specifically included.
with the number specifically included.
 
save
 
 x 1.
 x 1.
 
gold
gold
 
 x 2.
 x 2.
 
silver
silver
 
 x 3.
 x 3.
 
bronze
bronze
 
 x 4.
 x 4.
 
jersey shore
jersey shore
 
 x 5.
 x 5.
 
alive
alive
 
 x 6.
 x 6.
 
nice
nice
 
 x 7.
 x 7.
 
fine
fine
 
 x 8.
 x 8.
 
i still forget what 8 was for.
i still forget what 8 was for.
 
 x 9.
 x 9.
 
number 9,
number 9,
 
number 9...
number 9...
 
 
 
here's another numbered list,
here's another numbered list,
 
again with the number specifically included,
again with the number specifically included,
 
where we mix things up a bit...
where we mix things up a bit...
 
save
 
 x 101.
 x 101.
 
one oh one
one oh one
 
 x 202.
 x 202.
 
two oh two
two oh two
 
 x 333.
 x 333.
 
three threes
three threes
 
 x 4444.
 x 4444.
 
four fours
four fours
 
 x 55555.
 x 55555.
 
five fives
five fives
 
 x 6.
 x 6.
 
six
six
 
 x 77.
 x 77.
 
seventy-seven
seventy-seven
 
 x 88.
 x 88.
 
i forget what 88 was for.
i forget what 88 was for.
 
 x 9.
 x 9.
 
number 9,
number 9,
 
number 9...
number 9...
 
 
 
here's another numbered list,
here's another numbered list,
 
except this time it's an "ordered list",
except this time it's an "ordered list",
 
which means the browser provides numbering...
which means the browser provides numbering...
 
save
 
 # one
 # one
 
 # two
 # two
 
 # three
 # three
 
 # four
 # four
 
 # five
 # five
 
 # six
 # six
 
 # seven
 # seven
 
 # i still forget what 8 was for.
 # i still forget what 8 was for.
 
 # number 9,
 # number 9,
 
number 9...
number 9...
 
 
still gotta be able to handle lists...
still gotta be able to handle lists...
 
 
 
 
 
 another subsection of chapter 18
 another subsection of chapter 18
 
 
 
here's another example of a list:
here's another example of a list:
 
save
 
 o mercury
 o mercury
 
 o venus
 o venus
 
 o earth
 o earth
 
 o mars
 o mars
 
 o jupiter
 o jupiter
 
 o saturn
 o saturn
 
 o uranus
 o uranus
 
 o neptune
 o neptune
 
 o pluto
 o pluto
 
 
 
like poems,
like poems,
 
items in a list generally want to
items in a list generally want to
 
stick together on the same page,
stick together on the same page,
 
if possible.
if possible.
 
 
still gotta be able to handle lists...
still gotta be able to handle lists...
 
 
 
 
 
 chapter 19
 chapter 19
 
 the meta-data chapter
 the meta-data chapter
 
 
 
a lot of people think "meta-data" is important.
a lot of people think "meta-data" is important.
 
i think they're full of poop,
i think they're full of poop,
 
but why not make 'em happy?
but why not make 'em happy?
 
 
so give them their own section
so give them their own section
 
-- call it the "meta-data section"
-- call it the "meta-data section"
 
-- and then let them put whatever makes
-- and then let them put whatever makes
 
'em happy into that section.
'em happy into that section.
 
 
you will find the meta-data section toward
you will find the meta-data section toward
 
the very end of this document,
the very end of this document,
 
where it belongs,
where it belongs,
 
after the "real" data.
after the "real" data.
 
 
 
 
 
 chapter 20
 chapter 20
 
 zen markup language
 zen markup language
 
 
 
this test suite document is a demonstration of z.m.l.
this test suite document is a demonstration of z.m.l.
 
-- "zen markup language"
-- "zen markup language"
 
-- a system by which a set of simple formatting rules
-- a system by which a set of simple formatting rules
 
can take the place of complicated markup languages.
can take the place of complicated markup languages.
 
 
this document is "marked up" in z.m.l.
this document is "marked up" in z.m.l.
 
and will spring to life when displayed by a z.m.l.-viewer.
and will spring to life when displayed by a z.m.l.-viewer.
 
 
furthermore,
furthermore,
 
a z.m.l.-viewer can perform all of the tasks necessary to
a z.m.l.-viewer can perform all of the tasks necessary to
 
implement the features that this test suite represents:
implement the features that this test suite represents:
 
the hot-linking,
the hot-linking,
 
the styling,
the styling,
 
different layouts,
different layouts,
 
tables,
tables,
 
pictures,
pictures,
 
formatting for plays,
formatting for plays,
 
the lists,
the lists,
 
the whole thing,
the whole thing,
 
without the difficulty of heavy markup languages.
without the difficulty of heavy markup languages.
 
 
 
 
 
 chapter 21
 chapter 21
 
 the end
 the end
 
 
 
we hope you've enjoyed this test suite document.
we hope you've enjoyed this test suite document.
 
if you have any questions,
if you have any questions,
 
feel free to ask them.
feel free to ask them.
 
 
this is a draft,
this is a draft,
 
so please suggest improvements.
so please suggest improvements.
 
and if you want to make your own test suite,
and if you want to make your own test suite,
 
do!
do!
 
 
sadly,
sadly,
 
michael hart passed away in 2011,
michael hart passed away in 2011,
 
so he is no longer with us.
so he is no longer with us.
 
he's up in heaven now,
he's up in heaven now,
 
where there are no typos,
where there are no typos,
 
and every book is available...
and every book is available...
 
 
but after he attained his 10,000 e-texts goal,
but after he attained his 10,000 e-texts goal,
 
michael got a new goal
michael got a new goal
 
-- a *million* e-texts!
-- a *million* e-texts!
 
 
maybe you can serve michael's memory,
maybe you can serve michael's memory,
 
and say "thanks",
and say "thanks",
 
by helping to reach his new goal?
by helping to reach his new goal?
 
:+)
:+)
 
 ~tab~~tab~http://gutenberg.org~tab~~tab~
 ~tab~~tab~http://gutenberg.org~tab~~tab~
 
 
*have* *a* *nice* *day.*
*have* *a* *nice* *day.*
 
 
the end.
the end.
 
 
 
 
 
 the notes section
 the notes section
 
 
 
[1] personally,
[1] personally,
 
i don't think we need to make a distinction
i don't think we need to make a distinction
 
between footnotes and endnotes any more,
between footnotes and endnotes any more,
 
i believe that all the types of notes should
i believe that all the types of notes should
 
be stored at the end of the file,
be stored at the end of the file,
 
like these notes,
like these notes,
 
but i think the person should be able to _display_ them at
but i think the person should be able to _display_ them at
 
the point of reference in the actual body of the text.
the point of reference in the actual body of the text.
 
therefore,
therefore,
 
they are actually a sort of hybrid
they are actually a sort of hybrid
 
between footnotes _and_ endnotes,
between footnotes _and_ endnotes,
 
combining the strengths and convenience of both types.
combining the strengths and convenience of both types.
 
 
[2] in later years,
[2] in later years,
 
it was made clear that lincoln
it was made clear that lincoln
 
was referring to all "people",
was referring to all "people",
 
and not just men,
and not just men,
 
that women are equally equal.
that women are equally equal.
 
 
[3] this is a test footnote.
[3] this is a test footnote.
 
because of that,
because of that,
 
it's going to go on and on and on.
it's going to go on and on and on.
 
this is a test footnote.
this is a test footnote.
 
because of that,
because of that,
 
it's going to go on and on and on.
it's going to go on and on and on.
 
this is a test footnote.
this is a test footnote.
 
because of that,
because of that,
 
it's going to go on and on and on.
it's going to go on and on and on.
 
this is a test footnote.
this is a test footnote.
 
because of that,
because of that,
 
it's going to go on and on and on.
it's going to go on and on and on.
 
this is a test footnote.
this is a test footnote.
 
because of that,
because of that,
 
it's going to go on and on and on.
it's going to go on and on and on.
 
 
look,
look,
 
it even has a second paragraph!
it even has a second paragraph!
 
this is a test footnote.
this is a test footnote.
 
because of that,
because of that,
 
it's going to go on and on and on.
it's going to go on and on and on.
 
this is a test footnote.
this is a test footnote.
 
because of that,
because of that,
 
it's going to go on and on and on.
it's going to go on and on and on.
 
this is a test footnote.
this is a test footnote.
 
because of that,
because of that,
 
it's going to go on and on and on.
it's going to go on and on and on.
 
 
oh no!
oh no!
 
a third paragraph.
a third paragraph.
 
way too long!
way too long!
 
this is a test footnote.
this is a test footnote.
 
because of that,
because of that,
 
it's going to go on and on and on.
it's going to go on and on and on.
 
this is a test footnote.
this is a test footnote.
 
because of that,
because of that,
 
it's going to go on and on and on.
it's going to go on and on and on.
 
this is a test footnote.
this is a test footnote.
 
because of that,
because of that,
 
it's going to go on and on and on.
it's going to go on and on and on.
 
this is a test footnote.
this is a test footnote.
 
because of that,
because of that,
 
it's going to go on and on and on.
it's going to go on and on and on.
 
this is a test footnote.
this is a test footnote.
 
because of that,
because of that,
 
it's going to go on and on and on.
it's going to go on and on and on.
 
 
[4] this is another test footnote.
[4] this is another test footnote.
 
but it will be short.
but it will be short.
 
 
 
 
 
 meta-data for this book
 meta-data for this book
 
 
 
here's the meta-data...
here's the meta-data...
 
save
 
 o title = a 2013 test suite for project gutenberg
 o title = a 2013 test suite for project gutenberg
 
 o author = bowerbird intelligentleman
 o author = bowerbird intelligentleman
 
 o purpose = a test suite
 o purpose = a test suite
 
 o for = project gutenberg
 o for = project gutenberg
 
 o markup = zen markup language
 o markup = zen markup language
 
(.zml)
(.zml)
 
 o isbn = urn:isbn:0000000000000
 o isbn = urn:isbn:0000000000000
 
 o publisher = jaguar(ps)
 o publisher = jaguar(ps)
 
 o subject = doing the test suite thing
 o subject = doing the test suite thing
 
 o rights = copyright 2013
 o rights = copyright 2013
 
-- all rights reserved
-- all rights reserved
 
 http://gutenberg.org
 http://gutenberg.org
 
 here's a test of some of the formatting commands.
 here's a test of some of the formatting commands.
 
save
 
 ~tab~left-justified~tab~~tab~~tab~
 ~tab~left-justified~tab~~tab~~tab~
 
 ~tab~~tab~centered~tab~~tab~
 ~tab~~tab~centered~tab~~tab~
 
 ~tab~~tab~~tab~right-justified~tab~
 ~tab~~tab~~tab~right-justified~tab~
 
 ~tab~left-justified~tab~centered~tab~~tab~
 ~tab~left-justified~tab~centered~tab~~tab~
 
 ~tab~~tab~centered~tab~right-justified~tab~
 ~tab~~tab~centered~tab~right-justified~tab~
 
 ~tab~left~tab~centered~tab~right-justified~tab~
 ~tab~left~tab~centered~tab~right-justified~tab~
 
 ~tab~this just has one tab...
 ~tab~this just has one tab...
 
save
 
 .
 .
 
save
 
 all of them in one paragraph:
 all of them in one paragraph:
 
 http://google.com
 http://google.com
 
 http://zenmagiclove.com/test-suite-2013.zml
 http://zenmagiclove.com/test-suite-2013.zml
 
 http://pgdp.net
 http://pgdp.net
 
 http://gutenberg.org
 http://gutenberg.org
 
 .
 .
 
save
 
 http://google.com
 http://google.com
 
 http://zenmagiclove.com/test-suite-2013.zml
 http://zenmagiclove.com/test-suite-2013.zml
 
 http://pgdp.net
 http://pgdp.net
 
 http://gutenberg.org
 http://gutenberg.org
 
 http://z-m-l.com/go/alice/checking_watch.png
 http://z-m-l.com/go/alice/checking_watch.png
 
 http://z-m-l.com/go/alice/cat_fades.png
 http://z-m-l.com/go/alice/cat_fades.png
 
 http://z-m-l.com/go/alice/alice_cramped.png
 http://z-m-l.com/go/alice/alice_cramped.png
 
 http://z-m-l.com/go/alice/alice_holding.png
 http://z-m-l.com/go/alice/alice_holding.png
 
 goodbye!
 goodbye!
 
 
 
 http://z-m-l.com/go/alice/checking_watch.png
 http://z-m-l.com/go/alice/checking_watch.png
 
 http://z-m-l.com/go/alice/cat_fades.png
 http://z-m-l.com/go/alice/cat_fades.png
 
 http://z-m-l.com/go/alice/alice_cramped.png
 http://z-m-l.com/go/alice/alice_cramped.png
 
 http://z-m-l.com/go/alice/checking_watch.png
 http://z-m-l.com/go/alice/checking_watch.png
 
 http://z-m-l.com/go/alice/cat_fades.png
 http://z-m-l.com/go/alice/cat_fades.png
 
 http://z-m-l.com/go/alice/alice_cramped.png
 http://z-m-l.com/go/alice/alice_cramped.png
 
 http://z-m-l.com/go/alice/checking_watch.png
 http://z-m-l.com/go/alice/checking_watch.png
 
 http://z-m-l.com/go/alice/cat_fades.png
 http://z-m-l.com/go/alice/cat_fades.png
 
 http://z-m-l.com/go/alice/alice_cramped.png
 http://z-m-l.com/go/alice/alice_cramped.png
 
 http://z-m-l.com/go/alice/checking_watch.png
 http://z-m-l.com/go/alice/checking_watch.png
 
 http://z-m-l.com/go/alice/cat_fades.png
 http://z-m-l.com/go/alice/cat_fades.png
 
 http://z-m-l.com/go/alice/alice_cramped.png
 http://z-m-l.com/go/alice/alice_cramped.png
 
save