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